![]() |
|
|
#1
|
|||
|
|||
|
Код:
HINSTANCE hdll = NULL;
hdll = LoadLibrary("DllMain.dll");
if (NULL == hdll) {
// Не запущена
} else {
// Запущена
}lmikle: Пользуемся тегами!!! Не работает выводит ошибку 22 и жалуется на hdll объявляю как переменную результат тот же. Прошу помогите пожалуйста с данной проблемой. Как сделать что бы данная функция работала? и какие библиотеки надо подключить если они нужны. Последний раз редактировалось lmikle, 23.10.2012 в 17:26. |
|
#2
|
||||
|
||||
|
Код:
var
hDll: HMODULE;
begin
hDll:=LoadLibrary('c:\Windows\System32\kernel32.dll');
if hDll=0 then raise Exception.Create('!LoadLibrary');
FreeLibrary(hDll);
end; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
corps666 (23.10.2012)
| ||
|
#3
|
|||
|
|||
|
Код:
var
hDll: HMODULE;
begin
hDll:=LoadLibrary('vorbisfile.dll');
if hdll=0 then
begin
showmessage ('l1');
end
else
begin
showmessage ('12');
end;
end;
end.Мне надо искать уже запущенные библиотеки в оп. и при наличии этой библиотеке писать следующее например сообщения. Последний раз редактировалось lmikle, 23.10.2012 в 17:27. |
|
#4
|
||||
|
||||
|
GetModuleHandle
Ты можешь изъясняться по человечески, ничерна не понатно что надо. |
|
#5
|
|||
|
|||
|
Надо не запустить библиотеку, а проверить имеется ли он в оперативной памяти.
типо дополнительного подключения библиотеки уже из оп если hDll изменяется (процесс в него вгружается из оп) то он выполняет следующее действие если нет то продолжает работу. |
|
#6
|
||||
|
||||
|
Ну так GetModuleHandle, если библа не загружена - выведет INVALID_HANDLE_VALUE (DWORD(-1)), если есть, то вернет ее BaseAddress.
|
|
#7
|
|||
|
|||
|
а по точней можно? а то в интернете не нашел даже общих примеров. Так как данная команда многофункциональна.
|
|
#8
|
||||
|
||||
|
Цитата:
Описание функции GetModuleHandle: оригинальное здесь, по-русски здесь. Пример использования: Код:
if GetModuleHandle('kernel32.dll') = 0 then
begin
ShowMessage('Ошибка: '+SysErrorMessage(GetLastError));
end else
begin
ShowMessage('Библиотека загружена в оп');
end; |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
corps666 (23.10.2012)
| ||
|
#9
|
|||
|
|||
|
Она с парой коментариев может выполнять набор функций.
К примеру поиск по ехе файлам сканирование библиотеки и тд. Просто надо подключать дополнительную функцию (заменяет все функции диспетчера задач улучшенного от майкрософта). К сожалению видит только системные библиотеки. Библиотеки не системные данная функция не замечает. При этом ProccessExplorer видит библиотеку вполне. Последний раз редактировалось corps666, 23.10.2012 в 17:56. |
|
#10
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
corps666 (23.10.2012)
| ||
|
#11
|
|||
|
|||
|
Цитата:
|
|
#12
|
||||
|
||||
|
Тебе перечислить загруженные в АП процесса библы чтоли надо?
EnumProcessModules, как использовать - ищем в Rндексе, Gугле. |
|
#13
|
|||
|
|||
|
Нету ответа на этот вопрос, ни где к сожалению так как. Библиотека подключается не в оп, а в программу, а сама программа уже в оп.
Следовательно не просканировав процесс мы не сможем просконировать данную библиотеку. Последний раз редактировалось corps666, 23.10.2012 в 23:32. |