C ++ Qt WriteProcessMemory - PullRequest
       3

C ++ Qt WriteProcessMemory

1 голос
/ 30 марта 2012

Я пытаюсь создать WriteProcessMemory, используя Qt с QtCreator.Когда я нажимаю кнопку, он не пишет.Вот код, который я использую, если кто-то может помочь.

#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);

}

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

Если вы не решили эту ошибку:

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

имена функций чувствительны к регистру в C / C ++ и т. Д ... Поэтому переименуйте вашу функцию в "Attach (...)"

2 голосов
/ 30 марта 2012

Вам не хватает включения в windows.h.

Это было определено по ошибке

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

как hProcess объявлено как

HANDLE hProcess;

Там для, тип перед hProcess не определен.

Чтобы решить вашу проблему, у вас должно быть следующее

#include <windows.h>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...