Windows 7 NotifyIcon GUID 欺骗保护

Posted

技术标签:

【中文标题】Windows 7 NotifyIcon GUID 欺骗保护【英文标题】:Windows 7 NotifyIcon GUID spoof-protection 【发布时间】:2010-10-20 02:24:19 【问题描述】:

我目前正在学习 WINAPI 的一些不同方面,包括 Windows 7 中引入的功能。其中之一是使用 GUID 作为通知图标的标识符。

在MSDN 上可以看到,GUID 通过路径绑定到可执行文件,第一次添加通知图标。这个有问题的页面承诺在 Shell_Notifyicon() 的文档中提供有关该问题的更多信息,但我在那里找不到任何进一步的信息。

用户应该如何从已移动的可执行文件中显示通知图标?

【问题讨论】:

【参考方案1】:

我是documented:

如果必须更改路径,则 应用程序应清除现有的 之前的 GUID 注册表信息 将二进制文件移动到新的 位置并重新注册它 新的 GUID。与相关的任何设置 原始 GUID 注册将是 丢了。

这也发生在 并排安装。什么时候 并排处理 安装,新版本的 应用程序应更新 GUID 二进制文件。

注意移动的唯一例外 当原始文件和 移动的二进制文件是 Authenticode 由同一人签名 公司。在这种情况下,设置是 通过移动保存。

应用程序“清除现有 GUID 注册表信息”的机制有点,呃,不清楚。我会假设这实际上并不经常发生。所以,新的 guid 或证书。

【讨论】:

感谢您指出此信息的位置,但是对于用户来说移动可执行文件肯定有比向开发人员询问新版本(或更新应用程序)更简单的方法。 ) 我试图回想上次移动已安装应用程序的情况。不,我记性不好。这些天,这不再起作用了。卸载,重新安装,安装程序生成一个新的guid。不太确定我是否完全理解这一点,但肯定担心通知图标被欺骗的供应商已经签署了他们的应用程序。 问题是图标将与您构建应用程序的目录相关联。

以上是关于Windows 7 NotifyIcon GUID 欺骗保护的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 托盘中拖放 NotifyIcon

如何将 NotifyIcon 添加到 ATL 进程外服务器

一旦图像出现在系统托盘中,notifyicon 图像看起来很糟糕

wpf下使用NotifyIcon

Windows 11 支持的操作系统 GUID 是啥?

Windows GPT磁盘GUID结构详解