Programmi predefiniti

Usare Programmi predefiniti per impostare l'esperienza utente predefinita. Gli utenti possono accedere a Programmi predefiniti da Pannello di controllo o direttamente dal menu Start. Impostare lo strumento Impostazioni predefinite per l'accesso al programma e il computer ( SPAD), l'esperienza predefinita principale per gli utenti in Windows XP, è ora una parte di Programmi predefiniti.

Importante

Questo argomento non si applica per Windows 10. Il modo in cui le associazioni di file predefinite funzionano in Windows 10. Per altre informazioni, vedere la sezione Modifiche a come Windows 10 gestisce le app predefinite in questo post.

 

Quando un utente imposta le impostazioni predefinite del programma utilizzando Programmi predefiniti, l'impostazione predefinita si applica solo a tale utente e non ad altri utenti che potrebbero usare lo stesso computer. Programmi predefiniti fornisce un set di API (deprecate in Windows 8) che consentono ai fornitori di software indipendenti (ISV) di includere i programmi o le applicazioni nel sistema predefinito. Il set di API consente anche agli ISV di gestire meglio lo stato come impostazione predefinita.

Questo argomento è organizzato come segue:

I programmi predefiniti sono progettati principalmente per le applicazioni che usano tipi di file standard, ad esempio .mp3 o .jpg file o protocolli standard, ad esempio HTTP o mailto. Le applicazioni che usano i propri protocolli proprietari e le associazioni di file in genere non usano la funzionalità Programmi predefiniti .

Dopo aver registrato un'applicazione per la funzionalità Programmi predefiniti , le opzioni e le funzionalità seguenti sono disponibili usando il set di API:

  • Ripristinare tutte le impostazioni predefinite registrate per un'applicazione. Deprecato per Windows 8.
  • Ripristinare un singolo valore predefinito registrato per un'applicazione. Deprecato per Windows 8.
  • Eseguire una query per il proprietario di un valore predefinito specifico in una singola chiamata anziché eseguire ricerche nel Registro di sistema. È possibile eseguire una query per l'impostazione predefinita di un verbo canonico di associazione, protocollo o menu Start .
  • Avviare un'interfaccia utente per un'applicazione specifica in cui un utente può impostare singole impostazioni predefinite.
  • Rimuovere tutte le associazioni per utente.

Programmi predefiniti fornisce anche un'interfaccia utente che consente di registrare un'applicazione per fornire informazioni aggiuntive all'utente. Ad esempio, un'applicazione con firma digitale può includere un URL alla home page del produttore.

L'uso del set di API associato consente a un'applicazione di funzionare correttamente con la funzionalità controllo dell'account utente introdotta in Windows Vista. In Controllo dell'account utente un amministratore viene visualizzato nel sistema come utente standard, in modo che l'amministratore non possa in genere scrivere nel sottoalbero HKEY_LOCAL_MACHINE . Questa restrizione è una funzionalità di sicurezza che impedisce a un processo di agire come amministratore senza conoscere l'amministratore.

L'installazione di un programma da parte di un utente viene in genere eseguita come processo con privilegi elevati. Tuttavia, i tentativi da parte di un'applicazione di modificare i comportamenti di associazione predefiniti a livello di computer dopo l'installazione avranno esito negativo. Al contrario, le impostazioni predefinite devono essere registrate a livello di utente, impedendo a più utenti di sovrascrivere le impostazioni predefinite dell'altro.

La struttura gerarchica del Registro di sistema per le associazioni di file e protocolli ha la precedenza sulle impostazioni predefinite per utente rispetto alle impostazioni predefinite a livello di computer. Alcune applicazioni includono punti nel codice che elevano temporaneamente i propri diritti quando dichiarano le impostazioni predefinite registrate in HKEY_LOCAL_MACHINE. Queste applicazioni potrebbero riscontrare risultati imprevisti se un'altra applicazione è già registrata come impostazione predefinita per utente. L'uso di Programmi predefiniti impedisce questa ambiguità e garantisce i risultati previsti a livello di utente.

Registrazione di un'applicazione per l'uso con programmi predefiniti

Questa sezione illustra le sottochiavi e i valori del Registro di sistema necessari per registrare un'applicazione con Programmi predefiniti. Include un esempio completo.

