积极答复者
软件启动时,未在任务栏显示程序图标

问题
-
答案
-
导致这个问题的主要现象,在程序启动时显示了登录窗口,此时任务栏有登录窗口的图标。登录窗口是一个普通对话框。
然后MainFrame设置了延迟显示,关闭登录窗口时,为了避免闪缩,没有调用ShowWindow,而是直接调用了RedrawWindow强制重刷窗口,然后任务栏里的图标,登录窗口的图标关闭以后,MainFrame的窗口的任务图标就没了。应该是没有调用showWindow的原因。
现在没办法只好调用一次ShowWindow,启动时界面有些闪缩。但是任务栏图标有了。
- 已标记为答案 BruceLiu_sh 2020年3月24日 1:28
全部回复
-
你好,
感谢您在MSDN论坛发帖提问。
>>需要手工发一个任务栏显示程序图标的消息。请问这个用什么显示?
我建议你可以尝试使用NOTIFYICONDATA结构和Shell_NotifyIcon()函数来实现图标的显示。
NOTIFYICONDATAA结构包含系统在通知区域中显示通知所需的信息。然后使用Shell_NotifyIcon()函数在任务栏中显示图标。该函数的作用是将消息发送给任务栏的状态区域,系统收到消息后,进行后续处理。
Best Regards,
Jeanine Zhang
-
Shell_NotifyIcon()这个函数在任务栏的最右边的托盘区增加图标吧?
现在程序是在任务栏就没显示图标
具体情况是:
登录窗口时,任务栏显示登录窗口图标。
登录结束,关闭登录窗口,任务栏把登录窗口图标销毁。然后没有显示MainFrame的图标。这是主程序显示了。
如果最小化主程序,任务栏图标也不现实。导致程序无法恢复显示了。
用alt+tab切换任务,能看到程序。在这里激活程序,任务栏开始可以显示图标了。从此以后正常。
-
导致这个问题的主要现象,在程序启动时显示了登录窗口,此时任务栏有登录窗口的图标。登录窗口是一个普通对话框。
然后MainFrame设置了延迟显示,关闭登录窗口时,为了避免闪缩,没有调用ShowWindow,而是直接调用了RedrawWindow强制重刷窗口,然后任务栏里的图标,登录窗口的图标关闭以后,MainFrame的窗口的任务图标就没了。应该是没有调用showWindow的原因。
现在没办法只好调用一次ShowWindow,启动时界面有些闪缩。但是任务栏图标有了。
- 已标记为答案 BruceLiu_sh 2020年3月24日 1:28