今回は、Windowsのタスクトレイにアプリを常駐させる方法について紹介します。
あまり活躍の場はないかもしれませんが、常駐アプリを作りたくてやってみましたので紹介します。
ライブラリのインストール
まずはいつも通りライブラリのインストールからです。
今回は、pystrayというライブラリをインストールします。
インストールにはコマンドプロンプトを開いて以下の通り入力し実行します。
pip install pystray
実行結果は以下の通りです。

プログラムと実行結果
ではプログラム全体です。
import threading
from pystray import Icon,Menu,MenuItem
from PIL import Image
def tasktray_create():
try:
global icon
item=[]
options_map = {'Test': lambda: tasktray_test(),'Quit': lambda: tasktray_abort()}
for option,callback in options_map.items():
item.append( MenuItem(option,callback,default=True if option == 'Show' else False ) )
menu = Menu(*item)
image = Image.open("app.ico")
icon = Icon("name",image,"My System Tray Icon", menu)
icon.run()
finally:
tasktray_abort()
def tasktray_test():
print("TaskTray Test")
def tasktray_abort():
global icon
if icon != 0:
icon.stop()
def main():
#threading.Thread(target=tasktray_create).start()
print("Start TaskTray")
tasktray_create()
print("Quit TaskTray")
if __name__ == '__main__':
main()
実行結果は以下です。
Windowsのタスクトレイ内に、設定したアイコンが表示されています。
また、アイコンを右クリックすれば、設定したメニューが表示されます。
メニューは、TestとQuitの2つで、Testをクリックすれば”TaskTray Test”を出力
Quiteをクリックすれば、アプリが終了するように実装してあります。



続いてはプログラムの解説ですが、解説は次ページにて記載します。
コメント