подскажите плиз в чем может быть проблема тут. использую библиотеку advApiHook. под виндопс xp сп1 не хочет работать. Код (Text): library dll; uses windows, wininet, advApiHook; var TrueInternetConnect: function(hInternet: HINTERNET; lpszServerName: Pchar; nServerPort: INTERNET_PORT; lpszUsername: Pchar; lpszPassword: Pchar; dwService: cardinal; dwFlags: cardinal; dwContext: cardinal):longbool; stdcall; function NewInternetConnect(hInternet: HINTERNET; lpszServerName: Pchar; nServerPort: INTERNET_PORT; lpszUsername: Pchar; lpszPassword: Pchar; dwService: cardinal; dwFlags: cardinal; dwContext: cardinal):longbool; stdcall; begin MessageBoxA(0, lpszServerName, lpszServerName, 0); Result := TrueInternetConnect(hInternet, lpszServerName, nServerPort,lpszUsername, lpszPassword, dwService, dwFlags, dwContext); end; begin HookProc('wininet.dll', 'InternetConnectA', @NewInternetConnect, @TrueInternetConnect); end. вылетает с ошибкой после мессадж бокса. в сп2 работает.
1) удалить дельфу с хитрым модулем advApiHook; написать на асме 2) дельфу оставить; модуль переписать (можно на дельфе) 3) запустить отладчик (в делфе он кстати норм) 4) включить моск 5) спросить в королевстве?
MessageBox убери, а сделай вывод в консоль дебуга. InternetConnect вызывается скорее всего ассинхронно, а ты задержку устраиваешь ему, винду глючит от этого.
Пробывал, не работает. Другие функции из вининет под сп1 перехватываются нормально. Всё работает. А InternetConnect не хочет. Под сп2 всё перехватывается и работает. 100 баксов на пиво в качестве благодарности за помощь Очень нужно решение.
Странно.... На мой взгляд место для HookProc выбрано не верно. Но судить не могу, в скором времени попробую потестить на Windows Server'е.
1. AdvApiHook - МсРемовская библиотека для сплайсинга. 2. Делфи - нормальный язык, во всяком случае не хуже С. Тоже когда то давно были траблы именно с InternetConnect и AdvApiHook, но я уже не помню в чем там было дело. Есть подозрение, что может некорректно отрабатывать дизассемблер длин LdAsm. Посмотри в отладчике на начало IntenetConnect. Что показывает RkU? В любом случае надо смотреть в Ольге.