⑴难道屏蔽Ctrl+Alt+Del真的象上述所说的那么麻烦吗?有没有更好的方法呢?答案是肯定的。所以忘掉GINA吧,使用操作系统的策略设置完全可以搞掂这个问题。方法是进入"开始"菜单,选择"运行",然后在运行对话框中输入"gpedit.msc",启动Windows系统的组策略编辑器。在左边窗格查看"用户配置|管理模板|系统|登录/注销",则在右边窗格策略里不难发现"禁用"一项。
⑵通过对这个策略的设置可以屏蔽掉Ctrl+Alt+Del。如果要通过编写代码来实现,则必须操作下面的项:
⑶Software
⑷Microsoft
⑸CurrentVersion
⑹Policies
⑺SystemDisableTaskMgr = dword:
⑻如此设置之后,则在Windows XP中,如果用户按下Ctrl+Alt+Del,则会弹出一个出错对话框,
⑼注意这里假设在控制面板中“用户帐号”管理的“选择登录和注销选项”设置启用了“使用欢迎屏幕”一项。
⑽否则,XP将使用Windows的传统登录模式,要求用户输入帐户名。并且Ctrl+Alt+Del组合键的 行为也和传统的行为一样,注册表中DisableTaskMgr的设置也只是将登录/注销对话框中的任务管理器按钮屏蔽或置灰。 有人可能会问,有关任务管理器的文档又没有明确说明,那你是怎么知道DisableTaskMgr是用来禁用任务管理器的呢?告诉你吧, 我是在使用GPEDIT时发现的。GPEDIT是一个非常有用的工具,不仅可以用它来编辑策略,还可以用它来发现策略。利用这个工具可以轻松控制Windows的许多东西,从许可权限的存取到是否使用IE的传统外观,从是否显示对话框中的Places Bar到是否用Ctrl+Alt+Del 启动任务管理器。总之用它可以配置上百个界面行为,因此它是一个足以让系统管理员垂延三尺的工具。一旦找到了感兴趣的策略,那如何知道相应的注册表位置呢?有两种方法。第一种是比较粗鲁的办法:在修改策略的前后将注册表输出到一个.reg文件,然后比较它们有什么不同。所有的策略无外乎以下的四个注册表键:
⑾HKEY_CURRENT_USERSoftwarePolicies
⑿HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies
⒀HKEY_LOCAL_MACHINESoftwarePolicies
⒁HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPolicies
⒂第二种方法是直捣信息源头--检查描述策略的管理模板文件(.adm)。下面是Windows XP的system.adm文件对 DisableTaskMgr的描述:(Windows 对此的描述稍有不同,其细节请参考Windows 的资源开发包)
⒃CATEGORY !!CADOptions
⒄#if version >=
⒅EXPLAIN !!CADOptions_Help
⒆KEYNAME "SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem"
⒇POLICY !!DisableTaskMgr
⒈#if version >=
⒉SUPPORTED !!SUPPORTED_Wink
⒊EXPLAIN !!DisableTaskMgr_Help
⒋VALUENAME "DisableTaskMgr"
⒌END POLICY
⒍; More Ctrl+Alt+Del policies here...
⒎END CATEGORY ; Ctrl+Alt+Del options
⒏……
⒐……
⒑DisableTaskMgr_Help="防止用户启动''任务管理器''(Taskmgr.exe)。
⒒如果该设置被启用,并且用户试图启动任务管理器,系统
⒓会显示消息,解释是一个策略禁止了这个操作。
⒔任务管理器让用户启动或终止程序,监视计算机性能,查看及监视计算机上所有运行
⒕中的程序 (包含系统服务), 搜索程序的执行文件名,及更改程序运行的优先顺序。"
⒖DisableTaskMgr="删除任务管理器"
⒗以上是DisableTaskMgr的描述片断