大侠们,请教一下:
我写了个程序其中用到了EnumDisplayDevices和EnumDisplaySettingEx这两个函数,这两个函数的原型MSDN上写着是在WINUSER.H中的,我在所调用的CPP文件已加入了#include "WinUser.h",但在编译中还是出现了undeclared identifier的错误信息,请问这是为什么啊?
我的编译环境的INCLUDE目录是:C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\INCLUDE,我的VC6就是这个目录的。

解决方案 »

  1.   

    #define WINVER 0x0500
    #include <windows.h>
      

  2.   

    谢谢了,我所包含的头文件是:#include "stdafx.h"
    #include "ChgMode.h"
    #include "ChgModeDlg.h"
    #include "DlgProxy.h"#include <stdlib.h>
    #define WINVER 0x0500
    #include <windows.h>
    但提示说WINVER MACRO REDEFINITION,那两个错误还是存在的!
      

  3.   

    #undef WINVER
    #define WINVER 0x0500
    #include <windows.h>
      

  4.   

    谢谢关注,
    那两个问题还是一样存在的:(
    我看了一下WINUSER.H,WINVER是要多于或等于0X0500的,但是不知道为什么就是过不去。
      

  5.   

    我现在的包含文件:
    #ifdef WINVER
    #undef WINVER
    #endif
    #define WINVER 0x0500#include "stdafx.h"
    #include "ChgMode.h"
    #include "ChgModeDlg.h"
    #include "DlgProxy.h"#include "windows.h"
      

  6.   

    EnumDisplayDevices' : undeclared identifier
    EnumDisplaySettingsEx' : undeclared identifier
      

  7.   

    奇怪,你看看你的winuser.h里有没有这个函数啊? 或者你的SDK太古老了,找个新的吧。
    http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
      

  8.   

    在#include "stdafx.h"中改变WINVER的定义;
    另外,文件包括了常用的头文件,包括Windows.h、Winuser.h等,不用自己再包含。
    而且应该在每个CPP文件里最先包含StdAfx.h。