Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
Delphi 7 Enterprise
|
Re: WM_COPYDATA msg senden und gleichzeitig antwort erhalten
23. Feb 2007, 07:50
Du könntest einen Pointer auf deine Zeichenkette zurückgeben und dann mit readprocessmemory den string auslesen. Da musst du allerdings absichern, dass der String in dem einen Process solange existiert, bis der andere ihn ausgelesen hat.
die zweite Möglichkeit ist du reservierst in dem (sendmessage) aufrufenden Process Speicher für die Zeichenkette und der verarbeitende Process schreibt mit writeprocessmemory sein Ergebniss dort rein. Damit umgehst du die Laufzeitprobleme aus der ersten Methode.
Die dritte Methode geht über globalAtoms. Ein Atom ist nix weiter als eine String mit Referenznummer. Mit dieser Nummer kannst du recht einfach in einem anderen Process den String lesen. Und mit Sendmessage überlieferst du nur die Nummer
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
|