ダイアログの「はい」ボタンのハンドルを取得しようとしているので、メッセージを送信してクリックできます。
ダイアログが表示されたら、ボタンを見つけようとしますが、常に0が返されます。
import win32gui
hwnd = win32gui.FindWindow("#32770", "Programs and Features")
# got back the correct handle to the dialog
win32gui.SetForegroundWindow(hwnd)
btnhdl = win32gui.FindWindowEx(hwnd, 0, "Button", "&Yes")
# returns 0
ボタンはそこにあり、クラスとタイトルは大丈夫のようです。私はこれによってそれを確認しました:
def printClasses(childHwnd, lparam):
if win32gui.GetWindowText(childHwnd) == "&Yes":
print win32gui.GetClassName(childHwnd), win32gui.GetWindowText(childHwnd)
return 1
win32gui.EnumChildWindows(hwnd, printClasses, None)
# output: Button &Yes
すべてがうまくいくように見えますが、なぜそれがハンドルを返さないのFindWindowEx
ですか?
ありがとう