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

Вниз

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

 
Daedr   (2007-08-16 16:28) [0]

Подскажити, как перезагрузить комп при выполнении условия "ProgressBar1.Position=ProgressBar1.max"?


 
Ega23 ©   (2007-08-16 16:30) [1]

Также, как и при условии Label1.caption="RTFM"


 
Anatoly Podgoretsky ©   (2007-08-16 16:41) [2]

> Daedr  (16.08.2007 16:28:00)  [0]

Ко мне на сайт


 
Сергей М. ©   (2007-08-16 16:46) [3]

Ну и нахрен мне надо, чтобы какой-то там Daedr перезагружал мой комп, когда у этого самого Daedr"а приключился катаклизм вида "ProgressBar1.Position=ProgressBar1.max" ?)


 
Юрий Зотов ©   (2007-08-16 17:04) [4]

> Сергей М. ©   (16.08.07 16:46) [3]

Это он делает диалог типа "компьютер будет перезагружен через N секунд". Например, для инсталлятора.


 
DevilDevil ©   (2007-08-16 17:12) [5]

перезагрузка - ладно... а как выключить, кто-нибудь знает?


 
Ega23 ©   (2007-08-16 17:14) [6]


> перезагрузка - ладно... а как выключить, кто-нибудь знает?


ExitWindowsEx(EWX_SHUTDOWN or EWX_FORCE, 0);?


 
Юрий Зотов ©   (2007-08-16 17:15) [7]

> DevilDevil ©   (16.08.07 17:12) [5]

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


 
Ega23 ©   (2007-08-16 17:16) [8]

Точнее, вот такой код был для аварийного завершения при определённом уровне зарядки батарей:


function TStandartUPS.ShutdownOS: Boolean;
const
 SE_SHUTDOWN_NAME="SeShutdownPrivilege";
var
 hToken: THandle;
 tkpNew, tkpPrevious: TTokenPrivileges;
 iLength: Cardinal;
begin
 Result:=False;

 // Получаем токен процесса
 if not OpenProcessToken(GetCurrentProcess,
             TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
   Exit;

 // Получаем LUID для привилегии завершения работы системы
 LookupPrivilegeValue(nil, SE_SHUTDOWN_NAME, tkpNew.Privileges[0].Luid);
 tkpNew.PrivilegeCount:=1; {установка одной привилегии}
 tkpNew.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;

 // Получаем привилегию завершения работы системы для процесса
 iLength:=SizeOf(TTokenPrivileges);
 AdjustTokenPrivileges(hToken, False, tkpNew, SizeOf(TTokenPrivileges),
   tkpPrevious, iLength);

 // Невозможно проверить возвращаемое значение функции AdjustTokenPrivileges
 if GetLastError<>ERROR_SUCCESS then
   Exit;

 // Завершаем работу системы и заставляем все приложения закрыться
 Result:=ExitWindowsEx(EWX_SHUTDOWN or EWX_FORCE, 0);
end;

//******************************************************************************


 
DevilDevil ©   (2007-08-16 18:37) [9]

> Ega23 ©   (16.08.07 17:14) [6]

Спасибо, опробовал - всё работает.
А то с ExitWindows под XP не получалось, только завершить сеанс.
+ где то когда то надыбал код перезагрузки... выключения до сегодняшнего дня не видел.

День точно не прошёл зря!


 
Eraser ©   (2007-08-16 19:50) [10]


> DevilDevil ©   (16.08.07 18:37) [9]

военная тайна
http://www.google.ru/search?hl=ru&q=delphi+%D0%B2%D1%8B%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C+%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=


 
DevilDevil ©   (2007-08-17 10:03) [11]

> Eraser ©   (16.08.07 19:50) [10]

1) в те давние времена поиска, я не знал о существовании Гугла
2) какой то крутой код я всё же нашёл... только он не работал :)
3) бегло просмотрел линки, такой крутой как у Ega23, не нашёл
Bonus) ты понял, почему при Visible := true; может возникать подвисание?


 
Cj ©   (2007-08-17 11:02) [12]

Можно еще csrss.exe завершить :)



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
2-1187270000
mif99
2007-08-16 17:13
2007.09.09
как в richedit изменить фон одного слова


2-1187095368
DevilDevil
2007-08-14 16:42
2007.09.09
хммм. Visible := true; <-- как на API ?


15-1187170981
Вася Правильный
2007-08-15 13:43
2007.09.09
снова про калаш


2-1187373659
FireSonic
2007-08-17 22:00
2007.09.09
Каким образом возможно это сделать?


3-1179236373
oleg__
2007-05-15 17:39
2007.09.09
Oracle через ADO