Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

можно ли сделать "ловушку" без использования библиотеки?   Найти похожие ветки 

 
Ego   (2004-08-10 19:28) [0]

Постараюсь об`яснить, что мне надо: у меня есть программа, которая откликается на "горячие клавиши" другой программы.Но, для этого, ей( моей программе ), приходиться "таскать за собой" dll.Можно как-нибудь обойтись без библиотечного файла?


 
OSokin ©   (2004-08-10 20:53) [1]

Имхо другую прогу поставить


 
имя   (2004-08-10 21:12) [2]

Удалено модератором


 
имя   (2004-08-10 21:12) [3]

Удалено модератором


 
имя   (2004-08-10 21:12) [4]

Удалено модератором


 
имя   (2004-08-10 21:12) [5]

Удалено модератором


 
имя   (2004-08-10 21:12) [6]

Удалено модератором


 
Ego   (2004-08-10 21:58) [7]

OSokin ©  Спасибо за ответ, хотя, понятно, он и не помог.
Модепр- дмуда укук : тоже спасибо за ответ, хотя, поверь, если бы мне хотелось услышать глас "шлепка майонезного", то я бы обратился не к тебе: в твоем исполнении это слишком невнятно звучит...


 
Ego   (2004-08-11 00:50) [8]

Подскажи, какую "прогу"...я написал "макрос" на ассемблере, но Windows-приложение его откинуло: знать не знаю...потом я разобрался, что DOS и Windows приложения работают чуть-чуть по-разному...ребята, пожалуйста, помогите..


 
Ego   (2004-08-11 00:59) [9]

я пытался отловить поле " indicator ", но что-то , ...не судьба...


 
Алхимик ©   (2004-08-11 01:52) [10]

Непонятно что за Dll и зачем её таскать.
Примерчик работы ловушки:
var
 HookHandle: hHook;

function HookProc(Code: integer; WParam: word; LParam: Longint): Longint; stdcall;
var
 msg: PEVENTMSG;
begin
 if Code >= 0 then begin
   result := 0;
   msg := Pointer(LParam);
   case msg.message of
     WM_KEYUP:
     WM_KEYDOWN:
     {И так далее}
   end;
   end else
     result := CallNextHookEx(HookHandle, code, WParam, LParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 HookHandle := SetWindowsHookEx(WH_JOURNALRECORD, @HookProc, HInstance, 0);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 if HookHandle <> 0 then
   UnhookWindowsHookEx(HookHandle);
end;


 
Aleksey Pavlov ©   (2004-08-11 02:02) [11]

>>Ego:

Если надо получать только информацию о нажатых клавишах, тогда можно обойтись без dll, как во всех остальных случаях.
См.WH_JOURNALRECORD.

>>Алхимик © (11.08.04 01:52):

case msg.message of
    WM_KEYUP:
    WM_KEYDOWN:
    {И так далее}
  end;  

Интересно, что же подразумевается в данном случае под этим "И так далее"? =)


 
Алхимик ©   (2004-08-11 02:05) [12]

WM_KEYUP например :)


 
Digitman ©   (2004-08-11 08:15) [13]


> Ego   (10.08.04 19:28)  
> Можно как-нибудь обойтись без библиотечного файла?



> Алхимик ©   (11.08.04 01:52) [10]
> Непонятно что за Dll и зачем её таскать.


ответ на вопрос - в справке:

Hook Scope
WH_CALLWNDPROC Thread or system
WH_CBT Thread or system
WH_DEBUG Thread or system
WH_GETMESSAGE Thread or system
WH_JOURNALPLAYBACK System only
WH_JOURNALRECORD System only
WH_KEYBOARD Thread or system
WH_MOUSE Thread or system
WH_MSGFILTER Thread or system
WH_SHELL Thread or system
WH_SYSMSGFILTER System only
The system hooks are a shared resource, and installing one affects all applications. All system hook functions must be in libraries


 
Алхимик_   (2004-08-11 09:08) [14]

[11] Aleksey Pavlov ©   (11.08.04 02:02)http://www.sources.ru/delphi/dll/hooks_aspects.shtml
:)
Прочитал до полного просветления.



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.034 c
8-1088739507
jb
2004-07-02 07:38
2004.09.26
Площадь полигона


14-1094399063
Piter
2004-09-05 19:44
2004.09.26
Странный цвет у файлов


6-1089857582
BoxTer
2004-07-15 06:13
2004.09.26
Проблема с TServerSocket


4-1092430217
GuAV
2004-08-14 00:50
2004.09.26
Подмена WinAPI функции в своём приложении.


4-1092401702
midavik
2004-08-13 16:55
2004.09.26
Принтскрин кадра видео