我需要找到「最佳」或原生的Windows下的連接LCD顯示器的分辨率(我會再設置程序,並知道該怎麼辦。)讓我再說一遍,我並不需要當前的Windows分辨率,也不需要擔心CRT /投影儀。如何在Windows中查詢主監視器的NATIVE硬件分辨率?
我已經看到了這個程序的工作,所以我知道這是可能的,儘管反對者: http://www.entechtaiwan.com/util/moninfo.shtm
這將是最好直接交談的監測和查詢EDID信息。不過,我已經看到了它在註冊表中緩存,不會出現從HKLM \ SYSTEM挖掘出來\ CURRENTCONTROLSET \枚舉\顯示器的問題,但無法弄清楚如何將數據與當前的主顯示器相匹配。
我發現在這個C程序: http://www.tech-archive.net/Archive/Development/microsoft.public.development.device.drivers/2004-08/0294.html 和類似的Python程序: http://www.koders.com/python/fid7FCCE3C908F376DC62F06CAD9B11C6D7C1CFA78F.aspx
不幸的是,我遇到了很多麻煩的C程序轉換爲蟒,因爲相關的代碼沒有按」似乎在win32all模塊中。我試圖編譯它,但沒有一個大的編譯器的磁盤空間,並且多年沒有使用C語言。我用ctypes也有點不合格。
我的B計劃將使用EnumDisplaySettings()找到解決的最大的值,並將其設置爲。在PC上,我試過它給出了正確的資源,但它仍然可能存在問題。
我更喜歡Python中的解決方案,但也許有人可以幫助我修改C程序來吐出解析並編譯它。提前致謝。
更新:
我發現了一個潛在的解決方案。我現在讀WMI找到一個顯示器可用(不離線),抓住它的PNP設備ID,並在與id值的子項中的註冊表讀取EDID。然後我解析字節38和39的數據並進行計算。不是很乾淨,但正在得到結果。如果這是一個合理的做法,我會關閉這個問題,謝謝。
還有一些非常小的編譯器,比如Pelles C和DevCpp。 – 2010-12-01 08:07:55
很高興知道,謝謝。 – 2010-12-01 10:42:26