![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
путьк файлу
Салават © (2005-06-10 12:44:00)Как определить путь к файлу если задано его имя (попросту поиск в системных папках), FindExecutable ишет только не .lnk .
ssk (2005-06-10 18:18:00) [1]>Салават
вот то, что тебе надо.
как-то была надобность искать файл Regsvr32.exe в папке Windows. причем в 98 и 2к + хр он находится в разных местах...
вообщем, даю кусок из готовой программы. доделаешь сам под свои нужды.
var
RG32EXE: string;
procedure FindingRegsvr32(StartDir: string);
var
SearchRec: TSearchRec;
begin
StartDir := IncludeTrailingPathDelimiter(StartDir);
if FindFirst(StartDir + '*.*', faAnyFile, SearchRec) = 0 then
repeat
if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
if (SearchRec.Attr and faDirectory) <> faDirectory then
if AnsiUpperCase(SearchRec.Name) = AnsiUpperCase('Regsvr32.exe') then
begin
RG32EXE := StartDir + 'Regsvr32.exe';
Break;
end
else
else
FindingRegsvr32(StartDir + SearchRec.Name);
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
den_777 (2005-06-10 15:24:00) [2]функция из WinApi называется SearchPath
-=XP=- (2005-06-10 14:47:00) [3]FindExecutable ишет только не .lnk
Попробуйте вписать .lnk в переменную среды PathExt.
Zeqfreed (2005-06-10 14:33:00) [4]Салават (10.06.05 13:32) [6]
GetWindowsDirectory, GetSystemDirectory + F1
Салават (2005-06-10 13:41:00) [5]>ssk
да? ну и набери "readme.txt"... о результатах работы скажешь.
если он существует он откроется
Салават (2005-06-10 13:39:00) [6]>ssk
я говорю о .exe или .lnk
ssk (2005-06-10 13:36:00) [7]но если набрать в меню пуск->выполнить заработает один файл
да? ну и набери "readme.txt"... о результатах работы скажешь.
Салават (2005-06-10 13:34:00) [8]>ssk
это то да но если набрать в меню пуск->выполнить заработает один файл
Салават (2005-06-10 13:32:00) [9]или хотя бы скажите где можно узнать о системных папках.
ssk (2005-06-10 13:31:00) [10]файлов с одинаковыми именами может быть несколько
Салават (2005-06-10 13:21:00) [11]это почему
-=XP=- (2005-06-10 13:11:00) [12]Ответ неверный.
Салават (2005-06-10 12:46:00) [13]>-=XP=-
нуна
-=XP=- (2005-06-10 12:45:00) [14]Зачем его искать?