.net - 如何在 Windows 7 for .NET 中的任务栏上覆盖图标

标签 .net vb.net windows-7 overlay taskbar

Microsoft 的 UX guidelines 建议我使用 overlay icons 来显示我的应用程序何时具有有关状态的信息,例如未读消息或连接。

但是,我没有找到关于如何开始在我的应用程序中使用覆盖图标的清晰教程。有人可以推荐一个,或者更好的是,在他们的博客上创建一个教程来改善人类吗?

(问题标题特别提到了 Windows 7,但我认为将 Vista 包含在本教程中也很有用,以及与 Windows XP 的向后兼容性问题等)

编辑:这个问题实际上是针对使用 WinForms 的 .NET 3.5 提出的。如果您下载下面 ken2k's answer 中引用的 Windows API 代码包,下面是一个快速代码片段,该代码片段应该可以使用。

Imports Microsoft.WindowsAPICodePack.Taskbar
' Add reference to Microsoft.WindowsAPICodePack.Shell.dll
' Snipped...

If TaskbarManager.IsPlatformSupported Then
  TaskbarManager.Instance.SetOverlayIcon(icon, altText)
End If

最佳答案

我建议使用Windows® API Code Pack for Microsoft® .NET Framework它包含了所有 shell 编程的内容。

您会发现 very detailed article here这将向您展示如何使用它。

请注意,Windows® API 代码包不适用于 XP(不受支持),并且在 Vista 中也非常有限。例如,覆盖图标仅在 Windows 7 上可用。

关于.net - 如何在 Windows 7 for .NET 中的任务栏上覆盖图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182693/

相关文章:

c# - 如果我已经创建了一个序列化程序集,为什么代码会编译一个序列化程序集?

.net - Entity Framework - 保持数据库上下文打开与不断重新创建

sql-server - MS SQL Server:Windows 7上无法ODBC连接吗?

c# - Epplus 调用目标抛出异常

.net - 什么是 DNVM?

.net - Region.IsVisible() 不按文档工作 (?) [GDI+]

javascript - .Net 在搜索时不触发 Javascript(?) - 应该忽略默认值

SQL 服务器 Nvarchar 参数

windows-7 - 如何让 Microsoft Access 2007 32 位在 Windows 7 64 位上显示 64 位 ODBC 驱动程序?

ruby - 在 Windows 7 x86 上为 eventmachine 安装带有 Ruby 的 OpenSSL