首页  编辑  

鼠标手势Autohotkey MouseGestureL

Tags: /计算机文档/软件应用技巧/   Date Created:
鼠标手势脚本。
MouseGestureL,AutoHotKey脚本。

补充:
  1. ; 资源管理器中,按 Ctrl+Shift+C,复制文件名
  2. #IfWinActive ahk_exe explorer.exe
  3. ^+c::
  4.  send ^c
  5.  sleep,200
  6.  clipboard = %clipboard% ;%null%
  7.  tooltip,%clipboard%
  8.  sleep2000
  9.  tooltip,
  10.  return
  11. #IfWinActive

计算数学表达式,支持Wscript语法:
  1. #^z::
  2.  InputBoxexpress, 表达式计算, `n请输入表达式如数学公式,,400,150,,,,, %Clipboard%
  3.  try { 
  4.   Tempfile := A_Temp . "\mgu_temp.vbs"
  5.   s := Format("WScript.echo Eval(""{}"")", express)
  6.   FileDelete, %Tempfile%
  7.   FileAppend % s, % Tempfile
  8.   cmd := "cscript //nologo " Tempfile
  9.   result := Exec(cmd)
  10.  } catch e {
  11.   result := % "错误: " e.Message "`n行: " e.Line 
  12.  }
  13.  showMessage("结果", result)
  14.  return
  15. Exec(command) {
  16.  shell := ComObjCreate("WScript.Shell")
  17.  exec := shell.Exec(command)
  18.  err := exec.StdErr.ReadAll()
  19.  pos := InStr(err, ": ")
  20.  if (pos > 0) {
  21.   err := SubStr(err, pos + 2)
  22.  }
  23.  return exec.StdOut.ReadAll() . err
  24. }

粘贴为纯文本
  1. ^+v::
  2.  Clip0 = %ClipBoardAll%
  3.  ClipBoard = %ClipBoard%
  4.  Send ^v
  5.  Sleep 100
  6.  ClipBoard = %Clip0%
  7.  VarSetCapacity(Clip0, 0)
  8.  return
HTML内容粘贴为HTML代码(RAW HTML)
  1. ; 获取剪贴板中 CF_HTML 格式数据
  2. ExtractHtmlData() {
  3.  static CF_HTML := DllCall("RegisterClipboardFormat""Str""HTML Format")
  4.  DllCall("OpenClipboard""Uint"0)
  5.  format := 0
  6.  Loop {
  7.   format := DllCall("EnumClipboardFormats""Uint"format)
  8.  } until format = CF_HTML || format = 0
  9.  if (format != CF_HTML) {
  10.   DllCall("CloseClipboard")
  11.   return
  12.  }
  13.  hData := DllCall("GetClipboardData""Uint", CF_HTML, "Ptr")
  14.  pData := DllCall("GlobalLock""Ptr", hData)
  15.  html := StrGet(pData, "UTF-8")
  16.  DllCall("GlobalUnlock""Ptr", hData)
  17.  DllCall("CloseClipboard")
  18.  
  19.  pos := InStr(html, "<html")
  20.  if (pos > 1) {
  21.   html := SubStr(html, pos)
  22.  }
  23.  return html
  24. }
  25. ; 定义快捷键Ctrl+Alt+V,粘贴 HTML 原始代码
  26. ^!v::
  27. ^!v::
  28.  Clip0 = %ClipBoardAll%
  29.  ClipBoard := ExtractHtmlData()
  30.  Send ^v
  31.  Sleep 100
  32.  ClipBoard = %Clip0%
  33.  VarSetCapacity(Clip00)
  34.  Return

