如何在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 当在edit输入文字,就(用代码)创建一个相同的edit,当再在这个edit中输入文字时,再创建一个edit 哪位高手知道如何做网络校时 请教一个用Inno打包的问题 谁有delphi关于ado编程 的资料啊(要详细一点的) 如何通过combobox来显示不同表的内容? 在memo中更改特定字符串 如何在系统启动时执行我的程序,(要在启动菜单里看的到的) 大家推荐一下几个好一点有关delphi的英文网站和BBS 请教一个非常简单的问题!!!!!!!!!! DBChat小问题,请进 请教:导出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