2016-04-21 65 views
1

我使用AutoItX3.Control通過win32com.client檢測並關閉Windows安全對話框(「你信任...」)。我使用窗口標題\文本WinExist和它運行良好時運行python腳本(Autoit版本是3.3.8.1)。autoit不​​檢測編譯的python腳本中的窗口

問題出在編譯後的Python腳本(用PyInstaller編譯)。沒有檢測到窗口,我無法關閉它。當我運行Autoit應用程序(SciTE4AutoIt3)時,它會檢測窗口。

有什麼建議嗎?

/////加入一些更多的信息: 使用以下的AutoIt選項:

Opt('WinWaitDelay', 500) 
Opt('SendKeyDelay', 8) 
Opt('WinTitleMatchMode', 4) 
Opt('WinSearchChildren', 1) 
Opt('SendKeyDownDelay', 10) 
Opt('WinDetectHiddenText', 1) 

也,進出口運行在另一過程中的AutoIt作爲Process類的實例(Process(target=handle_window_func)

回答

0

通過同時運行AutoIt的功能和過程觸發彈出窗口在同一個腳本和監測彈出解決,同時運行的過程: popup_p = Popen(*cmd_args, no_wait=True, *cmd_kwargs) while popup_p.is_running(): handle_window_func() time.sleep(1) 注意Popen使用no_wait運行 - 返回進程而無需等待它完成。

0

您是否嘗試使用經典方法來設置活動X選項?像:

oAutoItx.AutoItSetOption("WinTitleMatchMode", 4)

代替: oAutoItx.Opt("WinTitleMatchMode", 4)

而且AutoItx求助說: 「模式4(」 只 「養了向後兼容)」。 所以檢查你的選擇,並採取最簡單的,你可以使用。

+0

AutoItSetOption和Opt有什麼區別? –