Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - germixxx

#1
api findwindow
#2
Bueno... supongo q lo de GetWindowModuleFileName no va a funcionar ya q si devuelve el procesos q creo la ventana va a delvolverme "explorer.exe". De todas formas voy a probarlo haber como va, creo q la unica manera de hacerlo es leer el cuadro de texto q dice el path del explorer, identificando el hwnd del textbox y haciendo sendmessage con WM_GETTEXT(pero no se donde falla mi codigo :'(). Igual voy a probar lo de GetWindowModuleFileName. Lo de enumwindows creo q no lo voy a necesitar ya q identifico la primera ventana(findwindow) con la clase "cabinetwclass" grabo el texto(la direccion) mato la ventana, identifico otra ves la primera ventana(findwindow) con la clase "cabinetwclass" mato la ventana y asi sucesivamente hasta q no encuentre mas ventanas. Igual voy  a intentar tu metodo Slasher-K, mucha gracias, despues posteo resulatados
#3
Fijate si declarastes la variable string criterio y si la variable no esta vacia o tiene algun dato invalido
#4
El timer para q valla controlando, pones suponete el timer.interval = 300 y cada ese tiempo q se valla fijando si sigue el mismo color en en el pixel q hay debajo. Si el pixel q hay abajo del cursos cambio de color y el cursor sigue en la misma posicion q mande las teclas q queres
#5
Programación Visual Basic / Re: Plug-in's
6 Diciembre 2005, 03:17 AM
Si usastes el codigo q t postie si se crea. El metodo add de miFormularioPadre.Controls si existe, no se por q no se despliega la ventana con las opciones de .control. El problema q debes tener es q el checkbox se genera abajo del text1 ya q como no le asignamos ni left, ni top a estos valores se le asignaron 0 q es la misma posicion q el text1. Entra al proyecto y corre el text1 a otra posicion. despues ejecutalo y proba. Si t tira algun error decime. Supongo q el error es q no corristes el text1. Si no agranda el formulario y asignale left y top al checkbox generado cosa q no quede abajo del text1
#6
aaaaaaaaahh ahora si
tenes poner un timer y utilizar la api getpixel
#7
MMMM de esa forma funcionaria pero es demasiado rebuscado, ya q si no tenes la opcion activada t manda error :'(. La forma q estoy intentado identifica la ventana y va escalando hacia las "subventanas" hasta llegar al cuadro de texto donde dice la direccion(edit es su classname). De todas formas tmb lo necesito para internet explorer q despues de hacer el de explorer comun solo le tengo q cambiar la primera llamada findwindow ya q los classnames de las "subventanas" hasta llegar el cuadro de texto de la direccion son los mismos, y el metodo de mostrar la ruta completa sobre la ventana fallaria x q cuando entras a una pagina en el internet explorer en la barra de titulo sale el titulo de la pagina no la direccion pagina en si

Este es el codigo q no entiendo donde falla, cuando empiezo a identificar subventanas con FindWindowEx me devuelve la cadena vacia.

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Const WM_GETTEXT = &HD

Private Sub Command1_Click()
Dim i As Long
Dim s As String
s = String$(100, " ")
i = FindWindow("cabinetwclass", vbNullString)
i = FindWindowEx(i, ByVal 0&, "WorkerW", vbNullString)
i = FindWindowEx(i, ByVal 0&, "Rebarwin32", vbNullString)
i = FindWindowEx(i, ByVal 0&, "ComboBoxEx32", vbNullString)
i = FindWindowEx(i, ByVal 0&, "combobox", vbNullString)
i = FindWindowEx(i, ByVal 0&, "edit", vbNullString)
Call SendMessageByString(i, WM_GETTEXT, Len(s), s)
Text1.Text = s
End Sub


Para dar una idea necesito este codigo para grabar las paginas abiertas y las rutas de las ventanas del explorer, matar el explorer y despues reabrir las paginas y las ventanas de explorer con sus rutas correspondientes.
#8

Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const HWND_TOPMOST = -1

Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cX As Long, ByVal cY As Long, ByVal wFlags As Long) As Long

Private Sub Form_Load()
Call SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Sub


El soborno del ratero no es necesario
            saludos
#9
Programación Visual Basic / Re: Plug-in's
5 Diciembre 2005, 18:43 PM
Haces igual q el resto de las cosas, supone q que queres agregar un checkbox en el ejemplo q colgo krispin pones en el dll

Private WithEvents check As CheckBox

private sub crearboton()
Set check = miFormularioPadre.Controls.Add("VB.checkbox", "check")
   With check
      .Visible = True
      .Width = 2000
      .Caption = "nuevo check"
   End With
end sub

y se crea el checkbox, solo tenes q hacer referencia a miformulariopadre como si fuera form1, podes tmb darle las propiedades left y top ya q en ese ejemplo el checkbox se genera abajo del text1 :)
saludos
#10
mmmm  sendkeys capaz pero no estoy seguro me parece q no sirve x creo le manda las teclas solo a la ventana activa y si no hay ventana activa no se. capaz q alguna api...proba con sendkeys y las ascii q dijo Feyrbrand