Autohotkey AHK:在弹出窗口时关闭窗口

Autohotkey AHK:在弹出窗口时关闭窗口,autohotkey,Autohotkey,我写了一个AHK脚本,当我按F9时,它可以从AdobeAcrobat复制文本。然后根据正则表达式对其进行更改,并在工具提示中显示复制的文本。此外,我添加了代码来自动关闭Acrobat在处理文本时有时会显示的恼人窗口,这是一个臭名昭著的现象,当此窗口不显示时,脚本会不断显示工具提示,该提示设计为在指定的时间后关闭。我一直把头撞在墙上,但我不知道该怎么纠正 ;#NoTrayIcon #Persistent #SingleInstance F9:: #If WinActive("ahk_exe Acr

我写了一个AHK脚本,当我按F9时,它可以从AdobeAcrobat复制文本。然后根据正则表达式对其进行更改,并在工具提示中显示复制的文本。此外,我添加了代码来自动关闭Acrobat在处理文本时有时会显示的恼人窗口,这是一个臭名昭著的现象,当此窗口不显示时,脚本会不断显示工具提示,该提示设计为在指定的时间后关闭。我一直把头撞在墙上,但我不知道该怎么纠正

;#NoTrayIcon
#Persistent
#SingleInstance
F9::
#If WinActive("ahk_exe Acrobat.exe")
{
Clipboard:=""
send,^c
ClipWait, 1
Clipboard := RegExReplace(Clipboard, "\r\n", " ")
SetTimer,CheckForMsgBox,100
CheckForMsgBox:
    IfWinExist, Adobe Acrobat
    {
        Send {Enter}
        SetTimer,CheckForMsgBox,Off
    }
;Return
If (StrLen(Clipboard) < 120)
ToolTip % Clipboard
Else
ToolTip Copied
SetTimer, ToolTipOff, -1000
return
}
#If

ToolTipOff:
ToolTip
return
#诺特雷肯
#持久的
#单实例
F9::
#如果WinActive(“ahk_exe Acrobat.exe”)
{
剪贴板:=“”
发送,^c
克利普韦特,1
剪贴板:=RegExReplace(剪贴板,“\r\n”,”)
SetTimer,CheckFormsBox,100
复选框:
IfWinExist,Adobe Acrobat
{
发送{Enter}
设置计时器,复选框,关闭
}
;返回
如果(StrLen(剪贴板)<120)
工具提示%剪贴板
其他的
工具提示已复制
设置计时器,工具提示,-1000
返回
}
#如果
工具提示:
工具提示
返回
#诺特雷肯
; #持久的(1)
#单实例
SetTimer,CheckFormsBox,100;(2)
返回
#如果WinActive(“ahk_exe Acrobat.exe”);(3)
F9::
剪贴板:=“”
发送,^c
克利普韦特,1
剪贴板:=RegExReplace(剪贴板,“\r\n”,”)
如果(StrLen(剪贴板)<120)
工具提示%剪贴板%
其他的
工具提示已复制
设置计时器,工具提示,-1000
返回
#如果;关闭上下文敏感度
工具提示:
工具提示
返回
复选框:
; ControlSend,控件,键,WinTitle,WinText,ExcludeTitle,ExcludeText
ControlSend,{Enter},Adobe Acrobat;每当出现此不需要的窗口时,请将其关闭
返回
(1) 包含热键、热字符串或OnMessage()或Gui的任何用法的脚本将自动持久化

(2) SetTimer使子例程(标签)以指定的时间间隔自动重复启动

(3) 与#IfWin指令一样,#If是位置的:它在脚本中影响它下方的所有热键和热字符串

#诺特雷肯
; #持久的(1)
#单实例
SetTimer,CheckFormsBox,100;(2)
返回
#如果WinActive(“ahk_exe Acrobat.exe”);(3)
F9::
剪贴板:=“”
发送,^c
克利普韦特,1
剪贴板:=RegExReplace(剪贴板,“\r\n”,”)
如果(StrLen(剪贴板)<120)
工具提示%剪贴板%
其他的
工具提示已复制
设置计时器,工具提示,-1000
返回
#如果;关闭上下文敏感度
工具提示:
工具提示
返回
复选框:
; ControlSend,控件,键,WinTitle,WinText,ExcludeTitle,ExcludeText
ControlSend,{Enter},Adobe Acrobat;每当出现此不需要的窗口时,请将其关闭
返回
(1) 包含热键、热字符串或OnMessage()或Gui的任何用法的脚本将自动持久化

(2) SetTimer使子例程(标签)以指定的时间间隔自动重复启动

(3) 与#IfWin指令一样,#If是位置的:它在脚本中影响它下方的所有热键和热字符串


请澄清所需的行为和问题所在。脚本中的“代码> CuthFrassgBox <代码>的目的是什么?请澄清什么是期望的行为,什么是问题。在脚本的中间,<代码> CuthFrassgBox <代码>的目的是什么?我非常感谢你的回答和评论!效果很好。我非常感谢你的回答和评论!
;#NoTrayIcon
; #Persistent ; (1)
#SingleInstance
SetTimer,CheckForMsgBox,100 ; (2)
return

#If WinActive("ahk_exe Acrobat.exe") ; (3)

F9::    
clipboard:=""
send,^c
ClipWait, 1
Clipboard := RegExReplace(Clipboard, "\r\n", " ")
If (StrLen(Clipboard) < 120)
    ToolTip %Clipboard%
Else
    ToolTip Copied
SetTimer, ToolTipOff, -1000
return

#If  ; turn off context sensitivity

ToolTipOff:
ToolTip
return

CheckForMsgBox:
; ControlSend, Control, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText
ControlSend, , {Enter}, Adobe Acrobat  ; Close this unwanted window whenever it appears
return