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

Вниз

Выключение компьютера.   Найти похожие ветки 

 
Colt   (2003-03-03 08:34) [0]

Мастера, подскажите как принудительно выключить компьютер. Моя программа выключает комьютет, но если есть не сохранённые документы или программы требующие ответа от пользователя, то процесс выключения порой и не завершается. Подскажите как быть..


 
UNIVERSAL   (2003-03-03 08:46) [1]

ExitWindowsEx(EWX_POWEROFF,EWX_FORCE) Почитай MSDN


 
Colt   (2003-03-03 09:06) [2]

Procedure ShutDownCoputer;
var
ph:THandle;
tp,prevst:TTokenPrivileges;
rl:DWORD;
begin
OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,ph);
LookupPrivilegeValue(Nil,"SeShutdownPrivilege",tp.Privileges[0].Luid);
tp.PrivilegeCount:=1;
tp.Privileges[0].Attributes:=2;
AdjustTokenPrivileges(ph,FALSE,tp,SizeOf(prevst),prevst,rl);
ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF,0);
end;
==========================
Работает с вышеовисанной ситуацией....


 
NAlexey   (2003-03-03 10:36) [3]

Это конечно все хоршо, но еще раз, в Win2k не сработает это, ели ты не имеешь прав админа или на машине стоит какой нибудь фраервол...


 
Colt   (2003-03-03 10:53) [4]

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


 
NAlexey   (2003-03-03 11:08) [5]

Могу тогда тебе сетевой вариант кинуть если найду, но опять же ты должен тогда иметь права сетевого админа, чтобы вырубать удаленную машину.


 
Colt   (2003-03-03 12:03) [6]

Спасибо, было бы не плохо. Хоть я и сисадмин, удалённо я могу и так вырубить комп с помощью shutdown -m \\remotecomp1 -f, но мне желательно это делать из своей программы и локально, а не удалённо (хотя с помощью сетевого варианта я думаю можно использовать адрес 127.0.0.1)


 
NAlexey   (2003-03-03 12:10) [7]

Procedure TForm1.Shutdown(Name:String; //имя (\\SERVER)
Message:String; // сообщение
Delay:Integer; // задержка перед рестартом
Restart,CloseAll:Boolean);
var
ph: THandle;
tp, prevst: TTokenPrivileges;
rl: DWORD;
begin
OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, ph);
LookupPrivilegeValue(nil, "SeShutdownPrivilege", tp.Privileges[0].Luid);
tp.PrivilegeCount := 1;
tp.Privileges[0].Attributes := 2;
AdjustTokenPrivileges(ph, False, tp, SizeOf(prevst), prevst, rl);
InitiateSystemShutdown(PChar(name), PChar(Message), Delay, Restart, CloseAll);
end;


 
Songoku   (2003-03-03 12:57) [8]

Удалено модератором
Примечание: Offtopic


 
Colt   (2003-03-03 13:02) [9]

Спасибо NAlexey


 
Songoku   (2003-03-11 21:53) [10]

Удалено модератором
Примечание: Материться иди в детский сад


 
Songoku   (2003-03-12 14:53) [11]

Удалено модератором
Примечание: Offtopic


 
Songoku   (2003-03-13 01:13) [12]

Прости меня парень ...
Я больше так не буду.


 
sanya   (2003-04-02 20:16) [13]

По поводу: Colt © (03.03.03 09:06)

У меня отработало с правами продвинутого юзера в Win2k

спасибо



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

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

Наверх





Память: 0.47 MB
Время: 0.009 c
3-94695
Анна
2003-05-06 19:51
2003.05.29
Запрос


3-94757
DelAlanPhi
2003-05-06 20:39
2003.05.29
DBGrid vs Excel


3-94676
Котяра
2003-05-12 21:09
2003.05.29
Компоненты ADO (конкретно TADOQuery) в Delphi 5


3-94732
Vlad_
2003-05-08 14:40
2003.05.29
DBGridEh Сортировка по нажатию TITLE?


14-95101
Bboy
2003-05-11 13:09
2003.05.29
Можно ли работать с конференциями через Bat???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский