Rubrik: Fenster | 22.03.05 |
![]() Diese Funktion sendet eine Nachricht an ein angegebenes Fenster, die nicht an das Fenster direkt sondern an dessen Nachrichteneingangspuffer übermittelt wird, wobei nicht auf eine Bestätigung des Threads gewartet wird. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 19.602 |
Deklaration:
Declare Function PostMessage Lib "user32" _ Alias "PostMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long
Beschreibung:
Diese Funktion sendet eine Nachricht an ein angegebenes Fenster, die nicht an das Fenster direkt sondern an dessen Nachrichteneingangspuffer übermittelt wird, wobei nicht auf eineBestätigung des Threads gewartet wird.
Parameter:
hwnd | Erwartet das Handle des Fensters, andas die Nachricht gesendet werden soll. |
wMsg | Erwartet eine Nachricht, die an das Fenster gesendet werden soll. |
wParam | Erwartet zusätzliche Parameter für die zu sendende Nachricht. |
lParam | Erwartet zusätzliche Parameter für die zu sendende Nachricht. |
Rückgabewert:
Ist die Funktion erfolgreich, so wird ein Wert "ungleich 0" zurückgegeben, andernfalls derWert "0". Für erweiterte Fehlerinformationen können Sie die GetLastError-Funktion aufrufen.
Beispiel:
Private Declare Function GetModuleFileName Lib "kernel32" _ Alias "GetModuleFileNameA" ( _ ByVal hModule As Long, _ ByVal lpFileName As String, _ ByVal nSize As Long) As Long Private Declare Function PostMessage Lib "user32" _ Alias "PostMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long ' eine der Standard-Fensternachrichten Private Const WM_CLOSE = &H10 ' Fenster schließen
' Anwendungspfad ermitteln Private Sub Form_Load() Dim Retval As Long, ExePath As String * 128 ' Exepfad ermitteln und ausgeben Retval = GetModuleFileName(hInst, ExePath, Len(ExePath)) MsgBox Left$(ExePath, Retval), , "Anwendungspfad" ' Programm beenden Call PostMessage(Me.hwnd, WM_CLOSE, 0&, ByVal 0&) End Sub