que puede ejecutar esta bien desde la línea de comandos:No se puede ejecutar comandos desde Process.Start
C:\Windows\System32\rundll32.exe "C:\Program Files (x86)\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg
imagen se abre ningún problema.
Sin embargo, cuando intento hacer esto:
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);
consigo un System.ComponentModel.Win32Exception
: El sistema no puede encontrar el archivo especificado
tengo intenté con comillas tanto en la línea de comando como en C#, y tampoco trabajé con ellos. De acuerdo con una respuesta que leí en SO recientemente, la última parte no debe ser citada.
¿Qué está pasando?
Puede que sea necesario para envolver el último parámetro con comillas, así, ya que parte de la ruta contiene un espacio. –
Gracias por su respuesta. Leí una publicación aquí en algún lado que dice que la última parte no debe estar entre comillas, y la versión de línea de comando tampoco funciona con comillas alrededor del último elemento. – sennett
Pruébelo de todos modos ;-) También puede ejecutar Process Monitor para ver qué archivo especificado no se puede encontrar, que podría dar una pista. –