【问题标题】:Creating a program that stop the user from accessing the system and prevents CTRl Alt DEL创建一个程序来阻止用户访问系统并阻止 CTRl Alt DEL
【发布时间】:2011-09-23 07:00:25
【问题描述】:

我正在尝试为我的 PC 创建一个自定义登录程序,而不是使用通常的 Windows 7 登录(我将删除我的密码并让我的帐户自动登录,我的程序将在 Windows 启动后运行),我需要禁止 CTRL Alt Del 组合键,我想捕捉并禁用用户可能尝试退出应用程序的各种方法。

我还需要该程序运行在所有其他正在运行的程序之上,并阻止用户访问系统和其他正在运行的应用程序

那么,如何防止用户在我的程序运行时访问系统? 我知道我可以使用进程检查来终止 taskmgr.exe,但不确定该菜单。 我还假设我可以在按下 Alt+F4 时阻止我的程序退出,方法是取消一个事件,比如 OnQuit 或它所调用的任何事件。

感谢任何可以帮助我的人。

【问题讨论】:

标签: c# winforms


【解决方案1】:

CTRL-ALT-DELETE 在 Windows 7 中的设计上是一个安全的、仅限系统的组合键...以便用户知道他们正在使用系统屏幕,而不是某种类似锁屏的应用程序,旨在劫持他们的密码。

【讨论】:

  • 所以我认为它完全被阻止了?我认为它应该没有太大关系,因为没有 12 岁以下的人会使用它(当然除了我之外),而且这些人并不完全是计算机技能 :)
  • 是的,Windows 会阻止您这样做。这是从早期就内置的安全功能。安全层中存在各种漏洞,但现在它们已经得到很好的修补。安全性很重要,它与用户的年龄没有任何关系。您要确保只向 Windows 提供密码。按 Ctrl+Alt+Del(安全注意序列,或 SAS)是用户知道他们正在这样做的方式。否则,有人可能会编写伪装成 Windows 并窃取密码的恶意软件,这是企业网络上的一个大问题。
  • 是的,我可以看出这是一个大问题,但我注意到学校通常有自定义登录系统或某种类型,我想他们可能取代了实际的 Windows 登录系统。
  • @CokaCola:不,我从未见过有自定义登录系统的学校,至少不像问题描述的那样。您可能想到的是由 Novell Netware 等网络软件提供的登录提示,但这并不能取代安全注意序列。 Netware 实际上用自己的自定义版本替换了msgina.dll,这是在 XP 和更早版本中执行这些操作的官方方式。 Vista 不再是这种情况,但还有其他选择。调查在 cmets 中发布到原始问题的链接以获取详细信息。但我打赌这对你来说太过分了。
【解决方案2】:

要将您的窗口显示在所有其他窗口之上,请将 Window.Topmost (WPF) 或 Form.TomMost (Windows 窗体) 属性设置为 true

我不知道如何抑制系统屏幕。恐怕史蒂夫是对的。甚至像 VMware 这样的虚拟化软件也无法做到这一点。

【讨论】:

  • 是的,我知道如何使用该方法将其置于所有窗口之上,并且与全屏属性一起,通常很有帮助。
【解决方案3】:

正如其他地方提到的,Ctrl-Alt-Delete 深埋在操作系统中,不会被篡改。

根据您希望通过连接按键获得的效果和您在系统上的权限,您可以考虑使用 Windows 访问控制系统撤销对系统关闭的访问。我在这里找到了一个使用 Windows XP 的博客:http://www.online-tech-tips.com/windows-xp/xp-prevent-shutdown/

虽然在 Windows 7 上可能存在差异,但您仍然可以使用 gpedit.msc 管理插件,并且有一个名为 Shut down the system 的策略默认可供管理员、用户和备份操作员使用。我会将撤销对用户的访问权限视为解决您想要获得的任何问题的一种手段。

【讨论】:

  • 由于其他尝试使用它的人对这种事情了解不多,所以我不会打扰阻止系统屏幕,只是可能会杀死任务管理器以阻止进程我的程序正在退出。
猜你喜欢
  • 2018-10-09
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 2016-09-17
  • 1970-01-01
  • 2011-04-08
相关资源
最近更新 更多