• autohotkey 线程入门


    • 自动热键本身不做任何事情;它需要一个脚本来告诉它要做什么,每个热键后面都跟着一个或多个热键,当按下热键时可以采取这些操作。
    • 脚本是一个简单的纯文本文件,扩展名为.ahk,包含程序的指令,类似于配置文件,但是功能更强大。
    • 脚本可以只执行一个操作,然后退出。多数脚本都定义了许多热键,每个热键后面都跟着一个或多个热键,当按下热键时可以采取这些操作。
    • https://www.autohotkey.com/docs/AutoHotkey.htm
    • 复杂功能设计需要多线程和定时器、中断、线程同步控制
    • 定时器+信号量
      XXX up::
      {
      if ( XXX_flag ) {
      ...
      return
      }
       
      XXX_flag :=True
      ...
      SetTimer, XXX_time, -time
      return
      }
      XXX_time:
      {
      ...
      XXX_flag :=False
      return
      }
      异步检测 InputHook 或者 异步通知
      异步通知
      ~XXX::
      {
      if ( XXX_msg ) {
      ...
      return
      }
      SetTimer, XXX_time, -time
      XXX_msg :=True
      ...
      return
      }
      ~XXX up::
      {
      ...
      if( !XXX_msg )
      { }
      }
      XXX_time:
      {
      ... ; chck msg
      }
      状态机套娃。
      MButton::return
      MButton up::
      {
      if( !MButton_flag ) {
      ..
      MButton_flag :=True
      return
      }
      ...
      MButton :=False
      return
      }
      一个硬件标志位配合时间信息可以跳转执行的多个服务数
      状态机+异步信号,
      子状态接收异步信号跳往对应下一态
      定时器检测硬件标志,配合状态机1跳转相应状态,单击、双击、多次击键。
      定义:单击按键,双击按键,3击及其它。
  • 相关阅读:
    【u020】Couple number
    【HDU5748】Bellovin
    【CF706C】Hard problem
    【u021】广义斐波那契数列
    【u024】没有上司的舞会
    【u025】贝茜的晨练计划
    【u026】房间最短路问题
    Core Data 数据出现Fault
    Core Data 数据出现Fault
    非常优秀的Javascript(AJAX) 开发工具:Aptana
  • 原文地址:https://www.cnblogs.com/jichima/p/12979115.html
Copyright © 2020-2023  润新知