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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2009, 22:35   #1
marscom
Новичок
Джуниор
 
Регистрация: 24.04.2009
Сообщений: 1
По умолчанию как добавить програму в автозагрузку

Нашёл в интернете следующий код:
procedure SetAutoRunWinIni(SetAuto:boolean);
var
Warn:string;// флаг контроля, чтобы не запускалось много раз
begin
INI:=TIniFile.Create('Win.ini');
if SetAuto then
begin
INI.ReadString('windows','run',Warn );
if Warn<>Application.ExeName then
INI.WriteString('windows', 'run',Application.ExeName);
end
else
INI.DeleteKey('windows', 'run');
INI.Free;
end;
По этому коду в файл Win.ini должна добавится секция [Windows]
Открываю файл секции нет но происсходит запись в реестр, но это не главное, главное в том что при старте системы выдаётся ошибка типа Windows не смогла найти файл 'C:\Doсuments' тоесть путь воспринимаетсся как имя файла жму OK далее Windows не смогла найти файл 'and' и так далее хотелосьбы разобратьсся с этим кодом Спасибо!!
marscom вне форума Ответить с цитированием
Старый 20.06.2009, 22:53   #2
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

порылся в своих кодах парулетней давности
вроде нашёл

Код:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,ShellAPI, StdCtrls,registry, ExtCtrls,MMSystem, ComObj;

{*************************avtoexe***************}

procedure TForm1.FormCreate(Sender: TObject);
var
  reg: TRegistry;
begin
  Reg := nil;
  try
    reg := TRegistry.Create;
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.LazyWrite := false;
    reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',
      false);
    reg.WriteString('My App', Application.ExeName);
    reg.CloseKey;
    reg.free;
  except
    if Assigned(Reg) then Reg.Free;

  end;

end;
Dozent вне форума Ответить с цитированием
Старый 20.06.2009, 23:14   #3
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,480
По умолчанию

Вот еще :

Код:
procedure WriteRun(AppName: string; on: integer);
var
 Reg: TRegistry;
begin
 Reg := tregistry.create;
 with Reg do begin
 RootKey := hkey_current_user;
 OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false);
 if on = 1 then
 WriteString('AppName', paramStr(0))
else
 DeleteKey('AppName');
end;
 Reg.CloseKey;
 Reg.Free;
end;
Пример использования:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if checkbox1.Checked = true 
then
WriteRun('App',1) //Записать
else 
WriteRun('App',0);//Убрать
end;
Помог ? если да, то нажмите на весы слева =)

Последний раз редактировалось uberchel; 20.06.2009 в 23:16.
uberchel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поместить программу в автозагрузку }{oт@бь)ч Компоненты Delphi 13 09.02.2009 03:58
Добавление в автозагрузку НЕ через реестр. Vi_russ Общие вопросы Delphi 2 07.12.2008 19:00
добавление программы в автозагрузку MAKEDON Общие вопросы Delphi 6 22.07.2008 14:30
Можно ли в Pascal написать програму которая при запуске вырубит комп, если да то как? Scroll Паскаль, Turbo Pascal, PascalABC.NET 8 15.03.2008 20:16
как запустить програму при перетаскивание на неё файла SeRhy Общие вопросы Delphi 3 09.01.2008 23:12