Форум программистов, компьютерный форум, киберфорум
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/26: Рейтинг темы: голосов - 26, средняя оценка - 4.58
25 / 14 / 3
Регистрация: 12.08.2011
Сообщений: 276

HOOK на клаву не пашет

29.03.2013, 10:13. Показов 5287. Ответов 61
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Вот Код программы (РАБОТАЕТ нормально), но при попытке установить хук выдает ошибку...
Delphi
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellAPI, StdCtrls, sSkinManager, Unit2;
 
type
  MyProcType = procedure (Flag: Boolean); stdcall;
 
type
  TForm1 = class(TForm)
    sSkinManager1: TsSkinManager;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  iconData : TNotifyIconData;
  HDLL:HWND;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var Hook: MyProcType;
begin
@Hook:=nil;
 HDLL:=LoadLibrary(PChar('BLOK.dll'));
 IF HDLL>HINSTANCE_ERROR then
  Begin 
   @Hook:=GetProcAddress(HDLL,'Hook');
   Hook(True);
  End else MessageDlg('Ошибка.',mtError,[mbIgnore],0);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
Var Hook: MyProcType;
Begin
 @Hook:=nil;
 IF HDLL>HINSTANCE_ERROR then
  Begin
   @Hook:=GetProcAddress(HDLL,'Hook');  
   Hook(False);                        
  End;
End;
 
 
end.
А вот код DLL хука:
Delphi
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
library BLOK;
 
uses
  SysUtils, Classes, Windows;
 
var CurrentHook: HHook;
    Key: integer;
 
function KeyHook(code: integer; wParam: word; lParam: longword): longword; stdcall;
begin
    if code<0 then begin  
       KeyHook:=CallNextHookEx(CurrentHook,code,wParam,lparam);
       Exit;
    end;
    if ((lParam and KF_UP)=0)and(wParam>=65)and(wParam<=90) then begin
       windows.MessageBoxA(0,'',pchar(inttostr(Key)),0); 
    end; 
    CallNextHookEx(CurrentHook,code,wParam,lparam); 
    KeyHook:=0; 
    Exit; 
end; 
 
procedure Hook(Flag:Boolean); export; stdcall;
Begin 
  IF Flag then CurrentHook:=SetWindowsHookEx(WH_KEYBOARD,@KeyHook,HInstance,0) Else
  Begin
   UnhookWindowsHookEx(CurrentHook);
   CurrentHook:=0;
  End;
End; 
 
exports Hook; 
        
begin 
 
end.
Помогите почему хук не рубит?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.03.2013, 10:13
Ответы с готовыми решениями:

экран тот же, но... не реагирует на клаву... стрелки не перемещает... подключала другую клаву, тоже самое
Здравствуйте!!! а у меня ещё хуже с ноутом (Toshiba Satellite A210-19A) старенький, винт уже сменила... на новый... экран тот же, но... не...

В чем преимущество trampoline hook над обычным hook?
Объясните пожалуйста в чем преимущество trampoline hook и hook? Никак не могу понять

прогу написал, но что-то не пашет, или пашет неправильно посмотрите
В матрице удалить столбцы, в которых все числа меньше нуля. вот код uses crt; type mas=arrayof integer; var n,m,i,j:byte; a:...

61
angstrom
31.03.2013, 15:19
Студворк — интернет-сервис помощи студентам
Дальнейшая помощь бессмысленна, так начинает идти в разрез с правилами форума - пункт 5.7.
25 / 14 / 3
Регистрация: 12.08.2011
Сообщений: 276
31.03.2013, 15:24  [ТС]
Дак я делаю блокиратор экрана... для себя... А готовые программы это не интересно...

Добавлено через 12 секунд
Защита типо =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2013, 15:24

Не пашет coffeescript в прадакшн (наполовину пашет;) )
Приветствую, имеется проблема с работой скриптов. Так как в данной теме я знаний у меня нет - прошу помощи. Есть 2 скрипта в...

Посоветуйте клаву
Посоветуйте пожалуйста клаву. Брать с тонкими клавишами или обычными? То есть допустим это...

Мышь х7 рубит клаву
Дело вот в чем мышь х7 записываю макрос нажимаю загрузить на мышь, грузится и как только загружается отключается подсветка на клавиатуре,...

пролил воду на клаву !
пролил воду на клаву ноута.. теперь клавиши не сооответствуют своему назначанию..например нажымаю клавишу с а вместо ниё мягкий знак.. а...

Формы через Клаву
Доброе утро. Подскажите как сделать так чтобы форма выводилась по нажатию на определённую клавишу клавиатуры. У меня вышло, что новая...


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

Или воспользуйтесь поиском по форуму:
62
Ответ Создать тему
Новые блоги и статьи
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью. Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru