![]() |
|
|
#1
|
|||
|
|||
![]() Как программно сделать так, чтобы программа запускалась вместе с windows????
|
#2
|
||||
|
||||
![]() Самый простой способ (на мой взгляд) прописать путь к ЕХЕшнику в реестре в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run. Создаешь строковой параметр с любым именем, и записываешь в его зачение путь к своему ЕХЕ. Работа с реестром через обьект TRegistry, в список Uses надо добавить модуль Registry.
Не профи, но и не чайник ![]() ![]() |
#3
|
||||
|
||||
![]() И да, доступ на запись в раздел HKEY_LOCAL_MACHINE только под учетной записью с правами админа, насколько я знаю
Не профи, но и не чайник ![]() ![]() |
#4
|
||||
|
||||
![]() Вот пример функции, добавляющей ЕХЕшник в автозапуск
uses Registry; function AddExeToAutoRun : Boolean; var reg : TRegistry; begin Result := False; reg := TRegistry.Create; try if reg.OpenKey('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Windows\CurrentVersion\Run', True) then begin reg.WriteString('MyEXE', ParamStr(0)); Result := True; end; finally reg.Free; end; end; Не профи, но и не чайник ![]() ![]() Последний раз редактировалось zip000, 07.08.2007 в 01:01. |
#5
|
|||
|
|||
![]() а куда именно вставлять эту функцию?(я в них почти не разбираюсь)
Иногда думаешь, что Фортуна тебе улыбнулась, а оказывается – ты её просто насмешил. ![]() |
#6
|
||||
|
||||
![]() А можно и без функций. Вот:
Код:
uses Registry; procedure TForm1.Button1Click(Sender: TObject); var reg:TRegistry; begin reg:=TRegistry.Create; reg.RootKey:=HKEY_CURRENT_USER; if reg.KeyExists('Software\Microsoft\Windows\CurrentVersion\Run') then reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false); reg.WriteString('Your Program','"'+Application.ExeName+'"'); reg.CloseKey; reg.CloseKey; reg.Free; if not reg.KeyExists('Software\Microsoft\Windows\CurrentVersion\Run') then reg.Free; end; end. Последний раз редактировалось Winny, 07.08.2007 в 13:53. |