Tecnología

Inicio

Cómo activar un API de ventana para mostrar en VB6

Al desarrollar una aplicación en Visual Basic 6, si desea activar otra aplicación de Windows o ventana, puede hacerlo fácilmente. Sin embargo, si usted quiere hacer que la ventana aparece en la parte delantera y se mostrará, se requiere un código mucho más que usted puede darse cuenta inicialmente. Este proceso es muy útil, ya que le permite interactuar con otros programas de su equipo. Tenga en cuenta que no se puede utilizar este proceso para iniciar otra aplicación que se ha creado en VB6.

Instrucciones

1 Abra la secuencia de comandos Visual Basic 6 en el editor de VB preferido.

2 Copia y pega el siguiente código en el código declaraciones:
Private Declare Function FindWindow Lib "user32"


Alias ​​"FindWindowA"
(ByVal como secuencia lpClassName, _
ByVal lpWindowName As String) As Long

Private Declare Function GetClassName Lib "user32"
Alias ​​"GetClassNameA"
(ByVal CVent como de largo,
ByVal lpClassName como secuencia,
ByVal nMaxCount As Long) As Long

3 Copia y pega el siguiente código en la sección de procedimientos:
Public Sub GetClassNameFromTitle ()
Dim como secuencia sInput
Dim CVent As Long
Dim como secuencia lpClassName
Dim nMaxCount As Long
Dim LRESULT As Long
'Almohadilla de la memoria intermedia de cambio de GetClassName
nMaxCount = 256
lpClassName = Espacio (nMaxCount)
'Nota: debe ser una coincidencia exacta
sInput = InputBox ( "Escriba el título exacto de la ventana:")
"No hay validación se realiza ya que esto es una utilidad ventana de depuración
CVent = FindWindow (vbNullString, sInput)
"Obtener el nombre de la clase de la ventana, de nuevo, ninguna validación
LRESULT = GetClassName (hWnd, lpClassName, nMaxCount)
Debug.Print "Ventana:" Y sInput
Debug.Print "Nombre de clase:" & Left $ (lpClassName, LRESULT)
End Sub

4 Haga clic en "GetClassNameFromTitle" en la ventana de depuración y haga clic en "Ejecutar". Esto debería mostrar el nombre de la clase de la ventana. Esto proporciona la estructura básica para el proceso.

5 Añadir la siguiente secuencia de comandos si desea incluir el proceso en una envoltura:
Función pública fActivateWindowClass (psClassname As String) As Boolean
Dim CVent As Long
CVent = FindWindow (psClassname, vbNullString)
Si CVent> 0 Then

' ShowWindow returns True if the window was previously hidden.
' I don't care so I use the sub style
' ShowWindow and SW_SHOW declared elsewhere
' SW_SHOW will display the window in its current size and position
Call ShowWindow hWnd, SW_SHOW
fActivateWindowClass = True

Más

' FindWindow failed, return False
fActivateWindowClass = False

Terminara si
End Function