【问题标题】:Win32 C++ creating window in second monitorWin32 C++ 在第二个监视器中创建窗口
【发布时间】:2015-06-26 00:00:46
【问题描述】:

所以我正在尝试在辅助显示器中启动全屏窗口。我将计算机设置为扩展显示。我已经在 Stack Overflow 上尝试了我发现的所有解决方案,并且所有解决方案都在笔记本电脑屏幕上启动了窗口,但它具有显示器的宽度和高度,因此它部分延伸到显示器中。所以问题(我认为)是它没有正确获得第二台显示器左上角的(x,y)坐标。 代码如下:

DEVMODE laptop;
EnumDisplaySettings(NULL, 0, &laptop);
int endOfLaptopW=laptop.dmPelsWidth;
const POINT pt={endOfLaptopW+1, 360};//create point on second monitor
HMONITOR hmon=MonitorFromPoint(pt, NULL);
 MONITORINFO mi = { sizeof(mi) };
if (!GetMonitorInfo(hmon, &mi)) return NULL;

CreateWindow(TEXT("static"), TEXT("FULLSCREEN"), WS_POPUP|WS_VISIBLE, mi.rcMonitor.left, mi.rcMonitor.top, mi.rcMonitor.right - mi.rcMonitor.left, mi.rcMonitor.bottom - mi.rcMonitor.top, bkgrdPrintWin, NULL, g_hinst, 0);    

【问题讨论】:

  • 请出示您的实际代码。

标签: c++ winapi


【解决方案1】:

EnumDisplaySettings 不是您想要的功能。枚举图形模式,图形模式 0 可能是 320x200 或其他小东西。它几乎肯定不会是您显示器的当前分辨率。

尝试改用EnumDisplayMonitors 函数。

【讨论】:

    猜你喜欢
    • 2015-01-12
    • 1970-01-01
    • 2011-04-27
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多