Внимательно посмотрев на spy ++ в visual studio, я обнаружил hRawInput
при наборе текста на клавиатуре.
И обнаружил, что это значение постоянно меняется при каждом вводе клавиши.Возможно, это значение означает дескриптор того, что называется RawInput
, и я думаю, что значение самого hRawInput не имеет смысла.
Но при приближении к RawInput
данным через этот дескриптор есть ли способ отличитьввод с помощью SendInput и ввод с клавиатуры?Если какой-либо метод существует, как сделать эти два элемента неразличимыми?
В этом вопросе Обнаружение симулированного ввода с клавиатуры / мыши кто-то говорит, что SetWindowsHookEx
может различать вводиспользуя SendInput
и ввод с реальной клавиатуры.
Однако SetWindowsHookEx
- это функция, которая используется для перехвата перемещения сообщений между очередью сообщений ОС и очередью сообщений приложения, но SendInput
являетсяфункция, которая работает с аппаратной очередью, которая намного ниже этого уровня, поэтому я не понимаю, как ее можно различить.
Подводя итог, вопрос выглядит следующим образом.
Используя hRawInput
, Как отличить ввод с помощью SendInput между вводом с реального устройства.И я хочу знать, как получить rawInput
данных данных через hRawInput
входных данных, полученных с помощью SendInput или реального устройства.
Хотя SetWindowsHookEx
работает в очереди ОС - очередь приложенийи SendInput работает в аппаратной очереди. Как различить ввод с помощью SendInput между вводом с реального устройства.