Prendi hWnd della finestra corrente / form in VB6?
Domanda
Ho posso ottenere hWnd della finestra / forma attuale in VB6?
Soluzione
Se sei in forma: Me.hWnd
. Se non si sa quale forma è la forma attuale: Screen.ActiveForm.hWnd
Altri suggerimenti
Utilizzando API di Windows, GetForegroundWindow()
otterrà l'handle della finestra più alta, indipendentemente da quale applicazione è da, e GetActiveWindow()
otterrà il manico di finestra attiva dell'applicazione. Le dichiarazioni Declare
sarà necessario:
Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Declare Function GetActiveWindow Lib "user32.dll" () As Long
La chiamata a uno funzione restituisce un handle di finestra come descritto sopra.
E 'passato molto tempo da quando ho usato VB6, ma questo è quello che mi ricordo:
Ti consigliamo di aprire il visualizzatore API, che dovrebbe essere nel menu di avvio intorno alla voce di VB6. Quando lo si apre, si desidera selezionare win32api.txt, e si otterrà un elenco di tutte le funzioni API Win32. Questo è il modo più semplice per non rovinare le firme di funzione. Copia e incolla la dichiarazione di funzione in uno dei vostri moduli VB6.
Ho sempre "tradito" e appena guardato per la mia finestra per nome didascalia, invece di loop su tutte le finestre disponibili con GetWindow. Se stai bene con questo, si desidera utilizzare FindWindow e passare il nome didascalia come secondo parametro.