c++ - 使用 HWND 切换应用程序全屏

标签 c++ fullscreen hwnd

所以我试图将另一个应用程序移动到第二个屏幕,然后我想在 C++ 中将其设置为全屏。

我从进程列表中获得应用程序的 HWND 句柄,然后我可以使用 MoveWindow 设置窗口中我想要的位置。这非常有效。

是否有类似的方法可以将应用程序设置为全屏?我似乎只能找到有关将您自己的应用程序设置为全屏的信息。但在这种情况下,我希望能够移动我想要的任何应用程序并将其设置为全屏。 (只要这是可能的,但出于我需要它的目的,它应该是)

如果我在移动窗口后按 Alt+Enter 键,它就会完全按照我的要求运行。所以我希望我可以从代码中做到这一点?

编辑:顺便说一句,我试过 ShowWindow(windowToMove, SHOW_FULLSCREEN); 但是好像是最大化了但是又不像ALT+ENTER。

提前感谢您的帮助!

最佳答案

BOOL IsWindowMode = TRUE;
WINDOWPLACEMENT wpc;
LONG HWNDStyle = 0;
LONG HWNDStyleEx = 0;

void FullScreenSwitch( )
{
    if ( IsWindowMode )
    {
        IsWindowMode = FALSE;
        GetWindowPlacement( HWNDWindow, &wpc );
        if ( HWNDStyle == 0 )
            HWNDStyle = GetWindowLong( HWNDWindow, GWL_STYLE );
        if ( HWNDStyleEx == 0 )
            HWNDStyleEx = GetWindowLong( HWNDWindow, GWL_EXSTYLE );

        LONG NewHWNDStyle = HWNDStyle;
        NewHWNDStyle &= ~WS_BORDER;
        NewHWNDStyle &= ~WS_DLGFRAME;
        NewHWNDStyle &= ~WS_THICKFRAME;

        LONG NewHWNDStyleEx =HWNDStyleEx;
        NewHWNDStyleEx &= ~WS_EX_WINDOWEDGE;

        SetWindowLong( HWNDWindow, GWL_STYLE, NewHWNDStyle | WS_POPUP );
        SetWindowLong( HWNDWindow, GWL_EXSTYLE, NewHWNDStyleEx | WS_EX_TOPMOST );
        ShowWindow( HWNDWindow, SW_SHOWMAXIMIZED );
    }
    else
    {
        IsWindowMode = TRUE;
        SetWindowLong( HWNDWindow, GWL_STYLE, HWNDStyle );
        SetWindowLong( HWNDWindow, GWL_EXSTYLE, HWNDStyleEx );
        ShowWindow( HWNDWindow, SW_SHOWNORMAL );
        SetWindowPlacement( HWNDWindow, &wpc );
    }
}

此代码将窗口窗口切换为全屏并返回。 (WINAPI,需要以窗口模式启动目标进程)

关于c++ - 使用 HWND 切换应用程序全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36504311/

相关文章:

c++ - 重载后增量

jquery - 100% 全屏 Colorbox (jquery lightbox) 滚动条不会替换或覆盖基础层的滚动条

c++ - 如何在linux数据类型中定义#define S64_MIN?

iphone - UIWebView 流媒体 YouTube 在 iPad 上无法全屏显示

opengl - 最小化全屏 Xlib OpenGL 窗口

c++ - 如何从 HWND 获取 WNDCLASS?

c++ - 枚举 HWND 属性 C++

java - HWND 的 native@0xc41bcc 输出到实际窗口 ID

c++ - 格式化 float : returning to default

c++ - 如何计算C中结构的大小?