如何獲取多顯示器下仍在連接的最大顯示器的分辨率已解決60%最后由 pcl_test 于 -12-11 19:13如果獲取多顯示器下,仍在連接的最大顯示器的分辨率?(已解決60%)只要是電腦曾經連接過的顯示器,就會在注冊表里留下痕跡,且就算該顯示器已經斷開了,痕跡仍然在。以WIN7以及WIN10為例是在HKLMSYSTEMCurrentControlSetHardware ProfilesUnitedVideoCONTROLVIDEO{84F85163-5FAD-4F8A-9541-40996D6481C1}({84F85163-5FAD-4F8A-9541-40996D6481C1}這個名字不同電腦,不同)我的電腦上外接了曾經外接了一臺顯示器,此時已斷開。該注冊表如下[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware ProfilesUnitedVideoCONTROLVIDEO{84F85163-5FAD-4F8A-9541-40996D6481C1}000]Attach.ToDesktop=dword:00000001DefaultSettings.XResolution=dword:00000556DefaultSettings.YResolution=dword:00000300備注此處分辨率是556*330,是十六進制的,十進制是1366*768[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware ProfilesUnitedVideoCONTROLVIDEO{84F85163-5FAD-4F8A-9541-40996D6481C1}001]Attach.ToDesktop=dword:00000000DefaultSettings.XResolution=dword:00000780DefaultSettings.YResolution=dword:00000438備注此處分辨率是780*438,是十六進制的,十進制是1920*1080其中Attach.ToDesktop=dword:00000001表示此顯示器仍在連接狀態,Attach.ToDesktop=dword:00000000表示此顯示器已斷開。用以下代碼可以獲得1920*1080,但是1920*1080這臺顯示器斷開了,獲取的仍為1920*1080。@echo offfor /f tokens=1,3 eol=H skip=8 %%a in ('reg query HKLMSYSTEMCurrentControlSetHardware ProfilesUnitedVideoConTROLVIDEO /s') do (if /i %%a==DefaultSettings.XResolution (set /a X=%%b) else (if /i %%a==DefaultSettings.YResolution set /a Y=%%b))echo %X%*%Y%pause有兩個方式可行,但不知道怎么達到。(最好的方式是第2種,因為如果是筆記本,屏幕是可關閉的,而關閉時Attach.ToDesktop鍵值為0,但刪除后,下次開啟屏幕會出錯)1,用什么代碼可以根據Attach.ToDesktop=dword:00000000是否為0,而刪除該項,如上面就是刪除 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware ProfilesUnitedVideoCONTROLVIDEO{84F85163-5FAD-4F8A-9541-40996D6481C1}001] 這樣再運行上面的代碼就一定能獲取有效的分辨率。2,用Attach.ToDesktop=dword:00000000的0乘于DefaultSettings.XResolution=dword:00000780,等于0 用Attach.ToDesktop=dword:00000001的1乘于DefaultSettings.XResolution=dword:00000556,等于1366 1366>0,所以取1366 這個代碼不會編。求助壇友前輩,謝謝了!!如何獲取多顯示器下仍在連接的最大顯示器的分辨率60%
發布:未知 文本批量工具
如何獲取多顯示器下仍在連接的最大顯示器的分辨率已解決60%最后由 pcl_test 于 -12-11 19:13如果獲取多顯示器下,仍在連接的最大顯示器的分辨率?(已解決60%)只要是電腦曾經連接過的顯示器,就會在注冊表里留下痕跡,且就算該顯示器已經斷開了,痕跡仍然在。以WIN7以及WIN10為例是在HKLMSYSTEMCurrentControlSetHardware ProfilesUnitedVideoCONTROLVIDEO{84F85163-5FAD-4F8A-9541-40996D6481C1}({84F85163-5FAD-4F8A-9541-40996D6481C1}這個名字不同電腦,不同)我的電腦上外接了曾經外接了一臺顯示器,此時已斷開。該注冊表如下[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware ProfilesUnitedVideoCONTROLVIDEO{84F85163-5FAD-4F8A-9541-40996D6481C1}000]Attach.ToDesktop=dword:00000001DefaultSettings.XResolution=dword:00000556DefaultSettings.YResolution=dword:00000300備注此處分辨率是556*330,是十六進制的,十進制是1366*768[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware ProfilesUnitedVideoCONTROLVIDEO{84F85163-5FAD-4F8A-9541-40996D6481C1}001]Attach.ToDesktop=dword:00000000DefaultSettings.XResolution=dword:00000780DefaultSettings.YResolution=dword:00000438備注此處分辨率是780*438,是十六進制的,十進制是1920*1080其中Attach.ToDesktop=dword:00000001表示此顯示器仍在連接狀態,Attach.ToDesktop=dword:00000000表示此顯示器已斷開。用以下代碼可以獲得1920*1080,但是1920*1080這臺顯示器斷開了,獲取的仍為1920*1080。@echo offfor /f tokens=1,3 eol=H skip=8 %%a in ('reg query HKLMSYSTEMCurrentControlSetHardware ProfilesUnitedVideoConTROLVIDEO /s') do (if /i %%a==DefaultSettings.XResolution (set /a X=%%b) else (if /i %%a==DefaultSettings.YResolution set /a Y=%%b))echo %X%*%Y%pause有兩個方式可行,但不知道怎么達到。(最好的方式是第2種,因為如果是筆記本,屏幕是可關閉的,而關閉時Attach.ToDesktop鍵值為0,但刪除后,下次開啟屏幕會出錯)1,用什么代碼可以根據Attach.ToDesktop=dword:00000000是否為0,而刪除該項,如上面就是刪除 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware ProfilesUnitedVideoCONTROLVIDEO{84F85163-5FAD-4F8A-9541-40996D6481C1}001] 這樣再運行上面的代碼就一定能獲取有效的分辨率。2,用Attach.ToDesktop=dword:00000000的0乘于DefaultSettings.XResolution=dword:00000780,等于0 用Attach.ToDesktop=dword:00000001的1乘于DefaultSettings.XResolution=dword:00000556,等于1366 1366>0,所以取1366 這個代碼不會編。求助壇友前輩,謝謝了!!
文本數據大小
python后綴 蜂巢蜜 劍三萬寶樓 文員崗位職責 蝶變微軟應用商店 光明新區 離婚后不結婚 怎樣做表格 鋁塑管 青海華鼎 增量編碼器 永勝資訊
Word文檔編輯技巧讓兩頁內容變為一頁
2026-01-17
掌握Excel對數函數你會輸入嗎
2026-01-17
BAT如何在文本中提取特殊定字符最后一次出現的所在行的內容
2026-01-17
分享自己做的一個備份的批處理
2026-01-17
辦公表格軟件官方免費版辦公表格軟件官方免費版有哪些
2026-01-17
ffmpeg關于CMD調用ffmepg繪制音頻頻譜圖相關
2026-01-17
Pages怎么使用文本鏈接Pages文檔內部跳轉鏈接的創建
2026-01-17
如何將多頁幻燈片拼成一張長圖分享三個方法
2026-01-17
Excelvlookup函數查找結果返回多列對應值實例教程
2026-01-17
圖片文字轉換成文本 -PDF轉換器
2026-01-17