2009-09-14 64 views
0

我想在C++中做一個計時器。我是新來的C++。我發現這個代碼片段C++ Timer不工作?

UINT_PTR SetTimer(HWND hWnd,UINT_PTR nIDEvent,UINT uElapse,TIMERPROC lpTimerFunc);

我把它放在我的全局變量,它告訴我

錯誤1錯誤C2373:「SetTimer的」:重新定義;不同類型的修飾符

我不確定這是什麼意思。有沒有更合適的方法來定義計時器?我不使用MFC

/AFX

感謝

回答

3

你應該稱呼它:

void CALLBACK TimerProc(
HWND hwnd, 
UINT uMsg, 
UINT idEvent, 
DWORD dwTime 
) 
{ 
//do something 
} 

SetTimer(NULL, NULL, 1000, TimerProc); 

這將設置一個計時器,1秒,到期時將調用的TimerProc。閱讀TimerProc MSDN here:http://msdn.microsoft.com/en-us/library/ms644907%28VS.85%29.aspx

+0

如何在SetTimer中傳遞「OnTimer」函數來調用函數TimerProc? – Swanand 2013-05-13 11:00:08

+0

好地方。這個答案差不多4年:) – 2013-06-11 05:10:04

+0

我想要一個挖掘機徽章;) – Swanand 2013-06-11 06:37:31

1

這不是一個函數調用 - 這是一個函數聲明,你可能已經從某處#包括。你需要的是你的代碼實際的SetTimer調用。

您可以將您的代碼發佈到您要設置計時器的位置,以及您希望它在觸發時調用的功能嗎?