Ich zeichne derzeit Grafiken mit GDI, aber ich muss in der Lage sein, den gesamten Desktop/Bildschirm neu zu zeichnen. Meine Grafiken werden auf dem Bildschirm gezeichnet, aber wenn ich ein gezeichnetes Pixel verschieben würde, würde es zu einer Linie werden, weil ich den Bildschirm nicht neu zeichne (Windows tut das auch nicht). Ich brauche etwas, um das Neuzeichnen des gesamten Bildschirms zu erzwingen, ich habe die folgenden Ansätze ausprobiert:
UpdateWindow(GetDesktopWindow() );
InvalidateRect( GetDesktopWindow(), NULL, TRUE );
SendMessage( GetDesktopWindow(), WM_PAINT, NULL, NULL );
Keiner von ihnen scheint zu funktionieren, ich brauche nur den gesamten Bildschirm neu zu zeichnen.
0 Stimmen
Warum machen Sie all diese Dinge mit dem Desktop-Fenster und nicht mit Ihrem eigenen Fenster? Das Desktop-Fenster ist das Fenster, in dem das Hintergrundbild angezeigt wird, und jedes andere Fenster erscheint darüber...
0 Stimmen
Ich habe nämlich kein eigenes Fenster, und ich weiß, was es bewirkt. Ich zeichne auf dem Desktop selbst, indem ich das Handle des Desktops verwende.
1 Stimmen
Warum erstellen Sie kein transparentes Vollbildfenster?
0 Stimmen
Ich werde es mir ansehen, aber ich wollte es ohne Formular/Fenster haben.
0 Stimmen
Bitte sagen Sie mir, an welcher Anwendung Sie arbeiten, damit ich sie in Zukunft vermeiden kann. Wenn Sie auf einem Fenster zeichnen, das Ihnen nicht gehört, können Sie sich nur Ärger einhandeln.