Posizione della barra delle applicazioni

Come posso rilevare dove si trova la barra delle applicazioni? Devo sapere per aver visualizzato la mia notifica nell’angolo destro. Grazie

Modifica: Grazie Hans Passant. L’ho usato con questo per ottenere la posizione. Spero sia ok.

GetTaskbarLocation(TaskbarPosition.GetTaskbarPosition()); private void GetTaskbarLocation(Rectangle rc) { if (rc.X == rc.Y) { if (rc.Right  rc.Bottom) taskbarLocation = TaskbarLocation.Top; } if (rc.X > rc.Y) taskbarLocation = TaskbarLocation.Right; if (rc.X < rc.Y) taskbarLocation = TaskbarLocation.Bottom; } 

  public static Rectangle GetTaskbarPosition() { var data = new APPBARDATA(); data.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(data); IntPtr retval = SHAppBarMessage(ABM_GETTASKBARPOS, ref data); if (retval == IntPtr.Zero) throw new Win32Exception("Please re-install Windows"); return new Rectangle(data.rc.left, data.rc.top, data.rc.right - data.rc.left, data.rc.bottom - data.rc.top); } // P/Invoke goo: private const int ABM_GETTASKBARPOS = 5; [System.Runtime.InteropServices.DllImport("shell32.dll")] private static extern IntPtr SHAppBarMessage(int msg, ref APPBARDATA data); private struct APPBARDATA { public int cbSize; public IntPtr hWnd; public int uCallbackMessage; public int uEdge; public RECT rc; public IntPtr lParam; } private struct RECT { public int left, top, right, bottom; } 
 SHAppBarMessage(ABM_GETTASKBARPOS) 

Vedere la funzione SHAppBarMessage e il messaggio ABM_GETTASKBARPOS per ulteriori informazioni e la pagina pinvoke per SHAppBarMessage ha un esempio VB.Net che non dovrebbe essere troppo difficile da tradurre.

La funzione SHAppBarMessage restituirà le informazioni sulla barra delle applicazioni se si passa il messaggio ABM_GETTASKBARPOS . Ha un parametro out che è un puntatore a APPBARDATA che contiene lo schermo cooridinato della barra delle applicazioni. Puoi usarlo per capire dove si trova sullo schermo.

Probabilmente è meglio usare l’API disponibile: NotifyIcon.ShowBalloonTip :

 void Form1_DoubleClick(object sender, EventArgs e) { notifyIcon1.Visible = true; notifyIcon1.ShowBalloonTip(20000, "Information", "This is the text", ToolTipIcon.Info ); }