Condividi tramite


Registrazione di programmi con tipi di client

Questo argomento illustra come registrare un programma nel Registro di sistema di Windows come uno dei tipi di client seguenti: browser, posta elettronica, riproduzione multimediale, messaggistica istantanea o macchina virtuale per Java.

Nota

Queste informazioni si applicano ai sistemi operativi seguenti:

  • Windows 2000 Service Pack 3 (SP3)
  • Windows 2000 Service Pack 4 (SP4)
  • Windows XP Service Pack 1 (SP1)
  • Windows XP Service Pack 2 (SP2)
  • Windows XP Service Pack 3 (SP3)
  • Windows Server 2003
  • Windows Vista
  • Windows Vista Service Pack 1 (SP1)
  • Windows 8

 

Questo argomento include le sezioni seguenti.

Questo argomento estende la documentazione esistente sulla registrazione di un programma come tipo di client specifico. Per i collegamenti a tale documentazione, vedere la sezione Argomenti correlati.

Elementi di registrazione comuni per tutti i tipi di client

Quando si registra un programma come tipo di client, la maggior parte delle voci del Registro di sistema è la stessa indipendentemente dal tipo di client. Alcune voci del Registro di sistema, tuttavia, sono specifiche del tipo di client e queste sono indicate nella sezione Elementi di registrazione per tipi client specifici.

In questa sezione vengono illustrati gli argomenti seguenti:

Nota

I nomi di sottochiave specificati in corsivo in questo argomento sono segnaposto per i nomi di sottochiave definiti dall'utente o un set di valori possibili. Gli esempi completi con nomi di esempio sul posto sono disponibili nella sezione Registrazioni complete di esempio.

 

Tutte le informazioni di registrazione del tipo client vengono archiviate nella sottochiave seguente:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName

ClientTypeName è uno dei nomi di sottochiave seguenti:

  • StartMenuInternet (per browser)
  • Posta (per posta elettronica)
  • Supporti (per la riproduzione multimediale)
  • Messaggistica istantanea (per la messaggistica istantanea)
  • JavaVM (per la macchina virtuale per Java)

In questo argomento si noteranno riferimenti a un programma informatico fittizio denominato "Lit View" di Litware Inc., con un file eseguibile denominato Litview.exe. Questo programma ipotetico viene usato in modo intercambiabile come messaggistica istantanea, un browser o un altro tipo di programma client in base alle esigenze per scopi illustrativi.

Selezione di un nome canonico

Il fornitore deve scegliere un nome canonico per il programma. Il nome canonico non viene mai visualizzato all'utente, quindi non deve essere localizzato. L'unico scopo è fornire una stringa univoca che può essere usata per identificare il programma. In genere è uguale al nome inglese del programma, ma si tratta semplicemente di una convenzione.

Per i tipi di client diversi dai browser, il nome canonico può essere qualsiasi stringa. Scegliere un nome univoco, che non è probabile che venga usato da un altro fornitore.

Per i client browser, il nome canonico deve essere il nome, inclusa l'estensione, dell'eseguibile associato; ad esempio "Litview.exe".

Ecco alcuni esempi di nomi canonici.

  • Iexplore.exe (browser)
  • Windows Mail (posta elettronica)
  • Lettore multimediale Windows (supporti)
  • Windows Messenger (messaggistica istantanea)

Registrare il nome canonico creando una sottochiave come illustrato di seguito. Il nome della sottochiave è il nome canonico. Tutte le informazioni relative alla registrazione del programma saranno presenti in questa sottochiave.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName

Registrazione del nome visualizzato di un programma

Il passaggio successivo della registrazione consiste nel specificare il nome visualizzato del programma. Viene assegnato come valore sotto la chiave del nome canonico, come illustrato di seguito. Si noti anche che CanonicalName e ClientTypeName non sono i nomi effettivi delle chiavi, ma solo i segnaposto per i nomi veri, ad esempio Lit View.

Nota

A partire da Windows 8, il nome usato per la registrazione per Set Program Access and Computer Defaults (SPAD) and for Default Programs (SPAD) deve corrispondere per consentire alle modifiche SPAD di attivare registrazioni programmi predefinite.

 

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               LocalizedString = @FilePath,-StringID

Il valore LocalizedString è una stringa REG_SZ ed è costituito da un segno "at" (@), il percorso completo di un file .dll o .exe, una virgola, un segno meno e un numero intero decimale. Il numero intero decimale è l'ID di una risorsa stringa, contenuta nel file .dll o .exe, il cui valore deve essere visualizzato all'utente come nome del client. Si noti che il percorso del file non richiede virgolette, anche se contiene spazi.

La registrazione della stringa del nome visualizzato in questo modo consente di usare la stessa registrazione per più lingue. Ogni installazione della lingua fornisce un file di risorse diverso con il nome visualizzato archiviato con lo stesso ID risorsa.

Nell'esempio seguente viene illustrata la registrazione per un programma di messaggistica istantanea di Lit View fittizio. Poiché si tratta di un programma di messaggistica istantanea, la sottochiave CanonicalName (in questo caso Lit View) viene archiviata nella sottochiave IM .

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123

Si noti l'uso della voce (impostazione predefinita) come dichiarazione secondaria del nome visualizzato del client. Se localizedString non è presente, viene invece utilizzato il valore (predefinito). Funziona con tutti i tipi di client (browser Internet, browser di posta elettronica, messaggistica istantanea e lettori multimediali). Per la compatibilità con le versioni precedenti con il layout del Registro di sistema client di Internet Explorer, i programmi di posta elettronica devono impostare il valore (predefinito) della sottochiave CanonicalName sul nome visualizzato del client nella lingua attualmente installata.

Registrazione dell'icona di un programma

Nota

Questa sezione non si applica a Windows 2000.

 

Per impostazione predefinita, la sezione superiore del menu Start di Windows XP e Windows Vista contiene icone di Posta elettronica e Internet. Queste icone non sono presenti in Windows 7 e versioni successive. Per i client di browser e di posta elettronica, quando un programma viene assegnato come predefinito per il tipo di client, viene visualizzata l'icona registrata del programma per tali voci di menu Start .

La registrazione dell'icona di un programma è obbligatoria per i client di browser e di posta elettronica. La registrazione di un'icona per la riproduzione multimediale, la messaggistica istantanea o la macchina virtuale per i tipi di client Java è facoltativa e le icone registrate per tali tipi di client non vengono attualmente usate da Windows e non vengono visualizzate nella sezione superiore dei menu Start di Windows XP o Windows Vista.

Per registrare un'icona per un programma client, aggiungere una sottochiave DefaultIcon con un valore predefinito, come illustrato di seguito.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               DefaultIcon
                  (Default) = FilePath,IconIndex

Il valore FilePath è il percorso completo del file che contiene l'icona. Questo percorso non richiede virgolette, anche se contiene spazi.

Il valore IconIndex viene interpretato come segue:

  • Se IconIndex è un numero positivo, il numero viene usato come indice della matrice in base zero delle icone archiviate nel file. Ad esempio, se IconIndex è 1, la seconda icona viene caricata dal file.
  • Se IconIndex è un numero negativo, il valore assoluto di IconIndex viene usato come identificatore di risorsa (anziché come indice) per l'icona. Ad esempio, se IconIndex è -3, l'icona il cui identificatore di risorsa è 3 viene caricato dal file.

Nell'esempio seguente viene illustrata la registrazione di un ipotetico browser Lit View. La seconda icona archiviata nel file Litview.exe viene usata come predefinita.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\Litview.exe,1

Registrazione di un verbo aperto

Nota

Questa sezione non si applica a Windows 2000. Il passaggio seguente è necessario solo per i client di browser e di posta elettronica.

 

Si supponga che un utente abbia selezionato il programma come programma Internet o di posta elettronica predefinito. L'utente fa clic sull'icona Internet o posta elettronica nel menu Start di Windows XP o Windows Vista per aprire il programma. A questo punto, viene eseguita la riga di comando registrata come illustrato di seguito.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               shell
                  open
                     command
                        (Default) = command line

La riga di comando deve specificare un percorso assoluto completo del file, seguito da opzioni facoltative della riga di comando. Se il tipo di voce è REG_EXPAND_SZ, le variabili di ambiente possono essere usate nel percorso. Usare le virgolette in modo appropriato per assicurarsi che gli spazi nella riga di comando non vengano interpretati in modo non corretto. La riga di comando deve eseguire il programma con le impostazioni predefinite appropriate. Per impostazione predefinita, i browser sono in genere la home page dell'utente. I programmi di posta elettronica in genere aprono la posta in arrivo dell'utente.

Nell'esempio seguente viene illustrata la registrazione di un open verbo per un ipotetico browser Lit View. Non specifica alcuna opzione della riga di comando.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\Litview.exe"

Si noti che in questo valore le virgolette vengono posizionate intorno al percorso perché contiene spazi incorporati. L'omissione di queste virgolette potrebbe causare l'errata interpretazione della riga di comando.

Registrazione delle informazioni di installazione

Nota

Questa sezione non si applica a Windows Server 2003.

 

La funzionalità in base alla quale l'utente seleziona programmi predefiniti per computer è denominata e accessibile come illustrato nella tabella seguente. (Windows Vista ha introdotto una nuova funzionalità, Impostare i programmi predefiniti, in base ai quali un utente può impostare le impostazioni predefinite per utente.

Sistema operativo Title Percorso di accesso
Windows 7 Impostare l'accesso al programma e le impostazioni predefinite del computer
  • Opzione Programmi predefiniti del menu Start
  • Elemento Pannello di controllo programmi predefiniti
Windows Vista Impostare l'accesso al programma e le impostazioni predefinite del computer
  • Opzione Programmi predefiniti del menu Start
  • Elemento Pannello di controllo programmi predefiniti
Windows XP SP2 Impostare l'accesso al programma e le impostazioni predefinite
  • Menu Start
  • Aggiungere o rimuovere programmi Pannello di controllo elemento
Windows XP SP1 Configurare i programmi
  • Aggiungere o rimuovere programmi Pannello di controllo elemento

 

Per semplicità, questo argomento usa il titolo di Windows 7 della funzionalità. Tutte le versioni della funzionalità sono comunemente denominate SPAD.

Nota

Se si esegue Windows 2000 o Windows XP, è necessario che sia installato almeno Windows 2000 SP3 o Windows XP SP1 per visualizzare la pagina Imposta accesso programma e impostazioni predefinite . In Windows Vista e versioni successive, l'accesso alla pagina Imposta accesso al programma e Impostazioni predefinite computer richiede privilegi di amministratore. Per questo motivo, gli sviluppatori sono invitati a registrarsi per impostare i programmi predefiniti Pannello di controllo elemento in modo che qualsiasi utente possa gestire le impostazioni predefinite dell'applicazione.

 

L'albero del Registro di sistema seguente mostra la varietà di informazioni che devono essere registrate nella chiave InstallInfo del programma affinché il programma venga visualizzato nella pagina Imposta accesso programma e Impostazioni predefinite computer come opzione per il tipo di client. Ognuno di questi valori viene descritto in dettaglio nelle sezioni seguenti.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  HideIconsCommand = command line
                  ReinstallCommand = command line
                  ShowIconsCommand = command line
                  IconsVisible = 1

La riga di comando deve specificare un percorso assoluto completo del file, seguito da opzioni facoltative della riga di comando. Usare le virgolette in modo appropriato per assicurarsi che gli spazi nella riga di comando non vengano interpretati in modo non corretto.

Comando Reinstalla

La riga di comando reinstalla dichiarata nel valore ReinstallCommand viene eseguita quando l'utente usa la pagina Imposta accesso programma e Impostazioni predefinite computer per selezionare il programma come predefinito per il tipo di client. In Windows Vista e versioni successive, l'accesso a questa pagina richiede un livello di privilegi di amministratore. In Windows 8, se hai registrato l'applicazione con lo stesso nome sia per Impostazione accesso al programma che per i programmi predefiniti del computer, le impostazioni predefinite specificate in Programmi predefiniti per tale applicazione verranno applicate per l'utente corrente e per l'esecuzione del comando di reinstallazione.

