Avviare un file con argomenti della riga di comando senza conoscere la posizione dell'exe?
Domanda
Ecco la situazione:Sto tentando di avviare un'applicazione, ma non conosco la posizione del file .exe.Ora, se l'estensione del file è registrata (in Windows), posso fare qualcosa del tipo:
Process.Start("Sample.xls");
Tuttavia, devo passare anche alcuni argomenti della riga di comando.Non sono riuscito a farlo funzionare
Process p = new Process();
p.StartInfo.FileName = "Sample.xls";
p.StartInfo.Arguments = "/r"; // open in read-only mode
p.Start();
Qualche suggerimento su un meccanismo per risolvere questo problema?
Modificare @aku
Le mie capacità di ricerca StackOverflow sono deboli;Non ho trovato quel post.Anche se generalmente non mi piace sbirciare nel registro, è un'ottima soluzione.Grazie!
Soluzione
Usando il mio codice da Questo risposta puoi ottenere il comando associato all'estensione xls.Quindi puoi passare questo comando a Process.Start
metodo.
Altri suggerimenti
Se interroghi il registro, puoi recuperare i dati sul tipo di file registrato e quindi chiamare direttamente l'app passando gli argomenti della riga di comando.Vedere Controllo e impostazione dei tipi di file a livello di codice per un esempio di recupero delle informazioni della shell per un tipo di file.