发表回复 
多个热键任意切换同时终止前面的线程
2018-07-06, 21 : 57 (这个帖子最后修改于: 2018-07-06 23 : 02 by feiyue.)
Heart 多个热键任意切换同时终止前面的线程
以前对于这个问题讨论已不少了,我想到一个新思路,采用双进程,一个接受热键,一个专门执行。Smile

代码: (全选)
/*

多个热键任意切换同时终止前面的线程  By FeiYue

*/


#NoEnv
#NoTrayIcon
#SingleInstance off
if 0 = 0
  ok:="Main"
else
  ok:="Sub"
;-----------------------
DetectHiddenWindows, On
Gui, ok:Show, Hide, [%ok%]
Gui, ok:+Hwndmyid
WinGet, list, List, [%ok%] ahk_class AutoHotkeyGUI
Loop, % list {
  IfEqual, myid, % id:=list%A_Index%, Continue
  WinGet, pid, PID, ahk_id %id%
  WinClose, ahk_class AutoHotkey ahk_pid %pid%,, 3
  IfWinExist, ahk_id %id%
    Process, Close, %pid%
}
DetectHiddenWindows, Off
;-----------------------
if 0 = 0
{
  Menu, Tray, Icon
  For k,v in ["F1","F2","F3"]
    Hotkey, %v%, %v%
  return
}
if IsLabel(k:=%True%)
  Goto, %k%
return

ok() {
  static arg:=%True%
  if (arg="")
  {
    Run, %A_AhkPath% "%A_ScriptFullPath%" %A_ThisLabel%
    KeyWait, % RegExReplace(A_ThisHotkey,"\W+")
    Exit
  }
}


;========== 下面是自己的代码 ==========


F1:
ok()
Loop {
  Sleep, 100
  ToolTip, F1-%A_Index%
}
return

F2:
ok()
Loop {
  Sleep, 100
  ToolTip, F2-%A_Index%
}
return

F3:
ok()
ExitApp


;========== 脚本结束 ==========

;
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合