http://www.wasm.ru/forum/viewtopic.php?id=18250 в этом посте дан обсуждение перевода вирт.сканкода в юникодовый символ в своём кейлоггере реализовал, а оно не работает даже при русской раскладке дайт англыйские буквы но в юникоде короче может ли кто дать рабочий пример перевода нажатой клавиши в русской раскладке в юникод спасибо
ThreadID - ИД потока, которому принадлежит активное окно local KeyboardState[256]: BYTE, ResultKey[10]: WORD lea ecx, [KeyboardState] invoke GetKeyboardState, ecx test eax, eax je .lbNext invoke GetKeyboardLayout, [ThreadID] mov ecx, [lParam] invoke ToUnicodeEx, DWORD [ecx], DWORD[ecx+4], KeyboardState, ResultKey, 8, 0, eax .lbNext: ..... ;В ResultKey получаешь печатный символ в юникоде в раскладке потока активного окна. ;Для клавиш типа F1, Shift и т.п возвращает 0. Для них можно использовать GetKeyNameTextW.
а можно вопрос по поводу масмовкого кода, чё делают lea ecx, [KeyboardState] .... test eax,eax je.lbNext я просто на масме не програмю?