NotifyIcon在启动时

时间:2010-09-28 15:46:11

标签: c# .net winforms notifyicon trayicon

我尝试使用NotifyIcon组件在Windows启动时制作我的程序的可见托盘图标。

程序本身效果很好,托盘图标显示出来。

但是,当我将程序放入计算机启动时,托盘图标并不总是显示,而程序本身运行没有任何问题,并且其主窗口可见。

此处不涉及自定义代码,所有代码都是自动生成的。

在Windows 7旗舰版上运行。

如何使托盘图标始终显示在Windows启动中?

2 个答案:

答案 0 :(得分:2)

  在Windows启动中

如果您的意思是运行操作系统启动时间(例如,通过向HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run或服务添加条目),则该进程在不同的会话中运行,并且无法访问UI。

如果您希望在OS启动上运行进程以进行交互,则需要两个应用程序:一个在启动时运行并暴露某种形式的0进程间通信(IPC),以及两个UI应用程序,它使用第一个应用程序IPC与之通信。

您也可以(根据您的目标用户)考虑以下情况:(1)没有人登录系统(例如无头服务器),以及(2)多个用户登录的情况(例如远程桌面连接到共享系统。)

过去,服务可以配置为向控制台用户的UI添加项目,但这在Vista中被阻止(因为它打开了安全漏洞)。

答案 1 :(得分:0)

你可能会在隐藏的图标中找到它。在Win7上单击“显示隐藏的图标”箭头,单击“自定义”并覆盖该行为。