[英]Effective way to make a system tray application
這是我關於Stack Overflow的第一篇文章,我只是想知道制作系統任務欄應用程序的選項。 該應用程序將在仍運行的同時從系統托盤運行,並且在單擊時可以調入窗口。 還需要對全局按鍵跟蹤有一些支持,以打開一個窗口。
我很想知道我可以使用哪些選項,因為我敢肯定有很多方法可以做到這一點。 盡管我對C ++有所了解,但我對Java最熟悉。 我願意探索其他語言,如果他們有一定的特權,盡管以某種方式使用我所知道的東西會很好。
謝謝
Java 6具有新功能,可以創建使用系統托盤的應用程序。
Java SE 6中的 “ 新系統托盤功能”一文進行了詳細介紹,並提供了一些示例代碼。
java.awt
包中新添加的SystemTray
和TrayIcon
類可用於將圖標添加到系統托盤。 這些圖標可以響應鼠標單擊並使用彈出菜單。 但是,此新功能是AWT的一部分,因此在與Swing組件集成方面做得不好。
這是一個用Java 6中的SystemTray
和TrayIcon
類制作的小時鍾顯示在系統托盤中的示例:
(來源: coobird.net )
請在此處小心使用托管的應用程序和Java。 紙盒應用程序始終運行。 因此,如果編寫不當,則可以使用足夠的系統資源來干擾其他事物。
一般而言,托管代碼或Java沒什么問題,但要使托管或Java應用程序在內存,I / O和CPU時間方面保持節儉,可能會更加困難。
我是作為Windows性能團隊的一名開發人員來這么說的-我們已經看到很多很多非常簡單的托盤應用程序。 是的,有些甚至是Windows或MSFT應用程序。
編寫非常輕巧的托盤應用程序可能是一種更好的方法,該應用程序在用戶需要時啟動更豐富的過程。 您可以在底層Win32 API之上,用簡單的C ++編寫try應用。 如果您不想直接使用Win32 API,則可以使用Windows模板庫 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.