C# 如何在没有任何新API的情况下在我的简单.net应用程序中使用Windows 7功能?

C# 如何在没有任何新API的情况下在我的简单.net应用程序中使用Windows 7功能?,c#,.net,windows-7,jump-list,C#,.net,Windows 7,Jump List,我想使用Windows7的功能,如图标覆盖和缩略图任务,但我的问题是,我可以不使用任何其他API在我的平原.NET3.5上这样做吗。我最近使用Shell例程在我的c#.net 3.5中的一个应用程序上启用了跳转列表,因此可以对图标覆盖和其他windows 7任务栏功能执行类似的操作 我确信多年前开发的记事本这样的旧应用程序可以使用这些新功能吗?如果您真的不想使用.NET包装的任务栏功能, 您可以尝试通过PInvoke调用overlay。对于其他W7任务栏选项,您可以在同一网站上查看 无论如何,我

我想使用Windows7的功能,如图标覆盖和缩略图任务,但我的问题是,我可以不使用任何其他API在我的平原.NET3.5上这样做吗。我最近使用Shell例程在我的c#.net 3.5中的一个应用程序上启用了跳转列表,因此可以对图标覆盖和其他windows 7任务栏功能执行类似的操作


我确信多年前开发的记事本这样的旧应用程序可以使用这些新功能吗?

如果您真的不想使用.NET包装的任务栏功能, 您可以尝试通过PInvoke调用overlay。对于其他W7任务栏选项,您可以在同一网站上查看


无论如何,我建议你使用我想这取决于“使用”的含义。如果使用“公用文件”对话框,您可以免费获得跳转列表。如果你的应用程序是WPF或MFC,你可以在这些库的最新版本(不是3.5)中获得一些Windows7的东西。否则,您将需要直接询问Windows(使用API)或使用不属于.NET 3.5的库为您询问Windows。我建议你用这个。例如,覆盖图标的一行代码。它还具有非可视的Windows 7功能,如重新启动和恢复、电源感知(机器使用电池时的网络事件等)。它最后一次更新是在2009年11月18日,我期待着现在的任何一天都能发布新版本。

如何在不使用新版本的情况下使用新版本?我不能在没有任何新内容的情况下使用jumplist请您在使用shell函数的地方添加一段代码吗?@jaminator,“shell函数”和“新API”没有什么不同。如果您想调用Windows的某些部分,您可以执行自己的P/Invoke,然后您将使用Windows API。当您调用不在XP中的部分Windows API时,您将使用新的API。您是否试图避免需要发送依赖项?如果是这样,请下载代码包(请参阅我的答案),并将P/Invoke和相关的互操作代码从中复制到您的项目中。这不是我的第一选择,但你可以做到。是的,我用了这个和它的工作原理,但我被卡住了,这只是一个缺少的参考。在WindowsAPICodePack 1.0.1\Samples\Shell\ThumbnailToolbarDemo下检查该示例,并查看它有哪些引用。