Autor Beitrag
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 11.07.13 14:24 
Hey Leute,

ich sitz schon den ganzen Tag hier und such nach einer Lösung um Daten von einer WPF Anwendung zu einer anderen WPF Anwendung zu senden. Die Idee ist ganz einfach: Ich habe eine Anwendung von der nur eine Instanz gestartet werden soll. Wenn man nun eine Datei, die mit dem Programm verknüpft ist öffnet, geht ja eine zweite Instanz auf. Diese prüft ob schon eine Instanz läuft und beendet sich. Nun will ich das die zweite Instanz der ersten sagt, welche Datei der Nutzer öffnen wollte.
Ich hab mehrere Ansätze dazu im Netz gefunden und ausprobiert:
  • WCF Service in der ersten Instanz und die zweite Instanz als Client
    Geht nicht, weil der Service Adminrechte benötigt um gestartet zu werden. Meine Anwendung hat aber keine Adminrechte.
  • NamedPipes & Event
    Würde eigentlich gehen, aber ich weiß nicht wie ich das Event zwischen den WPF Anwendungen austauschen soll, weil ich beim erzeugen des Events nirgendwo einen Namen angeben kann.
  • Listener auf eine Datei erstellen und über die Datei die Daten austauschen
    Würde evtl. gehen, aber das find ich sehr unsauber :/
  • Daten über das Clipboard austauschen
    Würde sicherlich auch gehen, aber die Idee ist fast noch absurder als die mit den Datein -.-
So langsam aber sicher gehen mir die Ideen aus und google spuckt auch keine vernünftigen Lösungen aus. Hat jmd ne Idee wie ich das Problem in den Griff bekomm?

MfG & Thx Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 11.07.13 16:29 
Hallo,

vllt. hilft dir die IpcChannel-Klasse, s. das Beispiel unter myCSharp.de - Dateiassoziation.
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Fr 12.07.13 12:16 
Hey,

ich habs heut hinbekommen :) Ich hab das ganze jetzt über NamedEvents und MemoryMappedFiles gelöst. Ich hab gestern ein ManualResetEvent erstellt und da kann ich keinen Namen angeben. Wenn ich aber ein EventWaitHandle erstelle (welches die BasisKlasse vom ManualResetEvent ist), dann kann ich den Namen mit angeben.

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^