Red de conocimiento informático - Conocimiento de la instalación - Pregunte a los expertos de VB cómo desenfocar los identificadores de las ventanas de búsqueda

Pregunte a los expertos de VB cómo desenfocar los identificadores de las ventanas de búsqueda

El código completo es el siguiente:

I. Cree un módulo y copie el siguiente código en el módulo:

Opción explícita

Declarar función GetDesktopWindow Lib "user32 " ( ) Mientras

Declarar la función GetWindow Lib "user32" (ByVal hwnd As Long.) Mientras, ByVal wCmd Mientras) Mientras

Declarar la función GetWindowText Lib "user32" Alias ​​"GetWindowTextA" (ByVal hwnd As Long, _

ByVal lpString As String, ByVal cch As Long) _

As Long

Public Const GW_CHILD = 5

Const pública GW_HWNDNEXT = 2

Función pública GetOpenWindowNames(Título como cadena) Como cadena

Dim lngDeskTopHandle As Long

Dim lngHand As Long, i As Long, S As String

Dim strName As String * 255

Dim lngWindowCount As Long

lngDeskTopHandle = GetDesktopWindow ()

lngHand = GetWindow(lngDeskTopHandle, GW_CHILD)

lngWindowCount = 1

Hacer mientras lngHand lt 0

i = GetWindowText( lngHand, strName, Len(strName) )

S = Left(strName, i)

If InStr(1, S, Title, vbTextCompare) gt 0 Then 'Fuzzy Find

<; p> GetOpenWindowNames = S

Salir de la función

Finalizar si

lngHand = GetWindow(lngHand, GW_HWNDNEXT)

Bucle

Función final

Esta es la primera vez que se llama al programa. p> 2. Ejemplo de llamada al programa:

Búsqueda difusa de títulos como "Nuevo":

dim S como cadena

s = GetOpenWindowNames ("Nuevo")

El valor de retorno s es el resultado de la búsqueda.