<?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[System Tray - Das Icon verschwindet immer...]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich bin ein absoluter MFC/Win32 Noob. Zurzeit steht ein Projekt für mich in Visual .Net (C++) an. Normalerweiser prog ich aber in Java...<br />
Darum habe ich mal ne kurze Frage zu einem generellen Problem das ich habe:<br />
Ich versuche mein Fenster mit ShowWindow(WS_HIDE) beim InitDialog zu verstecken und nur ein Symbol im System Tray anzuzeigen. Hier der Code:</p>
<pre><code class="language-cpp">...

ShowWindow(SW_HIDE);		
// TODO: Hier zusätzliche Initialisierung einfügen

someData.cbSize = sizeof(NOTIFYICONDATA);
someData.hWnd = (HWND)GetWindow(GW_OWNER);
someData.uID = 815;
someData.uFlags = NIF_ICON | NIF_MESSAGE;
someData.uCallbackMessage = WM_MOUSEMOVE;			
someData.hIcon = m_hIcon;
Shell_NotifyIcon(NIM_ADD, &amp;someData);

return TRUE;  // Geben Sie TRUE zurück, außer ein Steuerelement soll den Fokus erhalten
}
</code></pre>
<p>Wenn ich jetzt versuche bei someData.uFlags das Flag NIF_STATE hinzuzufügen kommt es zu einem Kompilierfehler:<br />
c:\VSDEV\EPQuickDlg.cpp(109) : error C2065: 'NIF_STATE': nichtdeklarierter Bezeichner<br />
NIF_STATE soll aber angeblich ab Version 5 (was auch immer das bedeutet) vorhanden sein. Ich prog auf einem Win2000 Rechner mit IE 6.0... also werde ich doch Version 5.0 haben, oder? Oder muß ich da noch was in den Linker einbinden?</p>
<p>Eine weiter Frage:<br />
Warum verschwindet das Icon im System Tray immer wenn ich mit der Maus darüber gehe?</p>
<p>Ich hoffe das mir hier jemand helfen kann...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/63601/system-tray-das-icon-verschwindet-immer</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 06:29:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/63601.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Feb 2004 09:15:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Tue, 03 Feb 2004 09:15:58 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich bin ein absoluter MFC/Win32 Noob. Zurzeit steht ein Projekt für mich in Visual .Net (C++) an. Normalerweiser prog ich aber in Java...<br />
Darum habe ich mal ne kurze Frage zu einem generellen Problem das ich habe:<br />
Ich versuche mein Fenster mit ShowWindow(WS_HIDE) beim InitDialog zu verstecken und nur ein Symbol im System Tray anzuzeigen. Hier der Code:</p>
<pre><code class="language-cpp">...

ShowWindow(SW_HIDE);		
// TODO: Hier zusätzliche Initialisierung einfügen

someData.cbSize = sizeof(NOTIFYICONDATA);
someData.hWnd = (HWND)GetWindow(GW_OWNER);
someData.uID = 815;
someData.uFlags = NIF_ICON | NIF_MESSAGE;
someData.uCallbackMessage = WM_MOUSEMOVE;			
someData.hIcon = m_hIcon;
Shell_NotifyIcon(NIM_ADD, &amp;someData);

