【问题标题】:Windows XP control panel - providing a value for the "comments" fieldWindows XP 控制面板 - 为“注释”字段提供值
【发布时间】:2010-06-10 20:58:13
【问题描述】:

Windows XP 控制面板从哪里获得“评论”字段的值?我正在编写一个 EXE 控制面板应用程序,但从 the documentation 中看不到您可以为该字段提供值。

【问题讨论】:

    标签: windows-xp controlpanel


    【解决方案1】:

    使用 Windows Installer XML (WIX) 在 Windows Vista 上将可执行文件 (exe) 注册为控制面板小程序 http://blogs.msdn.com/b/cjacks/archive/2007/05/03/registering-an-executable-file-exe-as-a-control-panel-applet-on-windows-vista-using-windows-installer-xml-wix.aspx


    [上一个答案]

    查看注册控制面板项可执行控制面板项注册http://msdn.microsoft.com/en-us/library/cc144195(VS.85).aspx

    具体来说,你想要InfoTip,即 cmets。

    注册控制面板项目

    必须注册控制面板项目 为了出现在控件中 面板窗口。如果控制面板 项目作为 .exe 的一部分实现 文件然后它被注册为 命令对象。注册不同 如果项目被实现为 .dll 导出 CPlApplet 的文件 功能。

    【讨论】:

    • 不幸的是,这不起作用。如果您将鼠标悬停在小程序上,该字段的内容会显示在工具提示中。
    • 原来你的原始提示就是答案。我将 InfoTip 设置为“@(path),(index)”,并将其设置为“@(path),-(index)”使其工作。我给你赏金是因为你首先得到了正确的答案。谢谢!
    • 啊,总是那么简单。 :O)
    【解决方案2】:

    Using CPLApplet:

    当控制面板加载 .dll(或 .cpl) 文件,它调用 CPlApplet 获取信息的功能,例如 控制面板项目的数量 文件主机,以及信息 关于每个项目

    当 Windows 首次加载控件时 面板项,它检索地址 CPlApplet 功能和 随后使用该地址调用 函数并传递消息。它 可能会发送以下消息。

    您需要处理CPL_INQUIRE Message并填写CPLINFO Structure

    typedef struct tagCPLINFO {
      int      idIcon;
      int      idName;
      int      idInfo;
      LONG_PTR lpData;
    } CPLINFO;
    

    idInfo 是包含描述的字符串的资源标识符。你不能简单地通过填写一些注册表项来设置这个东西。

    编辑:好吧,我的错,这是一个旧的解决方案。

    【讨论】:

    • 是的,这在我们之前通过将 .cpl 文件复制到 system32 进行安装时有效。由于各种原因,我们在 Program Files 区域转换为 EXE 文件,我想知道我们是否可以将其取回。
    【解决方案3】:

    此字符串从 HKCR\CLSID{guid}\InfoTip 注册表值中检索。这个MSDN Library article 很好地解释了如何将注册表打造成形状,我不能再补充了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多