Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > PureBasic

PureBasic Мощный кросс-платформенный язык среднего уровня на основе BASIC. Подходит для решения широкого круга задач.

Закрытая тема
 
Опции темы
Старый 02.11.2007, 14:46   #1
Prof. BiG BanG
Оператор ЭВМ
 
Регистрация: 18.10.2007
Сообщений: 22
Написано 3 полезных сообщений
(для 3 пользователей)
Радость Выключение или перезагрузка компьютера по таймеру

Привет всем
Решил написать программку для выключения компа по таймеру,
самое сложное было, конечно, использование WinApi, но в общем, разобрался. Кому интересно полный исходный текст и саму программу можно скачать здесь: http://bigbang.nm.ru/ShutdownTimer.zip (44KB )
Вот фрагмент кода:
#SE_SHUTDOWN_NAME="SeShutdownPrivilege" 
;странно, что эта кoнстантa не определена в PB
Error$="Error"
tkp.TOKEN_PRIVILEGES 
;структура описывающая привилегии программы
; (требуется установить привилегии для выключения компьютера)
tkpo.TOKEN_PRIVILEGES
zero=0
hToken=0

Procedure ShowErrorMsg() 
;показывает сообщение об ошибке на  понятном языке
  Global Error$
  lpMsgBuf=0
  FormatMessage_(#FORMAT_MESSAGE_ALLOCATE_BUFFER|#FORMAT_MESSAGE_FROM_SYSTEM,#NUL,GetLastError_(),#LANG_NEUTRAL,@lpMsgBuf,0,#NUL)
  MessageBox_(#NUL,lpMsgBuf,Error$,#MB_OK|#MB_ICONERROR)
  End
EndProcedure

If Not OpenProcessToken_(GetCurrentProcess_(),#TOKEN_ADJUST_PRIVILEGES|#TOKEN_QUERY,@hToken)
  ShowErrorMsg()
EndIf
If Not LookupPrivilegeValue_(#NUL,#SE_SHUTDOWN_NAME,tkp\Privileges[0]\Luid)
  ShowErrorMsg()
EndIf

tkp\PrivilegeCount=1
tkp\Privileges[0]\Attributes=#SE_PRIVILEGE_ENABLED
If Not AdjustTokenPrivileges_(hToken,#False,@tkp,SizeOf(tkp),@tkpo,@zero)
  ShowErrorMsg()
EndIf
If Not ExitWindowsEx_(#EWX_FORCE|#EWX_SHUTDOWN,0) 
;собственно, само выключениe
  ShowError()
EndIf
(Offline)
 
Старый 05.11.2007, 19:56   #2
kvitaliy
Оператор ЭВМ
 
Регистрация: 10.01.2007
Сообщений: 37
Написано 6 полезных сообщений
(для 5 пользователей)
Re: Выключение или перезагрузка компьютера по таймеру

У кого стоит либа Droopy, ( считаю, что должна быть у каждого, кто не хочет изобретать велосипед), код не будет работать, т.к. там Уже есть такая команда Reboot(), как в прочем и ShutDownAndPowerOff() тоже вызывается одной командой...
И вообще, CodeArchiv очень полезная вещь! Там и про прозрачность окон, и про синтез речи, и про много чего интересного можно найти... Рекомендую!!!
(Offline)
 
Старый 05.11.2007, 20:35   #3
Prof. BiG BanG
Оператор ЭВМ
 
Регистрация: 18.10.2007
Сообщений: 22
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Выключение или перезагрузка компьютера по таймеру

Сообщение от kvitaliy
У кого стоит либа Droopy, ( считаю, что должна быть у каждого, кто не хочет изобретать велосипед), код не будет работать, т.к. там Уже есть такая команда Reboot(), как в прочем и ShutDownAndPowerOff() тоже вызывается одной командой...
И вообще, CodeArchiv очень полезная вещь! Там и про прозрачность окон, и про синтез речи, и про много чего интересного можно найти... Рекомендую!!!
Действительно, CodeArchiv - очень полезная вещь, к сожалению, я узнал о ней только сегодня
(Offline)
 
Закрытая тема


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выключение мобилы Трава Библиотеки 11 15.05.2011 21:11
Анимация по таймеру. Fatalix3d 3D-программирование 1 08.08.2009 17:55
Помогите подобрать конфигурацию компьютера Romanzes Болтовня 49 19.07.2009 00:54
Запуск функции по таймеру Crystal Blitz3D 14 26.02.2008 20:12
Перезагрузка компа XenuS Blitz3D 2 29.09.2007 17:05


Часовой пояс GMT +4, время: 02:00.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com