码迷,mamicode.com
首页 > 其他好文 > 详细

;徐晓亮的跟随电脑启动的AutoHotkey全局热键和热字串脚本

时间:2016-07-16 19:27:27      阅读:1597      评论:0      收藏:0      [点我收藏+]

标签:

;徐晓亮的跟随电脑启动的AutoHotkey全局热键和热字串脚本

 

/*
;------------------------------------------------------------[重要提示]
在SciTE或者EmEditor中按热键Ctrl+G -> 150 -> Enter跳转到热键定义处
①立即升级杀毒软件病毒库
②用pft.exe个人文件转移工具转移文件夹到非系统盘D:盘
(pft.exe文件来自于一键Ghost硬盘版C:\dosh\ghos\pft.exe)
③通过Total Commander的工具栏来正确的新建和打开文件和文件夹
(养成只在360云盘电脑版或者安卓版的5488账号中新建文本txt文档doc表格xls的习惯
请不要在百度云、移动硬盘和本地磁盘等其他地方新建文本文档和表格,
但是可以下载备份到这些地方,
用Total Commander的工具栏来管理VMware ThinApp制作的免装软件)
④请在设置好备份和自动保存的EmEditor卡饭论坛版 编辑器中打开和编辑此文本文件
(按热键 ALT -> T -> R 设置EmEditor的备份和自动保存的所有配置的属性
按热键Ctrl+Tab切换EmEditor中的不同文本文档)
⑤按全局热键F9启动MasterSeeker,按全局热键`(即~)启动Total Commander 5.82a
(请用版本1.1.24或以上的AutoHotkey运行F:\AutoHotkey\AutoHotkey.ahk热键和热字串脚本
F:盘是我的)
本文作者邮箱:595076941@qq.com)
2016年07月16日 15时00分

;------------------------------------------------------------[此脚本属性]
; 文件: C:\Program Files\AutoHotkey\AutoHotkey.ahk
; 用途: 本人的跟随电脑启动的脚本,用于注册全局热键和全局热字串到电脑
; 说明: 此脚本需要运行在AutoHotkey的英文版本1.1.24或以上
;
代码作用含义解释查看AutoHotkey中文CHM帮助文档或者
; AutoHotkey中文CHM帮助文档和中文论坛的热键和热字串部分
; 或者在百度中搜索 AutoHotkey + 代码单词

*/

;------------------------------------------------------------[设置此脚本参数]
;使用逗号而不是空格分隔参数,所有注释在代码行的前一行,代码段落之间空一行

;自定义此脚本的菜单栏罗马武士头盔XE8图标
;if existfile,%A_ScriptDir%
;Menu Tray, Icon, AutoHotkey.ico

;不检查空变量是否为环境变量(建议所有新脚本使用)。
#NoEnv

;启用可能产生错误的特定状况时的警告,例如书写错误或缺少全局声明。
; #Warn

;由于SendInput 突出的速度和可靠性, 通常为发送键击和鼠标点击的首选方法.
SendMode,Input

; 改变脚本的当前工作目录为当前脚本所在目录的绝对路径
SetWorkingDir,%A_ScriptDir%

;当脚本已经运行时跳过对话框并自动替换旧实例
#SingleInstance,force

;设置坐标模式为 Screen 坐标相对于桌面 (整个屏幕).
CoordMode,ToolTip
CoordMode,Pixel
CoordMode,Mouse

;设置窗口标题的查找匹配模式为某个位置必须包含WinTitle中的一部分。
SetTitleMatchMode,2

;设置脚本可以“看见”最小化或者隐藏的窗口。
DetectHiddenWindows,On

;让脚本无休眠运行(即让脚本以全速运行)。
;SetBatchLines,-1

;设置Capslock键的状态,On表示打开(键盘灯亮),还可以强制此键保持打开或关闭状态。
;SetCapsLockState,Off
;SetNumLockState
;SetScrollLockState

;send,Shift up
;send,Ctrl up
;send,win up
;send,alt up

;设置每次 Send 和 ControlSend 发送键击后自动的延时.
;SetKeyDelay [, Delay, PressDuration, Play]

;设置每次鼠标移动或点击后自动的延时。
;SetMouseDelay, Delay [, Play]

;设置在 Send 后是否恢复 CapsLock 的状态。
;SetStoreCapslockMode, On|Off

;设置在每次执行窗口命令(例如 WinActivate)后自动的延时。
;SetWinDelay, Delay


