模拟.NET中的Windows'run'窗口
-
03-10-2019 - |
题
我想模仿程序中的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());
不隶属于 StackOverflow