return TRUE;  // Geben Sie TRUE zurück, außer ein Steuerelement soll den Fokus erhalten
}
</code></pre>
<p>Wenn ich jetzt versuche bei someData.uFlags das Flag NIF_STATE hinzuzufügen kommt es zu einem Kompilierfehler:<br />
c:\VSDEV\EPQuickDlg.cpp(109) : error C2065: 'NIF_STATE': nichtdeklarierter Bezeichner<br />
NIF_STATE soll aber angeblich ab Version 5 (was auch immer das bedeutet) vorhanden sein. Ich prog auf einem Win2000 Rechner mit IE 6.0... also werde ich doch Version 5.0 haben, oder? Oder muß ich da noch was in den Linker einbinden?</p>
<p>Eine weiter Frage:<br />
Warum verschwindet das Icon im System Tray immer wenn ich mit der Maus darüber gehe?</p>
<p>Ich hoffe das mir hier jemand helfen kann...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/450295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/450295</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Tue, 03 Feb 2004 09:15:58 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Tue, 03 Feb 2004 09:53:33 GMT]]></title><description><![CDATA[<p>zur zweiten frage: wahrscheinlich wegen WM_MOUSEMOVE</p>
<p>hab sowas auch mal gemacht... funzt einwandfrei... vielleicht hab ich nacher zeit es dir rauszukramen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/450329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/450329</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Tue, 03 Feb 2004 09:53:33 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Tue, 03 Feb 2004 10:33:42 GMT]]></title><description><![CDATA[<p>Jo das wäre nett ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/450350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/450350</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Tue, 03 Feb 2004 10:33:42 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Thu, 21 Oct 2004 14:03:41 GMT]]></title><description><![CDATA[<p>Ich hab für den Systray mal eine Klasse geschrieben, für<br />
Dialogbasierte Anwendungen, Einfach als Basisklasse benutzen, fertig.<br />
<a href="http://devil81.de/shared/php/download.php?file=TrayDlg.zip&amp;pid=17&amp;dwldid=2" rel="nofollow">CTray</a></p>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/450365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/450365</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Thu, 21 Oct 2004 14:03:41 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Tue, 03 Feb 2004 12:27:52 GMT]]></title><description><![CDATA[<p>Also als uCallbackMessage hab ich immer WM_ICONNOTIFY und WM_ICONNOTIFY defiere ich so:</p>
<pre><code class="language-cpp">#define WM_ICONNOTIFY (WM_USER+1)
</code></pre>
<p>Klappt auf jeden fall...</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/450444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/450444</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Tue, 03 Feb 2004 12:27:52 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Tue, 03 Feb 2004 15:20:55 GMT]]></title><description><![CDATA[<p>Hi Hansi,</p>
<p>mein Icon verschwindet trotzdem...??<br />
Ach und kannst Du mir kurz erklären was diese WM_USER+1 macht?<br />
Bin ein echter Win32 Noob <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="😉"
    /><br />
Das Event Handling unter Java funkt irgendwie anders ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/450673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/450673</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Tue, 03 Feb 2004 15:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Tue, 03 Feb 2004 16:03:25 GMT]]></title><description><![CDATA[<p>Devil ich probier deine Klasse morgen früh gleich mal aus !!! THX Schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/450729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/450729</guid><dc:creator><![CDATA[Win32Noob]]></dc:creator><pubDate>Tue, 03 Feb 2004 16:03:25 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Tue, 03 Feb 2004 21:27:33 GMT]]></title><description><![CDATA[<p>Also als kompletten Code habe ich in DefWindowProc in der MainFrame:</p>
<pre><code class="language-cpp">if( message == WM_SYSCOMMAND )
	{
		if( wParam == SC_MINIMIZE )
		{
			NOTIFYICONDATA	tnid;

			tnid.cbSize				= sizeof( NOTIFYICONDATA );
			tnid.hWnd				= AfxGetMainWnd()-&gt;GetSafeHwnd();
			tnid.uID				= 0;
			tnid.uFlags				= NIF_MESSAGE | NIF_ICON | NIF_TIP;
			tnid.uCallbackMessage	= WM_ICONNOTIFY;
			tnid.hIcon				= AfxGetApp()-&gt;LoadIcon(IDR_MAINFRAME);
			lstrcpyn( tnid.szTip, AfxGetAppName(), sizeof(tnid.szTip) );

			Shell_NotifyIcon( NIM_ADD, &amp;tnid );

			AfxGetApp()-&gt;HideApplication();

			return 0;
		}
	}
	else if( message == WM_ICONNOTIFY &amp;&amp; lParam != WM_MOUSEMOVE )
	{
		NOTIFYICONDATA	tnid;

		tnid.cbSize				= sizeof( NOTIFYICONDATA );
		tnid.hWnd				= AfxGetMainWnd()-&gt;GetSafeHwnd();
		tnid.uID				= 0;

		Shell_NotifyIcon( NIM_DELETE, &amp;tnid );

		AfxGetMainWnd()-&gt;ShowWindow( SW_SHOW );
		AfxGetMainWnd()-&gt;UpdateWindow();
		AfxGetMainWnd()-&gt;SetActiveWindow();

		return 0;
	}
</code></pre>
<p>WM_USER is irgendwie gut für eigene Messages zu Definieren, mehr weiß ich dadrüber auch net... Deshalb brauchst du vielleicht auch noch den Teil unter</p>
<pre><code class="language-cpp">else if( message == WM_ICONNOTIFY &amp;&amp; lParam != WM_MOUSEMOVE )
</code></pre>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/451041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/451041</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Tue, 03 Feb 2004 21:27:33 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Wed, 04 Feb 2004 07:58:05 GMT]]></title><description><![CDATA[<p>Windows hat ja auch eigene Messages definiert, die sollte man möglichst nicht für eigene Messages missbrauchen. WM_USER gibt die Grenze zwischen Windows-Messages und freien Messages an.</p>
<p>Gruß,<br />
phips!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/451220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/451220</guid><dc:creator><![CDATA[Phips!]]></dc:creator><pubDate>Wed, 04 Feb 2004 07:58:05 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Wed, 04 Feb 2004 08:54:17 GMT]]></title><description><![CDATA[<p><a href="http://www.codeproject.com/shell/YaTrayMin.asp" rel="nofollow">http://www.codeproject.com/shell/YaTrayMin.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/451254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/451254</guid><dc:creator><![CDATA[anleitung]]></dc:creator><pubDate>Wed, 04 Feb 2004 08:54:17 GMT</pubDate></item><item><title><![CDATA[Reply to System Tray - Das Icon verschwindet immer... on Fri, 07 May 2004 08:13:18 GMT]]></title><description><![CDATA[<p>hiho, danke ... sehr nützlich <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>Allerdings wird das ganze nur korrekt funktioneren wenn man am Schluß die Standardeigenschaften von DefWindowProc aus der CFrameWnd lädt, sprich ...</p>
<pre><code>CFrameWnd::DefWindowProc(message, wParam, lParam);
</code></pre>
<p>P.S.: habs ohne die vererbung probiert, hab nur fehler im fensteraufbau gehabt !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/515773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/515773</guid><dc:creator><![CDATA[MikeTC!]]></dc:creator><pubDate>Fri, 07 May 2004 08:13:18 GMT</pubDate></item></channel></rss>