在delphi中怎么才能屏蔽系统键 ( 积分: 100 )

  • 主题发起人 主题发起人 zxqhty
  • 开始时间 开始时间
Z

zxqhty

Unregistered / Unconfirmed
GUEST, unregistred user!
各位师兄、师弟:
在delphi 中怎样才能屏蔽系统的ALT和F4键,也就是不想让客户通过按ALT和F4来关闭窗口。再此表示感谢。
 
Var
temp:integer;
begin
SystemParametersInfo(Spi_screensaverrunning,1,@temp,0);
end;
恢复功能键时用以下代码:
Var
Temp:integer;
begin
SystemParametersInfo(spi_screensaverrunning,0,@temp,0);
end;
 
win api處理,樓上正解
 
SystemParametersInfo在Windows NT下 已经失效了吧 测试不通过

试试用键盘钩子吧

library KeyHook;

uses
Windows,Messages;
var
MyHook: HHOOK;
function KeyHookProc(icode: integer;wparam:WPARAM; lparam: LPARAM):LRESULT;stdcall;
begin
Result:= 0;
if icode < 0 then
Result:= CallNextHookEx(MyHook,icode,wparam,lparam)
else
begin
if ((GetKeyState(VK_MENU) and $80) <> 0) and (wparam =VK_F4) then
Result:=1;
end;
end;

function InstallKeyHook:boolean;stdcall;
begin
MyHook:= 0;
MyHook:= SetWindowsHookEx(WH_KEYBOARD,@KeyHookProc,Hinstance,0);
Result:= (MyHook<>0);
end;

function UnInstallKeyHook:boolean;stdcall;
begin
Result:= False;
if MyHook <> 0 then
begin
UnHookWindowsHookEx(MyHook);
MyHook:=0;
end;
Result:= MyHook = 0;
SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,0);//广播消息
end;

exports
InstallKeyHook,UnInstallKeyHook;
begin

end.
 
通过WINDOWS消息!
 
后退
顶部