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

И опять. Hooks

12.02.2014, 21:00. Показов 2584. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru