Получайте уведомления о том, что Windows переходит в режим сна/пробуждения на языке C++

Я работаю над приложением, которое имеет несколько потоков, ожидающих различных входных данных от DLL и последовательных портов.

Я хочу добавить функциональность, что перед переходом машины в спящий режим, я должен выгрузить определенные DLL и При пробуждении должны повторно загрузить DLL. Для этого мне нужно получить уведомление о сне и пробуждении.

Я нашел много файлов о работе на C #, но я хочу сделать это на C++.

Я попытался использовать этот код Project , но не смог зафиксировать какое-либо событие. Я удалил все, что связано с Window Paint and All, что, как мне не нужно это GUI и сохранил только основной цикл сообщений (The While loop in the main)

EDIT: -

Я использую это как мой основной цикл: -

 // Start the message loop. 

while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
{ 
    if (bRet == -1)
    {
        // handle the error and possibly exit
    }
    else
    {
        TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    }
} 

Чтобы быть откровенным, я скопировал это с CodeProject, и сделал только одно изменение то, что проверено.

Упускаю ли я что-то?

Или любое другое решение??

Я использую VS2010 и программирование на C++

Спасибо заранее!

-121--1481373-

В MSTest показано, как проверить, прошел ли последний тест (в SunCleanup) Я создаю веб-тесты в Selenium с помощью MSTest и хочу делать скриншот каждый раз, когда тест не проходит, но я не хочу делать их каждый раз. Я хотел сделать скриншот...

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

То, что я хотел сделать, это поместить функцию скриншота в метод [StartCleanup] и запустить его, если тест не прошел, но если тест прошел успешно. Но как определить, прошел ли последний тест?

В настоящее время я выполняю bool = false на [StartInitialize] и bool = true , если тест выполняется.

Но я не думаю, что это очень хорошее решение.

Так что в основном я ищу способ, чтобы обнаружить, если последний тест истина/ложь при выполнении [StartCleanup] .

10
задан Richard Everett 10 December 2013 в 13:19
поделиться