<?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[Windows-Fenster aus Konsolenprogramm]]></title><description><![CDATA[<p>Aus einer Konsolenanwendung heraus würde ich gerne ein Fenster erstellen. Zur Erstellung eines solchen muß man ja bei der Registrierung der Fensterklasse ein Prozeß-Instanzhandle übergeben, das normalerweise der WinMain übergeben wird, auf das man in einer Konsolenanwendung daher aber nicht direkt verfügt. Nun habe ich irgendwo gelesen, daß das Prozeßmodul mittlerweile genau das gleiche sein soll wie das Instanzhandle, und deshalb folgendes probiert:</p>
<pre><code class="language-cpp">WNDCLASSEX wc;
...
wc.hInstance = GetModuleHandle (NULL);
</code></pre>
<p>Beim Durchsteppen mit dem Debugger scheint auch alles zu funktionieren, jedenfalls gibt keine der aufgerufenen Funktionen einen Fehler zurück, und die Window-Prozedur wird ganz normal aufgerufen. Allerdings wird das Fenster seltsamerweise nicht angezeigt. Wenn ich den Code für die Erstellung des Fensters als Win32-Applikation kompiliere, funktioniert alles.</p>
<p>Darf ich den Rückgabewert von GetModuleHandle (NULL) einfach so für hInstance verwenden? Wenn nicht, wo bekomme ich den korrekten Wert her? Oder kann man etwa doch nicht so einfach ein Fenster in einem Konsolenprogramm erzeugen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165870/windows-fenster-aus-konsolenprogramm</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 02:46:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165870.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Nov 2006 18:36:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Windows-Fenster aus Konsolenprogramm on Thu, 23 Nov 2006 18:36:43 GMT]]></title><description><![CDATA[<p>Aus einer Konsolenanwendung heraus würde ich gerne ein Fenster erstellen. Zur Erstellung eines solchen muß man ja bei der Registrierung der Fensterklasse ein Prozeß-Instanzhandle übergeben, das normalerweise der WinMain übergeben wird, auf das man in einer Konsolenanwendung daher aber nicht direkt verfügt. Nun habe ich irgendwo gelesen, daß das Prozeßmodul mittlerweile genau das gleiche sein soll wie das Instanzhandle, und deshalb folgendes probiert:</p>
<pre><code class="language-cpp">WNDCLASSEX wc;
...
wc.hInstance = GetModuleHandle (NULL);
</code></pre>
<p>Beim Durchsteppen mit dem Debugger scheint auch alles zu funktionieren, jedenfalls gibt keine der aufgerufenen Funktionen einen Fehler zurück, und die Window-Prozedur wird ganz normal aufgerufen. Allerdings wird das Fenster seltsamerweise nicht angezeigt. Wenn ich den Code für die Erstellung des Fensters als Win32-Applikation kompiliere, funktioniert alles.</p>
<p>Darf ich den Rückgabewert von GetModuleHandle (NULL) einfach so für hInstance verwenden? Wenn nicht, wo bekomme ich den korrekten Wert her? Oder kann man etwa doch nicht so einfach ein Fenster in einem Konsolenprogramm erzeugen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180246</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Thu, 23 Nov 2006 18:36:43 GMT</pubDate></item><item><title><![CDATA[Reply to Windows-Fenster aus Konsolenprogramm on Thu, 23 Nov 2006 18:59:52 GMT]]></title><description><![CDATA[<p>der fehler liegt woanders.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1180260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180260</guid><dc:creator><![CDATA[antwort]]></dc:creator><pubDate>Thu, 23 Nov 2006 18:59:52 GMT</pubDate></item><item><title><![CDATA[Reply to Windows-Fenster aus Konsolenprogramm on Thu, 23 Nov 2006 19:15:04 GMT]]></title><description><![CDATA[<p>audacia  schrieb:</p>
<blockquote>
<p>Darf ich den Rückgabewert von GetModuleHandle (NULL) einfach so für hInstance verwenden?</p>
</blockquote>
<p>Jo das kannst Du so machen, Dein Fehler liegt also woanders (WS_VISIBLE Flag vllt nicht gesetzt ?) <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/1180268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180268</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 23 Nov 2006 19:15:04 GMT</pubDate></item><item><title><![CDATA[Reply to Windows-Fenster aus Konsolenprogramm on Thu, 23 Nov 2006 19:22:01 GMT]]></title><description><![CDATA[<p>antwort schrieb:</p>
<blockquote>
<p>der fehler liegt woanders.</p>
</blockquote>
<p>Stimmt, ich merkte gerade, daß ich bei ShowWindow einen Fehler gemacht habe (versehentlich den Parameter 0 übergeben, mit SW_SHOW klappts). Danke für den Hinweis <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/1180281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1180281</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Thu, 23 Nov 2006 19:22:01 GMT</pubDate></item></channel></rss>