我有一个C#WPF应用程序,我希望它在启动时更改屏幕分辨率,如果它不是应该使用的屏幕分辨率(如游戏)。更改屏幕分辨率
我知道如何检索屏幕分辨率,但我不知道如何将其设置为我想要的。
注意:我不是使用ASP或WEB,只是一个桌面应用程序
我有一个C#WPF应用程序,我希望它在启动时更改屏幕分辨率,如果它不是应该使用的屏幕分辨率(如游戏)。更改屏幕分辨率
我知道如何检索屏幕分辨率,但我不知道如何将其设置为我想要的。
注意:我不是使用ASP或WEB,只是一个桌面应用程序
为什么你需要这个。
我认为你不应该这样做,而是你可以在ViewBox中构建应用程序,并让你创建解决方案独立UI。
请检查我的文章: http://www.dotnetfunda.com/articles/article827-resolution-independent-ui-.aspx
这个API功能可让您更改显示设置:
[DllImport("user32.dll")]
static extern int ChangeDisplaySettings(
ref DEVMODE devMode, int flags);
This文章解释了如何使用这个功能
只是一个友好的建议:请记住,大多数用户使用液晶屏幕,这在其原始分辨率下效果最佳。我认为桌面程序会改变我的决议,极其恼人,并立即抛出。 – driis 2010-07-24 11:16:13
@driis:我在最佳状态下工作的应用程序以特定分辨率显示,因此我正在考虑将分辨率更改为我需要的分辨率,然后在focusLost()或应用程序关闭时将其更改回来。 – sikas 2010-07-24 11:21:27
是的,driis是对的。液晶显示器在某些分辨率下不起作用,因此您的应用程序将无法支持您的分辨率。 此外,如果您的应用程序崩溃,这将使用户将分辨率设置为原来的,这也很烦人。 所以我认为这样做不是个好主意。 – abhishek 2010-07-24 11:22:05