C# process.start()在提供凭据时引发win32Exception
我正在尝试使用Process.Start()启动lnk文件。如果没有提供凭据,这没关系,但如果提供了凭据,则会抛出异常。以下是示例代码: 这个很好用C# process.start()在提供凭据时引发win32Exception,c#,process,credentials,win32exception,C#,Process,Credentials,Win32exception,我正在尝试使用Process.Start()启动lnk文件。如果没有提供凭据,这没关系,但如果提供了凭据,则会抛出异常。以下是示例代码: 这个很好用 var processStartInfo = new ProcessStartInfo { FileName = @"F:\abc.lnk", }; using (var process = new Process()) { process.StartInfo = processStartInfo; process.Sta
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位的,程序也很简单
我需要这些凭据,因为文件位于网络驱动器上
任何帮助都将不胜感激 假设“当UseShellExecute为false时,您只能使用流程组件启动可执行文件”,因此向其传递.lnk文件可能会失败
Process process = new Process();
process.StartInfo.FileName = "F:\abc.lnk";
process.StartInfo.Arguments = "use \\\\computerName\\share password /user:UserName";
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.UseShellExecute = false;
process.Start();
process.WaitForExit();
process.Dispose();
这里也有类似的问题:假设“当UseShellExecute为false时,您只能使用流程组件启动可执行文件”,因此传递一个.lnk文件可能会失败
这里也有类似的问题:我该如何使用它?“使用\\\\computerName\\share”F驱动器位于网络上。我假设它是这样的:process.StartInfo.Arguments=“使用\\\\computerName\\share/user:”;?我怎么用这个?“使用\\\\computerName\\share”F驱动器位于网络上。我假设它是这样的:process.StartInfo.Arguments=“使用\\\\computerName\\share/user:”;?