大家好,精选小编来为大家解答以上的问题。win10提示ctrl alt del怎么办,WINDOWS NT/下屏蔽CTRL ALT DEL完美解决的方法很多人还不知道,现在让我们一起来看看吧!
1、 序
2、 在WINDOWS 9X环境下,我们可以使用systemparametersinfo(SPI _ screen saver running,1,null,0);来拦截CTRL ALT DEL,但是在NT/2000环境下不起作用,以至于用WH _键盘_LL这种低级键盘钩子都拦截不了!作者通过替换GINA DLL,在NT/2000中实现了屏蔽CTRL ALT DEL的功能。
3、 下载源代码6K
4、 一.原则
5、 在NT/2000中,交互登录支持是通过WinLogon调用GINA DLL实现的,GINA DLL提供了一个交互接口,为用户登录提供认证请求。WinLogon初始化时,向系统注册拦截CTRL ALT DEL消息,所以其他程序无法获取CTRL ALT DEL消息。
6、 WinLogon将与GINA DLL交互,默认情况下是MSGINA.DLL(在System32目录中)。同时微软也给我们提供了接口,本身。
7、 GINA DLL可以代替MSGINA.DLL进行编程。
8、 WinLogon在初始化时将创建3个桌面:
9、 (1) winlogon桌面:主要显示窗口安全界面,比如你按CTRL ALT DEL登录时的界面。
10、 (2)应用桌面:我们平时用我的电脑看到的界面。
11、 (3)屏保桌面:屏保显示界面。
12、 用户登录后,按下CTRL ALT DEL键时,WinLogon回调使用GINA DLL的输出函数:WlxLoggedOnSAS,
13、 这时候我们在winlogon桌面,只要直接把他转到应用桌面,系统就不会显示Windows安全界面,换个说法。
14、 也就是用户按下CTRL ALT DEL后,不会有任何影响。当我们切换桌面时,屏幕会闪烁!
15、 二、方案实施
16、 GINA DLL将输出以下函数(将由winlogon调用)
17、 WlxActivateUserShell
18、 WlxDisplayLockedNotice
19、 WlxDisplaySASNotice
20、 WlxDisplayStatusMessage
21、 WlxGetStatusMessage
22、 wlx初始化
23、 WlxIsLockOk
24、 WlxIsLogoffOk
25、 WlxLoggedOnSAS
26、 WlxLoggedOutSAS
27、 WlxLogoff
28、 WlxNegotiate
29、 WlxNetworkProviderLoad
30、 WlxRemoveStatusMessage
31、 WlxScreenSaverNotify
32、 WlxShutdown
33、 WlxStartApplication
34、 WlxWkstaLockedSAS
35、 为了简化编程,我们从MSGINA.DLL中动态获取上诉函数,在自定义DLL中直接调用MSGINA.DLL(以下简称NoReboot。DLL)。
36、 的功能。现在我们要处理的是WlxLoggedOnSAS函数:
37、 int WINAPI WlxLoggedOnSAS(
38、 PVOID pWlxContext,
39、 DWORD dwSasType,
40、 PVOID保留)
41、 {
42、 处理hMutex
43、 WriteInfo(' WlxLoggedOnSAS rn ');//用于记录信息
44、 if(dwsas Type==WLX _ SAS _ Type _ CTRL _ ALT _ DEL){//Block CTRL _ ALT _ DEL。也可以根据具体情况决定是否屏蔽。
45、 //我用了互斥来控制是否屏蔽,(注意:要用unicode)
46、 hMutex=open MUTEX(MUTEX _ ALL _ ACCESS,FALSE,L ' _ AC 952 _ z _ cn _ CTRL _ ALT _ DEL ');
47、 if (hMutex){
48、 close handle(hMutex);
49、 WriteInfo(' disble CTRL ALT DEL rn ');
50、 返回WLX _ SAS _ ACTION _ NONE//将屏幕切换到应用程序桌面,并阻止CTRL ALT DEL
51、 }
52、 其他
53、 WriteInfo(' not disb CTRL ALT DEL rn ');
54、 }
55、 返回prcWlxLoggedOnSAS (//这是我从MSGINA.DLL那里得到的函数。
56、 pWlxContext,
57、 dwSasType,
58、 保存);
59、 }
60、 我们想在自己的程序中调用hmutex=createmutex (null,false,' _ AC 952 _ z _ cn _ ctrl _ alt _ del ');您可以阻止CTRL+ALT+DEL。
61、 三。安装和预防措施
62、 在编写GIAN DLL时,应该注意GINA DLL使用unicode。
63、 GINA DLL安装:
64、 key : HKEY _ local _ machinesoftwarecrossofwindows ntcurrentversionwinlogon
65、 变量名: GinaDLL
66、 类型: [REG_SZ]
67、 内容:“您的GINA DLL的名称”,如:“NoReboot。DLL:
68、 将您的GINA DLL(NoReboot.dll)复制到系统目录(system32),重新启动机器,您的GINA DLL(NoReboot.dll)将会运行。
本文到此结束,希望对大家有所帮助。