在WindowsNT2000下盾控完美的解决方案
2023-12-03 12:48:54
点评:通过替换吉娜dll的方式,我们实现了在NT/2000下屏蔽Ctrl + + +的功能。这里我们介绍了具体的实现原则和步骤,不要错过您需要的朋友。 前言 在Windows 9x环境下,我们可以使用SystemParametersInfo(spi_screensaverrunning,1空,0)屏蔽Ctrl+Alt+Del,但它不工作在NT / 2000环境,因此采用wh_keyboard_ll,低级键盘钩子不能拦截。屏蔽Ctrl+Alt+Del在NT / 2000取代吉娜的DLL实现的功能。 下载源代码6k 1。原理 在NT / 2000、交互式登录的支持是通过调用DLL实现登陆吉娜。吉娜DLL提供了提供用户登录认证请求的交互界面。当WinLogon被初始化,按Ctrl + Alt + Del消息截获到系统注册,所以其他程序不能得到按Ctrl + Alt + Del的消息。 Winlogon将与吉娜DLL交互,默认的是MSGINA.DLL(在system32目录)。微软还提供接口给我们。 吉娜DLL可以代替msgina.dll了。 当程序初始化,3桌面创建: (1)、安全桌面:窗口安全界面主要显示,比如你按下Ctrl + Alt + Del,登陆界面等 (2)应用程序桌面:我们通常用计算机看到的接口 (3)屏幕保护桌面:屏幕保护显示界面。 当用户登陆时,按Ctrl + Alt + Del键被按下,Winlogon回调用吉娜DLL输出函数:wlxloggedonsas, 在这一点上在Winlogon桌面,只要我们把他直接进入应用桌面,系统不会显示Windows安全接口,另一个声明 也就是说,在用户按下Ctrl + Alt +,它将不会发挥任何作用。当我们切换桌面,屏幕闪烁! 两。程序的实现 吉娜DLL要输出以下功能(程序将调用) wlxactivateusershell wlxdisplaylockednotice wlxdisplaysasnotice wlxdisplaystatusmessage wlxgetstatusmessage wlxinitialize wlxislockok wlxislogoffok wlxloggedonsas wlxloggedoutsas wlxlogoff wlxnegotiate wlxnetworkproviderload wlxremovestatusmessage wlxscreensavernotify wlxshutdown wlxstartapplication wlxwkstalockedsas 为了简化编程,动态地得到来自MSGINA.DLL的上诉功能和呼叫msgina.dll直接在自定义的DLL(以下简称NoReboot。DLL) 函数可以。我们要对付的是wlxloggedonsas功能: Int WINAPI WlxLoggedOnSAS( pwlxcontext PVOID, DWORD dwsastype, PVOID保存) { 处理hmutex; writeinfo(wlxloggedonsas R);用于记录信息 如果(dwsastype = = wlx_sas_type_ctrl_alt_del){ / / ctrl_alt_del屏蔽,也可以根据具体情况决定是否屏蔽 我使用互斥来控制是否屏蔽,(注意:Unicode) 要想获得hmutex =(mutex_all_access,假,我_ac952_z_cn_ctrl_alt_del ); 如果(hmutex){ CloseHandle(hmutex); writeinfo(disble Ctrl + Alt + Del R; 返回wlx_sas_action_none; / /屏幕切换到桌面应用程序,按Ctrl + Alt + Del盾 } 其他的 writeinfo(不disble Ctrl + Alt + Del R; } 这是我的回报prcwlxloggedonsas( / /从msgina.dll接入功能。 PWlxContext, DwSasType, 保存); } 我们要把hmutex = CreateMutex(空、假、_ac952_z_cn_ctrl_alt_del )在我们自己的计划;你可以屏蔽Ctrl+Alt+Del。 三、安装注意事项 在写作吉安DLL,需要注意的是,吉娜DLL使用Unicode重要。 吉娜dll安装: 名称: hkey_local_machine 软件微软 Windows currentversion winlogon 变量的名字:GinaDLL 变量类型:{ reg_sz } 内容:吉娜dll的名称 复制你的吉娜(noreboot DLL,DLL)到系统目录(system32),重启机器,和你的吉娜(noreboot DLL,DLL)将运行。 如果你不能进入你的系统,如果你进入DOS,复制到你的吉娜(noreboot msgina.dll DLL,DLL),或进入安全模式,删除键值。tag:解决方案 完美 电脑软件 下盾控
相关内容