Visual Basic - hWnd problemas

Life is soft - evento anual de software empresarial
 
Vista:

hWnd problemas

Publicado por Kurosaju (1 intervención) el 15/12/2006 15:11:13
Problema con visual basic for application, no puedo ver la propiedad hWnd del formulario, como puedo hacer para disponer de ella???

Me sería de gran utilidad. gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:hWnd problemas

Publicado por Ultra Putrefactus (14 intervenciones) el 19/12/2006 01:06:18
Podrias sacar el hwnd con la función FindWindow. Esta funcion busca cualquier ventana por el texto de la barra de títtulo y devuelve su Hwnd. Por ejemplo

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Function GetHwnd(Byval WindowText as String) as Long
dim Hwnd as Long
Hwnd = FindWindow(Vbnullstring,WindowText)
if Hwnd then
GetHwnd=Hwnd
else
GetHwnd=0
endif
End Function

Esta funcion recibe como argumento el texto de la ventana para encontrarla y devuelve su Hwnd, por lo que tienes que enviar como parametro la propiedad caption del formulario al cual desea obtenerle el Hwnd
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:hWnd problemas

Publicado por Edwin (303 intervenciones) el 19/12/2006 01:07:50
Si pues tienes mucha razón, en Ms-Excel no aparece la propiedad, en Ms-Access si aparece.

Ahora para poder ver el hwnd solo lo debes hacer con una llamada API.

En un Modulo pones:

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Y por ultimo llamas a esta función:

winhwnd = FindWindow(vbNullString, UserForm1.Caption)
MsgBox winhwnd

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar