gpt4 book ai didi

C++——OpenProcess 返回错误代码 87

转载 作者:行者123 更新时间:2023-11-30 03:08:56 24 4
gpt4 key购买 nike

我对 win32 api 的 OpenProcess 函数有这个问题。程序旨在通过用户输入从给定程序 PID 和整数地址的程序中读取整数。

int main() {

DWORD pidz;

int buffer[1];

int temp;

int* ptr_i;

std::cout << "Type the address of i in programA: ";
std::cin >> std::hex >> temp;
std::cout << "\n";
ptr_i = (int*)temp;

std::cout << "Enter PID of programA: ";
std::cin >> pidz;
std::cout << "\n\n";

HANDLE handle_prgmA = OpenProcess(PROCESS_ALL_ACCESS,0,pidz);
if (handle_prgmA==NULL) {
std::cout << "***Could not assign handle\n";
HRESULT apa = GetLastError();
std::cout << apa << "\n";
}

if (ReadProcessMemory(handle_prgmA,ptr_i,&buffer,4,NULL)) {
std::cout << buffer[0];
}
else {
std::cout << "***Could not read memory\n";


}

CloseHandle(handle_prgmA);


}

OpenProcess 不断返回错误代码 87(“无效参数”),我不知道为什么!

最佳答案

OpenProcess 在您将 PID 设为零时返回 ERROR_INVALID_PARAMETER。在调用 OpenProcess 之前检查以确保 operator>>(std::istream&, int&) 调用成功。

关于C++——OpenProcess 返回错误代码 87,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com