Помогите написать программу таймер выключение пк.
Выглядит должно примерно так.
при нажатии CTRL-F12 Выключение через 10 мин
при повторном нажатии прибавлялось ешё 10 мин
при CTRL-F11 время аннулировалось
CTRL -F10 выдавила информацию о оставшимся времени
Если кто может это реализовать помогите
Таймер
Сообщений 1 страница 6 из 6
Поделиться111.07.2011 21:54:51
Поделиться211.07.2011 22:33:53
Выключение компьютера:
;{ Отключение компьютера Structure MyLUID LowPart.l HighPart.l Attributes.l EndStructure Structure MyTOKEN PrivilegeCount.l LowPart.l HighPart.l Attributes.l EndStructure Procedure PowerOff() hdlProcessHandle.l hdlTokenHandle.l tmpLuid.MyLUID tkp.MyTOKEN tkpNewButIgnored.MyTOKEN lBufferNeeded.l hdlProcessHandle = GetCurrentProcess_() OpenProcessToken_(hdlProcessHandle, #TOKEN_ADJUST_PRIVILEGES | #TOKEN_QUERY, @hdlTokenHandle) SysName.s=""+Chr(0) Name.s="SeShutdownPrivilege"+Chr(0) Erg.l=LookupPrivilegeValue_(SysName, Name, @tmpLuid) tmpLuid\Attributes = #SE_PRIVILEGE_ENABLED tkp\PrivilegeCount = 1 tkp\LowPart = tmpLuid\LowPart tkp\HighPart = tmpLuid\HighPart tkp\Attributes = tmpLuid\Attributes Erg.l = AdjustTokenPrivileges_(hdlTokenHandle,0,@tkp,SizeOf(MyTOKEN),@tkpNewButIgnored,@lBufferNeeded) Erg.l = ExitWindowsEx_((#EWX_SHUTDOWN |#EWX_POWEROFF | #EWX_FORCE), 0) EndProcedure ;}
Кнопки клавиатуры Перехват нажатий кнопок и снятие скриншотов
Работа с таймером Все о Timer
Поделиться315.07.2011 08:16:38
спасибо! Но от программирование я далёк. Пробовал изучить, но для этого времени надо много... Пока его нет.
Может кто сможет мне помочь ?
Global time=-1,second=0,visible=0,thread,FontID1
Enumeration
#Window
#Text
#Button
EndEnumeration
FontID1 = LoadFont(2, "Arial", 12)
Structure MyLUID
LowPart.l
HighPart.l
Attributes.l
EndStructure
Structure MyTOKEN
PrivilegeCount.l
LowPart.l
HighPart.l
Attributes.l
EndStructure
Procedure PowerOff()
hdlProcessHandle.l
hdlTokenHandle.l
tmpLuid.MyLUID
tkp.MyTOKEN
tkpNewButIgnored.MyTOKEN
lBufferNeeded.l
hdlProcessHandle = GetCurrentProcess_()
OpenProcessToken_(hdlProcessHandle, #TOKEN_ADJUST_PRIVILEGES | #TOKEN_QUERY, @hdlTokenHandle)
SysName.s=""+Chr(0)
Name.s="SeShutdownPrivilege"+Chr(0)
Erg.l=LookupPrivilegeValue_(SysName, Name, @tmpLuid)
tmpLuid\Attributes = #SE_PRIVILEGE_ENABLED
tkp\PrivilegeCount = 1
tkp\LowPart = tmpLuid\LowPart
tkp\HighPart = tmpLuid\HighPart
tkp\Attributes = tmpLuid\Attributes
Erg.l = AdjustTokenPrivileges_(hdlTokenHandle,0,@tkp,SizeOf(MyTOKEN),@tkpNewButIgnored,@lBufferNeeded)
Erg.l = ExitWindowsEx_((#EWX_SHUTDOWN |#EWX_POWEROFF | #EWX_FORCE), 0)
EndProcedure
Procedure TimeDown(value)
Repeat
Delay(1000)
If second=0:time=time-1:second=60:EndIf
second=second-1
ForEver
EndProcedure
Procedure VerifyKey()
If GetAsyncKeyState_(#VK_CONTROL) And GetAsyncKeyState_(#VK_F10)
visible=1
EndIf
If GetAsyncKeyState_(#VK_CONTROL) And GetAsyncKeyState_(#VK_F11)
KillThread(thread)
time=-1
visible=1
EndIf
If GetAsyncKeyState_(#VK_CONTROL) And GetAsyncKeyState_(#VK_F12)
If time=-1
time=9:second=59
thread = CreateThread(@TimeDown() ,0)
Else
time=time+10
EndIf
visible=1
EndIf
If time=-1
SetGadgetText(#Text,"Таймер выключен")
Else
SetGadgetText(#Text,"Таймер "+Str(time)+" минут "+Str(second)+" секунд")
EndIf
If time=0:KillThread(thread):PowerOff():End:EndIf
If visible=1:HideWindow(#Window,0):EndIf
EndProcedure
StartTimer(1, 100, @VerifyKey())
OpenWindow(#Window, 216, 0, 257, 79, "Таймер", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#Window))
TextGadget(#Text, 10, 10, 240, 30, "Таймер выключен", #PB_Text_Center)
SetGadgetFont(#Text, FontID1)
ButtonGadget(#Button, 80, 50, 100, 20, "Выйти")
EndIf
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_CloseWindow:HideWindow(#Window,1):visible=0:EndIf
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #Button
End
EndSelect
EndSelect
ForEver
Надо загнать в трэй .
Окошко таймера сделать больше и чтоб окно само сворачивалось в трей через 10 секунд а не с помощью кнопки закрыть
Поделиться415.07.2011 12:13:51
Gudzik11
Доделали тебе программу, пользуйся!
прога выключения компа
Поделиться516.07.2011 00:44:06
спасибо за помощь !
Поделиться616.07.2011 01:25:40
всё плохо не хрена не работает когда включаю ГОМ ПЛЕЕР перестают работать кнопки
CTRL-F10
CTRL-F11
CTRL-F12
это можно исправить?
Похожие темы
Режим Openscreen И Таймеры | Вопросы по PureBasic | 05.02.2014 |
Миди синтезатор | PureBasic для Windows | 03.10.2021 |
Вопросы новичка | Вопросы по PureBasic | 23.12.2010 |
Перехват нажатий кнопок и снятие скриншотов | Вопросы по PureBasic | 27.07.2010 |
Вопросы новичка (продолжение…) | Вопросы по PureBasic | 29.06.2024 |