autohotkey 线程入门
- 自动热键本身不做任何事情;它需要一个脚本来告诉它要做什么,每个热键后面都跟着一个或多个热键,当按下热键时可以采取这些操作。
- 脚本是一个简单的纯文本文件,扩展名为.ahk,包含程序的指令,类似于配置文件,但是功能更强大。
- 脚本可以只执行一个操作,然后退出。多数脚本都定义了许多热键,每个热键后面都跟着一个或多个热键,当按下热键时可以采取这些操作。
- https://www.autohotkey.com/docs/AutoHotkey.htm
- 复杂功能设计需要多线程和定时器、中断、线程同步控制。
-
定时器+信号量XXX up::{if ( XXX_flag ) {...return}XXX_flag :=True...SetTimer, XXX_time, -timereturn}XXX_time:{...XXX_flag :=Falsereturn}异步检测 InputHook 或者 异步通知异步通知~XXX::{if ( XXX_msg ) {...return}SetTimer, XXX_time, -timeXXX_msg :=True...return}~XXX up::{...if( !XXX_msg ){ }}XXX_time:{... ; chck msg}状态机套娃。MButton::returnMButton up::{if( !MButton_flag ) {..MButton_flag :=Truereturn}...MButton :=Falsereturn}一个硬件标志位配合时间信息可以跳转执行的多个服务数状态机+异步信号,子状态接收异步信号跳往对应下一态定时器检测硬件标志,配合状态机1跳转相应状态,单击、双击、多次击键。定义:单击按键,双击按键,3击及其它。
jcmaxx33@gmail.com
jcmaxx33Team@github