gpt4 book ai didi

vb.net - 获取屏幕分辨率

转载 作者:行者123 更新时间:2023-12-03 12:09:30 25 4
gpt4 key购买 nike

我需要使用我的应用程序更改屏幕分辨率。

如何:

  • 读取当前分辨率
  • 使用我的应用程序对其进行更改,然后在退出时返回到当前状态。

  • 谢谢,
    富良

    最佳答案

    1)如何阅读当前的屏幕分辨率?

    获取当前的屏幕分辨率很容易,并且可以内置到框架中,而不必深入研究GetSystemMetrics API。 Screen 类包含有关连接到系统的所有显示设备的信息。因此,要确定主显示器的分辨率,可以使用类似以下内容的方法:

     Dim screenWidth as Integer = Screen.PrimaryScreen.Bounds.Width
    Dim screenHeight as Integer = Screen.PrimaryScreen.Bounds.Height

    要处理多个监视器,请查看 Screen.AllScreens属性,该属性返回一个 Screen对象数组,该对象对应于与系统连接的每个显示器。然后,您可以通过遍历 Screen对象数组来确定(使用上面的代码)连接到计算机的每个显示器的分辨率。

    2)如何从VB.NET应用程序更改当前屏幕分辨率?

    更改屏幕分辨率会有些困难。在进一步介绍之前,我会提醒您,调整用户显示分辨率的应用程序是意外的,可能是 creates a hostile user environment。我知道我不会在未经许可的情况下使用会更改屏幕分辨率的应用程序,因此我会想尽一切努力来使用需要我这样做的应用程序。如果您要制作屏幕保护程序,可能有更好,更轻松的方式来做您想要的事情。话虽如此,如果您愿意从Windows API P /调用一些功能,则可以从VB.NET完成。

    如果仅关注单个监视器的情况,最简单的方法是使用 ChangeDisplaySettings 函数,该函数允许您指定默认显示的图形模式(仅用于用户的主监视器)。

    要处理多台显示器,您需要使用 EnumDisplayDevices 函数来获取有关连接到计算机的所有显示设备的信息,并使用 ChangeDisplaySettingsEx 函数来更改特定的屏幕。

    请查看 pinvoke.net,以了解如何在VB.NET中声明Windows API调用的签名。 Google搜索显示 this thread,尽管我尚未验证它们提供的示例代码。

    要仅在应用程序运行时修改屏幕分辨率,然后在用户退出程序时恢复屏幕分辨率,您需要先保存当前屏幕设置,然后再修改它们,然后在运行时将其恢复(使用相同的方法调用)应用程序退出。

    关于vb.net - 获取屏幕分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4122691/

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