Questa sezione contiene i seguenti argomenti:

I programmi predefiniti richiedono che ogni applicazione registri in modo esplicito le associazioni di file, le associazioni MIME e i protocolli per i quali l'applicazione deve essere elencata come impostazione predefinita possibile. Le associazioni vengono registrate usando gli elementi del Registro di sistema seguenti, illustrati in dettaglio più avanti in questo argomento in Sottochiave di registrazione e descrizioni dei valori:

HKEY_LOCAL_MACHINE
   %ApplicationCapabilityPath%
      ApplicationDescription
      ApplicationName
      Hidden
      FileAssociations
         .file-extension1
         .file-extension2
         ...
         .file-extensionX
      MIMEAssociations
         MIME
      Startmenu
         StartmenuInternet
         Mail
      UrlAssociations
         url-scheme
   SOFTWARE
      RegisteredApplications
         Unique Application Name = %ApplicationCapabilityPath%

L'esempio seguente mostra le voci del Registro di sistema per un browser Contoso fittizio denominato WebBrowser:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Contoso
         WebBrowser
            Capabilities
               ApplicationDescription = This award-winning Contoso browser is better than ever. Search the Internet and find exactly what you want in just seconds. Use integrated tabs and new phishing detectors to enhance your Internet experience.
               FileAssociations
                  .htm = ContosoHTML
                  .html = ContosoHTML
                  .shtml = ContosoHTML
                  .xht = ContosoHTML
                  .xhtml = ContosoHTML
               Startmenu
                  StartmenuInternet = Contoso.exe
               UrlAssociations
                  http = Contoso.Url.Http
                  https = Contoso.Url.Https
                  ftp = Contoso.Url.ftp
   SOFTWARE
      RegisteredApplications
         Contoso.WebBrowser.1.06 = SOFTWARE\Contoso\WebBrowser\Capabilities

Progid

Un'applicazione deve fornire un ProgID specifico. Assicurarsi di includere tutte le informazioni in genere scritte nella sottochiave predefinita generica per l'estensione. Ad esempio, il lettore multimediale Litware fittizio fornisce le classiSOFTWARE\\HKEY_LOCAL_MACHINE\ specifiche dell'applicazioneLitwarePlayer11.AssocFile.MP3 sottochiave. Tale sottochiave include tutte le informazioni nella sottochiave predefinita generica HKEY_LOCAL_MACHINE\classi\SOFTWARE\.mp3 più eventuali informazioni aggiuntive che l'applicazione deve registrare. Ciò garantisce che se l'utente ripristina l'associazione .mp3 al lettore Litware, le informazioni del lettore Litware sono intatte e non sono state sovrascritte da un'altra applicazione. La sovrascrittura potrebbe verificarsi se la sottochiave predefinita è l'unica origine di tali informazioni.

Quando si esegue il mapping di un ProgID a un'estensione o a un protocollo di file, un'applicazione può eseguire il mapping uno-a-uno o uno-a-molti. Nell'esempio Contoso ContosoHTML punta a un singolo ProgID che fornisce informazioni sulla shellexecute per le estensioni .htm, .html, shtml, xht e xhtml. Poiché esiste un ProgID diverso per ogni protocollo, quando si usano protocolli si abilita ogni protocollo per avere una propria stringa di esecuzione.

Quando il tipo MIME può essere visualizzato inline in un browser, il ProgID per il tipo MIME deve contenere la sottochiave CLSID che usa l'identificatore di classe (CLSID) dell'applicazione corrispondente. Questo CLSID viene usato in una ricerca rispetto al CLSID nel database MIME archiviato in HKEY_LOCAL_MACHINE\tipo di contenuto MIMEdel database\MIME\classi\SOFTWARE\. Se il tipo MIME non deve essere visualizzato inline in un browser, questo passaggio può essere omesso.

Sottochiave di registrazione e descrizioni dei valori

Questa sezione descrive le singole sottochiavi e i valori del Registro di sistema usati per registrare un'applicazione con programmi predefiniti, come illustrato in precedenza.

Funzionalità

