Frage

Ich mag den Befehl Ausführen in Windows in meinem Programm imitieren. Mit anderen Worten, würde Ich mag dem Benutzer die Möglichkeit zu „run“ einem beliebigen Stück Text geben, genau so, wie geschehen würde, wenn sie es in das Lauffeld eingegeben.

Während System.Diagnostics.Process.Start() mir nahe kommt, kann ich bestimmte Dinge nicht scheinen, wie Umgebungsvariablen zu erhalten, wie beispielsweise% AppData% arbeiten. Ich halte gerade die Nachricht bekommen „Windows kann nicht finden,‚% AppData%‘...“

War es hilfreich?

Lösung

Sie können mit dem Environment.ExpandEnvironmentVariables Verfahren einzuschalten% AppData% in dem, was sie tatsächlich entspricht.

Andere Tipps

Je nachdem, was Sie versuchen zu tun, könnten Sie auch cmd.exe nennen, die Ihre Umgebungsvariablen erweitern automatisch. Das folgende Beispiel wird tun, um ein SICH Ihr% AppData% -Ordner, und leitet die STDOUT- an den Debug:

        StreamReader stdOut;

        Process proc1 = new Process();
        ProcessStartInfo psi = new ProcessStartInfo("CMD.EXE", "/C dir %appdata%");
        psi.RedirectStandardOutput = true;
        psi.UseShellExecute = false;
        proc1.StartInfo = psi;
        proc1.Start();
        stdOut = proc1.StandardOutput;

        System.Diagnostics.Debug.Write(stdOut.ReadToEnd());
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top