サーバレス練習帳

着眼大局着手小局

【python】pythonからWindowsを操作する!

ctypesか?
qiita.com
Cで作ったdllも読み込めるっぽい。
www.gesource.jp

IHTMLDocument3
fanblogs.jp

上記のプログラムを動かすには、pywinautoが必要かもしれない。
github.com

qiita.com
pipは使わず、上記リンクの通りにやった。

そして、pywin32も必要かもしれない。
github.com

自分の環境のpythonのバージョンを見ながら、以下を選択。f:id:urbanplanner:20181031195541p:plain
pywin32-222.win-amd64-py3.6.exe

そして、easy_installというコマンドを使ってインストールしました。
blog.mudatobunka.org


次のように書くと、ウインドウが全て列挙できるようだ。
ラムダ式、初めて使った。

import win32gui

win32gui.EnumWindows(lambda x, _: print(str(x)+' : '+win32gui.GetClassName(x)+' : '+win32gui.GetWindowText(x)), None)

teratail.com

ところで、このスクリプト中のアンダースコアは・・・? 次によると、使わないので無視しましょう的な変数を意味するようだ。つまり、アンダースコアには何も代入されていない。
qiita.com

IEFrameのEnumChildWindowがやりたかったら、次のように書こう。

import win32gui

win32gui.EnumChildWindows(win32gui.FindWindow(u"IEFrame",None),lambda x, _: print(str(x)+' : '+win32gui.GetClassName(x)+' : '+win32gui.GetWindowText(x)), None)