最近學習钩子函数,知道WH_JOURNALRECORD和WH_JOURNALPLAYBACK可以禁止ctr+alt+del,可就是写不好,代碼如下,
希望高手指點。謝謝!function JOURNALRECORD(nCode:Integer;wParam:WPARAM;lParam:LPARAM):LResult;stdcall;var
Form1: TForm1;
WinHook:HHOOK;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
WinHook:=SetWindowsHookEx(WH_JOURNALRECORD,@JOURNALRECORD,0,0);
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
UnhookWindowsHookEx(WinHook);
end;function JOURNALRECORD(nCode:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT;
begin
if (nCode>0) then
begin
if (lParam=VK_Menu) and (lParam=VK_SHIFT) and (lparam=VK_CONTROL) then
begin
result:=1;
end;
end
else
result:=CallNextHookEx(winHook,nCode,wParam,lParam);
end;
希望高手指點。謝謝!function JOURNALRECORD(nCode:Integer;wParam:WPARAM;lParam:LPARAM):LResult;stdcall;var
Form1: TForm1;
WinHook:HHOOK;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
WinHook:=SetWindowsHookEx(WH_JOURNALRECORD,@JOURNALRECORD,0,0);
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
UnhookWindowsHookEx(WinHook);
end;function JOURNALRECORD(nCode:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT;
begin
if (nCode>0) then
begin
if (lParam=VK_Menu) and (lParam=VK_SHIFT) and (lparam=VK_CONTROL) then
begin
result:=1;
end;
end
else
result:=CallNextHookEx(winHook,nCode,wParam,lParam);
end;
解决方案 »
- 在DELPHI裡Ctrl+F7/Ctrl+F8/Ctrl+F10的值是????
- 100篇delphi精彩讨论
- 请问怎样随机生成1和-1?
- 请问: [Fatal Error] Internal:L470 是什么错误?
- 为什么我的QREPORT显示不出数据?
- 郑重邀请斑竹回答,疯狂送分1000分
- webbrowser打开网页并登录后,再手动打开IE却未登录状态;反之亦然。
- delphi能不能在定义变量同时负初值?
- 那里有优秀的报表控件,我想把报表预览在特定的区域,帮帮我吧,主啊
- 非delphi问题,我想再下载一次csdn离线浏览器,该如何做?
- 求控件如图
- delphi操作mysql 向mytable 表里写数据的时候出错
在WINDOWS 9X环境中我们可以使用SystemParametersInfo (SPI_SCREENSAVERRUNNING, 1,NULL, 0);来屏蔽CTRL+ALT+DEL,但在NT/2000环境下却行不通,即使使用WH_KEYBOARD_LL这个低级的键盘hook也无法拦截!笔者通过替换GINA DLL的方式很好地实现了在NT/2000下屏蔽CTRL+ALT+DEL的功能。http://www.vckbase.com/document/viewdoc/?id=242