win32控制台怎么制作定时器,注意是控制台,没有window之类的窗体,急求,谢谢!!!(最好贴点代码或小例子)RT[解
win32控制台怎么制作定时器,注意是控制台,没有window之类的窗体,急求,谢谢!!!(最好贴点代码或小例子)
RT
[解决办法]
- C/C++ code
#include "windows.h"#include <stdio.h>#include "Mmsystem.h"#pragma comment( lib, "Winmm.lib" )void WINAPI mycallback(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2){ printf( "comming..\n" ); }int main(){ MMRESULT mr = timeSetEvent( 1000,0,mycallback,0,TIME_CALLBACK_FUNCTION); MSG msg; while( GetMessage(&msg, NULL, 0, 0 ) ) { ::TranslateMessage( &msg ); ::DispatchMessage( &msg ); } return 0;}
[解决办法]
- C/C++ code
#include <stdio.h>#include <windows.h>DWORD WINAPI ThreadTimer(LPVOID lpParameter){ Sleep(1000); return 1;}int main(){ while (1) { HANDLE hThread = CreateThread(NULL, 0, ThreadTimer, NULL, 0, NULL); WaitForSingleObject(hThread, INFINITE); printf("OnTimer\n"); CloseHandle(hThread); } return 1;}
[解决办法]
在我机器编译通过了啊
- C/C++ code
#include <stdio.h>#include <windows.h>DWORD WINAPI ThreadTimer(LPVOID lpParameter){ Sleep(1000); return 1;}int main(){ while (1) { HANDLE hThread = CreateThread(NULL, 0, ThreadTimer, NULL, 0, NULL); WaitForSingleObject(hThread, INFINITE); SYSTEMTIME time; GetSystemTime(&time); printf("%02d:%03d\n", time.wSecond, time.wMilliseconds); CloseHandle(hThread); } return 1;}
[解决办法]
在VC中编译OK
- C/C++ code
#include "stdafx.h"#include <STDIO.H>#include <WINDOWS.H>void CALLBACK TimerProc(HWND, UINT, UINT, DWORD){ printf("%s\n\r", "abc");}void main(){ SetTimer(0, 0, 1000, &TimerProc); MSG msg = {0}; while (GetMessage(&msg, NULL, 0, 0)) { if (msg.message == WM_TIMER) { TranslateMessage(&msg); DispatchMessage(&msg); } }}
[解决办法]
windows不是有定时器的api么 用不就完了 