Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2018, 09:44   #1
vitalmsk
Пользователь
 
Регистрация: 10.05.2016
Сообщений: 28
По умолчанию Вспомнить добрый DOS - как программно выключить компьютер

Спокойствие, только спокойствие. Есть процесс контролируемый старым DOS-ом. Необходимо программно выключить комп. Блок питания позволяет.
Сейчас это решается подачей сигнала на LPT, далее электронный ключ замыкает контакты кнопки вкл (это не 220V). Хотелось бы освободить LPT под прямое использование. COM порты заняты. Для справки - загрузка DOS-a менее 5 сек. поэтому все другие оси не катят. Микроконтроллеры - можно но стоимость перелапачивания программ несоизмерима.
vitalmsk вне форума Ответить с цитированием
Старый 21.03.2018, 10:15   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Блок питания позволяет, а вот DOS - нет.
в интернете пишут, что:
Цитата:
DOS has no support (or even the ability to) for ATX/APM. You would require your own device driver to interface with Advanced Power Management.
APM is incorporated into the ACPI spec, but not completely dependent on ACPI. It can be used independently.

Just press the power button.

H@
как вариант - если нужен свободный LPT - можно просто воткнуть плату расширения с LPT. Стоит она копейки. Если, конечно, есть свободные слоты на материнке.

p.s. в качестве юмора.
давным-давно читал анекдотичную историю, как ребята физически выключали компьютер из розетки:
вариант 1) тонкий шнурок был привязан к приводу CD-ROM - подавали команду на открытие привода, шнурок выдёргивал вилку из розетки (вилка была вставлена не полностью, чтобы легко выдергивалась)
вариант 2) та же вилка, тот же шнурок, но прикреплён к головке матричного принтера. Отправляется длинная строка из пробелов - шнурок выдёргивает вилку.

Последний раз редактировалось Serge_Bliznykov; 21.03.2018 в 10:19.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.03.2018, 11:55   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Блок питания позволяет, а вот DOS - нет.
Serge, сори, но там пишут, что стандартные средства DOS не могут этого сделать. ДОС - система реального режима, а потому доступен прямой доступ ко-всем портам и регистрам чипсета. От туда и можно подобраться к кнопке. Правда софт нужно будет писать под конкретный чипсет, т.е. прога будет не переносима.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 21.03.2018, 12:05   #4
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

https://wiki.osdev.org/Shutdown
И далее идём по ссылкам
Основных 2 метода это через APM и через ACPI.
У каждого свои плюсы и недостатки.
APM это старая технология и может не заработать да и у многих она глючила из-за кривых BIOS'ов поэтому на экране светилась надпись нажмите кнопку.
C ACPI нужен эмулятор AML кода - благо в минимальном рабочем примере там всего пара-тройка команд.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 21.03.2018, 12:07   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

R71MT, согласен! Я же и говорю про стандартные средства DOS!
Просто материнки такие появились тогда, когда MS DOS уже не развивался, поэтому в нём и нет таких иструментов.
Понятное, дело, если винда на том же самом железе умеет гасить питание, значит, это - ВОЗМОЖНО.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.03.2018, 12:09   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Можно подавать сигнал нужной частоты на системный динамик (ну, в смысле, на контакты материночные)! А на выходе прицепить тот же ключ, но через какой-нить копеешный аналоговый выпрямитель. И всего дялов!

Гыгыгы!!!

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 21.03.2018 в 12:13.
min@y™ вне форума Ответить с цитированием
Старый 21.03.2018, 13:31   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Нормально! Как только захочешь послушать любимую Пугачеву - комп вырубается на фиг
Если есть свободный СОМ-порт, задача решается на раз. Тинька сто'ит пару рублей, а прожку мальчик Петя из кружка юных программеров натюкает за полчаса.

Последний раз редактировалось digitalis; 21.03.2018 в 13:35.
digitalis вне форума Ответить с цитированием
Старый 21.03.2018, 13:39   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Интересно как Пугачева будет звучать на спикере )) Со стерео эффектами видимо
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.03.2018, 16:25   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Интересно как Пугачева будет звучать на спикере )) Со стерео эффектами видимо
О!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 21.03.2018, 20:46   #10
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Опошление Пастернака! Ему-то ничего, до его пьедестала убогим пигмеям не дотянуться, а вот у нашей э-сра-ды со вкусом ну прямо беда, причем давно уже.
Сорри за оффтоп, посему серым цветом.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выключить/перезагрузить компьютер в Windows 7? pavellyba Win Api 6 17.09.2014 22:14
Как программно выключить компьютер Windows iukash Общие вопросы C/C++ 9 23.11.2011 09:07
Как можно выключить/перезагрузить компьютер, используя SendMessage. Vaigard Общие вопросы Delphi 5 10.01.2011 17:36
как выключить/перезагрузить компьютер motaro Паскаль, Turbo Pascal, PascalABC.NET 1 28.03.2008 02:01
Как выключить удалённый компьютер c помощью Server Socket. muravey Работа с сетью в Delphi 3 09.11.2007 08:09