【问题标题】:Force Windows to show a system tray icon强制 Windows 显示系统托盘图标
【发布时间】:2010-10-31 19:46:15
【问题描述】:

这是一个非常愚蠢的问题,但这里是:

有没有办法(在 .net 中)强制 Windows 显示系统托盘图标而不是隐藏它?我不想一直这样做,但至少在我的应用程序第一次运行时,我希望它在系统托盘中可见。

【问题讨论】:

  • 不,它不需要在系统托盘中可见。这取决于用户。不要依赖您的应用程序在系统托盘中可见,因为它可能不可见。 (正如JP所说,在Win7中,用户完全可以控制它)。
  • 我什么时候说我靠什么了?我只是想知道这是否可能。
  • 我希望不会。 IMO,系统托盘应该完全在用户控制之下。
  • +1 这不是一个愚蠢的问题。您可以通过 API 对用户的桌面做各种令人讨厌的事情,因此恕我直言,这不是不可能的事情。例如,您可以弹出一条消息并通知用户他/她正在运行 Win7,并询问是否应该始终显示图标,如果它对用户很重要。
  • 真的让我很困扰,有多少人会接受这样的想法,称它是一个糟糕的问题。它是否坏完全取决于它是如何使用的。是的,在商业程序中这样做可能并不好。但是,如果我只想定制我的系统托盘在我的计算机上的外观,并且如果我想在 C# 中完成而不是使用 Windows 菜单,那么没有理由认为这很糟糕!

标签: .net windows .net-2.0 system-tray


【解决方案1】:

它不会显示,因为即使您卸载应用程序,显示设置也会保存在 PastIconsStream 注册表项下。即使尚未安装应用程序,Windows 也会保存图标标识符的设置。对于第一次安装,它会出现,然后隐藏自己(我认为这是你想要实现的)。对于后续安装,它不会再出现,因为 Windows 会记住该设置。如果您仍在测试您的应用程序,请尝试清除 PastIconsStream 注册表项。这将恢复为“先显示,然后隐藏”的行为。

【讨论】:

  • 啊……这解释了我之前的经历。不久前我想我的安装可能有些不同,因为从那时起我就注意到其他机器上的“先显示,然后隐藏”。谢谢。
【解决方案2】:

没有办法强制它可见(如上所述,这是正确的),但是如果您显示气球通知(就像 Windows Live Messenger 在您第一次尝试关闭窗口时所做的那样),您的图标将会出现而气球是可见的。您也可以使用它来吸引人们对您的应用的注意,说“看着我,我在这里!”。

为了您的用户,请让它最多只执行一次!

【讨论】:

  • 感谢您的建议。我可能会也可能不会尝试这种方法。即使使用过一次,我认为这个想法也会让用户感到厌烦。无论我做什么,我都承诺负责任地编码。我讨厌那些认为他们也知道什么对我最好的程序;-)
【解决方案3】:

第一次显示托盘图标时,它会显示出来,至少会显示一小段时间。剩下的就留给用户了——如果他们想隐藏它,那么你应该尊重这个决定。

【讨论】:

  • 我完全尊重用户的意图。谢谢。
  • @Andrew:那就没什么可做的,第一次使用就会显示
  • 不幸的是,在我的测试中并非如此。也许这是一个反常现象,但我相信 Windows 会立即隐藏我的图标。这会让一些用户感到困惑。只是想看看有没有办法“看着我。我在下面!”安装后。
【解决方案4】:

正如 Raymond Chen 所说,“想象一下,如果这可能的话。”现在告诉我有多少应用会选择来强制它们的托盘图标始终可见!每个人都认为他们的托盘图标是最重要的。如果有一种编程方式来表示“一直显示我的托盘图标”,我们将回到 Windows 95。

托盘图标隐藏的配置是故意留给用户的。如果您想始终在计算机上看到托盘图标,没有什么能阻止您。只需右键单击展开器按钮,单击“自定义通知图标”(这就是在 Vista 中的名称,可能在其他操作系统版本中有所不同),在列表中找到您应用的托盘图标,然后选择“显示”。

【讨论】:

    【解决方案5】:

    您是否了解 Windows 7?如果是,那么no

    【讨论】:

    • 感谢您的链接。这就是我需要知道的。
    • 如果答案是否定的,那么 Skype 图标怎么可能始终可见,米兰达 IM 也是如此。我没有在控制面板中更改它们的设置。
    • @Wodzu - 我测试了 Miranda,它实际上并不总是显示图标(您必须等待大约一分钟,图标才会消失,这是最近出现的托盘图标的默认行为安装)。另外值得注意的是,Windows 7 会记住您对以前托盘项目的设置,即使在卸载后也是如此 - 如果是这种情况,您可能已将其设置为始终显示在以前的安装中。
    • @Maranas 感谢您的测试。你是对的,这是设置的情况。
    • 我已经在 Windows 7 上安装了 f.lux。它的图标总是显示在托盘中。所有其他应用程序都进入“显示隐藏的图标”。见imgur.com/a/B2OlLZU。助焊剂是怎么做到的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多