Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

путьк файлу


Салават ©   (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]

Зачем его искать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо