在VC中的控制台程序貌似不可以调用Win32 API ?是编译器问题还是我的头文件不完整?而且分别包括<windows.h>和<windowsx.h>,显示的错误信息也不一样?我在代码中调用了CreatWaitableTimer,得到的错误信息却是函数未定义~~肿么会这样子?然而同样包含的是windows.h,在VS2005中却可以调用API成功~~~在VS2005中的头文件换成windowsx.h却编译错误.......这是什么原因?谢谢
解决方案 »
- 如何判断对话框上的Edit的控件的内容知否有改变
- 我有一个第三方命令行程序能接受stdin,我的程序怎么传数据给它呢?
- 关于DLL共享数据段的问题
- socket编程时,服务端突然断电后客户端为什么不能监测到网络已断开?
- 如何获取本机在利用代理线路上网时的公网IP地址
- 建一个讨论论坛,说说自己的程序人生!---欢迎大家进入
- 我的一台服务器,有两个ip地址
- 函数传送的问题
- 急求助!error C2501: 'Template' : missing storage-class or type specifiers
- 关于绘制二维坐标图的问题
- 路由器下有三台机子,想拿其中一台做服务器?
- 函数中的BSTR**类型参数如何处理
http://www.codeproject.com/KB/winsdk/msgcrackwizard.aspx
http://support.microsoft.com/default.aspx?scid=kb;[LN];Q83456
这一点毋庸置疑
显示未定义,说明没有包含相应的头文件
CreatWaitableTimer少了个e
CreateWaitableTimer
VOID
(APIENTRY *PTIMERAPCROUTINE)(
LPVOID lpArgToCompletionRoutine,
DWORD dwTimerLowValue,
DWORD dwTimerHighValue
);WINBASEAPI
HANDLE
WINAPI
CreateWaitableTimerA(
LPSECURITY_ATTRIBUTES lpTimerAttributes,
BOOL bManualReset,
LPCSTR lpTimerName
);
WINBASEAPI
HANDLE
WINAPI
CreateWaitableTimerW(
LPSECURITY_ATTRIBUTES lpTimerAttributes,
BOOL bManualReset,
LPCWSTR lpTimerName
);
#ifdef UNICODE
#define CreateWaitableTimer CreateWaitableTimerW
#else
#define CreateWaitableTimer CreateWaitableTimerA
#endif // !UNICODE
在程序最开始处加上一句,#define _WIN32_WINNT 0x0400
程序就可以成功编译了~~