Ich schreibe ein Kontakt-Management-Programm. Ich weiß, wie man Befehlszeilenargumente liest und verschiedene Methoden basierend auf dem, was ich finde, ausführt.Wie kann ich Befehlszeilenargumente an einen bereits laufenden Prozess übergeben?
Zum Beispiel program.exe "John Doe"
werden eine neue Instanz des Programms starten und den ersten Kontakt öffnen, es John Doe genannt findet, program.exe -s John
wird eine neue Instanz des Programms starten und für Kontakte mit dem Namen suchen „John“, während nur program.exe
läuft öffnet eine neue Instanz des Programms mit einem leeren Suchbildschirm.
Ich möchte jedoch nur eine einzelne Instanz des Programms ausführen. Wenn also ein anderes Programm program.exe "John Doe"
aufruft, werden die Argumente an diesen Prozess übergeben, wenn bereits ein Prozess ausgeführt wird, und zu einer neuen Suche wechseln, anstatt ein neues Fenster zu öffnen.
Ich weiß, dass dies die Suche nach zuvor ausgeführten Prozessen und Interprozesskommunikation erfordert, aber ich habe nicht viel von .Net getan und habe Probleme, in die richtige Richtung zu starten oder gute Tutorials zu dem jeweiligen Thema zu finden .
Haben Sie „eigenen“ program.exe, oder es an einen Dritten gehört? –
'Programm.exe' ist das Programm, das ich schreibe. Es hat einfach noch keinen Namen. Also ja, ich besitze es. – dlras2
Duplizieren? http://stackoverflow.com/questions/917883/c-how-to-single-instance-application-that-accepts-new-parameters –