コード例 #1
0
    void winPosChange(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam)
    {
        long lStyle = WinAPI.GetWindowLong(handle, GWL_STYLE);

        lStyle &= ~(WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU);
        SetWindowLongPtr(handle, GWL_STYLE, lStyle);
        long lExStyle = WinAPI.GetWindowLong(handle, GWL_EXSTYLE);

        lExStyle &= ~(WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE | WS_EX_STATICEDGE);
        SetWindowLongPtr(handle, GWL_EXSTYLE, lExStyle);

        WinAPI.SetWindowPos(handle, HWND_BOTTOM, 0, -40, fWidth, fHeight, (int)(SetWindowPosFlags.SWP_FRAMECHANGED | SetWindowPosFlags.SWP_NOMOVE | SetWindowPosFlags.SWP_NOSIZE | SetWindowPosFlags.SWP_NOZORDER | SetWindowPosFlags.SWP_NOOWNERZORDER));
        WINDOWPOS wndPos = WINDOWPOS.FromMessage(hWnd, msg, wParam, lParam);

        wndPos.flags = wndPos.flags | SetWindowPosFlags.SWP_NOZORDER;
        wndPos.UpdateMessage(hWnd, msg, wParam, lParam);

        ShowWindow(handle, (int)ShowWindowFlags.SW_SHOWMAXIMIZED);
    }
コード例 #2
0
    static void winPosChange(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam)
    {
        if (ShowWindow(handle, (int)ShowWindowFlags.SW_SHOWMAXIMIZED))
        {
            if (borderless)
            {
                long lStyle = WinAPI.GetWindowLong(handle, GWL_STYLE);
                lStyle &= ~(WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU);
                SetWindowLongPtr(handle, GWL_STYLE, lStyle);
                long lExStyle = WinAPI.GetWindowLong(handle, GWL_EXSTYLE);
                lExStyle &= ~(WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE | WS_EX_STATICEDGE | WS_EX_APPWINDOW);
                SetWindowLongPtr(handle, GWL_EXSTYLE, lExStyle);
            }

            if (keepBottomMost)
            {
                WINDOWPOS wndPos = WINDOWPOS.FromMessage(hWnd, msg, wParam, lParam);
                wndPos.flags = wndPos.flags | SetWindowPosFlags.SWP_NOZORDER;
                wndPos.UpdateMessage(hWnd, msg, wParam, lParam);
            }
        }
    }