Frage

Ich schreibe eine Anwendung in C ++, dass läuft als System-Tray-Symbol. Wenn zunächst die Anwendung des Hauptdialog lädt anläuft und Fokus nimmt, was nicht das Verhalten will ich es hat. Gibt es eine Möglichkeit, das System Tray-Icon zu laden, ohne den Hauptdialog Last mit bis?

War es hilfreich?

Lösung

Wenn Sie den Standard mfc Projekt-Assistenten verwenden, dann den Code, der zeigt der Dialog der in Ihren Anwendungen InitInstance Methode ist.

Kommentar einfach die dlg.DoModal() und m_pMainWnd = &dlg; Teile und Sie werden in Ordnung sein.

Beachten Sie, dass Sie Ihre eigene Mitteilung Schleife sonst Ihre Anwendung haben könnten Code wird nur nach diesen Änderungen verlassen.

Andere Tipps

Ich würde sagen, Sie Systray-Code und das Fenster Code trennen müssen, und nur das Fenster angezeigt, wenn der Systray genannt wird. Sie können jedoch jederzeit anrufen

ShowWindow(SH_HIDE);

http://www.codeguru.com/forum/showthread. php? t = 231032

Die übliche Art, wie ich dies tue, ist eine unsichtbare dialogbasierte Anwendung zu erstellen, und zeigt nur das Fenster, wenn der Benutzer interagiert mit dem Tray-Icon. siehe Beispielcode, wie dies zu tun, hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top