Sample:
UINT uRet = timeSetEvent(100, 100, &TimerSaveLog, (DWORD_PTR)this, TIME_ONESHOT);
void CALLBACK TimerSaveLog(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2)
{
if (!dwUser)
return;
return;
}
============================MSDN 分隔線==============================
MSDN裡定義的函數原型如下:
MMRESULT timeSetEvent(UINT uDelay,
UINT uResolution,
LPTIMECALLBACK fptc,
DWORD dwUser,
UINT fuEvent);
udelay的:以毫秒指定事件的週期。
uResolution:以毫秒指定延時的精度,數值越小定時器事件分辨率越高。缺省值為1ms。
fptc:指向一個回調函數。
dwUser:存放用戶提供的回調數據。
fuEvent:指定定時器事件類型:
TIME_ONESHOT:udelay的毫秒後只產生一次事件
TIME_PERIODIC:每隔uDelay毫秒週期性地產生事件。
============================我是分隔線==============================
sample:
#include "stdafx.h"
#include <stdio.h>
#include <Windows.h>
#include <Mmsystem.h>
#pragma comment(lib, "Winmm.lib")
void WINAPI onTimeFunc(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2);int _tmain(int argc, _TCHAR* argv[])
{
MMRESULT timer_id;
int n = 0;
timer_id = timeSetEvent(5000, 1, (LPTIMECALLBACK)onTimeFunc, DWORD(1), TIME_PERIODIC);
if(NULL == timer_id)
{
printf("timeSetEvent() failed with error %d\n", GetLastError());
return 0;
}
while(n<20)
{
printf("Hello World\n");
Sleep(2000);
n++;
}
timeKillEvent(timer_id); //釋放定时器
return 1;
}void WINAPI onTimeFunc(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2)
{
printf("time out\n");
return;
}
引用來源
訂閱:
張貼留言 (Atom)
[SQL]顯示千分位與小數顯示
CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) CONVERT style參數說明 1 (expression為 money 或 smallmoney型別): 0 : 預設,保留小數位後兩位,並四捨...
-
using System.IO; 取得程式當下檔案目錄資訊: string sPath = this .GetType().Assembly.Location; string filename = @"C:\Users\123.text&...
-
兩個函式宣告,需要 using System.Diagnostics; ----------------------使用方式------------------------------------------- OpenPress( "AAA.exe"...
-
方法1--直接獲取 //取得目前滑鼠位置 Console .WriteLine( "x:" + System.Windows.Forms. Cursor .Position.X); Console .WriteLine( "y:"...
沒有留言:
張貼留言