2013-08-26 91 views
1

我有一個C#(VS 2012 Express)針對.NET框架2.0,它使用NotifyIcon組件創建一個托盤圖標。托盤NotifyIcon丟失,如果應用程序啓動系統

在用戶的開始菜單\啓動文件夾中有一個應用程序的快捷方式,導致圖標在Windows啓動時顯示在大多數時間。

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

從閱讀本文看來,我應該聽聽shell啓動事件並重新繪製我的托盤圖標,但是我不確定如何去做這件事,因爲.NET正在管理低級調用對我來說: http://msdn.microsoft.com/en-us/library/windows/desktop/cc144179(v=vs.85).aspx

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

更新:此問題僅在安裝Windows時自動登錄到默認用戶帳戶纔會出現。如果我手動註銷,然後再次登錄我的圖標顯示正確。

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

回答

2

我解決了這個問題,在我的窗體構造函數的末尾(調用InitializeComponents之後)切換NotifyIcon組件的可見性(從false到true)。

相關問題