我目前有一个在 win32 窗口中运行的小游戏。我刚刚注意到,当我按住窗口顶部(具有关闭按钮的栏)时,它会冻结我的应用程序。我想禁用它,因为它设法完全破坏了我的应用程序(计时器继续计数)。
似乎即使是最简约的窗口创建设置,它仍然具有此功能。我怎样才能禁用它?我目前有:
HWND hWnd = CreateWindowW( L"Game",L"Game",
0x00000000L | 0x00080000L,
wr.left,
wr.top,
wr.right-wr.left,
wr.bottom-wr.top,
NULL,
NULL,
wc.hInstance,
NULL );
我读到我的线程在拖动时被忽略,如果我被迫使用 2 个线程,有人可以提供一个小例子吗?
还是我应该停止计时器?(我应该捕捉到什么信息,它甚至会被捕捉到吗?)
更新
我正在使用我的时间类的实例来处理看起来像这样的时间:
Timer::Timer() {
__int64 frequency;
QueryPerformanceFrequency( (LARGE_INTEGER*)&frequency );
invFreqMilli = 1.0f / (float)((double)frequency / 1000.0);
StartWatch();
}
void Timer::StartWatch() {
startCount = 0;
currentCount = 0;
watchStopped = false;
QueryPerformanceCounter( (LARGE_INTEGER*)&startCount );
}
我的 Win32 消息循环包含:mousemove、keyup 和 keydown。