Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Помогите узнать путь о программы


Автор: COOLHack 11.4.2008, 20:27
Помогите узнать путь до программы

Например программа установленна, и называется MyProg.exe 
Как узнать путь до неё?
(на сколько я понял через реестр, в гугле не нашол инфы, так что туда не посылайте)

Автор: MetalFan 11.4.2008, 20:34
узнать откуда? из самой программы - ParamStr(0).

Автор: COOLHack 12.4.2008, 04:52
Блин, случайно разместил не в том разделе тему... Модераторы, переместите плиЗ...

Узнать путь из моей программы, и записать его в переменную, например 'a'
Программа до которой надо узнать путь называется MyProg.exe,в какой папке она установленна, мне и нужно узнать

Автор: ne0n 13.4.2008, 16:17
ну если она запущена то поищи в списке процессов, а если нет то обычным поиском по диску.

Автор: SneG0K 14.4.2008, 17:45
Эээ... В помощь тебе
Код

FindFirst(), FindNext(), FindClose()
Код

var
 FileName: string;
 FindHandle:THandle;
 SearchRec:TWIN32FindData;
begin
 try
  FindHandle := FindFirstFile('c:\*.*', SearchRec);
  if SearchRec.FindHandle <> INVALID_HANDLE_VALUE then
  repeat
   FileName:=SearchRec.cFileName
  until FindNextFile(FindHandle,SearchRec)=false;
  finally
   Windows.FindClose(FindHandle);
  end;
end;

Автор: Poseidon 17.4.2008, 09:44
Цитата(COOLHack @  12.4.2008,  04:52 Найти цитируемый пост)
Программа до которой надо узнать путь называется MyProg.exe,в какой папке она установленна, мне и нужно узнать
Так, давай по-порядку: программа запущена? программа установлена (т.е. есть в "установка/удаление программ")?

Автор: 1Andrey1 17.4.2008, 12:33
Цитата(COOLHack @  11.4.2008,  20:27 Найти цитируемый пост)
(на сколько я понял через реестр, в гугле не нашол инфы, так что туда не посылайте)


эмм... ну через реестр можно конечно узнать, но только ты должен знать куда и что программа в реестр записала...(при условии что она вообще туда чтото запмсала) обычно при установке путь пишет инсталлятор(это обычно, не факт что так и будет), так что рассказывай

Цитата(Poseidon)

программа запущена? программа установлена (т.е. есть в "установка/удаление программ")?


и еще, если программа устанавливалась при помощи инсталлятора, то при помощи какого? (installshield, NSIS, какойнибудь другой).

Автор: puZzo 4.5.2008, 06:59
ExtractFilePath(ParamStr(0)) - возвращает каталог, из которого запущено приложение.

Код

var
  a: string;
begin
  a := ExtractFilePath(ParamStr(0));
end;

Если конечно я правильно понял вопрос)))

Автор: Poseidon 4.5.2008, 11:01
Цитата(puZzo @  4.5.2008,  06:59 Найти цитируемый пост)
Если конечно я правильно понял вопрос))) 
Ты не правильно понял.

Цитата(COOLHack @  11.4.2008,  20:27 Найти цитируемый пост)
программа установленна, и называется MyProg.exe 
Как узнать путь до неё?
Немного перефразирую, что бы стало понятно:
Цитата

программа установленна, и называется Total Commander.exe
Как узнать путь до неё?


ExtractFilePath(ParamStr(0))  показывает путь "до себя"

Автор: puZzo 7.5.2008, 08:48
Цитата(Poseidon @ 4.5.2008,  11:01)
программа установленна, и называется Total Commander.exe
Как узнать путь до неё?

Ну в таком случае поиск либо по диску, либо по реестру..по другому я себе это не представляю..
Да и вообще, необязательно она и в реестре будет прописана, есть программы которые просто тупо копируются куда-либо и усе))) Никакого вам реестра)))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)