我正在尝试使用Qt与QtCreator进行WriteProcessMemory。当我按下按钮时它不会写。如果有人可以提供帮助,这是我正在使用的代码。
#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);
}
答案 0 :(得分:2)
您错过了windows.h
的包含。
这是由错误
决定的error C2146: syntax error : missing ';' before identifier 'hProcess'
因为hProcess
被声明为
HANDLE hProcess;
因此,hProcess
之前的类型未定义。
要解决您的问题,您必须具备以下内容
#include <windows.h>
答案 1 :(得分:2)
如果您还没有解决此错误:
mainwindow.cpp(103) : error C3861: 'Attach': identifier not found
函数名在C / C ++等中是敏感的...所以将函数重命名为“Attach(...)”