你如何控制应用程序打开的监视器?
作为工作中的双显示器用户,我注意到应用程序在打开的显示器(主显示器或辅助显示器,应用程序最后一个显示器等)上的行为不同。说实话,有些应用程序让我烦恼,因为我希望它们能够在我的主显示器上打开,如果我想要它们,我会将它们移到次要位置。但是,这些应用程序已完成并且无法控制,因此我想询问一下可能由使用两台显示器的人员运行的自己的应用程序。你如何控制应用程序打开的监视器?
什么样的控件可以让用户指定应用程序打开哪个监视器,允许应用程序“记住”它关闭时重新打开的监视器,并强制应用程序启动在特定的显示器上?
我正在寻找跨所有操作系统和编程语言的解决方案,但我猜测不同的操作系统和语言会有不同的控制。
相关问题
- What determines the monitor my app runs on?这个问题讨论了现有的应用程序,以及他们如何决定什么监控上运行。目前接受的答案提供了可用于在启动时控制应用程序定位的Windows功能。
- Start program on second monitor?提供了一些强制应用程序在特定监视器上启动的Delphi解决方案。
作为一个Windows程序员,我控制由我的应用程序创建的窗口的启动监视器 a。将我的应用程序存储在注册表中的最后位置并恢复它,然后b。缺少存储信息,将开始位置设置为窗口使用其默认逻辑定位应用程序的魔术标志值。由于MS改善了用户体验,因此默认逻辑从操作系统更改为操作系统,但倾向于确保应用程序将在用户最可能看到的任何监视器上打开。
与多显示器的Windows XP/Vista系统下我用最好有设置起始位置的应用程序,否则没有适当的行为的能力nVidia的桌面管理器的用户。
我在关于注册表的其他问题中看到了评论。看起来这是一个常见的地方,但我不确定注册表是否适合这一点。但它似乎是普遍的做法,所以需要考虑。 – 2008-10-16 12:29:42
注册表,或.ini或.config类型的文件。 – 2008-10-16 13:05:41
从传统的Unix和Linux的窗口管理器的角度来看,你不用管。窗口管理器处理窗口的位置。
您可能会提示窗口管理器,但应该可以配置窗口管理器来忽略这些事情。在使用大型虚拟桌面时,从程序移动或放置窗口很容易造成痛苦。
参见:http://standards.freedesktop.org/wm-spec/wm-spec-latest.html
有一点要考虑的是,显示器的配置可能已经其间应用程序的调用改变(例如,上,有时可能处于停靠,并使用外接显示器一台笔记本电脑上运行)。确保您的应用程序被放置在可见范围内。
至于API的,有System.Windows.Forms.Screen类,让你的一些信息。
有类似的问题。发现:
权克利克窗口标题栏并选择“更多操作” - >“窗口管理器设置”。在左边的列中选择“焦点”。切换选项“活动屏幕跟随鼠标”。
如果未指定其他默认值,则窗口将出现在当前活动屏幕上。 通过上述过程,鼠标位置定义了此活动屏幕。
希望帮助,
最佳,BB
在KDE 4.13.3(mayby在一些olders和newers你可以这样做(翻译可能是inacurrate - 我用波兰语版本):
- 运行所需程序
- 其标题栏上单击鼠标右键
- 选择“更多操作” - >“附加窗口设置...”(甚至更多的选择是在“一个附加程序设置...“)
- 转到标签”尺寸&布局“
- 标记复选框”屏幕“并选择”强制“并选择屏幕编号。该程序的窗口将始终在该屏幕上打开。
我确定了两个面向Windows的类似问题。但是,我对如何确定何处启动应用程序以及跨平台(或任何非Windows)解决方案的一般可用性概念感兴趣。 – 2008-10-16 12:09:39