4

J'ai une application avec une icône dans la zone de notification.
Lorsque vous cliquez avec le bouton droit sur l'icône de la barre d'état, elle affiche un menu dans lequel l'utilisateur peut sélectionner une action.
J'ai trouvé que si j'ai une application en plein écran en cours d'exécution, puis utilisez alt + esc pour accéder à l'icône de la barre d'état. Ensuite, lorsque je clique avec le bouton droit sur l'icône, le menu apparaîtra derrière (sous) la barre des tâches de Windows.
Dans certains cas, le menu est si bas qu'il n'est pas possible de sélectionner l'élément de menu le plus bas dans le menu contextuel.
Lorsque ce n'est pas une application en plein écran qui est en face, le menu s'affiche correctement en haut de la barre des tâches. J'ai également testé sur Windows 7 où il fonctionne très bien avec une application en plein écran.
J'ai essayé avec différentes applications en plein écran comme Internet Explorer, Notepad ++ mais la même chose arrive.
Je peux aussi voir qu'il y a beaucoup d'autres applications comme "Skype for business" et "Radeon Settings" qui font la même chose.
Skype Entreprise avec menu derrière la barre des tâches: enter image description here

Pour les applications de Windows 10 intégrées cela fonctionne mieux.
Les composants Windows Time et Language de la barre des tâches afficheront les menus en haut de la barre des tâches avec la nouvelle disposition Windows 10 (noir)
Les icônes Windows Sound et Network masqueront la barre des tâches tout en affichant un menu contextuel régulier, mais garder le menu de démarrage ouvert. (Cela semble toutefois un peu étrange)

J'ai essayé avec l'exemple de NotificationIcon à partir du SDK de Windows mais cela ne fonctionne pas correctement.

Donc, la question est de savoir quelle est la bonne façon de programmer l'affichage des menus contextuels de Windows 10?
Mon code ressemble à ceci.Menu de la barre des tâches de Windows 10 derrière la barre des tâches

case WM_RBUTTONDOWN: 
{ 
    SetForegroundWindow(); 
    CMenu menu; 
    menu.LoadMenu(ID_TRAY_MENU_SHOW_APP); 
    CMenu* pPopup = menu.GetSubMenu (0) ; 
    GetCursorPos (&pt) ; 
    pPopup->TrackPopupMenu (TPM_LEFTALIGN | TPM_RIGHTBUTTON,pt.x, pt.y, this); 
} 

Merci pour vous aider à

+0

Je suis confronté à un problème similaire. Avez-vous trouvé comment résoudre ce problème? Merci. – baldpate

+0

Non Je n'ai trouvé aucune solution. J'ai également écrit sur le forum msdn. https://social.msdn.microsoft.com/Forums/en-US/b5b451cd-f908-4d99-8ddf-0bc4ef35c99b/windows-10-tray-menu-behind-taskbar?forum=windowscompatibility Mais la réponse que j'ai reçue n'a pas Aidez-moi. Enfin, j'ai également soumis des commentaires sur le centre de retour MS. – Kennet

+0

@Kennet Hey. Des mises à jour comment vous avez résolu cela? – semanser

Répondre

-1

Celui-ci a fait le tour pour moi dans W10 lorsqu'on éprouve le même problème avec le menu du plateau du centre de contrôle de catalyseur:

  • Déverrouillez la barre des tâches
  • Déplacer à tout autre côté du bureau
  • Verrouiller et déverrouiller la barre des tâches
  • retournez à votre position préférée et verrouillez-la

Peut-être que c'est un problème client et pas du tout lié à votre code.

Source: http://www.thewindowsclub.com/fix-windows-7-start-menu-hides-behind-the-taskbar

+0

Je suis d'accord, j'étais un peu trop concis.Édité incorporant vos conseils. – Ploxl

+0

J'ai essayé mais ça ne change rien – Kennet

1

Il est un bug de Windows 10, que je l'ai remarqué avec de nombreuses applications. C'est comme si MS ne définissait pas correctement la barre des tâches. Été presque 2 ans sans correction ... peut-être dans un autre couple.