![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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; |