Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何确保在加载系统托盘后运行启动程序?_C#_Windows_System Tray - Fatal编程技术网

C# 如何确保在加载系统托盘后运行启动程序?

C# 如何确保在加载系统托盘后运行启动程序?,c#,windows,system-tray,C#,Windows,System Tray,我有一个windows窗体应用程序,它是从网络登录脚本启动的。此应用程序使用的表单保持隐藏,但在系统托盘中有一个NotifyIcon。用户使用NotifyIcon菜单与程序交互。我遇到的问题是,当脚本运行时,即使进程在后台运行,也不会显示NotifyIcon。因此,用户不知道程序是否正在运行。这种情况并非总是发生,但我相信在系统托盘准备就绪之前应用程序尝试启动时会发生 如何确保在加载系统托盘后运行启动程序?您不能简单地每隔几秒钟刷新一次Notify图标吗?(移除并再次添加)侦听创建的TaskBa

我有一个windows窗体应用程序,它是从网络登录脚本启动的。此应用程序使用的表单保持隐藏,但在系统托盘中有一个
NotifyIcon
。用户使用
NotifyIcon
菜单与程序交互。我遇到的问题是,当脚本运行时,即使进程在后台运行,也不会显示
NotifyIcon
。因此,用户不知道程序是否正在运行。这种情况并非总是发生,但我相信在系统托盘准备就绪之前应用程序尝试启动时会发生


如何确保在加载系统托盘后运行启动程序?

您不能简单地每隔几秒钟刷新一次Notify图标吗?(移除并再次添加)侦听创建的TaskBar消息。可能重复@RaymondChen您知道除了通过计算机重新启动之外,还有什么方法可以轻松地测试它吗?我已经用C#中创建的TaskBar实现了该解决方案,当我尝试通过杀死explorer.exe并重新启动来进行测试时,我的方法被正确调用。但是,我注意到,即使没有我的代码,图标也被正确地重新绘制。您是否考虑过一个或多个虚拟机?您不能简单地每隔几秒钟刷新一次Notify图标吗?(移除并再次添加)侦听创建的TaskBar消息。可能重复@RaymondChen您知道除了通过计算机重新启动之外,还有什么方法可以轻松地测试它吗?我已经用C#中创建的TaskBar实现了该解决方案,当我尝试通过杀死explorer.exe并重新启动来进行测试时,我的方法被正确调用。但是,我注意到,即使没有我的代码,图标也被正确地重新绘制。您是否考虑过一个或多个虚拟机?