Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo utilizar VB para agarrar la manija de la ventana?

¿Cómo utilizar VB para agarrar la manija de la ventana?

Para encontrar el identificador de un formulario, necesita usar la API. Los más utilizados son: FindWindow (generalmente solo encuentra el identificador de la ventana principal), FindWindowEx (puede encontrar el identificador de la ventana principal). ventana secundaria), dé un ejemplo, solo se usa un control de comando. Espero que pueda ayudarlo. Si no lo comprende, consulte: Opción explícita

Función de declaración privada FindWindow Lib "user32" Alias. ​​"FindWindowA" (ByVal lpClassName como cadena, ByVal lpWindowName como cadena) mientras

Función de declaración privada FindWindowEx Lib "user32" Alias ​​"FindWindowExA" (ByVal hWnd1 mientras, ByVal hWnd2 mientras, ByVal lpsz1 como cadena, ByVal lpsz2 como cadena) mientras

Función de declaración privada GetWindowText Lib "user32" Alias ​​​​"GetWindowTextA" (ByVal hwnd mientras, ByVal lpString como cadena, ByVal cch mientras) Como Long

Función de declaración privada GetClassName Lib "user32" Alias ​​​​"GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long

Private Const MaxControlUnit = 65535

Subcomando privado1_Click()

Atenuar hwnd mientras

Atenuar hWnd2 mientras

Atenuar título como cadena * 255

Atenuar nombre de clase como cadena * 255

Atenuar salida como cadena

Atenuar i como longitud

hwnd = FindWindow(vbNullString, "Form1" )

Para i = 0 para MaxControlUnit

hWnd2 = FindWindowEx(hwnd, hWnd2, vbNullString, vbNullString)

Si hWnd2 gt;

GetClassName hWnd2, ClassName, Len(ClassName)

GetWindowText hWnd2, Caption, Len(Caption)

Salida = "El identificador es: " amp; amp "El nombre de la clase es: " amp ClassName

Salida de MsgBox

Salida;

= "El título es:" amp Caption

Salida de MsgBox

Else

Salir para

Finalizar si

Siguiente

End Sub

Simplemente modifica el formulario1 al nombre del formulario que desees y listo