问题标签 [system-tray]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
661 浏览

c# - 如何选择退出任务栏按钮和显示系统托盘图标

如何隐藏我的 VC# 应用程序任务栏按钮并改为显示系统托盘图标。然后,当我有图标时,如何显示 FDM 或 Windows 更新等通知,并在图标上添加右键菜单。

0 投票
7 回答
871 浏览

.net - 对于持续运行的调度程序,带有“系统托盘”图标的应用程序是否可以,或者我应该创建一个 Windows 服务?

要求 - 我有一个要在 Windows 环境中为我的应用程序运行的定期任务。它将有一个简单的界面,允许进行一些基本配置(例如,URL 和运行频率)。我希望它在机器运行时每 X 小时(可配置)运行一次。

问题 - 我是否只是为此创建一个具有系统托盘存在的应用程序?或者我应该创建一个具有独立 UI 的服务。

顺便说一句 - 我是使用 Visual Studio Express 开发的初学者 C#,请记住。此外,如果您可以快速概述您推荐的设计,这对于新手来说会非常有用(例如,如果您建议一项服务,这是否意味着您真的需要一个应用程序来提供服务,而另一个应用程序有一个为服务进行配置的 UI?)

0 投票
1 回答
428 浏览

winapi - 为什么我的属性表(从系统托盘图标显示)会锁定任务栏?

注意:代码示例已被简化,但整体结构保持不变。

我正在开发一个主界面是系统托盘图标的 Win32 应用程序。我创建了一个虚拟窗口,HWND_MESSAGE用作其父窗口,以接收图标的消息:

然后创建图标,指的是这个仅消息窗口:

双击托盘图标时,我创建并显示一个属性表(来自comctl32.dll):

属性表没有父窗口。该PropertySheet函数是从仅消息窗口的窗口过程调用的。未PSH_MODELESS设置标志;因此,PropertySheet只有在属性表窗口再次关闭后才返回:

现在这一切工作得很好,直到我在属性表页面之一的对话框过程中设置了一个断点:

当程序在断点处停止时,整个任务栏锁定

调用堆栈相当没用;它表明对话过程是从内部的某个地方调用的comctl32.dll,通过内部的一些调用user32.dll。中间没有我自己的窗口过程。

使属性表无模式似乎没有帮助。另外,我宁愿不这样做,因为它会使代码更复杂。

只要我的对话过程足够快地返回,这应该不是问题。但是看起来很奇怪,对话过程中更长的操作不仅会锁定对话本身,还会锁定整个外壳。我可以想象只有消息的窗口过程有能力导致这种行为,因为它与托盘图标更密切相关......但是这个函数没有显示在调用堆栈上。

我在做一些根本错误的事情吗?任何人都可以对这个问题有所了解吗?

0 投票
1 回答
3104 浏览

java - java 1.6 SystemTray图标在Windows启动时不出现

我有一个 Java 1.6 桌面应用程序,它从 Windows XP 上的批处理文件中的 javaw 开始。此批处理文件有一个 .lnk 链接,该链接位于 Windows 启动文件夹中,以便在每次系统启动时启动此应用程序。该应用程序使用 SystemTray 类在系统托盘上显示一个图标,以防它正在运行。手动启动此应用程序没有问题。如果它是由windows启动过程启动的,则没有显示图标(甚至没有空白图标),但是应用程序正在运行。启动过程也变慢了。我该如何克服呢?谢谢!

0 投票
2 回答
2567 浏览

c# - 如何使用 C# 处理 Windows 中图标托盘的事件

任何人都可以告诉我如何处理 Windows 中系统托盘的事件。

我的意思是,当有人点击系统托盘图标时,我想检查是否启用该应用程序。有什么方法可以捕获对应于系统托盘点击的事件。

0 投票
4 回答
5790 浏览

c# - C# - 在系统启动时最小化到托盘

在我的应用程序中,我可以选择在 Windows 启动时启动应用程序。这很好用。我也有它,以便在最小化时将应用程序最小化到系统托盘。有没有办法让它在与 Windows 同时启动时自动最小化?我能想到的唯一方法是检索系统运行的时间量,并使用该数据来确定机器是否最近启动。显然,这个理论有很多缺陷。有人对如何做到这一点有任何其他想法吗?

0 投票
6 回答
14288 浏览

c# - 如何防止退出时在系统托盘中留下图标?

我的程序在系统托盘中放置了一个图标,因为用户可以将其最小化。但是,如果应用程序崩溃,或者我停止应用程序在 VS 中运行,它会将图标留在其中,直到我将鼠标悬停在它上面。有时我会往下看,那里会有 10 个左右的图标。

我可以确保图标消失吗?

0 投票
1 回答
2366 浏览

c++ - Qt的自定义系统托盘图标“气球工具提示”?

我知道在 .NET 框架中,有一些用于普通系统托盘图标“气球提示”的替代第三方控件,它们允许您更改颜色并为气球添加一些样式。

我想知道 Qt 是否有类似的东西,它允许从系统托盘图标更好地自定义气球工具提示的外观、样式和感觉。

0 投票
2 回答
2144 浏览

delphi - 系统托盘图标在启动时未出现

我在 FormCreate 事件处理程序中使用以下代码来创建系统托盘图标。当我运行我的程序时,系统托盘图标看起来很好。

我将我的应用程序设置为在 Windows 启动时自动启动。当我重新启动计算机时,我的应用程序进程已启动,但系统托盘图标从未出现。

我认为这可能与代码运行的时间有关,也许系统托盘还没有准备好填充。

我让我的应用程序在启动时通过它的 NSIS 安装程序运行:WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "MyApp" "$INSTDIR\ MyApp.exe"

创建系统托盘图标的代码:

0 投票
2 回答
90 浏览

c# - C# 应用程序未启动最小化

我已经构建了一个 C# 应用程序,我想在通知区域中启动它。图标在运行时出现,并没有出现在任务栏中(由于 ShowInTaskbar = false & WindowState = Minimized)。但是,当它第一次运行时,我仍然可以使用 alt-tab 键。有没有办法防止这种行为?还是我错过了某个地方的设置?

谢谢,心理学