自己解决了,XE2太讨厌了,D7升级上来代码需要修改那么多地方。
原代码D7
procedure TForm1.btn1Click(Sender: TObject);
var
h:HWND;
cmd:string;
cpd : COPYDATASTRUCT;
begin
h := FindWindow('ACG!',nil);
cmd := 'snapshot';
cpd.cbData := Length(cmd)+1;
cpd.lpData := PChar(cmd);
SendMessage(h,WM_COPYDATA,$12,Lparam(@cpd));
end;
XE2代码
procedure SendCs(x: string);
var
h: HWND;
cmd: string;
cpd: COPYDATASTRUCT;
begin
h := FindWindow('ACG!', nil);
cmd := x;
cpd.cbData := Length(cmd) + 1;
cpd.lpData := PAnsiChar(AnsiString('snapshot')) ;
SendMessage(h, WM_COPYDATA, $12, Lparam(@cpd));
end;
cpd.lpData := PAnsiChar(AnsiString('snapshot')) 这行竟然要这样转才可以。。。。