<?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 nicht minimieren, wenn Desktop angezeigt werden soll (Windowstaste+D)]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich hab mal eine Frage: Ich will verhindern, das mein Programm mit Windowstaste+D minimiert wird. Zur Zeit hab ich diesen Ansatz:</p>
<pre><code>void CTestMFCDlg::OnSize(UINT nType, int cx, int cy)
{
 CDialog::OnSize(nType, cx, cy);
 if(nType==1){                  // bedeutet minimieren
// this-&gt;ShowWindow(SW_RESTORE); geht nicht -&gt; Workaround mit Timer
  SetTimer(1,100,0);            // in 100 ms Timer starten
 }
}

void CTestMFCDlg::OnTimer(UINT_PTR nIDEvent)
{
 KillTimer(1);                  // Timer beenden
 this-&gt;ShowWindow(SW_RESTORE); // Fenster wiederherstellen
 CDialog::OnTimer(nIDEvent);
}
</code></pre>
<p>Ich nehm den Timer, weil sofortiges Restore keinen Effekt hat. (Das auch beim minimieren sofort wieder restored wird ist kein Problem)</p>
<p>Leider hab ich jetzt ein flackern. Ich würd gern wissen ob man die Minimierung von vornherein unterbinden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184848/programm-nicht-minimieren-wenn-desktop-angezeigt-werden-soll-windowstaste-d</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 02:26:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184848.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Jun 2007 18:32:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm nicht minimieren, wenn Desktop angezeigt werden soll (Windowstaste+D) on Tue, 19 Jun 2007 18:32:54 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich hab mal eine Frage: Ich will verhindern, das mein Programm mit Windowstaste+D minimiert wird. Zur Zeit hab ich diesen Ansatz:</p>
<pre><code>void CTestMFCDlg::OnSize(UINT nType, int cx, int cy)
{
 CDialog::OnSize(nType, cx, cy);
 if(nType==1){                  // bedeutet minimieren
// this-&gt;ShowWindow(SW_RESTORE); geht nicht -&gt; Workaround mit Timer
  SetTimer(1,100,0);            // in 100 ms Timer starten
 }
}

