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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.05.2015, 16:25
FreddyZSX FreddyZSX вне форума
Прохожий
 
Регистрация: 20.06.2014
Сообщения: 14
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию Автозапуск программы

Здравствуйте!
Понимаю - тема наверно измусоленая, НО!

Занес в реестр по пути
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run в строковый параметр путь к exe'шному файлу своей программы , допустим D:\qqq\qqq.exe.
Программа работает совместно со своим файлом конфигурации, допустим qqq.ini. Этот файл лежит в папке с программой, допустим на D:\qqq\.
Проверку на наличие файла конфигурации делаю так
Код:
procedure TMainForm.FormShow(Sender: TObject);
var

  strTemp:  string;
begin
    strTemp:='D:\qqq\qqq.ini';
   if FileExists(strTemp) then
   begin
    //Получаем значения параметров из файла конфигурации
    GLB_AppConfIni:=TIniFile.Create(strTemp);
   end
 
   else
   begin
      MessageBox(MainForm.Handle,
        PChar('Отсутствует файл конфигурации! Расположение: ' + strTemp),
        PChar('ОШИБКА'), MB_OK or MB_ICONERROR);
      MainForm.Close;
      Application.Terminate;
      exit;
   end;
end;

При старте windows моя программа запускается, но выводится сообщение
"Отсутствует файл конфигурации! Расположение: C:\Windows\system32\qqq.ini" (как будто я указывал этот путь для файла кофигурации!!!!)
Но почему? я ведь указал явно, что файл находится D:\qqq\qqq.ini .....
Ответить с цитированием
  #2  
Старый 28.05.2015, 00:05
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Как вариант:
Код:
procedure CheckAutoRun(Value : Boolean);
var
  Reg : TRegistry;
  Key : String;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    Key := 'Software\Microsoft\Windows\CurrentVersion\Run';
    if Reg.OpenKey(Key, False) then
    begin
      if Value then
        Reg.WriteString('My program', '"' + ParamStr(0) + '"')
      else
        Reg.DeleteValue('My program');
      Reg.CloseKey;
    end;
  finally
    Reg.Free;
  end;
end;

procedure TMainForm.FormShow(Sender: TObject);
var
  St : String;
begin
  St := ChangeFileExt(Application.ExeName, '.ini');
  if FileExists(St) then
    // Получаем значения параметров из файла конфигурации
    GLB_AppConfIni := TIniFile.Create(St)
   else
   begin
      MessageBox(Handle,
        PChar('Отсутствует файл конфигурации! Расположение: ' + St),
        PChar('ОШИБКА'), MB_OK or MB_ICONERROR);
      Application.Terminate;
      exit;
   end;
end;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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