2009-11-27 5 views
6

Desidero poter registrare la mia estensione di file dal mio programma. (Associare il tipo di file al mio programma)Come creare una associazione di file che funzioni in XP, Vista e Windows 7

Ci sono molti articoli su questo, ma la tecnica discussa (giocherellare con il registro) è appropriata solo per Windows XP per quanto vedo.

Qual è il modo migliore per associare un tipo di file a un programma in modo che funzioni anche in XP, Vista e Windows 7? (Ci sono esempi di codice funzionanti?)

ClickOnce sarebbe un'opzione, ma questo registra solo il tipo di file durante l'installazione, mentre voglio essere in grado di registrare i tipi di file in fase di esecuzione.

+0

Hai provato questo metodo su Vista e Win 7? Sarei sorpreso se non funzionasse. – Lazarus

+0

Possibile duplicato: http://stackoverflow.com/questions/1082889/ –

risposta

6

In Windows Vista (e presumibilmente Windows 7) le associazioni di file sono cambiate: se un file è già associato a un programma e lo si riassocia, il doppio file non lo apre con il nuovo programma. Invece, l'associazione viene aggiunta all'elenco sotto "Apri con". Vedi anche questa piccola discussione su registering your application for associations in Vista (Archivio Web, il collegamento originale è andato).

Non sono sicuro se sia opportuno cambiarlo. Tuttavia, this post discusses le varie chiavi nel registro che è possibile utilizzare. Ma ancora meglio, this codeproject article ti dà il codice pronto all'uso per associare un file in fase di runtime. Non so se funziona in modo diverso su Vista + però.

0

C'erano solo un paio di modifiche da XP a Vista/7 per quanto riguarda l'associazione di file, quindi la maggior parte degli esempi per XP dovrebbe ancora funzionare. L'unica cosa di cui dovresti preoccuparti è l'impostazione "Programmi predefiniti" in Vista/7 che non esiste in XP e sovrascrive la registrazione di altre associazioni di file.

1

Se è necessario aggiungere un'associazione di file in uno scenario non amministratore, è possibile utilizzare associazioni di file specifiche dell'utente che sono descritte in this article. Controlla "Associazioni file specifiche dell'utente".