上次只是研究了一个exe启动另一个exe的情况,这次研究了两个exe同时运行的情况。
{Delphi 2007}
{Project1.exe Unit1.pas}
const
UM_MESSAGE_COMMUNICATE = WM_USER + 100;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
cDataParam: TCopyDataStruct;
msg: string;
hApp: HWND;
begin
hApp := FindWindow('TForm2', nil);
msg := 'Hello World';
if hApp <> 0 then
begin
cDataParam.dwData := UM_MESSAGE_COMMUNICATE;
cDataParam.cbData := length(msg)* sizeof(char) + 1;
cDataParam.lpData := @msg[1];
SendMessage(hApp, WM_COPYDATA, 0, LPARAM(&