Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Automation 自动热键:捕捉&;在没有人机交互的情况下操作窗口_Automation_Window_Autohotkey - Fatal编程技术网

Automation 自动热键:捕捉&;在没有人机交互的情况下操作窗口

Automation 自动热键:捕捉&;在没有人机交互的情况下操作窗口,automation,window,autohotkey,Automation,Window,Autohotkey,一些听起来非常基本的东西花费了很多时间:如何编程一个自动热键脚本来等待一个特定的窗口,然后接受它,Send{enter},关闭它?在这种情况下,每次打开某个程序的特定文件类型时,都会出现一个恼人的设置确认对话框。还有一个小问题是,windows标题每次都会更改,而它的ahn_类则与母程序共享,这是我试图通过按像素大小捕捉窗口来解决的问题: #IfWinActive ahk_class SALFRAME ~LButton:: WinGetActiveStats, , width,

一些听起来非常基本的东西花费了很多时间:如何编程一个自动热键脚本来等待一个特定的窗口,然后接受它,
Send{enter}
,关闭它?在这种情况下,每次打开某个程序的特定文件类型时,都会出现一个恼人的设置确认对话框。还有一个小问题是,windows标题每次都会更改,而它的
ahn_类
则与母程序共享,这是我试图通过按像素大小捕捉窗口来解决的问题:

#IfWinActive ahk_class SALFRAME
    ~LButton::
    WinGetActiveStats, , width, , ,
    if (width = "681") {
        Send {enter}
    }
return
这是可行的,但是当对话出现时,它会强制点击对话的某个地方,这比以前更快,但仍然不是真正的自动化。我还尝试了
WinWaitActive
,但它似乎没有捕获窗口(在某些时候,我尝试编写的一些脚本实际上在脚本执行时杀死了窗口,但只有一次,没有触及脚本首次运行后的后续窗口)。在没有人工输入的情况下,使用自动热键等待和终止某些窗口的正确方法是什么


WinWaitActive是最好的方式。您只能找到一个WinWaitActive接受并对所有此类窗口保持相同属性的窗口。请注意
发送\u输入\u到特定\u窗口中的最后一个
。非常感谢。
周期为50毫秒是什么意思?更正,谢谢!脚本每50毫秒检查一次特定窗口是否存在并处于活动状态。如果省略,则默认为250毫秒。
#Persistent
SetTimer, Send_Enter_to_specific_window, 50
return

    Send_Enter_to_specific_window:
IfWinActive ahk_class SALFRAME
{
    WinGetPos,,, width,, A
    if (width = "681")
         Send {enter}
}
return