Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
hacker_007
189 / 28 / 8
Регистрация: 15.09.2011
Сообщений: 374
1

Как программно получить имя программы.

14.01.2012, 13:05. Просмотров 4697. Ответов 4
Метки нет (Все метки)

Имеется код для добавления в авто запуск программы... В параметрах указано её имя. Получается, если имя программы изменится, то, этот код будет бесполезен. т.к он будет работать со старым именем.
Delphi
1
2
3
4
5
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', true);
WriteString('SystemConf', GetSpecialFolderPath(CSIDL_WINDOWS) + '\programma.exe');
CloseKey;
Free;
Как его заставить автоматический определять имя, которое будет занесено в реестр?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2012, 13:05
Ответы с готовыми решениями:

Как программно определить имя компонента из его же процедуры?
Допустим есть вот такая процедура: procedure...

Как получить имя компьютера
Как получить имя компьютера? Если указывать %UserName% выбивает ошибка вот код...

Как получить Имя Домена
Чето я туплю под вечер.... Искал в реесте, не нашел ничего путного, лазил по...

Как внутри события получить имя объекта
Доброго времени суток, всем. Все наверное в курсе - когда интерфейс к...

Как программно нажать кнопку другой программы
таких тем нашел много но хотя не мог разобраться, если ни лень будет сделайте...

4
Mawrat
12827 / 5735 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
14.01.2012, 16:52 2
Имя исполняемого файла можно определить так:
1.
Delphi
1
2
3
4
5
6
7
8
9
10
var
  FileName, Path : String;
begin
  //Короткое имя исполняемого файла программы (без пути к нему).
  FileName := ExtractFileName( ParamStr(0) );
  //Путь к папке, в которой лежит исполняемый файл программы.
  //В конце пути установлен слеш: "\".
  Path := ExtractFilePath( ParamStr(0) );
...
end;
2. Если приложение типа GUI, то кроме выше представленного способа можно действовать так:
Delphi
1
2
3
4
5
6
7
8
9
10
var
  FileName, Path : String;
begin
  //Короткое имя исполняемого файла программы (без пути к нему).
  FileName := ExtractFileName( Application.ExeName );
  //Путь к папке, в которой лежит исполняемый файл программы.
  //В конце пути установлен слеш: "\".
  Path := ExtractFilePath( Application.ExeName );
...
end;
0
Arcor
4900 / 1847 / 387
Регистрация: 20.11.2009
Сообщений: 5,977
Записей в блоге: 1
14.01.2012, 16:58 3
Я как понял, автор спрашивает о том, если например, программа была записана в реестр под одним названием, и потом ей взял кто-то и изменил название, теперь она не сможет стартануть при последующем запуске, она не будет найдена
0
Mawrat
12827 / 5735 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
14.01.2012, 17:19 4
Arcor, видимо, автор всё же хочет в программе определять имя исполняемого файла, чтобы напрямую это имя в код не записывать. Если что, пускай автор темы уточнит, что ему требуется.
1
hacker_007
189 / 28 / 8
Регистрация: 15.09.2011
Сообщений: 374
14.01.2012, 18:17  [ТС] 5
Цитата Сообщение от Mawrat Посмотреть сообщение
Arcor, видимо, автор всё же хочет в программе определять имя исполняемого файла, чтобы напрямую это имя в код не записывать. Если что, пускай автор темы уточнит, что ему требуется.
Вы правильно поняли))) Спасибо за помощь.)
0
14.01.2012, 18:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2012, 18:17

Подскажите как правильно получить имя самого себя без .exe!
FileName := ExtractShortPathName( ParamStr(0)-'.exe' ); Я понял что так не...

Как из программы узнать имя файла, на который ссылается ярлык?
Встала вот задача удалить с рабочего стола определённый ярлык. Разобрался, как...

Как в готовом проекте изменить имя выходного файла программы?
Здравствуйте! Как в готовом проекте с названием положим Basa изменить имя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru