【发布时间】:2009-11-02 08:53:37
【问题描述】:
我正在用 C# 做一个在线测验项目。测试客户端是在 Windows XP 上运行的 Windows 桌面应用程序。我需要阻止 control+alt+delete 组合键,以防止学生最小化/关闭应用程序。
我可以使用 PInvoke。
我知道这绝对是可能的,因为我已经看到三个应用程序这样做了。它们都是专有的,所以我无法知道它是如何完成的。
【问题讨论】:
-
您能告诉我们哪些专有应用程序可以做到这一点吗?
-
当用户在任务栏 > 任务管理器上执行 Ctrl+Shift+Esc 或右键单击时,您的专有应用程序是什么?
-
在你不拥有的机器上限制这么多的控制权感觉不对。我的意思是,什么样的测验如此重要以至于如果应用程序崩溃,恢复计算机的唯一方法就是重新启动它(甚至将其送去维护)?
-
@evans: 如果他们有两台电脑,你会怎么做?如果他们有纸质书,你会怎么做?您希望您的应用程序阻止他们阅读论文吗?阻止他们在他们的个人计算机上做任何事情是一个非常糟糕的主意。他们拥有它,他们统治着它。我会讨厌任何强迫我安装应用程序试图接管我的计算机的人,你问我们如何构建恶意软件。
-
阅读这些 cmets,似乎停止 Ctrl-Atl-Del 的整个想法是徒劳的。您无法阻止某人从远程位置进行测试:a) 在 VM 中运行,b) 使用书籍,c) 拥有多台 PC,d) 使用 linux 和 Mono。