Fenster-Handle als Parameter an API-Funktionen übergeben
Veröffentlicht am 04.05.2005
Viele API-Funktionen zur Bearbeitung von Fenstern benötigen ein Handle, um das betroffene Windows-Fenster zu identifizieren. Auch Access benutzt solche Handles zur Handhabung von Formular- und Berichtsfensten. Verwenden Sie die Eigenschaft „hwnd“ um das Fenster-Handle eines Access-Objekts zu ermitteln und einer API-Funktion zu übergeben.
Der Ausdruck Screen.ActiveForm.hwnd stellt beispielsweise das Handle des aktiven Fensters dar. Das folgende Beispiel übergibt der Funktion GetWindowText das Handle des aktuellen Fensters, um den Fenstertitel zu ermitteln:
Declare Function GetWindowText Lib "user32" Alias _
"GetWindowTextA" (ByVal hwnd As Long, _
ByVal lpString As String, ByVal cch As Long) As Long
Dim ret As Long
Dim strFensterText As String, length As Long
strFensterText = String$(50, 0)
length = Len(strFensterText)
ret = GetWindowText(Screen.ActiveForm.hwnd, strFensterText, length)
Um das Handle des Hauptfensters von Access zu übergeben, verwenden Sie die Eigenschaft hWndAccessApp des Objekts Application:
ret = GetWindowText(Application.hWndAccessApp, _
strFensterText, length)