簡體   English   中英

如果應用程序以系統啟動,則紙盤NotifyIcon丟失

[英]Tray NotifyIcon missing if application starts with system

我有一個針對.NET Framework 2.0的C#(VS 2012 Express),該框架使用NotifyIcon組件創建任務欄圖標。

用戶的“開始”菜單\\“啟動”文件夾中有一個應用程序的快捷方式,大多數情況下,當Windows啟動時,該圖標會出現在任務欄中。

但是,在某些情況下,可執行文件會在系統啟動時啟動,但是托盤中缺少該圖標。 但是,我沒有一套可靠的步驟來重現此問題。

通過閱讀本文,看來我應該在監聽shell啟動事件並重新繪制我的任務欄圖標,但是我不確定該怎么做,因為.NET正在為我管理低級調用: http ://msdn.microsoft.com/en-us/library/windows/desktop/cc144179(v = vs.85)的.aspx

任何指針將不勝感激。 謝謝!

更新:僅當我將Windows設置為自動登錄到默認用戶帳戶時,才會出現此問題。 如果我手動注銷然后再次登錄,我的圖標將正確顯示。

更新:看來,如果我手動關閉並重新啟動Explorer.exe,該圖標將正確重繪。

我通過在表單構造函數的末尾(調用InitializeComponents之后)切換NotifyIcon組件的可見性(從false到true)解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM