我有一個UI應用程序,它提供幾種功能(< 800KB)。我想允許將它最小化到系統托盤,並繼續解碼來自串行端口的數據併發送網絡消息。最小化對系統托盤的影響
我可以簡單地隱藏主窗體並在系統托盤中創建NotifyIcon,或者是否有系統托盤應用程序的其他注意事項?應用程序在隱藏時是否使用較少的資源?或者最好是爲系統托盤製作一個簡單版本的應用程序(帶有重複代碼)?
我的應用程序執行2種不同的應用程序(相關功能)。在完成編碼之前,我正在試圖預測這些影響。
我有一個UI應用程序,它提供幾種功能(< 800KB)。我想允許將它最小化到系統托盤,並繼續解碼來自串行端口的數據併發送網絡消息。最小化對系統托盤的影響
我可以簡單地隱藏主窗體並在系統托盤中創建NotifyIcon,或者是否有系統托盤應用程序的其他注意事項?應用程序在隱藏時是否使用較少的資源?或者最好是爲系統托盤製作一個簡單版本的應用程序(帶有重複代碼)?
我的應用程序執行2種不同的應用程序(相關功能)。在完成編碼之前,我正在試圖預測這些影響。
我寫了幾個使用NotifyIcon的應用程序。把它放在通知區域(系統托盤)沒有什麼特別之處。它只是在工具欄上不再可見。
IMO在你的情況最好的辦法是使Windows服務,將解碼來自串行端口的數據和發送消息。和其他Winforms應用程序,只會設置偏好和服務狀態,可以去托盤。也許你真的不需要這個托盤應用程序,只需要windows服務,你可以通過配置文件設置首選項,並通過EventLog監視狀態。
當然,如果有可能從Windows服務運行,例如。您的串行端口和網絡代碼不需要記錄用戶或桌面。
我需要查看編程Windows服務所需的內容,如何從WinForm與它進行通信,如何使用來自另一個進程的消息等等。在我的應用程序中,串行數據是分段的,因此主窗體從中獲取數據片段並將它們發送給解碼器實例,解碼器實例將它們重新組裝並解碼數據,並將其發送回主窗體以供在屏幕上顯示,並且還發送到網絡通知器實例(發送字符串消息)。 – OIO 2010-09-02 03:56:38
我想說,在800KB的情況下,你可能不需要擔心內存消耗。 – kbrimington 2010-09-02 02:10:41