ЗДЕСЬ - это другая библиотека с открытым исходным кодом на GitHub с именем EvalEx.
В отличие от механизма JavaScript эта библиотека ориентирована только на оценку математических выражений. Кроме того, библиотека расширяема и поддерживает использование логических операторов, а также круглых скобок.
У меня была проблема как это с устройством, подключенным через usb. XP / Vista спал бы/был бы в спящем режиме прямо в середине... Большой Вы говорите, когда это возобновляет, что может только продолжиться. Если аппаратные средства все еще подключены!!! У пользователей есть привычка к вытаскиванию кабелей каждый раз, когда они чувствуют себя подобно ему.
необходимо обработать XP, и Vista
Под XP захватывают WM_POWERBROADCAST и ищут PBT_APMQUERYSUSPEND wparam.
// See if bit 1 is set, this means that you can send a deny while we are busy
if (message.LParam & 0x1)
{
// send the deny message
return BROADCAST_QUERY_DENY;
} // if
else
{
return TRUE;
} // else
Под Vista используют SetThreadExecutionState как это
// try this for vista, it will fail on XP
if (SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED) == NULL)
{
// try XP variant as well just to make sure
SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
} // if
и когда Вы, которых закончило приложение, задерживаете его к нормальному
// set state back to normal
SetThreadExecutionState(ES_CONTINUOUS);
Как насчет того, чтобы проснуться это создает резервную копию, если это засыпает?
http://www.enterprisenetworksandservers.com/monthly/art.php?1049
Та же техника применяется что касается предотвращения экранной заставки, должен использоваться. См. , Программно препятствуют тому, чтобы экранная заставка Windows запустилась .
Примечание, что некоторые настройки безопасности могут переопределить это (то, чтобы вынуждать компьютеры заблокировать после того, как определенное время - одно).