我希望我的应用程序始终在左侧监视器上启动(如果连接的连接数超过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保存最左侧监视器的编号。