Il programma avviato dalla riga di comando reinstalla deve associare l'applicazione al set completo di tipi di file e protocolli che l'applicazione può gestire. Tutte le applicazioni devono stabilire la funzionalità del gestore nel comando reinstalla. Le applicazioni possono usare il comando reinstalla per registrare la funzionalità e, facoltativamente, stabilire lo stato predefinito. Quando un'applicazione sceglie di implementare sia la funzionalità che lo stato predefinito del gestore nel comando reinstalla, deve anche reinserire eventuali collegamenti o collegamenti visibili desiderati. I punti di ingresso visibili scelti dalla maggior parte delle applicazioni sono elencati nel comando Nascondi icone.

Nota

È consigliabile che le applicazioni implementino la funzionalità di gestione nel comando reinstalla.

 

Al termine del processo di reinstallazione, il programma avviato dalla riga di comando reinstalla dovrebbe uscire. Non deve avviare il programma corrispondente; deve semplicemente registrare le impostazioni predefinite. Ad esempio, il comando reinstalla per un browser non deve aprire la home page dell'utente.

Nota

Per i client di browser e di posta elettronica in Windows XP e Windows Vista, le applicazioni che scelgono di stabilire sia la funzionalità di gestione che lo stato predefinito nel comando reinstalla devono registrarsi per l'icona corrispondente nella parte superiore del menu Start. Per altre informazioni, vedere Registrazione del menu Start.

 

Comando Nascondi icone

La riga di comando dichiarata nel valore HideIconsCommand viene eseguita quando l'utente deseleziona la casella Abilita accesso a questo programma nella pagina Imposta accesso programma e Impostazioni predefinite computer. Questa riga di comando deve nascondere tutti i punti di accesso del programma visibili nell'interfaccia utente. Le linee guida specifiche riguardano la rimozione di collegamenti e icone dalle posizioni seguenti:

  • Icone del desktop
  • menu Start collegamenti, inclusi i Gruppo di avvio
  • Collegamenti alla barra di avvio veloce
  • Area di notifica
  • Menu di scelta rapida
  • Banda attività cartelle

Questa riga di comando deve inoltre impedire chiamate automatiche del programma, ad esempio quelle specificate nella chiave del Registro di sistema Esegui . I fornitori sono invitati a implementare queste linee guida nel callback Nascondi accesso dell'applicazione.

