使用vc6.0 mfc 编写程序时一些函数在正常声明、调用的情况下提示函数参数未定义等问题时
如调用EnumDisplayMonitors()会提示下面问题
运行后,出现以下问题:
Compiling...
DDialogDlg.cpp
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(19) : error C2065: 'HMONITOR' : undeclared identifier
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(19) : error C2146: syntax error : missing ')' before identifier 'hMonitor'
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(19) : warning C4229: anachronism used : modifiers on data are ignored
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(19) : error C2059: syntax error : ')'
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(97) : error C2146: syntax error : missing ')' before identifier 'hMonitor'
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(97) : warning C4229: anachronism used : modifiers on data are ignored
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(97) : error C2086: 'MonitorEnumProc' : redefinition
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(97) : error C2059: syntax error : ')'
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(98) : error C2143: syntax error : missing ';' before '{'
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(98) : error C2447: missing function header (old-style formal list?)
F:\PG\test_vc6\DDialog\DDialogDlg.cpp(162) : error C2065: 'EnumDisplayMonitors' : undeclared identifier
这时,在stdafx.h 中定义 #define WINVER 0x0500 只要WINVER的值>=0x500就行,因为
WINVER>=0X500 指 Win2000 以上。有些 api 或 常数 只有在Win2000以上才支持