<?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[Screenshots erstellen]]></title><description><![CDATA[<p>Hallo ihr,</p>
<p>habe mal wieder ein Problem, diesmal mit den Screenshots, ich habe mir beide Beispiele aus der FAQ angeschaut und beide funktionieren nur bedingt. Will ich nämlich von einem anderen Fenster als Form1-&gt;Handle ein Screenshot machen bekomme ich nur ein weißes bzw schwarzes Bild raus.</p>
<p>Der Code is folgender:</p>
<pre><code>TCanvas* canvas = new TCanvas(); 
        canvas-&gt;Handle = GetWindowDC(handle);

        TRect Dest   = Image1-&gt;ClientRect;
        TRect Source;
        GetWindowRect(handle, (LPRECT)&amp;Source);
        Source = Rect(0, 0, Source.Right - Source.Left, Source.Bottom - Source.Top);

        image-&gt;Canvas-&gt;CopyRect(Dest, canvas, Source);
        delete canvas;
</code></pre>
<p>also identisch mit dem vom Beispiel2</p>
<p>Die Funktion die aufgerufen wird wenn ich auf den Button klicke ist folgende:</p>
<pre><code>HWND hWnd;
        //handle herausfinden
        hWnd=FindWindow(&quot;Notepad&quot;,NULL);
        MakeScreenShot(hWnd, Image1);
</code></pre>
<p>Ich habe jetzt einfach mal das handle von Notepad genommen. Änder ich die MakeScreenshot Zeile zum test in</p>
<pre><code>MakeScreenShot(Form1-&gt;Handle, Image1);
</code></pre>
<p>klappt alles einwandfrei, nehme ich andere handles bekomme ich weiße oder schwarze Screenshots raus. Wäre nett wenn mir einer sagen könnte wo der Fehler liegt <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/topic/146079/screenshots-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 09 Aug 2026 14:18:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146079.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 04 May 2006 04:28:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Screenshots erstellen on Thu, 04 May 2006 04:28:30 GMT]]></title><description><![CDATA[<p>Hallo ihr,</p>
<p>habe mal wieder ein Problem, diesmal mit den Screenshots, ich habe mir beide Beispiele aus der FAQ angeschaut und beide funktionieren nur bedingt. Will ich nämlich von einem anderen Fenster als Form1-&gt;Handle ein Screenshot machen bekomme ich nur ein weißes bzw schwarzes Bild raus.</p>
<p>Der Code is folgender:</p>
<pre><code>TCanvas* canvas = new TCanvas(); 
        canvas-&gt;Handle = GetWindowDC(handle);

        TRect Dest   = Image1-&gt;ClientRect;
        TRect Source;
        GetWindowRect(handle, (LPRECT)&amp;Source);
        Source = Rect(0, 0, Source.Right - Source.Left, Source.Bottom - Source.Top);

        image-&gt;Canvas-&gt;CopyRect(Dest, canvas, Source);
        delete canvas;
</code></pre>
<p>also identisch mit dem vom Beispiel2</p>
<p>Die Funktion die aufgerufen wird wenn ich auf den Button klicke ist folgende:</p>
<pre><code>HWND hWnd;
        //handle herausfinden
        hWnd=FindWindow(&quot;Notepad&quot;,NULL);
        MakeScreenShot(hWnd, Image1);
</code></pre>
<p>Ich habe jetzt einfach mal das handle von Notepad genommen. Änder ich die MakeScreenshot Zeile zum test in</p>
<pre><code>MakeScreenShot(Form1-&gt;Handle, Image1);
</code></pre>
<p>klappt alles einwandfrei, nehme ich andere handles bekomme ich weiße oder schwarze Screenshots raus. Wäre nett wenn mir einer sagen könnte wo der Fehler liegt <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/1050602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050602</guid><dc:creator><![CDATA[YingYang]]></dc:creator><pubDate>Thu, 04 May 2006 04:28:30 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshots erstellen on Thu, 04 May 2006 04:46:27 GMT]]></title><description><![CDATA[<p>hat sich wohl erledigt, ich habe einfach eine kleine Wait eingebaut nachdem das Fenster in den Vordergrund erzwungen wird. Nun geht es</p>
<pre><code>hWnd=FindWindow(&quot;Notepad&quot;,NULL); // Fensterhandle
 if(IsWindow(hWnd)) {
  SetForegroundWindow(hWnd);
  keybd_event(VK_F3, 0, 0, 0);
  keybd_event(VK_F3, 0, KEYEVENTF_KEYUP, 0);
  }
 Sleep(50);
 MakeScreenShot(hWnd, Image1);
</code></pre>
<p>falls jemand irgendwann auch das problem haben sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050605</guid><dc:creator><![CDATA[YingYang]]></dc:creator><pubDate>Thu, 04 May 2006 04:46:27 GMT</pubDate></item><item><title><![CDATA[Reply to Screenshots erstellen on Wed, 02 Aug 2006 14:31:50 GMT]]></title><description><![CDATA[<p>Geht das auch noch irgendwie hübscher? Kann mir jemand erklären warum man dieses Sleep braucht?? Ich hab ein Fenster was bereits im vordergrund ist und nach dem Drücken einer Taste soll ein Screenshot erzeugt werden, aber ich bekomme ebenfalls nur ein weißes Bild.</p>
<p>Edit: Wenn ich statt GetActiveWindow() GetForegroundWindow() benutze, dann gehts es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1109296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1109296</guid><dc:creator><![CDATA[ZzetT]]></dc:creator><pubDate>Wed, 02 Aug 2006 14:31:50 GMT</pubDate></item></channel></rss>