Tipi di file
Questo argomento illustra come creare nuovi tipi di file e come associare l'app al tipo di file e ad altri tipi di file ben definiti. I file con estensione del nome file comune condiviso (.doc, .html e così via) sono dello stesso tipo. Ad esempio, se si crea un nuovo editor di testo, è possibile usare il tipo di file .txt esistente. In altri casi, potrebbe essere necessario creare un nuovo tipo di file.
Questo argomento è organizzato come segue:
- Tipi di file pubblici e privati
- Registrazione di un tipo di file
- Tipi di file che supportano metadati aperti
- Argomenti correlati
Altre informazioni sono disponibili negli argomenti seguenti:
- Come scegliere un'estensione del tipo di file
- Come definire gli attributi del tipo di file
- Come includere un'applicazione nella finestra di dialogo Apri con
- Come escludere un'applicazione dalla finestra di dialogo Apri con i tipi di file non associati
Tipi di file pubblici e privati
I tipi di file pubblici sono noti anche come tipi popolari o contenti perché le applicazioni concorrenti potrebbero essere associate a questi tipi di file. Le caratteristiche dei tipi di file pubblici includono:
- Vengono in genere definiti dagli organismi standard e/o vengono promossi dalla definizione delle organizzazioni come formati di interscambio.
- Spesso vengono scambiate tra computer e utenti per scopi diversi.
- Devono essere supportati in molte piattaforme diverse.
- È probabile che le applicazioni di più fornitori possano gestirle.
Alcuni esempi di tipi di file considerati pubblici sono i tipi di file di immagine .png, .gif, .jpg e .bmp e i tipi audio wav, .mp3 e au.
A differenza dei tipi di file pubblici, i tipi di file privati o proprietari in genere hanno un formato implementato e compreso da un'unica applicazione o fornitore. Di conseguenza, i tipi di file privati non sono in genere soggetti a conflitti tra applicazioni. Alcuni tipi di file possono iniziare come tipi di file privati, ma in seguito diventano tipi di file pubblici.
Nota
Windows non distingue tra tipi di file pubblici e privati. La distinzione è rilevante solo per prendere decisioni sulla scelta della registrazione del tipo di file.
Registrazione di un tipo di file
Per associare il tipo di file a un'applicazione esistente, individuare l'applicazione ProgID nel Registro di sistema. Per associare il tipo di file a una nuova applicazione, definire un ProgID per l'applicazione. Per informazioni sulla definizione di un nuovo ProgID, vedere Identificatori di codice.
Le sottochiavi dell'estensione del nome file hanno il formato generale seguente:ProgIDestensione=. Le sottochiave dell'estensione del nome file vengono archiviate nel sottoalbero HKEY_CLASSES_ROOT .
È importante includere il periodo iniziale (.) durante la creazione di sottochiave del tipo di file nel Registro di sistema. Ad esempio, se si vuole che un tipo di file con estensione myp breve e l'estensione lunga .myp-file venga aperto con un'applicazione denominata MyProgram, usare la sintassi seguente:
HKEY_CLASSES_ROOT
.myp
(Default) = ApplicationVendor.MyProgram
.myp-file
(Default) = ApplicationVendor.MyProgram
ApplicationVendor.MyProgram
(Default) = MyProgram Application
Come illustrato nell'esempio precedente, se si registra anche un'estensione di nome file breve (.myp), è necessario creare anche una sottochiave per l'estensione lunga (.myp-file). Per altre informazioni, vedere Gestori di tipi di file.
Impostazione di sottochiave facoltative e attributi di estensione del tipo di file
Le voci di estensione del tipo di file nel Registro di sistema dispongono di diverse sottochiave e attributi facoltativi.
Le voci di estensione del tipo di file usate dalle associazioni di file sono descritte nella tabella seguente. Tutti i valori sono del tipo di REG_SZ .
Voce del Registro di sistema | Azione |
---|---|
Predefinito | Impostare il valore predefinito della sottochiave dell'estensione su ProgID a cui è collegato. |
Tipo di contenuto | Impostare il valore Tipo di contenuto sul tipo di contenuto MIME del tipo di file. |
OpenWithList | Non usare. Questa sottochiave contiene una o più sottochiavi dell'applicazione per le applicazioni visualizzate nella finestra di dialogo Apri con la casella di dialogo per il tipo di file ed è destinata solo alle applicazioni .exe nei sistemi operativi precedenti a Windows XP. Usare invece OpenWithProgIds. |
OpenWithProgIds | Questa sottochiave contiene un elenco di ProgID alternativi per questo tipo di file. I programmi per questi progID vengono visualizzati nel menu Apri con e sono disponibili come app di Windows Store predefinite per il tipo di file. Ogni volta che un'applicazione accetta questo tipo di file modificando il valore predefinito, deve anche aggiungere una voce a questo elenco. |
PerceivedType | Impostare il valore PerceivedType sul valore PerceivedType a cui appartiene il file, se presente. Questa stringa non viene usata dalle versioni di Windows precedenti a Windows Vista. Per altre informazioni, vedere Tipi percepiti e registrazione dell'applicazione. |
La forma generale di una sottochiave dell'estensione del nome file è la seguente. Tutti i tipi di voce sono del tipo di REG_SZ .
HKEY_CLASSES_ROOT
.ext
(Default) = ProgID.ext.1
Content Type = MIME content type
PerceivedType = PerceivedType
OpenWithProgids
ProgID2.ext.1
ProgID3.ext.1
ProgID.ext.1
shellnew
Considerazioni importanti sui tipi di file includono:
Il sottoalbero HKEY_CLASSES_ROOT è una visualizzazione costituita dall'unione diclassi software HKEY_CURRENT_USERe classisoftware\\HKEY_LOCAL_MACHINE\\
In generale, HKEY_CLASSES_ROOT deve essere letto da ma non scritto in. Per altre informazioni, vedere l'articolo HKEY_CLASSES_ROOT .
Per registrare un tipo di file a livello globale in un determinato computer, creare una voce per il tipo di file nella sottochiave HKEY_LOCAL_MACHINE\classi software\.
Per rendere visibile una registrazione del tipo di file solo all'utente corrente, creare una voce per il tipo di file nella sottochiave HKEY_CURRENT_USER\classisoftware\.
Un'applicazione può fornire la propria implementazione di un verbo, ad esempio open o play, come illustrato nell'esempio del Registro di sistema seguente.
HKEY_CLASSES_ROOT Applications ApplicationName.exe shell verb
Le sottochiavi della sottochiave verbo includono la riga di comando e il metodo drop target: comando e DropTarget.
Quando si crea o si modifica un'associazione di file, è importante notificare al sistema che è stata apportata una modifica. Eseguire questa operazione chiamando SHChangeNotify e specificando l'evento SHCNE_ASSOCCHANGED . Se non si chiama SHChangeNotify, la modifica potrebbe non essere riconosciuta fino al riavvio del sistema.
Per recuperare le informazioni del Registro di sistema relative a un'associazione di file, usare l'interfaccia IQueryAssociations . Per uno scenario che illustra questa procedura, vedere Scenario di esempio di associazione file.
Nota
Per registrare e controllare il comportamento del sistema per conto delle applicazioni, vengono usate entrambe le sottochiavi del Registro di sistema e delle applicazioni. Per informazioni più dettagliate su questa funzionalità, vedere Registrazione dell'applicazione.
Eliminazione delle informazioni del Registro di sistema durante la disinstallazione
Quando si disinstalla un'applicazione, i ProgID e la maggior parte delle altre informazioni del Registro di sistema associate a tale applicazione devono essere eliminate come parte della disinstallazione. Tuttavia, le applicazioni che hanno acquisito la proprietà di un tipo di file (impostando il valore predefinito della sottochiave HKEY_CLASSES_ROOT.extension\ del tipo di file al ProgID dell'applicazione) non devono tentare di rimuovere tale valore durante la disinstallazione. L'eliminazione dei dati per il valore predefinito evita la difficoltà di determinare se un'altra applicazione ha acquisito la proprietà del tipo di file e sovrascrive il valore predefinito dopo l'installazione dell'applicazione originale. Windows rispetta il valore predefinito solo se il ProgID trovato esiste un ProgID registrato. Se progID non è registrato, viene ignorato.
Si noti che altre informazioni sulla proprietà del tipo di file vengono archiviate nel sottoalbero HKEY_CURRENT_USER e vengono usate solo quando l'applicazione a cui fa riferimento viene registrata. Pertanto, questi dati non devono essere rimossi durante la disinstallazione di un'applicazione.
Nell'esempio seguente viene illustrato lo stato del Registro di sistema prima della disinstallazione di un'applicazione:
HKEY_CLASSES_ROOT
.mp3
(Default) = YourProgID
YourProgID
shell
open
command
(Default) = yourapp.exe %1
Di seguito viene illustrato lo stato delle stesse voci del Registro di sistema dopo la disinstallazione dell'applicazione.
HKEY_CLASSES_ROOT
.mp3
(Default) = YourProgID
YourProgID subkey removed
Tipi di file che supportano metadati aperti
In Windows 7 e versioni successive i tipi di file seguenti supportano metadati aperti.
Tipo file | Estensioni del nome file |
---|---|
Documenti di Office 2007 | .docx, .xlsx, .pptx |
Documenti di Office 97-2003 | .doc, .xls, .ppt |
Ricerca salvata | .search-ms |
Formati basati su Windows Media (contenitore ASF)Advanced Streaming Format (ASF) | .wmv, .wma |
MP4 (gestore delle proprietà) | .mp4, .m4a, .m4v, .mp4v, .m4p, .m4b, .3gp, .3gpp, .3gp2, .mov |
Argomenti correlati