Hallo Zusammen,
hätte da mal eine Frage und hoffe Ihr könnt mir weiterhelfen.
Ich habe ein Programm geschrieben Windows Forms bassierend.
Dieses führt z.B. beim Klick auf einen Button eine Methode aus einer Klasse aus.
Soweit so gut.
Nun habe ich ein Programm Estos ProCall 3.0 dieses kann exe Dateien mit Parametern aufrufen(wie auf der Komandozeile eben).
Gibt es eine Möglichkeit nun mit ProCall mein Programm zu starten und automatisch die Parameter zu übergeben und eine Methode zu starten.
Gibt es auch eine Möglichkeit, das ganze auf eine Laufende Instanz meines Programms zu machen anstatt dass ein neues gestartet wird.
Wie kann ich das realisieren.
Vielen Dank im Voraus
Greetz
Du hast in der Program.cs normalerungefähr folgendes Konstrukt:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
Falls dir die Paramter string[] args fehlen, dann musst du die eventuell ergänzen. Jedenfalls hast du in diesem Array die Startparameter stehen, die du auswerten kannst.
Um einen Befehl an eine laufende Instanz zu schicken, musst du eine Kommunikationsschnittstelle haben. Das geht z.B. über Windowsbotschaften, dafür muss das aufrufende Programm aber das Fensterhandle der Fremdanwendung haben, was nicht immer so eveident herauszufinden. Ausserdem können mehrere Instanzen eines Programms gestartet sein... an welches soll dein Befehl dann gerichtet werden.
Besser ist, du baust dir selbst eine Kommunikationsschnittstelle auf. Die Forumsuche nach WCF oder Remoting sollte dir dabei helfen.