键名 十六进制值
------------------------------------------------(功能键)
F1 70
F2 71
F3 72
F4 73
F5 74
F6 75
F7 76
F8 77
F9 78
F10 79
F11 7A
F12 7B
------------------------------------------------(特殊键)
PrintScreen 无
ScrollLock 91
Pause 13
Insert 2D
Delete 2E
Home 24
End 23
PageUp 21
PageDown 22
Left 25
Up 26
Down 28
Right 27
------------------------------------------------(小键盘 - 常规键)
NumLock 90
/ 6F
* 6A
- 6D
+ 6B
Enter 0D
------------------------------------------------(小键盘On)
. 6E
0 60
1 61
2 62
3 63
4 64
5 65
6 66
7 67
8 68
9 69
------------------------------------------------(小键盘Off)
Del 2E
Ins 2D
End 23
Down 28
PgDn 22
Left 25
(5) 0C
Right 27
Home 24
Up 26
PgUp 21
------------------------------------------------(大键盘 - 数字及符号)
` C0
1 31
2 32
3 33
4 34
5 35
6 36
7 37
8 38
9 39
0 30
- BD
= BB
\ DC
[ DB
] DD
; BA
' DE
, BC
. BE
/ BF
Space 20
------------------------------------------------(大键盘 - 字母)
q 51
w 57
e 45
r 52
t 54
y 59
u 55
i 49
o 4F
p 50
a 41
s 53
d 44
f 46
g 47
h 48
j 4A
k 4B
l 4C
z 5A
x 58
c 43
v 56
b 42
n 4E
m 4D
------------------------------------------------(大键盘 - 控制)
Esc 1B
Tab 09
CapsLock 14
Shift 10
Ctrl 11
Win 5B
Alt 12
App 5D
Enter 0D
BackSpace 08
procedure TForm1.HotKeyDown(var Msg: Tmessage);
begin
if (Msg.LparamLo = MOD_CONTROL) AND (Msg.LParamHi = VK_F2) then // 假设热键为ALT+F8
begin
ShowWindow(Application.Handle, SW_SHOW);
ShowWindow(Self.Handle, SW_SHOW);
if IsIconic(Application.Handle) then
ShowWindow(Application.Handle, SW_RESTORE)
else
SetForegroundWindow(Application.Handle);
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Handle, FHotKeyId);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Self.Handle, SW_HIDE);
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Self.Handle, SW_HIDE);
end;