c# - 给出凭据时 process.start() 抛出 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.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 文件您应该会失败。

类似问题:Run application via shortcut using Process.Start C#

关于c# - 给出凭据时 process.start() 抛出 win32Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20657530/

相关文章:

c - 使用信号量独立执行进程

c# - 按钮样式在运行时有效,但 Visual Studio 在设计时显示错误

c# - RavenDB:Raven.Abstractions.Exceptions.ConcurrencyException:具有键的文档: 'cache-fncwr10b' 当前在另一个事务中创建

c# - .NET SqlParameter 类 : will it truncate . 值字符串?

c# - 如何判断另一个进程是否为 64 位?

c++ - 如何抛出全部 yield ,养起来开始调试?

java - 如何在 C# 中创建 HashMap

php - 沙盒错误凭证作为?

r - 在 Ubuntu 上的 R Shiny App 中读取环境变量的最简单方法是什么?

c# - CredUIPromptForCredentials 强制手动选择用户名