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

Вниз

Недекларированная SysMsgProc и ее параметры   Найти похожие ветки 

 
John Doe ©   (2005-11-27 23:24) [0]

Добрый вечер.
Только что смотрел книгу "Delphi глазами хакера,автор: М.Фленов"

На примерах показывается использования функций и процедур.
Только вот по сути дела,значение всей функции он не раскрывает.

Что-то вроде:
"А здесь мы делаем то-то,то-то...."

Так вот интересно стало,что же делает
function SysMsgProc(code : integer; wParam : word; IParam : longint) : longint; stdcall;
В Хэлпе ее нет,вообще большинство функций которые там в книге,почему-то не декларированы в Хэлпе.
По примеру в книге,видно что в функцию вызывает сама ОС,т.к. явно это в примере,не делается.Интересно.

Вопросы такие:
1)Что за функция,для чего нужна.
2)Не имею никакого понятия о ее аргументах.
Что такое wParam,IParam,Code.
3)Что такое stdCall?
4)Где можно достать весь список сообщений Windows(WM_*) и список названий ловушек(WH_*)?

Заранее спасибо,надеюсь на вас.


 
Юрий Зотов ©   (2005-11-28 02:49) [1]

Очень похоже, что SysMsgProc - это callback-функция хука. В хелпе она описана, но не под этим именем, потому что имя у нее может быть любым. Надо смотреть справку по SetWindowsHookEx, а там есть линки, дающие описания таких функций. Там же есть ответы на вопросы 1, 2 и 4, на вопрос 3 ответ простой: stdcall - это одно из соглашений о вызове; при вызове функций такие соглашения устанавливают способ и порядок передачи параметров и очистки стека. Подробное описание есть в справке Delphi (тема calling conventions).



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
14-1131958924
Юрий Зотов
2005-11-14 12:02
2005.12.11
Чемпионат сайта по бильярду


2-1132569578
Mike0902
2005-11-21 13:39
2005.12.11
Как определить целочисленный тип, принимающий значения -1 и 1?


14-1132644802
WondeRu
2005-11-22 10:33
2005.12.11
ASM


14-1132484150
Separator
2005-11-20 13:55
2005.12.11
try ... except


2-1132918235
Quadro
2005-11-25 14:30
2005.12.11
Странная ошибка