Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2008, 23:55   #11
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Пропись в реестр:
Путь к проге прописывается сам!

Код:
uses
 Registry...

procedure TForm1.FormCreate(Sender: TObject);
Var
RegIni:TregIniFile;
Begin
RegIni:=TregIniFile.Create('Software');
RegIni.RootKey:=HKEY_LOCAL_MACHINE;
RegIni.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion', True);
RegIni.WriteString('Run' , 'Project1.exe', Application.ExeName);
RegIni.Free;
End;

Удаление:

procedure TForm1.FormCreate(Sender: TObject);
Var
RegIni:TregIniFile;
Begin
RegIni:=TregIniFile.Create('Software');
RegIni.RootKey:=HKEY_LOCAL_MACHINE;
RegIni.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', True);
RegIni.DeleteValue('Project1.exe');
RegIni.Free;
end;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 03.01.2008, 09:50   #12
Ярослав
Пользователь
 
Аватар для Ярослав
 
Регистрация: 14.11.2007
Сообщений: 74
Печаль

Код работает при компиляции проги (F9)
сохраняю в (.ЕХЕ) формате прога работает не правильно (при загрузке запускает папку D:\программы).
Проверти мой исходник плис. У кого такая ошибка может только у меня?
Каждый из нас в чём-то новичок
Ярослав вне форума Ответить с цитированием
Старый 03.01.2008, 14:00   #13
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Код программы правильный. У меня она нормально работает и запускается.
Скорее свего у тя в вреестре в автозагрузке какие то лишние ключи висят. Ты можеш запустить RegEdit в папке Windows и вручную посмотреть что там к чему.
Всегда рад помочь!

Последний раз редактировалось Terran; 03.01.2008 в 14:07.
Terran вне форума Ответить с цитированием
Старый 04.01.2008, 21:30   #14
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

помойму все правильно, но можешь попробовать и вот так
Код:
uses   
 Registry...
...
procedure TForm1.FormCreate(Sender: TObject);
var reg:tregistry;
begin
Reg:=TRegIniFile.Create();
Reg.RootKey:=HKEY_Local_Machine;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true);
reg.WriteString('ProgramName', 'C:\Program.exe');
reg.Free;
end;

Это почти тоже самое
в строке
reg.WriteString('ProgramName', 'C:\Program.exe');
первый параметр - имя второй-путь к файлу

если очень интересно, то существует множествуо способов
прописать можно в реестре как минимум в 4 местах
можно в автозапуск
можно через ini
можно програмно
можно ручками
можно с помощью reg файла
можно через java-скрипты или другие (хороши тем, что кликнул и не каких запросов нет.)
Существует еще много способов, сейчас все не помню, но если интересует, могу помочь, удачи...
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 04.01.2008, 23:32   #15
Ярослав
Пользователь
 
Аватар для Ярослав
 
Регистрация: 14.11.2007
Сообщений: 74
По умолчанию

Цитата:
Сообщение от Лубышев Посмотреть сообщение
если очень интересно, то существует множествуо способов
прописать можно в реестре как минимум в 4 местах
можно в автозапуск
можно через ini
можно програмно
можно ручками
можно с помощью reg файла
можно через java-скрипты или другие (хороши тем, что кликнул и не каких запросов нет.)
Существует еще много способов, сейчас все не помню, но если интересует, могу помочь, удачи...
Переименовал папку программы всё работает
Расскажи пожалуйста если несложно можно с примерами желательно с рабочими
Каждый из нас в чём-то новичок
Ярослав вне форума Ответить с цитированием
Старый 05.01.2008, 13:43   #16
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Мы как раз обсуждаем это в блок "Операционные системы" тема "Посоветуйте книгу о системном реестре" Там много литературы на эту тему. но если не хочешь искать могу в кратце описать несколько способов.
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 05.01.2008, 20:06   #17
Ярослав
Пользователь
 
Аватар для Ярослав
 
Регистрация: 14.11.2007
Сообщений: 74
Вопрос

Цитата:
прописать можно в реестре как минимум в 4 местах
В каких местах?
Цитата:
можно в автозапуск
В смысли (C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка)
Цитата:
можно через ini
Цитата:
можно программно
можно ручками
можно с помощью reg файла
Опиши если не сложно Если можно с примером
Каждый из нас в чём-то новичок
Ярослав вне форума Ответить с цитированием
Старый 06.01.2008, 18:32   #18
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Ручками(ручной режим) - самый простой. Добавить инфу в реестр вручную
открыть редактор реестра(ПУСК->Выполнить->regedit)
Выбрать ключ HKEY_LOCAL_MACHINE
открыть ветвь: SOFTWARE\Microsoft\Windows\CurrentV ersion\Run
и добавить запись. В качестве параметра использовать путь к файлу
________________
Так же можно задать через другую ветку в этом же ключе:
SOFTWARE\Microsoft\Windows\CurrentV ersion\RunOnce
Отличие лишь в том, что в RunOnce программа при запуске windows запускается лишь один раз,
при перезапуске windows программа не запустится (часто используют это инсталяторы, для продолжения
установки после перезагрузки)
_________________
Так же можно это сделать из другого ключа: HKEY_CURRENT_USER
Там точно так же есть две такие же ветви:
SOFTWARE\Microsoft\Windows\CurrentV ersion\Run
SOFTWARE\Microsoft\Windows\CurrentV ersion\RunOnce
_________________
Но можно и не париться, есть способ через reg файл
Отькрой блокнот и напиши там:
Код:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"data"="C:/program.exe"
последняя строчка у тебя будет своя
Главное соблюдать все пробелы.И оставлять пустые строчки как показано.
Затем все это дело сохранить например как Run.reg
создастся файл реестр. Кликни по нему жми ok и все готово.
(Кстати, можно не только запускать так программы - реестр очень полезная вешь,
все твикеры и другие программы "усовершенствующие ОС работуют с реестром.

Есть и другие способы...
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 06.01.2008, 20:11   #19
Ярослав
Пользователь
 
Аватар для Ярослав
 
Регистрация: 14.11.2007
Сообщений: 74
По умолчанию

Большое Спасибо Лубышев
Каждый из нас в чём-то новичок
Ярослав вне форума Ответить с цитированием
Старый 09.01.2008, 12:39   #20
Rahim1993
Пользователь
 
Аватар для Rahim1993
 
Регистрация: 27.12.2007
Сообщений: 67
По умолчанию

Попробуй этот код:

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
reg: TRegistry;
begin
Reg := nil;
try
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Win dows\CurrentVersion\Run',
false);
reg.WriteString('My App', Application.ExeName);
reg.CloseKey;
reg.free;
except
if Assigned(Reg) then Reg.Free;
end;
end;
S.R.H.(Rahim)
Rahim1993 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтобы программа заходила на ftp сервер lexaltd Работа с сетью в Delphi 1 01.08.2008 22:59
Как сделать программу, чтобы она запускалась везде? grenles Общие вопросы C/C++ 3 11.06.2008 21:10
Как сделать, чтобы программа запускалась один раз, т.е. повторно запустить нельзя??? Kamikadze_666 Безопасность, Шифрование 7 31.07.2007 08:34
что нужно сделать, чтобы при нажатии кнопки запускалась процедура mager Общие вопросы Delphi 15 19.11.2006 15:02