Non è necessario rinunciare alla registrazione (funzionalità dell'applicazione) dei tipi di file quando le icone sono nascoste. Non è inoltre necessario rinunciare allo stato predefinito dell'applicazione per i tipi di file e protocolli. In questo modo può verificarsi un'esperienza utente non valida quando questi tipi vengono rilevati nell'interfaccia utente.

Dopo aver nascosto correttamente le icone, è necessario aggiornare il valore del Registro di sistema IconsVisible su 0 come illustrato:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 0

La voce IconsVisible è di tipo REG_DWORD.

Metodo nascondi icone alternativo in SPAD

Per alcune applicazioni legacy, un'implementazione completa di Hide Access potrebbe non essere pratica. Un metodo alternativo che ottiene lo stesso effetto consiste nel disinstallare l'applicazione. La sezione seguente illustra il comportamento di esempio e il codice di esempio per implementare questa alternativa. In generale, i fornitori di software indipendenti (ISV) dovrebbero evitare questa alternativa perché:

  • Disinstallare completamente l'applicazione dal sistema.
  • Rimuovere le impostazioni predefinite selezionate in precedenza.
  • Lasciare nessuna opzione dell'interfaccia utente per reinstallare l'applicazione.
  • Rendere la funzionalità di abilitazione dell'accesso non più disponibile, poiché una disinstallazione rimuove completamente l'applicazione dal spaD.

L'esperienza utente consigliata è la seguente:

  • Quando l'utente deseleziona la casella Abilita accesso a questo programma in SPAD, viene visualizzata l'interfaccia utente seguente.

    finestra di dialogo su come nascondere l'accesso al programma

  • Quando l'utente seleziona OK, viene avviato l'elemento Programmi e funzionalità Pannello di controllo per consentire all'utente di disinstallare l'applicazione.

  • Gli utenti di Windows XP devono essere visualizzati con questa finestra di dialogo.

    finestra di dialogo equivalente di Windows XP

  • Quando l'utente di Windows XP seleziona OK, viene avviato l'elemento Installazione applicazioni Pannello di controllo per consentire all'utente di disinstallare l'applicazione.

Il codice seguente fornisce un'implementazione riutilizzabile per la funzionalità Nascondi accesso, come descritto in precedenza. Può essere usato in Windows XP, Windows Vista e Windows 7.

#include <windows.h>
#include <shlwapi.h>
#include <strsafe.h>

PCWSTR c_pszMessage1 = L"To hide access to this program, you need to uninstall it by ";
PCWSTR c_pszMessage2 = L"using\n%s in Control Panel.\n\nWould you like to start %s?";
PCWSTR c_pszApplicationName  = L"Sample App";

int _tmain(int argc, WCHAR* argv[])
{
    OSVERSIONINFO version;
    version.dwOSVersionInfoSize = sizeof(version);

    if (GetVersionEx(&version))
    {
        PCWSTR pszCPLName = NULL;

        if (version.dwMajorVersion >= 6)
        {
            // Windows Vista and later
            pszCPLName = L"Programs and Features";
        }
        else if (version.dwMajorVersion == 5 &&
                 version.dwMinorVersion == 1)
        {
            // Windows XP
            pszCPLName = L"Add/Remove Programs";
        }

        if (pszCPLName != NULL)
        {
            WCHAR szMessage[256], szScratch[256];
            if (SUCCEEDED(StringCchPrintf(szScratch, 
                                          ARRAYSIZE(szScratch), 
                                          c_pszMessage2, 
                                          pszCPLName, 
                                          pszCPLName)))
            {
                if (SUCCEEDED(StringCchCopy(szMessage, 
                                            ARRAYSIZE(szMessage), 
                                            c_pszMessage1)))
                {
                    if (SUCCEEDED(StringCchCat(szMessage, 
                                               ARRAYSIZE(szMessage), 
                                               szScratch)))
                    {
                        if (IDOK == MessageBox(NULL, 
                                               szMessage, 
                                               c_pszApplicationName, 
                                               MB_OKCANCEL))
                        {
                            ShellExecute(NULL, 
                                         NULL, 
                                         L"appwiz.cpl", 
                                         NULL, 
                                         NULL, 
                                         SW_SHOWNORMAL);
                        }
                    }
                }
            }
        }
    }
    return 0;
}

Comando Mostra icone

La riga di comando dichiarata nella voce ShowIconsCommand viene eseguita quando l'utente controlla la casella Abilita accesso a questo programma nella pagina Imposta accesso programma e Impostazioni predefinite computer. Questa riga di comando può ripristinare i punti di accesso del programma, inclusi quelli nel menu Start , sul desktop e nel gruppo Avvio , nonché normali chiamate automatiche, ad esempio quelle specificate nella chiave del Registro di sistema Esegui . I punti di accesso visibili di interesse per la maggior parte delle applicazioni sono elencati nel comando Nascondi icone. L'applicazione non deve modificare le impostazioni predefinite per utente; tale modifica deve essere eseguita dall'utente tramite Programmi predefiniti.

Dopo aver visualizzato correttamente le icone, è necessario aggiornare il valore del Registro di sistema IconsVisible a 1 come illustrato:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 1

Si noti che se è stata usata la voce HideIconsCommand per richiedere una disinstallazione dell'applicazione, la voce ShowIconsCommand non è in uso. Deve essere rimosso dal Registro di sistema con il resto delle informazioni dell'applicazione durante il processo di disinstallazione.

Configurazione del programma di gruppo

Nota

Questa sezione non si applica a Windows 2000.

 

Nell'ambito della preparazione del sistema, un OEM può stabilire una configurazione che nasconde i punti di accesso per il browser Microsoft, la posta elettronica, la riproduzione multimediale, la messaggistica istantanea o la macchina virtuale per i programmi client Java e specifica i propri programmi predefiniti. Gli OEM possono consentire agli utenti di reimpostare i computer in qualsiasi momento in questa configurazione predefinita impostando i valori del Registro di sistema seguenti.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  OEMShowIcons = 1
                  OEMDefault = 1

Se queste chiavi sono impostate, gli utenti possono ripristinare la configurazione OEM selezionando l'opzione Produttore computer nella pagina Imposta accesso programma e Impostazioni predefinite computer. Se queste chiavi non sono impostate, l'opzione Produttore computer non viene visualizzata.

Se presente, la voce OEMShowIcons imposta lo stato di visualizzazione dell'icona per il client specificato applicato se l'utente seleziona Produttore computer. Il valore 1 determina la visualizzazione delle icone e un valore pari a 0 determina la mancata visualizzazione delle icone. Se OEMShowIcons è assente, selezionare Produttore computer non ha alcun effetto sull'impostazione dell'icona mostrata. OEMShowIcons è di tipo REG_DWORD.

La voce OEMDefault , se presente e impostata su 1, stabilisce la preferenza OEM per il client predefinito del tipo indicato. Un solo client di un particolare tipo può essere contrassegnato come predefinito OEM. Se la registrazione di più client contiene la voce OEMDefault , tutte vengono ignorate e il client corrente continua a essere usato come client predefinito. Se la voce OEMDefault non è presente o è presente e impostata su 0, tale client specifico non viene usato come client predefinito se l'utente seleziona Produttore computer. OEMDefault è di tipo REG_DWORD.

Oltre all'opzione per reimpostare la configurazione predefinita stabilita dall'OEM, gli utenti hanno tre altre opzioni di configurazione:

  • Impostare il computer su una configurazione di Microsoft Windows. In questo caso, la pagina Imposta impostazioni predefinite per l'accesso al programma e al computer consente l'accesso a tutti i software Microsoft e non Microsoft nel computer registrato nelle categorie di prodotti pertinenti. I programmi Microsoft Windows vengono selezionati come opzione predefinita per ogni categoria.
  • Impostare il computer su una configurazione non Microsoft. Questa configurazione nasconde i punti di accesso (ad esempio il menu Start) a Windows Internet Explorer, Lettore multimediale Windows, Windows Messenger e Microsoft Outlook Express. Consente l'accesso al software non Microsoft nel computer in queste categorie. Inoltre, se un programma non Microsoft è disponibile in una categoria, viene impostato come predefinito per tale categoria. Se in una categoria sono disponibili più programmi non Microsoft, all'utente viene chiesto di scegliere quale programma non Microsoft deve essere usato come predefinito.
  • Stabilire una configurazione personalizzata. Gli utenti effettuano selezioni personalizzate per abilitare o rimuovere l'accesso, combinando i programmi Microsoft e non Microsoft in base alle proprie esigenze. Gli utenti stabiliscono le opzioni predefinite per categoria.

Gli utenti sono liberi di modificare una qualsiasi di queste opzioni in qualsiasi momento.

Esempio di registrazione del browser

Nell'esempio seguente viene illustrata la registrazione InstallInfo completa per un browser Lit View fittizio. In questo caso, le opzioni della riga di comando consentono al file Litview.exe di eseguire le azioni necessarie per ogni valore.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\Litview.exe" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /showicons
                  IconsVisible = 1

Si noti che le virgolette vengono posizionate intorno ai percorsi perché contengono spazi incorporati.

Elementi di registrazione per tipi di client specifici

Le informazioni seguenti sono disponibili anche nelle risorse elencate nella sezione Argomenti correlati alla fine di questo argomento.

Registrazione del menu Start

In Windows XP le applicazioni in genere registrano valori predefiniti in un ambito a livello di computer (HKEY_LOCAL_MACHINE) anziché in un ambito utente (HKEY_CURRENT_USER). Con l'introduzione di Windows Vista del controllo dell'account utente, le applicazioni che sostengono gli slot internet e di posta elettronica nel menu Start devono implementare il comando reinstalla all'interno del contesto di esecuzione corretto.

Nota

Il collegamento di posta elettronica menu Start è stato rimosso a partire da Windows 7. Tuttavia, la registrazione descritta in questa sezione deve comunque essere eseguita perché assegna il client MAPI predefinito.

 

Un utente limitato in Windows XP, Windows Vista o Windows 7 non può accedere a SPAD. Per questo motivo, gli sviluppatori sono invitati a registrarsi per impostare i programmi predefiniti Pannello di controllo elemento in modo che qualsiasi utente possa gestire le impostazioni predefinite dell'applicazione per utente.

Le selezioni effettuate in SPAD devono influire solo sulle impostazioni per computer.

Impostare il valore del Registro di sistema come indicato di seguito.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            (Default) = CanonicalName

Nota

Le informazioni seguenti si applicano solo a Windows XP.

Se la registrazione del valore predefinito a livello di computer in HKEY_LOCAL_MACHINE come illustrato in precedenza ha esito positivo, l'applicazione deve eliminare il valore assegnato alla voce Predefinita nella sottochiave seguente:

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName

Se la registrazione del valore predefinito a livello di computer in HKEY_LOCAL_MACHINE come illustrato in precedenza ha esito negativo, in genere perché l'utente non dispone dell'autorizzazione di scrittura per la sottochiave, l'applicazione deve impostare il valore seguente:

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName
            (Default) = CanonicalName

Questo registra il nome canonico solo per l'utente corrente, non per tutti gli utenti.

 

Dopo l'aggiornamento delle chiavi del Registro di sistema, il programma deve trasmettere il messaggio WM_SETTINGCHANGE con wParam = 0 e lParam che punta alla stringa con terminazione null "Software\Clients\ClientTypeName" per notificare al sistema operativo che il client predefinito è stato modificato.

Registrazione client di posta elettronica

Per un client di posta elettronica, il programma deve avere impostazioni registrate nella chiave HKEY_CLASSES_ROOT\mailto per poter gestire gli URL che usano il mailto protocollo. Impostare valori e chiavi che rispecchiano tali impostazioni nella chiave seguente.

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto

Questa gerarchia del Registro di sistema sostituisce la gerarchia del Registro di sistema esistente mailto trovata in HKEY_CLASSES_ROOT\mailto. La gerarchia rimane invariata, ma solo la posizione è stata modificata. Per altre informazioni sul formato di questa gerarchia, vedere Cenni preliminari sui protocolli pluggable asincroni ed esercitazioni. In genere, il mailto protocollo viene registrato in un programma anziché in un protocollo asincrono, nel qual caso viene applicata la documentazione relativa alla registrazione di un'applicazione a uno schema URI.

Nell'esempio seguente viene illustrata la mailto sezione della registrazione per un mailto gestore registrato in un programma.

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = %FilePath%,IconIndex
                     shell
                        open
                           command
                              (Default) = command line

Il valore del Registro di sistema EditFlags è documentato in Tipi di file nella sezione intitolata "Definizione degli attributi del tipo di file".

Completare le registrazioni di esempio

Gli esempi seguenti vengono forniti per mostrare i requisiti di registrazione completi per i vari tipi di client.

Browser di esempio

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
                  shell
                     open
                        command
                           (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /homepage

Un browser di posta elettronica di esempio

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            Lit View
               (Default) = Lit View
               DLLPath = @C:\Program Files\LItwareInc\LitwareMAPI.dll
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /inbox
               protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
                     shell
                        open
                           command
                              (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /mailto:%1

Un Lettore multimediale di esempio

HKEY_LOCAL_MACHINE
   Software
      Clients
         Media
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Un programma Instant Messenger di esempio

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Una macchina virtuale di esempio per Java

HKEY_LOCAL_MACHINE
   Software
      Clients
         JavaVM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Ogni riferimento a società, organizzazioni, prodotti, nomi di dominio, indirizzi di posta elettronica, logo, persone, luoghi ed eventi è puramente casuale. e ha il solo scopo di illustrare l’uso del prodotto Microsoft.

Programmi predefiniti

Come registrare un browser Internet o un client di posta elettronica con il menu Start di Windows

Layout del Registro di sistema client di Internet Explorer (vedere la sezione "Definizioni delle chiavi del Registro di sistema client")

Cenni preliminari e esercitazioni su protocolli collegabili asincroni

Registrazione di un'applicazione in uno schema URI