Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2095916
  • 博文数量: 909
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 12260
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-06 20:50
文章分类

全部博文(909)

文章存档

2008年(909)

我的朋友

分类:

2008-05-06 21:27:47

一起学习
Windows XP系统中如何屏蔽 Ctrl Alt Del、Alt Tab以及Ctrl Esc键序列

编译/northtibet


关键字:Ctrl Alt Del,Alt Tab,Ctrl Esc,VK_LWIN,VK_RWIN,Task bar,Task Manager,任务栏,任务管理器。

下载本文源代码: TrapKeys.zip (95KB)

对于用过Windows的人,几乎没有人不知道Ctrl Alt Del组合键,尤其是在使用经常死机的Windows9x时,使用它的频率更高,这一组合键是专门为了系统安全起见提供的紧急出口。VC知识库在线杂志第11期,ac952_z_cn在他的个人专栏中写过一篇关于这方面的文章:“WINDOWS NT/2000下如何屏蔽CTRL ALT DEL”。因此本文侧重于介绍在Windows XP中如何实现屏蔽CTRL ALT DEL组合键,也就是任务管理器,任务切换组合键(Alt Tab),任务栏和“开始”菜单(Ctrl Esc,VK_LWIN,VK_RWIN)。这个方法也能应用于Windows 2000环境。
在Windows 9x/Me系统中,屏蔽Ctrl Alt Del和各种任务开关键的方法是通过下面的方法实现的:
BOOL bOldState;

SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &bOldState, 0);      
MS大佬认为这种方法很业余,所以在Windows NT/2000/XP中对此进行了修改。在这些较新的Windows版本中用户登陆使用Winlogon和GINA——Graphical Identification and Authentication,意思是图形化的身份认证,挺吓唬人的是不是!其实就那么回事。Winlogon是Windows系统的一部分,它专门提供交互式登陆支持,而GINA则是Winlogon用来实现认证的一个DLL——这个DLL就是msgina.dll。WlxInitialize、WlxActivateUserShell便是其中输出,当然不知这两个,还有别的。前者进行自身的初始化,后者激活用户的外壳程序。Windows就是用这个DLL来实现用户名 口令的身份认证的,但是开发人员可以用自己的GINA代替msgina.dll。例如,实现智能卡、视网膜扫描仪、DNA检查等等认证机制来代替输入用户名 口令形式的身份检查。 下面的表格中列出了与GINA有关的全部函数。其中有一个是WlxLoggedOnSAS,当按下Ctrl Alt Del 键时,Winlogon便调用这个函数。

(表一)GINA 函数一览表
函数 下载本文示例代码


Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何Windows XP系统中如何
阅读(335) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~