zoukankan      html  css  js  c++  java
  • (原) windows下autohotkey的快捷键脚本编写

    autohotkey

    脚本很强大,可以接受传参。能各种程序逻辑控制。
    还可以把脚本转换成独立执行的EXE。(安装完后程序目录下有个小程序:Convert .ahk to .exe,直接UI上转换。)
    总之非常好。


    中文文档:
    http://fjxhkj.github.io/ahk_doc/zh-cn/docs/misc/SendMessageList.htm

    代码示例:


    ; 通过autohotkey自带的命令or函数来发送快捷键
    ; Note: 若窗体在任务栏,则不能发送功能键(比如F5这种),但是可以发送abc123{Enter}这种.
    ; 示例:
    
    settitlematchmode,2  ; 可以模糊查询窗体标题
    
    hwnd := WinExist("- 记事本") ;获取窗口句柄
    Msgbox, %hwnd%
    
    ; 把任务栏的窗体激活上来
    WinActivate  ; 此命令激活上下文里的窗口(上面拿到句柄了的窗口)
    
    ; 两种调用方式
    ControlSend, , {F5}{Enter}abc, ahk_id %hwnd%  
    ;ControlSend, , {F5}{Enter}abc, - 记事本 
    
    Return
    

      

    ; 通过autohotkey自带的命令触发窗体菜单命令
    ; Note:无论窗体是否在任务栏,都可以
    ; 示例:
    
    settitlematchmode,2
    
    winmenuselectitem, - 记事本, , 编辑, 时间/日期
    
    Return
    

      

    ; 通过给句柄发送消息PostMessage来发送win api定义的消息
    ; Note: 若窗体在任务栏,则不能发送功能键(比如F5这种)
    ; 示例:
    
    settitlematchmode,2
    DetectHiddenWindows, On  ; 感觉没卵用
    
    hwnd := WinExist("- 记事本")
    ;msgbox, %hwnd%
    
    WM_KEYDOWN := 0x100 
    WM_KEYUP := 0x101
    WM_COMMAND := 0x111
    WM_CHAR  := 0x102
    
    VK_F5 := 0x74
    VK_F3 := 0x72
    VK_RETURN := 0x0D
    No_2 := 0x32
    
    PostMessage, %WM_KEYDOWN%, %VK_F5%,  0,  , ahk_id %hwnd%
    
    Return
    

      

    ; 传参示例(指定窗口发送快捷键)
    ; 执行示例脚本时传两个参数(窗口标题和快捷键)
    
    
    indexOfArgs := 1
    title := %indexOfArgs %
    indexOfArgs := 2
    key := %indexOfArgs %
    
    Msgbox, %key%
    
    WinActivate, %title% 
    ControlSend, , %key%, %title% 
    
    Return
    

      

  • 相关阅读:
    编写登陆认证程序
    模拟实现一个ATM + 购物商城程序
    三级菜单
    12 场景制造
    11 Unity Editor界面
    3.7练习题
    Coolite 弹窗妙用
    Nginx反向代理 实现Web负载均衡
    MySQL 架构
    Lnmmp
  • 原文地址:https://www.cnblogs.com/xiaouisme/p/5587314.html
Copyright © 2011-2022 走看看