无法从Process.Start运行命令

时间:2012-06-12 01:59:08

标签: c# .net

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

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);

我得到了

  

System.ComponentModel.Win32Exception:系统找不到指定的文件

我在命令行和C#上都试过引号,但都没有使用它们。根据我最近读到的答案,不应该引用最后一部分。

发生了什么事?

1 个答案:

答案 0 :(得分:13)

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

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);