<?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[enumwindows, systray und icons???]]></title><description><![CDATA[<p>Tach zusammen.</p>
<p>Wie so viele andere hier versuche ich auch eine taskleiste nach zu bauen.<br />
Hab gesucht wie ein Weltmeiste und folgendes für mich entdeckt bzw. zusammengetragen:</p>
<pre><code class="language-cpp">BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
   char pcWinTitle[256]; // Für Fenster-Titel...

   if(IsWindowVisible(hwnd) &amp;&amp; (GetParent(hwnd) == NULL))
   {
        BOOL bNoOwner = (GetWindow(hwnd, GW_OWNER) == NULL);
        LONG lExStyle = GetWindowLong(hwnd, GWL_EXSTYLE);

        if( ( ((lExStyle &amp; WS_EX_TOOLWINDOW) == 0) &amp;&amp; bNoOwner ) || ((lExStyle &amp; WS_EX_APPWINDOW) &amp;&amp; !bNoOwner) )
        {
            // Fenster-Title (Caption) auslesen:
            GetWindowText(hwnd, pcWinTitle, 255);

            // Icon auslesen
            HICON icon = (HICON)GetClassLong(hwnd,GCL_HICON);

            // Eintrag in Listview
            TListItem *pItem = Form1-&gt;ListView2-&gt;Items-&gt;Add();
            pItem-&gt;Caption = AnsiString(pcWinTitle);
            TIcon *tIcon = new TIcon();
            tIcon-&gt;Handle = icon;
            if(!Form1-&gt;ListView2-&gt;SmallImages)
               Form1-&gt;ListView2-&gt;SmallImages = new TCustomImageList(Form1-&gt;ListView2);
            if(!Form1-&gt;ListView2-&gt;LargeImages)
               Form1-&gt;ListView2-&gt;LargeImages = Form1-&gt;ListView2-&gt;SmallImages;
            Form1-&gt;ListView2-&gt;SmallImages-&gt;AddIcon(tIcon);
            pItem-&gt;ImageIndex = pItem-&gt;Index;

        }
   }
   return TRUE;
}
</code></pre>
<p>Mag sein, dass das auch einfacher geht, ist aber erstmal nur ein Test, ob das auch alles so klappt.<br />
Bisher werden exakt alle &quot;Taskleistenprogramme&quot; angezeigt. Der Rest wird ja ignoriert.</p>
<p>Nun hab ich aber 2 Probleme:</p>
<p>1. Ich möchte auch die Programme aus dem Systray haben.<br />
Wie mache ich das?</p>
<p>2. Selbstverständlich interessiert mich auch, welchen Status die Programme gerade haben, also in meinem Fall<br />
- minimiert (in die Taskleiste)<br />
- minimiert (im Systray)<br />
- normal/maximiert<br />
Und wieder die Frage: Wie mache ich das?</p>
<p>Bin für jede Hilfe dankbar. Sollte ich FAQ-/Foreneinträge übersehen haben, die genau das behandeln, entschuldige ich mich schonmal vorab.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/112888/enumwindows-systray-und-icons</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 14:39:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/112888.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Jun 2005 10:45:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Fri, 17 Jun 2005 10:45:42 GMT]]></title><description><![CDATA[<p>Tach zusammen.</p>
<p>Wie so viele andere hier versuche ich auch eine taskleiste nach zu bauen.<br />
Hab gesucht wie ein Weltmeiste und folgendes für mich entdeckt bzw. zusammengetragen:</p>
<pre><code class="language-cpp">BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
   char pcWinTitle[256]; // Für Fenster-Titel...

   if(IsWindowVisible(hwnd) &amp;&amp; (GetParent(hwnd) == NULL))
   {
        BOOL bNoOwner = (GetWindow(hwnd, GW_OWNER) == NULL);
        LONG lExStyle = GetWindowLong(hwnd, GWL_EXSTYLE);

        if( ( ((lExStyle &amp; WS_EX_TOOLWINDOW) == 0) &amp;&amp; bNoOwner ) || ((lExStyle &amp; WS_EX_APPWINDOW) &amp;&amp; !bNoOwner) )
        {
            // Fenster-Title (Caption) auslesen:
            GetWindowText(hwnd, pcWinTitle, 255);

            // Icon auslesen
            HICON icon = (HICON)GetClassLong(hwnd,GCL_HICON);

            // Eintrag in Listview
            TListItem *pItem = Form1-&gt;ListView2-&gt;Items-&gt;Add();
            pItem-&gt;Caption = AnsiString(pcWinTitle);
            TIcon *tIcon = new TIcon();
            tIcon-&gt;Handle = icon;
            if(!Form1-&gt;ListView2-&gt;SmallImages)
               Form1-&gt;ListView2-&gt;SmallImages = new TCustomImageList(Form1-&gt;ListView2);
            if(!Form1-&gt;ListView2-&gt;LargeImages)
               Form1-&gt;ListView2-&gt;LargeImages = Form1-&gt;ListView2-&gt;SmallImages;
            Form1-&gt;ListView2-&gt;SmallImages-&gt;AddIcon(tIcon);
            pItem-&gt;ImageIndex = pItem-&gt;Index;

        }
   }
   return TRUE;
}
</code></pre>
<p>Mag sein, dass das auch einfacher geht, ist aber erstmal nur ein Test, ob das auch alles so klappt.<br />
Bisher werden exakt alle &quot;Taskleistenprogramme&quot; angezeigt. Der Rest wird ja ignoriert.</p>
<p>Nun hab ich aber 2 Probleme:</p>
<p>1. Ich möchte auch die Programme aus dem Systray haben.<br />
Wie mache ich das?</p>
<p>2. Selbstverständlich interessiert mich auch, welchen Status die Programme gerade haben, also in meinem Fall<br />
- minimiert (in die Taskleiste)<br />
- minimiert (im Systray)<br />
- normal/maximiert<br />
Und wieder die Frage: Wie mache ich das?</p>
<p>Bin für jede Hilfe dankbar. Sollte ich FAQ-/Foreneinträge übersehen haben, die genau das behandeln, entschuldige ich mich schonmal vorab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/811055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/811055</guid><dc:creator><![CDATA[el Clio]]></dc:creator><pubDate>Fri, 17 Jun 2005 10:45:42 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Fri, 17 Jun 2005 12:32:20 GMT]]></title><description><![CDATA[<p>el Clio schrieb:</p>
<blockquote>
<p>1. Ich möchte auch die Programme aus dem Systray haben.<br />
Wie mache ich das?</p>
</blockquote>
<p>Dazu musst due die beiden oberen ifs ganz rausnehmen bzw. lockern <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>el Clio schrieb:</p>
<blockquote>
<p>2. Selbstverständlich interessiert mich auch, welchen Status die Programme gerade haben, also in meinem Fall<br />
- minimiert (in die Taskleiste)<br />
- minimiert (im Systray)<br />
- normal/maximiert<br />
Und wieder die Frage: Wie mache ich das?</p>
</blockquote>
<p>IsIconic / schwierig / IsZoomed</p>
]]></description><link>https://www.c-plusplus.net/forum/post/811151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/811151</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Fri, 17 Jun 2005 12:32:20 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Fri, 17 Jun 2005 12:37:34 GMT]]></title><description><![CDATA[<blockquote>
<p>minimiert (im Systray)</p>
</blockquote>
<p>Fenster werden nicht in die Notification Area minimiert sondern die Programme verstecken einfach das Hauptfenster.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/811158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/811158</guid><dc:creator><![CDATA[.........]]></dc:creator><pubDate>Fri, 17 Jun 2005 12:37:34 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Wed, 22 Jun 2005 06:36:35 GMT]]></title><description><![CDATA[<p>......... schrieb:</p>
<blockquote>
<blockquote>
<p>minimiert (im Systray)</p>
</blockquote>
<p>Fenster werden nicht in die Notification Area minimiert sondern die Programme verstecken einfach das Hauptfenster.</p>
</blockquote>
<p>Und wie kann ich das abfragen?</p>
<p>flenders schrieb:</p>
<blockquote>
<p>el Clio schrieb:</p>
<blockquote>
<p>1. Ich möchte auch die Programme aus dem Systray haben.<br />
Wie mache ich das?</p>
</blockquote>
<p>Dazu musst due die beiden oberen ifs ganz rausnehmen bzw. lockern <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>
</blockquote>
<p>Wie genau? Für eine kleine Hilfe wäre ich sehr dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/814514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/814514</guid><dc:creator><![CDATA[el Clio]]></dc:creator><pubDate>Wed, 22 Jun 2005 06:36:35 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Wed, 22 Jun 2005 08:02:10 GMT]]></title><description><![CDATA[<p>el Clio schrieb:</p>
<blockquote>
<p>......... schrieb:</p>
<blockquote>
<blockquote>
<p>minimiert (im Systray)</p>
</blockquote>
<p>Fenster werden nicht in die Notification Area minimiert sondern die Programme verstecken einfach das Hauptfenster.</p>
</blockquote>
<p>Und wie kann ich das abfragen?</p>
</blockquote>
<p>Hm, vll. kannste ja testen ob das Fenster sichtbar oder eben versteckt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/814570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/814570</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Wed, 22 Jun 2005 08:02:10 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Wed, 22 Jun 2005 09:56:22 GMT]]></title><description><![CDATA[<p>hehejo schrieb:</p>
<blockquote>
<p>el Clio schrieb:</p>
<blockquote>
<p>......... schrieb:</p>
<blockquote>
<blockquote>
<p>minimiert (im Systray)</p>
</blockquote>
<p>Fenster werden nicht in die Notification Area minimiert sondern die Programme verstecken einfach das Hauptfenster.</p>
</blockquote>
<p>Und wie kann ich das abfragen?</p>
</blockquote>
<p>Hm, vll. kannste ja testen ob das Fenster sichtbar oder eben versteckt ist.</p>
</blockquote>
<p>Dann weiß man aber immer noch nicht ob das ein Icon hat.<br />
Ich denke das ist nicht möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/814646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/814646</guid><dc:creator><![CDATA[impossible]]></dc:creator><pubDate>Wed, 22 Jun 2005 09:56:22 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Wed, 22 Jun 2005 14:06:29 GMT]]></title><description><![CDATA[<p>el Clio schrieb:</p>
<blockquote>
<p>flenders schrieb:</p>
<blockquote>
<p>el Clio schrieb:</p>
<blockquote>
<p>1. Ich möchte auch die Programme aus dem Systray haben.<br />
Wie mache ich das?</p>
</blockquote>
<p>Dazu musst due die beiden oberen ifs ganz rausnehmen bzw. lockern <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>
</blockquote>
<p>Wie genau? Für eine kleine Hilfe wäre ich sehr dankbar.</p>
</blockquote>
<p>Ich würde mal die zweite if-Bedingung ganz rausnehmen und evtl. bei der ersten IsWindowVisible rausnehmen. Einfach mal bissl rumprobieren - ich weiß ja auch gar nicht genau, was du überhaupt noch für Sachen sehen willst <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>
]]></description><link>https://www.c-plusplus.net/forum/post/814864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/814864</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Wed, 22 Jun 2005 14:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Fri, 24 Jun 2005 10:07:48 GMT]]></title><description><![CDATA[<p>ok, ich lass das lieber.<br />
hab ein wenig rumgespielt, ich komme aber nicht auf das gewünschte ergebnis.</p>
<p>Ziel war es, eine Taskleiste inkl. Systray nach zu bauen.</p>
<p>Der quellcode oben entspricht dem taskleisten-teil, mit IsIconic(), IsZoomed() und GetWindowPlacement() lässt sich das auch alles ganz gut machen.</p>
<p>sobald ich aber den systray versuche bekomme ich immer massig kram, der gar nicht im systray zu sehen ist. ausserdem fehlen teilweise die icons etc.</p>
<p>ich geb das jetzt auf und beschäftige mich mal wieder mit anderen dingen. <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/816307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/816307</guid><dc:creator><![CDATA[el Clio]]></dc:creator><pubDate>Fri, 24 Jun 2005 10:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Fri, 29 Jul 2005 10:30:33 GMT]]></title><description><![CDATA[<p>Wie weit du bei deinem Projekt Shell Projekt gekommen bist.... versuche das jetzt auch mal die tage deswegen könnte man da ja vielleicht zu interessanten ergebnissen kommen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/841485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/841485</guid><dc:creator><![CDATA[TrialReg]]></dc:creator><pubDate>Fri, 29 Jul 2005 10:30:33 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Fri, 29 Jul 2005 10:42:06 GMT]]></title><description><![CDATA[<p>TrialReg schrieb:</p>
<blockquote>
<p>Wie weit du bei deinem Projekt Shell Projekt gekommen bist.... versuche das jetzt auch mal die tage deswegen könnte man da ja vielleicht zu interessanten ergebnissen kommen...</p>
</blockquote>
<p>Hab wie gesagt gar nicht mehr damit weiter gemacht. Wäre schön gewesen, aber tragisch ists auch nicht, wenn ich das bei mir nicht drin habe. Bin aber auf deine ergebnisse gespannt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/841495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/841495</guid><dc:creator><![CDATA[el Clio]]></dc:creator><pubDate>Fri, 29 Jul 2005 10:42:06 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Fri, 29 Jul 2005 18:52:58 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12999">@el</a> Clio</p>
<p>würdest du dein quellcode zu deinem programm wenn du noch hast hier vielleicht mal komplett posten (oder mir per email senden? admin[AT]<a href="http://skippy.dyndns.ws" rel="nofollow">skippy.dyndns.ws</a>) mich und andere würd das bestimmt interessieren wie du das programmiert hast</p>
<p>THX schonmal im vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/841849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/841849</guid><dc:creator><![CDATA[Skippy]]></dc:creator><pubDate>Fri, 29 Jul 2005 18:52:58 GMT</pubDate></item><item><title><![CDATA[Reply to enumwindows, systray und icons??? on Mon, 01 Aug 2005 06:07:16 GMT]]></title><description><![CDATA[<p>Skippy schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12999">@el</a> Clio</p>
<p>würdest du dein quellcode zu deinem programm wenn du noch hast hier vielleicht mal komplett posten (oder mir per email senden? admin[AT]<a href="http://skippy.dyndns.ws" rel="nofollow">skippy.dyndns.ws</a>) mich und andere würd das bestimmt interessieren wie du das programmiert hast</p>
<p>THX schonmal im v******</p>
</blockquote>
<p>Sorry, da gibts nix mehr zu posten! Hab grad nochmal alles durchsucht, scheint aber schon dem &quot;SHIFT+ENTF&quot; zum Opfer gefallen zu sein.</p>
<p>War aber auch noch nicht so viel: Im Wesentlichen so, wies im ersten Beitrag zu dem Thema hier steht. Dann gabs in der Suche (nach EnumWindows) noch ein anderes Beispiel. Die beiden hab ich dann miteinander verglichen und die Ergebnisse sichtbar gemacht. Wenn du das so zusammensetzt haste nach 10 Min. den gleichen Stand wie ich. <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/843114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/843114</guid><dc:creator><![CDATA[el Clio]]></dc:creator><pubDate>Mon, 01 Aug 2005 06:07:16 GMT</pubDate></item></channel></rss>