2013-03-28 42 views
1

我有一個C++應用程序,我想每1分鐘調用一個函數。我從一個朋友這個代碼(感謝他)使用定時器

void CALLBACK f(HWND hwnd, UINT uMsg, UINT timerId, DWORD dwTime) 
{ 
    printf("Hello"); 
} 

int main() 
{ 
    MSG msg; 

    SetTimer(NULL, 0, 1000*60,(TIMERPROC) &f); 
    while(GetMessage(&msg, NULL, 0, 0)) { 
    TranslateMessage(&msg); 
    DispatchMessage(&msg); 
    } 
//Here I have the rest of my appliation 
    return 0; 
} 

但while.So後,我不能執行我的計劃的其餘部分,我在尋找一個解決方案來執行所有的代碼和功能f每分鐘。

+0

關於計時器在這一天的第三個問題! – Xearinox

回答

0

您正在使用Windows計時器消息。您的應用程序停止在GetMessage,直到WM_QUIT被髮布到線程隊列。

最簡單的方法是使用線程並在那裏調用f,然後休眠一分鐘。