@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: Retrieves the Notifyicon bounding rectangle. !!!!C# Signature: [DllImport("shell32.dll", SetLastError = true)] static extern int Shell_NotifyIconGetRect([In]ref NOTIFYICONIDENTIFIER identifier, [Out]out RECT iconLocation); !!!!User-Defined Types: NOTIFYICONIDENTIFIER RECT !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: Minimum supported client: Windows 7 [desktop apps only] Minimum supported server: Windows Server 2008 R2 [desktop apps only] !!!!Tips & Tricks: Please add some! !!!!Sample Code: [StructLayout(LayoutKind.Sequential)] public struct RECT { public Int32 left; public Int32 top; public Int32 right; public Int32 bottom; } [StructLayout(LayoutKind.Sequential)] public struct NOTIFYICONIDENTIFIER { public uint cbSize; public IntPtr hWnd; public uint uID; public Guid guidItem; } [DllImport("shell32.dll", SetLastError = true)] private static extern int Shell_NotifyIconGetRect([In]ref NOTIFYICONIDENTIFIER identifier, [Out]out RECT iconLocation); public static RECT GetNotifyIconRect(IntPtr windowHandle, uint taskbarIconId) { var rect = new RECT(); var notifyIcon = new NOTIFYICONIDENTIFIER(); notifyIcon.cbSize = (uint)Marshal.SizeOf(notifyIcon.GetType()); notifyIcon.hWnd = windowHandle; notifyIcon.uID = taskbarIconId; var hresult = Shell_NotifyIconGetRect(ref notifyIcon, out rect); if (hresult == 0x80004005) { // E_FAIL, will happen if the icon is not there. throw new Win32Exception(hresult, "Failed to get icon position."); } if (hresult != 0) { throw new Win32Exception(hresult); } return rect; } Documentation: Shell_NotifyIconGetRect@msdn on MSDN
Edit shell32.Shell_Not...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.