ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ahk精简自用

2022-08-23 17:32:51  阅读:166  来源: 互联网

标签:return 鼠标 Title ahk Ctrl ypos1 自用 minGap 精简


;9:03 2022/8/20  自用
#NoEnv
#Warn
#SingleInstance Force
;设工作目录为桌面
SetWorkingDir %A_Desktop%
;托盘提示必须放在热键前面,巨坑
Menu, Tray, Tip , 出品`n版本:0.23`n2022/8/20
;
;由于Sublime Text的使用,以及谷歌拼音输入法的扩展功能
;所以精简了一些功能,并且调整了一些按键

Var =
(
Alt+1	窗口置顶,再按取消
Alt+Ctrl+u 打开用户、系统启动文件夹
Alt+Ctrl+S 选词搜索
Alt+Ctrl+p 获取文件全路径
Winodws+q 常看网站 
Shift+F1 当前网址生成快捷方式到桌面
鼠标左	Ctrl+z 恢复
鼠标上	最大化窗口 win+up
鼠标下	显示桌面 win+d
鼠标左下	撤销关闭的浏览器标签页Ctrl+Shift+T
鼠标右下	关闭标签页Ctrl+w 
鼠标右上	关闭窗口Alt+F4 
鼠标左上	弹出信息框提示用法
鼠标在任务栏时滚轮可调音量

by  2022/8/20
)
;
Menu, Tray, Add  ; 创建分隔线.
Menu, Tray, Add, 操作说明, MenuHandler  ; 创建新菜单项.
return
;
MenuHandler:
MsgBox %Var%
return

;功能:打开用户、系统启动文件夹
;按CTRL+ALT+u 启用
;
^!u::
run,shell:Common Startup
run,shell:startup
return
;

;
;功能:活动窗口按Alt+1置顶,再按一次可以取消置顶
;
!1::
WinSet,AlwaysOnTop, , A
return
;

;
; Alt+Ctrl+S 选词搜索
; 百度链接可能需要经常修改
!^s:: 
Send,^c 
Sleep 100 
Run,https://www.baidu.com/s?ie=UTF-8&wd=%clipboard%
return
;

;
;Alt+Ctrl+p 获取全路径
;
!^p::
; null= 
send ^c
sleep,200
clipboard=%clipboard% ;%null%
tooltip,%clipboard%
sleep,500
tooltip,
msgbox,%clipboard%
return
;

;
;Winodws+q,打开 常用网址 
;
#q::
run,http://www.baidu.com
return
;

;
;将当前网址生成快捷方式到桌面
;Shift+F1触发
+F1::
;复制链接
Send,^c 
;延时0.1秒
Sleep 100
;获得当前活动窗口的标题放入变量%Title%"
WinGetTitle, Title, A
;=======原来的代码供参考=========
;MsgBox, The active window is "%Title%".
;IniWrite, %clipboard%, %A_Desktop%\Web请重命名.url, InternetShortcut, URL
;=======原来的代码结束段=========
; 移除%Title%变量中不能作为文件名的字符:
;主要包括 \ / : * ? " < > |
Loop
{
    StringReplace, Title, Title, \, , UseErrorLevel
    StringReplace, Title, Title, /, , UseErrorLevel
    StringReplace, Title, Title, :, , UseErrorLevel
    StringReplace, Title, Title, *, , UseErrorLevel
    StringReplace, Title, Title, ?, , UseErrorLevel
    StringReplace, Title, Title, "", , UseErrorLevel
    StringReplace, Title, Title, <, , UseErrorLevel
    StringReplace, Title, Title, >, , UseErrorLevel
    StringReplace, Title, Title, |, , UseErrorLevel
    if (ErrorLevel = 0)  ; 不需要再进行替换.
        break
}
;写快捷方式到桌面
IniWrite, %clipboard%, %A_Desktop%\%Title%.url, InternetShortcut, URL
msgbox, 快捷方式已生成
return
;

;全局鼠标手势
;转载自 https://blog.csdn.net/formyself/article/details/43487409
;实现原理:识别右键按下时的鼠标位置,以及抬起鼠标右键时的位置。
;当X(水平)、Y(垂直)方向大于一定像素阈值(这里设定为30)时,判断在此方向上有移动。
;当X、Y方向都小于此阈值时,判断没有移动,发出默认的『鼠标右键』。
;
rbutton::    
  minGap  = 30 ; 设定的识别阈值,大于此阈值,说明在某方向上有移动
  mousegetpos xpos1,ypos1
  Keywait, RButton, U
  mousegetpos xpos2, ypos2
  if (abs(xpos1-xpos2) < minGap and abs(ypos1-ypos2)<minGap) ; nothing 没有运动,直接输出rbutton 
  send, {rbutton}
  else if (xpos1-xpos2 > minGap and abs(ypos1-ypos2)<minGap) ;  左  Ctrl+z 恢复 
   send, ^z
  else if (xpos2-xpos1 > minGap and abs(ypos1-ypos2)<minGap) ; 右 无
   send, {rbutton}	; 如果是"send, {F5}"表示发送F5刷新
  else if (abs(xpos1-xpos2)< minGap and (ypos1-ypos2)>minGap) ; 上 最大化窗口, win+up
    send, #{up}
  else if (abs(xpos1-xpos2)< minGap and (ypos2-ypos1)>minGap) ; 下 显示桌面, win+d
    send, #d
  else if (ypos2-ypos1 > minGap and (xpos1-xpos2) > minGap) ; 左下 Ctrl+Shift+T 撤销关闭的标签页
    send, ^+t
  else if (ypos2-ypos1 > minGap and (xpos2-xpos1) > minGap) ; 右下  Ctrl+w 关闭标签页
    send, ^w
  else if (ypos1-ypos2 > minGap and (xpos2-xpos1) > minGap) ; 右上 Alt+F4 关闭窗口
   send, !{F4}
  else if (ypos1-ypos2 > minGap and (xpos1-xpos2) > minGap) ; 左上 弹出帮助说明信息框
   ;send, {rbutton}	;左上 nothing
   MsgBox %Var%
  else  
    send, {rbutton}
return
;

;任务栏调节音量
#If MouseIsOver("ahk_class Shell_TrayWnd")
WheelUp::Send {Volume_Up}
WheelDown::Send {Volume_Down}

MouseIsOver(WinTitle) {
    MouseGetPos,,, Win
    return WinExist(WinTitle . " ahk_id " . Win)
}

标签:return,鼠标,Title,ahk,Ctrl,ypos1,自用,minGap,精简
来源: https://www.cnblogs.com/namevt/p/16617095.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有