Loading...

Posts Tagged ‘ autohotkey ’

这是一段 AutoHotKey 脚本, 用来模拟 windows 7 的窗口拖拽操作:

  • 拖拽到屏幕顶端, 最大化;
  • 拖拽到屏幕左/右侧, 占据左/右侧半边屏幕;
  • 拖拽到其他位置, 自动恢复窗口(非最大化状态)

通过修改脚本可以自定义相应区域(距屏幕边缘距离)大小.

下载地址: 脚本源文件 | exe文件

MoveMouse V2.0

by Dofy

这是偶用 AutoHotkey 写的一个小软件, 优化了上篇 Blog 中提到的程序, 操作方式更合理.
下载 MoveMouse V2.0 (包括可执行文件和 AutoHotkey 源文件, 如果你有 AutoHotkey 直接运行 ahk 文件即可)

PLAIN TEXT >> CODE:
  1. ; ====================================
  2. ; Move Mouse V2.0
  3. ; author: Seven Yu
  4. ; E-Mail: dofyyu@gmail.com
  5. ; MSN   : dofyy@hotmail.com
  6. ; Blog  : http://blog.dofy.net/
  7. ;
  8. ; 快捷键:
  9. ; ALT 或 鼠标左键 + 方向键: 向相应方向移动鼠标 1px
  10. ; 在上面按键的基础上加按 CTRL 键: 向相应方向移动鼠标 10px
  11. ; CTRL + ALT + 1 : 关闭提示信息并将参考值重置为 0
  12. ;
  13. ; 主要用途:
  14. ; 主要用于在绘图软件中精确移动鼠标,
  15. ; 例如在绘图板中画出 50 * 80px 的矩形:
  16. ; 1.选择矩形工具
  17. ; 2.按下鼠标(注意手要稳, 笔记本上的鼠标按键最好用)
  18. ; 3.按住 CTRL 键, 连续按 RIGHT 键5(或按住不放, 只要你能及时收手 :D )
  19. ; 4.按住 CTRL 键, 连续按 DOWN 键8
  20. ; 如果单移动鼠标不划线可以用 ALT + 方向键 的配合, 当然也可以加上 CTRL 键
  21. ; ====================================

最近看了煎蛋小众上关于AHK(autoHotkey)系列教程, 发觉这个小东西(下载的压缩包 < 2M 包括一些辅助工具, 能运行的核心程序只有233k)真的很有意思而且很强大, 准备深入研究一下, 跟着上面说的教程写了两个小脚本, 感觉应该有点小小小用途, 共享出来 :D

控制鼠标移动:

PLAIN TEXT >> CODE:
  1. ; 初始化变量
  2. x:=0,y=0
  3. ; 绑定快捷键
  4. ; 1px 移动
  5. !left::moveMouse(-1, 0)
  6. !right::moveMouse(1, 0)
  7. !up::moveMouse(0, -1)
  8. !down::moveMouse(0, 1)
  9. ; 10px 移动
  10. ^!left::moveMouse(-10, 0)
  11. ^!right::moveMouse(10, 0)
  12. ^!up::moveMouse(0, -10)
  13. ^!down::moveMouse(0, 10)
  14. ; 复位
  15. ^1::init()
  16.  
  17. ; 定义函数
  18. init(){
  19.     ; 复位
  20.     global
  21.     x := 0,y := 0
  22.     tooltip,
  23. }
  24. ; 移动函数
  25. moveMouse(xx, yy){
  26.     global
  27.     x += xx, y += yy
  28.     mousemove, xx, yy, 0, r
  29.     showToolTip()
  30. }
  31. ; 显示提示
  32. showToolTip(){
  33.     global
  34.     tooltip, X: %x%`nY: %y%
  35. }</code>
  36.  
  37. 在cmd窗口中使用快捷键进行复制粘贴:
  38. <code>#ifWinActive,ahk_class ConsoleWindowClass
  39. ; 定义标致变量
  40. beginSelect := false
  41.  
  42. #s::
  43. ; 开始选择
  44. if(beginSelect == false){
  45. click right, 10, 50
  46. send k
  47. beginSelect := true
  48. }
  49. return
  50.  
  51. #c::
  52. ; 复制
  53. if(beginSelect == true){
  54. click right, 10, 50
  55. beginSelect := false
  56. }
  57. return
  58.  
  59. #v::
  60. ; 粘贴
  61. click right, 10, 50
  62. send p
  63. ;send %clipboard%
  64. ; 曾尝试剪贴板, 速度不如右键菜单这个快
  65. return
  66.  
  67. #q::
  68. ; 退出
  69. send ^c exit {enter}
  70. return