1

我需要从我的 C# 程序中生成进程,但在某些情况下,可执行文件的完整路径可能超过 256 个字符。

我研究了这个网站上的几个相关主题,以及这篇文章@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)上运行它。

4

0 回答 0