![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!
Понимаю - тема наверно измусоленая, НО! Занес в реестр по пути 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
|
||||
|
||||
![]() Как вариант:
Код:
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 в.д. |