Главная страница
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.037 c
4-1092655227
Valera
2004-08-16 15:20
2004.09.26
Помогите с защитой CD от копирования


4-1092326960
S@shka
2004-08-12 20:09
2004.09.26
Запуск программ с помощью сервиса


3-1093546916
mouse_web
2004-08-26 23:01
2004.09.26
Обновление Query после закрытия QuickReport


4-1092165048
Алексей
2004-08-10 23:10
2004.09.26
WinAPI


1-1094837644
x_michael
2004-09-10 21:34
2004.09.26
У.М.Д. подскажите плз как получить непрямоугольную область