Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.10.2012, 14:54
corps666 corps666 вне форума
Прохожий
 
Регистрация: 02.09.2012
Сообщения: 9
Репутация: 10
По умолчанию LoadLibrary

Код:
HINSTANCE hdll = NULL;
hdll = LoadLibrary("DllMain.dll");
if (NULL == hdll) {
	// Не запущена
} else {
	// Запущена
}

lmikle: Пользуемся тегами!!!

Не работает выводит ошибку 22 и жалуется на hdll объявляю как переменную результат тот же.
Прошу помогите пожалуйста с данной проблемой.
Как сделать что бы данная функция работала? и какие библиотеки надо подключить если они нужны.

Последний раз редактировалось lmikle, 23.10.2012 в 17:26.
Ответить с цитированием
  #2  
Старый 21.10.2012, 15:12
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
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  
Старый 23.10.2012, 09:56
corps666 corps666 вне форума
Прохожий
 
Регистрация: 02.09.2012
Сообщения: 9
Репутация: 10
По умолчанию

Код:
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  
Старый 23.10.2012, 09:58
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

GetModuleHandle

Ты можешь изъясняться по человечески, ничерна не понатно что надо.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #5  
Старый 23.10.2012, 10:38
corps666 corps666 вне форума
Прохожий
 
Регистрация: 02.09.2012
Сообщения: 9
Репутация: 10
По умолчанию

Надо не запустить библиотеку, а проверить имеется ли он в оперативной памяти.
типо дополнительного подключения библиотеки уже из оп если hDll изменяется (процесс в него вгружается из оп) то он выполняет следующее действие если нет то продолжает работу.
Ответить с цитированием
  #6  
Старый 23.10.2012, 10:49
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ну так GetModuleHandle, если библа не загружена - выведет INVALID_HANDLE_VALUE (DWORD(-1)), если есть, то вернет ее BaseAddress.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:15.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter