首页 > 解决方案 > 使用 c# 按下 ctrl+alt+del 时阻止蓝屏出现

问题描述

当我的单元测试程序正在运行时,如果我按 ctrl+alt+del 程序必须停止蓝屏。我尝试了以下但没有奏效

FileStream fs = new FileStream(System.IO.Path.Combine(Environment.SystemDirectory, "taskmgr.exe"), FileMode.Open, FileAccess.ReadWrite, FileShare.None);

标签: c#unit-testing

解决方案


不明白为什么你会认为这是一个好的 Idee,但是你可以按下按键然后做你认为你需要做的事情。

除了 CTRL+ALT+DEL 之外,您正在寻找的方法是:

EventManager.RegisterClassHandler(typeof(System.Windows.Controls.Control), System.Windows.Controls.Control.KeyDownEvent, yourdelegate);

通常这是您可能在病毒中发现的内容,因此 Windows 或防病毒扫描程序可能会开始阻止您的软件,甚至可能是您的编译器拒绝生成 exe。

要捕获 CTRL+ALT+DEL,您需要从生成的键盘驱动程序中捕获它,这可能是一项作业的唯一原因是如果您正在 Malware Academy 学习:-)


推荐阅读