Der Code von Programm b muss dann so aussehen
Delphi-Quellcode:
const WM_Communication = WM_USER + 10;
[...]
procedure WMCommunication(var message: TMessage); message WM_Communication;
[...]
procedure TProgramB.ButtonClick(Sender: TObject);
var a: HWnd;
begin
a := findwindow(PChar('TProgramA'), nil);
if a > 0 then
begin
postmessage(a, WM_Communication, 0, -1); //Message damit Program A schließt
end;
end;
procedure TProgramB.WMCommunication(var message: TMessage);
var a: HWND;
begin
if (Message.LParam = -1) then //
begin
//Mit der Datei arbeiten
postmessage(a, WM_Communication, Message.WParam, 0); //Message damit Program A wieder Datei öffnet
end;
end;
Falls du damit nicht zurecht kommst sag einfach bescheid, dann bastel ich nen kleines Demo dazu