Wie auch immer, um zu verhindern, dass Windows die App nach vorne bringt, wenn ein Kontextmenü auf dem Taskleistensymbol angezeigt wird?


1

Wir haben dieses lästige Problem, wo wir ein Kontextmenü auf unserem Tray-Icon haben, wenn wir dieses Kontextmenü anzeigen haben SetForegroundWindow und bringen Sie es nach vorne. Das ist wirklich nervig und überhaupt nicht was wir wollen.

Gibt es eine Problemumgehung, stelle ich fest, dass Outlook MS Messenger und andere MS-Anwendungen nicht leiden, vielleicht verwenden sie kein Standardmenü und mussten ihre eigenen schreiben ... warum sie diesen Code nicht freigeben, wenn sie haben?

Dieser Artikel beschreibt die "als Design-Verhalten: Menus for Notification Icons Do Not Work Correctly

EDIT Wir sind mit C++/Win32 nicht Formen, also verwenden wir TrackPopupMenu.

2

Verwenden Sie ContextMenu oder ContextMenuStrip?

Sie sagen, dass das Öffnen des ContextMenu auf einem Trayicon alle App-Formulare fokussiert?

Ich habe das nicht erlebt, obwohl ich die neuere ContextMenuStrip-Klasse, nicht ContextMenu für meine Trayicons verwenden.

EDIT: Wäre nett zu wissen, ob Sie Windows.Forms oder WIN32 oder MFC oder was verwenden.