<?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[Taskbar Button]]></title><description><![CDATA[<p>Hi,<br />
ich habe mit Hilfe von COM (ITaskbarList) den Button des Fensters unten aus der Taskbar entfernt. Ich kann normal weiterarbeiten und das Fenster auch minimieren. Will ich es allerdings wiederherstellen, so erscheint der Button wieder in der Taskbar (was nicht gewollt ist). Es soll eigentlich erst duch Aufruf der entsprechenden AddTab Funktion wieder ein Button erscheinen.<br />
U.a. zwei Funktionen sind für dieses Verhalten verantwortlich:<br />
ShowWindow(hWnd, SW_SHOWNORMAL) und SetForegroundWindow(hWnd).<br />
Beide ruf ich auf und bei beiden erscheint sogleich der Button wieder in der Taskbar ( SetForegroundWindow() rufe ich wegen einem Popup Menu auf, das Fenster wird dabei sogar nichtmal maximiert).</p>
<p>Hat jemand eine Idee, woran das liegen koennte? Ich kann mir nicht vorstellen, dass das so gewollt ist. Dann haette die COM Funktion ja quasi wenig Sinn, wenn das bei jedem Maximieren/Wiederherstellen o.ä. sowieso überschrieben wird.</p>
<p>Hoffe mir kann jemand helfen</p>
<p>Gruss,<br />
DeSoVoDaMu</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/104465/taskbar-button</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 04:08:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/104465.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Mar 2005 21:13:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Taskbar Button on Sat, 19 Mar 2005 21:13:52 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich habe mit Hilfe von COM (ITaskbarList) den Button des Fensters unten aus der Taskbar entfernt. Ich kann normal weiterarbeiten und das Fenster auch minimieren. Will ich es allerdings wiederherstellen, so erscheint der Button wieder in der Taskbar (was nicht gewollt ist). Es soll eigentlich erst duch Aufruf der entsprechenden AddTab Funktion wieder ein Button erscheinen.<br />
U.a. zwei Funktionen sind für dieses Verhalten verantwortlich:<br />
ShowWindow(hWnd, SW_SHOWNORMAL) und SetForegroundWindow(hWnd).<br />
Beide ruf ich auf und bei beiden erscheint sogleich der Button wieder in der Taskbar ( SetForegroundWindow() rufe ich wegen einem Popup Menu auf, das Fenster wird dabei sogar nichtmal maximiert).</p>
<p>Hat jemand eine Idee, woran das liegen koennte? Ich kann mir nicht vorstellen, dass das so gewollt ist. Dann haette die COM Funktion ja quasi wenig Sinn, wenn das bei jedem Maximieren/Wiederherstellen o.ä. sowieso überschrieben wird.</p>
<p>Hoffe mir kann jemand helfen</p>
<p>Gruss,<br />
DeSoVoDaMu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/748548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/748548</guid><dc:creator><![CDATA[DeSoVoDaMu]]></dc:creator><pubDate>Sat, 19 Mar 2005 21:13:52 GMT</pubDate></item><item><title><![CDATA[Reply to Taskbar Button on Sun, 20 Mar 2005 00:57:43 GMT]]></title><description><![CDATA[<p>Geht das nicht auch ohne COM? Das Problem wurde hier schon einige Male erfolgreich besprochen (wurde glaube ich über die Window-Styles eines Fenstern festgelegt). Wenn du es unbedingt mit COM machen willst, kann ich dir auf Anhieb leider nicht weiter helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/748669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/748669</guid><dc:creator><![CDATA[Herrmann]]></dc:creator><pubDate>Sun, 20 Mar 2005 00:57:43 GMT</pubDate></item><item><title><![CDATA[Reply to Taskbar Button on Sun, 20 Mar 2005 07:52:30 GMT]]></title><description><![CDATA[<p>Schau dir mal <a href="http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int_programming/taskbar.asp" rel="nofollow">hier</a> den Abschnitt &quot;Managing Taskbar Buttons&quot; an <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>
]]></description><link>https://www.c-plusplus.net/forum/post/748685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/748685</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 20 Mar 2005 07:52:30 GMT</pubDate></item><item><title><![CDATA[Reply to Taskbar Button on Sun, 20 Mar 2005 10:16:12 GMT]]></title><description><![CDATA[<p>Danke für die schnellen Antworten <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>Herrmann schrieb:</p>
<blockquote>
<p>Das Problem wurde hier schon einige Male erfolgreich besprochen (wurde glaube ich über die Window-Styles eines Fenstern festgelegt)</p>
</blockquote>
<p>Gib mir doch bitte mal einen Link auf den Beitrag, in dem das erfolgreich besprochen wurde, ich finde nichts <strong>brauchbares</strong>.</p>
<p>Im übrigen habe ich es mit den Window Styles schon hoffnungslos probiert -.- :<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-103772.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-103772.html</a></p>
<p>Flenders schrieb:</p>
<blockquote>
<p>Schau dir mal hier den Abschnitt &quot;Managing Taskbar Buttons&quot; an <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>
</blockquote>
<p>Das bringt mich nur bedingt weiter. Ich kann mit</p>
<p>MSDN schrieb:</p>
<blockquote>
<p>The Shell will remove a window's button from the taskbar <strong>only if the window's style supports visible taskbar buttons.</strong></p>
</blockquote>
<p>nicht wirklich viel anfangen. Ich finde nirgends was dazu, welche Window Styles Taskbar Buttons nicht unterstützen, ausser WS_EX_TOOLWINDOW.</p>
<p>Habe es also nochmal mit WS_EX_TOOLWINDOW probiert:</p>
<pre><code class="language-cpp">::ShowWindow(hWnd, SW_HIDE);
	if (bAdd) ::SetWindowLong(hWnd, GWL_EXSTYLE, ::GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_TOOLWINDOW);
	else ::SetWindowLong(hWnd, GWL_EXSTYLE, ::GetWindowLong(hWnd, GWL_EXSTYLE) &amp; ~WS_EX_TOOLWINDOW);
	::ShowWindow(hWnd, SW_SHOW);
</code></pre>
<p>So geht es zwar, aber es aendert sich auch immer der Style von ToolWindow zu &quot;normalem&quot; OverlappedWindow. Das kanns ja auch nicht sein oder?</p>
<p>Ratschlaege? Tips? Fehler entdeckt? Kann mir nicht vorstellen, dass das so kompliziert sein kann <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>Gruss,<br />
DeSoVoDaMu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/748747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/748747</guid><dc:creator><![CDATA[DeSoVoDaMu]]></dc:creator><pubDate>Sun, 20 Mar 2005 10:16:12 GMT</pubDate></item><item><title><![CDATA[Reply to Taskbar Button on Sun, 20 Mar 2005 10:58:10 GMT]]></title><description><![CDATA[<p>Ich würde ein Dummy-Fenster machen, das nich sichtbar ist und das dann als Parent-Fenster des richtigen Fensters machen.<br />
Dann erscheint fürs richtige Fenster kein Taskbar-Button (es sei denn man gibt WS_EX_APPWINDOW an...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/748764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/748764</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sun, 20 Mar 2005 10:58:10 GMT</pubDate></item><item><title><![CDATA[Reply to Taskbar Button on Sun, 20 Mar 2005 16:28:27 GMT]]></title><description><![CDATA[<p>geeky schrieb:</p>
<blockquote>
<p>Ich würde ein Dummy-Fenster machen, das nich sichtbar ist und das dann als Parent-Fenster des richtigen Fensters machen.</p>
</blockquote>
<p>Das geht zwar ansich, allerdings bei mir nur ein einziges mal.<br />
Wenn ich den Dialog mit<br />
[cpp]g_hDlg = ::CreateDialog( ::GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DESOSTIMER), <strong>g_hInvisibleWnd</strong>, DlgProc);[/cpp]<br />
erstelle habe ich zwar kein Taskbar Button, aber sobald ich einen mit ::SetParent(g_hDlg, 0); erzeuge kann ich ihn nicht wieder entfernen, weil dann ::SetParent(g_hDlg, g_hInvisibleWnd); das Fenster verschwinden laesst. Ich kann es dann auch nicht wieder mit ::ShowWindow(g_hDlg, SW_SHOW); anzeigen lassen <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>Erzeuge ich den Dialog ohne ein Parent zu setzen kann ich den Taskbar Button garnicht entfernen <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>Noch Ideen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Gruss,<br />
DeSoVoDaMu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/748945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/748945</guid><dc:creator><![CDATA[DeSoVoDaMu]]></dc:creator><pubDate>Sun, 20 Mar 2005 16:28:27 GMT</pubDate></item><item><title><![CDATA[Reply to Taskbar Button on Sun, 20 Mar 2005 19:36:24 GMT]]></title><description><![CDATA[<p>Anstatt das Parent-Fenster zu ändern kannst du auch einfach ShowWindow mit SW_SHOW / SW_HIDE für das unsichtbare Parent-Fenster (z.B. Größe 0 und WS_POPUP) aufrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/749045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/749045</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 20 Mar 2005 19:36:24 GMT</pubDate></item><item><title><![CDATA[Reply to Taskbar Button on Sun, 20 Mar 2005 19:38:03 GMT]]></title><description><![CDATA[<p>Oder auch so:</p>
<blockquote>
<p>The Shell will remove a window's button from the taskbar only if the window's style supports visible taskbar buttons. If you want to dynamically change a window's style to one that doesn't support visible taskbar buttons, you must hide the window first (by calling ShowWindow with SW_HIDE), change the window style, and then show the window.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/749047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/749047</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 20 Mar 2005 19:38:03 GMT</pubDate></item><item><title><![CDATA[Reply to Taskbar Button on Mon, 21 Mar 2005 01:52:55 GMT]]></title><description><![CDATA[<p>Mein Tipp: Unsichtbares Parent verwenden (s.o.). Zum Umschalten von &quot;Taskbar-Button visible/nicht visible&quot; WS_EX_APPWINDOW mit SetWindowLong() für das Child ein- und ausschalten. Nach einem Umschalten immer nochmal SetWindowPos() verwenden, damit der Effekt sichtbar ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/749224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/749224</guid><dc:creator><![CDATA[WebFritzi]]></dc:creator><pubDate>Mon, 21 Mar 2005 01:52:55 GMT</pubDate></item><item><title><![CDATA[Reply to Taskbar Button on Mon, 21 Mar 2005 15:09:49 GMT]]></title><description><![CDATA[<p>flenders schrieb:</p>
<blockquote>
<p>Anstatt das Parent-Fenster zu ändern kannst du auch einfach ShowWindow mit SW_SHOW / SW_HIDE für das unsichtbare Parent-Fenster (z.B. Größe 0 und WS_POPUP) aufrufen.</p>
</blockquote>
<p>Ok, so scheint es zu gehen. Zwar finde ich es nicht astrein, vorallem, weil man dann verschiedenste Nachrichten vom Parent zum Child weiterleiten muss, aber da es scheinbar die einzige gehende Moeglichkeit ist, bleibt mir nichts anderes übrig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>WebFritzi schrieb:</p>
<blockquote>
<p>Mein Tipp: Unsichtbares Parent verwenden (s.o.). Zum Umschalten von &quot;Taskbar-Button visible/nicht visible&quot; WS_EX_APPWINDOW mit SetWindowLong() für das Child ein- und ausschalten. Nach einem Umschalten immer nochmal SetWindowPos() verwenden, damit der Effekt sichtbar ist.</p>
</blockquote>
<p>Waere echt genial, wenn du dazu einen funktionierenden Code postest, ich habe das auf die Weise zig hundert mal erfolglos probiert <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>Danke schonmal allen Helfern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Gruss,<br />
DeSoVoDaMu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/749563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/749563</guid><dc:creator><![CDATA[DeSoVoDaMu]]></dc:creator><pubDate>Mon, 21 Mar 2005 15:09:49 GMT</pubDate></item></channel></rss>