我在系统托盘中有一个图标的应用程序。
当您右键单击托盘图标时,它会显示一个菜单,用户可以在其中选择一个操作。
我发现,如果我有一个全屏应用程序运行,然后使用alt + esc到托盘图标。然后,当我右键单击图标时,菜单将显示在windows任务栏后面。
在某些情况下,菜单太低,无法在上下文菜单中选择最低菜单项。
当前面不是全屏应用程序时,菜单就正确地显示在任务栏的顶部。我在windows 7上也有睾丸,它在全屏应用程序中运行得很好。
我试过使用不同的全屏应用程序,比如internet、Notepad++,但是同样的事情也发生了。
我还可以看到,还有很多其他的应用程序,比如“Skype for business”和“Radeon Settings”,它们都在做同样的事情。
用于商务的Skype和菜单后面的任务栏:

对于内置的windows 10应用程序,这更好用。
系统托盘的Windows时间和语言部分将显示带有新的windows 10布局(黑色)的任务栏顶部的菜单。
Windows声音和网络图标将隐藏任务栏,同时显示常规的右键单击菜单,但保持“开始”菜单打开。(但这看上去有点奇怪)
我尝试过使用windows中的NotificationIcon示例,但这也不能正常工作。
那么问题是,怎样才能正确地显示windows 10的托盘上下文菜单呢?
我的代码看起来是这样的。
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 );
}谢谢你的帮助
发布于 2017-01-02 22:12:42
这是Windows 10的一个错误,我在许多应用程序中都注意到了这一点。就好像MS没有正确地定义任务栏一样。已经两年了还没修好..。也许在另一对。
发布于 2016-09-28 16:54:14
当触媒控制中心的托盘菜单遇到同样的问题时,这一个在W10做了个小把戏:
也许这是一个客户端问题,与您的代码完全无关。
来源:http://www.thewindowsclub.com/fix-windows-7-start-menu-hides-behind-the-taskbar
发布于 2020-10-28 07:38:30
我可以确认,这似乎是一个Windows错误,在我的Windows 10实例中随机发生。这似乎发生在我停靠或从停靠站卸下笔记本后从睡梦中醒来时,在那里我使用不同的监视器设置。但很难说这是否是原因。
如果发生这种情况,我将运行一个批处理脚本,其内容如下:
taskkill /F /IM explorer.exe
# Wait a few seconds
ping -n 3 127.0.0.1 > NUL 2>&1
start explorer.exe这将重新启动Windows资源管理器,所有托盘菜单再次出现在任务栏前面。
https://stackoverflow.com/questions/38305382
复制相似问题