ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:24.02KB ,
资源ID:16148883      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16148883.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(利用低级键盘钩子实现计算机锁定Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

利用低级键盘钩子实现计算机锁定Word文档下载推荐.docx

1、其中有一个是WlxLoggedOnSAS,当按下Ctrl+Alt+Del 键时,Winlogon便调用这个函数。(表一)GINA 函数一览表 函数描述WlxActivateUserShell激活用户外壳程序WlxDisplayLockedNotice允许GINA DLL 显示锁定信息WlxDisplaySASNotice当没有用户登陆时,Winlogon调用此函数WlxDisplayStatusMessageWinlogon 用一个状态信息调用此函数进行显示WlxGetConsoleSwitchCredentialsWinlogon调用此函数读取当前登陆用户的信任信息,并透明地将它们传到目标会

2、话WlxGetStatusMessageWinlogon 调用此函数获取当前状态信息WlxInitialize针对指定的窗口位置进行GINA DLL初始化WlxIsLockOk验证工作站正常锁定WlxIslogoffOk验证注销正常WlxLoggedOnSAS用户已登陆并且工作站没有被加锁,如果此时接收到SAS事件,则Winlogon 调用此函数WlxLoggedOutSAS没有用户登陆,如果此时收到SAS事件,则Winlogon 调用此函数WlxLogoff请求注销操作时通知GINA DLLWlxNegotiate表示当前的Winlogon版本是否能使用GINA DLLWlxNetworkP

3、roviderLoad在加载网络服务提供程序收集了身份和认证信息后,Winlogon 调用此函数WlxRemoveStatusMessageWinlogon 调用此函数告诉GINA DLL 停止显示状态信息WlxScreensaverNotify允许GINA与屏幕保护操作交互WlxShutdown在关闭之前Winlogon 调用此函数,允许GINA实现任何关闭任务,例如从读卡器中退出智能卡WlxStartApplication当系统需要在用户的上下文中启动应用程序时调用此函数WlxWkstaLockedSAS当工作站被锁定,如果接收到一个SAS,则Winlogon 调用此函数 在默认情况下,G

4、INA显示登陆对话框,用户输入用户名及口令。所以要想屏蔽掉Ctrl+Alt+Del,则可以写一个新的MyGina.dll,其中提供接口调用msgina.dll的函数WlxLoggedOnSAS,从而实现Ctrl+Alt+Del屏蔽。或者编写一个键盘驱动程序来实现。 难道屏蔽Ctrl+Alt+Del真的象上述所说的那么麻烦吗?有没有更好的方法呢?答案是肯定的。所以忘掉GINA吧,使用操作系统的策略设置完全可以搞掂这个问题。方法是进入开始菜单,选择运行,然后在运行对话框中输入gpedit.msc,启动Windows系统的组策略编辑器。在左边窗格查看用户配置|管理模板|系统|登录/注销,则在右边窗格

5、策略里不难发现禁用任务管理器一项。如图二所示:图一 组策略编辑器 通过对这个策略的设置可以屏蔽掉Ctrl+Alt+Del。如果要通过编写代码来实现,则必须操作下面的注册表项:HKCU Software Microsoft Windows CurrentVersion Policies SystemDisableTaskMgr = dword:1如此设置之后,则在Windows XP中,如果用户按下Ctrl+Alt+Del,则会弹出一个出错对话框,如图二所示:图二 错误信息 注意这里假设在控制面板中“用户帐号”管理的“选择登录和注销选项”设置启用了“使用欢迎屏幕”一项。如图三所示:图三 登录选项

6、 否则,XP将使用Windows的传统登录模式,要求用户输入帐户名。并且Ctrl+Alt+Del组合键的 行为也和传统的行为一样,注册表中DisableTaskMgr的设置也只是将登录/注销对话框中的任务管理器按钮屏蔽或置灰。 有人可能会问,有关任务管理器的文档又没有明确说明,那你是怎么知道DisableTaskMgr是用来禁用任务管理器的呢?告诉你吧, 我是在使用GPEDIT时发现的。GPEDIT是一个非常有用的工具,不仅可以用它来编辑策略,还可以用它来发现策略。利用这个工具 可以轻松控制Windows的许多东西,从许可权限的存取到是否使用IE的传统外观,从是否显示对话框中的Places B

7、ar到是否用Ctrl+Alt+Del 启动任务管理器。总之用它可以配置上百个界面行为,因此它是一个足以让系统管理员垂延三尺的工具。 一旦找到了感兴趣的策略,那如何知道相应的注册表位置呢?有两种方法。第一种是比较粗鲁的办法:在修改策略的前后将注册表输出到 一个.reg文件,然后比较它们有什么不同。所有的策略无外乎以下的四个注册表键:/ 用户指定HKEY_CURRENT_USERSoftwarePolicies HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies/ 机器指定 HKEY_LOCAL_MACHINESoftwa

8、rePolicies HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPolicies 第二种方法是直捣信息源头-检查描述策略的管理模板文件(.adm)。下面是Windows XP的system.adm文件对 DisableTaskMgr的描述:(Windows 2000对此的描述稍有不同,其细节请参考Windows 2000的资源开发包) CATEGORY !CADOptions #if version = 4 EXPLAIN !CADOptions_Help #endif KEYNAME SoftwareMicrosoftWi

9、ndowsCurrentVersionPoliciesSystem POLICY !DisableTaskMgr SUPPORTED !SUPPORTED_Win2kDisableTaskMgr_Help VALUENAME DisableTaskMgr END POLICY ; More Ctrl+Alt+Del policies here.END CATEGORY ; Ctrl+Alt+Del optionsDisableTaskMgr_Help=防止用户启动任务管理器(Taskmgr.exe)。nn如果该设置被启用,并且用户试图启动任务管理器,系统会显示消息,解释是一个策略禁止了这个操作

10、。nn任务管理器让用户启动或终止程序,监视计算机性能,查看及监视计算机上所有运行中的程序 (包含系统服务), 搜索程序的执行文件名,及更改程序运行的优先顺序。DisableTaskMgr=删除任务管理器以上是DisableTaskMgr的描述片断 正是在这段描述中KEYNAME 和VALUENAME指定了注册表的键值对。利用这种方法,你可以为自己的应用程序创建管理模板和策略,但编辑和浏览.adm模板文件的编辑器必须支持Unicode字符。如Notepad或者WordPad等都可以。此外,使用管理模板文件,系统管理员可以用它为整个组织配置需要的策略由此可以看出,此文件在系统中的地位举足轻重!有关

11、模板管理文件格式的详细信息请参考平台SDK。最后需要强调的是DisableTaskMgr只是禁用Ctrl+Alt+Del的功能。下面我们来讨论如何捕获它的按键序列。要想截获Ctrl+Alt+Del,有三种可选择的方法: 1、 编写一个GINA代理;此方法我们在以后的文章中介绍。实际上,ac952_z_cn的个人专栏文章:“WINDOWS NT/2000下如何屏蔽CTRL+ALT+DEL”使用的就是这种方法。 2、 编写一个键盘驱动程序;本文例子程序使用的方法。 3、 用自己的程序代替任务管理器程序TaskMgr.exe。屏蔽Ctrl+Alt+Del解决方案的具体实现细节请参考本文的例子代码。

12、下面让我们来解决屏蔽任务切换键序列的问题,这些键序列包括Alt+Tab、Ctrl+Esc、Alt+Esc、VK_LWIN/VK_RWIN以及任务栏。在很早以前的Window 3.1年代,处理这个问题的方法是通过WM_SYSKEYDOWN实现。到了Windows 9x时期,本文前面提到过对这个问题的处理方法,使用SPI_SETSCREENSAVERRUNNING。但是进入Windows NT 4.0 (SP3 +),Windows 2000以及Windows XP时代,对这个问题的处理已经有所不同,必须写一个低级的键盘驱动钩子。不要怕,因为要实现这个钩子并不是很难。本文下面会介绍如何实现这个键盘钩子。一般来讲,系统级钩子必须是一个DLL。下面是本文提供的一个键盘钩子DLL的源代码片断(TaskKeyHook.dll):头文件/TaskKeyHook.h/#define DLLIMPORT _declspec(d

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1