La sottochiave Capabilities contiene tutte le informazioni sui programmi predefiniti per un'applicazione specifica. Il segnaposto %ApplicationCapabilityPath% fa riferimento al percorso del Registro di sistema da HKEY_CURRENT_USER o HKEY_LOCAL_MACHINE alla sottochiave Capabilities dell'applicazione. Questa sottochiave contiene i valori significativi illustrati nella tabella seguente.

Valore Type Significato
ApplicationDescription REG_SZ o REG_EXPAND_SZ Obbligatorio. Per consentire a un utente di scegliere un'assegnazione predefinita informata, un'applicazione deve fornire una stringa che descrive le funzionalità dell'applicazione. Anche se l'esempio di Contoso precedente assegna la descrizione direttamente al valore ApplicationDescription, le applicazioni in genere forniscono la descrizione come risorsa incorporata in un file .dll per facilitare la localizzazione. Se ApplicationDescription non viene fornito, l'applicazione non viene visualizzata negli elenchi di interfaccia utente dei potenziali programmi predefiniti.
ApplicationName REG_SZ o REG_EXPAND_SZ Facoltativa. Nome in base al quale il programma viene visualizzato nell'interfaccia utente programmi predefiniti. Se questi dati non vengono forniti dall'applicazione, il nome del programma eseguibile associato al primo ProgID registrato per l'applicazione viene usato nell'interfaccia utente. ApplicationName deve sempre corrispondere al nome registrato in RegisteredApplications. È possibile usare ApplicationName se si desiderano tipi di applicazione diversi, ad esempio un browser e un client di posta elettronica, per puntare allo stesso file eseguibile mentre vengono visualizzati come nomi diversi.
Nascosto REG_DWORD Facoltativa. Impostare questo valore su 1 per eliminare l'applicazione dall'elenco dei programmi nella finestra di dialogo Imposta programmi predefiniti . Se questo valore è 0 o non è presente, l'applicazione viene visualizzata normalmente nell'elenco.

 

FileAssociations

La sottochiave FileAssociations contiene associazioni di file specifiche richieste dall'applicazione. Queste attestazioni vengono archiviate come valori, con un valore per ogni estensione. Le associazioni puntano a un ProgID specifico dell'applicazione anziché a un ProgID generico. Tuttavia, non è necessario che tutte le associazioni puntino allo stesso ProgID.

MIMEAssociations

La sottochiave MIMEAssociations contiene tipi MIME specifici richiesti dall'applicazione. Queste attestazioni vengono archiviate come valori, con un valore per ogni tipo MIME. Il nome del valore per ogni tipo MIME deve corrispondere esattamente al nome MIME archiviato nel database MIME. Al valore deve essere assegnato anche un ProgID specifico dell'applicazione che contiene il CLSID corrispondente dell'applicazione.

Startmenu

La sottochiave Startmenu è associata alle voci Internet e posta elettronica assegnabili dall'utente nel menu Start . Un'applicazione deve essere registrata separatamente come contendente per tali voci. Per altre informazioni, vedere Registrazione di programmi con tipi client.

Nota

A partire da Windows 7, nel menu Start non sono più presenti voci di posta elettronica e Internet. I dati del Registro di sistema associati alla voce di posta elettronica vengono ancora utilizzati per il client MAPI predefinito, ma i dati del Registro di sistema associati alla voce Internet non vengono utilizzati affatto da Windows.

 

Associando la registrazione del menu Start di un'applicazione alla relativa registrazione programmi predefiniti , l'applicazione viene visualizzata come potenziale impostazione predefinita nell'interfaccia utente Imposta associazioni . Se l'utente ha scelto l'applicazione come predefinita e quindi sceglie di ripristinare tutte le impostazioni predefinite dell'applicazione in un secondo momento, l'applicazione viene ripristinata nella posizione del menu Start per tale utente. Per altre informazioni e un'illustrazione, vedere la sezione Relativa all'interfaccia utente dei programmi predefiniti più avanti in questo argomento.

La sottochiave Startmenu ha due voci: StartMenuInternet e Mail, che corrispondono alle posizioni canoniche di Internet e Posta elettronica nel menu Start . Un'applicazione assegna a StartMenuInternet o Mail un valore uguale al nome della sottochiave registrata dell'applicazione in HKEY_LOCAL_MACHINE\SOFTWARE\ClientsStartMenuInternet o HKEY_LOCAL_MACHINE\SOFTWARE\Clients\\Mail (come descritto in Registrazione di programmi con tipi client).

