我在 c++ 中遇到错误'PTHREAD_START_ROUTINE'未在此范围内声明

I am getting error in c++ 'PTHREAD_START_ROUTINE' was not declared in this scope

本文关键字:声明 范围内 ROUTINE PTHREAD c++ 遇到 错误 我在 START      更新时间:2023-10-16

我收到错误说\dll\dll.cpp|206|错误: 未在此作用域中声明"PTHREAD_START_ROUTINE"|\dll\dll.cpp|208|错误: "pfnThreadRtn" 未在此作用域中声明||208|错误:"pfnThreadRtn"未在此范围内声明|

我该如何修复

char CurPath[256];
strcpy(CurPath,dllpath);
int len = (strlen(CurPath)+1)*2;
WCHAR wCurPath[256];
MultiByteToWideChar(CP_ACP,0,CurPath,-1,wCurPath,256);
pszLibFileRemote = (PWSTR)
    VirtualAllocEx(hRemoteProcess,NULL,len,MEM_COMMIT,PAGE_READWRITE);
WriteProcessMemory(hRemoteProcess,pszLibFileRemote,
                (PVOID)wCurPath,len,NULL);
PTHREAD_START_ROUTINE pfnThreadRtn = (PTHREAD_START_ROUTINE)
    GetProcAddress(GetModuleHandle(TEXT("Kernel32")), "LoadLibraryW");
hRemoteThread = CreateRemoteThread(hRemoteProcess,NULL,0,
    pfnThreadRtn,pszLibFileRemote,0,NULL);

线程过程的 typedef 的名称是 LPTHREAD_START_ROUTINE

实际代码中,您还需要在每次函数调用后检查错误,远程进程可能随时死亡。