我想模仿程序中的Windows中的运行命令。换句话说,我想为用户提供“运行”任意文本的能力,如果他们将其键入运行框,则可以像这样。

尽管 System.Diagnostics.Process.Start() 让我接近,我似乎无法得到某些事情,例如环境变量,例如%appdata%工作。我只是继续收到消息“ Windows找不到'%appdata%'...”

有帮助吗?

解决方案

您可以使用 环境 将%appdata%变成实际对应的方法。

其他提示

根据您要做的事情,您还可以致电CMD.EXE,该exe将自动扩展您的环境变量。下面的示例将对您的%appData%文件夹进行DIR,并将其重定向到调试:

        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