Entwickler-Ecke

Windows API - PostMessage - "WM_EMPTY"-Message gesucht


Gewuerzgurke - Do 21.05.09 13:04
Titel: PostMessage - "WM_EMPTY"-Message gesucht
Hallo, ich habe ein Programm, das von einem anderen - mit Hilfe einiger Befehle gesteuert werden soll. Ich hab' das erstmal provisorisch mit PostMessage gelöst:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm.PControlMessage(var msg: tagMSG; var Handled: Boolean);
begin
 if (msg.Message = WM_PAINT) then if (msg.LParam = 1then ShowMessage('Aktion');
end;

procedure TForm.FormCreate(Sender: TObject);
begin
 Application.OnMessage := PControlMessage;
end;

Wenn jetzt das andere Programm PostMessage(FindWindow(nil,'MeinProgramm'),WM_PAINT,0,1); "aufruft", wird die gewünschte Aktion ausgeführt. Nur eigendlich ist WM_PAINT nicht dafür gedacht. Gibt es eine Message, die keine Aktion bewirkt sondern nur Parameter übermittelt oder sollte man das ganz anders machen?


BenBE - Do 21.05.09 13:07

WM_NULL bzw. Besser: RegisterWindowMessage und mit dieser Meldungs-ID dann in beiden Programmen arbeiten.


Gewuerzgurke - Do 21.05.09 14:12

Vielen Dank,
ich denke, damit komm' ich weiter.