Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для DillerInc

Обратный инженер


Сообщения: 644
Благодарности: 47

Профиль | Отправить PM | Цитировать


Raistlin
Теперь я вроде понял,что ты имеешь в виду (невозможность удаления библиотеки пока не перезагрузишь систему).
Значит,функция EnumProcessModules лишь перечисляет все модули,загруженные в адресное пространство конкретного процесса.
В твоём же случае необходимо,на мой взгляд,смотреть атрибуты файла, т.е. возможно,что у этой библиотеки выставлен атрибут FILE_ATTRIBUTE_READONLY ,который означает,что приложения не могут ни писать в этот файл,ни удалять его.
К примеру:
Код: Выделить весь код
var
 fAttrs : DWORD;
 fName : LPCTSTR;
begin
 fAttrs := GetFileAttributes('nnhook.dll');
if fAttrs = FILE_ATTRIBUTE_READONLY then
begin
 SetFileAttributes('nnhook.dll', FILE_ATTRIBUTE_NORMAL); 
end;
end;
...попробуй,может это поможет.

P.S. Если тебе всё-таки понадобится пример кода функции EnumProcessModules,напиши - приведём .

-------
То,что неясно,следует выяснить.То,что трудно творить,следует делать с великой настойчивостью. © Конфуций


Отправлено: 15:48, 07-09-2005 | #7