Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Недекларированная SysMsgProc и ее параметры [D7, XP]


John Doe ©   (2005-11-27 23:24:00) 

Добрый вечер.
Только что смотрел книгу "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:00) [1]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо