<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[auf den desktop malen]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>also ich weiß, dass das hier im Forum schon öfter angesprochen wurde, wie man auf den Desktop malt, ich hab trotzdem noch ne Frage dazu: ich habs schon geschafft, bei WM_PAINT auf den desktop zu malen. Jetzt wollt ichs mal außerhalb der WM_PAINT Nachricht versuchen, das hat aber nich geklappt. Und jetzt würd ich gern wissen wie das geht. Ich habs bis jetzt so gemacht:</p>
<pre><code class="language-cpp">HWND desktop=GetDesktopWindow();
HDC desktopdc=GetDC(desktop);

// hier mal ich dann was

ReleaseDC(desktop, desktopdc);
</code></pre>
<p>Wenn ich das in dem normalen Fenster mach dann funktionierts auch, aber so nicht. Und ich weiß nich warum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Könnt ihr mir da weiterhelfen?</p>
<p>MfG Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/221976/auf-den-desktop-malen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 21:32:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/221976.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Sep 2008 18:41:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to auf den desktop malen on Fri, 05 Sep 2008 18:42:25 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>also ich weiß, dass das hier im Forum schon öfter angesprochen wurde, wie man auf den Desktop malt, ich hab trotzdem noch ne Frage dazu: ich habs schon geschafft, bei WM_PAINT auf den desktop zu malen. Jetzt wollt ichs mal außerhalb der WM_PAINT Nachricht versuchen, das hat aber nich geklappt. Und jetzt würd ich gern wissen wie das geht. Ich habs bis jetzt so gemacht:</p>
<pre><code class="language-cpp">HWND desktop=GetDesktopWindow();
HDC desktopdc=GetDC(desktop);

// hier mal ich dann was

ReleaseDC(desktop, desktopdc);
</code></pre>
<p>Wenn ich das in dem normalen Fenster mach dann funktionierts auch, aber so nicht. Und ich weiß nich warum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Könnt ihr mir da weiterhelfen?</p>
<p>MfG Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1577262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1577262</guid><dc:creator><![CDATA[killmichnich]]></dc:creator><pubDate>Fri, 05 Sep 2008 18:42:25 GMT</pubDate></item><item><title><![CDATA[Reply to auf den desktop malen on Fri, 05 Sep 2008 20:36:45 GMT]]></title><description><![CDATA[<p>also, das kann man jeder zeit machen</p>
<p>hdc = getDc(0);<br />
mach was;<br />
releaseDC(0, hdc);</p>
<p>das wird halt nur überschrieben, sobald du ein fesnter bewegst, aber zum schnellen testen von etwas reichts allemal</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1577283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1577283</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Fri, 05 Sep 2008 20:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to auf den desktop malen on Sat, 06 Sep 2008 09:24:37 GMT]]></title><description><![CDATA[<p>he cool danke so funktionierts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>und wie sollt ichs machen wenn ich will dass es da bleibt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1577440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1577440</guid><dc:creator><![CDATA[killmichnich]]></dc:creator><pubDate>Sat, 06 Sep 2008 09:24:37 GMT</pubDate></item><item><title><![CDATA[Reply to auf den desktop malen on Sat, 06 Sep 2008 12:11:31 GMT]]></title><description><![CDATA[<p>wenn du das willst, musst du einen hook schreiben, der sich in die paint-nachricht vom desktop hängt.</p>
<p>hooks sind recht komplex.<br />
Wenn du hierbei fehler machst, kannst du schon mal windows mit in den tod reißen, außerdem debugt sichs rech schwierig.</p>
<p>edit:</p>
<p>vorgehensweise:<br />
dll schreiben:</p>
<p>dllEntry<br />
installHook<br />
uninstallHook<br />
hook_procedure:</p>
<p>programm schreiben<br />
dass dll läd und installHook und uninstallHook aufruft</p>
<p>hab leider grad nur ein asm-beispiel zur hand, aber die nötigen api-calls kannst du daraus ja ablesen (siehe invokes)</p>
<p>das ganze ist aber ein mouseHook, MessageHooks gehen aber ähnlich</p>
<pre><code class="language-asm">.386
.model flat,stdcall
option casemap:none
include windows.inc
include kernel32.inc
includelib kernel32.lib
include user32.inc
includelib user32.lib

.data
hInstance dd 0

.data?
hHook dd ?

.code
DllEntry proc hInst:HINSTANCE, reason:DWORD, reserved1:DWORD
	push hInst
	pop hInstance
  mov  eax,TRUE
  ret
DllEntry Endp

MouseProc proc nCode:DWORD,wParam:DWORD,lParam:DWORD
  mov edx,lParam
  assume edx:PTR MOUSEHOOKSTRUCT

  ; mach etwas 
  invoke CallNextHookEx,hHook,nCode,wParam,lParam

  xor eax, eax ; eax öschen, da rückgabewert 0 sein muss
  xor edx, edx
  assume edx:nothing
  ret
MouseProc endp

InstallHook proc hwnd:DWORD
  invoke SetWindowsHookEx,WH_MOUSE,addr MouseProc,hInstance,NULL
  mov hHook,eax
  ret 
InstallHook endp

UninstallHook proc
  invoke UnhookWindowsHookEx,hHook
  ret
UninstallHook endp

End DllEntry
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1577533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1577533</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Sat, 06 Sep 2008 12:11:31 GMT</pubDate></item><item><title><![CDATA[Reply to auf den desktop malen on Sat, 06 Sep 2008 17:14:15 GMT]]></title><description><![CDATA[<p>lol ok ich glaub das is n bisschen ziemlich viel zu hoch für mich aber danke für die antwort <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
gibts da nix einfacheres?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1577743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1577743</guid><dc:creator><![CDATA[killmichnich]]></dc:creator><pubDate>Sat, 06 Sep 2008 17:14:15 GMT</pubDate></item></channel></rss>