估计是OS的版本问题:MSDN中的描述:
Windows NT: Requires version 4.0 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in winbase.h.
  Import Library: Use kernel32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

解决方案 »

  1.   

    我昨天晚上是在Win2000上做,今天早上是在win98中做;参考了jeffrey的《Programing for windows》(4e).如果是版本问题,是否是VC6的版本不行?其他内核函数都能通过。
      

  2.   

    我昨天晚上是在Win2000上做,今天早上是在win98中做;参考了jeffrey的《Programing for windows》(4e).如果是版本问题,是否是VC6的版本不行?其他内核函数都能通过。
      

  3.   

    to yning。 这位兄台的<<Programing for windows>>是哪里买的。 能否介绍一下。 
    谢谢。 
    [email protected]
      

  4.   

    可等的计时器是新加在NT4中的,但是在windows2k中也不行吗
      

  5.   

    再你的程序中需要这样声明和实现:
    在.H文件中
    HANDLE   WINAPI   CreateWaitableTimerA(
                           LPSECURITY_ATTRIBUTES lpTimerAttributes,
                           BOOL bManualReset,
                           LPCSTR lpTimerName    );
    在.CPP文件中
    HANDLE   WINAPI   CreateWaitableTimerA(
                           LPSECURITY_ATTRIBUTES lpTimerAttributes,
                           BOOL bManualReset,
                           LPCSTR lpTimerName    );
    {
        加入你自己的代码。
    }
      

  6.   

    to freeclick:照理说 CreateWaitableTimerW/A是由kernel32.dll实现的函数,其声明在winbase.h中,编译时import kernel32.lib即可。
      

  7.   

    我前两天也遇到类似问题,我的问题函数是BOOL WINAPI RegisterDialogClasses(HANDLE hInstance);
    这类函数是给系统调用的,只要你自己声明和实现一下,系统就回自己找到。
      

  8.   

    说抱歉先:)
    声明和实现CreateWaitableTimer() 不是CreateWaitableTimerA(),
      

  9.   

    你写的是c程序还是用wizard生成的mfc框架程序?
      

  10.   

    对了,问题我自己解决了。原因是:这个函数在winbase.h中是条件编译,需要_WIN32_WINNT >= 0x0400才声明CreateWaitableTimer,但是在windows.h和winbase.h中都未定义;我自己写一个头文件test.h: 
                 #define _WIN32_WINNT 0x0400
    然后在.cpp中先于windows.h包含即可。
    OK!
    谢谢大家的参与!
      

  11.   

    to freeclick:我写的c程序,是一个Service.