I am doing an Online Quiz project in C#. The test client is a Windows Desktop Application running on Windows XP. I need to block the control+alt+delete key combination to prevent students from minimizing/closing the application.
使用 PInvoke 对我来说没问题。
我知道这绝对是可能的,因为我已经看到三个应用程序这样做。它们都是专有的,所以我无法知道它是如何完成的。
我发现了一种非常丑陋的方法(效果很好)。
如果我独占打开taskmgr.exe, then 什么都没发生当用户按下 Ctrl+Alt+Del 时。
FileStream fs = new FileStream(System.IO.Path.Combine(Environment.SystemDirectory, "taskmgr.exe"), FileMode.Open, FileAccess.ReadWrite, FileShare.None);
我最喜欢这个解决方案的一点是它没有永久性的影响。例如,如果应用程序被终止,则 Ctrl+Alt+Del 将再次起作用。
退税:必须启用“欢迎”屏幕,否则将弹出“Windows 安全”,而不是 Windows 尝试打开 taskmgr 并无提示地失败。 (→ 如果计算机位于域中,它也将不起作用,因为位于域中会禁用欢迎屏幕。)
(当然这在 Vista 或 W7 上不起作用。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)