DrawString Funktion
-
Nabend,
mein Test Script sieht zur Zeit so aus ->#include <iostream> #include <ddraw.h> int x{250}; int y{250}; const char* text1{ "Hallo Arma 3" }; COLORREF TextCOLOR; HDC HDC_Desktop; HFONT Font; HWND TargetWnd; void DrawString(int x, int y, COLORREF TextCOLOR, const char* text) { SetTextAlign(HDC_Desktop, TA_CENTER | TA_NOUPDATECP); SetBkColor(HDC_Desktop, RGB(255, 0, 0)); SetTextColor(HDC_Desktop, TextCOLOR); SelectObject(HDC_Desktop, Font); TextOutA(HDC_Desktop, x, y, text, strlen(text)); DeleteObject(Font); } int main() { TargetWnd = FindWindow(0, "Arma 3"); HDC HDC_Desktop = GetDC(TargetWnd); TextCOLOR = RGB(255, 255, 0); DrawString(x, y, TextCOLOR, text1); system("PAUSE"); }
und zwar zeigt es mir nichts an, ich vermute es liegt am HDC weiß aber kein genauen Fehler und Fehlermeldungen kommen ebenfalls nicht.
Lg Wirbelwind
-
Was beabsichtigst Du?
Damit bekommst Du keinen "bleibenden" Text in einer anderen Anwendung. Diese wird irgendwann einfach neu zeichnen und Dein Text ist weg.
-
Und in ein mit DirectX oder OpenGL dargestelltes Fenster zu zeichnen, funktioniert so erst recht nicht...
-
Ich will den Text "Hallo Arma 3" im Spiel Arma 3 Anzeigen.
Später will ich es ausbauen das ich xyz Werte auslese und anzeigen kann.Kennt ihr ein Gutes TUT wo es erklärt ist wie es geht?
den in mein Buch über C++ ist über sowas kein Wort gekommen..oder schreibt mir wie es geht aber bitte auch eine kleine erklärung,
da ich es verstehen möchte und kein Copy&past möchte.Lg Wirbelwind
-
Such mal nach "DirectX hook tutorial" - nur erwarte nicht, daß du das in kurzer Zeit zum Laufen kriegst (dafür ist schon einiges Wissen über Programmierung nötig).
Mit dem Basiswissen von C++ hat das auch wenig zu tun...
-
Ja danke, das hilft mir auf jeden fall weiter.
Es ist aber egal ob ein TUT von D3D9, wenn man es für 10 braucht oder?Lg Wirbelwind
-
Die Grundlagen wie man D3D hooken kann sollten bei D3D9 und D3D10 identisch sein.
Die Interfaces die du dafür implementieren musst sind allerdings unterschiedlich. Wobei man die meisten Funktionen ja eh einfach nur weiterleitet.