Nel caso della posizione canonica di posta elettronica nel menu Start , rappresenta il client MAPI predefinito ed è quindi in grado di modificare le chiamate MAPI. In Windows 7, mentre non esiste più una posizione canonica di posta elettronica nel menu Start , questa sottochiave continua a essere usata per il client MAPI predefinito. Un'applicazione che richiede il valore predefinito di posta elettronica deve essere registrata come gestore MAPI nella sottochiave seguente:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            CanonicalName

Se un client di posta elettronica non è in grado di supportare MAPI ma vuole comunque sostenere la posizione canonica del menu Start, può registrare una riga di comando nella sottochiave seguente:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            CanonicalName
               shell
                  open
                     command

Inoltre, in HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\CanonicalName aggiungere un valore predefinito con il nome dell'applicazione.

Queste voci consentono l'avvio dell'applicazione dalla posizione di posta elettronica del menu Start. Si noti che le chiamate MAPI vengono comunque effettuate all'applicazione e passano al gestore MAPI precedente oppure non riescono se non è stato impostato alcun gestore MAPI. Per altre informazioni, vedere Registrazione di programmi con tipi client.

UrlAssociations

La sottochiave UrlAssociations contiene i protocolli URL specifici richiesti dall'applicazione. Queste attestazioni vengono archiviate come valori, con un valore per ogni protocollo. Ogni protocollo deve puntare a un ProgID specifico dell'applicazione anziché a un ProgID generico. Come indicato nell'esempio contoso, è possibile usare un ProgID diverso per ogni protocollo per ogni stringa di esecuzione.

RegisteredApplications

La sottochiave completa per RegisteredApplications è:

HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications

Questa sottochiave fornisce al sistema operativo il percorso del Registro di sistema delle informazioni sui programmi predefiniti per l'applicazione. Il percorso viene archiviato come valore il cui nome deve corrispondere al nome dell'applicazione.

Esempio di registrazione completa

Questo esempio mostra le sottochiavi e i valori usati per registrare il lettore multimediale Litware fittizio. L'esempio include le voci ProgID per mostrare come si adattano tutti.

La sottochiave seguente mostra il ProgID specifico dell'applicazione per il tipo MIME .mp3:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         LitwarePlayer11.MIME.MP3
            CLSID
               (Default) = {CD3AFA76-B84F-48F0-9393-7EDC34128127}

Di seguito è riportato il ProgID specifico dell'applicazione che associa il programma Litware all'estensione del nome file .mp3.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         LitwarePlayer11.AssocFile.MP3
            (Default) = MP3 Format Sound
            DefaultIcon
               (Default) = %ProgramFiles%\Litware\litware.dll, 0
            shell
               open
                  command
                     (Default) = %ProgramFiles%\Litware\litware.exe

Le voci successive mostrano il ProgID combinato sia per il tipo MIME .mpeg che per l'estensione del nome file.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         LitwarePlayer11.AssocFile.MPG
            (Default) = Movie Clip
            CLSID
               (Default) = {D92B76F4-CFA0-4b93-866B-7730FEB4CD7B}
            DefaultIcon
               (Default) = %ProgramFiles%\Litware\litware.dll, 0
            shell
               open
                  command
                     (Default) = %ProgramFiles%\Litware\litware.exe

Le voci successive registrano il programma Litware in Programmi predefiniti e usano i ProgID registrati in precedenza

HKEY_LOCAL_MACHINE
   SOFTWARE
      Litware
         LitwarePlayer
            Capabilities
               ApplicationDescription = The new Litware Media Player breaks new ground in exciting fictional programs.
               FileAssociations
                  .mp3 = LitwarePlayer11.AssocFile.MP3
                  .mpeg = LitwarePlayer11.AssocFile.MPG
               MimeAssociations
                  audio/mp3 = LitwarePlayer11.MIME.MP3
                  audio/mpeg = LitwarePlayer11.AssocFile.MPG

