Articles of 多显示器

双显示器设置下的SDL假全屏模式

使用SDL 1.3我想在linux下创build一个假的全屏SDL_Window。 如果我只有一个显示器很容易。 我刚刚获得当前显示模式并创build了一个窗口。 SDL_GetDesktopDisplayMode(0, &mode); SDL_Window *win = SDL_CreateWindow("my window", 0,0,mode.w, mode.h, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_BORDERLESS ); 但是,当我有两个显示器,事情变得复杂。 窗口分布在多个显示器上。 SDL只能看到一个双倍大小的虚拟显示器。 我用这个代码testing了它 int num = SDL_GetNumVideoDisplays(); for( int i=0; i < num; i++ ) { SDL_Rect displayRect; SDL_GetDisplayBounds( i, &displayRect ); std::cout << "display " << i << ": x,y,w,h(" << displayRect.x << ", […]

以编程方式确定Linux中的各个屏幕宽度/高度(带有Xinerama,TwinView和/或BigDesktop)

我正在开发一个小项目,在GNOME下的多个屏幕上显示多个壁纸(显然,GNOME本身或其他任何东西都无法完成)。 我已经想出了如何做它的主要部分(使用ImageMagick组件,好奇); 我正在尝试自动configuration系统。 要做到这一点,我需要一种方法来确定各个屏幕的尺寸。 任何人都可以给我一个提示在哪里寻找? 我认为X服务器本身就有这些信息,但是我不确定我的程序是如何要求的。

以编程方式更改屏幕分辨率

有没有办法以编程方式更改屏幕分辨率或在Windows XP中启用/禁用多个显示器? 例如,从一台显示器的1024×768变为两台显示器的1280×104? 我会最感兴趣的是一个win32函数来做到这一点,但任何可以绑定到Windows快捷方式就足够了。

在辅助显示器上全屏显示

如何编程一个dotNet Windows(或WPF)应用程序,以便在辅助监视器上全屏显示?

我怎样才能从屏幕分辨率对话框在win7编程从监视器号码?

当您在“屏幕分辨率”对话框中按“识别”button时,Windows将在每台显示器上显示大量白色显示器号码。 在Windows XP中使用监视器坐标(使用EnumDisplayDevices)可以很容易地find它们,但在Windows 7上它已经损坏。 我怎样才能做到这一点? EnumDisplayDevices和GetMonitorInfo在Windows 7中不再可靠 。 我尝试了GetMonitorInfo,然后从MONITORINFOEX.szDevice(IE \。\ Display2)提取监视器号码,但没有成功。 另外一个人在两年前做了这个 ,声称getMonitorInfo有一个bug。 这个bug被Microsoft标记为没有任何评论,但仍然可以在具有最新更新的win7机器上进行复制。 (顺便说一句,有人可以告诉我 – 也许这个bug在win8上没有?) 我尝试从新的CCD API的QueryDisplayConfig ,但没有find所需的信息。 有人知道吗?

如何确定窗口是否在屏幕外?

在Windows XP及更高版本中,给定一个窗口句柄(HWND),如何判断窗口的位置和大小是否不可恢复地离开窗口? 例如,如果标题栏可用于光标,则窗口可以被拖回到屏幕上。 我需要发现窗口是否实际上可见或至less可以提供给用户。 我想我也需要知道如何检测和响应分辨率的变化,以及如何处理多个显示器。 这似乎是一个相当大的交易。 我正在使用C ++和普通的SDK,所以请限制你的答案,而不是调用C#或类似的平台。

如何把显示器待命,不让它醒来

我有3台显示器,但我并不需要一直打开它们。 我可以用电源buttonclosures它们,但是我想使用它们的待机模式,就像当我们让PC闲置一段时间的时候一样 – 它会closures显示器,硬盘等等。 但是,当然,我想继续使用电脑,让那台显示器待命。 其他人必须保持开放,即使在使用PC的情况下也不会醒来。 有没有可能做到这一点? 有一个Winkey + 1,2,3等快捷键可以closures并唤醒每台显示器。 具有此function的现有应用程序不太可能存在,但是在MultiMonitor系统中,是否有可以控制显示器状态的Windows API函数?

检测哪个监视器显示窗口

我有主要的应用程序JFrame窗口,可以包含不同的组件。 当用户select一个可编辑的文本字段时,我打开一个自我实现的OnScreenKeyboard。 OSK也是一个JFrame窗口。 当用户将主窗口拖到另一台监视器上时,OSK也应显示在同一监视器上。 为此,我必须检测显示主JFrame的显示器。 我试图find一种方法 Toolkit.getDefaultToolkit() 但没能find。 你知道我怎么能检测显示JFrame显示器? Java版本1.4 Windows XP 谢谢

如何防止在工作站locking然后解锁时调整窗口大小?

我们有一个在多显示器环境下运行的应用程序。 用户通常会将应用程序对话框展开以跨越多个mointors。 如果用户locking工作站,然后解锁它,我们的应用程序被告知resize。 我们的用户发现这种行为令人沮丧,因为他们然后花一些时间恢复以前的布局。 我们还不确定是否是请求resize或Windows的graphics驱动程序。 希望通过这个问题,会更清楚哪个部分是负责任的, (文件)浏览器和Firefox等stream行应用程序在此设置中的行为方式相同。 仅复制: 打开资源pipe理器( Win+E ) 拖动资源pipe理器窗口水平地大于1屏幕 locking工作站( Win+L ), 开锁 应用程序现在应该调整为仅在1个屏幕上 当工作站被locking然后解锁时,如何防止窗口大小调整? 我们是否需要检查(un)locking代码? 我们还没有意识到另一种机制吗?

我如何获得每个显示器的尺寸(分辨率)?

我需要帮助如何检索我的屏幕的分辨率,如下图所示。 我发现这个文档 ,这真的很有帮助。 以下是我尝试的代码,基于这些文档: int numberOfScreens = GetSystemMetrics(SM_CMONITORS); int width = GetSystemMetrics(SM_CXSCREEN); int height = GetSystemMetrics(SM_CYSCREEN); std::cout << "Number of monitors: " << numberOfScreens << "\n"; // returns 3 std::cout << "Width:" << width << "\n"; std::cout << "Height:" << height << "\n"; 但是,它只能识别和提供有关主监视器的信息。 我如何获得有关其他显示器的信息?