<?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[bitmap aus zwischenlage kopieren]]></title><description><![CDATA[<p>hi leute<br />
ich will ein prog schreiben das zu einem bestimmten zeitpunk ein &quot;foto&quot; (snapshot) vom bildschirm macht und in eine datei speichert:</p>
<pre><code class="language-cpp">int main()
{
	fstream file(&quot;file.bmp&quot;, ios::binary | ios::app | ios::out);

	int ok = OpenClipboard(NULL); 
    char * cBuffer = NULL; 

	keybd_event(VK_SNAPSHOT, 0, 0, 0);

    if (!ok) return 1; 

    HANDLE hClipData = GetClipboardData( CF_BITMAP ); 
    cBuffer = (char*)GlobalLock( hClipData ); 
    GlobalUnlock( hClipData ); 
    CloseClipboard(); 

	file.write(cBuffer, strlen (cBuffer));
	file.close();

	getchar();
	return 0;
}
</code></pre>
<p>jetz bekomme ich immer ne tolle fehlermeldung:</p>
<p>Unbehandelte Ausnahme in snapshot.exe: 0xC0000005: Access Violation.</p>
<p>ich benutze microsoft visual c++</p>
<p>vielleicht kann mir einer sagen was ich falsch gemacht habe...</p>
<p>mfg killakathl</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/103239/bitmap-aus-zwischenlage-kopieren</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 12:02:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/103239.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Mar 2005 17:08:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bitmap aus zwischenlage kopieren on Sun, 06 Mar 2005 17:08:59 GMT]]></title><description><![CDATA[<p>hi leute<br />
ich will ein prog schreiben das zu einem bestimmten zeitpunk ein &quot;foto&quot; (snapshot) vom bildschirm macht und in eine datei speichert:</p>
<pre><code class="language-cpp">int main()
{
	fstream file(&quot;file.bmp&quot;, ios::binary | ios::app | ios::out);

	int ok = OpenClipboard(NULL); 
    char * cBuffer = NULL; 

	keybd_event(VK_SNAPSHOT, 0, 0, 0);

    if (!ok) return 1; 

    HANDLE hClipData = GetClipboardData( CF_BITMAP ); 
    cBuffer = (char*)GlobalLock( hClipData ); 
    GlobalUnlock( hClipData ); 
    CloseClipboard(); 

	file.write(cBuffer, strlen (cBuffer));
	file.close();

	getchar();
	return 0;
}
</code></pre>
<p>jetz bekomme ich immer ne tolle fehlermeldung:</p>
<p>Unbehandelte Ausnahme in snapshot.exe: 0xC0000005: Access Violation.</p>
<p>ich benutze microsoft visual c++</p>
<p>vielleicht kann mir einer sagen was ich falsch gemacht habe...</p>
<p>mfg killakathl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/738871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/738871</guid><dc:creator><![CDATA[killakathl]]></dc:creator><pubDate>Sun, 06 Mar 2005 17:08:59 GMT</pubDate></item><item><title><![CDATA[Reply to bitmap aus zwischenlage kopieren on Sun, 06 Mar 2005 17:33:41 GMT]]></title><description><![CDATA[<p>Falsch ist schonmal, dass in cBuffer ne Bitmap und kein String ist und daher darf kein strlen() benutzt werden.</p>
<p>Bei CF_BITMAP kannste dir das GLobalLock() glaube ich sparen.<br />
Du kriegst direkt nen HBITMAP-Handle, dass man via CopyImage() erstmal kopieren sollte, da das Handle dem Clipboard gehört.<br />
Anschließend könntest du die Bitmap in einen DC selektieren und mit der Funktion zum Bitmap-Speichern in der WinAPI-FAQ speichern.</p>
<p>Du kannst das Bild aus der Zwischenablage nicht direkt speichern, da auch bei CF_DIB oder CF_DIBV5 die BITMAPFILEHEADER-Struktur fehlt und du die erzeugte Datei somit mit keiner Anwendung öffnen könntest!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/738885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/738885</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sun, 06 Mar 2005 17:33:41 GMT</pubDate></item><item><title><![CDATA[Reply to bitmap aus zwischenlage kopieren on Sun, 06 Mar 2005 17:56:21 GMT]]></title><description><![CDATA[<p>ok danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/738925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/738925</guid><dc:creator><![CDATA[killakathl]]></dc:creator><pubDate>Sun, 06 Mar 2005 17:56:21 GMT</pubDate></item></channel></rss>