Condividi tramite


Metodo IDesktopGadget::RunGadget (shobjidl.h)

Aggiunge un gadget installato al desktop.

Sintassi

HRESULT RunGadget(
  [in] LPCWSTR gadgetPath
);

Parametri

[in] gadgetPath

Tipo: LPCWSTR

Puntatore al percorso completo (assoluto) di una cartella gadget. Un gadget che non è in pacchetto con Windows può essere eseguito solo da una delle due posizioni seguenti. L'installazione del gadget in qualsiasi altra posizione causerà l'esito negativo di questo metodo con un errore di accesso negato.

Nota Questo percorso non deve contenere variabili di ambiente; è necessario specificare il percorso completamente espanso. ExpandEnvironmentStrings può essere usato per espandere il percorso del modulo richiesto in questo parametro.
 

(%ProgramFiles%\Windows Sidebar\Shared Gadgets)

Si tratta del percorso consigliato per l'installazione di gadget non Microsoft, disponibile per tutti gli utenti.

(%LOCALAPPDATA%\Microsoft\Windows Sidebar\Gadgets)

Questa posizione deve essere usata per un'installazione a utente singolo del gadget.

Valore restituito

Tipo: HRESULT

Restituisce S_OK se ha esito positivo o un valore di errore in caso contrario, incluso quanto segue:

Codice restituito Descrizione
SCHED_E_ALREADY_RUNNING
Il gadget è già in esecuzione.
E_INVALIDARG
Si è verificato un errore che coinvolge il percorso della cartella del gadget a cui punta gadgetPath.

Commenti

"Esecuzione" di un gadget qui significa che il gadget viene aggiunto al desktop.

RunGadget può essere chiamato solo su un gadget già installato nel sistema. Non può essere chiamato su un gadget che è già in esecuzione, solo un'istanza di un gadget può essere eseguita in qualsiasi momento tramite questo metodo.

Poiché l'installazione di gadget non ha un'interfaccia utente personalizzata, questo metodo viene spesso eseguito come ultimo passaggio nel processo di installazione o come parte del primo lancio di un'applicazione a cui è associato il gadget. L'installazione del gadget in %ProgramFiles%\Windows Sidebar\Shared Gadgets richiede privilegi amministrativi. È pertanto consigliabile eseguire l'installazione del gadget come parte di un'installazione di Microsoft Installer (MSI).

Importante Le applicazioni non devono chiamare RunGadget senza prima chiedere all'utente l'autorizzazione. Se la scelta viene assegnata all'utente come casella di controllo, tale casella di controllo deve essere deselezionata per impostazione predefinita.
 
Il gadget viene aggiunto al desktop in una posizione determinata dal sistema. Il chiamante non può specificare la posizione.

Le applicazioni per utente devono installare i gadget per utente. Le applicazioni per computer devono installare i gadget per ogni computer. Ciò garantisce un'esperienza unificata per l'utente.

Esempio

Nell'esempio seguente viene illustrato IDesktopGadget::RunGadget in uso.

HRESULT RunMyGadget(PCWSTR pszGadgetPath)
{
    IDesktopGadget *pDG;

    HRESULT hr = CoCreateInstance(CLSID_DesktopGadget, 
                                  NULL, 
                                  CLSCTX_INPROC_SERVER, 
                                  IID_PPV_ARGS(&pDG));
    if (SUCCEEDED(hr))
    {
        hr = pDG->RunGadget(pszGadgetPath);
        pDG->Release();
    }

    return hr;
}

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl.h