Buenasssss
Tengo una duda, estoy haciendo una aplicacion y necesito sacar datos de otra.
Por ejemplo... hay una aplicacion con varios campos de texto... el objetivo es obtener esos datos pedo desde una app echa por mi.
Ejemplo practico:
Abro Inicio - Ejecutar. => Escribo la ruta de un archivo a ejecutar, por ejemplo "notepad.exe" (Todavia no apreto Enter)
Abro mi aplicacion y obtengo lo que hay escrito en el campo de texto del cuadro Ejecutar.... en este caso seria: "notepad.exe"
Me explico?
Si a alguno se le ocurre me seria de ayuda. Mientras tanto voy a seguir buscando y si lo encuentro lo posteo.
Gracias!
Hola, debes sacar el texto de la ventana, lo podes hacer facil con api's como findwindow y demas...sacando el nombre de clase de la ventana y del control textbox...
saludos.
Cita de: seba123neo en 13 Enero 2009, 03:27 AM
Hola, debes sacar el texto de la ventana, lo podes hacer facil con api's como findwindow y demas...sacando el nombre de clase de la ventana y del control textbox...
saludos.
Entiendo...
y en el caso de que sea un RichTextBox? :laugh:
Por ahi lei...dicen... es casi imposible. Tengo mis dudas
no creo que ya tenga que explicar que quiero hacer jaja
Saludos!
Bueno... vamos avanzando
Tengo el codigo para obtener el handle de la ventana... ahora mi problema es como a partir de ese handle puedo obtener los controles que tiene esa ventana.
Sigo investigando, si alguien me da una mano, sera aceptada.
Saludos!
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Int32
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Int32, ByVal lpString As String, ByVal cch As Int32) As Int32
Public Function GetActiveWindowTitle() As String
Dim MyStr As String
MyStr = New String(Chr(0), 100)
GetWindowText(GetForegroundWindow, MyStr, 100)
MyStr = MyStr.Substring(0, InStr(MyStr, Chr(0)) - 1)
Return MyStr
End Function
Dim nWnd As IntPtr
'nWnd contiene el handle
nWnd = FindWindow(Nothing, GetActiveWindowTitle)
EDITADO:
Para orientar un poco
http://www.recursosvisualbasic.com.ar/htm/listado-api/195-obtener-texto-de-ventanas-externas.htm (http://www.recursosvisualbasic.com.ar/htm/listado-api/195-obtener-texto-de-ventanas-externas.htm)
Me acabo de resignar a hacer esto. No puedo conseguir el nombre de la clase de este control. (es donde se lee la conversacion de msn)
Obtuve mediante funciones estos dos nombres: DirectUIHWND que creo que es para skins y el IMWindowClass que es donde uno va tipiando el mensaje si no me equivoco. Pero el otro control... ni aparece.
Asi que voy a tener que usar otro metodo porque esta app la tengo que tener mañana :S
Si a alguien le interesa posteo el code de como saque esa informacion.
manualmente con el SPY++ de Microsoft podes obtener los nombres de clase de las ventanas y su handle...o sino con api's podes hacerlo con EnumChildWindows.pero hacelo con el Spy que es mas rapido...
saludos.