Autor Beitrag
Gewuerzgurke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 152

Win XP
Lazarus
BeitragVerfasst: Do 21.05.09 13:04 
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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 21.05.09 13:07 
WM_NULL bzw. Besser: RegisterWindowMessage und mit dieser Meldungs-ID dann in beiden Programmen arbeiten.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Gewuerzgurke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 152

Win XP
Lazarus
BeitragVerfasst: Do 21.05.09 14:12 
Vielen Dank,
ich denke, damit komm' ich weiter.