C++ TrySubmitThreadpoolCallback未声明的标识符
env Win10,VC6.0 问题 当我使用windows默认线程池提交工作线程时, 这是一个编译错误。我使用VC6.0,并且包含了C++ TrySubmitThreadpoolCallback未声明的标识符,c++,winapi,C++,Winapi,env Win10,VC6.0 问题 当我使用windows默认线程池提交工作线程时, 这是一个编译错误。我使用VC6.0,并且包含了Windows.h 但它找不到函数。请帮帮我 main.cpp #include "main.h" int KeyMap[128]; int main() { ScriptHeadTail* pSht = (ScriptHeadTail*)KeyMap[101]; if (pSht != NULL){ TrySubmitTh
Windows.h
但它找不到函数。请帮帮我
main.cpp
#include "main.h"
int KeyMap[128];
int main()
{
ScriptHeadTail* pSht = (ScriptHeadTail*)KeyMap[101];
if (pSht != NULL){
TrySubmitThreadpoolCallback(ProcessHook, (LPVOID)(pSht->head), NULL);
}
Sleep(1000);
return 1;
}
VOID CALLBACK ProcessHook(PTP_CALLBACK_INSTANCE instance, PVOID lParam)
{
ExecuteScript* pScript = (ExecuteScript*)lpParam;
while (pScript != NULL){
switch (pScript->type)
{
case KEYBOARD :
{
printf("send key : %d\n", pScript->value);
break;
}
case LBUTTON :
{
printf("left button down : %d\n", pScript->value);
break;
}
case RBUTTON :
{
break;
}
case IDLE :
{
Sleep(pScript->value);
break;
}
}
pScript = pScript->next;
}
return 1;
}
main.h
#include <Windows.h>
#include <stdio.h>
struct ExecuteScript
{
int type;
int value;
ExecuteScript* next;
};
struct ScriptHeadTail
{
ExecuteScript* head;
ExecuteScript* tail;
};
BOOL Init(LPCSTR configFile);
BOOL LoadConfigFile(const char* configFile);
VOID CALLBACK ProcessHook(PTP_CALLBACK_INSTANCE instance, PVOID lParam);
const int ASCII_LEN = 128;
const int KEYBOARD = 1;
const int LBUTTON = 2;
const int RBUTTON = 3;
const int IDLE = 4;
该API是在Windows Vista中引入的。VC 6支持的最新Windows SDK适用于Windows server 2003,它比Vista旧
修复的最佳方法是升级Visual C++到一些更新版本。它需要threadpoolapiset.h(包括Windows 7、Windows Server 2008、Windows Server 2008 R2和Windows.h)。所以VC6.0不支持新的SDK。谢谢仍然使用VC 6的原因是什么?可能重复的
--------------------Configuration: ReadFileTest - Win32 Debug---------- ----------
Compiling...
main.cpp
c:\users\jasey\windows-program\readfiletest\main.h(20) : error C2065: 'PTP_CALLBACK_INSTANCE' : undeclared identifier
c:\users\jasey\windows-program\readfiletest\main.h(20) : error C2146: syntax error : missing ')' before identifier 'instance'
c:\users\jasey\windows-program\readfiletest\main.h(20) : warning C4229: anachronism used : modifiers on data are ignored
c:\users\jasey\windows-program\readfiletest\main.h(20) : error C2182: 'ProcessHook' : illegal use of type 'void'
c:\users\jasey\windows-program\readfiletest\main.h(20) : error C2059: syntax error : ')'
c:\users\jasey\windows-program\readfiletest\main.cpp(13) : error C2065: 'TrySubmitThreadpoolCallback' : undeclared identifier
c:\users\jasey\windows-program\readfiletest\main.cpp(60) : error C2146: syntax error : missing ')' before identifier 'instance'
c:\users\jasey\windows-program\readfiletest\main.cpp(60) : warning C4229: anachronism used : modifiers on data are ignored
c:\users\jasey\windows-program\readfiletest\main.cpp(60) : error C2182: 'ProcessHook' : illegal use of type 'void'
c:\users\jasey\windows-program\readfiletest\main.cpp(60) : error C2086: 'ProcessHook' : redefinition
c:\users\jasey\windows-program\readfiletest\main.cpp(60) : error C2059: syntax error : ')'
c:\users\jasey\windows-program\readfiletest\main.cpp(61) : error C2143: syntax error : missing ';' before '{'
c:\users\jasey\windows-program\readfiletest\main.cpp(61) : error C2447: missing function header (old-style formal list?)
执行 cl.exe 时出错.
Creating browse info file...
ReadFileTest.exe - 1 error(s), 0 warning(s)