Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.08.2007, 00:33
killerkill killerkill вне форума
Новичок
 
Регистрация: 07.07.2007
Сообщения: 86
Репутация: 10
Вопрос Автозапуск

Как программно сделать так, чтобы программа запускалась вместе с windows????
Ответить с цитированием
  #2  
Старый 07.08.2007, 00:44
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Самый простой способ (на мой взгляд) прописать путь к ЕХЕшнику в реестре в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run. Создаешь строковой параметр с любым именем, и записываешь в его зачение путь к своему ЕХЕ. Работа с реестром через обьект TRegistry, в список Uses надо добавить модуль Registry.
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #3  
Старый 07.08.2007, 00:48
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

И да, доступ на запись в раздел HKEY_LOCAL_MACHINE только под учетной записью с правами админа, насколько я знаю
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #4  
Старый 07.08.2007, 00:58
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Вот пример функции, добавляющей ЕХЕшник в автозапуск

uses
Registry;

function AddExeToAutoRun : Boolean;
var
reg : TRegistry;
begin
Result := False;
reg := TRegistry.Create;
try
if reg.OpenKey('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Windows\CurrentVersion\Run', True) then begin
reg.WriteString('MyEXE', ParamStr(0));
Result := True;
end;
finally
reg.Free;
end;
end;
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.

Последний раз редактировалось zip000, 07.08.2007 в 01:01.
Ответить с цитированием
  #5  
Старый 07.08.2007, 13:10
killerkill killerkill вне форума
Новичок
 
Регистрация: 07.07.2007
Сообщения: 86
Репутация: 10
По умолчанию

а куда именно вставлять эту функцию?(я в них почти не разбираюсь)
__________________
Иногда думаешь, что Фортуна тебе улыбнулась, а оказывается – ты её просто насмешил.
Ответить с цитированием
  #6  
Старый 07.08.2007, 13:48
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

А можно и без функций. Вот:
Код:
uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
reg:TRegistry;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
if reg.KeyExists('Software\Microsoft\Windows\CurrentVersion\Run') then 
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false); 
reg.WriteString('Your Program','"'+Application.ExeName+'"'); 
reg.CloseKey;
reg.CloseKey;
reg.Free;
if not reg.KeyExists('Software\Microsoft\Windows\CurrentVersion\Run') then
reg.Free;
end;

end.
__________________


Последний раз редактировалось Winny, 07.08.2007 в 13:53.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025