我需要从C#程序中生成进程,但是在某些情况下,可执行文件的完整路径可能超过256个字符。
我已经在该网站以及this article @MSDN上研究了几个相关主题。根据这些信息,应该可以通过使用\\?\
前缀来实现,但是我仍然无法使其工作。看来系统尝试启动该过程,但是失败了。我收到的是“ SmartScreen has stopped working
”消息。
我想念什么吗?这是我的代码:
private void button2_Click(object sender, EventArgs e)
{
ProcessStartInfo start = new ProcessStartInfo();
start.Arguments = "";
start.FileName = @"\\?\c:\11111111111111111111111111111111111111111111\222222222222222222222222222222222222222222222\3333333333333333333333333333333333333333333333\444444444444444444444444444444444444444444444\5555555555555555555555555555555555555555555555\6666666666666666666666666666666666666666666666\test.exe";
start.WindowStyle = ProcessWindowStyle.Normal;
start.CreateNoWindow = true;
int exitCode;
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
exitCode = proc.ExitCode;
MessageBox.Show(String.Format("Exit code: {0}", exitCode));
}
}
我正在Windows 10版本1703(操作系统内部版本15063.1387)上运行它。