'GetProcessIdOfThread': 找不到标识符
'GetProcessIdOfThread': identifier not found
这是我在 stdafx.h 中的代码:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#define _WIN32_WINNT 0x0502
#include "winsock2.h"
#include "windows.h"
#include "stdio.h"
#include "Iphlpapi.h"
#include <psapi.h>
#include "Ntsecapi.h"
#include "txdtc.h"
#include "xolehlp.h"
#include <iostream>
#include <tchar.h>
// TODO: reference additional headers your program requires here
如你所见,我已经包含了 "windows.h"
这里是主要代码:
#include "stdafx.h"
...
if (hThread && dwRpcssPid == GetProcessIdOfThread(hThread))
...
我的错误是:
'GetProcessIdOfThread': identifier not found
IntelliSense: identifier "GetProcessIdOfThread" is undefined
我该如何修复这些错误?
如果您使用的是 windows 8,则需要包括:Processthreadsapi.h
请参阅 header 部分中的 MSDN 参考资料。
GetProcessIdOfThread
的平台要求规定:
Windows Vista [desktop apps only]
Windows Server 2003 [desktop apps only]
header 要求指出:
Processthreadsapi.h on Windows 8 and Windows Server 2012
所以:
- 确保您的 windows SDK 是 up-to-date
- 确保您已指定 platform requirements properly。
- 确保您包含正确的 header 文件。
该函数不适用于 _WIN32_WINNT
小于 0x0600
又名 _WIN32_WINNT_VISTA
的值。如果您以这种方式更改代码,您将使其正常工作:
//#define _WIN32_WINNT 0x0502
#define _WIN32_WINNT 0x0600
该函数从 Vista 开始可用,要针对 Vista+,您应该分别定义此值。
要使用当前 SDK 定位最新版本的 API,您只需包含 SDKDDKVer.h 即可为您定义这些值/
//#define _WIN32_WINNT 0x0502
#include <SDKDDKVer.h>
另请参阅:
- What is _WIN32_WINNT and how does it work?
这是我在 stdafx.h 中的代码:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#define _WIN32_WINNT 0x0502
#include "winsock2.h"
#include "windows.h"
#include "stdio.h"
#include "Iphlpapi.h"
#include <psapi.h>
#include "Ntsecapi.h"
#include "txdtc.h"
#include "xolehlp.h"
#include <iostream>
#include <tchar.h>
// TODO: reference additional headers your program requires here
如你所见,我已经包含了 "windows.h"
这里是主要代码:
#include "stdafx.h"
...
if (hThread && dwRpcssPid == GetProcessIdOfThread(hThread))
...
我的错误是:
'GetProcessIdOfThread': identifier not found
IntelliSense: identifier "GetProcessIdOfThread" is undefined
我该如何修复这些错误?
如果您使用的是 windows 8,则需要包括:Processthreadsapi.h
请参阅 header 部分中的 MSDN 参考资料。
GetProcessIdOfThread
的平台要求规定:
Windows Vista [desktop apps only]
Windows Server 2003 [desktop apps only]
header 要求指出:
Processthreadsapi.h on Windows 8 and Windows Server 2012
所以:
- 确保您的 windows SDK 是 up-to-date
- 确保您已指定 platform requirements properly。
- 确保您包含正确的 header 文件。
该函数不适用于 _WIN32_WINNT
小于 0x0600
又名 _WIN32_WINNT_VISTA
的值。如果您以这种方式更改代码,您将使其正常工作:
//#define _WIN32_WINNT 0x0502
#define _WIN32_WINNT 0x0600
该函数从 Vista 开始可用,要针对 Vista+,您应该分别定义此值。
要使用当前 SDK 定位最新版本的 API,您只需包含 SDKDDKVer.h 即可为您定义这些值/
//#define _WIN32_WINNT 0x0502
#include <SDKDDKVer.h>
另请参阅:
- What is _WIN32_WINNT and how does it work?