[AHK]脚本调度脚本

 你在某脚本(老板1)中设置一个热键,可以暂停另一个脚本(员工2)的


 两个脚本:1常用  2临时用
在1中设置一个热键,可以暂停2的运行,
 就是老板可以让临时工随时滚蛋... 

以暂停为例,,老板脚本如下:

#F1::
DetectHiddenWindows, on
SetTitleMatchMode, 2
PostMessage, 0x111, 65306,,, 这里写将被暂停的脚本名(员工脚本名).ahk - AutoHotkey
return 

65305 挂起

65306 暂停

65307退出

65304编辑


【应用】

#NoEnv
;sunwind 2013年3月30日21:59:41
;关闭除Needle变量之外的所有ahk进程
result:=GetProcessInfo("AutoHotkey.exe")
;Needle为保留ahk列表 感谢逆风飞扬帮助完善!
Needle =
(
脚本1名字
脚本2名字

)
Loop, parse, result, `n
{
StringLeft,pid,A_LoopField,InStr(A_LoopField,"|")-1
FoundPos := RegExMatch(A_LoopField, "[^\\]*\.ahk", Match) ;
StringTrimRight,ming,Match,4
;~ MsgBox, % "FoundPos: " FoundPos "`n" "Match: " Match
IfNotInString,Needle,%ming%
PostMessage,0x111,65405,0,,ahk_pid %pid%
       ;~ Process, Close,%pid%
}
return

GetProcessInfo(iProcessName,iProcessId="",iMode=1) {
FROM=SELECT * FROM Win32_Process WHERE Name='%iProcessName%'


psvc := ComObjGet("winmgmts:{impersonationLevel=impersonate}!" . "\\.\root\cimv2")
penm := psvc.ExecQuery(FROM)._NewEnum 
While penm[pobj] {
       PID := pobj.ProcessId           ; 获取进程PID
       CMDLine := pobj.CommandLine ; 获取进程命令行
       cDate := pobj.CreationDate      ; 获取创建时间(瞎翻译的)
       regexmatch(CMDLine, "i)\s+(.*)", ff_)   ; 正则匹配命令行参数
       StringReplace,ff,ff_1,`",,All
       regexmatch(cDate, "Ui)^[0-9]{8}([0-9]{2})([0-9]{2})([0-9]{2})\..+$", dd_) ; 正则匹配时间
       ;~ if (iProcessId=PID)
               ;~ break
       ;~ MsgBox,0,% iProcessId,% PID   
       result:=result . PID . "|" . ff . "|" . "`n"
       }
       if iMode=0 ;返回进程PID
               return %PID%
       if iMode=1 ;返回进程命令行
               return %result%
       if iMode=2 ;返回创建时间
               return % dd_1 . ":" . dd_2 . ":" . dd_3
}


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值