void CTestMFCDlg::OnTimer(UINT_PTR nIDEvent)
{
 KillTimer(1);                  // Timer beenden
 this-&gt;ShowWindow(SW_RESTORE); // Fenster wiederherstellen
 CDialog::OnTimer(nIDEvent);
}
</code></pre>
<p>Ich nehm den Timer, weil sofortiges Restore keinen Effekt hat. (Das auch beim minimieren sofort wieder restored wird ist kein Problem)</p>
<p>Leider hab ich jetzt ein flackern. Ich würd gern wissen ob man die Minimierung von vornherein unterbinden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309340</guid><dc:creator><![CDATA[Samuel Plentz]]></dc:creator><pubDate>Tue, 19 Jun 2007 18:32:54 GMT</pubDate></item><item><title><![CDATA[Reply to Programm nicht minimieren, wenn Desktop angezeigt werden soll (Windowstaste+D) on Wed, 20 Jun 2007 06:30:46 GMT]]></title><description><![CDATA[<p>Und warum willst Du das?<br />
Warum willst Du nicht, dass der User das bekommt was er möchte? Den Desktop?<br />
Leuchtet mir nicht ein.</p>
<p>Als Ansatz könntest Du ja mal WS_EX_TOPMOST!<br />
Du müsstest in jedem Fall den Stil WS_MINIMIZEBOX entfernen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309579</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 20 Jun 2007 06:30:46 GMT</pubDate></item><item><title><![CDATA[Reply to Programm nicht minimieren, wenn Desktop angezeigt werden soll (Windowstaste+D) on Wed, 20 Jun 2007 09:33:18 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort.</p>
<p>Warum will ich das?</p>
<p>Es geht um eine Vollbildanwendung auf dem Sekundärem Bildschirm. (ne Präsentation) Ich will, das der User auf dem ersten Bildschirm bekommt was er will, den Desktop, aber ich will nicht, das die Präsentation über den Beamer gestoppt wird.</p>
<p>Mh Topmost ist auch nicht unbedingt was ich will. Es soll auch möglich sein z.B. Powerpoint über dem Fenster anzuzeigen. Das ist ein cooles Feature...</p>
<p>Ich dachte in erster Linie an sowas wie minimieren für dieses Fenster abfangen...</p>
<p>Ohne Topmost Style wird das Fenster trotz entfernter Minimize Box minimiert. (Wenn ich sie nicht entferne, kommt wenigstens die Nachricht &quot;OnSize(1,0,0)&quot;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309728</guid><dc:creator><![CDATA[Samuel Plentz]]></dc:creator><pubDate>Wed, 20 Jun 2007 09:33:18 GMT</pubDate></item><item><title><![CDATA[Reply to Programm nicht minimieren, wenn Desktop angezeigt werden soll (Windowstaste+D) on Wed, 20 Jun 2007 16:46:24 GMT]]></title><description><![CDATA[<p>Ich hab' zumindest noch nie erlebt dass Win+D ein Fenster <em>nicht</em> versteckt hätte.<br />
Was man öfters sieht ist dass manche Fenster wieder da sind sobald man irgendein anderes Fenster &quot;wiederherstellt&quot;, aber dass es gleich garnicht weggeht...</p>
<p>Wenn die Sache mit &quot;andere Fenster sollen drüber lieben können&quot; nicht wäre würde ich sagen DirectDraw im Fullscreen Modus, aber so... schwierig.</p>
<p>Hast du schon probiert diverse Messages ala WM_SIZE, WM_MOVE oder WM_SHOWWINDOW<br />
zu überschreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310099</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 20 Jun 2007 16:46:24 GMT</pubDate></item><item><title><![CDATA[Reply to Programm nicht minimieren, wenn Desktop angezeigt werden soll (Windowstaste+D) on Wed, 20 Jun 2007 19:49:20 GMT]]></title><description><![CDATA[<p>Was bedeutet denn Messages überschreiben?</p>
<p>Reicht es wenn ich in den Methoden, das aufrufen der Basismethode unterbinde? (siehe Beispiele) Dann hab ichs probiert und es hat nicht geklappt. Oder geht es um anderes überschreiben?</p>
<pre><code class="language-cpp">void CTestMFCDlg::OnMove(int x, int y)
{
// CDialog::OnMove(x, y);
}

void CTestMFCDlg::OnShowWindow(BOOL bShow, UINT nStatus)
{
// CDialog::OnShowWindow(bShow, nStatus);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1310200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310200</guid><dc:creator><![CDATA[Samuel Plentz]]></dc:creator><pubDate>Wed, 20 Jun 2007 19:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to Programm nicht minimieren, wenn Desktop angezeigt werden soll (Windowstaste+D) on Thu, 21 Jun 2007 12:49:07 GMT]]></title><description><![CDATA[<p>evtl in der PreTranslate aussortieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310664</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Thu, 21 Jun 2007 12:49:07 GMT</pubDate></item><item><title><![CDATA[Reply to Programm nicht minimieren, wenn Desktop angezeigt werden soll (Windowstaste+D) on Thu, 21 Jun 2007 13:41:41 GMT]]></title><description><![CDATA[<p>In der Pretranslate kommen WM_SIZE &amp; WM_MOVE Nachrichten komischerweise gar nicht an. (bei Win+D aber auch sonst irgendwie nicht)<br />
Was bei Win+D ankommt ist:</p>
<p>WM_SYSCOMMAND<br />
WM_SYSKEYDOWN<br />
WM_KEYUP</p>
<p>Aber wenn ich die Nachrichten aussortiere, schafft er es trotzdem den Desktop anzuzeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1310713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1310713</guid><dc:creator><![CDATA[Samuel Plentz]]></dc:creator><pubDate>Thu, 21 Jun 2007 13:41:41 GMT</pubDate></item></channel></rss>