Перейти к содержанию
    

выключение Комп

Доброе время.

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

Комп простой пень 4работаем под ДОСОМ 6 язык С++

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброе время.

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

Комп простой пень 4работаем под ДОСОМ 6 язык С++

Ключевое слово - ACPI

Более простое (но сильно устаревшее) - APM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброе время.

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

Комп простой пень 4работаем под ДОСОМ 6 язык С++

Покопал в своих закромах, нашел программу выключающую комп через APM

 

Изменено пользователем XVR

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за помощь. Дома нет DOS на работе буду пробовать. Но хотелось разобраться более детально. Писать код в слепую не очень хочется. Где бы найти первоисточник. Так что пошлите куда нибудь.

 

Шутка с http://www.delcb.com/forum/viewtopic.php?t=340

 

Вспомнилось, как один фидошник автовыключал свой 386. Шнур питания был привязан к каретке мозаичного принтера. В нужный момент давалась команда печатать длинную строку - и вилка выдергивалась из розетки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я делал так:

unsigned char APMSoftPowerOff(void)
{
    asm{
        push AX
        push BX
        push CX
        mov AX, 0x5300    // 1: APM install check
        mov BX, 0x0000
        int 0x15
        jc APM_err
        mov AX, 0x5301    // 2: APM interface connect
        mov BX, 0x0000
        int 0x15
        jc APM_err
        mov AX, 0x530E    // 3: APM driver version
        mov BX, 0x0000
        mov CX, 0x0102    // APM v1.2 (CH=01, CL=02)
        int 0x15
        jc APM_err
        mov AX, 0x5307    // 4: APM set power state
        mov BX, 0x0001
        mov CX, 0x0003    // power off
        int 0x15
        jc APM_err
        mov AX, 0x5304    // 5: APM interface diconnect (only if power off error)
        mov BX, 0x0000
        int 0x15
        pop CX
        pop BX
        pop AX
    }
    APM_err:
    return(1);
}

 

А источник - старый добрый DOS TechHelp, раздел APM API.

TechHelp.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за помощь. Дома нет DOS на работе буду пробовать. Но хотелось разобраться более детально. Писать код в слепую не очень хочется. Где бы найти первоисточник. Так что пошлите куда нибудь.
В архиве лежит и первоисточник и готовый код

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...