![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перезагрузка и выключение
Pasha83 © (2005-08-11 13:52:00)Привет!
Помогите плиз
надо написать прожку которая бы висела в задачах и перезагружала и выключала комп в определенное время
Как этого достигнуть (можно исходный код)
???????/
vitovt (2005-08-19 00:05:00) [1]Могу посоветовать программу GoodNight
Anatoly Podgoretsky (2005-08-18 00:50:00) [2]atruhin © (18.08.05 00:38) [9]
Зачем, есть стандартный Shutdown
atruhin (2005-08-18 00:38:00) [3]>>то в Windows XP планировщик вообще не работает!!!
ЭТо круто!
>>И к тому же виндовый планировщик не умеет вырубать комп
Читай хелп run32.dll
NightLord (2005-08-17 18:42:00) [4]To Anatoly Podgoretsky © (16.08.05 20:21) [7]
А если пользователю надо, к примеру, выключить комп при появлении окна или по его уничтожении, то твой планировщик тут не поможет. И к тому же виндовый планировщик не умеет вырубать комп, и насколько я знаю (у меня так) то в Windows XP планировщик вообще не работает!!!
Anatoly Podgoretsky (2005-08-16 20:21:00) [5]В определенное время - значит планировщик, прорамму писать это лишнее, все и так уже есть.
NightLord (2005-08-16 19:44:00) [6]Проблема в чем не знаю, но знаю как уйти из нее.
Создай ярлык "shutdown.exe" и в параметрах пропиши:
Вырубить -s
Перегрузить -r
И врубай програмно! Пробовал не одно приложение не смогло остановить процесс. =)
afanasic (2005-08-16 11:04:00) [7]Хм... Тоже писал похожую прогу, но возникла проблема - комп подключен к серверу Novell и при использовании всяких методов, в т.ч. и предлагаемого ОС завершает все процессы, появляется окно "Завершение работы...", а потом выскакивает окно ввода логина Novell'а или в худшем случае - пустой экран, окончательное выключение не происходит... Кто знает, в чем проблема?
Kazakh (2005-08-13 17:28:00) [8]Kolan © (11.08.05 21:05) [2]
> Пишу точно такую же прогу
> код не мой
>> Забавно :)
Ничего забавного, просто одинаковая задача и все.
Anatoly Podgoretsky (2005-08-11 21:09:00) [9]Стандартный планировщик.
Kolan (2005-08-11 21:05:00) [10]
> Пишу точно такую же прогу
> код не мой
Забавно :)
NightLord (2005-08-11 19:58:00) [11]Привет! Пишу точно такую же прогу. Вот код 100% рабочий под WinXP
за другие не отвечаю, код не мой!!!
function ExitWin(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;