Process.start 在网络驱动器上,请求身份验证

Process.start on network drive, ask for authentication

考虑这段代码:

    Process process = new Process();
    process.StartInfo.FileName = "explorer";
    process.StartInfo.Arguments = "\some_network_host\path";
    process.Start();

我想连接到共享资源并打开 Explorer.exe 中的路径,但是,用户可能尚未通过身份验证。如果用户未通过身份验证,我想打开一个 Windows 身份验证弹出窗口,就像我在 运行 \some_network_host\path 时看到的那样,但是,我的实际代码只是打开“My Document”(如果用户尚未通过身份验证)。如果用户已经通过身份验证,它会打开显示共享资源的 explorer.exe window。 谢谢。

这段代码对我来说很好用

Process process = new Process();
process.StartInfo.FileName = @"\existing_network_host\path";
process.StartInfo.UseShellExecute = true;
process.StartInfo.ErrorDialog = true; 
process.Start();

密钥差异是 StartupInfo.ErrorDialog

的真实值