Post by tmplinshi » 25 Sep 2016, 01:04
用这个
CbtHook_32.dll 可以解决
Code: Select all
#NoEnv
#Persistent
SetBatchLines, -1
DetectHiddenWindows, On
#SingleInstance, force
OnExit, QUIT
Gui, Add, Button, w400 h100, 确认
Gui, Show
sMsg := "CYRUZ_CBTHOOK_MSG_HCBT_ACTIVATE"
nMsg := DllCall( "RegisterWindowMessage", Str,sMsg )
OnMessage(nMsg, "test")
hDll := DllCall( "LoadLibrary", Str,"CbtHook_32.dll" )
DllCall( "CbtHook_32.dll\SetCbtHook", Ptr,A_ScriptHwnd, UInt,0 )
Return
test(wParam, lParam, msg, hWnd) {
static WM_COMMAND := 0x0111
, BN_CLICKED := 0
, IDOK := 1
Critical
WinGetTitle, sTitle, ahk_id %wParam%
if (sTitle = "来自网页的消息") {
PostMessage, WM_COMMAND, (BN_CLICKED << 16) | IDOK, 0,, ahk_id %wParam%
}
}
Button确认:
Pwb := WBGet()
Pwb.document.getElementById("saveButton").click()
return
GuiClose:
ExitApp
QUIT:
DllCall( "CbtHook_32.dll\UnsetCbtHook" )
ExitApp
其实改写 confirm 函数的方法最适合你啊,一句话就搞定。
用这个 [url=https://autohotkey.com/boards/viewtopic.php?f=6&t=889]CbtHook_32.dll[/url] 可以解决
[code]#NoEnv
#Persistent
SetBatchLines, -1
DetectHiddenWindows, On
#SingleInstance, force
OnExit, QUIT
Gui, Add, Button, w400 h100, 确认
Gui, Show
sMsg := "CYRUZ_CBTHOOK_MSG_HCBT_ACTIVATE"
nMsg := DllCall( "RegisterWindowMessage", Str,sMsg )
OnMessage(nMsg, "test")
hDll := DllCall( "LoadLibrary", Str,"CbtHook_32.dll" )
DllCall( "CbtHook_32.dll\SetCbtHook", Ptr,A_ScriptHwnd, UInt,0 )
Return
test(wParam, lParam, msg, hWnd) {
static WM_COMMAND := 0x0111
, BN_CLICKED := 0
, IDOK := 1
Critical
WinGetTitle, sTitle, ahk_id %wParam%
if (sTitle = "来自网页的消息") {
PostMessage, WM_COMMAND, (BN_CLICKED << 16) | IDOK, 0,, ahk_id %wParam%
}
}
Button确认:
Pwb := WBGet()
Pwb.document.getElementById("saveButton").click()
return
GuiClose:
ExitApp
QUIT:
DllCall( "CbtHook_32.dll\UnsetCbtHook" )
ExitApp[/code]
其实改写 confirm 函数的方法最适合你啊,一句话就搞定。