regex - AutoHotKey IfWinExists 不适用于正则表达式
问题描述
我有一个类似这样的窗口标题: ComInstr - Q4NATIONAL-11.21(1).pdf - Google Chrome
我想使用 IfWinExist 让我知道该窗口是否存在。我这样做:
SetTitleMatchMode Regex
IfWinExist i)\..{3,4} - Google Chrome
{
Msgbox Here
}
return
窗口的标题会改变,但它总是包含一个点和 3 或 4 个字符(扩展名),然后是 - Google Chrome。
这不起作用,我不知道为什么。有什么建议吗?
解决方案
您需要用 .转义逗号`,
。
否则,您对IfWinExist
(docs)命令的参数如下:
WinTitle
=i)\..{3
WinText
=4} - Google Chrome
所以,一定要转义逗号:
IfWinExist i)\..{3`,4} - Google Chrome
但实际上,您不应该使用旧版 AHK。
IfWinExist
是一个已弃用的遗留命令,不应再使用。
将WinExist()
(docs)与现代if ()
(docs ) 一起使用。
在现代 AHK 中,您无需担心遗留语法会给您带来的麻烦,因为您在其中明确指定了字符串""
:
if (WinExist("i)\..{3,4} - Google Chrome"))
推荐阅读
- r - 在单个 r 脚本文件范围内定义 pandoc 文件路径的方法?
- angular - 单击菜单项时如何显示叠加层?
- mysql - 用两个条件模拟 mysql 中的排名(无排名)
- javascript - 更新没有 ID 的云 Firestore 文档
- c# - 从 aspNet 控制器以 JSON 格式发送数据
- solr - 如何使用 Solr PointFields 进行通配符查询
- azure - Azure 服务总线使用 CLI 从队列中获取消息?
- amazon-web-services - 如何让 Fn::Join 嵌套在 Fn::If 中?
- c# - 如何使用 selenium c# 从网站上抓取数据表?
- python - 使用 Python 和正则表达式删除数组初始化代码