所以我遇到的问题是C ++无法找到cod black ops窗口。我不知道为什么我认为我输入的一切都是正确的。 下面是代码而不是整个代码。
#include <iostream>
#include <Windows.h>
#include <math.h>
#include <cmath>
using namespace std;
int main()
{
int ammop = 30;
int ammos = 30;
HWND hWnd = FindWindowW(NULL, "Call of Duty®: BlackOps", 0);
if (hwnd == NULL){
cout << "Cannot find window." << endl;
Sleep(3000);
exit(-1);
}
else{
DWORD procID;
GetWindowThreadProcessId(hwnd, &procID);
HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, procID);
if(procID == NULL){
cout << "Cannot find window." << endl;
Sleep(3000);
exit(-1);
答案 0 :(得分:0)
HWND hWnd = FindWindowW(NULL, "Call of Duty®: BlackOps", 0);
这甚至不应该编译。
1)FindWindow仅接受2个参数
2)您正在调用函数的宽字符版本,即'W'的含义,但是您正在传递常规的字符指针。
3)调用GetWindowThreadProcessId时,您传递的不是正确的变量hwnd
,C ++区分大小写,您必须使用hWnd
来声明它
正确的代码是:
HWND hWnd = FindWindowA(NULL, "Call of Duty®: BlackOps");
和
GetWindowThreadProcessId(hWnd, &procID);