【1】 venvで環境構築
serverless.hateblo.jp
C:\python>python -m venv dtc C:\python>dtc\Scripts\activate (dtc) C:\python>cd dtc (dtc) C:\python\dtc>mkdir src (dtc) C:\python\dtc>cd src (dtc) C:\python\dtc\src>mkdir pclog1 (dtc) C:\python\dtc\src>cd pclog1 (dtc) C:\python\dtc\src\pclog1>python --version Python 3.6.8
【2】win32guiのインストール
serverless.hateblo.jp
⇒ この記事の(4)を参照の子こと。
「pywin32-228.win-amd64-py3.6.exe」をダウンロードしてみました。
easy_installを使ってインストールします。
(dtc) C:\python\dtc\src\pclog1>easy_install pywin32-228.win-amd64-py3.6.exe
⇒ インストールできました。
【3】最前面のウインドウを表示
serverless.hateblo.jp
window.py
from win32gui import EnumWindows,GetWindowText,GetClassName,GetForegroundWindow hWnd = GetForegroundWindow() print(hWnd,' : ',GetWindowText(hWnd),' : ',GetClassName(hWnd))
(dtc) C:\python\dtc\src\pclog1>python window.py 133064 : コマンド プロンプト - python window.py : ConsoleWindowClass
⇒ 動いたね。
【4】wxをインストール
(dtc) C:\python\dtc\src\pclog1>pip install wxpython (dtc) C:\python\dtc\src\pclog1>pip freeze numpy==1.19.2 Pillow==8.0.1 pywin32==228 six==1.15.0 wxPython==4.1.0
【5】タイマープログラム
bty.sakura.ne.jp
wxの機能で、タイマーのプログラムを作れるんですね。
⇒ タイマーが動くことを確認。
【6】タスクトレイ常駐用アイコンの作成
serverless.hateblo.jp
⇒ イヌのアイコンにしておこうかな。
【7】タスクトレイ常駐アプリ作成
qiita.com
⇒ とりあえず、そのまま作って動かしてみた。
【8】win32guiではなくctypesではどうか?
python標準のctypesだけでもいけるのではないか?こちらのソースコードを参考にした。
github.com
【9】exe化
serverless.hateblo.jp
pyinstallerをインストールします。
(dtc) C:\python\dtc>pip install pyinstaller altgraph==0.17 future==0.18.2 numpy==1.19.2 pefile==2019.4.18 Pillow==8.0.1 pyinstaller==4.0 pyinstaller-hooks-contrib==2020.9 pywin32==228 pywin32-ctypes==0.2.0 six==1.15.0 wxPython==4.1.0
よし、実行してみよう。
(dtc) C:\python\dtc\src\pclog1>pyinstaller --onefile --windowed --icon=logo.ico main.py