<?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[PrintWindow() - Bug?]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe das Problem, dass die PrintWindow() funktion nach jedem aufruf länger dauert - das fängt bei 0.02sec an und steigert sich so lange, bis die gesamte Applikation abstürtzt(ca. 1h).</p>
<p>Es wird immer der gleiche code in einer for-schleife ausgeführt, mit Sleep() wird dann eine gwisse Zeit gewartet, bis die For-schleife sich wiederholt.</p>
<pre><code>// print window to seperate dc
	PrintWindow( pt.hWnd, m_ptBuffer[iT].dcmem, 0 );
</code></pre>
<p>Sobald die PrintWindow methode kommentiert ist, funktioniert alles wunderbar. Hat jemand bereits Erfahrungen mit dem Attribut PW_CLIENTONLY ?(letzten Parameter)<br />
Evt. kann jemand damit schon Erfahrungen sammeln können.</p>
<p>Mfg<br />
JJ</p>
<p>Links:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_6qpj.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_6qpj.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159465/printwindow-bug</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Jul 2026 07:32:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159465.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 Sep 2006 12:21:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to PrintWindow() - Bug? on Fri, 15 Sep 2006 12:21:43 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe das Problem, dass die PrintWindow() funktion nach jedem aufruf länger dauert - das fängt bei 0.02sec an und steigert sich so lange, bis die gesamte Applikation abstürtzt(ca. 1h).</p>
<p>Es wird immer der gleiche code in einer for-schleife ausgeführt, mit Sleep() wird dann eine gwisse Zeit gewartet, bis die For-schleife sich wiederholt.</p>
<pre><code>// print window to seperate dc
	PrintWindow( pt.hWnd, m_ptBuffer[iT].dcmem, 0 );
