尝试使用 ProcessStartInfo 和 Process 从方法中运行 slui.exe

本文关键字:方法 运行 slui exe Process ProcessStartInfo | 更新日期: 2023-09-27 18:34:12

我在从 c# 中的方法运行 slui.exe 时遇到问题。我正在使用代码:

ProcessStartInfo startInfo = new ProcessStartInfo(@"C:'Windows'System32'slui.exe"); Process p = new Process(); p.StartInfo = startInfo; p.Start(); p.WaitForExit();

但我不断收到Win32异常:"系统找不到指定的文件"。

如果我将ProcessStartInfo更改为:(@"C:''Windows''System32''cmd.exe"),它将启动正常。

在这种情况下.exe运行 slui 有什么东西是坏事吗?

我确定该文件位于指定的目录中,所以我对这里可能出现的问题感到困惑。

知道如何从 c# 方法调用 slui.exe 的任何想法?

尝试使用 ProcessStartInfo 和 Process 从方法中运行 slui.exe

Slui.exe 仅在 Windows x64 上作为 64 位程序提供。 当您作为 32 位进程运行时,硬编码路径 c:''windows''system32 将被重定向到 c:''windows''syswow64。 因此找不到该文件。

"项目 + 属性","编译"选项卡,将"平台目标"设置更改为"AnyCPU"。 对发布配置重复此操作。 并使用 Environment.GetFolderPath() 来确保它在 Windows 未安装到 c:''windows 时仍然有效。