作为一名双监视器用户,我注意到应用程序在打开的监视器(主监视器或辅助监视器,应用程序打开的最后一个监视器等)方面表现不同。说实话,有些应用程序让我烦恼,因为我希望它们在我的主显示器上打开,如果我想要它们,我会将它们移到我的辅助显示器上。但是,这些应用程序已经完成并且不受我的控制,所以我想问一下我自己的应用程序可能由使用两个监视器的人运行。
可以使用哪种控件来允许人们指定应用程序打开的监视器,允许应用程序“记住”关闭时打开的监视器并重新打开它,并强制应用程序启动特定的监视器?
我正在寻找所有操作系统和编程语言的解决方案,尽管我猜测不同的操作系统和语言会有不同的控制。
答案 0 :(得分:9)
作为一名Windows程序员,我控制我的应用程序创建的窗口的启动监视器 一个。将我的应用程序存储在注册表中的最后位置并恢复该位置 湾缺少存储的信息,将起始位置设置为魔术标志值,Windows使用它来使用其默认逻辑定位应用程序。默认逻辑从操作系统更改为操作系统,因为MS改善了用户体验,但往往确保应用程序将在用户最有可能查看的任何监视器上打开。
作为具有多显示器Windows XP / Vista系统的用户,我将使用nVidia桌面管理器,该管理器能够为应用程序设置起始位置,否则没有适当的行为。
答案 1 :(得分:2)
从传统的Unix和Linux窗口管理器的角度来看,你无法控制。窗口管理器处理窗口的定位。
您可以向窗口管理器提供提示,但应该可以配置窗口管理器来忽略这些事情。在使用大型虚拟桌面时,从程序移动或放置窗口很容易造成痛苦。
请参阅:http://standards.freedesktop.org/wm-spec/wm-spec-latest.html
答案 2 :(得分:2)
要考虑的一件事是监视器配置可能在应用程序的调用之间发生了变化(例如,在有时可能停靠的笔记本电脑上运行并使用外部监视器)。确保您的应用程序位于可见范围内。
对于API,有一个System.Windows.Forms.Screen类可以为您提供一些信息。
答案 3 :(得分:0)
在KDE 4.13.3中(在一些老人和新手中你可能会这样做(翻译可能不准确 - 我使用波兰版):
答案 4 :(得分:-1)
有类似的问题。找到以下内容:
右键单击窗口标题栏并选择"更多操作" - >"窗口管理器设置"。选择" Focus"在左边的列中。切换选项"活动屏幕跟随鼠标"。
如果未指定其他默认值,则窗口将显示在当前活动的屏幕上。 通过上述步骤,鼠标位置定义了此活动屏幕。
希望有所帮助,
最好,Bb