请问如何在win2000/nt 下实现 ctrl+alt+del 的屏蔽? 搜索CSDN:ctrl+alt+del 你会找到的! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Win2K/NT下屏蔽Ctrl+Alt+Del的响应作者:陆其明 Email:[email protected] 2001-08-29大家知道,Ctrl+Alt+Del是Win2k/NT操作系统默认的系统登录/注销组合键序列,系统级别很高。在应用程序中,想要屏蔽掉该键序列的响应或得到这个“按下”事件,难度是相当大的。本文介绍了一种简单易行的方法,实现在用户登录成功后,按下Ctrl+Alt+Del不再弹出“Windows安全”对话框。一. 开发原理首先介绍一下Winlogon。Windows 2000/NT有三种系统状态:没有用户登录状态、用户成功登录状态以及工作站锁定状态。Winlogon是Windows 2000/NT操作系统提供交互式登录支持的组件。Winlogon有三个组成部分:可执行文件winlogon.exe,提供图形界面认证功能的动态库Gina Dll,以及一些网络服务提供动态库Network Provider Dll。参考模型如下: winlogon.exe处理一些下层导出的接口函数,而认证策略是在Gina Dll中是独立设计的。在系统启动时,Gina Dll被winlogon.exe装载。Microsoft提供了一个默认的Gina Dll——Winnt\system32\msgina.dll,提供了标准的用户名、密码认证模式。Gina Dll是可替换的,用户可以设计自己的Gina Dll,以提供其他如智能卡、视网膜、指纹或其他一些认证机制。开发自定义的Gina Dll。必须实现并导出与winlogon.exe交互的18个标准函数接口,包括WlxNegotiate、WlxInitialize、WlxLoggedOnSAS等(其他函数接口请参考Msdn)。其中WlxNegotiate是winlogon.exe调用的第一个接口函数,进行必要的版本判断,随后调用的是WlxInitialize,主要完成winlogon.exe特定版本的函数分派表向Gina Dll的传递。笔者还要说明的是WlxLoggedOnSAS函数,这个函数主要的功能是,当winlogon在登录成功状态下,接收到SAS事件,于是调用这个函数进行SAS事件的识别以及进行各事件的相应处理。自定义Gina Dll的使用。比如开发的Gina Dll文件名为MyGina.dll。将该文件放到以下路径:Winnt\system32。并修改注册表,如下:Key Name: \HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ Winlogon Value Name: GinaDLL Value Type: [REG_SZ]Value: MyGina.dll重新启动计算机MyGina.dll即投入使用。===========================================简单介绍一下=========================================== 能否具体点说明??msdn里并没有介绍啊,难道是我的版本太低? private sub form_loadApp.TaskVisible=falseend sub http://www.vchelp.net/article/submit/cad_key.htm 各位,那是用VC实现的,有没有VB的做法呀? 除了 替换 MS GINA.Dll,别无它法了。 用什么替代?如何替代?有其他合适的可用的DLL么?请告诉我。 自己写个 gina.dll 去 替代.上面 陆其明 的文章已说明了.你可以 参考 MSDN 当中的 Platform SDK 中的 Security.里面有关于 Winlogon and GINA 的函数等 参考. 我现在只能通过把三键后的每个按钮 ENABLED=FALSE 掉,暂时用用吧。 给你个网址,http://www.vckbase.com/vckbase/vckbase11/在“系统”目录下有一篇“WINDOWS NT/2000下如何屏蔽CTRL+ALT+DEL”的文章,虽然也是用VC写的,但是提供源码,你可以看看 字节串与自定义数据类型互相转换的问题 字符串与数字的分离? 用VB编程画粗线条时,能不能改变线端头的样式 sybase 连接问题,超奇怪,请高手指点 请教一个上传的问题 如何用VB做一个FORM,使这个FORM永远放在最前面,其他的程序也不能覆盖住它!!!! 打安装包时,提示某些dll过期(很多),怎么办呀? 请帮我看一下 我的代码有错吗 搞VB应该懂的 flexgrid中单元格合并问题 关于activereport的字符集问题 实时错误 不能为新插入的行确定标识?--我该怎么办? 如何使用 WRITEFILE 函数将二进制数据写入文件?
作者:陆其明 Email:[email protected] 2001-08-29
大家知道,Ctrl+Alt+Del是Win2k/NT操作系统默认的系统登录/注销组合键序列,系统级别很高。在应用程序中,想要屏蔽掉该键序列的响应或得到这个“按下”事件,难度是相当大的。本文介绍了一种简单易行的方法,实现在用户登录成功后,按下Ctrl+Alt+Del不再弹出“Windows安全”对话框。
一. 开发原理
首先介绍一下Winlogon。Windows 2000/NT有三种系统状态:没有用户登录状态、用户成功登录状态以及工作站锁定状态。Winlogon是Windows 2000/NT操作系统提供交互式登录支持的组件。Winlogon有三个组成部分:可执行文件winlogon.exe,提供图形界面认证功能的动态库Gina Dll,以及一些网络服务提供动态库Network Provider Dll。参考模型如下:
winlogon.exe处理一些下层导出的接口函数,而认证策略是在Gina Dll中是独立设计的。在系统启动时,Gina Dll被winlogon.exe装载。Microsoft提供了一个默认的Gina Dll——Winnt\system32\msgina.dll,提供了标准的用户名、密码认证模式。Gina Dll是可替换的,用户可以设计自己的Gina Dll,以提供其他如智能卡、视网膜、指纹或其他一些认证机制。
开发自定义的Gina Dll。必须实现并导出与winlogon.exe交互的18个标准函数接口,包括WlxNegotiate、WlxInitialize、WlxLoggedOnSAS等(其他函数接口请参考Msdn)。其中WlxNegotiate是winlogon.exe调用的第一个接口函数,进行必要的版本判断,随后调用的是WlxInitialize,主要完成winlogon.exe特定版本的函数分派表向Gina Dll的传递。笔者还要说明的是WlxLoggedOnSAS函数,这个函数主要的功能是,当winlogon在登录成功状态下,接收到SAS事件,于是调用这个函数进行SAS事件的识别以及进行各事件的相应处理。
自定义Gina Dll的使用。比如开发的Gina Dll文件名为MyGina.dll。将该文件放到以下路径:Winnt\system32。并修改注册表,如下:
Key Name: \HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ Winlogon
Value Name: GinaDLL
Value Type: [REG_SZ]
Value: MyGina.dll
重新启动计算机MyGina.dll即投入使用。
===========================================
简单介绍一下
===========================================
App.TaskVisible=false
end sub
除了 替换 MS GINA.Dll,别无它法了。
上面 陆其明 的文章已说明了.你可以 参考 MSDN 当中的 Platform SDK 中的 Security.
里面有关于 Winlogon and GINA 的函数等 参考.
在“系统”目录下有一篇“WINDOWS NT/2000下如何屏蔽CTRL+ALT+DEL”的文章,虽然也是用VC写的,但是提供源码,你可以看看