社区
Delphi
帖子详情
怎样在开机时关闭Ctrl+Alt+Del这三个热键
500czj
2002-05-17 04:38:36
我想在系统登录后关闭这个热键。
...全文
555
11
打赏
收藏
怎样在开机时关闭Ctrl+Alt+Del这三个热键
我想在系统登录后关闭这个热键。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
500czj
2002-05-17
打赏
举报
回复
up
500czj
2002-05-17
打赏
举报
回复
up
500czj
2002-05-17
打赏
举报
回复
up
Billy_Chen28
2002-05-17
打赏
举报
回复
WINDOWS98下用汇编锁键盘Ctrl+Alt+Del:
procedure Tmainform.Lockkey(lock: boolean);
begin
if lock = true then
begin
asm //封锁20端口 锁定键盘 98&95
IN AL,21H
OR AL,02H
OUT 21H,AL
end;
end
else
begin
asm //解锁20端口 解锁键盘
IN AL,21H
AND AL,0FDH
OUT 21H,AL
end;
end;
end;
500czj
2002-05-17
打赏
举报
回复
先谢谢你了,我去试试
500czj
2002-05-17
打赏
举报
回复
是win98系统的,能不能在dos下把这三个键关闭。还有怎么给分数?
Billy_Chen28
2002-05-17
打赏
举报
回复
在NT/2000下屏蔽CTRL+ALT+DEL的功能:
一、原理
在NT/2000中交互式的登陆支持是由WinLogon调用GINA DLL实现的,GINA DLL提供了一个交互式的界面为用户登陆提供认证请求。在WinLogon初始化时,就向系统注册截获CTRL+ALT+DEL消息,所以其他程序就无法得到CTRL+ALT+DEL的消息。
WinLogon会和GINA DLL进行交互,缺省是MSGINA.DLL(在System32目录下)。微软同时也为我们提供的接口,自己
可以编GINA DLL来代替MSGINA.DLL。
WinLogon初始化时会创建3个桌面:
(1)、winlogon桌面:主要显示window 安全等界面,如你按下CTRL+ALT+DEL,登陆的界面等
(2)、应用程序桌面:我们平时见到的那个有我的电脑的界面
(3)、屏幕保护桌面:屏幕保护显示界面。
在用户登陆以后,按下CTRL+ALT+DEL键的时候,WinLogon回调用GINA DLL的输出函数:WlxLoggedOnSAS,
这时正处于winlogon桌面,我们只要直接将他转向应用程序桌面,系统就不会显示Windows安全那个界面,换一种说法
也就是用户按下CTRL+ALT+DEL后,不会起什么作用。当是我们在切换桌面的时候会出现屏幕闪动!
二、程序实现
GINA DLL要输出下列函数(winlogon会调用)
WlxActivateUserShell
WlxDisplayLockedNotice
WlxDisplaySASNotice
WlxDisplayStatusMessage
WlxGetStatusMessage
WlxInitialize
WlxIsLockOk
WlxIsLogoffOk
WlxLoggedOnSAS
WlxLoggedOutSAS
WlxLogoff
WlxNegotiate
WlxNetworkProviderLoad
WlxRemoveStatusMessage
WlxScreenSaverNotify
WlxShutdown
WlxStartApplication
WlxWkstaLockedSAS
为了简化编程,我们从MSGINA.DLL中动态获取上诉函数,在自定义的DLL中(以下称为NoReboot.DLL)中直接调用MSGINA.DLL
的函数即可。现在我们要处理的就是WlxLoggedOnSAS函数:
int WINAPI WlxLoggedOnSAS (
PVOID pWlxContext,
DWORD dwSasType,
PVOID pReserved)
{
HANDLE hMutex;
WriteInfo("WlxLoggedOnSAS \r\n"); //用于记录信息
if (dwSasType == WLX_SAS_TYPE_CTRL_ALT_DEL){ //屏蔽CTRL_ALT_DEL,也可以根据特定条件来决定是否要屏蔽
//我采用了Mutex来控制是否屏蔽,(注意:要用unicode)
hMutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, L"_ac952_z_cn_CTRL_ALT_DEL");
if (hMutex){
CloseHandle(hMutex);
WriteInfo("disble CTRL+ALT+DEL \r\n");
return WLX_SAS_ACTION_NONE; //将屏幕切换到应用程序桌面,屏蔽掉CTRL+ALT+DEL
}
else
WriteInfo("not disble CTRL+ALT+DEL \r\n");
}
return prcWlxLoggedOnSAS ( //这是我从MSGINA.DLL中获取的函数。
pWlxContext,
dwSasType,
pReserved);
}
我们要在自己的程序中调用hMutex = CreateMutex(NULL, FALSE, "_ac952_z_cn_CTRL_ALT_DEL");就可屏蔽CTRL+ALT+DEL。
三、安装和注意事项:
在编写GIAN DLL中要注意,GINA DLL使用的是unicode。
GINA DLL的安装:
键名 : \HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
变量名 : GinaDLL
变量类型 : [REG_SZ]
内容 : "你的GINA DLL的名称" 如:"NoReboot.DLL:
将你的GINA DLL(NoReboot.dll)拷贝到系统目录下(system32),重启机器,你的GINA DLL(NoReboot.dll)就会运行。
如果出现进不了你的系统,那你进入DOS后,将msgina.dll拷贝成你的GINA DLL(NoReboot.dll)就可进入了,或者进入
安全模式,删除掉那个键值。
500czj
2002-05-17
打赏
举报
回复
a
ihihonline
2002-05-17
打赏
举报
回复
登录前?不可能啊,win2000中,如果你能把MS拉下来的话,有可能;
MS就用它来做检测啊;
500czj
2002-05-17
打赏
举报
回复
那有登录前有没有办法
火鸟李国平
2002-05-17
打赏
举报
回复
如果是9X如下:
系统键关闭
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
恢复
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, 0, 0);
如是NT/2k要换Dll才行
电脑忘记
开机
密码怎么办
因朋友忘记电脑
开机
密码,故博主整理此一系列解决办法,其中部分办法经过试用,看客需自行选择合适的办法。 如果电脑绑定微软账户可直接通过在登录界面,忘记密码,邮箱找回。 电脑忘记
开机
密码1.win101.1安全模式...
windows快捷
键
F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的
时
候是打开“查找:所有文件” 对话框 F10或
ALT
激活当前程序的菜单栏 windows
键
或
CTRL
+ESC 打开开始菜单
CTRL
+
ALT
+删除 在win9x中打开
关闭
程序...
能够
关闭
并退出计算机程序的是,电脑强制
关闭
程序按哪三个
键
可按
Alt
+F4
关闭
当前页面...
导读:说到程序,大多数人都知道,有人问电脑突然死机强制关机打不开,还有朋友想问电脑强制
关闭
程序按哪三个
键
,这到底是咋回事?事实上电脑qq怎么强制
关闭
呢,今天小编给大家整理了电脑强制
关闭
程序按哪三个
键
,...
计算机
开机
时
前按什么
键
,
开机
怎么进入bios?电脑
开机
按什么
键
进入BIOS方法大全...
要对电脑BIOS设置,那么一般是在电脑
开机
的
时
候按对应手
热
键
进入到BIOS,那么需要按什么
键
呢?这里小编集合了常见的电脑品牌、主板型号和大家分享一下,有需要的朋友在这里可以找到电脑
开机
按什么
键
进入BIOS的方法。...
开启电脑虚拟化功能
打开任务管理器(同
时
摁住
ctrl
+
alt
+
del
这个三个健) 选择任务管理器 查看是否开启虚拟机 如果未开启 (一)进入BIOS 参考以下按
键
,
开机
时
按住对应的
键
进入BIOS: 组装机以主板分 华硕按F8、 Intel按F12, 其他品牌按...
Delphi
5,392
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章