我正在编写一个程序,我想在其中每秒调用一个函数。我使用 GetSystemTime() 来获取时间,并声明了一个 if 来检查前一秒是否等于当前秒,如果不是,则加载该函数。这是代码:
int prevsec = cursec;
SYSTEMTIME systime;
GetSystemTime(&systime);
cursec = systime.wSecond;
curmsec = systime.wMilliseconds;
if ( curmsec - prevmsec > 100 )
{
prevmsec = curmsec;
startgame();
}
if ( prevsec != cursec )
{
prevmsec = 0;
startfunction();
}
我唯一的问题是,我不知道该放在哪里;如果我把它放在我的 Windows 过程的开头,就像我目前所拥有的那样,它会检查它是否应该在每次发送新消息时加载该函数,因此当窗口打开并且你没有做任何事情时,它会赢'不检查时间是否已更改,因此将无法正常工作。我想知道是否有一个地方可以放置代码,以便它继续检查时间(例如在无限循环中)而不会看到“无响应”消息。我希望你明白这个问题,谢谢:)