Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.18;
Скачать: CL | DM;

Вниз

Перезагрузка в Win XP   Найти похожие ветки 

 
Aldaris ©   (2005-07-25 22:49) [0]

Нигде в доках немогу найти как в Win XP перезагрузить (выключить) комп, если кто-то знает поделитесь Plz.


 
alpet ©   (2005-07-25 23:02) [1]

Странно, вроде всю жизнь было через меню "Пуск"->"Заверешние работы".

Да и функция ExitWindows(Ex) вроде еще не в списках obsolete, более того появилась еще и InitiateSystemShutdownEx.


 
Anatoly Podgoretsky ©   (2005-07-25 23:24) [2]

http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N162


 
Aldaris ©   (2005-07-25 23:36) [3]

Благодарю за помощь. Обязательно проверю в случае чего сообщу, еще раз спасибо за помошь.


 
Aldaris ©   (2005-07-25 23:41) [4]

P.S.: Уважаемый alpet, функция ExitWindows(Ex) не подходит для этого (либо я что-то не так делал) а на счет " Странно, вроде всю жизнь было через меню "Пуск"->"Заверешние работы". " дак я ведь имел в виду как это в дельфи сделать ;)


 
kami ©   (2005-07-25 23:59) [5]

2 [4] Aldaris ©
Функция ExitWindows(Ex) очень подходит для этого, если работа ведется не из сервиса, в противном случае еще больше подходит для этого функция InitiateSystemShutdownEx.
ЗЫ.Однако, кроме их использования, нужно получить еще соответствующие права для перезагрузки/выключения.


 
Aldaris ©   (2005-07-26 00:59) [6]

kami, а можно вас попросить показать тут на форуме этот кусочек програмы (вместе с соответствующими правами), заранее спасибо.


 
kblc ©   (2005-07-26 07:17) [7]

2Aldaris:
 см. линк который тебе дал Anatoly Podgoretsky. Там есть ВСЁ!


 
Antonn ©   (2005-07-26 07:28) [8]

Aldaris ©   (25.07.05 22:49)
function CapootWindows(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;

CapootWindows(EWX_POWEROFF or EWX_FORCE); //shoutdown
CapootWindows(EWX_REBOOT or EWX_FORCE); //reboot

ЗЫ Не мое


 
kami ©   (2005-07-26 09:32) [9]

EWX_POWEROFF or EWX_FORCE
Зачем же так жестоко? Хотя бы  EWX_POWEROFF or EWX_FORCEIFHUNG



Страницы: 1 вся ветка

Текущий архив: 2005.09.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
4-1122374103
lord Zeratul
2005-07-26 14:35
2005.09.18
Активно ли окно?


3-1123125294
Andry
2005-08-04 07:14
2005.09.18
Драйвера BDE


6-1116938459
redlord
2005-05-24 16:40
2005.09.18
как засеч отключение удаленного компа


14-1124558136
TUser
2005-08-20 21:15
2005.09.18
Прошу совета по удобочитаемости текста.


10-1102440321
bw
2004-12-07 20:25
2005.09.18
Excel: свойства ячейки.