如果程序的路径超过MAX_PATH,是否可以运行该程序?

时间:2018-10-24 15:29:40

标签: c# .net max-path

我需要从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)上运行它。

0 个答案:

没有答案