Урок 33 - Автовыключатель компьютера

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

   Итак, нам потребуется: 4 Label, 2 Button, DateTimePicker (Win32) и Timer. Располагаем эти компоненты так как на рисунке:

Форма


   Определимся со свойствами, свойство Kind у DateTimePicker установим в dtkTime, и свойство Enabled у Timer выставляем в False.

   Для выключения компьютера служит функция ExitWindowsEx();, но если её написать вот так просто, то ничего не произойдет, она так работала только в Windows98, в более современных системах она работает только когда есть особые привилегия у использующей её программы. Как сделать эти привилегия мы сейчас и узнаем. Для начала создадим процедуру выключения, в разделе Private Form1 объявим процедуру:
...
  private
    { Private declarations }
    Procedure PowerOFF;
...
   Нажмем комбинацию клавиш Shift + Ctrl + C и Delphi сам создаст шаблон для процедуры, его нужно наполнить кодом:
procedure TForm1.PowerOFF;
var  
  TTokenHd: THandle;  
  TTokenPvg: TTokenPrivileges;  
  cbtpPrevious: DWORD;
  rTTokenPvg: TTokenPrivileges;
  pcbtpPreviousRequired: DWORD;  
  tpResult: Boolean;  
const  
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege'; 
begin
//=========== Получаем привилегии ==============//
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;
//=============================================//
  ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0); //Выключаем компьютер;
end;
   Все процедура выключения готова, получилась она довольно громадной, зато везде работает. Теперь займемся таймером, создаем его обработчик события и пишем код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  a,b: String;
begin
  Label3.Caption:= TimeToStr(GetTime);  //Получаем текущее время
  Label4.Caption:= TimeToStr(DateTimePicker1.Time - GetTime); //Вычисляем сколько времени осталось до выключения

  a:=  TimeToStr(GetTime); //Присваиваем текущее время
  b:= TimeToStr(DateTimePicker1.Time); //Присваиваем время выключения

  if a = b then  //Если текущее время равно времени выключения то 
	PowerOFF;	 //выполняем процедуру выключения   
end;
   Помните в начале урока мы выключили таймер, сделано это для того, чтобы можно было сначала настроить время а потом запустить таймер. Давайте сделаем управление таймером. Создадим обработчик события OnClick на кнопке "Старт":
procedure TForm1.Button2Click(Sender: TObject);
begin
 Timer1.Enabled:=True; //Включаем таймер
end;  
   Ну и также выключим ,если например ошиблись во времени или передумали, в обработчике на кнопке "Стоп":
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled:=False;
end;


Через 20 сек компьютер выключится


   Вот у нас получилась такая программа, осталось изменить свойство Caption у Form1 на "Рубильник" и готово! Будьте осторожней с ней :)

Удачи!
Встретимся в следующем уроке!




Добавил(а): Mattew_Pharrel Дата: 2014-08-11
Что такое "token", "tHandle", с чем его едят? Где можна найти информацию по таким вещам? Уж больно занятные вещи(ИМХО).



