Duda sobre captura hwnd de los objetos de Userforn
publicado
Veamos tengo la siguiente duda se puede capturar un hwnd de cualquier objeto que este en el userform?, por el momento logro esta acción sobre el userform con el uso de api pero no lo logro para por ejemplo un combobox
Para la captura del hwnd uso lo siguiente
Option Explicit
' declaración api
''''''''''''''''''''''''''''''''''''''''''
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
' función para la captura
''''''''''''''''''''''''''''''''''''''''''
Function CapturahWnd(from As String, _
Cosa As Boolean, _
Optional control As String) As Long
Dim i As Long
If Cosa Then
i = FindWindowEx(0&, 0&, vbNullString, from)
i = FindWindowEx(i, 0&, vbNullString, from)
Else
i = FindWindowEx(0&, 0&, vbNullString, control)
End If
CapturahWnd = i
End Function
' evento que llama la captura
''''''''''''''''''''''''''''''''''''''''''
Private Sub CommandButton1_Click()
Dim i As Long
i = CapturahWnd(Me.Caption, False) 'Para saber el hwnd Formulario
i = CapturahWnd(Me.Caption, False, "ComboBox1") 'Para saber el hwnd de un control
End Sub
si en principio le hwnd es solo de las ventanas activas y es un id único generado por windows pero esto funciona para los objetos de las ventanas en excel , pues en el entorno de VB6 si existe la propiedad
espero que alguno posea un poco de luz, y me pueda aclarar la duda pues me es preciso obtener el hwnd para usar en esta otra api
Private Declare Function SendMessageByString& Lib "user32" Alias " _
SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As String)
Un saludo
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Veamos tengo la siguiente duda se puede capturar un hwnd de cualquier objeto que este en el userform?, por el momento logro esta acción sobre el userform con el uso de api pero no lo logro para por ejemplo un combobox
Para la captura del hwnd uso lo siguiente
si en principio le hwnd es solo de las ventanas activas y es un id único generado por windows pero esto funciona para los objetos de las ventanas en excel , pues en el entorno de VB6 si existe la propiedad
espero que alguno posea un poco de luz, y me pueda aclarar la duda pues me es preciso obtener el hwnd para usar en esta otra api
Un saludo