本脚本只是实现了热键激活不在前台的QQ主面板,并不是热键打开主面板。
使用方法:先手动打开QQ主面板,并且不要最小化,然后运行本脚本,此脚本会探测到主面板的id,然后绑定热键win+z
来用于激活动作。
/*
为QQ增加热键
这个脚本前提是,你要激活的窗口需要事先打开的(且主面板不能最小化)。
然后用win+f1 探测它们;
然后就自动做如下绑定:
win q 消息盒子
win a 会话列表
win z 激活主面板
只有主窗体绑定热键前是不能最小化
Author:
Blog:
Copyright: 2016 sunwind
Date: 2016年2月19日23:36:07z
AutoHotkey Version: 1.1.23.01
OS: WIN_7
*/
#SingleInstance force
#Persistent
DetectHiddenText, On
SetTitleMatchMode,2
;~ 2: 窗口标题的某个位置必须包含WinTitle。.
WinTitle=ahk_class TXGuiFoundation
main:
WinGet, winList,List,%WinTitle%
wins:=[]
Loop,%winList%
{
this_id=% winList%A_Index%
WinGetTitle,this_title,ahk_id %this_id%
wins.Insert({index:A_Index,title:this_title,id:this_id})
}
main_flag:=box_flag:=message_flag:=0
for each,win in wins
{
if InStr(win.title,"QQ")
{
main_flag:=1
main_id:=win.id
Hotkey,#z,bind
}
else if InStr(win.title,"消息盒子")
{
box_flag:=1
box_id:=win.id
Hotkey,#q,box
}
else
{
message_flag:=1
message_id:=win.id
Hotkey,#a,message
}
}
if (main_flag=1)
{
MsgBox 已经绑定热键#z为主面板激活热键
}
if(main_flag=0)
{
MsgBox 请先运行主窗体后,再用#F1探测窗口,程序会自动绑定热键#z为主面板激活热键。
}
if(box_flag=1)
{
MsgBox 已经绑定热键#q为消息盒子激活热键
}
if(box_flag=0)
{
MsgBox 请先运行消息盒子后,再用#F1探测窗口,程序会自动绑定热键#q为消息盒子激活热键。
}
if(message_flag=1)
{
MsgBox 已经绑定热键#a为会话列表窗口激活热键
}
if(message_flag=0)
{
MsgBox 请先运行会话列表窗口后,再用#F1探测窗口,程序会自动绑定热键#q为行会话列表窗口激活热键。
}
return
;~ #q
box:
WinActivate,ahk_id %box_id%
return
;~ #a
message:
WinActivate,ahk_id %message_id%
return
;~ #z
bind:
WinActivate,ahk_id %main_id%
return
#f1::gosub main