<?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[Wie kann ich HINSTANCE finden?]]></title><description><![CDATA[<p>Gibt es eine Möglichkeit HINSTANCE meines Programms zu finden? Es ist mir unbequem es als Parameter überall zu übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/206206/wie-kann-ich-hinstance-finden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 09:59:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/206206.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Feb 2008 07:23:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 07:23:08 GMT]]></title><description><![CDATA[<p>Gibt es eine Möglichkeit HINSTANCE meines Programms zu finden? Es ist mir unbequem es als Parameter überall zu übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460685</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Fri, 22 Feb 2008 07:23:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 09:53:34 GMT]]></title><description><![CDATA[<p>Benutze eine singleton oder eine globale Variable.<br />
Siehe auch:<br />
<a href="http://blog.m-ri.de/index.php/2007/12/12/die-unsitte-immer-getmodulehandlenull-fuer-hinstance-in-createwindow-und-registerclass-zu-verwenden/" rel="nofollow">http://blog.m-ri.de/index.php/2007/12/12/die-unsitte-immer-getmodulehandlenull-fuer-hinstance-in-createwindow-und-registerclass-zu-verwenden/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460699</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 22 Feb 2008 09:53:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 07:53:37 GMT]]></title><description><![CDATA[<p>Ich habe eine leichtere Lösung gefunden. Während WM_CREATE gibt mir LPARAM sehr viele Sachen mit...</p>
<pre><code class="language-cpp">hInst = reinterpret_cast&lt;CREATESTRUCT*&gt;(lp)-&gt;hInstance;
</code></pre>
<p>Trotzdem danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460703</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Fri, 22 Feb 2008 07:53:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 08:03:02 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">HMODULE mDllMod = (HMODULE) __ImageBase;
</code></pre>
<p>Falls __ImageBase nicht definiert sein sollte, dann noch:</p>
<pre><code class="language-cpp">extern &quot;C&quot; LPVOID __ImageBase;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1460708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460708</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Fri, 22 Feb 2008 08:03:02 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 09:56:33 GMT]]></title><description><![CDATA[<p>Zdravko schrieb:</p>
<blockquote>
<p>Ich habe eine leichtere Lösung gefunden. Während WM_CREATE gibt mir LPARAM sehr viele Sachen mit...</p>
<pre><code class="language-cpp">hInst = reinterpret_cast&lt;CREATESTRUCT*&gt;(lp)-&gt;hInstance;
</code></pre>
<p>Trotzdem danke!</p>
</blockquote>
<p>Wenn Du eine EXE alleine hast und Fensterklassen nicht über Module und DLLs verteilt sind, dann mag das gehen...<br />
Hängt aber davon ab was der Caller da rein schreibt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1460773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460773</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 22 Feb 2008 09:56:33 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 10:36:11 GMT]]></title><description><![CDATA[<p>Funktioniert auch in DLLs:</p>
<pre><code class="language-cpp">HINSTANCE GetHinstance(VOID)
{
    MEMORY_BASIC_INFORMATION mbi = { 0 };
    VirtualQuery(GetHinstance, &amp;mbi, sizeof(mbi));
    return(reinterpret_cast&lt;HINSTANCE&gt;(mbi.AllocationBase));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1460811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460811</guid><dc:creator><![CDATA[Gästchen]]></dc:creator><pubDate>Fri, 22 Feb 2008 10:36:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 11:33:17 GMT]]></title><description><![CDATA[<p>Gästchen schrieb:</p>
<blockquote>
<p>Funktioniert auch in DLLs:</p>
<pre><code class="language-cpp">HINSTANCE GetHinstance(VOID)
{
    MEMORY_BASIC_INFORMATION mbi = { 0 };
    VirtualQuery(GetHinstance, &amp;mbi, sizeof(mbi));
    return(reinterpret_cast&lt;HINSTANCE&gt;(mbi.AllocationBase));
}
</code></pre>
</blockquote>
<p>Hast Du den Link gelesen, den Martin Richter gepostet hat?<br />
Dort ist genau Dein Vorschlag erklärt worden, mit dem eindringlichen Hinweis <strong>&quot;Aber bitte diesen Code nicht in eine DLL auslagern!&quot;</strong></p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460849</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Fri, 22 Feb 2008 11:33:17 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 11:37:30 GMT]]></title><description><![CDATA[<p>er meint damit das man nicht eine extra dll nur mit dieser funktion drin schreiben soll^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460855</guid><dc:creator><![CDATA[´´]]></dc:creator><pubDate>Fri, 22 Feb 2008 11:37:30 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 12:13:51 GMT]]></title><description><![CDATA[<p>In dem Artikel, den ich geschrieben habe steht alles drin.</p>
<p>Die diskutierte Funktion muss inline sein, oder in dem Executable liegen, von der man HINSTANCE ermitteln will.</p>
<p>Grundsätzlich empfiehlt sich ein Singleton oder eine globale Variable wie es ATL und MFC macht. Wer es unbedingt ander macht, muss sich gewahr sein, für was HINSTANCE an dieser Stelle verwendet wird.</p>
<p>Besonders eben bei CreateWindow ist es nicht trivial!<br />
Aber ich habe keine Lust alles nochmal zu schreiben was in dem Artikel steht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460891</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 22 Feb 2008 12:13:51 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 12:29:33 GMT]]></title><description><![CDATA[<p>Mmacher schrieb:</p>
<blockquote>
<p>Hast Du den Link gelesen, den Martin Richter gepostet hat?</p>
</blockquote>
<p>Nö, wenn ich was von blog lese, schaue ich dort normalerweise nicht rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460907</guid><dc:creator><![CDATA[Gästchen]]></dc:creator><pubDate>Fri, 22 Feb 2008 12:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kann ich HINSTANCE finden? on Fri, 22 Feb 2008 12:49:09 GMT]]></title><description><![CDATA[<p>Gästchen schrieb:</p>
<blockquote>
<p>Mmacher schrieb:</p>
<blockquote>
<p>Hast Du den Link gelesen, den Martin Richter gepostet hat?</p>
</blockquote>
<p>Nö, wenn ich was von blog lese, schaue ich dort normalerweise nicht rein.</p>
</blockquote>
<p>Ich verstehe was Du meinst, in der Tat sind viele Blogs oftmals nur idiotisches Gekrakel (sorry für den Ausdruck).<br />
Aber der Blog von Martin Richter ist für mich qualitativ sehr hochwertig (und obendrein auch noch übersichtlich gehalten, was nicht selbstverständlich ist).</p>
<p>Genauso der Blog von Raymond Chen (aka &quot;The Old New Thing&quot;), auch wenn es dort zugegebenermaßen recht unübersichtlich ist. Wenn es z.B. um Windows-Interna geht mußt Du dort ein wenig fummelig suchen.</p>
<p>Just my 5 cents,<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460923</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Fri, 22 Feb 2008 12:49:09 GMT</pubDate></item></channel></rss>