vb obtiene el nombre de la ventana a través del identificador
Por lo general, existen las siguientes funciones API para obtener el identificador del formulario: 1. Se utiliza para la ventana principal, findwindow FindWindowVB declara Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String ) As Long Descripción Encuentre la primera ventana de nivel superior en la lista de ventanas que cumpla con las condiciones especificadas (usado en vb: uno de los usos más comunes de FindWindow es obtener el identificador de la ventana oculta de la clase ThunderRTMain ; esta clase es parte de todos los programas de ejecución de vb. Después de obtener el identificador, puede usar la función API GetWindowText para obtener el nombre de la ventana (el nombre también es el título de la aplicación) y el valor de retorno es largo para encontrar; el tirador de la ventana. Si no se encuentra ninguna ventana coincidente, se devuelve cero. El tipo y la descripción del parámetro de la tabla de parámetros GetLastError se establecerán en lpClassNameString, un puntero a una cadena vacía (lenguaje C) que contiene el nombre de la clase de la ventana, o se establecerán en cero para recibir cualquier clase lpWindowNameString, que apunta a un puntero al texto de la ventana (o); etiqueta). Un puntero a una cadena vacía (lenguaje C); o se establece en cero para indicar que recibir cualquier anotación de título de ventana rara vez requiere una búsqueda tanto por clase como por nombre de ventana. Para pasar un cero a un parámetro no preparado, la forma más sencilla es pasar la constante vbNullString Ejemplo Dim hwamp;, cntamp;
Dim rttitle As String * 256
hwamp; "ThunderRT5Main", vbNullString) ' ThunderRTMain bajo VB4
cnt = GetWindowText(hwamp;, rttitle, 255)
MsgBox Left$(rttitle, cnt), 0, "RTMain title" 2. Se utiliza para ventanas secundarias: findwindowexFindWindowExVB declara Declarar función FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Descripción Buscar en la ventana list con La primera subventana que coincide con la condición especificada devuelve el valor Largo, que es el identificador de la ventana encontrada. Si no se encuentra ninguna ventana coincidente, se devuelve cero. El tipo de parámetro y la descripción hWnd1Long de la tabla de parámetros GetLastError se configurarán para encontrar la ventana principal del niño. Si se establece en cero, significa usar la ventana del escritorio (generalmente las ventanas de nivel superior se consideran subventanas del escritorio, por lo que también se buscarán) hWnd2Long, comenzando desde esta ventana. Esto permite realizar múltiples llamadas a FindWindowEx para encontrar todas las ventanas secundarias que cumplan con los criterios. Si se establece en cero, significa comenzar desde la primera subventana para buscar lpsz1String, el nombre de la clase que se buscará. Cero significa ignorar lpsz2String, el nombre de la clase que se buscará.
Cero significa ignorar 3. Obtenga el título del formulario: GetwindowText Declaración GetWindowTextVB Declarar función GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long Descripción Obtenga el título de un texto de formulario (título), o el contenido de un control (usado en VB: use la propiedad de título o texto del formulario o control de VB). El valor de retorno es Largo, la longitud de la cadena copiada a lpString no incluye; el personaje de parada aérea. El tipo de parámetro y la descripción de la tabla de parámetros GetLastError se establecerán como hwndLong, el identificador de la ventana donde se obtendrá el texto, lpStringString, un búfer predefinido, cch de al menos 1 carácter de tamaño, cchLong se carga con el texto de la ventana y el tamaño del cchLong; La anotación de longitud del búfer lpString no se puede utilizar para obtener texto del control de edición de otra aplicación. 4. Obtenga el nombre de clase del formulario: GetclassName Declaración GetClassNameVB Declare la función GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Descripción Obtiene el nombre de clase para la ventana especificada y devuelve el valor Long, que es la longitud del nombre de clase en bytes excluyendo el último carácter de terminación vacío. Cero indica un error. El tipo y descripción del parámetro de la tabla de parámetros GetLastError se establecerán en hwndLong, el identificador lpClassNameString de la ventana donde se obtendrá el nombre de la clase y el búfer se cargará con el mismo nombre de clase.
Se debe asignar al menos nMaxCount 1 carácter nMaxCountLong por adelantado. La longitud del búfer Top proporcionada por lpClassName es la siguiente: Private Const MaxControlUnit = 65535
Private Sub Command1_Click()
Dim hwnd As. Largo
Atenuar hWnd2 mientras
Atenuar título como cadena * 255
Atenuar nombre de clase como cadena * 255
Atenuar salida como cadena
Atenuar i mientras
hwnd = FindWindow(vbNullString, "Form1")
Para i = 0 a MaxControlUnit
hWnd2 = FindWindowEx (hwnd, hWnd2, vbNullString, vbNullString)
Si hWnd2 gt; 0 Entonces
GetClassName hWnd2, ClassName, Len(ClassName)
GetWindowText hWnd2, Caption, Len(Caption)
Salida = "El identificador es: " amp hWnd2 amp; " " amp "El nombre de la clase es: " ClassName
Salida de MsgBox
Salida = "El título es:" amp Caption
Salida de MsgBox
Else
Salir para
Finalizar si
Siguiente
End Sub
'Simplemente modifique ese formulario1 al nombre del formulario que desee y listo