PD>>>А если вместо keybd_event попробовать SendInput ?
C>>2Pavel:
C>>А разве keybd_event в 2к и выше не юзает SendInput?
C>>C>>MSDN:
C>>keybd_event
C>>...
C>>Windows NT/2000 or later: This function has been superseded. Use SendInput instead.
WJI>Даже если и так, то это нам ничего не даёт, ещё раз повторюсь, проблема не в эмуляции, проблема в хуке.
1) При эмуляции "сэмулированная строка" по идее должна пойти в приложение имеющее фокус ввода, не может быть с этим какой-то заморочки?
Особенно настараживает CfgdfgDlg::
OnBnClickedButton1, т.е. судя по названию, т.е. эмулируем вроде как по нажатию кнопки? Значит фокус ввода на кнопке. Следовательно, значит прога сама себе и симулирует строку!?!
2) Судя по незабвенной константе
WH_KEYBOARD_LL хук глобальный и только, и иначе быть не может, значит должен быть в DLL.
Но судя по строке
HMODULE hInstance = GetModuleHandle(
NULL) из функции SetKeyboardHook
получаем HMODULE exe-шника вызывающего процесса!?! И пытаетесь сказать системе, что процедура
глобального хука в
exe-шнике? По уму, хук вообще вроде как не должен ставиться...