</code></pre>
<p>Sobald die PrintWindow methode kommentiert ist, funktioniert alles wunderbar. Hat jemand bereits Erfahrungen mit dem Attribut PW_CLIENTONLY ?(letzten Parameter)<br />
Evt. kann jemand damit schon Erfahrungen sammeln können.</p>
<p>Mfg<br />
JJ</p>
<p>Links:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_6qpj.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_6qpj.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137919</guid><dc:creator><![CDATA[JayJay]]></dc:creator><pubDate>Fri, 15 Sep 2006 12:21:43 GMT</pubDate></item><item><title><![CDATA[Reply to PrintWindow() - Bug? on Fri, 15 Sep 2006 12:33:16 GMT]]></title><description><![CDATA[<p>Klingt, als wenn irgendeine Schleife rekursiv aufgerufen wird, oder nach Speicherleaks.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137924</guid><dc:creator><![CDATA[Elektronix]]></dc:creator><pubDate>Fri, 15 Sep 2006 12:33:16 GMT</pubDate></item><item><title><![CDATA[Reply to PrintWindow() - Bug? on Fri, 15 Sep 2006 12:36:20 GMT]]></title><description><![CDATA[<p>vielleicht verursacht die paint-funktion des fensters ein gdi-leak.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137928</guid><dc:creator><![CDATA[w]]></dc:creator><pubDate>Fri, 15 Sep 2006 12:36:20 GMT</pubDate></item><item><title><![CDATA[Reply to PrintWindow() - Bug? on Mon, 18 Sep 2006 15:55:35 GMT]]></title><description><![CDATA[<p>Also das Problem wurde an sich &quot;behoben&quot;. Wenn die Funktion GetDC() des gleichen Fensters vor PrintWindow() aufgerufen wird, kommt dieser leak zu stande. Nachdem die Funktion entfernt wurde, lief alles wunderbar.</p>
<p>Was ein weiteres Problem ist - dass das Fenster, nachdem PrintWindow() aufgerufe wurde, nicht mehr ordentlich gezeichnet wird..<br />
Durch ein UpdateWindow() aufgruf konnte ich das Problem teilweise beheben, wobei es dennoch hin und wieder zu Darstellungsproblemem gekommen ist.</p>
<p>Durch den UpdateWindow() aufgruf gehen mir, laut Profiler, ca. 0.01 sekunden flöten, was natürlich wieder nicht spannend ist.</p>
<p>Evt. fällt jemanden was zu diesen Fakten ein/auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139762</guid><dc:creator><![CDATA[JayJay]]></dc:creator><pubDate>Mon, 18 Sep 2006 15:55:35 GMT</pubDate></item><item><title><![CDATA[Reply to PrintWindow() - Bug? on Mon, 18 Sep 2006 16:37:48 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">GetDC();
ReleaseDC();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1139794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139794</guid><dc:creator><![CDATA[keksekekse]]></dc:creator><pubDate>Mon, 18 Sep 2006 16:37:48 GMT</pubDate></item><item><title><![CDATA[Reply to PrintWindow() - Bug? on Mon, 18 Sep 2006 17:10:34 GMT]]></title><description><![CDATA[<p>Hm ... dafür besten Dank! Hatte ich glatt vergessen. Dennoch Wird das Fenster trotzdem nicht richtig angezeigt, da die GetDC() funktion nicht mehr aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139834</guid><dc:creator><![CDATA[JayJay]]></dc:creator><pubDate>Mon, 18 Sep 2006 17:10:34 GMT</pubDate></item><item><title><![CDATA[Reply to PrintWindow() - Bug? on Mon, 18 Sep 2006 17:16:34 GMT]]></title><description><![CDATA[<p>Also es ist definitiv in meinem Fall so, dass durch das Aufrufen von PrintWindow() das Fenster nicht richtig dargestellt(gezeichnet) wird.</p>
<p>Wenn würde es helfen, wenn jemand andere Erfahrungen damit gemacht hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139840</guid><dc:creator><![CDATA[JayJay]]></dc:creator><pubDate>Mon, 18 Sep 2006 17:16:34 GMT</pubDate></item><item><title><![CDATA[Reply to PrintWindow() - Bug? on Mon, 18 Sep 2006 17:57:35 GMT]]></title><description><![CDATA[<p>Also ich poste hier ein mal ein wenig Code:<br />
(Dieser Code wird Continuierlich alle 1000 ms ausgeführt)</p>
<pre><code>HDC dcWindow = GetWindowDC( pt-&gt;hWnd );

			// create backgrond dc
			buf.dcmem	= CreateCompatibleDC( dcWindow );
			if( buf.dcmem )
			{
				RECT rc; 
				GetWindowRect( pt-&gt;hWnd, &amp;rc); 
				buf.hBM		= CreateCompatibleBitmap( dcWindow, pt-&gt;wnd_matrix.right-pt-&gt;wnd_matrix.left, pt-&gt;wnd_matrix.bottom-pt-&gt;wnd_matrix.top );

				if( buf.hBM )
				{
					buf.hBMold	= (HBITMAP)SelectObject ( buf.dcmem, buf.hBM );
					PrintWindow( pt-&gt;hWnd, buf.dcmem, 0 );
					DeleteObject( buf.hBM );
				}
				DeleteObject( buf.dcmem );
			}
			else
			{
				OutputDebugString( &quot;\nError&quot; );
			}

			ReleaseDC( pt-&gt;hWnd, dcWindow );
			UpdateWindow( pt-&gt;hWnd ); // hat keine Auswirkung

			return TRUE;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1139888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139888</guid><dc:creator><![CDATA[Jayjay]]></dc:creator><pubDate>Mon, 18 Sep 2006 17:57:35 GMT</pubDate></item><item><title><![CDATA[Reply to PrintWindow() - Bug? on Mon, 18 Sep 2006 18:01:32 GMT]]></title><description><![CDATA[<p>Jayjay schrieb:</p>
<blockquote>
<p>Also ich poste hier ein mal ein wenig Code:<br />
(Dieser Code wird Continuierlich alle 1000 ms ausgeführt)</p>
</blockquote>
<p>LOOOL, deine Code enthält haufenweise GDI-Leaks...</p>
<p>DeleteDC(buf.dcmem); fehlt,<br />
Du musst den Inhalt, der vorher in einem DC war auch wieder einsetzen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> !<br />
Da fehlt also irg wo auch noch SelectObject. Geh besser den Code nochmal durch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139894</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Mon, 18 Sep 2006 18:01:32 GMT</pubDate></item></channel></rss>