如果WinExist没有按预期工作

时间:2017-02-26 15:06:28

标签: windows scripting autohotkey

我的代码剪断了.ahk

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

只有当我从文档中读取时,如果打开名为“a”的窗口,此代码才会发送“test”。但是它没有用 - (。它一直在发送字符串“test”。我需要代码片段来做某事;例如发送字符串或其他东西,只有当特定窗口被打开而什么都不做时,窗口才关闭。你能吗?请告诉我我做错了什么。

1 个答案:

答案 0 :(得分:2)

您的代码可以正常使用。

但是,除非您已经使用了" SetTitleMatchMode",否则如果您有任何启动的窗口标题,并且" a"

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

首先使用更独特的标题来解决您的问题,例如

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

当你有" gob.txt"测试此代码是否按预期工作在记事本中打开。然后在您没有打开文件时进行测试。尝试使用SetTitleMatchMode的不同设置。希望您最终能够找出问题所在。我无法做到,因为我不知道您的系统上打开了哪些窗口。

通过右键单击任务栏上的AutoHotKey图标并选择"编辑此脚本"有助于清除可能影响测试的其他代码。并且仅包括您正在测试的代码。

祝你好运