ich will mit SendCopyData text an eine andere anwendung abgeben. die beiden beispiel programme von den schweitzern, den link dazu findet man hier irgenwo im forum, habe ich mir gezogen und versucht den code nach meinem bedarf zu ändern. ist aber leider nicht wirklich was geworden. die orginale beipiele laufen einwandfrei. jetzt habe ich die orginal-zeile
hTargetWnd := FindWindow(nil,PChar('Message Receiver'));
folgendermasen abgeändert
hTargetWnd := FindWindow(nil,PChar('TEST.txt - Editor'));
normaler weise sollte doch nun der text an notepad abgegeben werden. tut es aber nicht. es kommt aber auch nicht die fehlermeldung, das das fenster nicht gefunden wird. es pasiert einfach nichts. ich habe dann mal einen haltepunkt in der funktion
Delphi-Quellcode:
procedure TForm1.SendCopyData(hTargetWnd: HWND; ACopyDataStruct:TCopyDataStruct);
begin
if hTargetWnd <> 0
then
SendMessage(hTargetWnd, WM_COPYDATA, Longint(
Handle), Longint(@ACopyDataStruct))
else
ShowMessage('
No Recipient found!');
end;
gesetzt um die werte in hTargetWnd zusehen. dazu habe ich mir zuvor die fensterliste mit winsight angesehen. beim 1 versuch konnte ich den titel "'TEST.txt - Editor" darin finden. bei jedem weiteren aber nicht mehr obwohl notepad geöffnet war. ich habe mir mal dann die sache mit so einem demo-programm aus dem kochbuch 7 angesehen wo man auch die fensterlist bekommt. darin habe ich dann das notepad mit dem titel gefunden. es sind die selben werte wie im debugger. ich habe mal die sache als screenshotes angehängt. ich hoffe jemand von euch weiß wo mein problem liegt.
ich habe es auch schon mit word getestet, weil ich dachte das notepad das nicht kann... (daten von andren programmen empfangen) ist aber das gleiche.