5

コマンドラインからこれをうまく実行できます:

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# の両方で引用符を使用してみましたが、どちらも機能しません。SOで最近読んだ回答によると、最後の部分は引用しないでください。

どうしたの?

4

1 に答える 1

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);
于 2012-06-12T02:14:57.157 に答える