Condividi tramite


Identificatori programmatici

Shell usa una sottochiave del Registro di sistema progID (Programmatic Identifier) per associare un tipo di file a un'applicazione e 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, leggere Come registrare un tipo di file per una nuova applicazione

Elementi identificatore programmatico usati dalle associazioni di file

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

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 la visualizzazione all'utente. L'uso di questa voce per contenere il nome descrittivo è deprecato dalla voce FriendlyTypeName nei sistemi che eseguono Windows 2000 o versione successiva. Tuttavia, è necessario 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 e nella finestra di dialogo OpenWith. 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 l'recente o frequenti jump list o fornisce un jump list personalizzato. Se un'applicazione usa un AppUserModelID esplicito e non imposta questo valore, gli elementi non verranno visualizzati negli jump list 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 dell'enumerazione FILETYPEATTRIBUTEFLAGS. La voce EditFlags controlla alcuni aspetti della gestione della shell dei tipi di file collegati a questo ProgID. È anche possibile utilizzare la voce EditFlags per limitare la quantità di modifiche che l'utente può modificare determinati aspetti di questi tipi di file usando la finestra 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 la visualizzazione all'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 di 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 dalla shell per questo ProgID. La voce InfoTip viene visualizzata in una finestra di dialogo con il puntatore del mouse. Questo valore può essere una stringa REG_SZ o REG_EXPAND_SZ, ma, come 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 di applicazioni 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 della risorsa operatore, ad esempio %SystemRoot%\shell32.dll,-154.

 

L'esempio di chiave del Registro di sistema seguente illustra un nodo della chiave ProgID di associazione 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 di identificatori programmatici con controllo delle versioni

Un 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. Per esempio:

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

Si tratta di ProgID con versione, rispettivamente con le versioni 6 e 8. Se si dispone di un'applicazione side-by-side, ovvero una che supporta più versioni dell'applicazione installate contemporaneamente, usare CurVer e Version Independent ProgID. In caso contrario, è consigliabile evitare i ProgID indipendenti dalla versione e CurVer perché causeranno 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

di verifica del tipo di file

gestori di tipi di file

tipi percepiti

delle matrici di associazioni