IDesktopGadget::RunGadget 方法 (shobjidl.h)

将已安装的小工具添加到桌面。

语法

HRESULT RunGadget(
  [in] LPCWSTR gadgetPath
);

参数

[in] gadgetPath

类型: LPCWSTR

指向 .小工具文件夹的完整 (绝对) 路径的指针。 未与 Windows 一起打包的小工具只能从以下两个位置之一运行。 在任何其他位置安装小工具将导致此方法失败并出现拒绝访问错误。

注意 此路径不应包含环境变量;必须提供完全扩展的路径。 ExpandEnvironmentStrings 可用于展开此参数中所需窗体的路径。
 

(%ProgramFiles%\Windows Sidebar\Shared 小工具)

这是建议用于非 Microsoft 小工具安装的路径,可供所有用户使用。

(%LOCALAPPDATA%\Microsoft\Windows Sidebar\小工具)

此位置应用于小工具的单用户安装。

返回值

类型: HRESULT

如果成功,则返回S_OK,否则返回错误值,包括:

返回代码 说明
SCHED_E_ALREADY_RUNNING
小工具已在运行。
E_INVALIDARG
发生错误,涉及 小工具路径指向的小工具文件夹的路径。

注解

此处的“运行”小工具意味着小工具已添加到桌面。

只能在已安装到系统的小工具上调用 RunGadget。 不能在已在运行的小工具上调用它 -- 在任何给定时间,只能通过此方法运行一个小工具的一个实例。

由于小工具安装没有自己的 UI,因此此方法通常作为安装过程中的最后一个步骤运行,或者作为小工具关联的应用程序的首次启动的一部分运行。 将小工具安装到 %ProgramFiles%\Windows Sidebar\Shared 小工具需要管理权限。 因此,建议在 Microsoft Installer (MSI) 安装过程中执行小工具的安装。

重要 应用程序在未事先请求用户权限的情况下不应调用 RunGadget 。 如果选择作为检查框提供给用户,则默认情况下应取消选择该检查框。
 
小工具将添加到桌面上由系统确定的位置。 调用方无法指定位置。

每用户应用程序应按用户安装其小工具。 每台计算机应用程序应按计算机安装其小工具。 这可确保为用户提供统一的体验。

示例

以下示例演示正在使用 的 IDesktopGadget::RunGadget

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;
}

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 shobjidl.h