如何隐藏 windows 显示隐藏系统托盘图标的 windows 句柄
How to get hidden windows handle of the windows that show hidden system tray icons
我正在尝试用 C# 编写应用程序,以捕获按下按钮 ("Show hidden icons") 时出现的隐藏 windows 的句柄。
当我们不显示所有通知区域时,我们隐藏了系统托盘图标。
当我们按下显示它们的按钮 ("Show hidden icons") 时,我们有一个新的 window,里面的所有图标:
隐藏的windows绿色圆圈
我怎样才能抓住这个隐藏的 window 的句柄?
当我使用 Spy++ 时我找不到这个 window 因为当我点击键盘上的任何其他键时 windows 消失了。
所以我找到了按钮的句柄并使用了日志记录选项:
在记录结果中我只看到 windows 个常规系统托盘工具栏的句柄:
那么我怎样才能抓住隐藏的句柄window(我在提问时用绿色标记的那个,第一张图)。
参考资料(我找到但对我没有帮助的链接):
How to capture Notification icons properties using Microsoft Spy++
Get information about hidden tray icons in windows7
我成功了!
我用 Spy++ 成功捕获了它:
代码解:
static IntPtr GetHiddenSystemTrayHandle()
{
IntPtr hWndTray = User32.FindWindow("NotifyIconOverflowWindow", null);
if (hWndTray != IntPtr.Zero)
{
if (hWndTray != IntPtr.Zero)
{
// Windows caption "Overflow Notification Area"
hWndTray = User32.FindWindowEx(hWndTray, IntPtr.Zero, "ToolbarWindow32", null);
return hWndTray;
}
}
return IntPtr.Zero;
}
我正在尝试用 C# 编写应用程序,以捕获按下按钮 ("Show hidden icons") 时出现的隐藏 windows 的句柄。
当我们不显示所有通知区域时,我们隐藏了系统托盘图标。
当我们按下显示它们的按钮 ("Show hidden icons") 时,我们有一个新的 window,里面的所有图标:
隐藏的windows绿色圆圈
我怎样才能抓住这个隐藏的 window 的句柄?
当我使用 Spy++ 时我找不到这个 window 因为当我点击键盘上的任何其他键时 windows 消失了。
所以我找到了按钮的句柄并使用了日志记录选项:
在记录结果中我只看到 windows 个常规系统托盘工具栏的句柄:
那么我怎样才能抓住隐藏的句柄window(我在提问时用绿色标记的那个,第一张图)。
参考资料(我找到但对我没有帮助的链接):
How to capture Notification icons properties using Microsoft Spy++
Get information about hidden tray icons in windows7
我成功了!
我用 Spy++ 成功捕获了它:
代码解:
static IntPtr GetHiddenSystemTrayHandle()
{
IntPtr hWndTray = User32.FindWindow("NotifyIconOverflowWindow", null);
if (hWndTray != IntPtr.Zero)
{
if (hWndTray != IntPtr.Zero)
{
// Windows caption "Overflow Notification Area"
hWndTray = User32.FindWindowEx(hWndTray, IntPtr.Zero, "ToolbarWindow32", null);
return hWndTray;
}
}
return IntPtr.Zero;
}