コード例 #1
0
        /// <summary>
        /// 关闭窗口
        /// </summary>
        /// <param name="windowName">窗口名称</param>
        public static void CloseWindow(string windowName)
        {
            var hWnd = Win32Funcs.FindWindowWrapper(null, windowName);

            if (!hWnd.Equals(IntPtr.Zero))
            {
                Win32Funcs.SendMessageWrapper(hWnd, Win32Consts.WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
            }
        }
コード例 #2
0
        /// <summary>
        /// 将窗口置顶
        /// </summary>
        /// <param name="hWnd">窗口句柄</param>
        public static void SetWindowTopMost(IntPtr hWnd)
        {
            //SWP_NOSIZE:维持当前尺寸(忽略cx和cy参数)
            //SWP_NOMOVE:维持当前位置(忽略X和Y参数)
            const uint flags = Win32Consts.SWP_NOSIZE | Win32Consts.SWP_NOMOVE;

            Win32Funcs.SetWindowPosWrapper(hWnd, Win32Consts.HWND_TOPMOST_PTR, 0, 0, 0, 0, flags);
            Win32Funcs.SendMessageWrapper(hWnd, Win32Consts.WM_SETFOCUS, IntPtr.Zero, IntPtr.Zero);

            Win32Funcs.SetForegroundWindowWrapper(hWnd);
        }
コード例 #3
0
 public static void RestoreWindow(IntPtr hWnd)
 {
     Win32Funcs.SendMessageWrapper(hWnd, Win32Consts.WM_SYSCOMMAND,
                                   new IntPtr(Win32Consts.SC_RESTORE), IntPtr.Zero); //还原
 }
コード例 #4
0
 public static void MaximizeWindow(IntPtr hWnd)
 {
     Win32Funcs.SendMessageWrapper(hWnd, Win32Consts.WM_SYSCOMMAND,
                                   new IntPtr(Win32Consts.SC_MAXIMIZE), IntPtr.Zero); //最大化
 }