Привет всем! В WebMoney Keeper в папке KSP есть файл Enum.dll... Хочу сделать чтоб при заменене этой длл моей, она работала... Т.е. чтобы вызовы выполнялись ч-з мою длл как прокси... Тока чета непашет хелп плиз в чем дело... Вот наработка: Код (Text): Library Enum; Uses Windows; const csDllFileName = 'enum_old.dll'; TYPE TDllGetClassObject = Function(P1,P2,P3:Pointer):HRESULT; stdcall; TDllRegisterServer = Function:HRESULT; stdcall; TDllUnregisterServer = Function:HRESULT; stdcall; Var _DllHandle : THandle ; _DllGetClassObject : TDllGetClassObject ; _DllRegisterServer : TDllRegisterServer ; _DllUnregisterServer : TDllUnregisterServer ; Function DllCanUnloadNow:HRESULT; stdcall; Begin Result:= S_FALSE; End; Function DllGetClassObject(P1,P2,P3:Pointer):HRESULT; stdcall; Begin If ( ASSIGNED( _DllGetClassObject ) ) Then Result:= _DllGetClassObject( P1, P2, P3 ) Else Result:= E_NOINTERFACE; End; Function DllRegisterServer:HRESULT; stdcall; Begin If ( ASSIGNED( _DllRegisterServer ) ) Then Result:= _DllRegisterServer Else Result:= E_NOTIMPL; End; Function DllUnregisterServer:HRESULT; stdcall; Begin If ( ASSIGNED( _DllUnregisterServer ) ) Then Result:= DllUnregisterServer Else Result:= E_NOTIMPL; End; Exports DllCanUnloadNow, DllGetClassObject, DllRegisterServer, DllUnregisterServer; Begin _DllHandle:= LoadLibrary( csDllFileName ); If ( _DllHandle <> 0 ) Then Begin _DllGetClassObject := GetProcAddress( _DllHandle, 'DllGetClassObject' ); _DllRegisterServer := GetProcAddress( _DllHandle, 'DllRegisterServer' ); _DllUnregisterServer:= GetProcAddress( _DllHandle, 'DllUnregisterServer' ); End; End.
Прочитал статью http://www.wasm.ru/article.php?article=comkit2 нихера ниче непонял Кто понимает в теме помогите плиз...
тебе еще рано статью на васме читать ) Иди читай гугль: http://www.google.ru/search?hl=ru&q=%22%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F+COM+%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0%22&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=