我正在尝试使用 Process.Start() 来启动 lnk 文件。未提供凭据时没问题,但提供凭据时会引发异常。这是示例代码:
这很好用
var processStartInfo = new ProcessStartInfo
{
FileName = @"F:\abc.lnk",
};
using (var process = new Process())
{
process.StartInfo = processStartInfo;
process.Start();
}
但是此代码抛出 Win32Exception:“指定的可执行文件不是此操作系统平台的有效应用程序”。
var processStartInfo = new ProcessStartInfo
{
FileName = @"F:\abc.lnk",
UserName = userName,
Password = securePassword,
Domain = domain,
UseShellExecute = false,
};
using (var process = new Process())
{
process.StartInfo = processStartInfo;
process.Start();
}
我的操作系统是32位,程序也是32位
我需要这些凭据,因为文件位于网络驱动器上。
任何帮助将不胜感激!!
最佳答案
docs说“当 UseShellExecute 为 false 时,您只能使用 Process 组件启动可执行文件”,因此向其传递 .lnk 文件您应该会失败。
关于c# - 给出凭据时 process.start() 抛出 win32Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20657530/