Windows 7 如何向用户安装小工具';以编程方式创建桌面?

Windows 7 如何向用户安装小工具';以编程方式创建桌面?,windows-7,inno-setup,windows-desktop-gadgets,Windows 7,Inno Setup,Windows Desktop Gadgets,是否可以以某种方式将小工具安装到用户的桌面上?我认为我需要将所有文件复制到用户的gadget文件夹中,例如 C:\Users\curusername\AppData\Local\Microsoft\Windows Sidebar\Gadgets\test.gadget C:\Users\curusername\AppData\Local\Microsoft\Windows侧栏\Gadgets\test.gadget 但是在这里复制文件不会运行这个小工具。如何注册/激活它 shell执行test.

是否可以以某种方式将小工具安装到用户的桌面上?我认为我需要将所有文件复制到用户的gadget文件夹中,例如

C:\Users\curusername\AppData\Local\Microsoft\Windows Sidebar\Gadgets\test.gadget C:\Users\curusername\AppData\Local\Microsoft\Windows侧栏\Gadgets\test.gadget 但是在这里复制文件不会运行这个小工具。如何注册/激活它


shell执行test.gadget是否足够?

以下MSDN文章介绍了这一点:


我知道,回答晚了,但另一个答案是关于Windows Sideshow小工具,而你的问题与Windows桌面小工具有关

可以在Windows 7上运行小工具,而无需shell执行归档,您需要使用
IDesktopGadget
接口方法
RunGadget
。在包含小工具文件的文件夹中调用
RunGadget
,它将显示在用户的桌面上

<> Pr> C++中的RunGADGET方法和示例代码的描述:

如果您使用的是.NET,请参考我之前提出的关于如何实现IDesktopGadget接口的问题:


为了向后兼容(Vista),我建议您回到shell执行方法。

刚刚开始。gadget文件似乎提供了对话框;我可以绕过对话框吗?这个答案链接到一篇关于Windows Sideshow小工具的文章,我不知道OP为什么会接受它。它们的工作原理与Windows桌面小工具完全不同。需要停止向第三方网站添加链接作为“答案”。MSDN与SO或SE无关,如果他们决定断开所述链接,您的答案将无效。。。相反,你能从文章中抽出适用的注释。。。然后链接到你源代码的文章。这不回答在InnoSetup上做什么,这里有些东西不支持64位AFAICT:我不确定它怎么不回答在InnoSetup上做什么。 是的,我从未使用过它,但说明仍然适用——在包含小工具文件的文件夹中调用
RunGadget
函数。 如果OP知道如何为InnoSetup编写代码,并且InnoSetup允许使用Win32接口,那么这个答案应该提供他需要知道的内容,而不必为他编写整个内容(这实际上并不符合事物的精神)。