Online
Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.052 Beiträge
Delphi 12 Athens
|
Re: Eine Message senden an Programm ohne Fenster. Wie?
12. Jun 2008, 15:27
per SetWindowLong deine Prozedur beim Fenster angegeben hast, dann wird diese nun aufgerufen.
Delphi-Quellcode:
Var Msg: TMsg;
isUnicode: Boolean;
Begin
While PeekMessage(Msg, 0, 0, 0, PM_NOREMOVE) do Begin
isUnicode := (Msg.hWnd <> 0) and IsWindowUnicode(Msg.hWnd);
If isUnicode Then Begin
If not PeekMessageW(Msg, 0, 0, 0, PM_REMOVE) Then Continue;
End Else If not PeekMessageA(Msg, 0, 0, 0, PM_REMOVE) Then Continue;
TranslateMessage(Msg);
If isUnicode Then DispatchMessageW(Msg) Else DispatchMessageA(Msg);
End;
End;
und die Kurzfassungen:
Delphi-Quellcode:
Var Msg: TMsg;
Begin
While PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do Begin
TranslateMessage(Msg);
DispatchMessage(Msg);
End;
End;
// oder
Var Msg: TMsg;
Begin
While GetMessage(Msg, 0, 0, 0) do Begin
TranslateMessage(Msg);
DispatchMessage(Msg);
End;
End;
alternativ könnte man auch innerhalb dieser Schleife seine Messages abfragen (dabei besse noch das Fenster prüfen ... muß ja nicht alles in dieser Schleife für/von deinem Fesnter sein)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|