Quando si sviluppa un'applicazione in Visual Basic 6 , se si desidera attivare un'altra applicazione di Windows o una finestra , si può fare così facilmente . Se, invece , si vuole fare in quella finestra appare in primo piano e di dimostrare , richiede molto di più di codice che è possibile che inizialmente realizzare . Questo processo è molto utile in quanto permette di interagire con altri programmi installati sul computer . Si noti che non è possibile utilizzare questa procedura per avviare un'altra applicazione che è stato creato in VB6 . Istruzioni
1
Aprite il vostro script VB6 nel vostro editor preferito VB
2
Copia e incolla il seguente codice nel codice dichiarazioni : . Private Declare Function FindWindow Lib " user32 " , _Alias " FindWindowA " _ ( lpClassName ByVal come stringa , _ByVal lpWindowName As String ) As Long
private Declare Function GetClassName Lib " user32 " _Alias " GetClassNameA " _ ( ByVal hWnd As Long , lpClassName _ByVal Come String, nMaxCount _ByVal As Long ) As Long
3
Copia e incolla il seguente codice nella sezione procedure : GetClassNameFromTitle Public Sub ( ) Dim sInput Come StringDim hWnd Come LongDim lpClassName Come StringDim nMaxCount Come LongDim LRESULT As Long ' pad il buffer di ritorno per GetClassNamenMaxCount = 256lpClassName = Spazio ( nMaxCount ) ' Nota : deve essere un preciso matchsInput = InputBox ( "Inserire il titolo della finestra esatto : " ) 'No convalida è fatto come questo è una di debug finestra utilityhWnd = FindWindow ( vbNullString , sInput ) ' Prendi il nome della classe della finestra, ancora una volta , non validationlresult = GetClassName ( hWnd , lpClassName , nMaxCount ) Debug.Print " finestra: " & sInputDebug.Print "Nome della classe : "& Left $ ( lpClassName , LRESULT ) End Sub
4
Clicca " GetClassNameFromTitle " nella finestra di debug e fare clic su " Esegui " . Questo dovrebbe visualizzare il nome della classe della finestra. Questo fornisce la struttura di base per il processo di
5
Aggiungere il seguente script se si desidera includere il processo in un wrapper : . Funzione Pubblica fActivateWindowClass ( psClassname come stringa) come BooleanDim hWnd Come LonghWnd = FindWindow ( psClassname , vbNullString ) Se hWnd > 0 Then ' ShowWindow restituisce True se la finestra è stata precedentemente nascosta . ' Non mi importa tanto io uso lo stile sub ' ShowWindow e SW_SHOW dichiarati altrove ' SW_SHOW visualizzerà la finestra nella sua dimensione attuale e positionCall ShowWindow hWnd , SW_SHOWfActivateWindowClass = FindWindow TrueElse ' fallito , FalsefActivateWindowClass ritorno = FalseEnd IfEnd Funzione
< br >