Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Вниз

Hook   Найти похожие ветки 

 
pomashok   (2004-02-29 20:26) [0]

Привет! Подскажите что должно быть .... чтоб по нажатию клавиши F12 выскакивало 1 сообщение а не 2 ! ????
function Key_HookKey(code: integer; wParam: integer; lParam: integer): integer stdcall;
begin
{если code >= 0, то ловушка может обработать событие}
if code >= 0 then
begin
// если Alt и "X"
// if (wParam = ord("X")) and (lParam and $20000000 <> 0) and (lParam and $40000000 = 0)
if (wParam = VK_F12) and (lParam and VK_DOWN = 0 )
then begin
Result := 1;
MessageBox(0, "ВЫ нажали клавишу F12 !", "DLL", 0);
end else
//если code<0, вызывается следующая ловушка
Result := CallNextHookEx(HKey, Code, wParam, lParam);
end;
end;


 
Palladin   (2004-02-29 20:30) [1]

первое возникает на нажатие второе на отпускание... как от этого избавится читай справку... код то скопировать смог... теперь головой поработай


 
pomashok   (2004-02-29 20:35) [2]

где читать подскажите .... ???


 
Palladin   (2004-02-29 20:39) [3]

хотя нет.. чего это я... извиняюсь все верно... третья строчка то не закоментирована... может библиотеку не перекомпилировал?


 
Cobalt   (2004-02-29 20:39) [4]

Справку на данный тип хука.


 
Palladin   (2004-02-29 20:43) [5]

единственное что лучше объявлять так как и надо объявлять

function Key_HookKey(code: integer; p_wParam:wparam; integer; p_lParam: lparam): lresult; stdcall;

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


 
pomashok   (2004-02-29 20:45) [6]

да все работает путем ..... тока ДВА окна замучали !!! неполучается одно убрать :(


 
Palladin   (2004-02-29 20:48) [7]

ошибка в процедуре
function Key_HookKey(code: integer; wParam: integer; lParam: integer): integer stdcall;
begin
if code >= 0 then
begin
if (wParam = VK_F12) and (lParam and VK_DOWN = 0 ) then
begin
Result := 1;
MessageBox(0, "ВЫ нажали клавишу F12 !", "DLL", 0);
end else
//если code<0, вызывается следующая ловушка - вот и промахнулся код нужно форматировать нормально
Result := CallNextHookEx(HKey, Code, wParam, lParam);
end;
end;


 
pomashok   (2004-02-29 20:52) [8]

я не понял что ты имел введу! ? и это не я промахнулся :) это Архангельский промахнулся когда писал книгу .... я только пытаюсь с alt+x перейти на F12 !


 
Palladin   (2004-02-29 20:59) [9]

нда? :)

хорошо... с Alt-X одно окно?


 
pomashok   (2004-02-29 21:02) [10]

угу ... одно .... а тут 2 !!!!!!!!!!!!!!!! блин


 
Palladin   (2004-02-29 21:14) [11]

я сам тупить начал

if (wParam = VK_F12) and ( (lParam and VK_DOWN ) = 0 ) then

и исправь неточность с CallNextHookEx


 
pomashok   (2004-02-29 22:33) [12]

и исправь неточность с CallNextHookEx ???? на что поменять и зачем ?


 
Palladin   (2004-02-29 22:37) [13]

не хочешь не меняй... а зачем: подумай, посмотри код...


 
pomashok   (2004-02-29 22:39) [14]

ну если с alt+x работает нормально .... зачем менять ?
а с F12 опять выскакивает 2 окна!


 
Palladin   (2004-02-29 23:04) [15]

как я не хотел ковырятся, но ты меня заставил... пусть тебя совесть мучает

if (wParam = VK_F12) and ((lParam and $FFFFFFFFC0000000)= 0 ) then


 
pomashok   (2004-02-29 23:16) [16]

if (wParam = VK_F12) and (lParam and VK_DOWN = 0 )and (lParam and $40000000 = 0) - тогда все работает и выскакивает 1 окно :) . Но что такое $40000000 ???? еси кто знает напишите мне плиз на мыло :)))


 
pomashok   (2004-02-29 23:17) [17]

Palladin ... извени не заметил твоего ответа! НО Благодарен за оказанное содействие :)))


 
Clift   (2004-03-01 00:27) [18]

http://www.delphimaster.ru/articles/hooks/index.html

Это на счет правильной передачи параметров в CallNextHookEx...



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

Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
1-43537
Rentgen
2004-02-28 08:44
2004.03.14
Line delete?


3-43375
Санек
2004-02-13 18:16
2004.03.14
Теория коннекта


3-43335
Expo
2004-02-13 15:24
2004.03.14
Дата в RxQuery


1-43676
Lisa
2004-01-23 13:20
2004.03.14
Как программно запустить Excel?


1-43517
Grinder
2004-02-22 15:56
2004.03.14
высота колонки в list view





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский