Форум программистов, компьютерный форум, киберфорум
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 12

И опять. Hooks

12.02.2014, 21:00. Показов 2527. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток, товарищи.
Пытаюсь поймать WM_USER + 31845...
Соответственно - SetWindowsHookEx с параметрами и WH_CALLWNDPROC и WL_GETMESSAGE и что только не пробовал... Без условия - ловлю все что угодно, но не то что нужно...
Собственно код dll:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
library Project2;
uses
  System.SysUtils,
  System.Classes, Windows, Messages;
 
{$R *.res}
 
var
  MyHook: HHook;
 
function MyFunc(nCode:integer;wP:WPARAM;lP:LPARAM): LPARAM; stdcall;
var
  _msg:TCWPStruct;
begin
 
 if nCode = HC_ACTION then
 begin
  _msg:=PCWPStruct(lP)^;
   if _msg.message = WM_USER + 31845 then
  SendMessage(findwindow('TForm1','Form1'), WM_USER+100, _msg.wParam, _msg.LParam);
 end;
 
result := CallNextHookEx(MyHook, nCode, wP, lP);
 
end;
 
procedure StartHook; export; stdcall;
begin
  MyHook := SetWindowsHookEx(WH_CALLWNDPROC, @MyFunc, HInstance, 0);
end;
 
procedure StopHook; export; stdcall;
begin
  UnhookWindowsHookEx(MyHook);
end;
 
exports StartHook,StopHook;
 
begin
 
end.
В Spyxx - поймать могу:
Скрин гл. окна, выделена нужная строка:
http://img-fotki.yandex.ru/get... 865d9_orig
Настойки:
http://img-fotki.yandex.ru/get... e4b7d_orig
http://img-fotki.yandex.ru/get... 9442d_orig

Подскажите, где ошибка...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2014, 21:00
Ответы с готовыми решениями:

Windows Hooks на C#
Добрый день. В интернете нашел множество статей с подробным описанием и примерами установки глобальных хуков, а вот с хуками на отдельный...

Windows hooks
Как сделать чтобы программа при нажатии j открывала например калькулятор? В интернете информация по этим хукам не очень понятная, хотел бы...

C# Winapi Hooks
У меня есть программа которая использует winapi PostMessage чтобы посылать окну сообщения, но это очень нагрузочно ( модальный цикл в...

22
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 12
15.02.2014, 19:00  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от cotseec Посмотреть сообщение
....отдохнув мозгом....
если все манипуляции с окном не приведут к успеху, тип хука стоит указать как WH_GETMESSAGE, а не WH_CALLWNDPROC, как у вас
Т.е. так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
  private
 procedure MyCoolHandler(var Message: TMessage); message WM_USER+31845;
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.MyCoolHandler(var Message: TMessage);
 begin
   Memo1.Lines.Add(inttostr(Message.WParam)+'  -  '+ inttostr(Message.LParam));
   Memo1.Lines.SaveToFile('C:\1.txt');
 end;
 
end.
Если да, то не работает... Или есть иной метод "ловить" сообщения окном?
WH_GETMESSAGE - тоже пробовал... Не работает. Поведение точно такое же, как и с WH_CALLWNDPROC.
Т.е. ловит все что угодно, но не то что нужно.((
0
Пишу на Delphi...иногда
 Аватар для cotseec
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
16.02.2014, 00:00
каким способом изменяете яркость, на клавиатуре или из программы (оболочкой драйвера на видеокарту)?
сколько пытался повторить на своем ноутбуке (видео также Radeon) - при изменении яркости никаких сообщений в системе не видно
0
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 12
16.02.2014, 01:00  [ТС]
Цитата Сообщение от cotseec Посмотреть сообщение
каким способом изменяете яркость, на клавиатуре или из программы (оболочкой драйвера на видеокарту)?
сколько пытался повторить на своем ноутбуке (видео также Radeon) - при изменении яркости никаких сообщений в системе не видно
На клавиатуре изменяю. Fn+F2, F3...

Добавлено через 1 минуту
Да, и когда драйвера не стояли, тоже можно было регулировать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.02.2014, 01:00

Windows hooks: wh_shell
Доброго времени суток, дело в следующем: Есть задача реализовать приложение, выводящее сообщение при закрытии окна верхнего...

Создание библиотеки. Mouse and keyboard hooks
Хочу написать программу, которая будет логировать время работы пользователя над одним таском. Весь UI, запись в базу, выбор тасов и т.д....

Опять MDI и опять нет активной формы
В общем, перед тем, как налетать на меня за эту тему, скажу, что я потратил более 6 часов на эксперименты и изучение всех возможных постов...

Hooks (имитация нажатия левой кнопки мышки)
Полная задача состоит в том, что пользователь будет выбирать окно. Когда он будет нажимать например клавишу E английскую, то будет...

Опять БАН опять Яндекс...
Вообщем ситуация такая, был сайт, написаный на дримвевере, отлично индексируемый и имеющий 400-500 переходв с поисковика яндекса. Стали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Я говорю, что Время- как вода течет меж пальцев на песок остывший, и сквозь песок уходит в никуда. . . И если Лета- все таки- Река, что разделяет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru