如何获得控制台应用程序的屏幕尺寸?(How to get the screen size of Co

2019-06-24 14:38发布

你如何在一个控制台应用程序的屏幕大小?

Answer 1:

var w = Console.WindowWidth;
var h = Console.WindowHeight;

- 编辑 -

Screen.PrimaryScreen.Bounds 
Screen.PrimaryScreen.WorkingArea


Answer 2:

如果你想获得的显示尺寸可以使用WMI(Windows管理规范)

        var scope = new ManagementScope();
        scope.Connect();

        var query = new ObjectQuery("SELECT * FROM Win32_VideoController");

        using (var searcher = new ManagementObjectSearcher(scope, query))
        {
            var results = searcher.Get();
            foreach (var result in results)
            {
                Console.WriteLine("Horizontal resolution: " + result.GetPropertyValue("CurrentHorizontalResolution"));
                Console.WriteLine("Vertical resolution: " + result.GetPropertyValue("CurrentVerticalResolution"));
            }               
        }


Answer 3:

如果您正在寻找与屏幕的大小来改变一个控制台应用程序的大小,我们必须首先获取窗口的最大宽度和高度。

var largestWindowX = Console.LargestWindowWidth;
var largestWindowY = Console.LargestWindowHeight;

对于屏幕,分辨率为1920x1080最大的X和Y值X:240和Y:66。通过写值到屏幕上,我们可以手动改变屏幕尺寸,以获得相应的X和屏幕尺寸的Y坐标。

现在我们采取的最后一个屏幕大小的最大值在这种情况下1600x1024这是X:200和Y:62,检查屏幕更大然后或等于显示器并在控制台窗口 。

if(largestWindowX >= 200 && largestWindowY >= 62)
{
    //The values 200 and 40 can be changed depending on what you are making
    Console.SetWindowSize(200, 40);
}
//add more if else statments depending how you wish to scale it as.
else
{
    //Otherwise any screen size smaller than the sizes added make it this...
    Console.SetWindowSize(/*Your X value*/, /*Your Y value*/);
}

如果你正在寻找一种方式来找到操作系统的显示尺寸,那我不知道,因为我不是一个高级程序员,只是了解一些这片广袤的语言。

虽然,你可以在技术上使用上述变量的值。 例如:

if(largestWindowX == 240 && largestWindowY == 66)
{
     Console.WriteLine("This is a 1920x1080 screen");
}

我不是很确定,这将是告诉屏幕尺寸的准确方式。 否则,如果全屏必要Alt + Enter键作品...



文章来源: How to get the screen size of Console Application?