Я пишу программу на C ++ с использованием DirectX 11, и мне бы хотелось, чтобы она была минимизирована, когда пользователь нажимает Ctrl-Alt-Del или Alt-Tab.
Получить само окно, чтобы свести к минимуму, является легкой частью, так как все, что мне нужно сделать, это вызвать эту функцию:
ShowWindow(hWnd, SW_MINIMIZE);
Часть, на которой я застрял, заключается в том, чтобы он обнаруживал, когда вводится любое из этих двух конкретных нажатий клавиш, так что я могу вызывать эту функцию, когда происходит одно из этих событий.
Буду признателен за любую помощь, и если вам нужно, чтобы я кое-что прояснил, пожалуйста, дайте мне знать.
Кто-то, кто гораздо лучше разбирается в Ядре Windows, может сгорбиться здесь с тяжелыми ботинками и исправить меня, но, насколько я знаю, Ctrl-Alt-Delete настолько системный, это «мега-система». Причина в том, что если программы могут зацепиться за него, вы получите мертвый рабочий стол в тот момент, когда какой-то идиот решит, что это была отличная идея — вывести «Вы уверены?» окно сообщения, когда пользователь понял, что его компьютер попал в ад.
Есть рекомендации, которым мы должны следовать как разработчикам программного обеспечения, и попытка изменить поведение операционной системы (как бы это ни было хорошо), всегда будет заканчиваться слезами.
Я предлагаю вам не пытаться делать это (если это действительно возможно, я никогда не пытался быть откровенным), и начать думать о более важных вещах, которые вы можете делать. Если память служит и пользователю делает нажимая Ctrl-Alt-Delete, когда вы запускаете приложение DirectX, вы потеряете контекст поверхности / устройства (при условии, что вы находитесь в полноэкранном режиме).
Выйдите изящно, или, если вы можете выздороветь — сделайте это.