Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Управление питанием

285
30 мая 2004 года
Romik
479 / / 24.11.2002
Господа хорошие, подскажите, пожалуйста, как управлять питанием машины, большего всего интересует сон тачки и её пробуждение. Я уже давно написал себе прогу, которая выключала бы машину (люблю засыпать с музыкой :) Но теперь мне ещё хочеть и просыпаться с музыкой. Можно конечно останавливать проигрывание в Apollo, а потом утричком запускать, но уж больно шумная моя крошка. Мне того ничего, а вот младшего брата это раздражает. Так вот, я хотел бы не выключать свою крошку и не просто останавливать проигрываение в Apollo, а усыпить машину (чтобы кулеры остановились) и очень надеюсь что можно будет разбудить тачку по таймеру (по timeout). Господа подскажите какие функции юзать. Я в MSDN видел функции для управлениями СХЕМАМИ ПИТАНИЯ, но толком не понял что это и с чем его едят :(

_______
P.S.
На этом форуме я нашёл как выключать монитор (что есть хорошо)
272
03 июня 2004 года
vladsoft
512 / / 20.08.2000
Цитата:
Originally posted by Romik
Господа хорошие, подскажите, пожалуйста, как управлять питанием машины, большего всего интересует сон тачки и её пробуждение. Я уже давно написал себе прогу, которая выключала бы машину (люблю засыпать с музыкой :) Но теперь мне ещё хочеть и просыпаться с музыкой. Можно конечно останавливать проигрывание в Apollo, а потом утричком запускать, но уж больно шумная моя крошка. Мне того ничего, а вот младшего брата это раздражает. Так вот, я хотел бы не выключать свою крошку и не просто останавливать проигрываение в Apollo, а усыпить машину (чтобы кулеры остановились) и очень надеюсь что можно будет разбудить тачку по таймеру (по timeout). Господа подскажите какие функции юзать. Я в MSDN видел функции для управлениями СХЕМАМИ ПИТАНИЯ, но толком не понял что это и с чем его едят :(
Здесь вме просто как 2 пальца:
1 полазий у себя в настройках bios-a если там есть такая опция, то используй её..
2 брось в автозагрузку ярлык своего проигрывателя...
А программно это сделать невозможно, так как все зависит от твоего bios-a
_______
P.S.
На этом форуме я нашёл как выключать монитор (что есть хорошо)



Здесь вме просто как 2 пальца:
1 полазий у себя в настройках bios-a если там есть такая опция, то используй её..
2 брось в автозагрузку ярлык своего проигрывателя...
А программно это сделать невозможно, так как все зависит от твоего bios-a
:D

285
05 июня 2004 года
Romik
479 / / 24.11.2002
Цитата:
Originally posted by vladsoft


Здесь вме просто как 2 пальца:
1 полазий у себя в настройках bios-a если там есть такая опция, то используй её..
2 брось в автозагрузку ярлык своего проигрывателя...
А программно это сделать невозможно, так как все зависит от твоего bios-a
:D



Сэр, благодарю Вас за отклик, да только прогу мне не нужно бросать в автозагрузку. Винда ведь может уснуть (перейти в энергосберегающий режим), т.е. ничего не крутиться, ничего не вертиться, а только зелёный огонёк мигает на корпусе моей крошки. Я дёргаю мышь (стучу по клаве) и о чудо, она проснулась. Если это прошито где-то в мозгах моей безмозглой крошки, то я хочу этим воспользоваться. Я согласен, что вероятно есть некая опция в BIOS'е, но мне мало настроить железку, мне нужно чтобы в 07:00 по Москве она очнулась от сна своего. Если есть ещё какие предложения, готов принять. (а в bios'е я покапаюсь)

7.2K
05 июня 2004 года
Антидот
10 / / 03.06.2004
Цитата:
Originally posted by Romik


Сэр, благодарю Вас за отклик, да только прогу мне не нужно бросать в автозагрузку. Винда ведь может уснуть (перейти в энергосберегающий режим), т.е. ничего не крутиться, ничего не вертиться, а только зелёный огонёк мигает на корпусе моей крошки. Я дёргаю мышь (стучу по клаве) и о чудо, она проснулась. Если это прошито где-то в мозгах моей безмозглой крошки, то я хочу этим воспользоваться. Я согласен, что вероятно есть некая опция в BIOS'е, но мне мало настроить железку, мне нужно чтобы в 07:00 по Москве она очнулась от сна своего. Если есть ещё какие предложения, готов принять. (а в bios'е я покапаюсь)



Именно в БИОСе ты можешь установить, во сколько твоя тачка будет загораться... никакого софта нету, чтоб будить комп не трогая мышку или клаву... ;)

272
06 июня 2004 года
vladsoft
512 / / 20.08.2000
Цитата:
Originally posted by Антидот


Именно в БИОСе ты можешь установить, во сколько твоя тачка будет загораться... никакого софта нету, чтоб будить комп не трогая мышку или клаву... ;)


Ага!:D

285
09 июня 2004 года
Romik
479 / / 24.11.2002
Цитата:
Originally posted by Антидот


Именно в БИОСе ты можешь установить, во сколько твоя тачка будет загораться... никакого софта нету, чтоб будить комп не трогая мышку или клаву... ;)



Угу, я согласен, но ведь BIOS это не кусок безмозглого железа. Windows может остановить (не выключить полностью) машину. Я вот из своей софтины тоже хочу это сделать (чем я хуже Билла?). Руками я не собираюсь править, если это можно сделать программным путём! Если ещё есть предложения - рад выслушать. Но, пожалуйста, примите к сведению мои мыслишки. Благодарю, господа!

272
09 июня 2004 года
vladsoft
512 / / 20.08.2000
Цитата:
Originally posted by Romik


Угу, я согласен, но ведь BIOS это не кусок безмозглого железа. Windows может остановить (не выключить полностью) машину. Я вот из своей софтины тоже хочу это сделать (чем я хуже Билла?). Руками я не собираюсь править, если это можно сделать программным путём! Если ещё есть предложения - рад выслушать. Но, пожалуйста, примите к сведению мои мыслишки. Благодарю, господа!


C хорошими материнками вседа идет софт по настройки биоса, поюзай там если влом....

285
17 июня 2004 года
Romik
479 / / 24.11.2002
Господа, я дико извеняюсь, но вероятно отсутствие высшего образования сказываеться... Вобщем я, вероятно, не очень корректно выразил свои мысли. Мне нужно перевести машину в режим ожидания. Тачка полностью не выключаеться. Understand? Особенности материнок здесь не причём (Важен сам ATX). Ладно, не буду Вас больше беспокоить. Всем спасибо!
272
19 июня 2004 года
vladsoft
512 / / 20.08.2000
Цитата:
Originally posted by Romik
Господа, я дико извеняюсь, но вероятно отсутствие высшего образования сказываеться... Вобщем я, вероятно, не очень корректно выразил свои мысли. Мне нужно перевести машину в режим ожидания. Тачка полностью не выключаеться. Understand? Особенности материнок здесь не причём (Важен сам ATX). Ладно, не буду Вас больше беспокоить. Всем спасибо!


Где то я это читал, как только ссылку найду выложу сюда...

285
20 июня 2004 года
Romik
479 / / 24.11.2002
Цитата:
Originally posted by vladsoft

Где то я это читал, как только ссылку найду выложу сюда...



Сэр, я вот сам разобрался (меня просто уже достал этот вопорос и я за 30 мин чтения MSDN нашёл то что не мог найти за две недели)

Вобщем запустити в поиск в MSDN следущего выражения Weke-up events Она вам выдаст самое оно.

Вот пример исходников:

Код:
HANDLE hTimer=NULL;
 LARGE_INTEGER liDueTime;
// Это параметр указывает интервал таймера
// Как сказано в MSDN если он отрицательный, то он есть относительный (т.е. через такое-то время)
// А если он положительный, то он есть абсолютный. Подробности в Help'е
// Единица измерения интервала 100 наносекунд.
 liDueTime.QuadPart=-100000000;
// Это моя функция. Она служит для присвоения нужных привилегий.
// Это нужно в NT системах (для тех кто не знает) В Win98 это не нужно и даже может вызвать ошибку.
 SetShutDownPrivilege();
// Здесь мы создаём таймер
 hTimer=CreateWaitableTimer(NULL,TRUE, "MyWaitableTimer");
 if(!hTimer)ShowMessage("CreateWaitableTimer faild :(");
// А здесь мы его запускаем.
// Очень важен последний параметр - если TRUE то тачка оживёт, если FALSE - то траблы.
 if(!SetWaitableTimer(hTimer,&liDueTime, 0, NULL, NULL,TRUE))
 {
        ShowMessage("SetWaitableTimer is faild :(");
 }
// Здесь тачка усыпляеться или переходит в режим ожидания (то что нужно)
//
 if(!SetSystemPowerState(TRUE, TRUE))
  {

     ShowMessage(SysErrorMessage(GetLastError()));
  }

Исходники по Borland C++ Builder 5.0 прилагаються

Благодарю всех. Предложения и возражения будут рассмотрены :)
272
21 июня 2004 года
vladsoft
512 / / 20.08.2000
Цитата:
Originally posted by Romik


Сэр, я вот сам разобрался (меня просто уже достал этот вопорос и я за 30 мин чтения MSDN нашёл то что не мог найти за две недели)

Вобщем запустити в поиск в MSDN следущего выражения Weke-up events Она вам выдаст самое оно.

Вот пример исходников:

HANDLE hTimer=NULL;
LARGE_INTEGER liDueTime;
// Это параметр указывает интервал таймера
// Как сказано в MSDN если он отрицательный, то он есть относительный (т.е. через такое-то время)
// А если он положительный, то он есть абсолютный. Подробности в Help'е
// Единица измерения интервала 100 наносекунд.
liDueTime.QuadPart=-100000000;
// Это моя функция. Она служит для присвоения нужных привилегий.
// Это нужно в NT системах (для тех кто не знает) В Win98 это не нужно и даже может вызвать ошибку.
SetShutDownPrivilege();
// Здесь мы создаём таймер
hTimer=CreateWaitableTimer(NULL,TRUE, "MyWaitableTimer");
if(!hTimer)ShowMessage("CreateWaitableTimer faild :(");
// А здесь мы его запускаем.
// Очень важен последний параметр - если TRUE то тачка оживёт, если FALSE - то траблы.
if(!SetWaitableTimer(hTimer,&liDueTime, 0, NULL, NULL,TRUE))
{
ShowMessage("SetWaitableTimer is faild :(");
}
// Здесь тачка усыпляеться или переходит в режим ожидания (то что нужно)
//
if(!SetSystemPowerState(TRUE, TRUE))
{

ShowMessage(SysErrorMessage(GetLastError()));
}

Исходники по Borland C++ Builder 5.0 прилагаються

Благодарю всех. Предложения и возражения будут рассмотрены :)


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

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог