12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #SingleInstance force
- #NoEnv
- SetBatchLines, -1
- transN := 200 ; 透明度
- ; #################################
- ; GUI
- ; #################################
- ;
- Gui, +AlwaysOnTop +ToolWindow -SysMenu -Caption +LastFound
- Gui, Margin, 0, 0
- WinSet, ExStyle, +0x20 ; 鼠标穿透
- WinSet, Transparent, %transN%
- Gui, Color, Black
- Gui, Font, cWhite s50 bold, Arial
- Gui, Add, Text, vHotkeyText Center y20
- ; #################################
- ; 绑定按键
- ; #################################
- ;重复95次,A_Index表示第i次,默认0
- Loop, 95
- Hotkey, % "~*" Chr(A_Index + 32), Display
- Loop, 24 ; F1-F24
- Hotkey, % "~*F" A_Index, Display
- Loop, 10 ; Numpad0 - Numpad9
- Hotkey, % "~*Numpad" A_Index - 1, Display
- Otherkeys := "NumpadDiv|NumpadMult|NumpadAdd|NumpadSub|NumpadEnter|Tab|Enter|Esc|BackSpace|Del|Insert|Home|End|PgUp|PgDn|Up|Down|Left|Right|ScrollLock|CapsLock|NumLock|Pause"
- Loop, parse, Otherkeys, |
- Hotkey, % "~*" A_LoopField, Display
- Return
- ; #################################
- ; 显示按键
- ; #################################
- ;
- Display:
- If A_ThisHotkey =
- Return
- mods := "Ctrl|Shift|Alt|LWin|RWin"
- prefix =
- Loop, Parse, mods, |
- if GetKeyState(A_LoopField)
- prefix := prefix A_LoopField " + "
- if !prefix ; 如果没有组合键则不显示
- Return
- key := SubStr(A_ThisHotkey, 3)
- if (key = " ")
- key := "Space"
- ShowHotkey(prefix key)
- FadeOut()
- Return
- ; ===================================================================================
- ShowHotkey(Hotkey)
- {
- GuiControl, , HotkeyText, %Hotkey%
- WinGetPos, ActWin_X, ActWin_Y, ActWin_W, ActWin_H, A
- text_w := ActWin_W, gui_y := (ActWin_Y + ActWin_H) - 100 -50 ;gui_y可能会
- GuiControl, Move, HotkeyText, w%text_w% center
- Try{
- Gui, Show, NoActivate x%ActWin_X% y%gui_y% h115 w%text_w%
- }
-
- }
- FadeOut(sleep = 1000)
- {
- global transN
- Sleep, %Sleep%
- Gui, +LastFound
- Loop, % transN
- WinSet, Transparent, % (A_Index - transN - 1) * -1
- Gui, Hide
- WinSet, Transparent, % transN
- }
|