我猜你是把快捷键这段代码放在顶部了吧,这样的话,后面的代码就不会在脚本启动时执行了。gongnl wrote:如果我把上面的代码和tmplinshi wrote:你顶楼的代码还要加上等待“来自网页的消息”窗口出现才能成功。
32772 是 HSHELL_RUDEAPPACTIVATED 事件,在窗口激活时产生。最好是用另外一个消息 HSHELL_WINDOWCREATED,从名字可知道是窗口创建时产生。个人认为这个方法没有 WinEventHook 的方法好,毕竟这是监测窗口创建,而 WinEventHook 可以只监测 EVENT_SYSTEM_ALERT 消息。Code: Select all
#NoEnv #Persistent SetBatchLines, -1 DllCall("RegisterShellHookWindow", "ptr", A_ScriptHwnd) msgNum := DllCall("RegisterWindowMessage", "str", "SHELLHOOK") OnMessage(msgNum, "ShellProc") return ShellProc(wParam, lParam) { if (wParam = 1) { ; HSHELL_WINDOWCREATED = 1 WinGetClass, className, ahk_id %lParam% if (className = "Alternate Modal Top Most") { WinWait, 来自网页的消息 ControlSend,, {Enter} } } }
图片可以上传到 http://upload.otar.im/。放在一个脚本,就不能自动确认弹出对话框,分别运行就可以了,有办法能合在一起吗?Code: Select all
F2:: Pwb := WBGet() Pwb.document.getElementById("saveButton").click() return
解决方法:把快捷键的代码放在文件尾部即可。