<?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[Programm läßt sich nicht minimieren]]></title><description><![CDATA[<p>Hallo!</p>
<p>Um mehrere Instanzen eines Programmes zu verhindern, prüfe ich beim Start, ob bereits eine Instanz läuft. Wenn ja, schicke ich der 1. Instanz eine Nachricht. In der Ereignisbehandlungsroutine für diese Nachricht habe ich 2 Zeilen:</p>
<pre><code class="language-cpp">SetWindowPos(Application-&gt;MainForm-&gt;Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
  SetWindowPos(Application-&gt;MainForm-&gt;Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_SHOWWINDOW);
</code></pre>
<p>Damit erreiche ich, dass mein Programm sowohl aus dem Hintergrund als auch aus dem minimierten Status wieder im Vordergrund erscheint und den Fokus hat. Der Haken ist: Wenn ich meine 1. Instanz das 1. Mal aus dem minimierten Status aktiviert habe, kann ich sie danach nicht wieder minimieren. Sowohl der Menüeintrag im Systemmenü als auch der Minimieren-Button bleiben ohne Wirkung. Hat jemand eine Idee, warum das so ist?</p>
<p>Vielen Dank im Voraus.<br />
Rob'</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243566/programm-läßt-sich-nicht-minimieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 01:54:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243566.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Jun 2009 12:14:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm läßt sich nicht minimieren on Thu, 18 Jun 2009 12:14:28 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Um mehrere Instanzen eines Programmes zu verhindern, prüfe ich beim Start, ob bereits eine Instanz läuft. Wenn ja, schicke ich der 1. Instanz eine Nachricht. In der Ereignisbehandlungsroutine für diese Nachricht habe ich 2 Zeilen:</p>
<pre><code class="language-cpp">SetWindowPos(Application-&gt;MainForm-&gt;Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
  SetWindowPos(Application-&gt;MainForm-&gt;Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_SHOWWINDOW);
</code></pre>
<p>Damit erreiche ich, dass mein Programm sowohl aus dem Hintergrund als auch aus dem minimierten Status wieder im Vordergrund erscheint und den Fokus hat. Der Haken ist: Wenn ich meine 1. Instanz das 1. Mal aus dem minimierten Status aktiviert habe, kann ich sie danach nicht wieder minimieren. Sowohl der Menüeintrag im Systemmenü als auch der Minimieren-Button bleiben ohne Wirkung. Hat jemand eine Idee, warum das so ist?</p>
<p>Vielen Dank im Voraus.<br />
Rob'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728776</guid><dc:creator><![CDATA[Rob&#x27;]]></dc:creator><pubDate>Thu, 18 Jun 2009 12:14:28 GMT</pubDate></item><item><title><![CDATA[Reply to Programm läßt sich nicht minimieren on Thu, 18 Jun 2009 12:37:39 GMT]]></title><description><![CDATA[<p>Und warum verwendest Du nicht einfach ShowWindow mit SW_RESTORE?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1728793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1728793</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 18 Jun 2009 12:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to Programm läßt sich nicht minimieren on Fri, 19 Jun 2009 05:41:36 GMT]]></title><description><![CDATA[<p>Das funktioniert leider nicht: Das Programm bleibt im Hintergrund bzw. minimiert, nicht mal der Button in der Taskleiste blinkt.</p>
<p>Rob'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729201</guid><dc:creator><![CDATA[Rob&#x27;]]></dc:creator><pubDate>Fri, 19 Jun 2009 05:41:36 GMT</pubDate></item><item><title><![CDATA[Reply to Programm läßt sich nicht minimieren on Fri, 19 Jun 2009 07:15:02 GMT]]></title><description><![CDATA[<p>1. SW_RESTORE behbt Dein Minimierungs Problem.<br />
2. Das Prgramm in den Vordergrund zu bringen macht man mit SetForeGroundWindow<br />
3. Und wenn man es ganz korrekt macht, muss man noch das aktive Popup Window berücksichtigen.</p>
<pre><code class="language-cpp">// does it have any popups?
hWnd = ::GetLastActivePopup(hWnd);
// Bring the main window to the top
if (::IsIconic(hWnd))                 
    // If iconic, restore the main window
    ::ShowWindow(hWnd,SW_RESTORE);     
// bring it to top       		
::SetForegroundWindow(hWnd);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1729223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729223</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 19 Jun 2009 07:15:02 GMT</pubDate></item><item><title><![CDATA[Reply to Programm läßt sich nicht minimieren on Fri, 19 Jun 2009 10:05:25 GMT]]></title><description><![CDATA[<p>Hallo Martin,</p>
<p>Erst mal danke für deine Mühe.</p>
<p>Das Minimierungsproblem ist damit behoben. Doch im Vordergrund erscheint das Programm nicht, lediglich der Button in der Taskleiste blinkt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Rob'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729328</guid><dc:creator><![CDATA[Rob&#x27;]]></dc:creator><pubDate>Fri, 19 Jun 2009 10:05:25 GMT</pubDate></item><item><title><![CDATA[Reply to Programm läßt sich nicht minimieren on Fri, 19 Jun 2009 12:12:51 GMT]]></title><description><![CDATA[<p>Lies die Doku zu SetForeGroundWindow und such hier im Forum und Du wirst Antworten finden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729412</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 19 Jun 2009 12:12:51 GMT</pubDate></item><item><title><![CDATA[Reply to Programm läßt sich nicht minimieren on Fri, 19 Jun 2009 18:24:23 GMT]]></title><description><![CDATA[<p>Das mache ich doch immer als Erstes. <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>
<p>Es funktioniert ja auch schon fast.<br />
Bin weiterhin dankbar für Tipps.</p>
<p>Rob'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729705</guid><dc:creator><![CDATA[Rob&#x27;]]></dc:creator><pubDate>Fri, 19 Jun 2009 18:24:23 GMT</pubDate></item><item><title><![CDATA[Reply to Programm läßt sich nicht minimieren on Fri, 19 Jun 2009 18:38:07 GMT]]></title><description><![CDATA[<p>Ich habe Dir den Tipp gegeben. Such in diesem Forum nach SetForegroundWindow und Du findest einige Threads dazu... In der MSDN steht auch drin, warum es nicht geht...<br />
Soll ich Dir alles vorkauen? Ein Mindestmaß an Eigeninitiative sehe ich als verpflichtend an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1729711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1729711</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 19 Jun 2009 18:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to Programm läßt sich nicht minimieren on Mon, 22 Jun 2009 08:34:16 GMT]]></title><description><![CDATA[<p>Wow, jetzt hast du's mir aber gegeben!</p>
<p>Meine am Anfang gestellte Frage wird aber leider nicht beantwortet: Nach dem ersten Aktivieren der 1. Instanz aus dem minimierten Status läßt sich das Programm nicht noch einmal minimieren. Das gleiche Verhalten habe ich mit diesem Code (gefunden über die Suchfunktion ;)):</p>
<pre><code class="language-cpp">if (IsIconic(handle)) ShowWindow(handle, SW_RESTORE);
    else ShowWindow(handle, SW_SHOW);

    DWORD lpProcessBasehWnd = GetWindowThreadProcessId(handle, 0 );
    DWORD lpProcessCurrhWnd = GetWindowThreadProcessId(GetForegroundWindow(), 0);

    if( lpProcessBasehWnd == lpProcessCurrhWnd )
    {
      SetForegroundWindow(handle);
    }
    else
    { // attach input to other process
      AttachThreadInput( lpProcessCurrhWnd, lpProcessBasehWnd, true );
      SetForegroundWindow(handle);
      AttachThreadInput( lpProcessCurrhWnd, lpProcessBasehWnd, false );
    }
</code></pre>
<p>Deshalb noch einmal meine Frage: was verhindert das erneute Minimieren? Und bitte keine Hinweise auf die Suchfunktion! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Rob'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1730848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1730848</guid><dc:creator><![CDATA[Rob&#x27;]]></dc:creator><pubDate>Mon, 22 Jun 2009 08:34:16 GMT</pubDate></item></channel></rss>