Associare un programma ad un’estensione file con RegEdit

In un sistema operativo il riconoscimento di un determinato tipo di file avviene mediante la sua estensione/formato, a cui un computer o dispositivo assocerà uno specifico programma o app per la sua apertura e lettura. Normalmente i programmi installati nel proprio computer eseguiranno in maniera automatica questo tipo di associazione con la rispettiva estensione o con un formato proprietario, oppure chiederanno all’utente corrente se associare o no un’estensione file esistente, diventando così il software predefinito alle future aperture.

I software predefiniti in un sistema operativo consentono di aprire un formato file associato, ad esempio come Adobe Acrobat per file PDF, e questa associazione può essere fatta anche manualmente in qualsiasi momento dall’utente.

In Windows ad esempio, basta cliccare con il tasto destro del mouse sul file con estensione desiderata, cliccare su “Apri con” e scegliere il nuovo programma, avendo cura di spuntare la casella di “Programma predefinito“.

Pochi sanno tuttavia che quest’operazione può essere fatta anche direttamente nel registro di sistema di Windows. L’operazione descritta poco fa infatti, esegue una modifica al registro di Windows per finalizzare questa associazione “programma/estensione“, che dunque può essere fatta anche attraverso “L’editor Del registro di sistema” o “RegEdit“.

Associare un programma ad un’estensione con il registro di sistema Windows

Personalmente ho avuto modo di testare e usufruire di questa tecnica per lo sviluppo di alcune mie applicazioni e programmi. Necessitavo di definire un nuovo formato proprietario per alcuni tipi di file a cui poi collegare il programma in sviluppo, così da poter essere eseguiti o letti dal programma stesso.

Questa operazione andava fatta in fase d’installazione, dichiarando una nuova chiave di registro di sistema in un sistema operativo Windows.

Il mio programma dunque, venne associato a tale estensione come programma predefinito alla sua apertura. Probabilmente anche tu stai eseguendo un’operazione simile, o non vedo il motivo per cui dovresti seguire questa guida :).

L’associazione avviene tramite modifica diretta del registro di sistema, con la creazione di chiavi e sottochiavi specifiche.

Nota: Se l’utente corrente ha già associato un programma predefinito all’estensione desiderata, questa modifica potrebbe non avere effetto (l’utente ha già dichiarato la sua preferenza). La soluzione sarebbe modificare altre chiavi di registro o procedere all’eliminazione delle chiavi di registro di questa preferenza.

Creazione di una nuova estensione da RegEdit

Se l’estensione è nuova e non è mai stata elaborata prima d’ora dal dispositivo in uso, procedere alla sua creazione in questo modo:

  • Apri il registro di sistema di Windows, digita “regedit” nella barra ricerca di Windows Start;
  • Nell’elenco a sinistra, vai al percorso: “Computer\HKEY_CLASSES_ROOT\“;
  • Clicca con il tasto destro sulla voce HKEY_CLASSES_ROOT e seleziona “Nuovo>Chiave“;
  • Rinomina la nuova chiave con il nuovo nome dell’estensione desiderata, comprensivo del punto iniziale (Ad esempio: “.ext” o “.my“).
Creazione di una chiave nell'editor di registro Windows

Per semplificare chiamerò l’estensione “.myext”.

Ora il computer rileverà la presenza di questa nuova estensione.

Associazione di un programma

Per proseguire con l’associazione dobbiamo creare un “metodo” specifico attraverso dei determinati comandi nel registro.

Prima di tutto andiamo nel percorso dell’estensione interessata, che è la stessa creata nel paragrafo precedente: “Computer\HKEY_CLASSES_ROOT\.<mia-estensione>

  • In questo percorso crea un nuovo valore stringa (tasto desto del mouse nell’area a destra”
  • Rinomina il valore in “myMethod

Detto in parole povere, abbiamo associato un “metodo di apertura” alla nuova estensione.

Creazione di valore stringa personalizzato nel registro Windows

Nel caso di “metodi” esistenti, puoi procedere in due modi:

  • Eliminare quello esistente e continuare con la guida corrente.
  • Modificare il valore esistente con quello nuovo > Ricercare la chiave esistente e rinominare i valori contenuti con quelli desiderati in base a quanto descritto nei prossimi passaggi.

Per semplificare consiglio di eliminare il metodo esistente e crearne uno nuovo.

Ora non ci resta che impostare il nostro metodo “myMethod”, per farlo:

  • Crea una nuova chiave di registro nel percorso “Computer\HKEY_CLASSES_ROOT” e rinominala “myMethod“;
  • In quest’ultima chiave, crea una sottochiave nominata “shell“;
  • In “shell” crea un’altra sottochiave nominata “open“;
  • In “open” crea un’altra sottochiave chiamata “command

Riassumendo “Computer\HKEY_CLASSES_ROOT\<myMethod>\shell\open\command“.

percorso comando nel registro di sistema

Ora come ultimo step modifica il valore della stringa in “commandcon il percorso dell’eseguibile del programma desiderato in questo modo: “C:\Program Files\…\Programma.exe %1“.

Nota il simbolo “%1” finale. Questo simbolo equivale alla dichiarazione di una variabile, in sostituzione del percorso dei futuri file da aprire con il programma.

Icona personalizzata (opzionale)

Come puoi vedere anche dalla figura precedente, nella chiave “myMethod” è presente anche la sottochiave “Defaulticon“. Questa serve a visualizzare l’icona predefinita del programma sui file con l’estensione dichiarata.

Per farlo:

  • Crea una sottochiave in “myMehod” e chiamala “Defaulticon“.
  • Cambia il valore della stringa presente in questa sottochiave, scrivendo:
    C:\Program Files\percorso\…\Programma.exe,0“.

Al termine chiudi l’editor di registro di sistema Windows. Consiglio di riavviare il PC per finalizzare le modifiche effettuate (le icone infatti potrebbero non essere ancora visualizzate), ma dovresti già essere in grado di aprire i file interessati (con l’estensione personalizzata) con il tuo programma.

Iscriviti alla nostra Newsletter qui e seguici su Facebook per aggiornamenti!


Articoli recenti:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

CAPTCHA