Newsgroup: it.comp.programmare.win32
Titolo: Associare un'estensione alla propria applicazione

Salve a tutti,
qual è il metodo standard per associare un' estensione, ad es. xyz, alla
propria applicazione?
Vorrei che l'applicazione venisse lanciata, facendo doppio-click su ogni
file con estenzione xyz.
Bisogna aggiungere delle chiavi nel registry (dove?), richiamare delle API
al primo avvio ecc.?
(Se è importante, utilizzo C++ Builder 5).
Grazie per le risposte.
--
Ciao, AntoGal
*************************************************
Gestione punti vendita (casse e pos NCR)
 
www.powerretail.it
-------------------------------------------------------------
per scaricare un gioco di DAMA ITALIANA
http://volftp.mondadori.com/italiani/galletta/
*************************************************
--
Ciao, AntoGal
*************************************************
Gestione punti vendita (casse e pos NCR)
 
www.powerretail.it
-------------------------------------------------------------
per scaricare un gioco di DAMA ITALIANA
http://volftp.mondadori.com/italiani/galletta/
*************************************************

 (Se è importante, utilizzo C++ Builder 5).
Non so se C++B offra scorciatoie di tuo gusto, comunque dal
punto di vista della Shell di Windows e` tutto fatto nella
registry.
Sotto HKEY_CLASSES_ROOT, alla chiave ".xyz", registra come
valore di default per la chiave la stringa che Gestione Risorse
mostrera` come "tipo" di quei file.  A tuo piacere, ad
esempio "XyzFile".
Sempre sotto HKEY_CLASSES_ROOT, alla chiave (ad esempio)
"XyzFile", fai una sottochiave "Shell" che contiene a sua
volta come sottochiavi i VERBI che vuoi che si applichino
da shell al tuo documento .xyz.  Il primo e` normalmente
"Open".
Ogni verbo avra` una sottochiave "Command" che come
valore di default porta la stringa di comando da usare
per eseguire quel verbo, ad esempio per ``aprire'' un
XyzFile.  Nota che l'uso di clic doppio (come tu vorresti)
piuttosto che semplice (come invece potra` benissimo
avere un tuo utente) e` in funzione dell'uso di "Active
Desktop" e relative preferenze, e la tua particolare
applicazione *NON* puo` specificare un comportamento
diverso da quello che ha invece scelto l'utente; cioe`,
se l'utente vuole usare i singoli clic per aprire i
documenti, tu non puoi dire che invece per i documenti
della TUA particolare applicazione il clic vuole doppio.
Tu puoi solo specificare quali verbi si applicano al
tuo tipo di documenti, non quali forme di UI l'utente
potra` usare per accedere ai verbi stessi.
Usa REGEDIT (o, su NT, REGEDT32) per esaminare la registry,
specificamente HKEY_CLASSES_ROOT, e vedrai tantissimi esempi
di queste registrazioni (e delle moltissime altre che la
Shell ti permette).
Alex

Ciao, se vai su
http://www.delphipages.com
e cerchi "milassociate" trovi un componentino per Delphi, con sorgenti, che
fa tutto quello che vuoi, il Builder puo' usare i componenti fatti per
Delphi vero?
Ciao, Davide.

 esempio "XyzFile".
[cut]
Grazie Alex, sei stato chiarissimo.
Nel frattempo mi sono letto la parte relativa nel Win32 SDK, ed ho capito
come funziona la faccenda.
P.S. Un grazie anche a Davide Piras, eventualmente esaminerò i sorgenti di
quel componente.
