Obtener handle de una ventana externa

18/08/2006 - 16:51 por developernovato | Informe spam
Hola comunidad

Alguno de ustedes sabe como hayar el handle de una ventana, por
ejemplo quisiera saber el handle del notepad desde mi app., tambien[si
no es mucho] qusiera saber los handles de los elementos que hay dentro
de el.

cualquier pista lo agradeceria

saludos
gracias de antemano
 

Leer las respuestas

#1 Aldo Dell\Uomini
22/08/2006 - 02:09 | Informe spam
Primero declara una llamada a la API:
Public Declare Auto Function FindWindow Lib "user32.dll" (ByVal Clase As
String, ByVal Nombre As String) As System.IntPtr

Esto puede ser a nivel de módulo o clase.

Luego llamas la función que te devolverá un objeto IntPtr (un puntero o
handle de la aplicación) de la siguiente manera:

dim Mihandle as System.IntPtr

Mihandle = FindWindow(Nothing, "Bloc de Notas - Sin título")

Fíjate que el primer parámetro es el nombre de la clase de la aplicación, a
veces no es fácil saber ese dato, pero sí es más fácil saber el segundo
parámetro que es el mismo título que aparece en la barra superior de la
ventana.

Otra forma más al estilo .NET (incluso quizá más fácil) es la siguiente:

1) Creas una colección de objetos Process:

Dim Ps as Process()

2)Obtienes todas las intancias del proceso que estás buscando:

Ps =Process.GetProcessesByName("Notepad")

3) Obtienes el handle del primer objeto encontrado:

Dim MiHandle as System.IntPtr

MiHandle = Ps(0).Handle

Y listo

Espero haberte ayudado.










"developernovato" escribió en el mensaje
news:
Hola comunidad

Alguno de ustedes sabe como hayar el handle de una ventana, por
ejemplo quisiera saber el handle del notepad desde mi app., tambien[si
no es mucho] qusiera saber los handles de los elementos que hay dentro
de el.

cualquier pista lo agradeceria

saludos
gracias de antemano

Preguntas similares