;------------------------------------------------------------[自定义函数]
ShowOrHideWindow(ExeFile,WinTitle)
;//--- 自定义函数,作用运行并显示或者隐藏窗口
;//--- 函数调用格式,ShowOrHideWindow("exe文件路径","窗口部分标题")
;//--- 调用本函数时参数是字符串,不要忘记加双引号哦!
{
SetWinDelay, 10
SetTitleMatchMode,2
DetectHiddenWindows, On
#WinActivateForce

;// 第1步 , 判断可执行程序文件是否存在
IfNotExist,%ExeFile%
{
MsgBox,,文件%ExeFile%未找到,请重新下载安装exe可执行文件,8
return
}

;// 第2步 , 如果程序未运行那么运行程序
IfWinNotExist,%WinTitle%
{
Run,%ExeFile%
}

;// 第3步 , 激活并最大化窗口或者隐藏窗口
; 判断窗口是否包含WS_VISIBLE样式,就是窗口是否可见
WinGet,Style1 ,Style,%WinTitle%
if ((Style1&0x10000000) and (WinActive(%WinTitle%)))
{
;WinMinimize,%WinTitle%
WinHide,%WinTitle%
return
}
else
{
ReCallDll_WindowsAPI_SwitchToThisWindow_Again_To_ActiveWindow:
; 激活窗口(即把窗口放到前台,设置为顶层窗口)
WinShow,%WinTitle%
WinGet, winid, ID,%WinTitle%
DllCall("SwitchToThisWindow", "UInt", winid, "UInt", 1)
;WinActivate,%WinTitle%
;最大化窗口
WinMaximize,%WinTitle%

;检查判断激活窗口是否完成,如果激活窗口失败那么重新尝试激活。
IfWinNotActive ,%WinTitle%
{
;跳转到激活窗口的标签并继续重新尝试激活目标窗口。
goto , ReCallDll_WindowsAPI_SwitchToThisWindow_Again_To_ActiveWindow
}
}
}

 

;------------------------------------------------------------[自定义热键或者热字串函数]
;新建并编辑一些函数,在用户按下对应热键或者热字串时执行这些函数
/*
TrayTip,AutoHotKey,用于此脚本测试_此行语句已经被执行
Sleep,1000
TrayTip
*/

;按Pause暂停或者启用所有热键和热字串
Hotkey,Pause,Pause暂停,On
Hotkey,`!^E,Ctrl+Alt+E编辑此脚本,On
Hotkey,`!^R,Ctrl+Alt+R重新启动此脚本,On
Hotkey,`!^H,Ctrl+Alt+H打开AHK中文CHM帮助文档,On
Hotkey,+F5,Shift+F5插入当前日期时间,On
Hotkey,F9,MasterSeeker搜索文件


;按`(即~)键激活或者隐藏Total_Commander852a窗口:
;加$避免触发按键自己. $ 前缀强制使用 键盘钩子 来实现此热键,相当于#UseHook。
;加*通配符: 即使附加的修饰键被按住也能激发热键,无论是否按下Shift/Ctrl/Win/Ctrl
*$`::
;Process,Close,TotalCMD.exe
ShowOrHideWindow("totalcmd/totalcmd.exe","52a")
Sleep,10
WinMaximize,"52a"
return

Pause暂停:
Suspend ;禁用或启用所有的或选择的热键和热字串。
;Pause ;暂停脚本的当前线程。
TrayTip,AutoHotkey,热键状态已切换
return

Ctrl+Alt+E编辑此脚本:
;Edit
Run,SciTE/SciTE.exe AutoHotkey.ahk,,MaxSize
Sleep,1000
Send,^g
Send,150{Enter}
;不知道什么原因每次启动编辑器后热键会失效,只好Reload一下了
Reload
return

Ctrl+Alt+R重新启动此脚本:
Reload
return

Ctrl+Alt+H打开AHK中文CHM帮助文档:
Run,AutoHotkey_CN.chm
return

Shift+F5插入当前日期时间:
;插入的当前日期和时间看起来会像 2016年07月28日 20时56分 这样
FormatTime, CurrentDateTime,, yyyy年MM月dd日 HH时mm分
SendInput %CurrentDateTime%
return

MasterSeeker搜索文件:
ShowOrHideWindow("Totalcmd\tools\MasterSeeker\MasterSeeker.exe","MasterSeeker")

;//--- 第5步、操作完成,全选搜索关键字
if WinActive("MasterSeeker")
{
ControlFocus,Filename,%窗口标题%
Send,{End}
Send,+{home}
Sleep,100
Send,{Shift Up}
}
return

 

/*
{ ******************************************************* }
{ 徐晓亮的博客园博客 http://www.cnblogs.com/delphixx }
{ 电子邮箱: 595076941@qq.com }
{ 2016.7.16 All Right Not Reserved }
{ ******************************************************* }

{
互联网搜索引擎
http://www.so.com/
http://www.soso.com/
http://www.baidu.com/
我建议像我这样喜欢用AutoHotkey和Delphi编程的年轻人多尝试
多搜搜、多编程、多归类、多收藏、多上传、多刻录、多交流分享
把所有有用的AutoHotkey和Delphi源代码实例等等编程资源都
分类保存到2.5寸移动硬盘中并且上传到360云盘和百度云网盘中
不要到要用的时候乱找乱搜乱试.把编程经验写在《为知笔记》wiz.cn中
同时把绿色免装软件也放到移动硬盘用Total Commander集中管理
< 淘宝包邮 2.5寸 4TB 移动硬盘 、 淘宝包邮DVD刻录光盘 >

如要收藏此博客请立即按热键 <CTRL> + D

本文由 徐晓亮 在2016年6月19日编辑修改 我用AutoHotkey和Delphi XE8编程
}
*/

;徐晓亮的跟随电脑启动的AutoHotkey全局热键和热字串脚本

标签:

原文地址:http://www.cnblogs.com/delphixx/p/5676816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!