【问题标题】:C# Select default screen for separate processC#为单独的进程选择默认屏幕
【发布时间】:2011-08-23 14:21:30
【问题描述】:

有没有办法指定外部进程的启动位置?我试图在应用程序启动之前选择屏幕,之后不要移动它。

当启动进程然后将窗口从一个屏幕移动到另一个屏幕(以编程方式或手动)时,它会调整窗口大小,但不会调整该窗口的内容,因为它们是不同的分辨率。

我无法控制屏幕的分辨率或选择哪个是主要屏幕。

这个问题类似于,但不一样: Launch an application and send it to second monitor? Launch an application and send it to second monitor

【问题讨论】:

  • 那么,除了帖子,您还在寻找什么?
  • 我正在寻找一种方法来选择另一个程序在哪个屏幕上启动。

标签: c# location screen default startup


【解决方案1】:

也许我明白你的意思。

您希望外部程序立即出现在您想要的屏幕上,这样您就可以摆脱程序的分辨率管理错误,因为这是一个错误,如果窗口内容不反映主机窗口的分辨率变化。

据我所知,没有办法做到这一点。事实上,你链接的解决方案首先加载程序,找到窗口,最后移动到需要的地方。

如果这不是你真正想要的,请更好地解释你的意图。

【讨论】:

  • 你是对的,我正在尝试弥补我正在启动的应用程序中的错误。我希望有人可能有除了移动窗口之外的解决方案。
  • @Insomnialex 不要真的认为这是可能的,除非应用程序本身在内部实现了某些东西,因此您可以通过传递参数来运行嵌套代码。
  • 我无法传递参数,但我能够编辑配置文件,其中的设置禁用了应用程序内容的正确调整大小。这本身不起作用,但内容的分辨率也是一个可编辑的字段。我选择了一个比窗口本身大的尺寸,它似乎迫使它移到正确的屏幕上。这绝不是选择一个屏幕来启动外部进程的实际问题的真正解决方案,但在我的情况下是一个有效的技巧。
【解决方案2】:

因此,如果我理解正确,您想确定 Windows 程序启动的位置,但您不想在程序启动后移动它。

通常程序会在下次启动时在注册表中关闭时记住其先前的位置。我会控制的。更多信息请参考http://www.mywindowsclub.com/resources/3016-Start-up-position-programs-Windows.aspx

【讨论】:

  • 正在启动的应用程序未在注册表中注册,尝试手动输入信息对我不起作用,但我可能做错了。我最终最终为我的问题找到了另一种解决方案 - 不是真正的解决方案,而是适用于我的情况的 hack。我将在另一个回复中详细说明它,因为它与目标应用程序设置有关。
猜你喜欢
  • 1970-01-01
  • 2021-07-16
  • 2017-10-17
  • 2016-01-31
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多