![]() |
|
|
|
|
#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.
|