Imansible eseguire il comando da Process.Start

Posso eseguire questo fine dalla riga di comando:

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

L’immagine non si apre.

Tuttavia, quando provo a fare questo:

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

Ottengo un

System.ComponentModel.Win32Exception: il sistema non riesce a trovare il file specificato

Ho provato con le virgolette sia sulla riga di comando che su C #, e nessuno dei due lavora con loro. Secondo una risposta che ho letto su SO recentemente l’ultima parte non dovrebbe essere citata.

Cosa sta succedendo?

Risulta che uno deve passare il comando e gli argomenti separatamente:

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