1. 程式人生 > >Win32gui 無效視窗控制代碼

Win32gui 無效視窗控制代碼

在用模擬瀏覽器上傳檔案時,用win32gui查詢視窗,並輸入檔案路徑,點選確定上傳。然而在設定開啟視窗焦點時,報錯了:

xx是 無效視窗控制代碼

經過spy++排查,確定視窗類和名稱都無誤,後來經過多次測試,發現問題是:視窗開啟太慢,在視窗開啟之前就開始查詢視窗了,當然就找不到了。所以要等一等,一秒也行。

time.sleep(1)

部分python程式碼片段如下:

ele_file.click()
time.sleep(1)

print("開啟檔案選擇彈框")
procHandle = win32gui.FindWindow(None, "開啟")
win32gui.
SetForegroundWindow(procHandle) print("設定檔案") edit = win32gui.FindWindowEx(procHandle, 0, "ComboBoxEx32", None) win32api.SendMessage(edit, win32con.WM_SETTEXT, 0, localPath) print("點選開啟按鈕") openBt = win32gui.FindWindowEx(procHandle, 0, "Button", '開啟(&O)') win32api.PostMessage(openBt, win32con.WM_LBUTTONDOWN,
0, 0) win32api.PostMessage(openBt, win32con.WM_LBUTTONUP, 0, 0)