Text auf Desktop schreiben



  • ok, das neu schreiben ist mir klar, kann man ja zum Test in einer Schleife machen. Leider steht der Text dann immer am aktuellen Fenster und nicht direkt auf dem Desktop (hintergrund).
    (jemand dafür noch eine IDee?)

    danke
    lg
    Mike



  • SunB schrieb:

    ok, das neu schreiben ist mir klar, kann man ja zum Test in einer Schleife machen

    In eine Schleife würde ich das nicht machen, es wäre möglich das der Text anfängt zu 'flimmern' ...

    Gruß
    :: NoName ::



  • wenn nicht in einer Schleife, wie dann? (sorry bin anfänger)



  • Hmm, evtl: so

    Du schreibst dir eine eigene Funktion

    int WriteText()
    {
    CWnd *pWnd;   // Zeiger auf ein CWnd Objekt 
    CRect rec;    // CRect objekt 
    pWnd = CWnd::GetDesktopWindow();   // ich hole mir das Dektopfenster 
    pWnd->GetWindowRect(rec);  // hole mir die Aktuelle Auflösung 
    CDC pDC;  // Gerätekontext 
    pDC.m_hDC = ::GetDC(NULL);  // API Aufruf mit dem ich mir das 
                                // Desktop Handle hole. 
    pDC.TextOut(rec.Height()/2,rec.Width()/2,"hallo Chris"); 
      // und schließlich schreibe ich den Text mit dem Dc  
    	return WriteText(); 
    }
    

    Und später natürlich aufrufen

    Gruß
    :: NoName ::



  • Verstehe ich das richtig, dass druch das return WriteText() sich die funktion immer wieder selbst aufruft? und somit im Prinzip durchgehend läuft?

    Mike



  • SunB schrieb:

    Verstehe ich das richtig, dass druch das return WriteText() sich die funktion immer wieder selbst aufruft? und somit im Prinzip durchgehend läuft?

    Ja ...

    Gruß
    :: NoName ::



  • :: NoName :: schrieb:

    SunB schrieb:

    Verstehe ich das richtig, dass druch das return WriteText() sich die funktion immer wieder selbst aufruft? und somit im Prinzip durchgehend läuft?

    Ja ...

    Gruß
    :: NoName ::

    Danke 😉
    lg
    Mike



  • sollte es nicht

    pDC.m_hDC = ::GetDC(pWnd->m_hWnd);

    anstatt pDC.m_hDC = ::GetDC(NULL); heißen?

    mit NULL kriegt man doch keinen Handle zurück oder versteh ich da was falsch?

    lg
    Mike



  • If this value is NULL, GetDC retrieves the DC for the entire screen.



  • achja ... da sollte man das brett vorm Kopf wegnehmen *ggg*

    DAnke 😉

    Was ich aber noch immer nicht hingekriegt habe, ist das der Text nur auf dem Desktop ist aber unter allen Fenstern.

    Jmd. ne Idee?

    DAnke

    lg
    Mike


Anmelden zum Antworten