grach41 0 January 17, 2008 Posted January 17, 2008 · Report post Доброе время. А вопрос у меня такой. Как можно выключить комп после завершения программы. Комп стоит на испытаниях стенда и по окончании режима хотелось бы выключать его, а то ночью вставать очень не хочется. Комп простой пень 4работаем под ДОСОМ 6 язык С++ Quote Share this post Link to post Share on other sites More sharing options...
xvr 12 January 17, 2008 Posted January 17, 2008 · Report post Доброе время. А вопрос у меня такой. Как можно выключить комп после завершения программы. Комп стоит на испытаниях стенда и по окончании режима хотелось бы выключать его, а то ночью вставать очень не хочется. Комп простой пень 4работаем под ДОСОМ 6 язык С++ Ключевое слово - ACPI Более простое (но сильно устаревшее) - APM Quote Share this post Link to post Share on other sites More sharing options...
xvr 12 January 18, 2008 Posted January 18, 2008 (edited) · Report post Доброе время. А вопрос у меня такой. Как можно выключить комп после завершения программы. Комп стоит на испытаниях стенда и по окончании режима хотелось бы выключать его, а то ночью вставать очень не хочется. Комп простой пень 4работаем под ДОСОМ 6 язык С++ Покопал в своих закромах, нашел программу выключающую комп через APM Edited January 18, 2008 by XVR Quote Share this post Link to post Share on other sites More sharing options...
grach41 0 January 18, 2008 Posted January 18, 2008 · Report post Спасибо за помощь. Дома нет DOS на работе буду пробовать. Но хотелось разобраться более детально. Писать код в слепую не очень хочется. Где бы найти первоисточник. Так что пошлите куда нибудь. Шутка с http://www.delcb.com/forum/viewtopic.php?t=340 Вспомнилось, как один фидошник автовыключал свой 386. Шнур питания был привязан к каретке мозаичного принтера. В нужный момент давалась команда печатать длинную строку - и вилка выдергивалась из розетки Quote Share this post Link to post Share on other sites More sharing options...
DeadMoroz 0 January 19, 2008 Posted January 19, 2008 · Report post Я делал так: 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 Quote Share this post Link to post Share on other sites More sharing options...
xvr 12 January 20, 2008 Posted January 20, 2008 · Report post Спасибо за помощь. Дома нет DOS на работе буду пробовать. Но хотелось разобраться более детально. Писать код в слепую не очень хочется. Где бы найти первоисточник. Так что пошлите куда нибудь. В архиве лежит и первоисточник и готовый код Quote Share this post Link to post Share on other sites More sharing options...