C#利用API,做像QQ,MSN 一样的右下角弹出窗体!

public class Win32
        {
            public const Int32 AW_HOR_POSITIVE = 0x00000001;
            public const Int32 AW_HOR_NEGATIVE = 0x00000002;
            public const Int32 AW_VER_POSITIVE = 0x00000004;
            public const Int32 AW_VER_NEGATIVE = 0x00000008;
            public const Int32 AW_CENTER = 0x00000010;
            public const Int32 AW_HIDE = 0x00010000;
            public const Int32 AW_ACTIVATE = 0x00020000;
            public const Int32 AW_SLIDE = 0x00040000;
            public const Int32 AW_BLEND = 0x00080000;
            [DllImport("user32.dll", CharSet = CharSet.Auto)]
            public static extern bool AnimateWindow(
                IntPtr hwnd, // handle to window    
                int dwTime, // duration of animation    
                int dwFlags // animation type    
            );
            [DllImport("user32.dll", CharSet = CharSet.Auto)]
            public static extern bool SetWindowPos(
                IntPtr hwnd,
                int hWndInsertAfter,
                int x,
                int y,
                int cx,
                int cy,
                int wFlags
            );

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            int x = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width - this.Width - 10;
            int y = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height - this.Height - 10;
            this.SetDesktopLocation(x, y);

            Win32.SetWindowPos(this.Handle, 100, Screen.PrimaryScreen.Bounds.Width - this.Width, Screen.PrimaryScreen.Bounds.Height - this.Height - 30, 50, 50, 1);
            Win32.AnimateWindow(this.Handle, 500, Win32.AW_VER_NEGATIVE);

            this.label1.Text = "宽:" + this.Width;
            this.label2.Text = "高:" + this.Height;
        }

本博客所有文章如无特别注明均为原创。作者:封笔尘缘复制或转载请以超链接形式注明转自 封笔尘缘
原文地址《C#利用API,做像QQ,MSN 一样的右下角弹出窗体!
分享到:更多

相关推荐

网友评论(0)