Daten zwischen 2 Programmen austauschen
-
Guten Abend
Ich suche nach einer Möglichkeit Daten zwischen 2 Programmen auf dem selben Pc auszutauschen. Genauer möchte ich Strings von einem WindowsMediaPlayer Plugin zu meiner WinApi Anwendung senden.
Über SendMessage() kann ich ja nur Zeiger übergeben. Wenn ich jetzt in dem Plugin mit "new" auf dem Heap speicher Reserviere und den Zeiger übergebe funktioniert das nicht.Ist es möglich irgendwie Speicherbereich zu reservieren auf den man von allen Programmen zugriff hat. Sowas wie ein "Datenschrank für alle" quasi.
Ich hoffe ihr versteht ungefähr was ich meine.
Gruß Jan
-
Guck mal hier: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365574.aspx
Was genau für Informationen willst du denn da austauschen?
-
Perfekt genau das hab ich gesucht
http://msdn.microsoft.com/en-us/library/windows/desktop/ms648710.aspx
Dankeschön
-
für jeden der nach mir nicht daran verzweifeln will.
SendMessage(hWnd, WM_DATACOPY, ...,...)
braucht unter Windows 7 (warum auch immer) Adminstratorrechte...Microsoft hats halt einfach drauf...
-
Ich vermute mal es liegt daran: http://en.wikipedia.org/wiki/User_Interface_Privilege_Isolation
Was genau für Daten willst du denn austauschen? Etvl. wären Pipes eine Lösung!?
Ansonsten gibts auch noch das: http://msdn.microsoft.com/en-us/library/windows/desktop/ms632675.aspx
Ich würde aber zu Pipes raten.
-
jan91 schrieb:
für jeden der nach mir nicht daran verzweifeln will.
SendMessage(hWnd, WM_DATACOPY, ...,...)
braucht unter Windows 7 (warum auch immer) Adminstratorrechte...
Microsoft hats halt einfach drauf...Es heißt WM_COPYDATA.
Nein! Es werden keine Admin Rechte benötigt. Vermutlich läuft Dein Mediaplayer aber in einem niedrigeren Kontext (wie der IE) als Dein Programm.
dot hat Dir eine Möglichkeit geschrieben es zu lösen.
@dot: BTW: Pipes wären evtl. auch davon betroffen.
http://blog.m-ri.de/index.php/2009/12/08/windows-integrity-control-schreibzugriff-auf-eine-named-pipe-eines-services-ueber-anonymen-zugriff-auf-vista-windows-2008-server-und-windows-7/
-
jan91 schrieb:
für jeden der nach mir nicht daran verzweifeln will.
SendMessage(hWnd, WM_DATACOPY, ...,...)
braucht unter Windows 7 (warum auch immer) Adminstratorrechte...Microsoft hats halt einfach drauf...
1. Du hast keine Ahnung
2. Der Fehler sitzt im allgemeinem vor dem Bildschirm :p
-
Ich möchte nur ein paar Strings mit Titel, Interpret usw an das andere Programm senden. Ich glaube diese Pipes sind da ein wenig überdimensioniert.
Das mit dem UIPI hört sich schonmal sehr plausibel an.Sorry wenn ich hier irgendjemandem mit meinem Microsoft Kommentar gekränkt habe aber ich war einfach genervt als ich ne Stunde verzweifelt nach dem Fehler gesucht habe und dann gings plötzlich.
@unverzweifelter:
1. Naturlich hab ich keine Ahnung sonst wäre ich nicht hier
2. hinter dem Bildschirm zu sitzen macht im allgemeinen wenig Sinn.EDIT: Es funktioniert jetzt (auch ohne Admin Rechte). Dankeschön an alle
-
Wieso sollte es irgendjemanden kränken, wenn für die eigene Unwissenheit/Dummheit
regelmäßig der Compiler, Linker, Hersteller/Erzeuger des Betriebssystems, der Bibliotheken etc. schuld ist?
Diese Opferhaltung sollte den Threadstarter kränken, sonst niemanden.Besser wäre aber daraus zulernen.
Ein Lernerfolg wäre, die Dokumentation zu studieren.Die Ortsangabe hinter oder vor ist eine Frage der Perspektive.
-
Noch eine Anmerkung:
"plötzlich gings" ist übrigens kein Lernerfolg
-
Ich geh mal davon aus, dass er oben erwähnte Funktion benutzt hat und nicht dass es plötzlich einfach so ging...