-
Здравствуйте.
Возникла проблема, после установки хука
SetWindowsHookEx(WH_KEYBOARD, @HookKeyBoard, hInstance, 0);
во время пошаговой отладки студия намертво зависает.
Версия ide: rad studio xe7 (xe10 ведет себя аналогично)
Целевая платформа: х64 (в х32 все работает нормально).
ОС: Win7.
С флагом WH_KEYBOARD_LL не зависает полностью, но каждая строка кода вызывает торможение секунд на 5.
Можете подсказать, в чем суть проблемы и возможно ли ее решить без окольных путей?
-
а без отладки так же тормозит?
-
А без отладки все прекрасно. Такое ощущение, что это неполадки дебагера.
-
Антивирь снеси, у меня что то типа такого на симантике и дрвебе проявлялось
-
Я не пользуюсь антивирусами.
-
Сделай демопроект и выложи в архиве
-
-
Странно что у тебя вообще ничего не упало.
У тебя ж параметры в 64 битах плывут.
Перепиши вот так:
function HookKeyBoard(Code: Integer; wParam: WParam; lParam: LParam): LRESULT; stdcall;
WParam и LParam - 4 байта в 32 битах и 8 байт в 64 битах.
-
и до кучи, зачем тебе отдельная нить, когда ты уведомления главному окну шлешь?
Короче поищи примеры нормальных реализаций хуков и посмотри сам подход у них.
-
Спасибо за ответ, попробую. Отдельная нить - чтобы система отвечала на нажатия клавиш, если главное окно будет висеть.
-
Ничего не изменилось. Как зависал - так и зависает отладчик.
-
Удалено модератором