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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2008, 14:32   #11
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Да, с этим вроде разобрался...

А вообще какие значения передаются в wParam и lParam при различных WH_... Ну, скажем при WH_KEYBOARD и WH_MOUSE?

Да, вот, чуть не забыл, следующий код работает, но даёт такую пертушку:
Каждая строчка по 2 раза.
Код:
function callProc(code, wParam, lParam : integer): Lresult; stdcall;
var
f: textfile;
p: tPoint;
str: string;
procedure writeInFile(const value: pChar);
begin
   getCursorPos(p);
   str := '['+intToStr(p.X)+'/'+intToStr(p.Y)+']-['+
      dateTimeToStr(date+Time)+'_'+intToStr(MilliSecondOf(time))+'] '+value;

   write(f, str+#13#10);
end;
begin
   assignfile(f, 'D:\text.txt');
   append(f);
   if code >= 0 then
   begin
      case wParam of
      WM_LBUTTONUP: writeInFile('Left (up)');
      WM_RBUTTONUP: writeInFile('Right (up)');
      WM_MBUTTONUP: writeInFile('Middle (up)');

      WM_LBUTTONDOWN: writeInFile('Left (down)');
      WM_RBUTTONDOWN: writeInFile('Right (down)');
      WM_MBUTTONDOWN: writeInFile('Middle (down)');

      WM_MOUSEMOVE: writeInFile('Moving');
      end;
   end;
   result:=CallNextHookEx(hooh, code, wParam, lParam);
   closefile(f);
End;
Цитата:
[590/541]-[14.12.2008 7:42:01_687] Moving
[590/541]-[14.12.2008 7:42:01_687] Moving
[590/541]-[14.12.2008 7:42:01_750] Left (down)
[590/541]-[14.12.2008 7:42:01_750] Left (down)
[590/541]-[14.12.2008 7:42:01_843] Left (up)
[590/541]-[14.12.2008 7:42:01_843] Left (up)
[590/541]-[14.12.2008 7:42:01_843] Moving
[590/541]-[14.12.2008 7:42:01_843] Moving
[591/538]-[14.12.2008 7:42:02_937] Moving
[591/538]-[14.12.2008 7:42:02_937] Moving
[593/532]-[14.12.2008 7:42:02_937] Moving
[593/532]-[14.12.2008 7:42:02_937] Moving
Обратите внимание на милиСекунды. Как исправить?

Да, и Explorer почему-то часто вылетать начинает...

Последний раз редактировалось Altera; 14.12.2008 в 15:37.
Altera вне форума Ответить с цитированием
Старый 14.12.2008, 16:08   #12
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
А вообще какие значения передаются в wParam и lParam при различных WH_... Ну, скажем при WH_KEYBOARD и WH_MOUSE?
В MSDN все прекрасно описано а переписывать сюда нет смысла.
Запускаешь MSDN там в поиске вводишь SetWindowsHookEx
И там в первом параметре будут варианты хуков(WH_KEYBOARD, WH_MOUSE,...).жмешь на один и тебе показывается функция обработки для выбранного хука(что какой параметр хранит)
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 14.12.2008, 17:15   #13
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
В MSDN все прекрасно описано а переписывать сюда нет смысла.
Запускаешь MSDN там в поиске вводишь SetWindowsHookEx
И там в первом параметре будут варианты хуков(WH_KEYBOARD, WH_MOUSE,...).жмешь на один и тебе показывается функция обработки для выбранного хука(что какой параметр хранит)
Ясно, спасибо! Но это не всё!
---------------
Очень неприятен факт, вылетание експлорера при сворачивании окон после завершения работы EXE1. И иногда при запуске тоже вылетает.
Во вложении исходник приложения и его DLL-ки с хуком. Секретные материалы сохраняются в d:\000_hookedValues.txt.
Я в инглише не очень секу по этому толком не понял:
callNextWindowsHookEx когда надо вызывать? Когда code < 0, code >= 0 или по любому надо вызывать. Везде по разному видел.
Вложения
Тип файла: rar Hook.rar (321.5 Кб, 9 просмотров)

Последний раз редактировалось Altera; 14.12.2008 в 19:46.
Altera вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Немогу зарегиться на regmefast.org Altera Свободное общение 2 28.07.2008 13:33
Немогу решить задачу Санячос Общие вопросы Delphi 2 11.06.2008 15:35
Немогу переделать(переписать) прогу!!!! metamfetamin Помощь студентам 0 25.11.2007 14:27
Немогу установить GLSCENE !!!! UnD)eaD)Snake Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 18.07.2007 14:06