Domanda

Ho posso ottenere hWnd della finestra / forma attuale in VB6?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top