2010-01-24 11 views

उत्तर

9

SetTimer फ़ंक्शन पर कॉल करें। यह आपको कॉलबैक फ़ंक्शन निर्दिष्ट करने की अनुमति देता है, या Windows को आपको WM_TIMER संदेश पोस्ट करने की अनुमति देता है।

+1

है - इस कंसोल अनुप्रयोगों या गैर जीयूआई धागे में काम नहीं करेगा। सेटटाइमर कॉलबैक उत्पन्न करने के लिए धागे संदेशों को पंप करना चाहिए। –

+0

SetTimer एक उच्च रिज़ॉल्यूशन नहीं है (यानी, <20ms) टाइमर। CreateTimerQueueTimer बेहतर है लेकिन अधिक संसाधनों का उपभोग करें। –

4

SetTimer। एक विंडो हैंडल की आवश्यकता है, और यदि आप संदेशों को पंप नहीं कर रहे हैं तो टाइमर वितरित नहीं किया जाएगा।

5

यदि आप जीयूआई कोड लिखते हैं तो आप इसे नहीं जान सकते हैं। जो आपको बनाता है कि आप CreateTimerQueueTimer() का उपयोग करना चाहते हैं।

+0

यह कंसोल एप्लिकेशन – SomeUser

+2

है हां, CreateTimerQueueTimer आपका मित्र है। सावधान रहें कि कॉलबैक को थ्रेडपूल थ्रेड पर निष्पादित किया गया है, इसलिए उचित लॉकिंग का उपयोग करें। –

+0

CreateWaitableTimer का भी कंसोल एप्लिकेशन में उपयोग किया जा सकता है। http://msdn.microsoft.com/en-us/library/windows/desktop/ms682492(v=vs.85).aspx –

5

CreateTimerQueueTimer के लिए एक अच्छा उदाहरण: Here

एक और HERE

0

कॉल setTimer() समारोह है। मैं वापस बुलाया मान लीजिए

SetTimer(hWnd,POST_CBIT_TIMER,500,NULL); 

कॉल समारोह

UINT nIdEvent ;//global member variable 

case WM_TIMER: 

if(nIDEvent == POST_CBIT_TIMER) 
{ 

KillTimer(hParent,POST_CBIT_TIMER); 


} 
break; 
प्रति nobugz रूप
संबंधित मुद्दे