Как каждый "приостанавливает" программу в C++ на Победе 32, и какие библиотеки должны быть включены?
#include <windows.h>
Sleep(number of milliseconds);
Или если вы хотите приостановить выполнение программы в ожидании другой программы, используйте WaitForSingleObject.
Если вы хотите, чтобы программа оставалась отзывчивой во время паузы, вам нужно использовать событие таймера.
Если вы используете ускорение, вы можете использовать функцию thread :: sleep
:
#include <boost/thread/thread.hpp>
boost::system_time time = boost::get_system_time();
time += boost::posix_time::seconds(1);
boost::thread::sleep(time);
В противном случае у вас будет использовать win32 api:
#include <windows.h>
Sleep(1000);
И, очевидно, C ++ 0x включает это:
#include <thread>
std::this_thread::sleep_for(chrono::seconds(1));
Это зависит от типа программы, которую вы пишете.
Консольное приложение может просто вызвать спящий режим. Приложение с графическим интерфейсом, вероятно, не этого хочет, поскольку все меню и виджеты станут нечувствительными, и приложение не будет перерисовывать себя в течение этого периода. Вместо этого вам нужно сделать что-то вроде установки таймера с обратным вызовом, когда он истечет.
Не используйте функцию сна в вашем графическом интерфейсе, если она не предоставляется фреймворком, с которым вы работаете. Это может создать проблемы со ссылками на данные (особенно в потоке, который не является основным потоком). Это может заморозить ваш графический интерфейс. Дело не только в том, чтобы спать на короткое время, используйте waitmutexes, если вам нужно это сделать.