Windows Fenster Hooken, und überzeichnen



  • Hallo leute, ich habe heute versucht mir auf ein Fenster zugriff zu verschaffen und will es mit Text überzeichnen...

    Ich hab das ganze schon bei verschiedenen Spielen probiert, doch es klappt immer nur wenn das spiel selber gerade nichts zeichnet... (Ladebildschirm und so)

    Aber es muss doch irgendwie gehen.... (siehe Wallhack ^^)

    #include "windows.h"
    #include  <iostream>
    
    using namespace std;
    
    HWND minecraftFenster;
    DWORD prozess;
    HANDLE prozessZugriff;
    
    HDC hdc;
    HBRUSH hBrush;
    LOGBRUSH lbBrush;
    HPEN hPen;
    HFONT hFont;
    
    void DrawBox(HDC hDC, int x, int y, int w, int h, COLORREF color);
    void DrawOIS();
    
    int zahl = 0;
    int zahl2 = 0;
    
    void main()
    {
    
    	while(!(minecraftFenster = FindWindow(0, "Minecraft")))
    		continue;
    
    	cout << "Minecraft found" << endl;
    
    	hdc = GetWindowDC(minecraftFenster);
    
    	GetWindowThreadProcessId(minecraftFenster, &prozess);
    
    	prozessZugriff = OpenProcess(PROCESS_ALL_ACCESS, false, prozess);
    
    	HANDLE thread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)DrawOIS, 0, 0, 0);
    	SetThreadPriority(thread, 2);
    
    	while(!(minecraftFenster = FindWindow(0, "Minecraft")))
    		Sleep(10);
    
    	system("Pause");
    
    }
    
    void DrawOIS()
    {
    
    	while(true)
    	{
    		DrawBox(hdc, 0, 0, 100, 100, RGB(255, 0, 0));	
    	}
    }
    
    void DrawBox(HDC hDC, int x, int y, int w, int h, COLORREF color)
    {
    	lbBrush.lbStyle = BS_NULL;
    
    	hBrush = CreateBrushIndirect(&lbBrush);
    	SelectObject(hDC,hBrush);
    
    	hPen = CreatePen(PS_SOLID,1,color);
    	SelectObject(hDC,hPen);
    
    	Rectangle(hDC,x,y,x+w,y+h);
    
    	DeleteObject(hPen);
    }
    


  • Stichwort: Direct3D Hook



  • Wo find ich denn so ein tutorial, für einen Direct3D hook?

    Hab schon gegoogelt, aber nichts hilfreiches gefunden... 😕



  • ich bin mir zwar nicht sicher aber ich denke du gehst da mal mit gdi drauf los?
    Das Problem bei dieser Sache ist aber eindeutig, dass GDI im system liegt und DirectX direkt auf die Grafikkarte geht. Somit läuft das nicht über das System.

    Das ist auch der Grund wieso du von einem Spiel nur schlecht einen Screenshot machen kannst.



  • Antwortet pls ❤


Anmelden zum Antworten