Обнаружение горячих клавиш клавиатуры при сбое констант DIK DirectInput

Я хочу назначить задачи и функции дополнительным клавишам моей клавиатуры (например, Mute, VolumeChange, Browser, …). Теперь я знаю, что DirectInput реализует полный список этих ключей, таких как DIK_MUTE (MSDN ссылка). К сожалению, ни одна из клавиш не назначена этим значениям, и очевидно, что каждая нажатая клавиша распознается как № 128 в DirectInput.

Но у Windows, похоже, нет проблем с разграничением этих клавиш, поскольку некоторые из них являются функциональными и, например, открытыми приложениями. Есть ли способ исправить эту проблему с DirectInput или без так, чтобы я мог обнаружить эти ключи также в полноэкранных приложениях DX / OpenGL?

IDirectInputDevice8* device;
BYTE arrKey[256] = {0};

if FAILED(device->GetDeviceState(sizeof(BYTE)*256,arrKey))
return false;

BYTE byKey = ReportPressedKey(arrKey, sizeof(BYTE*)*256);
// byKey = 128 (DIK_MUTE, DIK_VOLUMEUP,DIK_NEXTTRACK,...)

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]