`

AutoHotKey: 正则表达式匹配窗口

 
阅读更多

一, 故事的引子

最近的项目跟Visual Studio 2010有关,

组里面有个兄弟(C同学), 以前用惯了eclipse, 尤其喜欢Eclipse中的下面这几个快捷键

Alt+UP: Move Lines UP

Alt+Down: Move Lines Down

 

但是搜了一下microsoft vs2010的快捷键, 只有将当前行下移的命令,

SHIFT+ALT+T: Edit.LineTranspose,  Moves the line that contains the cursor below the next line.

 

这显然是一个Autohotkey问题, 毕竟我已经自己写过AHK脚本扩展vs2008了,

然而实际操作的时候却发现并非一帆风顺, 问题是这样的...

 

二,  问题来了 :

使用AU3_Spy.exe查看了, Visual Studio 2010同学的ahk_class, 他变成了下面这样:

>>>>>>>>>>( Window Title & Class )<<<<<<<<<<<
HelloCSharp - Microsoft Visual Studio
ahk_class HwndWrapper[DefaultDomain;;0dd60a86-3dfc-48fb-88a3-4a5cc4264d64 ]

>>>>>>>>>>>>( Mouse Position )<<<<<<<<<<<<<
On Screen: -473, 354 (less often used)
In Active Window: -469, 358

而且最主要的是, 对于每个实例, 上面标记出来的红字部分不完全相同,

比如有时候, 他会变成下面这样:

ahk_class HwndWrapper[DefaultDomain;;38b42acc-8391-49a6-8335-842dc65d6ca0]

 

三,  解决方案 :

可以把代码写成下面这个样子,

在文件头设置 SetTitleMatchMode RegEx

这样一来, 便可以像下面这个样子, 使用正则表达式, 匹配窗口的ahk_class

IfWinActive ahk_class HwndWrapper*

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode RegEx

; run StyleCop
#IfWinActive ahk_class HwndWrapper*
$F12::
;your code here
;MouseClick, left,  317,  213
;Sleep, 200
return
#IfWinActive

 

 

 

分享到:
评论

相关推荐

    【cad开发】在lisp中应用正则表达式

    另外,正则表达式模式可以组合使用多种符号来描述字符串的结构,例如,*号表示匹配前面的子表达式零次或多次,+号表示匹配前面的子表达式一次或多次,?号表示匹配前面的子表达式零次或一次等。 本文还提供了两个...

    RHEL6之4:正则表达式、共享访问、自动挂载、LDAP、ACL、SELINUX、RPM包管理

    正则表达式是一种非常强大的模式匹配工具,在Linux环境下广泛应用于文本处理任务中,如搜索、替换和数据提取等场景。以下是正则表达式的一些基本元素及其用法: - **`.`** 代表任意单个字符。 - **`?`** 匹配零个或...

    CAD多行文本去掉控制字符的正则表达式

    为了解决这一问题,可以采用正则表达式的手段来匹配并替换掉这些控制字符。下面将详细介绍正则表达式的具体规则及其应用场景。 #### 正则表达式规则详解 根据给定的部分内容,我们可以看到一系列的正则表达式规则被...

    vc_greta.rar_VC greta_VC greta错误_正则表达式

    在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。在本教程中,我们将深入探讨如何在Visual C++(简称VC)环境中利用正则表达式进行字符串处理,同时解决可能...

    AutoHotKey 帮助文档 AutoHotKey 帮助文档

    AutoHotKey 中的变量和表达式是指用户可以使用的变量和表达式来存储和处理数据。 10. 函数 AutoHotKey 中的函数是指预定义的函数,用于完成特定的任务。用户可以使用这些函数来简化脚本的编写。 11. AutoIt2 用户...

    C++Regex正则表达式

    C++中的正则表达式(Regex)是一种强大的文本处理工具,它允许程序员通过模式匹配来搜索、替换或分割字符串。正则表达式在C++中是通过标准库 `&lt;regex&gt;` 提供的,这个库提供了丰富的功能,使得处理复杂的文本模式变得...

    c++使用正则表达式提取关键字的方法

    正则表达式是一种强大的字符串匹配工具,它可以根据一定的模式来匹配字符串中的子串。在C++中,我们可以使用std::regex库来实现正则表达式的匹配。 正则表达式的基本概念 正则表达式是一个字符串,它由普通字符和...

    文本三剑客之grep及正则表达式 -.pdf

    - **定义**:`grep` 是 Linux 和 Unix 系统中的一种强大的文本搜索工具,它能够使用正则表达式来搜索文本,并将匹配的行打印出来。其全称是 Global Regular Expression Print,意为全局正则表达式版本。 - **功能**...

    cpp-CppVerbalExpressions易于使用的C正则表达式

    在C++编程中,正则表达式是用于处理文本模式匹配的强大工具,而CppVerbalExpressions库的出现,使得在C++中使用正则表达式变得更加直观和易用。 **1. 正则表达式基础** 正则表达式(Regular Expression,简称regex...

    linux grep正则表达式与grep用法详解

    需要大家牢记:正则表达式与通配符不一样,它们表示的含义并不相同  正则表达式只是字符串的一种描述,只有和支持正则表达式的工具相结合才能进行字符串处理。本文以grep为例来讲解正则表达式。 grep命令 功能:输入...

    autohotkey 1.1.30.01中文版

    此外,文档中还提到了AutoHotkey的快速参考,包括AutoHotkey的DllCall使用方法和正则表达式的使用,对于高级用户来说,这些功能可以进一步扩展脚本的用途。 在版本变更和新功能方面,从*.*.**.**版本开始,每个版本...

    autohotkey绿色中文版

    **AutoHotkey:一款强大的自动化工具** AutoHotkey是一款开源的、绿色的、免费的自动化脚本语言,专为Windows操作系统设计。它以其强大的热键(Hotkey)和宏功能而闻名,允许用户通过简单的脚本自定义键盘、鼠标...

    AutoHotkey_CN_版本_1.1.30.03_AutoHotkey_

    AutoHotkey 是一个强大的自动化脚本语言,主要用于创建快捷键(Hotkeys)和自动化的任务。它允许用户通过编写简单的脚本来实现对计算机操作的高度自定义,提升工作效率和便利性。这个1.1.30.03版本的手册中文版提供...

    正则表达式对qq号码校验

    package 正则表达式; /*对QQ号码进行校验 要求5~15位,不能以0开头,只能是数字*/ import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args)...

    SciTE4Autohotkey

    2. **Autohotkey**: Autohotkey 是一款开源的自动化工具,通过脚本语言实现热键、宏、窗口管理等功能。它支持自定义热键、快捷方式、模拟键盘和鼠标动作,以及编写复杂的脚本来执行自动化任务。Autohotkey 的强大之...

    AutoHotKey

    AutoHotKey是一款强大的自动化工具,尤其适用于Windows操作系统。它的核心功能是允许用户创建自定义的热键(快捷键)和宏,以实现高效的操作和自动化流程。作为一个开源项目,AutoHotKey具有高度的灵活性和可扩展性...

    AutoHotkey中文帮助文档.7z

    文档中会详细讲解AutoHotkey的语法结构,包括变量、函数、表达式、流程控制语句等。变量用于存储数据,可以是各种类型,如数值、字符串或对象。函数是完成特定任务的代码块,如MsgBox用于弹出消息框,Sleep用于暂停...

    linux grep与正则表达式使用介绍

    grep (缩写来自Globally search a Regular Expression and Print)...–color=auto: 对匹配到的文本着色显示 -v: 显示不被pattern匹配到的行 -i: 忽略字符大小写 -n:显示匹配的行号 -c: 统计匹配的行数 -o: 仅显示匹

    AutoHotkey源码,魔兽改键助手,显血工具,按键精灵等软件皆根据此软件生产

     以翻译AutoHotkey软件的英文原版帮助为首要任务的中文论坛。  在2008年6月17日被官方网站首页以中国国旗图标所链接。  AutoHotkey爱好者论坛网址:ahk.5d6d.com  翻译方式:  通过将最新版本AutoHotkey随带的...

    Linux基础知识(9-10)-正则表达式.pdf

    在Linux系统中,正则表达式(Regular Expression)是一种强大的文本搜索工具,它能使用预定义的模式匹配字符串。在本文件中,我们主要探讨了`grep`命令和`awk`命令,它们都是Linux中利用正则表达式进行文本处理的...

Global site tag (gtag.js) - Google Analytics