AutoHotkey热键脚本语言文件 (2)


    ;--- 循环监控守护打开程序部分 ,有时候会不小心关闭某些重要窗口(比如杀毒,腾讯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} 跳转到目标控件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzzxg.html