Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Повторный запуск программы [D6, Win2k, WinXP]


zorik ©   (2004-08-30 14:10:00) 

Как сделать так чтоб программа выполнила перезагрузку компютера и после перезагрузки вновь запустилась?
Спасибо.


grom   (2004-08-30 16:21:00) [1]

перезагрузку компютера XP
-------------------------
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
 hToken: THandle;
 tkp: _TOKEN_PRIVILEGES;
 returnLength: Cardinal;
begin

   if OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken)then
  begin
    LookupPrivilegeValue(nil,'SeShutdownPrivilege',tkp.Privileges[0].Luid);
    tkp.PrivilegeCount:=1;
    tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
    if AdjustTokenPrivileges(hToken,false,tkp,0,nil,returnLength)then ExitWindowsEx(EWX_SHUTDOWN or EWX_REBOOT,0);
  end;
end;
============================================================
автозагрузкa
-------------
procedure TForm2.CheckBox1Click(Sender: TObject);
var reg:TRegistry;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false);
if CheckBox1.Checked then reg.WriteString(Application.Title, ParamStr(0))
                     else reg.DeleteValue(Application.Title);
reg.Free;
end;


VMcL   (2004-08-30 14:49:00) [2]

AFAIR, можно не только в "...\Run", а и в "...\RunOnce", тогда ОС сама удалит запись из реестра после запуска.


JK   (2004-08-30 14:21:00) [3]

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run


zorik   (2004-08-30 14:17:00) [4]

2 JK> а можно конкретно узнать где именно в реестре это прописывается?


default   (2004-08-30 14:13:00) [5]

перед перезагрузкой записать себя в автозагрузку(потом удалить оттуда если надо)


JK   (2004-08-30 14:12:00) [6]

Например, можно сделать запись в реестре о загрузке программы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо