Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];

Вниз

Перезагрузка в 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
1-1125234683
Lamer'Ok
2005-08-28 17:11
2005.09.18
Как перетащить форму?


14-1124687175
rentgen
2005-08-22 09:06
2005.09.18
Кому не сложно прокоментировать оформление программы?


3-1122984040
koks
2005-08-02 16:00
2005.09.18
помогите нипасать правильный SQL


4-1120929115
Olejek
2005-07-09 21:11
2005.09.18
Включение-отключение сетевого адаптера


3-1123485949
Zaero
2005-08-08 11:25
2005.09.18
При изменении информации, размер *.mb файла не уменьшается!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский