无法从 Process.Start 运行命令

本文关键字:运行 命令 Start Process | 更新日期: 2023-09-27 18:37:02

我可以从命令行运行这个很好:

C:'Windows'System32'rundll32.exe "C:'Program Files (x86)'Windows Photo Viewer'PhotoViewer.dll", ImageView_Fullscreen  C:'Users'Public'Pictures'Sample Pictures'Chrysanthemum.jpg

图像打开没有问题。

但是,当我尝试这样做时:

exe = "C:''Windows''System32''rundll32.exe '"C:''Program Files (x86)''Windows Photo Viewer''PhotoViewer.dll'", ImageView_Fullscreen  C:''Users''Public''Pictures''Sample Pictures''Chrysanthemum.jpg";
Process.Start(exe);

我得到一个

系统.组件模型.Win32异常: 系统找不到指定的文件

我已经尝试在命令行和 C# 上使用引号,但都无法使用它们。 根据我最近在SO上读到的答案,最后一部分不应该被引用。

这是怎么回事?

无法从 Process.Start 运行命令

事实证明,

必须分别传递命令和参数:

exe = "C:''Windows''System32''rundll32.exe";
arguments = "'"C:''Program Files (x86)''Windows Photo Viewer''PhotoViewer.dll'", ImageView_Fullscreen  C:''Users''Public''Pictures''Sample Pictures''Chrysanthemum.jpg";
Process.Start(exe, arguments);