gpt4 book ai didi

windows - 我如何确定应用程序在哪个屏幕/监视器上运行?

转载 作者:行者123 更新时间:2023-12-05 08:43:18 24 4
gpt4 key购买 nike

在多屏系统上,我希望我的一些应用程序能够记住它们上次在哪个屏幕上运行并再次在同一屏幕上运行。

如何确定当前屏幕/显示器是什么,同时记住屏幕可能具有不同的分辨率?这些程序是用 Delphi 2007 编写的。

最佳答案

VCL 公开此信息,例如通过表单的 Monitor属性(property)。这是类型 TMonitor它公开了监视器的各种属性:它的编号、它是否是主监视器、它的边界和工作区域等等。

不过,您要做的只是将表单恢复到之前运行的位置。我认为您不需要记住监视器信息。只需执行以下操作:

  1. 当应用程序关闭时记住它的边界矩形。
  2. 当应用程序启动时,将其 bounds rect 设置为已记住的值。
  3. 检查表单是否包含在屏幕的矩形边界内。如果表单不在屏幕上,则可能是用户移除了显示器或以其他方式重新排列了他们的屏幕。将表单移到最近的监视器或主监视器上。
  4. 如果窗口可以最大化,则需要额外的细微差别。在这种情况下,请记住 bounds rect 以及应用程序是否最大化。您的 friend 是 GetWindowPlacementSetWindowPlacement

关于windows - 我如何确定应用程序在哪个屏幕/监视器上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31107157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com