otóż napisałem sobie takiego shotbota, zadaniem jego jest naciskanie lewego przycisku myszy po zobaczeniu czerwonego piksela na środku ekranu, lecz pewna gra ma na to sposób - zrobiła sobie "anti-input-mouse-simulation" tak sobie nazwę wymyśliłem, próbowałem użyć INPUT_KEYBOARD, owszem działało ale tylko do chatu w grze lub do wyświetlenia menu pod "ESC" niestety nie chciało już strzelić "MOUSE1/CTRL" czy skoczyć "SPACE". Gra najwyraźniej nie jest głupia i potrafi odróżnić symulacje od prawdziwego kliknięcia/naciśnięcia. Jest jakiś sposób aby zasymulować takie kliknięcie przez direct inputa? Oto mój kod(taki prymityw ale robi swoje xd):
#include <windows.h>
#include <gdiplus.h>
#include <iostream>
using namespace std;
const int SCREEN_X = (1024/2);
const int SCREEN_Y = (768/2);
int main(void)
{
// pixel detect and shooting
HDC hdc = GetDC(0);
short int R, G, B;
COLORREF lcolor;
INPUT ip;
ip.type = INPUT_MOUSE;
ip.mi.dx = SCREEN_X; // hardware scan code for key
ip.mi.dy = SCREEN_Y;
ip.mi.dwExtraInfo = 0;
//ip.ki.wVk = 0x6A; // virtual-key code for the "mouse1" key
ip.mi.dwFlags = MOUSEEVENTF_LEFTDOWN; // 0 for mouse click
while(1)
{
Sleep(10);
lcolor = GetPixel(hdc,SCREEN_X,SCREEN_Y);
R = GetRValue(lcolor);
G = GetGValue(lcolor);
B = GetBValue(lcolor);
if(lcolor == RGB(255, 0, 0))
{
Sleep(10);
//cout << "Shot performed" << endl;
// Press the "mouse1" key
SendInput(1, &ip, sizeof(INPUT));
}
}
return 0;
}