德尔福 - 左侧显示器上的打开表格

时间:2017-01-17 08:54:45

标签: delphi multiple-monitors

我希望我的应用程序始终在左侧监视器上启动(如果连接的连接数超过1个)。

如何做到这一点?如何检测左监视器编号?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我们使用此代码片段:

if Screen.MonitorCount > 1 then
begin
  MonList := TList<TMonitor>.Create;

  for I := 0 to Screen.MonitorCount - 1 do
    MonList.Add(Screen.Monitors[I]);

  // sort by screen.monitor.left coordinate
  MonList.Sort(TComparer<TMonitor>.Construct(
    function(const L, R: TMonitor): Integer
    begin
      Result := L.Left - R.Left;
    end));

  _MonitorNum := TMonitor(MonList[0]).MonitorNum;

  // free the list
  MonList.Destroy;
end;

然后_MonitorNum保存最左侧监视器的编号。