Infine, in questo esempio viene registrato il percorso della registrazione dei programmi predefiniti litware.

HKEY_LOCAL_MACHINE
   SOFTWARE
      RegisteredApplications
         Litware Player = Software\Litware\LitwarePlayer\Capabilities

Diventare il browser predefinito

La registrazione del browser deve seguire le procedure consigliate descritte in questo argomento. Quando il browser è installato, Windows può presentare all'utente una notifica di sistema tramite cui l'utente può selezionare il browser come impostazione predefinita del sistema. Questa notifica viene visualizzata quando vengono soddisfatte queste condizioni:

  • Il programma di installazione del browser chiama SHChangeNotify con il flag SHCNE_ASSOCCHANGED per indicare a Windows che sono stati registrati nuovi gestori di protocollo.
  • Windows rileva che una o più nuove applicazioni sono state registrate per gestire i protocolli http:// e https:// e che l'utente non è ancora stato informato. In altre parole, nessuna delle seguenti informazioni è stata mostrata all'utente: una notifica di sistema che annuncia l'applicazione, un riquadro a comparsa OpenWith che contiene l'applicazione o la pagina Imposta impostazioni predefinite utente (SUD) Pannello di controllo per l'applicazione.

Nell'esempio seguente viene illustrato il codice di registrazione consigliato che il programma di installazione del browser deve essere eseguito dopo la scrittura delle chiavi del Registro di sistema.

SHChangeNotify notifica innanzitutto al sistema che sono disponibili nuove scelte di associazione. La chiamata SHChangeNotify è necessaria per garantire il corretto funzionamento delle impostazioni predefinite del sistema.

Un'istruzione Sleep consente quindi ai processi di sistema di gestire la notifica.

void NotifySystemOfNewRegistration()
{
    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_DWORD | SHCNF_FLUSH, nullptr, nullptr);
    Sleep(1000);
}

Se l'utente ignora o ignora la notifica o il riquadro a comparsa risultante senza effettuare una nuova selezione predefinita del browser, il browser predefinito rimane invariato. Si noti che l'utente può anche modificare il browser predefinito in qualsiasi momento tramite altri meccanismi, tra cui Imposta impostazioni predefinite utente nel Pannello di controllo.

Interfaccia utente programmi predefinita

Le illustrazioni di questa sezione mostrano l'interfaccia utente per i programmi predefiniti , come illustrato dall'utente.

Nella figura seguente viene illustrata la finestra Principale Programmi predefiniti in Pannello di controllo.

screenshot della pagina di immissione dei programmi predefinita

Quando un utente sceglie l'opzione Imposta i programmi predefiniti , viene visualizzata la finestra seguente. Gli utenti possono usare questa pagina per assegnare un programma predefinito per tutti i tipi di file e i protocolli per cui il programma è un possibile valore predefinito. Come illustrato nella figura seguente, tutti i programmi registrati e l'icona del programma vengono visualizzati nella casella Programmi a sinistra.

screenshot della pagina imposta i programmi predefiniti

Quando l'utente seleziona un programma dall'elenco, vengono visualizzati l'icona del programma e il provider. Se l'URL è incorporato nel certificato firmato digitalmente del programma, il programma può anche visualizzare un URL. I programmi non firmati digitalmente non possono visualizzare un URL.

Viene visualizzato anche il testo descrittivo fornito dal programma durante la registrazione. Questo testo è obbligatorio. Sotto la casella di descrizione è indicato il numero predefinito di cui il programma è attualmente assegnato fuori dal numero completo registrato per la gestione.

Per assegnare o ripristinare un programma come predefinito per tutti i file e i protocolli per cui è registrato, l'utente fa clic sull'opzione Imposta questo programma come predefinito .

Per assegnare singoli tipi di file e protocolli a un programma, l'utente fa clic sull'opzione Scegli le impostazioni predefinite per questo programma , che visualizza un set di associazioni per una finestra del programma come quella illustrata di seguito.

Nota

È consigliabile chiamare le associazioni Set per un programma usando IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI.

 

screenshot degli associmenti impostati per una pagina del programma

Procedure consigliate per l'uso di programmi predefiniti

