有关如何在 c# 中为 Windows 7 任务栏编码所需的信息

Posted

技术标签:

【中文标题】有关如何在 c# 中为 Windows 7 任务栏编码所需的信息【英文标题】:Information needed on how to code for Windows 7 Taskbar in c# 【发布时间】:2011-04-20 17:23:00 【问题描述】:

到目前为止,我对如何为 win 7 任务栏功能编写代码的了解是,我可以在 .net3.5 或 pinvoke 中使用 .net 4 或 WinAPI 代码包。

我的问题是我可以使用 .net3.0 或 prev 为 win 7 任务栏功能编写代码吗?使用 pinvoke 可以使用缩略图工具栏、跳转列表、覆盖图标等功能

谢谢

【问题讨论】:

How do I code a progress bar for Windows 7 to also update itself on the taskbar? 的可能重复项 【参考方案1】:

调试大师Sasha Goldshtein 在新的任务栏 API 上有一个series of articles。你应该看看Overlay Icons and Progress Bars API。

您可以从 Microsoft Code 上的 Windows 7 Taskbar Developer Resources 下载示例代码。您正在寻找的是IMClient 示例:

IMClient 示例演示了如何 任务栏覆盖图标和任务栏 进度条可以点亮 应用程序的任务栏按钮 依赖额外的对话或 在系统通知中的图标上 区域(托盘)。

(来源:microsoft.co.il)

(来源:microsoft.co.il)

(来源:microsoft.co.il)

我相信这应该可以帮助你实现你想要的。

【讨论】:

Sasha 的文章很棒,如果您想自己使用 API 而不是在库中使用,我推荐它们。我怎样才能diss一个提到我的样本?但是这个特定的示例有点老了,我认为代码包中的任务栏演示会更好地为您服务。 @Kate 我把这些链接加了书签,甚至没有意识到它们已经过时了......代码包似乎就是答案!【参考方案2】:

为什么不获取the Code Pack 并尝试将其与较低版本的 .NET Framework 一起使用?我已经阅读了其中的大量代码,但几乎没有任何依赖于 .NET 3.5 功能的代码。如果您使用的是 VS 2010,您可能会成功地针对 2.0 构建它,或者您使用的任何东西都没有问题。该许可证允许您将库中的代码集成到您的项目中,对其进行更改,基本上将其视为您自己的,因此您不会有任何损失。

【讨论】:

kate 谢谢你的回答,pinvoke 可以用来编码win 7 任务栏的所有功能吗? P/Invoke 是一种从您的平台调用 api(函数调用)的技术。所以你的问题真的是“Windows 7 中有用于此的 API 吗?”是的,有。 Sasha 的博客(以及其他)有很多关于它们的详细信息。如果您下定决心,您甚至可以从代码包中找到并复制 P/Invoke 声明。我只是不确定你为什么会这样做。

以上是关于有关如何在 c# 中为 Windows 7 任务栏编码所需的信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 7 上删除 Java 程序的标题栏和任务栏图标?

Java 中的 Windows 7 任务栏进度条

如何使用 C# 从 Windows 任务栏中删除新闻和兴趣? [关闭]

如何在 C# 中应用 Windows 任务栏更改而不重新启动资源管理器?

创建 Windows 7 快速启动

如何设置应用程序的任务栏图标在Windows 7-qt,windows-7,pyqt