Перехват вызовов Api
Такой вопросик: кто что знает насчет того, как можно перехватывать вызовы приложением API-функций. Подскажите плиз, какими это можно сделать средствами или где мона нарыть соотв. документацию, инфу и пр.
Если более конкретно: я хочу перехватывать вызовы моего же приложения к CommCtr32.dll, а именно, некоторые из функций работы с имиджлистом (ImageList_XXXX). Только не надо спрашивать, зачем это нужно :-)
Цитата:
Originally posted by AviDen
Всем привет!
Такой вопросик: кто что знает насчет того, как можно перехватывать вызовы приложением API-функций. Подскажите плиз, какими это можно сделать средствами или где мона нарыть соотв. документацию, инфу и пр.
Если более конкретно: я хочу перехватывать вызовы моего же приложения к CommCtr32.dll, а именно, некоторые из функций работы с имиджлистом (ImageList_XXXX). Только не надо спрашивать, зачем это нужно :-)
Всем привет!
Такой вопросик: кто что знает насчет того, как можно перехватывать вызовы приложением API-функций. Подскажите плиз, какими это можно сделать средствами или где мона нарыть соотв. документацию, инфу и пр.
Если более конкретно: я хочу перехватывать вызовы моего же приложения к CommCtr32.dll, а именно, некоторые из функций работы с имиджлистом (ImageList_XXXX). Только не надо спрашивать, зачем это нужно :-)
Ну... первый вариант - есть как минимум одна программа для того, чтобы видеть какие API вызывает твоя (или не твоя :) программа. Второй вариант - хм.. помнится где-то видел статью по этому поводу.. и там вроде ... есть вроде какая-то DLL для этих целей.
А еще, только что посмотрел - тебе на http://error404.wallst.ru/download.htm, там найдешь Hook Development Kit, я сам не пробовал это дело, но оно там есть и делает как раз то, че тебе надо :)
Цитата:
Originally posted by mrhx
Ну... первый вариант - есть как минимум одна программа для того, чтобы видеть какие API вызывает твоя (или не твоя :) программа.
Ну... первый вариант - есть как минимум одна программа для того, чтобы видеть какие API вызывает твоя (или не твоя :) программа.
Что за программа? Хотя мне нужно не наблюдать, что моя прога вызывает, а именно перехватывать, т.к. есть необходимость изменить поведение имиджиста.
Цитата:
Originally posted by mrhx
Второй вариант - хм.. помнится где-то видел статью по этому поводу.. и там вроде ... есть вроде какая-то DLL для этих целей.
Второй вариант - хм.. помнится где-то видел статью по этому поводу.. и там вроде ... есть вроде какая-то DLL для этих целей.
Кинь пост в тему, плз, как вспомнишь, ОК?
Интересующая тебя информация наодится в книге
Джефри Рихтера "Windows для профессионалов".
Там и перехваты, и замены... В общем многое по системе. Читай!!!
Кстати где в нете есть её електронная версия, можешь поискать..
Удачи!
Затем. Есть функция, называется SetWindowsHookEx.
В качестве типа перехвата ставишь WH_CBT.
А далее много гимора, включая чтение из PE заголовка exe файла. и пр.
Вообще говоря исходники можешь найти на codeproject.com. Проект вроде называется APIHiJack