给Windows程序添加别名,添加后,按Win键打开菜单,然后输入别名即可运行对应程序
  1. ^#a::
  2.     Gui, Add, Text, x10 y5 w200 h20, 请输入别名,例如 xyz
  3.     Gui, Add, Edit, x10 y30 w300 h20 vAlias, 
  4.     Gui, Add, Text, x10 y55 w200 h20, 请输入可执行文件名和路径
  5.     Gui, Add, Edit, x10 y80 w300 h20 vExe, 
  6.     Gui, Add, Button, x10 y110 w60 h30 gOk Default, 确定
  7.     Gui, Add, Button, x80 y110 w60 h30 gCancel, 取消
  8.     Gui, Show, w320 h150, 添加新命令
  9. return
  10. Ok:
  11.     Gui, Submit, NoHide
  12.     if Alias =
  13.     {
  14.         MsgBox, 48, 错误, 请输入别名
  15.         Return
  16.     }
  17.     if Exe =
  18.     {
  19.         MsgBox, 48, 错误, 请输入可执行文件名和路径
  20.         Return
  21.     }
  22.     Run cmd /c reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\%Alias%.exe" /ve /d "%Exe%" /f
  23.     Gui, Destroy
  24. return
  25. Cancel:
  26.     Gui, Destroy
  27.     return
屏幕取色
  1. ; 屏幕取色,Win + Alt + C
  2. #!c:: 
  3.  ; 显示取色信息,跟随鼠标移动显示
  4.  Tooltip, , % "1"
  5.  ; 获取桌面工作区域矩形
  6.  SysGet, WorkArea, MonitorWorkArea
  7.  ; MsgBox % "工作区域矩形: Left=" . WorkAreaLeft . ", Top=" . WorkAreaTop . ", Right=" . WorkAreaRight . ", Bottom=" . WorkAreaBottom
  8.  
  9.  Loop
  10.  {
  11.   ; 监听鼠标移动
  12.   CoordMode, Mouse, Screen
  13.   CoordMode, Pixel, Screen
  14.   CoordMode, ToolTip, Screen
  15.   MouseGetPos, X, Y
  16.   PixelGetColor, color, %X%, %Y%
  17.   R := (color & 0x000000FF)
  18.   G := (color & 0x0000FF00) >> 8
  19.   B := (color & 0x00FF0000) >> 16
  20.   rgb := Format("#{:x}{:x}{:x}", r, g, b)
  21.   s := Format("({},{})颜色:`nHTML - {}`nR={}, G={}, B={}", X, Y, rgb, R, G, B)
  22.   
  23.   ty := Y + 20
  24.   if (ty > WorkAreaBottom - 60) {
  25.    ty := WorkAreaBottom - 60
  26.   }
  27.   ToolTip, % s, % X + 20, % ty
  28.   Sleep, 10
  29.   if (GetKeyState("Escape""P"))
  30.   {
  31.    ; ESC键退出
  32.    ToolTip
  33.    Clipboard := rgb
  34.    break
  35.   }
  36.  }
  37.  return
显示IP地址
  1. GetIPs() {
  2.  ; 查询本机所有网络适配器的IP地址
  3.  wbemLocator := ComObjCreate("WbemScripting.SWbemLocator")
  4.  wbemServices := wbemLocator.ConnectServer(".""root\cimv2")
  5.  networkAdapters := wbemServices.ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True")
  6.  ; 遍历所有网络适配器,输出IP地址
  7.  ip := ""
  8.  for adapter in networkAdapters
  9.  {
  10.   ipAddresses := adapter.IPAddress
  11.   for index, ipAddress in ipAddresses
  12.   {
  13.    ip := ip . "`t" . index . "`n"
  14.   }
  15.  }
  16.  whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
  17.     whr.Open("GET""https://api.ipify.org"false)
  18.     whr.Send()
  19.  ip := "外部地址: `n`t" . whr.ResponseText . "`n" . "内部地址: `n" . ip
  20.  whr := ""
  21.     return ip
  22. }
  23. showMessage(title, text) {
  24.  Gui +LastFound +ToolWindow +AlwaysOnTop
  25.  WinSet, Transparent, 200
  26.     Gui, Font, s18
  27.     Gui, Add, Edit, x10 y10 w580 h460, %text%
  28.     Gui, Show, w600 h480, %title%
  29. }
  30. #+i:: showMessage("结果(按ESC关闭)", GetIPs())

MouseGestureL.zip (4.5MB)