Ho bisogno di associare un'estensione di file che ho creato ".rulog" con notepad.exe come parte di un'installazione di progetto di installazione per una macchina Windows 7 (è qui poiché abbiamo bisogno dei privilegi di amministratore per scrivere nel registro).Come ottenere il percorso esatto di notepad.exe per associare un'estensione di file
Fondamentalmente ho bisogno di ottenere a livello di programmazione il percorso esatto del notepad.exe. Ora, capisco che in genere vive in C: \ Windows \ system32. Questo fa parte della variabile di ambiente del sistema PATH, quindi suppongo di poter scorrere tutte le variabili PATH e verificare se "notepad.exe" esiste combinando "notepad.exe" con il percorso corrente utilizzando File.Exists. Tuttavia questo sembra molto maldestro.
In sostanza ho bisogno di aggiungere una voce alla
Computer\HKEY_CLASSES_ROOT\.rulog\shell\open\command\
con il valore del percorso del blocco note.
Per inciso mi rendo conto che in txt:
Computer\HKEY_CLASSES_ROOT\.txt\ShellNew
ha un valore per ItemName di
“@%SystemRoot%\system32\notepad.exe,-470”
Forse posso basta copiare questo valore? O è pericoloso? (Per esempio non esiste).
Per curiosità, perché alcuni sviluppatori insistono sulla creazione di proprie estensioni di file proprietà per qualcosa di semplice come un file di testo? – KingCronus
Per curiosità, se sai che il blocco note può aprire i tuoi file, perché non utilizzare un'estensione di file esistente equivalente? – murgatroid99
È molto probabile che venga scritta un'applicazione che cercherà nella directory questi tipi di file. Abbiamo già .txt/.log esistente per altre registrazioni/informazioni, quindi questo è solo un provvedimento per questo. – Jeb