Другое С/С++ Вопрос - Ответ

x0r1x

Потрачен
112
97
Краша нет, игра нормально работает, а бегать не могу и камеру повернуть. Проще говоря бегу к челам у них ники зарендерились и хоп персонаж не бежит, хотя я не отпускал W
windowproc игры подменяется на какой-то другой windowproc, и этот windowproc не возвращает игре её windowproc.

но тут я точно не знаю что происходит, банально мб ты ub ловишь
 

ЛЕГЕНДА STANDOFFa

Новичок
8
2
windowproc игры подменяется на какой-то другой windowproc, и этот windowproc не возвращает игре её windowproc.

но тут я точно не знаю что происходит, банально мб ты ub ловишь
могу видос записать, но вообще я рендер делал по гайдам от kin4stat'a.
 

kin4stat

mq-team · kin4@naebalovo.team
Всефорумный модератор
2,744
4,806
windowproc игры подменяется на какой-то другой windowproc, и этот windowproc не возвращает игре её windowproc.

но тут я точно не знаю что происходит, банально мб ты ub ловишь
Яж сказал античит сампа пизды дает
 

Sadow

Известный
1,428
592
Как эмитировать нажатие ЛКМ? Пробовал вот так, но не работает.
C++:
#include <iostream>
#include <Windows.h>
#include <conio.h>

bool act = false;

int main() {
    setlocale(LC_ALL, "RU");
    std::cout << "Загружено. Нажмите Insert" << std::endl;
    while (true) {
        if (_kbhit()) {
            switch (_getch()) {
                case 82:
                    act = !act;
            }
        }
        if (act) {
            std::cout << "+" << std::endl;
            keybd_event(01, 0, 0, 0);
            keybd_event(01, 0, 0x0002, 0);
        }
    }
}
 

x0r1x

Потрачен
112
97
Как эмитировать нажатие ЛКМ? Пробовал вот так, но не работает.
C++:
#include <iostream>
#include <Windows.h>
#include <conio.h>

bool act = false;

int main() {
    setlocale(LC_ALL, "RU");
    std::cout << "Загружено. Нажмите Insert" << std::endl;
    while (true) {
        if (_kbhit()) {
            switch (_getch()) {
                case 82:
                    act = !act;
            }
        }
        if (act) {
            std::cout << "+" << std::endl;
            keybd_event(01, 0, 0, 0);
            keybd_event(01, 0, 0x0002, 0);
        }
    }
}
ставить хук на windowproc, и с помощью sendmessagea эмулировать нажатие нужной тебе клавиши
 
  • Нравится
Реакции: Sadow

Digger Man52

52NGG
Проверенный
1,122
987
Как эмитировать нажатие ЛКМ? Пробовал вот так, но не работает.
C++:
#include <iostream>
#include <Windows.h>
#include <conio.h>

bool act = false;

int main() {
    setlocale(LC_ALL, "RU");
    std::cout << "Загружено. Нажмите Insert" << std::endl;
    while (true) {
        if (_kbhit()) {
            switch (_getch()) {
                case 82:
                    act = !act;
            }
        }
        if (act) {
            std::cout << "+" << std::endl;
            keybd_event(01, 0, 0, 0);
            keybd_event(01, 0, 0x0002, 0);
        }
    }
}
C++:
int buttonid = 1; // тут айди кнопки
HWND hwndbut = GetDlgItem(hWnd, buttonid);
SendMessage(hwndbut, BM_CLICK, 0, 0);
ну и понятное дело нужно дескриптор окна получить, в котором будет происходить нажатие
C++:
HWND hWnd = FindWindow(NULL, "gta sa");
 
  • Нравится
Реакции: Sadow и Z3roKwq

Sadow

Известный
1,428
592
C++:
int buttonid = 1; // тут айди кнопки
HWND hwndbut = GetDlgItem(hWnd, buttonid);
SendMessage(hwndbut, BM_CLICK, 0, 0);
ну и понятное дело нужно дескриптор окна получить, в котором будет происходить нажатие
C++:
HWND hWnd = FindWindow(NULL, "gta sa");
Обязательно регистрировать переменную?
 

Sadow

Известный
1,428
592
C++:
int buttonid = 1; // тут айди кнопки
HWND hwndbut = GetDlgItem(hWnd, buttonid);
SendMessage(hwndbut, BM_CLICK, 0, 0);
ну и понятное дело нужно дескриптор окна получить, в котором будет происходить нажатие
C++:
HWND hWnd = FindWindow(NULL, "gta sa");
Как можно такое реализовать в Rage MP? Я пишу вместо gta sa GTAV (название основного приложения с гташкой) и не работает