Entwickler-Ecke
Windows API - String von Programm A an Programm B senden
GuaAck - Do 11.10.12 00:03
Titel: String von Programm A an Programm B senden
Liebe Experten,
ich habe ein Programm A, das erzeugt mehr oder weniger zyklisch Dateien.
Diese Dateien soll nun ein Programm B auswerten. (Ein gemeinsames Programm geht aus bestimmten Gründen nicht.)
Wenn A eine Datei fertig gemacht hat, dann sendet es eine Message an B (per PostMessage). Geht bestens.
Mein Problem: Bisher war der Ablagepfad der Datei fest gegeben und die Dateinamen waren fortlaufen nummeriert. In der Message habe ich einfach die laufende Nummer als Longword (im lParam) übergeben. Das muss jetzt allgemeiner sein, ich muss also Pfad+Dateinamen von A an B senden. Wie macht man das richtig???
Vergeblicher Versuch:
Pfad+Dateiname als Pchar, dann den Pointer darauf im lParam mit der Message verschicken. Da erhalte ich in B eine Access Violation. Beim Verschicken eines ^Integer gibt es das zwar (wohl zufällig) nicht, aber die Integerzahl kommt auch nicht an, also wohl auch Zugriff auf einen falschen Speicher.
Mir bekannte Lösungsmöglichkeit:
Ich hatte schon einmal große Datenblöcke per FileMapping zwischen Programmen ausgetauscht. Aber das ist doch für diese elementare Aufgabe viel zu umständlich.
Also, wie macht man so etwas richtig? Da muss es doch einen Mechanismus bei Windows geben.
Ich hoffe auf Tipps,
Grüße GuaAck
GuaAck - Do 11.10.12 21:56
Danke an Alle,
mein Fehler war wohl, dass ich nicht WM_COPYDATA genommen habe, sondern eine eigene Messageid (per registerwindowmessage).
Gruß GuaAck
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!