Identificatori di codice

Shell usa una sottochiave del Registro di sistema (ProgID) per associare un tipo di file a un'applicazione e per controllare il comportamento dell'associazione. Le voci ProgID usate per le associazioni di file si trovano in HKEY_CLASSES_ROOT nel Registro di sistema.

Questo argomento è organizzato come segue:

Per altre informazioni, vedere Come registrare un tipo di file per una nuova applicazione

Elementi identificatore programmatici usati dalle associazioni di file

Il formato appropriato di un nome di chiave ProgID è [Fornitore o Applicazione]. [Componente]. [Versione], separati da periodi e senza spazi, come in Word.Document.6. La parte Versione è facoltativa ma fortemente consigliata. Per altre informazioni, vedere Uso degli identificatori programmatici con versione.

Una sottochiave ProgID deve includere gli elementi seguenti. Si noti che alcuni dati stringa in questa chiave richiedono una formattazione specifica.

Elemento Descrizione
(Impostazione predefinita) Impostare la voce predefinita della sottochiave ProgID su un nome descrittivo per tale ProgID, adatto per visualizzare l'utente. L'uso di questa voce per contenere il nome descrittivo è deprecato dalla voce FriendlyTypeName nei sistemi che eseguono Windows 2000 o versioni successive. Tuttavia, è consigliabile impostare questo valore per la compatibilità con le versioni precedenti.
AllowSilentDefaultTakeOver (introdotto in Windows 8) Impostare questa voce facoltativa per segnalare che Windows deve ignorare questo ProgID quando si determina un gestore predefinito per un tipo di file pubblico. Indipendentemente dal fatto che questo valore sia impostato, progID continua a essere visualizzato nel menu di scelta rapida OpenWith e nella finestra di dialogo. Si tratta di un valore REG_NONE.
AppUserModelID (introdotto in Windows 7) Impostare questa voce facoltativa sull'ID modello utente applicazione esplicito dell'applicazione (AppUserModelID) se l'applicazione usa un AppUserModelID esplicito e usa automaticamente gli elenchi di jump listrecenti o frequenti del sistema o fornisce un jump list personalizzato. Se un'applicazione usa un AppUserModelID esplicito e non imposta questo valore, gli elementi non verranno visualizzati negli elenchi di salto dell'applicazione. Si tratta di una stringa REG_SZ. Per altre informazioni, vedere ID modello utente applicazione (AppUserModelIDs).
EditFlags Impostare questa voce facoltativa usando i flag dall'enumerazione FILETYPEATTRIBUTEFLAGS . La voce EditFlags controlla alcuni aspetti della gestione dei tipi di file collegati a questo ProgID. È anche possibile usare la voce EditFlags per limitare la quantità di modifiche che l'utente può modificare determinati aspetti di questi tipi di file usando il foglio delle proprietà di un file. I valori FILETYPEATTRIBUTEFLAGS usati per EditFlags sono valori binari progettati in modo da poter combinare più attributi in un singolo valore in un'operazione OR bit per bit. Si tratta di un valore REG_DWORD o REG_BINARY.
FriendlyTypeName Impostare questa voce su un nome descrittivo per ProgID, adatto per visualizzare l'utente. Per coerenza, questa stringa deve contenere gli stessi dati della voce Predefinita per questa chiave ProgID. Questa voce può essere una stringa REG_SZ o REG_EXPAND_SZ, ma deve essere formattata come stringa indiretta (un nome file completo e un valore di risorsa preceduto dal simbolo @), ad esempio @%SystemRoot%\shell32.dll,-154.
InfoTip Impostare questa voce su un breve messaggio della Guida visualizzato da Shell per questo ProgID. La voce InfoTip viene visualizzata in una finestra di dialogo su un mouse. Questo valore può essere una stringa REG_SZ o REG_EXPAND_SZ, ma, ad esempio FriendlyTypeName, deve essere formattata come stringa indiretta.
CurVer Impostare la voce (Impostazione predefinita) di questa sottochiave sulla versione più recente di questo ProgID.
[! Nota]
A meno che non siano presenti versioni dell'applicazione side-by-side, ovvero più versioni installate nello stesso sistema, è consigliabile evitare di usare CurVer.

DefaultIcon. Impostare la voce (Impostazione predefinita) di questa sottochiave sull'icona predefinita che si desidera visualizzare per i tipi di file associati a questo ProgID. Questo valore può essere una stringa REG_SZ o REG_EXPAND_SZ, ma deve essere fornita come nome di file completo con il relativo valore di risorsa operatore, ad esempio %SystemRoot%\shell32.dll,-154.

 

L'esempio di chiave del Registro di sistema seguente illustra un nodo della chiave ProgID dell'associazione di file:

HKEY_CLASSES_ROOT
   Vendor.App.1
      (Default) = My Friendly Name
      AllowSilentDefaultTakeOver
      AppUserModelID = Vendor.Application
      EditFlags = 0x00000001
      FriendlyTypeName = @%SystemRoot%\shell32.dll,-154
      InfoTip = @%SystemRoot%\shell32.dll,-54
      CurVer
         (Default) = Vendor.App.1
      DefaultIcon
         (Default) = %SystemRoot%\shell32.dll,-1

Uso degli identificatori a livello di codice con versione

ProgID con versione è una la cui versione è indicata nel nome. Questa operazione viene in genere eseguita aggiungendo un punto e il numero di versione al nome. Ad esempio:

  • Word.Document.6
  • Word.Document.8

Questi sono ProgID con versioni 6 e 8 rispettivamente. Se si dispone di un'applicazione side-by-side, ovvero una che supporta più versioni dell'applicazione installate contemporaneamente, usare CurVer e Version Independent ProgIDs. In caso contrario, curVer e i progID indipendenti della versione devono essere evitati perché causano un'inefficienza.

Come registrare un tipo di file per una nuova applicazione

Registrazione dell'applicazione

Tipi di file

Funzionamento delle associazioni di file

Visualizzazione contenuto per tipo di file o tipo

Verifica dei tipi di file

Gestori di tipi di file

Tipi percepiti

Matrici di associazione