Всем привет!
Перехватываю нажатия клавиш... но к сожалению не получается перехватить буквы с разной раскладкой =(
если печатаю в своём же окне то всё ок!
делаю это так:
SC := MapVirtualKey(PBDLLHOOKSTRUCT(lParam).vkCode, MAPVK_VK_TO_VSC);
VK := MapVirtualKey(PBDLLHOOKSTRUCT(lParam).scanCode, MAPVK_VSC_TO_VK);
if code>=0 then
begin
if (wParam=WM_KEYDOWN) then
begin
GetKeyboardState(KS);
ToUnicode(VK,SC,KS,@Ch,Sizeof(Ch),0);
Form1.Edit1.Text:=Form1.Edit1.Text+ch;
end;
но из чужих окон всё приходит на одном и том же языке и регистр не учитывается =(
Вопрос
neo
Всем привет!
Перехватываю нажатия клавиш... но к сожалению не получается перехватить буквы с разной раскладкой =(
если печатаю в своём же окне то всё ок!
делаю это так:
SC := MapVirtualKey(PBDLLHOOKSTRUCT(lParam).vkCode, MAPVK_VK_TO_VSC); VK := MapVirtualKey(PBDLLHOOKSTRUCT(lParam).scanCode, MAPVK_VSC_TO_VK); if code>=0 then begin if (wParam=WM_KEYDOWN) then begin GetKeyboardState(KS); ToUnicode(VK,SC,KS,@Ch,Sizeof(Ch),0); Form1.Edit1.Text:=Form1.Edit1.Text+ch; end;
но из чужих окон всё приходит на одном и том же языке и регистр не учитывается =(
в чём может быть проблема?
Ссылка на комментарий
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.