定义:[DllImport("user32.dll")]
public static extern bool SetWindowPos(IntPtr hWnd, int hWndlnsertAfter, int X, int Y, int cx, int cy, uint Flags);
调用:API.SetWindowPos(mainhwnd, -1, 0, 0, 0, 0, 0x001 | 0x002 | 0x040);
参数:
hWndInsertAfter 窗口叠层位置
HWND_TOPMOST = -1在所用"普通层"之上的"最顶层"
HWND_TOP =0在顶层的"普通层"
HWND_BOTTOM =1在底层的"普通层"
HWND_NOTOPMOST= -2 在所有非"普通层"之上的"普通层"
uFlags 附加参数
SWP_NOSIZE =0x0001窗口大小不变(忽略CX,CY参数)
SWP_NOMOVE =0x0002不可移动窗口(忽略X,Y参数)
SWP_NOZORDER =0x0004不改变叠层顺序(忽略hWndInsertAfter参数)
SWP_NOREDRAW =0x0008不重画窗口
SWP_NOACTIVATE =0x0010不激活窗口
SWP_DRAWFRAME =0x0020窗口带边框,发送边框改变消息
SWP_SHOWWINDOW =0x0040显示窗口
SWP_HIDEWINDOW =0x0080窗口隐藏
SWP_NOCOPYBITS =0x0100不保留显示缓存的拷贝
SWP_NOOWNERZORDER =0x0200不改变父窗口叠层顺序
SWP_NOSENDCHANGING =0x0400不接受窗口位置改变的消息
注意:如果要使用上述多个uFlags参数, 只要将几个参数相加的和赋给uFlags即可.