如何在2000下拦截Ctrl+Alt+Del! 问题如题。UP,GZ有分。请精确解决标题所指明的问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 现在我给你提供几个方法,版主可得给份哦!!//下面是锁定Ctrl+Alt+Del Alt+F4 Alt+ESC等系统组合键//锁定其他非组和键最好用键盘钩子实现锁定procedure hidekey;Vartemp:integer;beginSystemParametersInfo(Spi_screensaverrunning,1,@temp,0);end;解锁procedure hidekey;Vartemp:integer;beginSystemParametersInfo(Spi_screensaverrunning,0,@temp,0);end;试试这个HOOK!Library KillKB;Uses Wintypes, WinProcs{$IFNDEF VER80},{$ENDIF};VaroldHook: Hhook;Function KbHook( code: Integer; wparam: Word; lparam: LongInt ): LongInt;export;BeginIf code < 0 ThenKbHook := CallNextHookEx( oldHook, code, wparam, lparam )ElseKbHook := 1;End; { KbHook }Function DisableKeyboard: Boolean; export;BeginoldHook := SetWindowsHookEx( WH_KEYBOARD, KbHook, Hinstance, 0 );DisableKeyboard := oldHook <> 0;End;Procedure EnableKeyboard; export;BeginIf oldHook <> 0 Then BeginUnhookWindowshookEx( oldHook );oldHook := 0;End; { If }End;exportsDisableKeyboard index 1,EnableKeyboard index 2;BeginoldHook := 0;End. 要使系统的热启动键(Ctrl+Alt+Del)失效,使用以下语句SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);要恢复系统的热启动键(Ctrl+Alt+Del),使用以下语句SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0); 2000下要拦截Ctrl+Alt+Del,要改系统的GINA.dll文件。换成你自己的。 TO:pankun(剑神一笑) 你的方法我喜欢。也是真的有效啊! 请参考这儿http://www.tech521.com/techData/data/1930.asp BDE转ADO问题,请高手进来看一看!? 字符串替换问题 救命呀, 如何通过 Rundll32.exe 来重启计算机?并强制终止所有进程 使用ADO的insert语句在ExecSQL出错,我没分了,急,拜托-------在线等待!!! xywhx(xywhx)进来拿分(3) 如何解决文本文件导入到access库有乱码的问题?? delphi 中TRichViewEdit的使用问题 怎样监视调用的程序是否已经结束? 临时表的释放问题: 请教:导出Excel时如何定义某一列的宽度? 幫幫忙啊
//下面是锁定Ctrl+Alt+Del Alt+F4 Alt+ESC等系统组合键
//锁定其他非组和键最好用键盘钩子实现
锁定
procedure hidekey;
Var
temp:integer;
begin
SystemParametersInfo(Spi_screensaverrunning,1,@temp,0);
end;
解锁
procedure hidekey;
Var
temp:integer;
begin
SystemParametersInfo(Spi_screensaverrunning,0,@temp,0);
end;试试这个HOOK!Library KillKB;
Uses Wintypes, WinProcs
{$IFNDEF VER80},
{$ENDIF};
Var
oldHook: Hhook;Function KbHook( code: Integer; wparam: Word; lparam: LongInt ): LongInt;
export;
Begin
If code < 0 Then
KbHook := CallNextHookEx( oldHook, code, wparam, lparam )
Else
KbHook := 1;
End; { KbHook }Function DisableKeyboard: Boolean; export;
Begin
oldHook := SetWindowsHookEx( WH_KEYBOARD, KbHook, Hinstance, 0 );
DisableKeyboard := oldHook <> 0;
End;Procedure EnableKeyboard; export;
Begin
If oldHook <> 0 Then Begin
UnhookWindowshookEx( oldHook );
oldHook := 0;
End; { If }
End;exports
DisableKeyboard index 1,
EnableKeyboard index 2;Begin
oldHook := 0;
End.
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);要恢复系统的热启动键(Ctrl+Alt+Del),使用以下语句
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);
你的方法我喜欢。也是真的有效啊!
http://www.tech521.com/techData/data/1930.asp