Laden...

[erledigt] Problem mit parameterisiertem Programmstart per Process.Start

Letzter Beitrag vor 12 Jahren 3 Posts 533 Views
[erledigt] Problem mit parameterisiertem Programmstart per Process.Start

Hallo zusammen,

ich möchte ein Programm parameterisiert starten, aber irgendwie kommt der übergebene Parameter nicht an.

Aufruf über cmd-Fenster (manuell) läuft:

  1. Programm starten: lcd.exe
  2. Parameter an Programm schicken: lcd.exe /d
    --> Parameter kommt an und Programm reagiert korrekt darauf. Also alles bestens.

Wenn ich das ganze per C# mache, bekomme ich nur die Meldung "LCD.exe is already running.

Hier der Code den ich verwende

Code:


System.Diagnostics.ProcessStartInfo pinfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c" + @"c:\lcdtool\lcd.exe");
                                pinfo.UseShellExecute = false;
                                pinfo.CreateNoWindow = true;
                                p.StartInfo = pinfo;
                                p.Start();
                                System.Threading.Thread.Sleep(1000);
                                System.Diagnostics.ProcessStartInfo pinfo1 = new System.Diagnostics.ProcessStartInfo("cmd", "/c" + @"c:\lcdtool\lcd.exe / d");
                                pinfo1.UseShellExecute = false;
                                pinfo1.CreateNoWindow = true;
                                p.StartInfo = pinfo1;
                                p.Start();

Wie sieht denn das Pendant von den o. g. CMD-Befehlen in C# aus?

Vielen Dank.

Hallo Adleano,

grundsätzlich sieht das so aus, wie du es machst. Allerdings startest du in dem konkreten Code den Prozess wirklich zweimal, einmal ohne und einmal mit Parameter.

herbivore

Hallo Herbivore,

vielen Dank für die schnelle Antwort.
Ich Esel hab gerade gemerkt, dass es an dem Leerzeichen bei der Übergabe des Arguments lag. Habe / d übergeben statt /d ...
Thread erledigt 🙂