Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Visual Basic 6 Capturas

Estas en el tema de Visual Basic 6 Capturas en el foro de .NET en Foros del Web. Hola señores: les cuento mi priblema, tengo un programa externo (este fue comprado y no tengo acceso al codigo), la cosa esta en que yo ...
  #1 (permalink)  
Antiguo 11/06/2011, 18:18
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 15 años, 9 meses
Puntos: 7
Visual Basic 6 Capturas

Hola señores:
les cuento mi priblema, tengo un programa externo (este fue comprado y no tengo acceso al codigo), la cosa esta en que yo debo de desarrollar una aplicacion vb6 la cual lea una de las ventanas del programa externo(el programa externo al abrirlo se abren 4 ventanas) y cuando encuentre cierta palabra ejecute mi codigo......

Bueno para esto comence a leer sobre text capture, pero siempre me captura la ventana activa, aqui seria una pregunta.... ¿como le paso el foco a una ventana que no se como se llama y lo unico que se es el caption del form de esa ventana?

Otro de los eventos text capture, me puede capturar una ventana en espesifico, pasandole un identificador,, Otra pregunta ¿como puedo saber el identificar de esa ventana, si estan abiertas cuatro en pantalla entre las 4 acupan la pantalla?

puedo obtener el identificador de la ventana activa, y me devuelve algo asi 1905687, primera vez que veo algo asi...
  #2 (permalink)  
Antiguo 13/06/2011, 16:59
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: Visual Basic 6 Capturas

Cita:
¿como le paso el foco a una ventana que no se como se llama y lo unico que se es el caption del form de esa ventana?

Puedes hacerlo mediante las API´s de windows, ejemplo:

[DllImport("user32.dll", CharSet = CharSet.Auto,
ExactSpelling = true)]
public static extern IntPtr SetFocus(HandleRef hWnd);

y le pasas el Ptr

Process[] processes = Process.GetProcessesByName("Nombre de tu proceso");


Y mandas a llamar la API

SetFocus(new HandleRef(null, processes[0].MainWindowHandle));

Es solo una referencia, espero que te sirva

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 13/06/2011, 17:02
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: Visual Basic 6 Capturas

Cita:
¿como puedo saber el identificar de esa ventana, si estan abiertas cuatro en pantalla entre las 4 acupan la pantalla?
De igual forma puedes hacerlo con API´s

Cita:
[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
public static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);
Te refresa el IntPtr y se lo mandas de igual forma al SetFocus

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 13/06/2011, 22:07
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 15 años, 9 meses
Puntos: 7
Respuesta: Visual Basic 6 Capturas

hola antes que nada gracias por responder pero eso ya lo he conseguido hacer, buscando en los procesos, ahora tengo un problema creo mas complicado ya que busco la ventana y obtengo su hwnd y su titulo(captio), pero no he podido sacar los hwnd de los elemntos de esa ventana, como por ejemplo hwnd del texbox

Etiquetas: basic, visual, capturar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:04.