0

我正在使用 DirectX 11 用 C++ 编写一个程序,我想拥有它,以便我的程序在用户按下 Ctrl-Alt-Del 或 Alt-Tab 时最小化。

让窗口本身最小化是很容易的部分,因为我所要做的就是调用这个函数:

ShowWindow(hWnd, SW_MINIMIZE);

我坚持的部分是让它检测输入这两个特定击键中的任何一个的时间,以便在其中一个事件发生时调用该函数。

任何帮助将不胜感激,如果您需要我澄清某些事情,请告诉我。

4

1 回答 1

3

更精通 Windows 内核的人可以在这里用沉重的靴子跺脚并纠正我,但据我所知,Ctrl-Alt-Delete 是如此系统,它是“超级系统”。原因是如果程序可以锁定它,那么当某个白痴认为弹出“你确定吗?”是个好主意时,你最终会得到一个死机。当用户意识到他的电脑已经下地狱时的消息框。

作为软件开发人员,我们应该遵循一些指导方针,并且试图改变操作系统的行为(无论我们的意图多么好),总是会以泪水告终。

我建议您不要尝试这样做(如果确实可能,我从未尝试过-坦率地说),并开始考虑您可以做的更重要的事情。如果内存可用并且用户在您运行 DirectX 应用程序时确实按下了 Ctrl-Alt-Delete,您将丢失表面/设备上下文(假设您是全屏的)。

优雅地退出,或者如果你可以恢复 - 这样做。

于 2014-04-25T22:00:06.033 回答