In questa sezione vengono fornite le linee guida consigliate per l'uso dei programmi predefiniti quando si registrano le applicazioni. Offre anche suggerimenti di progettazione per la creazione di un'applicazione che fornisce agli utenti la funzionalità Programmi predefiniti ottimale.

Durante l'installazione

Oltre alle procedure di installazione normalmente praticate in Windows XP, un'applicazione basata su Windows Vista o versioni successive deve registrarsi con la funzionalità Programmi predefiniti per sfruttare le funzionalità.

Eseguire la sequenza di passaggi seguente durante l'installazione. I passaggi da 1 a 3 corrispondono ai passaggi usati in Windows XP; passaggio 4 è stato nuovo in Windows Vista.

  1. Installare i file binari necessari.
  2. Scrivere i ProgID in HKEY_LOCAL_MACHINE. Si noti che le applicazioni devono creare progID specifiche dell'applicazione per le associazioni.
  3. Registrare l'applicazione con programmi predefiniti come illustrato in precedenza in Registrazione di un'applicazione per l'uso con programmi predefiniti.

Dopo l'installazione

In questa sezione viene illustrato come il prompt dell'applicazione deve prima presentare le opzioni predefinite a ogni utente. Illustra anche come un'applicazione può monitorare lo stato come impostazione predefinita per le associazioni e i protocolli possibili.

Esperienze di prima esecuzione

Quando l'applicazione viene eseguita da un utente per la prima volta, è consigliabile che l'applicazione visualizzi l'interfaccia utente per l'utente che in genere include queste due opzioni:

  • Accettare le impostazioni predefinite dell'applicazione. Questa opzione è selezionata per impostazione predefinita.
  • Personalizzare le impostazioni predefinite dell'applicazione.

Prima di Windows 8, se l'utente accetta le impostazioni predefinite, l'applicazione chiama IApplicationAssociationRegistration::SetAppAsDefaultAll, che converte tutte le associazioni a livello di computer dichiarate durante l'installazione in impostazioni per utente per tale utente.

Se l'utente decide di personalizzare le impostazioni, l'applicazione chiama IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI per visualizzare l'interfaccia utente dell'associazione file. La figura seguente mostra questa finestra per il lettore multimediale Litware fittizio.

screenshot delle associazioni di set per una pagina del programma per litware

La finestra di associazione file mostra le impostazioni predefinite registrate dall'applicazione e mostra anche l'impostazione predefinita corrente per altre estensioni e protocolli. Al termine della personalizzazione delle impostazioni predefinite, l'utente fa clic sul pulsante Salva per eseguire il commit delle modifiche. Se l'utente fa clic su Annulla, la finestra viene chiusa senza salvare le modifiche.

È consigliabile usare questa interfaccia utente per le applicazioni invece di crearne di personalizzate. In questo modo si salvano le risorse necessarie in precedenza per sviluppare l'interfaccia utente dell'associazione file. Si garantisce anche che le associazioni vengano salvate correttamente.

Impostare un'applicazione per verificare se è l'impostazione predefinita

Nota

Questa operazione non è più supportata a partire da Windows 8.

 

Le applicazioni controllano in genere se sono impostate come predefinite quando vengono eseguite. Impostare le applicazioni per eseguire questa verifica chiamando IApplicationAssociationRegistration::QueryAppIsDefault o IApplicationAssociationRegistration::QueryAppIsDefaultAll.

Se l'applicazione determina che non è l'impostazione predefinita, può presentare l'interfaccia utente che chiede all'utente se accettare la situazione corrente o impostare l'applicazione come predefinita. Includi sempre una casella di controllo in questa interfaccia utente selezionata per impostazione predefinita e che presenta l'opzione che non deve essere più richiesta.

Nota

La scelta predefinita deve essere guidata dall'utente. Un'applicazione non deve mai recuperare un valore predefinito senza chiedere all'utente.

 

La figura seguente mostra una finestra di dialogo di esempio.

screenshot di una finestra di dialogo di esempio

Risorse aggiuntive

Procedure consigliate per le associazioni di file

Scenario di esempio di associazione file

Linee guida per la gestione delle applicazioni predefinite in Windows Vista e versioni successive

Impostare l'accesso al programma e le impostazioni predefinite del computer (SPAD)