我正在使用DirectX 11在C ++中编写程序,我希望能够在用户按下Ctrl-Alt-Del或Alt-Tab时最小化程序。
让窗口本身最小化是很容易的部分,因为我所要做的就是调用这个函数:
ShowWindow(hWnd, SW_MINIMIZE);
我坚持的部分是让它检测何时输入这两个特定击键中的任何一个,这样我可以在其中一个事件发生时调用该函数。
任何帮助都将不胜感激,如果您需要我澄清一些事情,请告诉我。
答案 0 :(得分:3)
更熟悉Windows内核的人可以在这里用厚重的靴子踩踏并纠正我,但据我所知,Ctrl-Alt-Delete就是这样的系统,它是“巨型系统”。原因是,如果程序可以锁定它,那么当一些白痴决定弹出一个“你确定吗?”是一个好主意时,你最终会得到一个死桌面。消息框,当用户意识到他的电脑已经下地狱。
作为软件开发人员,我们应遵循一些指导原则,并试图改变操作系统的行为(无论我们的意图如何),总是会流泪。
我建议你不要尝试这样做(如果确实有可能,我从未尝试过 - 坦率地说),并开始考虑你可以做的更重要的事情。如果在运行DirectX应用程序时内存服务且用户 按Ctrl-Alt-Delete,则会丢失表面/设备上下文(假设您是全屏)。
优雅地退出,或者如果你可以恢复 - 这样做。