windows控制台的定时器解决方法

windows控制台的定时器
#include "stdafx.h"

#include <windows.h>
#include<iostream>

using std::cout;
using std::endl;
#define myID 1000

void CALLBACK myfun(HWND, UINT,UINT_PTR nEventID,DWORD)
{
  if(nEventID==myID)
  cout<<"nihao"<<endl;
}



int main()


  char c;

  c=getchar();

  if(c=='a')
  {
  ::SetTimer(NULL,myID,2000,myfun);
  }

  c=getchar();

  return 0;

}




谁试试我的代码,不对啊,这个在控制台下的定时器不行啊

帮忙修改一下吧  








------解决方案--------------------
探讨

你好,请问你这段代码赛到哪里啊?


第二个问题:

有的人说因为没有消息循环导致错误

为什么 有时候调用一个api,比如:CreateDirectory的时候不需要什么管什么消息循环

而有时候又需要,这是怎么回事啊??

在者:有的WinMain里的代码是: ::MessageBox 就可以了,不搞消息循环,窗口函数

没有用MessageBox,就必须加窗口处理……