Zeichnen mit Cpp



  • Martin Richter schrieb:

    In andere Programme kannst Du nicht zeichnen, wenn dieses programm auch auf die Idee kommt zu zeichnen.

    Das ist egal, ich hooke die Zeichenfunktion einfach und zeiche dann einfach immer dadrüber, geht sowas mit GDI+?


  • Mod

    Listing schrieb:

    Martin Richter schrieb:

    In andere Programme kannst Du nicht zeichnen, wenn dieses programm auch auf die Idee kommt zu zeichnen.

    Das ist egal, ich hooke die Zeichenfunktion einfach und zeiche dann einfach immer dadrüber, geht sowas mit GDI+?

    Und wie willst Du die hooken? DLL in ale Prozesse injezieren und dann jedes Fenster subclassen das sichtbar ist und dann zeichen?

    Kannst Du mir erst mal erklären warum Du das willst und warum kein transparentes Fenster als Layer oben drüber langt?



  • Martin Richter schrieb:

    Kannst Du mir erst mal erklären warum Du das willst und warum kein transparentes Fenster als Layer oben drüber langt?

    Nen Transparentes Fenster könnte Ärger machen, weil es dann ja meine Tastatureingaben abfangen würde, oder irre ich mich da?



  • Das ist egal, ich hooke die Zeichenfunktion einfach und zeiche dann einfach immer dadrüber, geht sowas mit GDI+?

    Käse, geht nicht.

    Entweder du nimmst wiegesagt ein transparentes Fenster, oder bastelst dir ein Overlay mit DirectX. Hier im Forum war mal kürzlich ein Link dazu, hab ihn leider nicht mehr... Evtl. kann dir dabei einer weiterhelfen.

    MfG mikey.


  • Mod

    Listing schrieb:

    Nen Transparentes Fenster könnte Ärger machen, weil es dann ja meine Tastatureingaben abfangen würde, oder irre ich mich da?

    Da irrst Du Dich! Ein Fenster im Vordergrund heißt nicht, dass dieses Fenster den Focus hat. Selbst Mausklicks können als transparent durchgeleitet werden...

    Warum beantwortes Du nicht meine Frage was Du eigentlich vorhast?



  • Warum beantwortes Du nicht meine Frage was Du eigentlich vorhast?

    Die Frage hab ich wohl übersehen,
    Ich möchte eine Systemuhr machen, die auch aktiv ist, wenn man Spiele etc. startet, die immer oben rechts in der Ecke ist, ich werde das mit einem Transparentem Fenster dann mal probieren, vielleicht klappts ja wirklich ^^



  • Nope, brauchst du ein Overlay dazu! hat vielleicht jemand einen Link für ihn? Finde den Thread nicht mehr...



  • ka, falls ich diesen link gepostet hab wars sicher der:

    http://www.gamedev.net/community/forums/topic.asp?topic_id=359319



  • Ja genau, der war's! 😃 Also wiegesagt, das geht wunderbar mit Overlays. Ist zwar etwas komplizierter, aber ein Fortgeschrittener müsste das schon selber hinbekommen. Wollen wir mal hoffen, dass der Threadersteller einer ist 🤡



  • mikey schrieb:

    Ja genau, der war's! 😃 Also wiegesagt, das geht wunderbar mit Overlays. Ist zwar etwas komplizierter, aber ein Fortgeschrittener müsste das schon selber hinbekommen. Wollen wir mal hoffen, dass der Threadersteller einer ist 🤡

    Das ist ja echt krass,
    vielen dank.

    Keine Sorge ich arbeite mich da durch, das hat bis jetzt bei API-Hooking etc. auch immer geklappt, ich brauche einfach nur meine Zeit.
    Bei Google findet man ja alles was man wissen muss.

    Du hast mir echt gut den Weg gewiesen, wenn sich das Result sehen lässt kann ich das ja im forum posten 😃



  • Also was das Overlay bewirkt, siehst du ja an der Beispiel-Executable die dem Code beiliegt. Müsste das richtige für dich sein!

    Das ist ja echt krass

    Jop, in der Tat 👍

    MfG mikey.



  • Eins ist mir unklar:

    Wenn ich

    std::basic_string<TCHAR> str = _T("This is overlayed text");
    	SetTextColor(dc, RGB(255, 255, 255));
    	SetBkColor(dc, 0);
    	TextOut(dc, 5, 5, str.c_str(), str.length());
    

    durch

    MoveToEx(dc, 5, 5, NULL);
    	LineTo(dc, 200, 200);
    

    ersetze tut sich leider nichts, eigentlich sollte eine Linie gezeichnet werden


Anmelden zum Antworten