public static Interop.Point GetMousePosition(TaskbarIcon icon) { Interop.Point cursorPosition = new Interop.Point(); if (icon.MessageSink.Version == NotifyIconVersion.Vista) { //physical cursor position is supported for Vista and above WinApi.GetPhysicalCursorPos(ref cursorPosition); } else { WinApi.GetCursorPos(ref cursorPosition); } return(icon.GetDeviceCoordinates(cursorPosition)); }