サーバレス練習帳

着眼大局着手小局

久々にpythonでPCログ取得装置

【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