Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2010, 12:02   #1
Gerzs
Форумчанин
 
Аватар для Gerzs
 
Регистрация: 23.07.2009
Сообщений: 185
По умолчанию Хук на изменение раскладки клавиатуры

Здравствуйте, вот пытаюсь поставить такой хук, для этого написал библиотеку, но почему-то не вызывается SysMsgProc, подскажите, пожалуйста, где ошибка.

Код:
library Hook;

uses
  Windows,
  Messages;

var
  LangHook: HHook = 0;

  function SysMsgProc(code:integer; wParam, lParam: DWORD):DWORD;stdcall;
  begin
   MessageBox(0,'You in RunStopHook SysMsgProc', 'Message by Hook library', 0);
   CallNextHookEx(LangHook, Code, wParam, lParam);
   if code=HC_ACTION then
   begin
    MessageBox(0,'Lang is Change', 'Message by Hook library', IdOk);
   end;
  end;

  procedure RunStopHook(State: Boolean) export; stdcall;
  begin
   if State then
   begin
    LangHook:=SetWindowsHookEx(WM_INPUTLANGCHANGE, @SysMsgProc, HInstance, 0);
    MessageBox(0,'You in RunStopHook procedure', 'Message by Hook library', 0);
   end
   else
    begin
     UnhookWindowsHookEx(LangHook);
     LangHook:=0;
    end;
  end;

  exports RunStopHook index 1;

begin
end.
Gerzs вне форума Ответить с цитированием
Старый 03.07.2010, 22:30   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
SetWindowsHookEx(WM_INPUTLANGCHANGE , @SysMsgProc, HInstance, 0);
WM_*? Тут константы WH_* - наверное, надо ловить WH_SHELL с кодом HSHELL_LANGUAGE.
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
смена раскладки клавиатуры D_E_N Общие вопросы Delphi 2 17.05.2009 00:26
Определение раскладки клавиатуры micaell Win Api 2 14.03.2009 23:43
Реагировать на изменение раскладки клавиатуры Rusl92 Общие вопросы Delphi 3 22.02.2009 01:18
Смена раскладки клавиатуры NoName_emaNoN Общие вопросы Delphi 10 28.05.2008 08:55