【问题标题】:How do you control what monitor your application opens on?您如何控制您的应用程序在哪个监视器上打开?
【发布时间】:2010-09-17 12:29:24
【问题描述】:

作为工作中的双显示器用户,我注意到应用程序在打开哪个显示器(主显示器或辅助显示器、应用程序打开的最后一个显示器等)上的行为有所不同。老实说,有些应用程序让我很恼火,因为我希望它们在我的主显示器上打开,如果我希望它们在那里,我会将它们移动到我的辅助显示器上。但是,这些应用程序已经完成并且不受我的控制,所以我想问一下我自己的应用程序可能由使用两个监视器的人运行。

可以使用哪些类型的控件来允许人们指定您的应用程序在哪个监视器上打开,允许应用程序“记住”它在关闭并在那里重新打开时所在的监视器,以及强制应用程序启动特定的监视器?

我正在寻找跨所有操作系统和编程语言的解决方案,尽管我猜测不同的操作系统和语言会有不同的控制。

相关问题

【问题讨论】:

  • 我发现了两个类似的面向 Windows 的问题。但是,我对一般可用性概念感兴趣,例如如何确定从何处启动应用程序以及解决问题的跨平台(或任何非 Windows)解决方案。

标签: user-interface usability desktop-application multiple-monitors


【解决方案1】:

作为一名 Windows 程序员,我通过以下方式控制由我的应用创建的窗口的启动监视器 一种。将我的应用程序存储在注册表中的最后位置并恢复它,以及 湾。缺少存储的信息,将起始位置设置为窗口使用其默认逻辑定位应用程序的魔术标志值。随着 MS 改善用户体验,默认逻辑从操作系统更改为操作系统,但倾向于确保应用程序将在用户最有可能查看的任何显示器上打开。

作为拥有多显示器 Windows XP / Vista 系统的用户,我会使用 nVidia 桌面管理器,它能够为应用程序设置起始位置,否则不会有适当的行为。

【讨论】:

  • 我在其他关于注册表的问题中看到了 cmets。这似乎是一个常见的地方,但我不确定注册表是否适合这种情况。但这似乎是一种常见的做法,因此需要考虑。
  • 注册表,或 .ini 或 .config 类型的文件。
  • 我在 Windows 7 上遇到了与 RSA SecureID 类似的问题。当我更改显示器配置时,应用程序将在不存在的显示器上打开,直到我清除了 hkcu\software 中的 xpos 和 ypos 设置\rsa\软件令牌\桌面。感谢您的提示。
【解决方案2】:

从传统的 Unix 和 Linux 窗口管理器的角度来看,您无法控制。窗口管理器处理窗口的定位。

您也许可以向窗口管理器提供提示,但应该可以将窗口管理器配置为忽略此类事情。当使用大型虚拟桌面时,从程序中移动或放置窗口很容易导致痛苦。

见:http://standards.freedesktop.org/wm-spec/wm-spec-latest.html

【讨论】:

  • 没有办法告诉或建议窗口管理器在哪里或如何打开您的应用程序?我以前从未在 Unix 或 Linux 上进行过 GUI 编程。
【解决方案3】:

需要考虑的一点是,显示器配置可能在应用程序的调用之间发生了变化(例如,在有时可能对接并使用外部显示器的笔记本电脑上运行)。确保您的应用程序位于可见范围内。

至于 API,System.Windows.Forms.Screen 类可以为您提供一些信息。

【讨论】:

    【解决方案4】:

    在 KDE 4.13.3 中(也许在一些旧的和新的你可以这样做(翻译可能不准确 - 我使用波兰语版本):

    1. 运行所需的程序
    2. 右键单击其标题栏
    3. 选择“更多操作”->“其他窗口设置...”(更多选项位于“其他程序设置...”下)
    4. 转到“尺寸和布局”标签
    5. 标记复选框“屏幕”并选择“强制”并选择屏幕编号。该程序的窗口将始终在该屏幕上打开。

    【讨论】:

      【解决方案5】:

      遇到了类似的问题。发现以下内容:

      右击窗口标题栏并选择“更多操作”->“窗口管理器设置”。在左侧的列中选择“焦点”。切换选项“活动屏幕跟随鼠标”。

      如果未指定其他默认值,则窗口将出现在当前活动屏幕上。 通过上述过程,鼠标位置定义了这个活动屏幕。

      希望对你有帮助,

      最好的,Bb

      【讨论】:

        猜你喜欢
        • 2018-01-02
        • 1970-01-01
        • 2010-10-29
        • 1970-01-01
        • 2021-04-20
        • 1970-01-01
        • 2012-11-06
        • 1970-01-01
        相关资源
        最近更新 更多