Método IDesktopGadget::RunGadget (shobjidl.h)
Agrega un gadget instalado al escritorio.
Sintaxis
HRESULT RunGadget(
[in] LPCWSTR gadgetPath
);
Parámetros
[in] gadgetPath
Tipo: LPCWSTR
Puntero a la ruta de acceso completa (absoluta) de una carpeta .gadget. Un gadget que no está empaquetado con Windows solo se puede ejecutar desde una de las dos ubicaciones siguientes. La instalación del gadget en cualquier otra ubicación hará que este método produzca un error de acceso denegado.
(%ProgramFiles%\Windows Sidebar\Shared Gadgets)
Esta es la ruta recomendada para la instalación de gadgets que no son de Microsoft, disponibles para todos los usuarios.
(%LOCALAPPDATA%\Microsoft\Windows Sidebar\Gadgets)
Esta ubicación debe usarse para una instalación de usuario único del gadget.
Valor devuelto
Tipo: HRESULT
Devuelve S_OK si se ejecuta correctamente o un valor de error, incluido lo siguiente:
Código devuelto | Descripción |
---|---|
|
El gadget ya está en ejecución. |
|
Error relacionado con la ruta de acceso de la carpeta gadget a la que apunta gadgetPath. |
Comentarios
"Ejecutando" un gadget aquí significa que el gadget se agrega al escritorio.
RunGadget solo se puede llamar en un gadget que ya se haya instalado en el sistema. No se puede llamar a en un gadget que ya se esté ejecutando: solo se puede ejecutar una instancia de un gadget en un momento dado a través de este método.
Dado que la instalación de gadgets no tiene ninguna interfaz de usuario propia, este método se suele ejecutar como el último paso en el proceso de instalación o como parte del primer inicio de una aplicación con la que está asociado el gadget. La instalación del gadget en %ProgramFiles%\Windows Sidebar\Shared Gadgets requiere privilegios administrativos. Por lo tanto, se recomienda que la instalación del gadget se realice como parte de una instalación de Microsoft Installer (MSI).
Las aplicaciones por usuario deben instalar sus gadgets por usuario. Las aplicaciones por máquina deben instalar sus gadgets por máquina. Esto garantiza una experiencia unificada para el usuario.
Ejemplos
En el ejemplo siguiente se muestra IDesktopGadget::RunGadget en 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;
}
Requisitos
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shobjidl.h |