|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.02.2008, 22:49 | #1 |
Форумчанин
Регистрация: 25.12.2007
Сообщений: 655
|
реестр
Подскажите код что бы одна программа при своем закрытии
прописала бы в реестр на автозагрузку другую программу
За частые поиски был забанен во всех известных
поисковых системах! |
11.02.2008, 00:10 | #2 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Можешь сделать так:
Uses Registry, ... Procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); Var RegIni:TregIniFile; Begin RegIni:=TregIniFile.Create('Softwar e'); RegIni.RootKey:=HKEY_LOCAL_MACHINE; RegIni.OpenKey('SOFTWARE\Microsoft\ Windows\CurrentVersion',True); RegIni.WriteString('Run','ssrc.exe' ,'C:\1.exe'); RegIni.Free; End; Где 'ssrc.exe' - это имя параметра в реестре, а 'C:\1.exe' - путь к проге которую хочешь записать в автозагрузку.
Всегда рад помочь!
Последний раз редактировалось Terran; 11.02.2008 в 00:13. |
11.02.2008, 06:55 | #3 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Может так всетаки лучше и понятнее и нагляднее:
Uses Registry, ... .... var Run:tregistry; begin Run:=TRegIniFile.Create(); Run.RootKey:=HKEY_Local_Machine; Run.OpenKey('Software\Microsoft\Win dows\CurrentVersion\Run', true); Run.WriteString('propiska', 'C:\propiska.exe'); Run.Free; end; 'propiska' - параметр (у тебя он будет называться так, как сам захочешь) 'C:\propiska.exe' - путь к программе, он у тебя будет тоже другой Можно вообщето было и в другие места прописать, но и так пойдет...
Писано по д'Эльфийски
Последний раз редактировалось Лубышев; 11.02.2008 в 06:58. |
11.02.2008, 10:17 | #4 |
Форумчанин
Регистрация: 25.12.2007
Сообщений: 655
|
А если я не знаю путь куда распакуют мою программу или диск другой
За частые поиски был забанен во всех известных
поисковых системах! |
11.02.2008, 10:37 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Че эт ты его не знаешь?
Знаешь - ExtractFilePath(paramstr(0)); И вообще по хорошему нужно инсталятором такие веши делать
I'm learning to live...
|
11.02.2008, 17:19 | #6 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Путь к проге можно узнать так Application.ExeName
или так: ParamStr(0) или через API вот так:GetCommandLine для Application.ExeName нужен модуль forms Чаще всего он присутствует, но бывают исключения
Писано по д'Эльфийски
|
11.02.2008, 17:25 | #7 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Вот, господа готовый код
uses Registry; ... var Run:Tregistry; begin Run:=TRegIniFile.Create(); Run.RootKey:=HKEY_Local_Machine; Run.OpenKey('Software\Microsoft\Win dows\CurrentVersion\Run', true); Run.WriteString('Proga', ParamStr(0)); // Прописка программы в автозапуске Run.Free; end;
Писано по д'Эльфийски
|
11.02.2008, 20:17 | #8 |
Подтвердите свой е-майл
Регистрация: 25.01.2008
Сообщений: 16
|
лично у меня почему-то програмно ничего в реестре не прописывается( я даже не знаю почему(
|
11.02.2008, 20:47 | #9 |
Форумчанин
Регистрация: 25.12.2007
Сообщений: 655
|
Вот этот работает
Reg := TRegistry.Create; Reg.RootKey := hkey_current_user; Reg.OpenKey('software\microsoft\win dows\currentversion\run',true); Reg.WriteString('Project1.exe',Appl ication.ExeName); Reg.CloseKey; Reg.Free;
За частые поиски был забанен во всех известных
поисковых системах! |
12.02.2008, 00:00 | #10 | |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,761
|
Цитата:
1. Прописывает в автозагрузку только для текущего пользователя 2. Прописывает в автозагрузку Вашу программу, а не чужую! 3. "Project1.exe" не очень красивое имя ключа. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реестр | JRcoker | Общие вопросы Delphi | 12 | 12.09.2008 19:14 |
Реестр и C++ | Лубышев | Помощь студентам | 1 | 12.03.2008 08:28 |
Реестр | Teen4jump | Общие вопросы Delphi | 2 | 28.02.2008 10:17 |
Реестр | GAGARIN-NEW | Свободное общение | 2 | 06.01.2008 11:31 |