Das
Handle der Zielanwendung passt. Selber Account, gleiche Rechte.
Also auf das einfachste reduziert sieht es aus wie folgt.
In Delphi <=11 kann ich das unter x86 und x64 kompilieren und es klappt mit Zielanwendungen beider Architekturen.
In Delphi 12 kann ich es nur noch unter x86 kompilieren, sonst ist es ohne Funktion.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Send_Quickdata('
DTprjno;123456');
end;
function TForm1.Send_Quickdata(msg:
string):boolean;
var
aCopyData: TCopyDataStruct;
hTargetWnd: HWND;
begin
hTargetWnd := FindWindowEx(0, 0,
nil, Pchar ('
QuickData'));
if hTargetWnd <> 0
then
begin
with aCopyData
do
begin
dwData := 0;
cbData := (StrLen(Pchar(msg)) + 1)* SizeOf(Char);
lpData := Pchar (msg);
end;
// Search window by the window title
// Fenster anhand des Titelzeilentext suchen
SendMessage(hTargetWnd, WM_COPYDATA, Longint(
Handle), Longint(@aCopyData));
result:=true;
end
else result:=false;
end;