delphi如何屏蔽任意按键..?

来源:百度知道 编辑:UC知道 时间:2024/05/29 03:42:26
delphi中有什么控件可以屏蔽任意按键..(请说说控件的名字)



用什么代码可以屏蔽任意按键(请列出代码出来)
可以举个例子吗..?
假如我想屏蔽Alt+Ctrl+del该如何呢

SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @tmp, 0);
这一个我试了M遍了..不成功在2003系统下

用KeyHook可以屏蔽
如果没有这个控件可以去网上下载
如果你用的是正版的delphi,它在system面板里

补充:
原来你是要屏闭组合键
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @tmp, 0);
一句话搞定
KeyHook只能屏闭单个按键

我没用过2003的,刚才在XP下写了个函数,希望对你有用

两个按钮是做测试用的,可以无视
记得用过函数后要用SHChangeNotify进行刷新

还有一点,屏蔽Ctrl+Alt+Delete的原理和屏蔽其他键不同
如果是一般的屏蔽,用SetWindowsHookEx函数就行了

unit Unit1;

interface

uses
Windows, Forms, Classes, Messages, SysUtils, Menus, shellapi, ExtCtrls,
ShlObj, Registry, Controls, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure EnableCTRLALTDEL(YesNo : b