Главная страница
    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.47 MB
Время: 0.035 c
14-1094785169
YurikGL
2004-09-10 06:59
2004.09.26
Exchange 2000 и русские логины


3-1093838283
BlackSun
2004-08-30 07:58
2004.09.26
Проблемы с подключением к dbf-файлу


1-1095155759
Kovsh
2004-09-14 13:55
2004.09.26
Как изменить цвет выделения в StringGrids


1-1094571065
Marina
2004-09-07 19:31
2004.09.26
Подключение к проекту файлов с расширением *.inc


1-1094655106
roma
2004-09-08 18:51
2004.09.26
WebBrowser





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский