我需要獲取顯示器支持的最大屏幕分辨率,而不是當前的分辨率,這很容易。任何幫助,將不勝感激。如何獲得顯示器支持的最大屏幕分辨率使用C#
編輯:這是爲我工作的更新的解決方案。
public Size GetMaximumScreenSizePrimary()
{
var scope = new System.Management.ManagementScope();
var q = new System.Management.ObjectQuery("SELECT * FROM CIM_VideoControllerResolution");
using (var searcher = new System.Management.ManagementObjectSearcher(scope, q))
{
var results = searcher.Get();
UInt32 maxHResolution = 0;
UInt32 maxVResolution = 0;
foreach (var item in results)
{
if ((UInt32)item["HorizontalResolution"] > maxHResolution)
maxHResolution = (UInt32)item["HorizontalResolution"];
if ((UInt32)item["VerticalResolution"] > maxVResolution)
maxVResolution = (UInt32)item["VerticalResolution"];
}
log.Debug("Max Supported Resolution " + maxHResolution + "x" + maxVResolution);
}
return new Size(maxHResolution, maxVResolution);
}
不知道如何找到..因爲操作系統只顯示它可以支持,以獲得正確的最大分辨率,你可能需要談談監視器驅動程序。 –
請參閱[這裏](http://stackoverflow.com/questions/744541/how-to-list-available-video-modes-using-c) – Radik
這不是您的視頻卡支持的最大屏幕分辨率嗎?我認爲這不是您連接的顯示器支持的最大屏幕分辨率。有時候這兩種解決方案可以匹配,但並不總是如此 – Hans