<?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[bild auf dem desktop ausgeben]]></title><description><![CDATA[<p>hoi <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>ist es möglich ein bild auszugeben ohne grosartig fenster erstellen<br />
zu müssen und so? also ich möchte einfach nur ein bild auf bestimmten<br />
koordinaten ausgeben.</p>
<p>meine frage wäre nicht nur ob es möglich wäre sondern auch wie es geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
vieleicht hab ihr ja ein gutes tut zur hand oder ein beispiel!</p>
<p>thx, babel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/84329/bild-auf-dem-desktop-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 21:56:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/84329.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Aug 2004 10:41:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Sun, 29 Aug 2004 10:41:10 GMT]]></title><description><![CDATA[<p>hoi <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>ist es möglich ein bild auszugeben ohne grosartig fenster erstellen<br />
zu müssen und so? also ich möchte einfach nur ein bild auf bestimmten<br />
koordinaten ausgeben.</p>
<p>meine frage wäre nicht nur ob es möglich wäre sondern auch wie es geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
vieleicht hab ihr ja ein gutes tut zur hand oder ein beispiel!</p>
<p>thx, babel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/594348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/594348</guid><dc:creator><![CDATA[babelduo]]></dc:creator><pubDate>Sun, 29 Aug 2004 10:41:10 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Sun, 29 Aug 2004 11:08:34 GMT]]></title><description><![CDATA[<p>Einfach das Bild als Wallpaper setzen - ansonsten: Warum willst du kein eigenes Fenster dazu erzeugen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/594368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/594368</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 29 Aug 2004 11:08:34 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Wed, 01 Sep 2004 13:54:46 GMT]]></title><description><![CDATA[<p>Vielleicht meint er ja ein unsichtbares fenster... wie es oft bei desktopscherztools angewandt wird^^</p>
<p>also einfach ein Fenster mit WS_POPUP erstellen... und bei der wndclassex kein hbrBackground (also NULL da)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/597040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/597040</guid><dc:creator><![CDATA[DaRaiden]]></dc:creator><pubDate>Wed, 01 Sep 2004 13:54:46 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Wed, 01 Sep 2004 17:47:02 GMT]]></title><description><![CDATA[<p>du kannst ja dein fenster unsichtbar machen und dann auf den desktop malen</p>
<p>also mit GetDC(NULL) bekommst du den desktop und da dann einfach ne bmp drauf zeichnen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/597198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/597198</guid><dc:creator><![CDATA[O_o]]></dc:creator><pubDate>Wed, 01 Sep 2004 17:47:02 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Thu, 02 Sep 2004 07:07:46 GMT]]></title><description><![CDATA[<p>Moin, Moin...</p>
<p>Als Beispiel, wie man auf den Desktop rummalt, poste ich hier ein kleines Programm aus dem Petzold:</p>
<pre><code>/*------------------------------------------------
   SCRAMBLE.C -- Scramble (and Unscramble) Screen
                 (c) Charles Petzold, 1998
  ------------------------------------------------*/

#include &lt;windows.h&gt;

#define NUM 300

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     static int iKeep [NUM][4] ;
     HDC        hdcScr, hdcMem ;
     int        cx, cy ;
     HBITMAP    hBitmap ;
     HWND       hwnd ;
     int        i, j, x1, y1, x2, y2 ;

     if (LockWindowUpdate (hwnd = GetDesktopWindow ()))
     {
          hdcScr  = GetDCEx (hwnd, NULL, DCX_CACHE | DCX_LOCKWINDOWUPDATE) ;
          hdcMem  = CreateCompatibleDC (hdcScr) ;
          cx      = GetSystemMetrics (SM_CXSCREEN) / 10 ;
          cy      = GetSystemMetrics (SM_CYSCREEN) / 10 ;
          hBitmap = CreateCompatibleBitmap (hdcScr, cx, cy) ;

          SelectObject (hdcMem, hBitmap) ;

          srand ((int) GetCurrentTime ()) ;

          for (i = 0 ; i &lt; 2   ; i++)
          for (j = 0 ; j &lt; NUM ; j++)
          {
               if (i == 0)
               {
                    iKeep [j] [0] = x1 = cx * (rand () % 10) ;
                    iKeep [j] [1] = y1 = cy * (rand () % 10) ;

                    iKeep [j] [2] = x2 = cx * (rand () % 10) ;
                    iKeep [j] [3] = y2 = cy * (rand () % 10) ;
               }
               else
               {
                    x1 = iKeep [NUM - 1 - j] [0] ;
                    y1 = iKeep [NUM - 1 - j] [1] ;
                    x2 = iKeep [NUM - 1 - j] [2] ;
                    y2 = iKeep [NUM - 1 - j] [3] ;
               }
               BitBlt (hdcMem,  0,  0, cx, cy, hdcScr, x1, y1, SRCCOPY) ;
               BitBlt (hdcScr, x1, y1, cx, cy, hdcScr, x2, y2, SRCCOPY) ;
               BitBlt (hdcScr, x2, y2, cx, cy, hdcMem,  0,  0, SRCCOPY) ;

               Sleep (10) ;
          }

          DeleteDC (hdcMem) ;
          ReleaseDC (hwnd, hdcScr) ;
          DeleteObject (hBitmap) ;

          LockWindowUpdate (NULL) ;
     }
     return FALSE ;
}
</code></pre>
<p>Es zeigt, wie man das Handle für den Desktop erhält und den Desktop sperrt(!!) bevor man darauf rummalt.</p>
<p>Ciao....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/597520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/597520</guid><dc:creator><![CDATA[Kal El]]></dc:creator><pubDate>Thu, 02 Sep 2004 07:07:46 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Sun, 26 Sep 2004 13:34:34 GMT]]></title><description><![CDATA[<p>Wenn man z.b. auf dem Desktop ein Bild anzeigen will, dass immer im vordergrund bleibt, also auch wenn ein Fenster darübergemalt wird, müsste man ja sozusagen die WM_PAINT nachricht für den desktop mitbekommmen. gibt es die überhaupt? und wie fängt man sie ab?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/615228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/615228</guid><dc:creator><![CDATA[McFarmer]]></dc:creator><pubDate>Sun, 26 Sep 2004 13:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Sun, 26 Sep 2004 16:04:30 GMT]]></title><description><![CDATA[<p>Wenn es auch über allen Fenstern liegen soll, dann wäre es ja nich mehr auf dem Desktop (denn der wird ja von Fenstern überdeckt) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/615351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/615351</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 26 Sep 2004 16:04:30 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Sun, 26 Sep 2004 17:36:31 GMT]]></title><description><![CDATA[<p>stimmt..hab mal wieder nicht nachgedacht.<br />
Allerdings wäre folgendes auch ganz interessant:<br />
wie kann man text immer im vordergrund anzeigen, also immer in dem fenster, das sich momentan an dieser stelle befindet.<br />
aber das nur nebenbei...<br />
was ich meinte ist folgendes:<br />
wie finde ich heraus, dass ein fenster gerade verkleinert wurde, also der desktop neu gezeichnet werden muss, und man sozusagen seinen text wieder drüberschreiben muss?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/615421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/615421</guid><dc:creator><![CDATA[McFarmer]]></dc:creator><pubDate>Sun, 26 Sep 2004 17:36:31 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Sun, 26 Sep 2004 18:04:52 GMT]]></title><description><![CDATA[<p>Warum nimmst du nicht ein eigenes Fenster und platzierst es mit HWND_BOTTOM bzw. HWND_TOPMOST <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Ansonsten müsstest du wohl mit Sub-Classing arbeiten oder das ganze einfach als Desktop-Hintergrundbild machen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/615430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/615430</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 26 Sep 2004 18:04:52 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Sun, 26 Sep 2004 20:22:46 GMT]]></title><description><![CDATA[<p>McFarmer schrieb:</p>
<blockquote>
<p>...<br />
wie finde ich heraus, dass ein fenster gerade verkleinert wurde, also der desktop neu gezeichnet werden muss, und man sozusagen seinen text wieder drüberschreiben muss?</p>
</blockquote>
<p>Stichwort: Hook</p>
<pre><code class="language-cpp">HHOOK SetWindowsHookEx(

    int idHook,	// &quot;WH_CALLWNDPROCRET&quot;  Hooktyp der Installiert wird
    HOOKPROC lpfn,	// Adresse zur Hookprocedure
    HINSTANCE hMod,	// HInstance des Programms
    DWORD dwThreadId 	// 0=alle oder halt entsprechende id
   );
//-----
LRESULT CALLBACK CallWndRetProc(

    int nCode,	// Hookcode (siehe MSDN WH_)
    WPARAM wParam,	// kennste
    LPARAM lParam 	// kennste auch
   );
</code></pre>
<p>Nachrichten abfangen <strong>nachdem</strong> die Clienten die Nachricht erhalten haben.<br />
Auswerten und neuzeichnen.</p>
<p>*****************</p>
<p>Wenn du sowas wie OSD realisieren willst, also Text einblenden und später wieder aus.<br />
reicht folgendes:</p>
<p>Text einblenden:</p>
<pre><code class="language-cpp">char Text[] = &quot;OSD Anzeige&quot;; 
                 HDC dc = GetDC(NULL);
                 HFONT hFont = CreateFont(36,0,0,0,700,0,0,0,0,0,0,0,FIXED_PITCH,&quot;Arial&quot;);
                 HGDIOBJ OldObject = SelectObject(dc,hFont);
                 SetBkMode(dc,TRANSPARENT);
                 SetTextColor(dc,RGB(0,0,0)); // schwarzer Rand
                 TextOut(dc, 41, 51, Text, strlen(Text)); // für Rand
                 TextOut(dc, 39, 51, Text, strlen(Text)); // dito
                 TextOut(dc, 41, 49, Text, strlen(Text)); // dito
                 TextOut(dc, 39, 49, Text, strlen(Text)); // dito
                 SetTextColor(dc,RGB(255,255,0)); // Textfarbe
                 TextOut(dc, 40, 50, Text, strlen(Text));
                 SelectObject(dc, OldObject);
                 ReleaseDC(NULL,dc);
</code></pre>
<p>Ausblenden:</p>
<pre><code class="language-cpp">RECT rc; 
                 rc.left = 35;
                 rc.right = 250;
                 rc.top = 40;
                 rc.bottom = 100;
                 RedrawWindow(NULL,&amp;rc,NULL,RDW_INVALIDATE | RDW_ERASE | RDW_ALLCHILDREN);
</code></pre>
<p>Wenn das Einblenden über längere Zeit statt finden soll, lass es in einer schleife</p>
<p>Pseudocode:</p>
<pre><code class="language-cpp">while (an) {
    /* PeekMessage() schleife um Nachrichten zu Verarbeiten */
    ClearDesktop() // Das Ausblenden (RedrawWindow() )
    CaptureDesktop() // GetDC(NULL) und in eine Bitmap blitten
    TextOutBitmap() // Text in Bitmap
    DrawBitmap() // Backbuffer Bitmap auf Desktop zeichnen
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/615512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/615512</guid><dc:creator><![CDATA[MiC++ha]]></dc:creator><pubDate>Sun, 26 Sep 2004 20:22:46 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Wed, 29 Sep 2004 17:36:07 GMT]]></title><description><![CDATA[<p>Äh, help please:</p>
<p>//hier passier der Fehler. Warum gehts net ?<br />
HDC dc = GetDC(NULL);</p>
<p>error C2660: 'CWnd::GetDC': Funktion akzeptiert keine 1 Argumente</p>
]]></description><link>https://www.c-plusplus.net/forum/post/617336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617336</guid><dc:creator><![CDATA[Franzs]]></dc:creator><pubDate>Wed, 29 Sep 2004 17:36:07 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Wed, 29 Sep 2004 17:55:23 GMT]]></title><description><![CDATA[<p>Hast du es in deinem Code auch so geschrieben wie hier, den so ist es Richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/617357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617357</guid><dc:creator><![CDATA[MiC++ha]]></dc:creator><pubDate>Wed, 29 Sep 2004 17:55:23 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Wed, 29 Sep 2004 18:28:10 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ja genau so hab ich es auch übernommen.<br />
Hab ich vergessen was zu includen ?<br />
Bekomme den Fehler wie beschrieben und bei</p>
<p>ReleaseDC(NULL,dc);<br />
error C2660: 'CWnd::ReleaseDC': Funktion akzeptiert keine 2 Argumente<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/617394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617394</guid><dc:creator><![CDATA[Franzs]]></dc:creator><pubDate>Wed, 29 Sep 2004 18:28:10 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Wed, 29 Sep 2004 18:30:12 GMT]]></title><description><![CDATA[<p>Entschuldigt, hat sich erledigt!</p>
<p>::GetDC(NULL)<br />
::ReleaseDC(NULL,dc);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/617397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617397</guid><dc:creator><![CDATA[Franzs]]></dc:creator><pubDate>Wed, 29 Sep 2004 18:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Wed, 29 Sep 2004 18:36:03 GMT]]></title><description><![CDATA[<p>Ist aber Merkwürdig das du ::Funktion schreiben muß, kann es sein das du was includet hast was nicht notwendig ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/617405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617405</guid><dc:creator><![CDATA[MiC++ha]]></dc:creator><pubDate>Wed, 29 Sep 2004 18:36:03 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Wed, 29 Sep 2004 18:39:30 GMT]]></title><description><![CDATA[<p>Keine Ahnung. Hab sonst nichts weiter gemacht.<br />
Wollte nur mal den Code testen weil ich es<br />
sehr interessant fand. Komisch warum es nur<br />
so geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Aber vielen Dank <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/617412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617412</guid><dc:creator><![CDATA[Franzs]]></dc:creator><pubDate>Wed, 29 Sep 2004 18:39:30 GMT</pubDate></item><item><title><![CDATA[Reply to bild auf dem desktop ausgeben on Thu, 30 Sep 2004 09:35:59 GMT]]></title><description><![CDATA[<p>Du scheinst MFC zu verwenden - rufst du denn den Code innerhalb einer Klasse auf, oder hast du irgendwie ein using namespace o.ä. verwendet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/617793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617793</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Thu, 30 Sep 2004 09:35:59 GMT</pubDate></item></channel></rss>