Winapi Windows中显示管理的规范方法:User32还是DXGI?

Winapi Windows中显示管理的规范方法:User32还是DXGI?,winapi,direct3d,user32,dxgi,Winapi,Direct3d,User32,Dxgi,我们发布了一个适用于Windows10的应用程序,它的一部分功能是显示管理;您通常进入显示设置的内容。我们从桌面上添加/删除显示器、排列显示器、更改大小和方向等 目前,我正在使用User32.dll中的API来实现上述所有功能(ChangeDisplaySettingsEx,EnumDisplayDevices,DEVMODE,DISPLAY\u DEVICE,等等) 最近我在GitHub上查看一个显示管理.NET库项目。我特别注意到作者使用了大量Direct3D/DXGI API。我在Wind

我们发布了一个适用于Windows10的应用程序,它的一部分功能是显示管理;您通常进入显示设置的内容。我们从桌面上添加/删除显示器、排列显示器、更改大小和方向等

目前,我正在使用User32.dll中的API来实现上述所有功能(
ChangeDisplaySettingsEx
EnumDisplayDevices
DEVMODE
DISPLAY\u DEVICE
,等等)

最近我在GitHub上查看一个显示管理.NET库项目。我特别注意到作者使用了大量Direct3D/DXGI API。我在Windows中工作了几十年,但我从来没有机会使用Direct3D

在编写基于User32的代码之前,我查阅了很多信息和参考资料,这些信息和参考资料早在Windows早期就已经存在了。我目前的版本很好用,但我想确信我没有使用过时或低劣的方法


如果Windows 10中的标准显示设置应用程序是今天编写的,那么显示管理功能是通过Direct3D/DXGI API调用完成的,还是User32仍然被视为标准方法?

只要API没有被标记为不推荐使用,就可以使用它。你忘记了一个重要的WinRT:Windows.Devices.Display.Core名称空间问题是,有时你需要一些Win32、DirectX、WinRT等。我个人更喜欢WinRT,因为现在可以从Win32轻松调用它,我认为微软将主要在这方面投入更多,而且它还使用了所有其他名称空间,包括未记录的API,您将永远无法访问。DirectX和WinRT的目的是提供信息,但不是主动修改机器配置。User32很好。