2017-10-05 25 views
5

たとえば、メモ帳、Word、およびChromeが開いています。キーボードのF9キーを押したときに次のアプリケーションに移動するようなスクリプトをAutoHotKeyに書き込むにはどうしたらいいですか?AutoHotKey:キーを押すと次のプログラムに移動します

+1

(https://autohotkey.com/docs/commands/GroupAdd.htm)と[GroupActivate](https://でautohotkey.com/docs/commands/GroupActivate.htm) 次のアプリケーションに移動します。 – user3419297

+0

ちょうど不思議なことに、この3つのプログラムを開き、3つのプログラムを切り替えるのに 'alt + tab 'を使うことはできませんか? – Cricrazy

+0

@Cricrazyキー操作が1つ必要です。 – user1187968

答えて

6

試してください:あなたは[GROUPADD]を使用して、これらのプログラムのグループを作成することができます

AltTab_ID_List_ := [] 

setTimer, updateList, 100 

f9::WinActivate, % "AHK_ID" AltTab_ID_List_[++pointer] 

updateList: 
list := AltTab_window_list() 
if (AltTab_ID_List_.MaxIndex() != list.MaxIndex()) 
    AltTab_ID_List_ := list 


cur:=WinExist("A") 
for e, v in AltTab_ID_List_ 
    if (cur == v) 
     pointer := AltTab_ID_List_.MaxIndex() == e ? 0 : e, break 

return 


AltTab_window_list() 
{ 

    WS_EX_CONTROLPARENT =0x10000 
    WS_EX_APPWINDOW =0x40000 
    WS_EX_TOOLWINDOW =0x80 
    WS_DISABLED =0x8000000 
    WS_POPUP =0x80000000 
    AltTab_ID_List_ := [] ;AltTab_ID_List_ =0 

    WinGet, Window_List, List ; Gather a list of running programs 
    id_list = 
    Loop, %Window_List% 
    { 
    wid := Window_List%A_Index% 
    WinGetTitle, wid_Title, ahk_id %wid% 
    WinGet, Style, Style, ahk_id %wid% 

    If ((Style & WS_DISABLED) or ! (wid_Title)) ; skip unimportant windows ; ! wid_Title or 
     Continue 

    WinGet, es, ExStyle, ahk_id %wid% 
    Parent := Decimal_to_Hex(DllCall("GetParent", "uint", wid)) 
    WinGetClass, Win_Class, ahk_id %wid% 
    WinGet, Style_parent, Style, ahk_id %Parent% 

    If ((es & WS_EX_TOOLWINDOW) 
     or ((es & ws_ex_controlparent) and ! (Style & WS_POPUP) and !(Win_Class ="#32770") and ! (es & WS_EX_APPWINDOW)) ; pspad child window excluded 
     or ((Style & WS_POPUP) and (Parent) and ((Style_parent & WS_DISABLED) =0))) ; notepad find window excluded ; note - some windows result in blank value so must test for zero instead of using NOT operator! 
     continue 

    AltTab_ID_List_.push(wid) 

    } 
    return AltTab_ID_List_ 
} 

Decimal_to_Hex(var) 
{ 
    SetFormat, integer, hex 
    var += 0 
    SetFormat, integer, d 
    return var 
} 
関連する問題