Windows e le Associazioni File a Programmi

Un aiuto importante quando si utilizza Windows, ma ormai presente anche in Linux, è la possibilità di fare doppio click o click singolo, dipende dalle proprie impostazioni, ed aprire automaticamente l’applicazione che riesce a gestire quel tipo di file. In pratica tutto nasce dal fatto che ogni programma che gestisce documenti possiede una propria estensione di file che li identifica in maniera univoca, ad esempio un documento.mytp, nessuno ha detto che deve avere la vecchia nozione del DOS 8.3. Ma quando 2 o più applicazioni gestiscono lo stesso tipo di documento come ad esempio i file .rtf, i vecchi formati proprietari di Microsoft per documenti di testo; questa estensione è possibile gestirla con Wordpad di Windows, Word di Office o anche OpenOffice, ma in definitiva ce ne sono migliaia di programmi che riescono a gestire questa estensione. Oggi noi distinguiamo un tipo di file dall’icona associata, ma vediamo come funziona il tutto in modo da poter decidere l’applicazione di default per gestire un documento, se vi sembra troppo lungo o troppo complicato, esistono delle utility che riescono a gestire le associazioni dei file, ma anche lo stesso Windows presenta una utility interna alla gestione delle cartelle in grado di modificare i programmi associati alle estensioni dei file. In questo articolo spiegherò cosa occorre per associare una estensione ad un programma. Prendiamo ad esempio un software che gestisce file con estensione .test, andiamo nel registro di sistema con regedit ( attenzione a non cancellare o modificare nulla di esistente ) ed espandiamo il ramo HKEY_CLASSES_ROOT; in questa posizione all’inizio abbiamo tutte le estensioni gestite, mentre sempre nello stesso ramo in fondo in ordine alfabetico le applicazioni che le gestiscono, possiamo vedere il tutto tramite un file del registro, i file .reg sono i documenti per il registro di sistema e possono essere incorporati all’interno dello stesso.

REGEDIT
HKEY_CLASSES_ROOT\.test = Test.Document
HKEY_CLASSES_ROOT\Test.Document\shell\open\command = Test.exe %1
HKEY_CLASSES_ROOT\Test.Document\shell\open\ddeexec = [open(“%1”)]
HKEY_CLASSES_ROOT\Test.Document\shell\open\ddeexec\application = Test
HKEY_CLASSES_ROOT\Test.Document = Documento Test
HKEY_CLASSES_ROOT\Termica.Document\CLSID = {E2EEA110-5868-4855-9242-81CB1AFD17F3}
HKEY_CLASSES_ROOT\CLSID\{E2EEA110-5868-4855-9242-81CB1AFD17F3} = Test.Document
HKEY_CLASSES_ROOT\CLSID\{E2EEA110-5868-4855-9242-81CB1AFD17F3}\ProgId = Test.Document
HKEY_CLASSES_ROOT\CLSID\{E2EEA110-5868-4855-9242-81CB1AFD17F3}\LocalServer32 = Test.exe

Questo è un esempio di registrazione di un programma che funge anche da server per stampa ed apertura e gestisce i file con estensione .test, ovviamente è solo un esempio. Il numero che consente di collegare il tutto è il GUID che è assolutamente univoco. In particolare occorre dire che con questa registrazione è possibile  creare il documento associato con il click destro sul desktop e poi nuovo, dato che si tratta di un Server Ole che comunica con DDE.

Informazioni su Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.
Questa voce è stata pubblicata in Windows. Contrassegna il permalink.