PTHREAD_START_ROUTINE pfn = (PTHREAD_START_ROUTINE)GetProcAddress
(GetModuleHandle(TEXT("Kernel32")), "LoadLibraryA");

strcpy(buf, "..\\DLLTest\\Debug\\DLLTest.dll");
void* p = VirtualAllocEx(hProcess, NULL, 256, 
MEM_COMMIT, PAGE_READWRITE); if (p == NULL)
{
return;
} if(!WriteProcessMemory(hProcess, buf, p, strlen(buf) + 1, NULL))
{
cout<<GetLastError();
return;
}
HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0, pfn, p, 0, NULL); WaitForSingleObject(hThread, INFINITE); cout<<"insert success"<<endl;
为什么写入的时候总是返回错误 是不是进程权限问题,我获取句柄是用的 
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);