Показать сообщение отдельно

  #1310  
Старый 10.04.2008, 21:19
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
С нами: 9655526

Репутация: 1821


По умолчанию

Цитата:
Сообщение от xaker-boss  
Я конечно извеняюсь за мой флуд, но может ли мне ктонебуть подсказать нармальный, рабочий код чтобы вырубить/или/перезагрузить винду???
Желательно на подобие этого: ShellExecute(0, 'open', 'cmd.exe', 'shutdown -s', 0, SW_HIDE);
тока этот почемуто нехочет работать.
Код:
function MyExitWindows(RebootParam: Longword): Boolean;  
var  
  TTokenHd: THandle;  
  TTokenPvg: TTokenPrivileges;  
  cbtpPrevious: DWORD;  
  rTTokenPvg: TTokenPrivileges;  
  pcbtpPreviousRequired: DWORD;  
  tpResult: Boolean;  
const  
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';  
begin  
  if Win32Platform = VER_PLATFORM_WIN32_NT then  
  begin  
    tpResult := OpenProcessToken(GetCurrentProcess(),  
      TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,  
      TTokenHd);  
    if tpResult then  
    begin  
      tpResult := LookupPrivilegeValue(nil,  
                                       SE_SHUTDOWN_NAME,  
                                       TTokenPvg.Privileges[0].Luid);  
      TTokenPvg.PrivilegeCount := 1;  
      TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;  
      cbtpPrevious := SizeOf(rTTokenPvg);  
      pcbtpPreviousRequired := 0;  
      if tpResult then  
        Windows.AdjustTokenPrivileges(TTokenHd,  
                                      False,  
                                      TTokenPvg,  
                                      cbtpPrevious, 
                                      rTTokenPvg, 
                                      pcbtpPreviousRequired); 
    end; 
  end; 
  Result := ExitWindowsEx(RebootParam, 0);
end; 

//Выключение
procedure TForm1.Button18Click(Sender: TObject);
begin
 MyExitWindows(EWX_POWEROFF or EWX_FORCE);
end;

//Перезагрузка
procedure TForm1.Button19Click(Sender: TObject);
begin
  MyExitWindows(EWX_REBOOT or EWX_FORCE); 
end;
_http://lantricks.ru/lanshutdown/help.php

_http://www.delphisources.ru/pages/faq/base/shutdown_computer_with_any_os.html


_http://netler.ru/pc/shutdown.htm

_http://forum.oszone.net/post-619178.html


Можешь еще (велосипед ) автоматизировать на DELPHI:
Создаешь .bat с параметрами - програмно,
запускаешь, и удаляешь

Последний раз редактировалось De-visible; 10.04.2008 в 21:22..
 
Ответить с цитированием