2008-08-30 14 views
5

Aquí está la situación: estoy intentando iniciar una aplicación, pero la ubicación de .exe no la conozco. Ahora bien, si se ha registrado la extensión del archivo (en Windows), puedo hacer algo como:¿Iniciar un archivo con argumentos de línea de comando sin conocer la ubicación de exe?

Process.Start("Sample.xls"); 

Sin embargo, tengo que pasar algunos argumentos de línea de comandos también. No pude conseguir que esto funcione

Process p = new Process(); 
    p.StartInfo.FileName = "Sample.xls"; 
    p.StartInfo.Arguments = "/r"; // open in read-only mode 
    p.Start(); 

Cualquier sugerencia sobre un mecanismo para resolver esto?

Editar @ aku

Mis StackOverflow habilidades de búsqueda son débiles; No encontré esa publicación. Aunque generalmente no me gusta mirar en el registro, esa es una gran solución. ¡Gracias!

Respuesta

4

Usando mi código de this respuesta puede obtener el comando asociado con la extensión xls. Luego puede pasar este comando al método Process.Start.

2

Si consulta el registro, puede recuperar los datos sobre el tipo de archivo registrado y luego llamar a la aplicación pasando directamente los argumentos de la línea de comando. Consulte Programmatically Checking and Setting File Types para obtener un ejemplo de recuperación de información de shell para un tipo de archivo.

Cuestiones relacionadas