質問

プログラムのWindowsの実行コマンドを模倣したいと思います。言い換えれば、ユーザーに、実行ボックスに入力した場合に任意のテキストを「実行」する機能を提供したいと思います。

その間 System.Diagnostics.Process.Start() 私を近づけてください、私は%AppData%が機能するなどの環境変数のような特定のものを得ることができないようです。 「Windowsが「%AppData%」を見つけることができない」というメッセージを受け取り続けています。

役に立ちましたか?

解決

使用できます Environment.ExpandenvironmentVariables %appData%を実際に対応するものに変える方法。

他のヒント

やろうとしていることに応じて、cmd.exeを呼び出すこともできます。これにより、環境変数が自動的に拡張されます。以下の例では、%appData%フォルダーのdirを作成し、stdoutをデバッグにリダイレクトします。

        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());
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top