Форум: "WinAPI";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизКак определить, есть ли в системных путях (где либо) нужнй файл? Найти похожие ветки
← →
w666w (2003-08-27 18:55) [0]Сабж....
← →
Reindeer Moss Eater (2003-08-27 19:18) [1]Попробовать найти его
← →
w666w (2003-08-27 19:21) [2]Хороший ответ. Это понятно. А какие нибудь быстрые функцие встроенные есть (для быстрого поиска в системных путях)?
← →
Reindeer Moss Eater (2003-08-27 19:27) [3]FindFirst,FindNext,FindClose (и не только в системных путях)
← →
w666w (2003-08-27 20:11) [4]Ну хорошо, тогда каким образом возможно узнать все системные пути?
← →
Reindeer Moss Eater (2003-08-27 20:15) [5]Они в переменных окружения записаны.
← →
Reindeer Moss Eater (2003-08-27 20:17) [6]Кстати, что такое "системные пути"?
Это "пути" или "системные каталоги"?
← →
Reindeer Moss Eater (2003-08-27 20:19) [7]1.GetEnvironmentVariable
2.GetWindowsDirectory,GetWindowsSysDir.....
← →
w666w (2003-08-27 20:19) [8]В общем суть проблемы поподробнее:
проект использует Indy для соединения по SSL. SSL библиотека находится в 2-х dll"ках, и возможно их подгрузить или нет, становится понятным только при попытке соединения.
Хочется сделать проверку при старте, есть ли эти файлы в системных путях, однако сканить весь винт никак нерационально, иначе овчинка выделки не стоит. Подскажите, как определить, возможна ли подгрузка этих dll"ок при затрате как можно меньшего кол-ва ресурсов (и ЦПУ, и времени, и винта).
← →
w666w (2003-08-27 20:21) [9]Пока писал уже дали ответ: GetWindowsSysDir.....
Именно это мне и нужно:
if FileExists (GetWindowsSysDir + "filename.dll")
и т.п.
← →
Rouse_ (2003-08-27 20:27) [10]Мда.... уж...
Неисповедимы пути.... системные...
Встроенных функций есть, смотря для чего?
Если просто найти файл то см. > Reindeer Moss Eater © (27.08.03 19:27) [3] , если попытка определения кодеков или наличия драйверов, то вопрос должен выглядеть глубже.
А переменные среды можно найти в FAQ (предупреждая следующий вопрос)
Желаю успехов
← →
Rouse_ (2003-08-27 20:30) [11]Хм, как и говорил инет у меня дерьмо, пока писал ситуация прояснилась...
← →
jack128 (2003-08-27 23:35) [12]можно сделать так
var
hLib = LoadLibrary(Pchar(Filename));
begin
Result := hLib <> 0;
if Result then
begin
FreeLibrary(hLib);
Exit;
end;
Result := GetLastError = ERROR_BAD_EXE_FORMAT;
end;
суть в том что функция LoadLibrary как раз и ищет файk в системном катологе, в путях указанных в переменных окружения и тд
← →
jack128 (2003-08-27 23:37) [13]первые две строки, естественно, такие
var
hLib : Thandle;
begin
hLib = LoadLibrary(Pchar(Filename));
← →
w666w (2003-08-28 15:04) [14]Спасибо за пост, jack128. Очень помогло.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c