function LowLevelKeyboardProc(nCode: Integer;WParam: WPARAM;LParam: LPARAM):LRESULT; stdcall;
begin(((p.vkCode=VK_CONTROL) and (P.vkCode = LLKHF_ALTDOWN and p.flags) and (p.vkCode>=65) and (p.vkCode<=90) ))edn;这样无效
begin(((p.vkCode=VK_CONTROL) and (P.vkCode = LLKHF_ALTDOWN and p.flags) and (p.vkCode>=65) and (p.vkCode<=90) ))edn;这样无效
解决方案 »
- GMail邀请
- 使用API的问题
- 如何在ComboBox中调用自定义的函数???拜托了
- 如何在ServerSocket发生onClientError事件的时候进行断开连接处理?(分不够再加)
- 如何做一个类似kele8那样的情景聊天室?各位高手,看看呀,给点意见
- 求助哪位高手帮我修改一下极速浏览器一个小地方
- 请问在delphi 3层结构中 如何在中间层控制客户端用户的数量,只允许有5个客户连接?
- 怎么把一个文件拷贝到另一个目录?
- 急救 老板要我作一个演示播放器,谁可以向我提供一点源代码啊,或者提供一点思路也好。不胜感激!
- 为何不能显示 个性化菜单 ??
- 有个delphi开发的管理软件,没有源码,如何修改关键功能呢
- 求fastreport4 使用教程
unit Unit1;interfaceuses
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 : boolean);
const
sRegPolicies = '\Software\Microsoft\Windows\CurrentVersion\Policies';
begin
with TRegistry.Create do
try
RootKey:=HKEY_CURRENT_USER;
if OpenKey(sRegPolicies+'\System\',True) then
begin
case YesNo of
False:
begin
WriteInteger('DisableTaskMgr',1); //任务管理
WriteInteger('DisableLockWorkstation',1);//用户锁定计算机
WriteInteger('DisableChangePassword',1);//用户更改口令
end;
True:
begin
WriteInteger('DisableTaskMgr',0);
WriteInteger('DisableLockWorkstation',0);
WriteInteger('DisableChangePassword',0);
end;
end;
end;
CloseKey;
if OpenKey(sRegPolicies+'\Explorer\',True) then
begin
case YesNo of
False:
begin
WriteInteger('NoChangeStartMenu',1); //开始菜单
WriteInteger('NoClose',1); // 关闭系统菜单
WriteInteger('NoLogOff',1);//注销菜单
WriteInteger('NoRun',1);//运行菜单
WriteInteger('NoSetFolders',1);//设置菜单
end;
True:
begin
WriteInteger('NoChangeStartMenu',0);
WriteInteger('NoClose',0);
WriteInteger('NoLogOff',0);
WriteInteger('NoRun',0);
end;
end;
end;
CloseKey;
finally
Free;
end;
end; procedure TForm1.Button1Click(Sender: TObject);
begin
EnableCTRLALTDEL(true);//屏闭
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NiL, NiL); //刷新系统
end;procedure TForm1.Button2Click(Sender: TObject);
begin
EnableCTRLALTDEL(false);//解除屏闭
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NiL, NiL);
end;end.
(((p.vkCode=VK_CONTROL) and (P.vkCode = LLKHF_ALTDOWN and p.flags) and (p.vkCode>=65) or (p.vkCode<=90) ))
这个不行啊 把所有的按键 都屏蔽了
S按键
115 和 83我是想屏蔽ctrl+alt+a到 ctrl+alt+z你这是把键盘都屏蔽了
( ( p.vkCode>=65) or (p.vkCode<=90) )
)