;--- 循环监控守护打开程序部分 ,有时候会不小心关闭某些重要窗口(比如杀毒,腾讯QQ),当关闭或出错(需要另外判断)退出时全自动打开它 ------------------------
;腾讯QQ守护程序,作用:使QQ保持打开状态
Sleep,100
#Persistent
Sleep,100
Process,Exist,QQ.exe ;获取A.exe的PID
Sleep,100
pc1:=ErrorLevel ;将返回值存入pc1, 如果不存在返回值为0。
Sleep,100
If(pc1=0) ;等于0, 说明A进程不存在
{
Sleep,100
;判断文件是否存在
;IfNotExist
Run "C:\Program Files\Tencent\QQ\Bin\qq.exe"
Sleep,100
}
Sleep,100
}
;=== 循环监控守护部分到此行结束 ==================================================================
;=============== 测试实验试验部分 ===========================================================================
;---------- 按热键 Shift + F11 键 测试命令行有效性 -------------------------------------------------------
;f11::run notepad
+f11::
窗口标题=MasterSeeker 1.2 by DxCK
/*
;ControlFocus, Filename,MasterSeeker
;WinGetClass,MyClass,A
;IfWinNotActive ,MasterSeeker 1.2 by DxCK
; WinGetTitle, MyActiveWindowTitle, A
;If ("%MyActiveWindowTitle%" <> MasterSeeker 1.2 by DxCK)
;IfWinNotExist, MasterSeeker 1.2 by DxCK
;If (WinActive("MasterSeeker 1.2 by DxCK"))
;WinGetActiveTitle,MyTitle
;if (MyTitle= "MasterSeeker 1.2 by DxCK")
;WinGetClass,MyWinClass,%窗口标题%
;if(MyWinClass="WindowsForms10.Window.8.app.0.218f99c")
WinGet,MyWinCount,Count,%窗口标题%
If (MyWinCount = 0)
{
MsgBox,,,"If 条件语句中判断表达式的值为 .真." %MyWinCount%,2
}
}
*/
;WinSetTitle,%窗口标题%,,"新的窗口标题"
;ControlSetText,Filename,请输入需要搜索的文件名,%窗口标题%
ControlSetText,ahk_class SysHeader321,请输入需要搜索的文件名,%窗口标题%
return
;=== 定义全局热键部分 ===================================
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;=== AutoHotkey热键脚本语言文件 autoHotkey.ini 从此行开始 === The Sart Line Of autoHotkey.ini AutoHotkey ScriptFile =================
;=== 定义全局热键部分 ============
; ----- 按热键 ` 打开本地磁盘文件搜索软件 MasterSeeker_1.2_by_DxCK_MD5_0F7 -----
; ----- 快捷键 ` 即 ~ 键,位于 Esc 退出键正下方,位于 Tab 制表键正上方 -----
;使用方法:1、下载AutoHotkey和MasterSeeker,
;2、把下面的代码复制到AutoHotkey的Edit This Script窗口中,
;3、Reload This Script重新装入脚本后按~键。
; 打开文件后连续按 5 次PageDown向下翻页键跳转到此行
~::
{
Send,{Shift Up}
ActiveOrHideMasterSeekerWindow()
return
}
;=== AutoHotkey.ahk 热键脚本语言文件 AutoHotkey.ini.ahk ===
;定义全局热键 ` 打开本地磁盘文件搜索软件 MasterSeeker_1.2_by_DxCK AHK 快捷键脚本
;自定义快捷键 ` 即 ~ 键位于 Esc 退出键正下方,位于 Tab 制表键正上方,共5步操作
`::
{
ActiveOrHideMasterSeekerWindow()
return
}
ActiveOrHideMasterSeekerWindow()
{
; 第1步 , 判断可执行程序文件是否存在
IfNotExist,MasterSeeker\MasterSeeker.exe
{
MsgBox,,可执行文件 MasterSeeker.exe 未找到,文件 %A_ScriptDir%\MasterSeeker\MasterSeeker.exe 不存在`n请到官方网站 重新下载,8
return
}
窗口标题=MasterSeeker 1.2 by DxCK
WinGet,MyWinCount,Count,%窗口标题%
Sleep,100
If (MyWinCount = 0)
{
WinGetClass,MyWinClass,%窗口标题%
Sleep,100
If (not(MyWinClass="WindowsForms10.Window.8.app.0.218f99c"))
{
WinGetTitle,MyTitle,%窗口标题%
Sleep,100
If (not(MyTitle= "MasterSeeker 1.2 by DxCK"))
{
Sleep,100
IfWinNotExist,%窗口标题% ; 第2步 , 如果程序未运行那么运行程序
{
Run,MasterSeeker\MasterSeeker.exe,,max
}
}
}
}
WinGet,Style1 ,Style,%窗口标题% ; 第3步 , 激活并最大化窗口或者隐藏窗口
; 判断窗口是否包含WS_VISIBLE样式,就是窗口是否可见
If ((Style1&0x10000000) and (WinActive("MasterSeeker 1.2 by DxCK")))
{
WinMinimize,%窗口标题%
WinHide,%窗口标题%
ToolTip
return
}
Else
{
ReDllCall_WindowsAPI_SwitchToThisWindow_Again_To_ActiveWindow:
SetWinDelay, 10
SetTitleMatchMode,2
DetectHiddenWindows, On
; 激活窗口(即把窗口放到前台,设置为顶层窗口)
WinShow,%窗口标题%
WinActivate,%窗口标题%
#WinActivateForce
WinActivate,%窗口标题%
WinGet, winid, ID,%窗口标题%
DllCall("SwitchToThisWindow", "UInt", winid, "UInt", 1)
;最大化窗口
WinMaximize,%窗口标题%
;检查判断激活窗口是否完成,如果激活窗口失败那么重新尝试激活。
IfWinNotActive ,%窗口标题%
{
;跳转到激活窗口的标签并继续重新尝试激活目标窗口。
Goto , ReDllCall_WindowsAPI_SwitchToThisWindow_Again_To_ActiveWindow
} ; 第4步 、选中搜索输入框,使输入框获得焦点
;可以通过窗口句柄窗口信息显示工具来取得并测试窗口的信息
;Spy++ Lite V2.4 ; 或者用 ViewWizard 2.8.0 ;或者用 句柄精灵 3.0
;当设置 Control 参数为空或省略,目标窗口的顶端控件将被使用。
;然后通过 Send,{TAB} 跳转到目标控件