Добавил(а): Mattew_Pharrel Дата: 2014-08-11
И почему два "begin"`a после обьявления "const"?



Добавил(а): Dragonfly Дата: 2015-01-12
Спасибо за урок) все замечательно, вот только о том как привилегии предоставляются ничего не понял просто скопировал все Кому интересно вот мое творение по этому уроку - (https://drive.google.com/file/d/0BzKVbXO3LSZ9S1ZNMEtOT0dCSzg/view?usp=sharing) Сделал что бы отключить можно было только по паролю, который задается при старте, по другому вырубить можно только через диспетчер(не доработки(не знаю как исправить буду рад совету))


  1. Austinamuck
    Austinamuck 4 months ago
    Смею предложить эту юридическую компанию, как добросовестного и надежного партнера, готового идти навстречу клиентам.
    Особенно мне понравилась отличительная черта сотрудников фирмы - оперативность в работе и готовность быстро
    реагировать на форс-мажорные обстоятельства, возникшие у заказчиков и подстраиваться к ним. Убедился в этом лично, когда понадобилась услуга [url=http://bankrot.space/]Дело о банкротстве юридического лица рассматривает В Москве[/url].

    Сроки поджимали. В итоге сотрудники проделали всё грамотно, быстро и аккуратно.
    Высокая организованность и профессионализм сотрудников данной юридической фирмы - неукоснительное свидетельство их дальнейшего успеха и востребованности!
  2. Georgewjk
    Georgewjk 3 months ago
    п»ї
    Я пользуюсь CryptoTab Браузером — и вам советую! С ним вы сможете получать BTC, просто посещая любимые сайты или просматривая видео на YouTube. CryptoTab быстр, надежен и обладает удобным интерфейсом. http://bit.ly/2TPy2dj


    https://cryptotabbrowser.com/landing/49/5703690

    https://clck.ru/QB2Wk

    =Crypto=
  3. StatApamb
    StatApamb 3 months ago
    Футболка

    http://merchprint.ru/zhenskiye-hudi/hudi-risunki-i-kartinki-1641055 - Худи
    Старая цена - 1099
    Новая цена - 799
  4. JoshuaBet
    JoshuaBet 3 months ago
    [url=http://bit.ly/3nFQwsX]личный кошелек биткоин[/url]


    Биржа Coinbase сломалась по окончании подъема биткоина выше $20 000. Сан-Франциско, США, 16 декабря 2020, 20:40 — REGNUM Криптовалютная биржа Coinbase оказалась перегружена и не смогла проводить часть операций после подъема биткоина выше $20 000, 16 декабря информирует агентство Reuters. Зарегистрированная в Калифорнии Coinbase сказала, что «исправляет ситуацию» , возникшую с продажей криптовалют на розничной платформе. Как сообщало ИА REGNUM , ранее криптовалюта Bitcoin поднялась в цене выше $20 000 в первый раз за время существования. Максимум торгов биткоина пока образовывает около $20 800.
    [url=http://bit.ly/3mWmalc]биткоин кошелек на русском[/url]
  5. Mustinqks
    Mustinqks 3 months ago
    [url=http://bit.ly/2JBFtzq]регистрация и создание ооо[/url]

    Всем привет.
    В свое время я взял большой кредит. Всё было хорошо, пока не пришли сложные времена.
    У меня образовалась проблема с возвратом кредитных средств.
    Пришлось много поискать защиту среди различных юридичесикх контор.
    Удача повернулась ко мне. Я нашёл её...Ту самую, которая решила все мои проблемы.
    Мне понадобилась услуга [url=http://bit.ly/2JBFtzq]договор купли продажи по доверенности квартира[/url]
    .
    Сначала я обрисовал всё на сайте, где меня бесплатно проконсультировали.
    После заключения договора с данной фирмой, специалисты этой фирмы консультировали меня по всем вопросам
    и вели полное сопровождение на протяжении всего процесса.
    Всё очень организованно и профессионально сделали сотрудники этой юридической конторы.
    Мои проблемы были решены за короткий срок.

    Молодцы! Просто нет слов, настолько все четко сделано, честно говоря неожиданно. Такое качество за такие сроки!
    Большое вам спасибо.

    Рекомендую!
    [url=http://bit.ly/2JBFtzq]как писать научную статью[/url]

    Консультации по телефонам:

    Москва, Московская область 8 (499) 350-55-06 доб. 238
    Санкт-Петербург, Ленинградская область 8 (812) 309-06-71 доб. 793
    Федеральный номер 8 (800) 555-67-55 доб. 779
    Краснодарский край 8 (861) 203-64-41 доб. 767
    Свердловская область 8 (343) 318-28-46 доб. 776
    Воронежская область 8 (473) 204-54-67 доб. 765
    Новосибирская область 8 (383) 280-46-81 доб. 764
    Нижегородская область 8 (831) 429-17-72 доб. 771
    Волгоградская область 8 (844) 278-04-56 доб. 769
    Республика Башкортостан 8 (347) 214-53-29 доб. 764
    Красноярский край 8 (391) 204-65-59 доб. 767
    Ростовская область 8 (863) 303-61-49 доб. 771
    Ульяновская область 8 (842) 224-21-78 доб. 764
    Челябинская область 8 (351) 202-13-44 доб. 770
    Ставропольский край 8 (865) 220-71-53 доб. 751

    [URL=http://bastionconsult.ru/?wmid=14299][IMG]http://static.leadia.org/banners/240x400.png[/IMG][/URL]
  6. JoshuaBet
    JoshuaBet 2 months ago
    [url=http://bit.ly/3mWmalc]биткоин кошелек вход личный кабинет[/url]


    Bitcoin-кошелек «Blockchain» Bitcoin-кошелек «Blockchain» имеет несколько примечательных защитных функций от угроз, характерных для онлайн-кошельков. Например, Blockchain поддерживает осуществляемую клиентом AES-шифровку, которая защищает кошелек от хакерства со стороны сервера. Он также поддерживает оффлайн-транзакции, функцию двойной шифровки и двухфакторное подтверждение подлинности. Blockchain не только машинально помещает кошелек на Гугл Drive или Dropbox, но также позволяет загружать кошелек вручную. Помимо того, Blockchain совершает ежечасную удаленную синхронизацию с сервером. Имеется мобильная версия кошелька Blockchain для Android, iPhone и iPad.
    [url=http://bit.ly/3mWmalc]транзакции биткоин кошелька[/url]


    [url=https://hangulatjelek.eoldal.hu/cikkek/msn-hangulatjelek-3.html#block-comments]Биткоин кошелек какой выбрать[/url]
    [url=https://forum.zakon.kz/topic/68157-%D1%81%D1%80%D0%BE%D0%BA%D0%B8-%D1%83%D0%BF%D0%BB%D0%B0%D1%82%D1%8B-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D1%85-%D1%88%D1%82%D1%80%D0%B0%D1%84%D0%BE%D0%B2/?page=8#comment-1522888]Адрес биткоин кошелька[/url]
    [url=https://devayser.com/drl-2-plus-controller.html#4050]Coinbase кошелек на русском[/url]
    [url=https://posobie.net/subsidii/programma-molodaja-semja-v-hmao.html#comment-43827]Coinbase перевод[/url]
    [url=https://forum.zakon.kz/topic/8010-%D0%B2%D0%B8%D0%B4-%D0%BD%D0%B0-%D0%B6%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE-%D0%B8-%D0%B3%D1%80-%D0%BA%D0%B0%D0%B7%D0%B0%D1%85%D1%81%D1%82%D0%B0%D0%BD%D0%B0/?page=3#comment-1522844]Биткоин wallet кошелек[/url]
    97305aa
  7. JamesRob
    JamesRob 2 months ago

    Самая сложная часть интернет-маркетинга в наши дни - привлечь трафик на новый сайт.
    Чтобы помочь вам здесь, я собираюсь поделиться своими любимыми быстрыми способами привлечения трафика на новый веб-сайт.
    Если вы обратитесь к нам: https://t.me/PromoPult, вы сможете привлечь трафик на свой новый веб-сайт в течение семи дней.

    =============================================================

    Признаки для парсинга — Руские, Буржуйские
    Сделать заказ: https://t.me/PromoPult
  8. EvgehiPriof
    EvgehiPriof 2 months ago
    Link building — способ продвижения.
    Link building («Линкбилдинг») подразумевает работу над формированием качественного внешнего ссылочного профиля, для успешного продвижения сайта.
    Покинуть заявку.
    Возможно мы знакомы близко с тематикой вашего бизнеса.
    Построение внешней ссылочной структуры для повышения репутации сайта есть одной из наиболее важных задач поисковой оптимизации. Увеличения ссылочной популярности сайтов, ссылающихся на Ваш проект — залог высоких позиций в поиске. Задача линкбилдинга — получение обратных ссылок с качественных ресурсов. Нужно, дабы получение ссылок осуществлялось естественным образом — т. е. безвозмездно:)
    На данный момент стратегия продвижения посредством наращивания ссылочной массы в корне изменилась. Поисковые системы обучились различать «качественные» ссылки от «некачественных».
    [url=https://t.me/PromoPult]разработка сайта раскрутка[/url]

    [url=http://bit.ly/39cbN9f]Статейное продвижение[/url]
  9. BobbyWen
    BobbyWen 2 months ago
    Только самые лучшие и эффективные методы и способы продвижения
    https://t.me/seo_promo - Цифровой маркетинг
  10. Georgenkn
    Georgenkn 2 months ago
    п»їПривет всем! Зацените CryptoTab браузер - просто пользуешься им как обычным браузером - смотришь YouTube и сериалы, сидишь в соц. сетях и где угодно, и при этом еще получаешь доход в биткойнах за счет встроенного в браузер майнинг алгоритма - https://cryptotabbrowser.com/5703690


    https://cryptotabbrowser.com/landing/31/5703690

    https://clck.ru/QB2Dy

    =Crypto=
  11. CharlesMut
    CharlesMut a month ago
    Нашел качественную услугу по продвижению: размещение ваших статей на сайтах Вордпресс.
    Вы получаете на сайт статьи и тексты с ссылками, которые точно передадут вес с донора на ваш сайт.
    Таким образом легко можно поднимать НЧ, а также подтаскивать вверх СЧ и ВЧ запросы. Кроме этого возможен рост ИКСа.
    Статейное продвижение абсолютно безопасно и идеально подойдет, как для молодых сайтов, так и для остальных, и придадут траст вашему сайту.


    http://trevoryuoh95049.blogsidea.com/3048643/ - Успешное продвижение в интернете
  12. CharlesMut
    CharlesMut a month ago
    Нашел качественную услугу по продвижению: размещение ваших статей на сайтах Вордпресс.
    Вы получаете на сайт статьи и тексты с ссылками, которые точно передадут вес с донора на ваш сайт.
    Таким образом легко можно поднимать НЧ, а также подтаскивать вверх СЧ и ВЧ запросы. Кроме этого возможен рост ИКСа.
    Статейное продвижение абсолютно безопасно и идеально подойдет, как для молодых сайтов, так и для остальных, и придадут траст вашему сайту.
    http://josuemmib83827.educationalimpactblog.com/21356713/ - Качественное продвижение

    <a href="http://andreyuph05049.mybloglicious.com/21281305/"><img src="https://i114.fastpic.ru/thumb/2021/0219/f8/6cc8d233949772a0b0152242af626af8.jpeg" border="0" alt="6cc8d233949772a0b0152242af626af8.jpeg" /></a>
  13. Edwardfar
    Edwardfar a month ago
    Здравствуйте! Нашел в интернете сайт с интересными видеороликами
    Мне он понравился. Хочу поделиться
    https://seoworking.ru/ - Урок 17 - PowerPoint - программа для создания презентаций | Компьютерные курсы 2020 (Windows 10)...
  14. CharlesMut
    CharlesMut 26 days ago
    Компания Fly Transfer Tourism Transport https://antalyatransfer07.com, основанная в Анталии во второй половине 80-ых годов XX века со скромным числом транспортных персонала и средств, гордится тем, что является новаторской организацией и лидером в секторе, которая активизирует динамику сектора и предлагает новые перспективы на том этапе, которого мы достигли сегодня. Он оказывает услуги своим молодым, динамичным и профессиональным персоналом.
    Первоначально действуя только в сфере перевозки персонала, сегодня Fly Transfer Turizm Tas?mac?l?k; Он также предоставляет услуги в определенных областях, таких как аренда автомобилей, транспорт для конгрессов, транспортировка в торговый центр, перевозка пассажиров и экипажей, VIP-туристические перевозки и обслуживание, и с каждым днем увеличивает разнообразие собственных одолжений.
    Как мы подчеркиваем в слогане отечественной компании, самый важным фактором для достижения этих дней есть ценность, эта людям, самому высокому существу во Вселенной, и уважение, которое мы испытываем к нашей работе, с пониманием «Пусть ваш отпуск начнется. с VIP-трансфером ».

    Наша фирма, которая придерживается философии «вернуть обществу то, что вы зарабатываете от общества», взяла на себя обязательство успешно нести эту миссию и видение будущим поколениям.

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

    Компания Antalya Transfer, которая уже много лет трудится с девизом «Начни собственный отпуск с VIP-трансфера» с 1989 года, предлагает мгновенные ответы всех проблем и ваших вопросов с помощью круглосуточной работы поддержки.
    https://antalyatransfer07.com - трансфер турции анталия
  15. Russellglush
    Russellglush 4 days ago

    Привет всем! Зацените CryptoTab браузер - просто пользуешься им как обычным браузером - смотришь YouTube и сериалы, сидишь в соц. сетях и где угодно, и при этом еще получаешь доход в биткойнах за счет встроенного в браузер майнинг алгоритма - https://cryptotabbrowser.com/5703690
    Ознакомительное видео :
    https://youtu.be/yAUrzAyOCnw|

    Перейти и начинай зарабатывать!!!
    https://cryptotabbrowser.com/landing/28/5703690|


    ВНИМАНИЕ!!!!!
    Ежегодная промо-акция CryptoTab https://bit.ly/3mgcMu1
    Приготовься к лету 2021 https://bit.ly/3mgcMu1
    Весна здесь! А это лучшее время, чтобы встряхнуться и попробовать что-то новое!
    Мы запускаем сезонную акцию с призовым фондом более 17 000 $!
    Это ваш шанс убить двух зайцев одним выстрелом — выиграть деньги и привлечь больше рефералов!
    Сорвите куш и наслаждайтесь беззаботным летом. https://bit.ly/3mgcMu1
Отменить.