Shell_notifyicongetrect Site
Beyond the Balloon: Using Shell_NotifyIconGetRect to Find Your Notify Icon’s Exact Screen Location
However, for years, there was a glaring gap in the API: shell_notifyicongetrect
If you have ever built a Windows application that uses a system tray icon (Notify Icon), you are familiar with Shell_NotifyIcon . It is the workhorse for adding, modifying, or deleting icons in the notification area (systray). public IntPtr hWnd
[StructLayout(LayoutKind.Sequential)] struct NOTIFYICONIDENTIFIER { public uint cbSize; public IntPtr hWnd; public uint uID; public Guid guidItem; // Usually Guid.Empty for simple cases } [DllImport("shell32.dll", CharSet = CharSet.Unicode, PreserveSig = false)] static extern void Shell_NotifyIconGetRect(ref NOTIFYICONIDENTIFIER identifier, out RECT iconRect); public uint uID