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

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

Проблема выгрузки DLL [D6, D7, WinXP]


Страницы:   1 2

ScrewDriver ©   (2005-01-06 15:14:00) 

Подскажите пжалуста, как выгрузить библиотечку с хуком, выхожу из вызвавшей DLL проги - библиотека не выгружается. Висит в памяти до перезагрузки! Мож кто сталкивался с такой проблемой - помогите.


kaZaNoVa   (2005-01-11 12:29:00) [21]

Удалено модератором
Примечание: Просто потрепаться вы можете в соответствующей конференции


Игорь Шевченко   (2005-01-11 11:25:00) [22]

kaZaNoVa ©   (06.01.05 16:00) [2]

Если у тебя есть фонтан - заткни его, дай отдохнуть и фонтану.

Вопрос бы почитал, что ли...


TUser   (2005-01-11 10:57:00) [23]

В любом случае надо показать код библиотеки


tesseract   (2005-01-11 10:53:00) [24]

Вообще имейте ввиду - Хук проецируется во все текущие процессы имеющие обработку сообщений - те библиотека загрузилась так загрузилась.
По моему ты плохо ловушку снимаешь после её снятия всё должно пахать.


ScrewDriver   (2005-01-08 12:22:00) [25]

Спасибо, попробую!!! :-)


kaZaNoVa   (2005-01-06 16:00:00) [26]

library TestDll;
uses SysUtils,Windows;

Var
f:TextFile;
ThreadID,id,HThread:cardinal;

Const FName='A:\log.txt';

Function GetUserFromWindows: string;
Var
 UserName    : string;
 UserNameLen : Dword;
Begin
 UserNameLen := 255;
 SetLength(userName, UserNameLen);
 If GetUserName(PChar(UserName), UserNameLen) Then
   Result := Copy(UserName,1,UserNameLen - 1)
 Else
   Result := 'Unknown';
End;

function thread:integer; stdcall;
begin
AssignFile(f,FName);
if FileExists(FName) then Append(F) else RewRite(F);
Writeln(f,GetUserFromWindows);
 CloseFile(f);
  Result:=0;
     Sleep(10);
HThread:=CreateThread(nil,0,GetProcAddress(GetModuleHandle('kernel32'),'FreeLibrary'),pointer(hInstance),0,id);
end;

begin
HThread:=CreateThread(nil,0,@Thread,nil,0,ThreadID);
end.


самовыгружающаюся длл  (которую грузят по CreateRemoteThread)


Japp   (2005-01-06 15:49:00) [27]

// Up!
Сталкивался...:(
Пару лет назад - так и не поборол ..:(
Кажется это еще зависит от типа хука.
Я вешал хук WH_MOUSE(_LL) - и кажется только в случае __LL это
происходило...
Меня тоже эта проблема интереcует...


Страницы:   1 2

Наверх

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