C + + Qt WriteProcessMemory

我正在尝试使用Qt与QtCreator WriteProcessMemory。 当我按下button,它不写。 这里是我使用的代码,如果任何人都可以帮助。

#include "mainwindow.h" #include "ui_mainwindow.h" #include <windows.h> HANDLE hProcess; int MYBASE; void Attach() { DWORD pid; HWND hWindow = FindWindow(NULL, L"Generic Property Editor Thingy"); GetWindowThreadProcessId(hWindow, &pid); hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid); } MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { Attach(); WriteProcessMemory(hProcess, (void*)0x4E709C, (void*)(PBYTE)"\xEB", 1, NULL); } 

如果你还没有解决这个错误:

 mainwindow.cpp(103) : error C3861: 'Attach': identifier not found 

函数名称在C / C ++等敏感的情况下…所以重命名你的函数“Attach(…)”

你错过了一个包括windows.h

这是由错误决定的

 error C2146: syntax error : missing ';' before identifier 'hProcess' 

因为hProcess被声明为

HANDLE hProcess;

那里, hProcess之前的类型是未定义的。

要解决您的问题,您必须具备以下条件

 #include <windows.h>