我现在正在 Visual Studio 中开发一个程序,但我希望能够在 Windows 机器上制作一个强制蓝屏的按钮。我知道有一种方法可以通过在 regedit 中创建 CrashOnCtrlScroll 键来强制执行。但这需要重新启动并再次运行应用程序。我只是希望它是即时的或接近的。感谢:D
问问题
2009 次
1 回答
4
蓝屏仅针对内核模式错误出现。在用户模式下运行的代码(例如 Visual Basic 应用程序)不会生成蓝屏。它永远不会直接产生系统崩溃。
这样做的唯一方法是安装可以强制蓝屏的内核模式驱动程序,然后您可以从用户模式代码中间接调用它。您提到了一种方法:配置键盘驱动程序以在某些情况下启动系统崩溃。另一种选择是创建一个您自己的内核模式驱动程序来调用该KeBugCheckEx
函数(或等效函数),然后从您的 VB 应用程序调用此功能。例如,Mark Russinovich 编写了一个小实用程序NotMyFault(在此处下载),它使用辅助内核模式驱动程序来强制发生崩溃条件。
最后一个选择是破坏操作系统的稳定性。我相信一个简单的方法是强行杀死进程“csrss.exe”。上次我检查时,这导致了 BSOD。显然,这需要管理权限。而且我不确定现在操作系统本身是否有防止该进程被杀死的检查;很有可能。如果您被允许永久破坏机器的状态,您有许多有趣的选择:例如,在系统注册表中删除 HKLM 密钥。
也就是说,我敢询问这样一个“功能”的效用吗?您和/或您的用户是否会满足于安装蓝屏死机屏幕保护程序?
于 2014-04-29T00:03:48.477 回答