Изучал я java, и подумал -(Сидишь такой в туалете с телефоном, а у тебя на пк кровь, убийства и голые сиськи открыты, вдруг приходит кто-то и говорит «Я за компьютером посижу чуток, ты же не против?») «а что если написать программу-сервер, которая выключала бы ПК, когда к этому к ней законектился пользователь». После этой мысли я узнал про такую штуку, как
runtime.getruntime().exec
И в общем я решил чего-то сделать:
/*программа ждет пока к порту 10000 кто-нибудь законектится, как только это произошло, начинается завершение сеанса*/ import java.io.IOException; import java.net.ServerSocket; public class Serv < public static void main(String[] args) throws IOException < ServerSocket serverSocket = new ServerSocket(10000); serverSocket.accept(); Process shutdown = Runtime.getRuntime().exec(new String[]); serverSocket.close(); > >
Это был самый простейший вариант.
За ним сразу последовала улучшенная версия(с отправкой html присоединившемуся клиенту):
Как создать кнопку для выключения компьютера на Рабочий стол
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class Serv < public static void main(String[] args) throws IOException < int sPort = 9000; ServerSocket socket = new ServerSocket(sPort); Socket ss = socket.accept();//Ждём пока кто-нибудь подключится System.out.println(«CONNECTED»); OutputStream sout = ss.getOutputStream(); String html = «Shutdown
Компьютер выключится через 15-20 секунд!
Ему нужно отдыхать 🙂
«;//html //Я не мог не добавить картинку котика (^=◕ᴥ◕=^) String header = «HTTP/1.1 200 OKnContent-type: text/htmlnContent-Length: » + html.length() + «nConnection: closenn»;//html header String outputText = header + html; sout.write(outputText.getBytes()); String[] cm = < «shutdown», «-s» >; Runtime.getRuntime().exec(cm); ss.close(); socket.close(); > >
Потом я скомпилировал сей код в jar:
После её запуска ничего особенного не произойдет, но теперь если вы подключитесь к порту 9000 вашего компьютера(у меня это 192.186.1.2:9000) на любом другом устройстве подключенном к тому же wi-fi — ваш компьютер начнет завершение работы.
Включение и выключение компьютера по расписанию | TimePC, Планировщик заданий, BIOS
После этого можно добавить её в автозапуск и спокойно пользоваться в пределах wi-fi…
Но я решил еще немного поднажать, и сделать доступ к девятитысячному порту с любой точки мира (но это не точно):
Открываем настройки роутера, находим там что-то похожее того, что на пикче и вписываем туда ваши данные:
Затем узнаем внешний ip (2ip.ru в помощь), и подключаемся к нему через указанный в настройках порт(xxx.xxx.xxx.xxx:15 например).
P.S.: Так как внутренний айпи компьютера может меняться(в зависимости от количества подключенных к wi-fi устройств), можно создать маппинг сразу для несколько внутренних адресов(192.168.1.2, 192.168.1.3, 192.168.1.4 например).
Вот собственно и всё.
P.P.S.: Если кому нужна данная программа -> google.drive
- Ненормальное программирование
- Java
Источник: habr.com
Пишем программу выключения компьютера на C#
Сегодня напишем программу выключения компьютера на C#.
Иногда нужно выключить компьютер через какое-то время. Например, Вы легли спать и хотите послушать какой-нибудь ролик на ютубе, пока засыпаете. После того как завершится ролик, лучше выключить компьютер, чтобы он не работал всю ночь. Для этого и предназначена наша программа.
Эта разработка будет перекликаться с программой «Будильник», которую мы недавно программировали.
Внешний вид будет такой:
Приступим к созданию интерфейса.
Открываем Visual Studio. Создаём новый проект «Приложение Windows Forms (.NET Framework)». Зададим свойства для самой формы. Свойство Text: «Выключение компьютера», это название самой формы, которое мы видим в верху. Свойство Size: 800, 500. Это размеры нашего окна.
Свойство StartPosition: CenterScreen, чтобы программа запускалась по центру экрана. Свойство MaximizeBox: Fasle (запретим разворачивать окно на весь экран). Свойство FormBorderStyle: FixedSingle (запрещаем менять размеры формы).
Нажмём на панель инструментов. Выберем элемент Label и перенесём на форму. Изменим свойства — Text: «выключение произойдёт через», Font: размер на 16pt. После этого можно узнать размер этого компонента lable. Посмотрим свойство Size. Ширина получилась равна 425. Рассчитаем, чтобы вывеска программы раположилась посередине: (800 — 425) / 2 = 187.
Т.е. с левого края отступим 187 пикселей. Установим свойство Location: 187, 48.
Перенеcём три элемента TextBox. Все элементы будут иметь одинаковые свойства, кроме Location. Font: шрифт в 16 pt, свойство — Size: 100, 38, свойство TextAlign: Center. Location: для textBox1 150; 152, для textBox2 350; 152, для textBox3 550; 152. Таким образом, элементы равномерно разместились в нашем окне.
Данные для локации всех элементов легко вычисляются, т.к. мы знаем их размеры и знаем размер окна.
Так же к каждому TextBox’у справа прикрепляем элементы Label. Пишем в каждом Label’e Ч, М, С соответственно.
Свойство Font у Label’ов: размер устанавливаем в 14pt. Совойство Text устанавливаем соответственно в Ч, М, С. Расположение можно установить вручную на одинаковой высоте и на одинковом расстоянии от TextBox’ов.
Добавим на форму кнопку (элемент Button).
Для кнопки название (свойство Text): «Запустить». Размеры (Size): 200, 52. Расположение (Location): 300, 293.
Приступаем к программированию. Нажимаем F7 и переходим к коду.
В самом начале класса Form заводим переменные для каждого текстового поля соответственно.
Автоматическое выключение компьютера. Пишем bat-файл
Автоматизация некоторых процессов на компьютере часто позволяет существенно увеличить удобство использования ПК не только в работе, но и в повседневной жизни. В одном из топиков мы, к примеру, рассматривали способы добавления любой программы в автозагрузку компьютера: Автозагрузка. Добавление приложений в автозагрузку Windows.
Данная статья будет посвящена такому моменту, как автоматическое выключение компьютера через заданный промежуток времени. Все манипуляции мы будем производить исключительно средствами самой системы Windows, без использование сторонних программ . Кроме того, не станем ограничиваться выполнением голых команд, а добавим всему процессу немного юзабилити.
Как выполнить shutdown для выключения и перезагрузки компьютера
Не будем срываться с места в карьер, начнём с самого начала. А начало — это основная команда для выключения компьютера, которую мы будем использовать. В ОС Windows для завершения работы достаточно передать системе команду shutdown с нужными параметрами.
В принципе, команду shutdown можно выполнять разными способами:
- выполнить shutdown из командной строки Windows
- вызвать команду shutdown из утилиты Выполнить в системе Windows
- отправить команду shutdown непосредственно из меню Пуск
Все три способа схожи, поддерживают одни и те же параметры, поэтому мы не будет заострять на этом внимание и весь процесс будем выполнять в консоли, то есть в командной строке системы Windows.
Как же это работает? Чтобы компьютер выключился автоматически , то есть без необходимости лезть в меню «Пуск» и нажимать там кнопку «Завершение работы», нам нужно вызвать следующую команду:
shutdown -s
Через 30 секунд после выполнения произойдёт завершение работы системы. Кроме этого той же командой, но с иным параметром можно не выключить компьютер, а перезагрузить его. Вот как это будет выглядеть:
shutdown -r
Опять же отметим, что остальные параметры для команды выключения и перезагрузки схожи, поэтому мы не будем повторять каждый набор дважды, а рассмотрим весь процесс автоматического выключения компьютера на примере команды shutdown -s, держа в уме, что всё то же самое применимо и к команде shutdown -r
А теперь приступим к усовершенствованию команды и добавлению к ней дополнительных параметров.
Параметры команды shutdown
Материал, описанный в статье, применим к большинству используемых на сегодняшний день версий операционной системы от компании Microsoft. Команды и способы их выполнения позволяют автоматически выключить компьютер на Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista и всё ещё сохраняющей своего верного пользователя Windows XP.
Теперь рассмотрим основные параметры команды shutdown, которыми мы будем пользоваться:
- -s основной параметр, который позволяет автоматически выключить компьютер ;
- -r основной параметр, который позволяет автоматически перезагрузить компьютер ;
- -a основной параметр, который позволяет отменить запланированное действие по выключению или перезагрузке компьютера ;
- -t позволяет задать время задержки в секундах до выключения или перезагрузки компьютера. Возможно присвоение значения в диапазоне от 0 до 315360000 (10 лет). По умолчанию присваивается значение 30;
- -f принудительное закрытие запущенных приложений без предупреждения пользователей. Не самый главный параметр, но бывает полезен, так как помогает избежать отмены выключения или перезагрузки компьютера из-за зависших программ.
Для целей знакомства со способом автоматического выключения компьютера этого нам будет достаточно. Ниже мы добавим к приведённому набору другие команды, чтобы сделать использование функции shutdown ещё удобнее.
Полный список параметров для shutdown можно увидеть, выполнив в консоли следующую команду:
shutdown /?
Автоматическое выключение компьютера через определённое время
Итак, переходим к практическому применению информации, которую мы собрали в первых двух главах.
Допустим, мы смотрим фильм и понимаем, что можем уснуть, не выключив компьютер. Нам нужно, чтобы компьютер выключился сам через 30 минут. Для этого необходимо выполнить следующую команду (мы помним, что сделать это можно не только в командной строке, но также через утилиту Выполнить или в меню Пуск ):
shutdown -s -f -t 1800
Используемые параметры нам уже знакомы. А значение 1800 задаёт значение времени в секундах, через которое будет произведено завершение работы. То есть, 1800 секунд = 1800 секунд / 60 секунд в минуте = 30 минут. С этим проблем возникнуть не должно. После выполнения команды мы получим системное уведомление, о том, что запланировано завершение работы
Кроме того, за 10 минут до момента завершения работы вне зависимости от запланированной причины (выключение или перезагрузка) мы получим дополнительное предупреждение от системы Windows
Но как быть, если, допустим, спустя минут 15 мы понимаем, что фильм досмотреть не успеем и нужно отменить автоматическое выключение? Чтобы отказаться от запланированного завершения работы Windows , необходимо выполнить следующую команду:
shutdown -a
Сразу после выполнения команды высветится оповещение о том, что автоматическое выключение компьютера отменено
Это, собственно, всё, что нужно знать для автоматического выключения компьютера через заданное время. Но каждый раз вводить команду в консоль не очень удобно, поэтому ниже мы разберём, как написать бат-файл для автоматического выключения компьютера или его перезагрузки .
Батник для автоматического выключения компьютера
В статье Пакетные файлы (bat, батники) Windows мы подробно рассматривали основные правила создания бат-файлов и их синтаксис. Чтобы не повторяться лишний раз, в данной публикации будем описывать только те команды и параметры, которые будем применять для создания файлов, позволяющих запланировать автоматическое выключение компьютера.
Возьмём команду, приведённую в главе выше, и сделаем из неё простенький бат-файл для выключения компьютера через 10 минут. Его содержимое будет следующим:
echo off chcp 1251 echo Компьютер будет выключен через 10 минут shutdown -s -f -t 600 pause
- echo off — скрывает вывод системных сообщений при выполнении процедуры;
- chcp 1251 — задаёт кодировку для корректного отображения кириллицы;
- echo — выводит сообщение в консоли о выключении;
- shutdown -s -f -t 600 — задаёт время выключения — 600 секунд, то есть 10 минут;
- pause — останавливает выполнение батника до нажатия любой кнопки клавиатуры.
Это очень легко, добавим функционала нашему bat-файлу. Для этого воспользуемся командой set, которая позволяет задавать пользовательские переменные. То есть, при запуске батника консоль будет спрашивать нас примерно следующее: «Через сколько секунд выключить компьютер?», а мы каждый раз можем вводить нужное значение и жать клавишу Enter . Вот как будет выглядеть код нашего батника:
echo off chcp 1251 set /p sec_off=»Выключить компьютер через: » echo Компьютер будет выключен через %sec_off% секунд shutdown -s -f -t %sec_off% pause
- set /p sec_off= — задаём значение переменной sec_off;
- echo — выводим в уведомление заданное значение секунд;
- shutdown -s -f -t %sec_off% — выключаем компьютер спустя заданное в начале количество секунд.
Уже лучше, но можно усовершенствовать. Задавать время выключения в секундах не очень удобно. Мы будем использовать минуты (можно по аналогии настроить и часы). Однако, консоль Windows не поймёт нашего значения в минутах, поэтому для неё мы будем осуществлять перевод в секунды.
Вот как это будет выглядеть:
echo off chcp 1251 set /p min_off=»Выключить компьютер через (минут): » set /A sec_off=»%min_off% * 60″ echo Компьютер будет выключен через %min_off% минут shutdown -s -f -t %sec_off% pause
- set /p min_off= задаём значение переменной min_off;
- set /A sec_off= задаём значение переменной sec_off, умножая количество минут на 60, чтобы получить для консоли секунды;
- echo — выводим в уведомлениях заданные минуты;
- shutdown -s -f -t %sec_off% подставляем полученное значение в секундах.
В принципе, на этом можно остановиться. Готовые батники выключения, перезагрузки и отмены завершения работы с приведённым кодом можно скачать из прикреплённого к статье архива: auto-shutdown-reboot-bat.
Но можно ещё немного улучшить бат-файлы и сделать из трёх один, преобразовав его в крошечную программу. Этим и займёмся ниже.
Создаем программу для автоматического выключения компьютера
На данный момент мы имеем три батника , каждый из которых выполняет свою функцию: выключение компьютера, перезагрузку и отмену запланированных действий.
Для начала напишем основную часть нового единого bat-файла . Суть будет заключаться в том, чтобы спрашивать у пользователя, какое из трёх действий требуется выполнить, а потом уже переходить к той части, которая отвечает за нужную функцию.
Выбор функции зададим следующей строчкой (её, как и весь файл, можно отредактировать на своё усмотрение, как будет удобнее):
set /p answer=»выключить — 1, перезагрузить — 2, отменить — 0: »
Здесь мы задаём новую переменную answer , значение которой вводится при каждом запуске файла и подтверждается нажатием клавиши Enter .
Переход к нужной части бат-кода осуществляем командой goto, в данном случае строчка будет иметь следующий вид:
goto %answer%
Начало каждой независимой части ознаменуем, соответственно, как :1, :2 и :0
Для грамотного выполнения сделаем завершение каждой части кода не командой pause, а командой exit, добавив перед закрытием окна двухсекундную задержку:
TIMEOUT /T 2 exit
И в завершении добавим раскрашивание текста разным цветом, в зависимости от выполняемой команды:
color C
На выходе мы получим следующий код:
echo off chcp 1251 set /p answer=»выключить — 1, перезагрузить — 2, отменить — 0: » goto %answer% :1 set /p min_off=»Выключить компьютер через (минут): » set /A sec_off=»%min_off% * 60″ color C echo Компьютер будет выключен через %min_off% минут shutdown -s -f -t %sec_off% TIMEOUT /T 2 exit :2 set /p min_re=»Перезагрузить компьютер через (минут): » set /A sec_re=»%min_re% * 60″ color E echo Компьютер будет перезагружен через %min_re% минут shutdown -r -f -t %sec_re% TIMEOUT /T 2 exit :0 color A echo Запланированное завершение работы Windows отменено shutdown -a TIMEOUT /T 2 exit
Каждая команда уже описана выше. Вот, как это работает:
- Мы запускаем батник.
- В ответа на вопрос о выборе функции вводим 1, 2 или 0. , подтверждаем ввод клавишей Enter .
- Консоль перейдёт к соответствующей части кода и, если это выключение или перезагрузка, спросит, через сколько минут произвести требуемое действие.
- Потом введённое значение преобразуется в секунды и добавляется в команду, параметры которой и определяют запланированное действие.
Скачать готовый bat-файл для автоматического выключения компьютера можно из прикреплённого архива: auto-shutdown-bat.
Для удобства можно упаковать получившийся батник в SFX-архив и добавить к нему иконку. В итоге получится простая портативная программа для автоматического выключения и перезагрузки компьютера через заданный интервал времени: auto-shutdown-exe.
Источник: miradmin.ru