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

  

(原) windows下autohotkey的快捷键脚本编写的更多相关文章

  1. windows下上传shell脚本不能运行—将dos模式修改为unix 文件格式

    windows下上传shell脚本至linux,其格式将为dos.dos模式的shell脚本将不能再linux下正确运行,需要修改文件模式为unix. 1 查看文件模式方法 linux服务器上,用vi ...

  2. linux和windows下的自动ftp脚本(shell bat)

    一.先来看linux下的: 复制代码 代码如下: #! /bin/bashcd /ftp/CURRENTDATE=` date +%Y%m%d `YESTERDAY=` date -d yesterd ...

  3. windows下自动FTP的脚本

    之前发过一篇如何自动FTP的文章,不过当时的脚本都是在Unix下测试通过的.而如果在windows下实现自动FTP的功能,则需要通过如下方式:     1. 建立ftp123.bat文件 open I ...

  4. Windows下gvim的快捷键--“冒号+w+回车”真的很累人

    发现Windows下的gvim支持Ctrl+S保存,Ctrl+A全选,Ctrl+C复制,Ctrl+V粘贴,Ctrl+Z撤销 不过Ctrl+X貌似不太正常(可以剪切,但是不能粘贴) 可能要在安装目录下的 ...

  5. windows下数据库文件使用脚本同步到linux下的mysql数据库中

    1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...

  6. windows下用py2exe打包脚本为可双击运行程序

    文件夹结构: ├── readme.txt ├── settings.py #程序参数 ├── settings.pyc ├── setup.py    #安装文件 ├── spider.ico   ...

  7. Windows下怎么执行shell脚本

    1.在windows下想要执行shell脚本,需要使用到"Git Bash",所以我们需要先安装Git. 2.查看Git环境变量是否配置,没有配置需要配置(我这里安装Git时自动配 ...

  8. windows下定时利用bat脚本实现ftp上传和下载

    前言: 工作中可能会遇到以下情况,利用windows作为中转,来实现两台linux服务器的文件传输. 实现步骤: 1.FTP上传和下载的bat脚本. 脚本分为两部分:可执行bat脚本和ftp命令文件: ...

  9. windows下Qt Creator5.1.0编写程序以及调用OpenCV库

    系统说明 最近使用opencv编写程序,程序编的差不多就学习使用QT加个界面,首先声明下本人的系统和使用的软件版本, 系统: windows xp QT IDE:QT Creator5.1.0 Ope ...

随机推荐

  1. ubuntu 16.04 LTS 修改 国内源(以中科大源为例)

    国内有很多ubuntu的源,包括:网易源(这个之前用过,速度很快的),阿里源,还有很多教育网的源,如:清华源,中科大源. 这里要下载的是中科大ubuntu16.04的源列表,可以在这里获得:https ...

  2. IOS中文本框输入自动隐藏和自动显示

    uilabe和UIText扩展方法 +(UILabel*)LabWithFrame:(CGRect)_rect text:(NSString*)aText textColor:(UIColor*)aC ...

  3. 听听各位对Ubuntu的UI的看法

    2012-7-15 15:46    最近升级到Ubuntu 12.4 .发现其界面效果真的时越来越炫啦.我就在想,你Ubuntu你图什么啊, 你是以个Linux系统,你的重点在于让系统运行更稳定,更 ...

  4. LUA pcall 多个返回值

    You call lua_pcall with the number of arguments you are passing and the number of results you want. ...

  5. Java实现List数组的几种替代方案

    在Java中,禁止定义List<Integer>a[],这种List数组结构. 但是还是可以使用其它一些方式来实现列表数组. 一.使用Node把List包裹起来 public class ...

  6. Debug 路漫漫-03

    Debug 路漫漫-03:SVD++的 Matlab 版本 SVD++ 的 pu 这一项: 圈圈中的这一项,它既然要和pu 相加 的话 ,那么,它的维度也应该是 m*K.(就是维度和Pu一致的 . 而 ...

  7. MATLAB 的向量,矩阵和阵列命令

    MATLAB 的向量,矩阵和阵列命令:

  8. JAVA中线程池的简单使用

    比如现在有10个线程,但每次只想运行3个线程,当这3个线程中的任何一个运行完后,第4个线程接着补上.这种情况可以使用线程池来解决,线程池用起来也相当的简单,不信,你看: package com.dem ...

  9. Ceph BlueFS

    一.概述 BlueFS是个小型文件系统,小体现在功能简单,没有实现Posix接口,不支持对文件的覆盖写操作只支持追加写,没有本地文件系统的树形层次结构,只有扁平的目录到文件的映射关系.和BlueSto ...

  10. Android MD5校验码的生成与算法实现

    在Java中,java.security.MessageDigest (rt.jar中)已经定义了 MD5 的计算,所以我们只需要简单地调用即可得到 MD5 的128 位整数.然后将此 128 位计 ...