<?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[Datein in Exe unterbringen]]></title><description><![CDATA[<p>Hallo alle miteinander!<br />
Ich habe von mir n kleines Setup zu schreiben.<br />
Zum testen wollte ich mal ein Bild als Resource speichern und das Programm soll diese Datei dann expportieren.</p>
<p>Ich wollte das Ganze mit ner Resource machen. nur irgendwie geht der Code nicht.</p>
<p>resource.h</p>
<pre><code class="language-cpp">#define MY_FILE 2000
</code></pre>
<p>resource.rc</p>
<pre><code class="language-cpp">#include&lt;mfc\\afxres.h&gt;
#include&quot;resource.h&quot;

MY_FILE BIN &quot;Bildjpg&quot;
</code></pre>
<p>Prgm.cpp</p>
<pre><code class="language-cpp">#include&lt;windows.h&gt;
#include&quot;resource.h&quot;
#include&lt;stdio.h&gt;

#pragma warning (disable: 4996) //std lib nutzen ohne Warnungen

int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,char *pcCmdLine,int icmdShow)
{
	HRSRC hResource = FindResourceA(hInst,NULL,MAKEINTRESOURCE(MY_FILE)); 
	if(NULL==hResource)
	{
		MessageBox(NULL,&quot;Fehler1&quot;,0,MB_OK);
		return(0);
	}
	DWORD Size           = SizeofResource(hInst,hResource); 
	HGLOBAL MemoryHandle = LoadResource  (hInst,hResource ); 
	if(NULL==MemoryHandle)
	{
		MessageBox(NULL,&quot;Fehler2&quot;,0,MB_OK);
		return(0);
	}

	char *MemPtr = (char*)LockResource(MemoryHandle); 
	if(NULL==MemPtr)
	{
		MessageBox(NULL,&quot;Fehler3&quot;,0,MB_OK);
		return(0);
	}

	FILE *File=fopen(&quot;Bild_.jpg&quot;,&quot;w&quot;);
	if(NULL==File)
	{
		MessageBox(NULL,&quot;Fehler4&quot;,0,MB_OK);
		return(0);
	}
	fprintf(File,&quot;%s&quot;,MemPtr);
	fclose(File);	

	UnlockResource(MemoryHandle);

	MessageBox(NULL,&quot;Ende&quot;,&quot;Ende!&quot;,MB_OK);
	return(0);
}
</code></pre>
<p>Der meckert rum bei FindResource aber warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/210326/datein-in-exe-unterbringen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 01:18:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/210326.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Apr 2008 18:39:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 18:39:06 GMT]]></title><description><![CDATA[<p>Hallo alle miteinander!<br />
Ich habe von mir n kleines Setup zu schreiben.<br />
Zum testen wollte ich mal ein Bild als Resource speichern und das Programm soll diese Datei dann expportieren.</p>
<p>Ich wollte das Ganze mit ner Resource machen. nur irgendwie geht der Code nicht.</p>
<p>resource.h</p>
<pre><code class="language-cpp">#define MY_FILE 2000
</code></pre>
<p>resource.rc</p>
<pre><code class="language-cpp">#include&lt;mfc\\afxres.h&gt;
#include&quot;resource.h&quot;

MY_FILE BIN &quot;Bildjpg&quot;
</code></pre>
<p>Prgm.cpp</p>
<pre><code class="language-cpp">#include&lt;windows.h&gt;
#include&quot;resource.h&quot;
#include&lt;stdio.h&gt;

#pragma warning (disable: 4996) //std lib nutzen ohne Warnungen

int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,char *pcCmdLine,int icmdShow)
{
	HRSRC hResource = FindResourceA(hInst,NULL,MAKEINTRESOURCE(MY_FILE)); 
	if(NULL==hResource)
	{
		MessageBox(NULL,&quot;Fehler1&quot;,0,MB_OK);
		return(0);
	}
	DWORD Size           = SizeofResource(hInst,hResource); 
	HGLOBAL MemoryHandle = LoadResource  (hInst,hResource ); 
	if(NULL==MemoryHandle)
	{
		MessageBox(NULL,&quot;Fehler2&quot;,0,MB_OK);
		return(0);
	}

	char *MemPtr = (char*)LockResource(MemoryHandle); 
	if(NULL==MemPtr)
	{
		MessageBox(NULL,&quot;Fehler3&quot;,0,MB_OK);
		return(0);
	}

	FILE *File=fopen(&quot;Bild_.jpg&quot;,&quot;w&quot;);
	if(NULL==File)
	{
		MessageBox(NULL,&quot;Fehler4&quot;,0,MB_OK);
		return(0);
	}
	fprintf(File,&quot;%s&quot;,MemPtr);
	fclose(File);	

	UnlockResource(MemoryHandle);

	MessageBox(NULL,&quot;Ende&quot;,&quot;Ende!&quot;,MB_OK);
	return(0);
}
</code></pre>
<p>Der meckert rum bei FindResource aber warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1489342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489342</guid><dc:creator><![CDATA[Blaze]]></dc:creator><pubDate>Wed, 09 Apr 2008 18:39:06 GMT</pubDate></item><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 19:08:36 GMT]]></title><description><![CDATA[<blockquote>
<p>HRSRC FindResource(<br />
HMODULE hModule,<br />
LPCTSTR <strong>lpName</strong>,<br />
LPCTSTR lpType<br />
);</p>
</blockquote>
<p>ausserderm GetLastError() -&gt; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1489361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489361</guid><dc:creator><![CDATA[der_depp]]></dc:creator><pubDate>Wed, 09 Apr 2008 19:08:36 GMT</pubDate></item><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 19:09:47 GMT]]></title><description><![CDATA[<p>Ja gut. Aber was muss ich den da bei lpName hinschreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1489364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489364</guid><dc:creator><![CDATA[Blaze]]></dc:creator><pubDate>Wed, 09 Apr 2008 19:09:47 GMT</pubDate></item><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 19:18:42 GMT]]></title><description><![CDATA[<p>MSDN</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1489366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489366</guid><dc:creator><![CDATA[der_depp]]></dc:creator><pubDate>Wed, 09 Apr 2008 19:18:42 GMT</pubDate></item><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 19:34:10 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
Was denkst du eigentlich warum ich diese Frage überhaupt stelle?<br />
Würde ich sie stellen wenn ich in der MSDN gesucht und ne Lösung gefunden hätte?</p>
<p>Ich hoffe ich bekomme jetzt keine Antwort von der_depp. (es sei denn es ist mal was konstruktives...)</p>
<p>Also meine Frage: Was müsste ich in meinem Fall für lpName einsetzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1489379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489379</guid><dc:creator><![CDATA[Blaze]]></dc:creator><pubDate>Wed, 09 Apr 2008 19:34:10 GMT</pubDate></item><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 19:35:33 GMT]]></title><description><![CDATA[<p><a href="http://msdn2.microsoft.com/en-us/library/ms648042(VS.85).aspxd" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms648042(VS.85).aspxd</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1489381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489381</guid><dc:creator><![CDATA[der_depp]]></dc:creator><pubDate>Wed, 09 Apr 2008 19:35:33 GMT</pubDate></item><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 19:56:21 GMT]]></title><description><![CDATA[<p>Es wäre sehr nett wenn mir das mal einer mit Beispiel erklären kann, dabei sollte aus einer Resource wieder eine Datei gemacht werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1489391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489391</guid><dc:creator><![CDATA[Blaze]]></dc:creator><pubDate>Wed, 09 Apr 2008 19:56:21 GMT</pubDate></item><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 20:06:45 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">FindResource, LoadResource, SizeOfResource, LockResource, WriteFile, CloseHandle, UnlockResource
</code></pre>
<p>sollte ungefär so funzen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1489395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489395</guid><dc:creator><![CDATA[der_depp]]></dc:creator><pubDate>Wed, 09 Apr 2008 20:06:45 GMT</pubDate></item><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 20:09:30 GMT]]></title><description><![CDATA[<p>wenn ich mir deinen code gerad mal angucke, frage ich mich.</p>
<pre><code class="language-cpp">fprintf(File,&quot;%s&quot;,MemPtr);
</code></pre>
<p>was soll das denn darstellen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1489397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489397</guid><dc:creator><![CDATA[der_depp]]></dc:creator><pubDate>Wed, 09 Apr 2008 20:09:30 GMT</pubDate></item><item><title><![CDATA[Reply to Datein in Exe unterbringen on Wed, 09 Apr 2008 21:10:11 GMT]]></title><description><![CDATA[<p>Welche Fehlerinformation erhälst Du durch GetLastError()?</p>
<p>Oder -falls Du möchtest- nimm einfach die Funktion ('ExtractReSrcFile') <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="😉"
    /> :</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;conio.h&gt;

#include &quot;resource.h&quot;

bool ExtractReSrcFile(const TCHAR*,WORD,const TCHAR*,HINSTANCE);

int main()
{
    ExtractReSrcFile(TEXT(&quot;IMAGE&quot;), BMP_DEMO, TEXT(&quot;C:\\demo.bmp&quot;));

    while(!kbhit());
    return (0);
}

bool ExtractReSrcFile(const TCHAR* pszType, WORD wReSrcID, const TCHAR* pszLocation, HINSTANCE hInst = GetModuleHandle(NULL))
{
    if(pszType == NULL || pszLocation == NULL)
       return (false);
    HRSRC hSrcFile = FindResource(hInst, MAKEINTRESOURCE(wReSrcID), pszType);
    if(hSrcFile != NULL)
    {
        HGLOBAL hSrcFileLoad  = LoadResource(hInst, hSrcFile);
        void*   pvSrcFileData = LockResource(hSrcFileLoad);
        size_t  stSrcFileSize = SizeofResource(hInst, hSrcFile);
        HANDLE  hReSrcFile    = CreateFile(pszLocation, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
        if(hReSrcFile == INVALID_HANDLE_VALUE)
           return (false);
        WriteFile(hReSrcFile, pvSrcFileData, stSrcFileSize, NULL, NULL);
        CloseHandle(hReSrcFile);

        return (true);
    }
    return (false);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1489411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1489411</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 09 Apr 2008 21:10:11 GMT</pubDate></item></channel></rss>