1

我需要知道用户是否隐藏了我的程序添加到系统托盘区域的图标。技术上可行吗?

更新我的程序 - yowindow在系统托盘图标中显示当前温度。我想通过不为没有看到托盘图标的用户自动更新天气来减轻服务器负载。

4

2 回答 2

3

不。

即使你有这些信息,你会怎么做?

(警告 - 我想你可以做一个屏幕抓取,找出任务栏的位置,找出系统托盘的位置,“解析”每个图标,然后将每个图标与你自己的图标进行位图比较。但真的......)

看看这个相关的问题可能是值得的

基于第一次编辑问题

我明白你的意思。但是从 windows API 设计器的 POV 来看。它们为以“始终可见”的方式创建图标提供了便利。每个人+狗都继续在其中放置一个图标,假设用户总是想了解他们的产品(请注意,我并不是说你在这个组中)。

他们已经注意到了这种失控的行为,虽然他们现在不能取消创建这些图标的能力,但他们希望给用户控制权。

现在我们来解决这个问题。想象一下,你是一个不够开明的开发人员。如果您检测到您的图标已被隐藏,则会弹出一条消息,提示用户取消隐藏您的图标。也许您每次登录都会这样做一次。也许你每半小时做一次。这只是一般级别的用户烦恼,类似于在托盘中出现 40 个图标,而用户并不关心其中的大部分

问题是 - 如果您正在设计一个 API 以允许开发人员发现他们的图标是否实际上是隐藏的。您如何允许您的良性使用,同时防止上一段中的行为?花几分钟假装自己是 Windows API 设计者,并尝试编写必要的函数(为了争论,假设烦人的开发人员不愿意实现 IAmEvil 接口或其他任何东西,或者会愿意实现 IOnlyDoGood 接口...)

希望您的图标有用,并且用户将 a) 显示您的图标,或 b) 删除您的应用程序(如果它没有做他们想要/需要的)

于 2010-03-18T08:14:08.013 回答
1

据我所知,没有API函数可以解决这个问题。您可以在安装后直接从托盘显示一条消息,告诉用户该图标可能已隐藏。并不是说它会有所帮助,但这是你能做的。我已经看到通过定期显示该消息来欺骗用户的程序,但这确实不是一件好事。

于 2010-03-18T09:37:05.423 回答