2010-10-20 51 views
0

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

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

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

回答

2

这是documented

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

这也发生在 并排安装的情况下。当 处理并排 安装时, 应用程序的新版本应该更新二进制文件的GUID 。

注意当原始和 移动二进制文件 由同一 公司验证码签名时唯一例外的一个移动 文件。在这种情况下,通过移动保留设置 。

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

+0

感谢您指出此信息的位置,但有想必一定是为用户提供更简单的方法来移动可执行不必要求一个新的建设开发(或更新应用程序。) – DNW 2010-10-20 03:07:25

+0

我试图回想我最后一次移动已安装的应用程序。不,我的记忆让我失望。这些日子已经不再适用了。卸载,重新安装,安装程序会生成一个新的GUID。我不太清楚,如果我完全理解这一点,但肯定会担心让他们的通知图标欺骗的供应商已经签署了他们的应用程序。 – 2010-10-20 03:28:45

+0

问题是该图标将与您构建应用程序的目录相关联。 – SChepurin 2012-02-03 10:54:43