系统环境win2000personal
开发工具vc7.0;6.0
代码:
HANDLE  hjob = CreateJobObject(NULL,"jeff");
AssignProcessToJobObject(hjob,GetCurrentProcess());
CloseHandle(hjob);
OpenJobObject(JOB_OBJECT_ALL_ACCESS,false,hjob);现象 所有的job类的函数都找不到声明即使我在前面加了
#define _WIN32_WINNT 0x0500
#include "winbase.h"  //换成windows.h 也一样
#pragma comment(lib,"KERNEL32.LIB")哪位高人给指点一下 重谢

解决方案 »

  1.   

    是不是找不到文件
    #pragma comment(lib,"KERNEL32.dll")
      

  2.   

    不能使用#define _WIN32_WINNT 0x0500,而应该在project中设置:/D_WIN32_WINNT=0x0500,看看下面MSDN中的说明:
    Microsoft® Visual C++® includes content from the edition of the Platform SDK that was current at the time Visual C++ was released. Therefore, if you install the latest Platform SDK, you may end up with multiple versions of the same header files on your computer. To ensure that you are using the latest version of the SDK header files, follow the directions included in Installing the Platform SDK with Visual Studio. Otherwise, you will receive the following error when compiling code that uses features that were introduced after Visual C++ was released: error C2065: undeclared identifier.Certain functions that depend on a particular version of Windows are declared using conditional code. This enables you to use the compiler to detect whether your application uses functions that are not supported on its target version(s) of Windows. To compile an application that uses these functions, you must define the appropriate macros. Otherwise, you will receive the C2065 error message. The following table indicates the macros you must define to target each system.Minimum system required Macros to define 
    Windows .NET Server family _WIN32_WINNT>=0x0502 
    Windows XP _WIN32_WINNT>=0x0501 
    Windows 2000 _WIN32_WINNT>=0x0500 
    Windows NT 4.0 _WIN32_WINNT>=0x0400 
    Windows Me _WIN32_WINDOWS=0x0490 
    Windows 98 _WIN32_WINDOWS>=0x0410 
    Internet Explorer 6.0 _WIN32_IE>=0x0600 
    Internet Explorer 5.01, 5.5 _WIN32_IE>=0x0501 
    Internet Explorer 5.0, 5.0a, 5.0b _WIN32_IE>=0x0500 
    Internet Explorer 4.01 _WIN32_IE>=0x0401 
    Internet Explorer 4.0 _WIN32_IE>=0x0400 
    Internet Explorer 3.0, 3.01, 3.02 _WIN32_IE>=0x0300 
    For example, to use the features specifically ed for Windows 2000 in the header files, you need to explicitly define _WIN32_WINNT as 0x0500 or greater. You can define the symbols using the #define statement in each source file, or by specifying the /D_WIN32_WINNT=0x0500 compiler option supported by Visual C++.Visual C++ 6.0: To specify compiler options, go to the Projects menu and click Settings, then select the C/C++ tab.Visual C++ 7.0: To specify compiler options, go to the Projects menu and click Properties.The macros in Win32.mak can help you define the correct macros. The value of _WIN32_WINNT depends on the platform you choose to target. For more information, see Building Applications Using Win32.mak.