ctrl + alt + del禁用在窗口OS中使用c

时间:2010-03-25 04:51:03

标签: c++ c windows

如何在窗口OS中使用c禁用ctrl + alt + del。我用了

SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,true,& bOldState,0);

但它对我不起作用,请指导我,以便我能使它成为可能。

4 个答案:

答案 0 :(得分:2)

您使用的SPI_SETSCREENSAVERRUNNING参数是为Windows 95上的屏幕保护程序设计的。它适用于Windows 95/98 / ME及更早版本。它在Windows NT / 2000 / XP / Vista上不起作用。

可以在Windows NT / 2000 / XP / Vista上禁用Ctrl-Alt-Del热键组合,但通常不能从应用程序(用户模式)禁用。以下是我熟悉的机制。

我没有在Windows 7上尝试过,但我确信这些技术中的部分或全部仍然可以在那里工作。

  1. GINA DLL可以拦截CAD序列,但这可能有点过分。它的工作原理是因为Windows注册CAD热键并向GINA DLL发送回调以在您按下它时处理该操作。替换GINA DLL可以以不同方式处理回调(忽略它),但这样做可能很棘手并且与使用其他自定义GINA DLL的其他登录机制保持兼容。

  2. 您可以编写键盘驱动程序来拦截它。如果你搜索它,网上有很好的免费源代码。寻找Ctrl2Cap驱动程序和类似的东西。 (此驱动程序重新映射Caps Lock键和Ctrl键以模仿旧的键盘布局。)

  3. 您还可以使用扫描代码映射器在注册表中“重新映射”键以实现目标。他们在Windows 2000中添加了它。它有限,但在某些情况下可行。有关详细信息,请参阅this MSDN page。但要注意这些限制。例如,它需要重新启动才能使更改生效。

  4. 最后,您可以使用Windows Admin Toolkit通过管理设置禁用任务管理器和其他功能。它仍会中断所有内容,向您显示“您不能这样做”对话框。但至少它可以限制用户访问机器。

  5. 我写了一个设备驱动程序(上面列表中的选项2)来阻止Ctrl-Alt-Del用于Windows 95/98(13年前),以及后来用于Windows NT / 2000 / XP。我卖了很多。如果你看,它们仍然存在。

答案 1 :(得分:1)

您是否尝试禁用C-A-D的登录要求,或者您是否尝试完全禁用热键?我不相信后者甚至是可能的;它是一个内置的操作系统级覆盖,旨在规避任何用户级程序。

答案 2 :(得分:0)

使用Windows XP,您可以编写GINA DLL来执行此操作。 Windows 7似乎不再有GINA DLL了。可能会有某种策略设置来实现相同的目标,但如果是这样的话,我还没有看到它的记录。

答案 3 :(得分:0)

Ctrl-Alt-Del是安全注意序列。目标是让用户与操作系统安全地通信。程序无法通过设计禁用它 - 在这种情况下它将不再安全。