|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Хотели Кука, а съели хука Здравствуйте всем! Когда-то во времена XP прекрасно работала функция SetWindowsHookEx, но в Widows 7(а может и в Висте), перестала, не помогали никакие манифесты, есть ли сейчас что-либо подобное SetWindowsHookEx для Windows7,8,10 ? Спасибо за информацию. | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Да, вроде, должно работать, согласно МСДН. Но там теперь есть ограничения. 1. Битность dll и процесса должна совпадать. Т.е. для 32 битного процесса должна быть соотвественно 32 битная dll, а для 64 битного - 64 битная dll. 2. Имена 32х и 64х битных dll должны быть разные 3. Для Windows Store процессов/приложений надо обязательно давать dwThreadId, инача хук не поставится. | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 Спасибо за ответ, но насколько я помню именно SetWindowsHookEx работает без dll, по 3 пункту так делать не пробовал,но попробую. Интересно кто-нибудь пользовался этой функцией для windows 7 и выше, и какой результат? | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   юзал только мышь. на 7/10 х64 вполне работает. без длл Код: MouseHook := SetWindowsHookEx(WH_MOUSE_LL, @LowLevelMouseProc, HInstance, 0); Код: function LowLevelMouseProc(nCode: Integer; WParam: WParam; LParam: LParam)
  : LRESULT; stdcall;
begin
  if nCode >= 0 then
  begin
   
    case WParam of
      WM_LBUTTONUP:
        begin
   ...
        end;
    end;
  end
...Последний раз редактировалось nixon232, 09.02.2018 в 17:48. | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   А можно спросить такой вот странный вопрос - нифига хукать свое окно? Что, просто написать свой обработчик сообщения религия не позволяет? Или воспольщоваться AppEvents.OnMessage? Эта функция как раз полезна для отлова сообщений в ЧУЖИХ окнах... |