![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите с включением и выключением автозагрузке программы....а что я что то не пойму...
![]() |
|
#2
|
|||
|
|||
|
А поподробнее?
Какой автозагрузки? Вместе с виндой? |
|
#3
|
|||
|
|||
|
да, вместе с виндой...что бы на форме можно было выбирать загрузку exe файла при включенее компьютера или нет....что то вроде на форме есть
CheckBox1 и есть он квлючен(галка) то приложение грузиться вместе с виндой если нет то нет |
|
#4
|
|||
|
|||
|
// автозагрузка
Код:
if Form3.CheckBox1.Checked then
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run','button.exe','C:\Program Ашду\Кнопка\button.exe');
Reg.Free;
else
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.DeleteKey('Software\Microsoft\Windows\CurrentVersion\Run','svhost','C:\WINDOWS\but1.exe');
Reg.Free;
endно ругаеться на else Последний раз редактировалось Admin, 23.09.2008 в 10:22. |
|
#5
|
|||
|
|||
|
Цитата:
Угу, ругается. Учим паскаль, блин. Код:
if Form3.CheckBox1.Checked then
begin
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run','button.exe','C:\Program Ашду\Кнопка\button.exe');
Reg.Free;
end
else
begin
Reg:=TRegIniFile.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.DeleteKey('Software\Microsoft\Windows\CurrentVersion\Run','svhost','C:\WINDOWS\but1.exe');
Reg.Free;
end |
|
#6
|
|||
|
|||
|
а с чекбоксом все правильно??? а то фигня какая то..
|
|
#7
|
|||
|
|||
|
С чекоксом - правильно. Посмотри на параметры DeleteKey - мне кажется, что тут еще неправильно.
|
|
#8
|
|||
|
|||
|
вроде работает )) а как можно сделать запоминание чекбокса, что бы он запоминался включен он или нет
вот код на запоминание формы Код:
procedure TForm1.FormCreate(Sender: TObject);
var
Ini:TIniFile;
begin
//запоминание окна
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'\data.ini');
Top:=Ini.ReadInteger('FORM','TOP',0);
Left:=Ini.ReadInteger('FORM','LEFT',0);
Height:=Ini.ReadInteger('FORM','HEIGHT',100);
Width:=Ini.ReadInteger('FORM','WIDTH',150);
Ini.Free;
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
Ini:TIniFile;
begin
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'\data.ini');
Ini.WriteInteger('FORM','TOP',Top);
Ini.WriteInteger('FORM','LEFT',Left);
Ini.WriteInteger('FORM','HEIGHT',Height);
Ini.WriteInteger('FORM','WIDTH',Width);
Ini.Free;
end;можно дописать на чек бокс Последний раз редактировалось Admin, 23.09.2008 в 10:23. |
|
#9
|
|||
|
|||
|
Добавь две строчки в код:
Код:
// открытие
CheckBox1.Checked := Ini.ReadBool('FORM', 'CHECKED', False);
// сохранение
Ini.WriteBool('FORM', 'CHECKED', CheckBox1.Checked);И пользуйся тегами пожалуйста! |
|
#10
|
|||
|
|||
|
Неправильный совет, т.к. может образоваться конфликт сохраненой и реальной настроек. Состояние checkbox'а надо определять по наличию ключа автозапуска проги в реестре. R.ValueExist тебе поможет.
|
|
#11
|
|||
|
|||
|
проблема в том что чек бокс на другой форме, когда пишу такую строчку
Form3.CheckBox1.Checked:=Ini.ReadBool('FORM3','For m3CheckBox1Checked', Form3.CheckBox1.Checked); он ругаеться, ссылаеться на какой то путь 000003453 и тд.Когда пишу такую строчку CheckBox1.Checked:=Ini.ReadBool('FORM3','Form3Chec kBox1Checked', Form3.CheckBox1.Checked); он ругаеться что нет чекбокса можете подсказать...какой я пропустил параметр Reg.DeleteKey('Software\Microsoft\Windows\CurrentV ersion\Run','button'); зарание спасибо Последний раз редактировалось жекаизжека, 23.09.2008 в 09:16. |