一、在private下面 procedure HotKeyDown(var Msg: Tmessage); message WM_HOTKEY; //热键声明。
二、var HotKeyId: Integer; //全局变量。
三、FormCreate事件里写。
1、HotKeyId := GlobalAddAtom('MyHotKey') - $C000; //热键ID。
2、RegisterHotKey(Handle, hotkeyid, MOD_CONTROL, $43); //热键 ctrl+C。MOD_CONTROL是ctrl,$43是C键
3、Application.ShowMainForm := False;//隐藏窗体。
四、procedure TForm1.HotKeyDown(var Msg: Tmessage);
var Key:Word;
begin
if (Msg.LparamLo = MOD_CONTROL) AND (Msg.LParamHi = $43) then
key:=0;
end;//可以打开一个文本测试一下 按下ctrl+c 不会复制。
五、FormClose事件里
UnRegisterHotKey(handle, HotKeyId); //注销HotKey, 释放资源。
ctrl+c 换成你想屏蔽的热键就行了,我用win7测试了一下,没问题,win10不知道