预期

预期

问题描述:

我有一个代码剪断上.ahk预期

#k:: 
    if WinExist("a") { 
    Sendinput test 
    } 
return 

此代码应该发送“测试”只有当与名称窗口“一个”被打开,当我从文档阅读,如果WinExist不工作​​。但它不起作用 - (。它总是发送字符串“测试”,我需要代码片断,例如发送字符串或其他东西,只有当特定的窗口打开并且什么都不做时,窗口才会关闭。请告诉我,我做错了什么。

+1

该表达式评估为真,如果有一个活动窗口(见[WinTitle&一次匹配窗口(https://autohotkey.com/docs/misc/WinTitle.htm))。你很难找到一个系统,在任何时候都没有活动窗口。如果您需要识别特定的窗口,请按照文档。 – IInspectable

+0

那么什么是与打开窗口的确切名称相匹配的命令。我一直在试图找到一个,但医生。是如此没有直觉。 – IGRACH

您的代码不会为我正常工作。

但是,除非你使用“SetTitleMatchMode”,如果您有任何窗口的标题,你的条件为真用“a”开始

“DetectHiddenText”也可能影响WinExist的返回值。

用更加独特的标题开始,这样

#k:: 
    if WinExist("gob.txt - Notepad") { 
    Sendinput test 
    } 
return 

试验表明,该代码按预期工作时,你必须“gob.txt”在记事本中打开解决您的问题。然后测试你没有打开文件的时间。尝试SetTitleMatchMode的不同设置。希望你最终能够找出问题所在。我无法做到这一点,因为我不知道你在系统上打开了什么窗口。

通过右键单击任务栏上的AutoHotKey图标并选择“编辑此脚本”并仅包含正在测试的代码,可以清除可能影响您的测试的其他代码。

好运

+0

那么有没有一个命令可以匹配特定的打开窗口,或者这是不可能的? – IGRACH