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:

Altre informazioni sono disponibili negli argomenti seguenti:

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

 

Registrazione dell'applicazione

Funzionamento delle associazioni di file

Visualizzazione contenuto per tipo di file o tipo

Verifica dei tipi di file

Gestori di tipi di file

Identificatori di codice

Tipi percepiti

Matrici di associazione