AutoHotkey编写自己的Warkey
zyl0462的空间
Just Do It!!
http://hi.baidu.com/zyl0462/blog/item/47fae38e4c1146e4f01f3612.html
2009年11月27日 星期五 12:07
认识和学习AutoHotkey还是因为Dota(改键)。Dota?有些人可能还不知道,没关系,知道是个游戏就照了,不过很好玩,推荐玩下,上瘾别怨我。照,继续讲,AutoHotkey能做什么呢?能做的太多了,有兴趣自己体会。下面谈谈用它如何制作Warkey,需要有点AutoHotkey基础,版权归AutoHotkey以及为之贡献的人所有,由本人理解拼凑。 
       显血就不说了,1.22之后版本可以勾选是否始终显血。主要就说下改键吧。先说不要GUI的,最直接的一种方法:q::Numpad7(小键盘7),按q就是Numpad7了,很神奇吧,不过这就影响聊天啦,在AutoHotkey中在热键前加~原来键的功能不会被屏蔽,比如说~q::Numpad7,就会发送q7。所以我们这样改下, 
~q:: 
Send, {Numpad7}{BS} 
return    
这样就不影响聊天而且能达到改键的目的,程序起始处加上#SingleInstance force(只运行一次程序),#IfWinActive, ahk_class Warcraft III(仅当war3为活动窗体热键有效)。然后根据自己的习惯,就可以制作个人的Warkey了。 
   再说下有GUI的,下面的是个单独的程序,就是没有标准INI文件存储用户输入信息,贴下程序代码: 
#SingleInstance force 
#NoEnv 
#IfWinActive, ahk_class Warcraft III 
SendMode Input                         
SetMouseDelay, -1,-1 
SetKeyDelay, -1,-1 
Gosub, D_Window    ;进入主界面子程序 
Gosub, D_Tray          ;进入托盘子程序 
;以下为显血部分; 
Loop 

   IfWinActive, Warcraft III ahk_class Warcraft III 
   { 
If (m_bIn == 0) 

    If (AllyHB == 1) 
   { 
       Send, {tab} 
       Sleep 200 
       Send, {[ Down} 
   } 
    If (EnemyHB == 1) 
   { 
       Send, {tab} 
       Sleep 200 
       Send, {] Down} 
   } 
    m_bIn := 1 

   } 
   Else 
   { 
If (m_bIn == 1) 
   m_bIn := 0 
   } 
   Sleep 200 

;============================; 
D_Window:     ;主界面 

Menu, SetMenu, Add, 保存设置 (&S), D_Define 
Menu, SetMenu, Add 
Menu, SetMenu, Add, 退出程序 (&X), D_AppExit 
Menu, HelpMenu, Add, 关于 (&A), D_HelpAbout 
Menu, MyMenu, Add, 程序设置 (&D), :SetMenu 
Menu, MyMenu, Add, 帮助 (&H), :HelpMenu 
Gui, Menu, MyMenu 
Gui, Add, GroupBox, x16 y7 w180 h130 , 物品栏 
Gui, Add, GroupBox, x16 y147 w180 h50 , 血条栏 
Gui, Add, Text, x26 y32 w90 h30 , 物品栏1: 
Gui, Add, Text, x26 y92 w90 h30 , 物品栏2: 
Gui, Add, CheckBox, Checked x26 y167 w80 h20 vAllyHB, 友方血条 
Gui, Add, CheckBox, Checked x106 y167 w80 h20 vEnemyHB, 敌方血条 
Gui, Add, Hotkey, x86 y27 w90 h20 vItem7, Q 
Gui, Add, Hotkey, x86 y87 w90 h20 vItem8, ~ 
Gui, Show,   x301 y147 h233 w217, MicrOperation 
Gosub, D_Define                   ;进入定义子程序 
Return 

;============================; 
D_Tray: 

   Menu, Tray, NoStandard 
   Menu, Tray, Add, 设置 
   Menu, Tray, Add, 退出 
   Menu, Tray, Default, 设置 
   Menu, Tray, Click, 1 
   Menu, Tray, Tip, MicrOperation 
   Menu, Tray, Icon, , , 1 
   Return 

;============================; 
D_Define: 
{   ;下面两句是为了取消先前定义的热键,要是没有后果很严重,很多键乱了套。当然只定义一次是没问题的,要是定义后再改就会出现问题。 
   if Item7 
HotKey, ~%Item7%, D_Item7,Off 
   if Item8 
HotKey, ~%Item8%, D_Item8,Off 
   Gui, Submit                                ;托盘程序,并使用户输入信息与相关变量关联 
   if Item7 
HotKey, ~%Item7%, D_Item7,On 
   if Item8 
HotKey, ~%Item8%, D_Item8,On 
   Return 

;============================; 
D_Item7: 

   Send, {Numpad7}{BS}                         ;这里出现一个退格键足矣,相信不会有人定义组合键的,dota讲的是速度和操作,按键越简单越好 
   return 

;============================; 
D_Item8: 

   Send, {Numpad8}{BS} 
   return 

;================================; 
设置: 

Gui, Show, , MicrOperation 
Return 

;============================; 
D_HelpAbout: 

Msgbox , 0, MicrOperation,AutoHotkey版权所有 
Return 

;============================; 
D_AppExit: 
GuiClose: 
退出: 

ExitApp                            ;退出程序 
Return 

GuiSize: 

If (A_EventInfo==1)          ;这里只是针对窗口最小化事件处理,就是将程序托盘并关联变量 
Gosub, D_Define 

;============================; 
LWin::          ;屏蔽左Windows键 
Return

 

AutoHotkey编写自己的Warkey相关推荐

  1. autohotkey编写windows脚本实现test.lab试验数据快速导出

    autohotkey编写windows脚本实现test.lab试验数据快速导出 #x:: MouseGetPos,x,y MsgBox,4,MousePosition,"%x%,%y%&qu ...

  2. WIN32编写Warkey 实现改建

    下面介绍下,利用WIN32编写自己的Warkey,实现改键,编译出的代码更小巧,希望对感兴趣的朋友有些帮助.主要利用低级键盘和鼠标钩子,无需额外的dll,程序很小巧,主要代码如下. #ifndef W ...

  3. 快速启动程序和文档的好软件(初稿)

    总结: 快速启动程序和文档的好软件(初稿) 作者: 善用佳软 日期: 2008-05-28 分类: 系统工具 标签: quick-launch 这是一篇关于快速启动常用(或不常用)程序和文档的方法.软 ...

  4. 向 Windows 高级用户进阶,这 10 款效率工具帮你开路 | 新手问号

    原文地址:https://sspai.com/post/41411 编注:「新手问号」是少数派的一个全新栏目.它面向完全「零基础」的新手用户,通过最简单易懂的方式,帮助你快速掌握关于系统和软硬件的入门 ...

  5. autohotkey_如何编写一个AutoHotkey脚本

    autohotkey AutoHotkey 自动热键 AutoHotkey is a fantastic but complicated piece of software. It was initi ...

  6. AutoHotkey版Warkey编制

    认识和学习 AutoHotkey 还是因为Dota(改键). Auto Hotkey 能做什么呢?能做的太多了,有兴趣自己体会.下面谈谈用它如何 制作 Warkey,需要有点AutoHotkey基础, ...

  7. AutoHotkey脚本编写

    0 下载 AutoHotkey官方网站 1 脚本编写 1.1 常见符号 符号 对应键鼠按键 # Win ! Alt ^ ctrl + shift {其他键} 其他键 LButton 鼠标左键 RBut ...

  8. 继续分享最新版本的autohotkey自己编写的快捷键

    Netdelay=700;这种全局定义要写在所有代码的前面才能让所有代码起作用. SetCapsLockState , AlwaysOff SetNumlockState, AlwaysOn Grou ...

  9. AutoHotKey 的使用 —— 使用键盘调节 windows 声音

    AutoHotKey 下载地址 AutoHotkey Downloads 首先进行 AutoHotKey 的安装 编写如下 .ahk 文件(F10:打开关闭声音,F11:增加声音,F12:减少声音,当 ...

最新文章

  1. 不改文件名的情况下上传突破
  2. 我的 Promtheus 到底啥时候报警?
  3. mysql之外键约束
  4. 数据库原理与应用(SQL Server)笔记 第十章 用户定义函数
  5. ie9无法获取未定义或 null 引用的属性“indexof”_前端JS基础篇(二)JS基本数据类型和引用数据类型及检测数据类型方法...
  6. Pointcut is not well-formed: expecting #39;name pattern#39; at character position 36
  7. Windows平台RTMP播放器/RTSP播放器如何在播放窗口添加OSD文字叠加
  8. 让windows cmd也用上linux命令
  9. mfc大观之二(类识别)
  10. HDU - 2084 数塔
  11. CISP 考试教材《第 8 章 知识域:物理与网络通信安全》知识整理
  12. 创新工场投资经理:创业就是九死一生
  13. 孤儿文档是怎样产生的(MongoDB orphaned document)
  14. 003 C语言 输出名言
  15. HDU6078 Wavel Sequence
  16. 爬虫Scrapy框架运用----房天下二手房数据采集
  17. .NET应用程序 全局RGB效果(VB.NET示例)
  18. autocad2022版安装提示提示“The feature you are trying to use is on a network resource ...”失败解决办法
  19. 微软鼠标测试软件,微软Precision鼠标评测:Surface生产力工具最佳搭配
  20. BZOJ 4589 Hard Nim

热门文章

  1. 论文学习-Non-Contact Emotion Recognition Combining Heart Rate and Facial Expression for Interactive Gami
  2. SourceTree历史版本下载地址
  3. 4G+、VoLTE、载波聚合到底是啥?
  4. intelliJ idea酷炫代码特效插件
  5. Essential Silverlight翻译连载---前言
  6. 揭开IDC行业神秘面纱
  7. for语句的执行顺序
  8. QT之qt4.8.6安装(详细教程)
  9. Tensorflow实战学习(三十五)【实现基于LSTM语言模型】
  10. 黑帽优化seo是什么?