[AHK]屏幕显示所按组合热键

使用AutoHotkey脚本实现在屏幕底部显示热键信息,帮助解决录屏时无法记录按下组合键的问题。该脚本支持多种常用热键,并能够自定义透明度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

录屏时常常不能录下所按的组合热键,用下面AutoHotkey脚本就方便多了。功能,在屏幕下方显示组合键信息。

#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


; #################################
;		绑定按键
; #################################
;
Loop, 95
	Hotkey, % "~*" Chr(A_Index + 31), 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) - 115 - 50
	GuiControl, Move, HotkeyText, w%text_w% center

	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
}




评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值