如何从UWP应用程序获取每个物理显示的界限?我曾经能够做到这一点:
System.Windows.Forms.Screen.AllScreens;
我见过使用
的例子DisplayInformation.GetForCurrentView();
但是只能获得当前运行应用程序的屏幕大小。我有一个我正在构建的垂直屏幕应用程序,我希望它始终在我的垂直监视器而不是我的主要水平监视器上启动。我知道UWP应用程序应该是解决方案不可知的,但这不是这里的情况。这是一个专门用于非常特殊的显示器的应用程序。
请,这只是UWP问题。 This Question是在UWP出现之前6年写的。这不是重复。
答案 0 :(得分:1)
目前在UWP中确实没有可以实现这一目标的API。您可以将此想法发布到UWP UserVoice,以便将其视为您想要的内容。
您可以做的最好的事情是查询应用程序运行的监视器的分辨率,并使用ProjectionManager
枚举所有监视器:
var deviceSelector = ProjectionManager.GetDeviceSelector();
var devices = await DeviceInformation.FindAllAsync(deviceSelector);
foreach (var device in devices)
{
Debug.WriteLine("Kind: {0} Name: {1} Id: {2}", device.Kind, device.Name, device.Id);
foreach (var property in device.Properties)
{
Debug.WriteLine( property.Key + " " + property.Value);
}
}
不幸的是,设备属性不包含您可以使用的分辨率信息。