代码之家  ›  专栏  ›  技术社区  ›  Thomas Owens

如何控制应用程序打开的监视器?

  •  22
  • Thomas Owens  · 技术社区  · 16 年前

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

    有哪些控件可以允许用户指定打开应用程序的监视器,允许应用程序“记住”关闭时打开的监视器,然后在那里重新打开,并强制应用程序在特定监视器上启动?

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

    相关问题

    5 回复  |  直到 8 年前
        1
  •  9
  •   Ether    15 年前

    作为一名Windows程序员,我通过以下方式控制由应用程序创建的Windows的启动监视器: a.将我的应用程序存储在注册表中的最后一个位置并恢复该位置,以及 b.缺少存储的信息,将开始位置设置为magic标志值,Windows使用其默认逻辑定位应用程序。随着MS改善了用户体验,默认逻辑从操作系统变为操作系统,但倾向于确保应用程序可以在用户最可能看到的任何监视器上打开。

    作为一个拥有多监视器Windows XP/Vista系统的用户,我会使用Nvidia桌面管理器,它能够为应用程序设置启动位置,否则就没有适当的行为。

        2
  •  2
  •   iny    16 年前

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

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

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

        3
  •  2
  •   Philipp Schmid    16 年前

    需要考虑的一点是,在应用程序调用之间,监视器配置可能发生了变化(例如,在笔记本电脑上运行,有时可能会停靠并使用外部监视器)。确保将应用程序放置在可见范围内。

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

        4
  •  0
  •   keypress    9 年前

    在KDE 4.13.3中(在一些老用户和新用户中,可以这样做)(翻译可能不准确-我使用波兰语版本):

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

    也有类似的问题。找到以下内容:

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

    如果未指定其他默认值,则窗口将显示在当前活动屏幕上。 按照上述步骤,鼠标位置定义此活动屏幕。

    希望能有所帮助,

    最好的,Bb