private void Form1_Resize(object sender, System.EventArgs e) { if (FormWindowState.Minimized == WindowState) Hide(); } private void notifyIcon1_DoubleClick(object sender, System.EventArgs e) { Show(); WindowState = FormWindowState.Normal; }
public class Desktop { #region API [DllImport("user32.dll", EntryPoint="SystemParametersInfoA")] private static extern int SystemParametersInfo (int uAction, int uParam, BarUi.RECT lpvParam, int fuWinIni); private const int SPI_GETWORKAREA = 48; private const int SPI_SETWORKAREA = 47; private const int SPIF_SENDCHANGE = 2; #endregion public static void getWorkspace(RECT oRECT) {int iResult = SystemParametersInfo(SPI_GETWORKAREA,0,oRECT,0);} public static int setWorkspace(RECT oRect) {return SystemParametersInfo(SPI_SETWORKAREA,0,oRect,SPIF_SENDCHANGE);} } [StructLayout(LayoutKind.Sequential)] public class RECT : ICloneable { public int Left; public int Top; public int Right; public int Bottom; #region Membres de ICloneable public object Clone() { RECT oRECT = new RECT();oRECT.Top this.Top; oRECT.Bottom this.Bottom;oRECT.Left this.Left; oRECT.Right this.Right; return oRECT; } #endregion }
private RECT m_RECTInit = new RECT(); private const int m_Height= 60; private void Form1_Load(object sender, System.EventArgs e) { Desktop.getWorkspace(m_RECTInit); this.Width = Screen.PrimaryScreen.Bounds.Width; this.Height = m_Height ; this.Left = m_RECTInit.Left; this.Top = m_RECTInit.Top; RECT oRECT = (RECT) m_RECTInit.Clone(); oRECT.Right = m_RECTInit.Right-this.Width; oRECT.Top = m_Height; Desktop.setWorkspace(oRECT); } private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { RECT oRect = new RECT(); oRect.Bottom = Screen.PrimaryScreen.Bounds.Bottom; oRect.Left = Screen.PrimaryScreen.Bounds.Left ; oRect.Top = Screen.PrimaryScreen.Bounds.Top ; oRect.Right = Screen.PrimaryScreen.Bounds.Width; Desktop.setWorkspace(oRect); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question