无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: lxl1638
打印 上一主题 下一主题

AutoDisplay - 轻量级自动设置分辨率工具[V1.3.2011.0223 X86U & X64U]

[复制链接]
421#
 楼主| 发表于 2010-9-12 09:22:49 | 只看该作者
原帖由 tpod 于 2010-9-12 01:37 发表
9寸的EPC901误判为142寸:

99378


我的电脑和老九的这个小工具有仇的,从开始到现在都没正确识别过,有图为证:




附件
2010-9-4 18:48

Shot-2010-09-04_184624.png (14.39 KB)
  


这个本本就是这样。一楼不是有说明么,下载别人的EDID工具,将图帖上来。

[ 本帖最后由 lxl1638 于 2010-9-12 09:24 编辑 ]
回复

使用道具 举报

422#
发表于 2010-9-12 12:34:29 | 只看该作者
EPC 901 EDID:

DumpEDID v1.01
Copyright (c) 2006 Nir Sofer
Web site: http://www.nirsoft.net

*****************************************************************
Registry Key             : DISPLAY\MS_0003\4&1616deeb&0&00000400&00&02
Manufacture Week         : 0 / 2002
ManufacturerID           : 32566 (0x7F36)
ProductID                : 3 (0x0003)
Serial Number (Numeric)  : 3 (0x00000003)
EDID Version             : 1.3
Display Gamma            : 3.55
Maximum Image Size       : 255 X 255 cm (142.0 Inch)
Maximum Resolution       : 0 X 0
Support Standby Mode     : No
Support Suspend Mode     : No
Support Low-Power Mode   : Yes
Support Default GTF      : Yes
Digital                  : Yes

Supported Display Modes  :

*****************************************************************

*****************************************************************
Registry Key             : DISPLAY\MS_0003\4&1616deeb&0&80861500&00&02
Manufacture Week         : 0 / 2002
ManufacturerID           : 32566 (0x7F36)
ProductID                : 3 (0x0003)
Serial Number (Numeric)  : 3 (0x00000003)
EDID Version             : 1.3
Display Gamma            : 3.55
Maximum Image Size       : 255 X 255 cm (142.0 Inch)
Maximum Resolution       : 0 X 0
Support Standby Mode     : No
Support Suspend Mode     : No
Support Low-Power Mode   : Yes
Support Default GTF      : Yes
Digital                  : Yes

Supported Display Modes  :

*****************************************************************

*****************************************************************
Registry Key             : DISPLAY\MS_0003\4&2ae4bf75&0&80871400&00&22
Manufacture Week         : 0 / 2002
ManufacturerID           : 32566 (0x7F36)
ProductID                : 3 (0x0003)
Serial Number (Numeric)  : 3 (0x00000003)
EDID Version             : 1.3
Display Gamma            : 3.55
Maximum Image Size       : 255 X 255 cm (142.0 Inch)
Maximum Resolution       : 0 X 0
Support Standby Mode     : No
Support Suspend Mode     : No
Support Low-Power Mode   : Yes
Support Default GTF      : Yes
Digital                  : Yes

Supported Display Modes  :

*****************************************************************






回复

使用道具 举报

423#
发表于 2010-9-12 12:57:11 | 只看该作者
看起来PE3下是用不了这东东,可以无视PE3了
回复

使用道具 举报

424#
 楼主| 发表于 2010-9-12 17:41:12 | 只看该作者
原帖由 tpod 于 2010-9-12 12:34 发表
EPC 901 EDID:

DumpEDID v1.01
Copyright (c) 2006 Nir Sofer
Web site: http://www.nirsoft.net

*****************************************************************
Registry Key             : DI ...


EPC 901 EDID:

DumpEDID v1.01
Copyright (c) 2006 Nir Sofer
Web site: http://www.nirsoft.net

*****************************************************************
Registry Key             : DISPLAY\MS_0003\4&1616deeb&0&00000400&00&02
Manufacture Week         : 0 / 2002
ManufacturerID           : 32566 (0x7F36)
ProductID                : 3 (0x0003)
Serial Number (Numeric)  : 3 (0x00000003)
EDID Version             : 1.3
Display Gamma            : 3.55
Maximum Image Size       : 255 X 255 cm (142.0 Inch)
Maximum Resolution       : 0 X 0
Support Standby Mode     : No
Support Suspend Mode     : No
Support Low-Power Mode   : Yes
Support Default GTF      : Yes
Digital                  : Yes

Supported Display Modes  :

*****************************************************************

*****************************************************************
Registry Key             : DISPLAY\MS_0003\4&1616deeb&0&80861500&00&02
Manufacture Week         : 0 / 2002
ManufacturerID           : 32566 (0x7F36)
ProductID                : 3 (0x0003)
Serial Number (Numeric)  : 3 (0x00000003)
EDID Version             : 1.3
Display Gamma            : 3.55
Maximum Image Size       : 255 X 255 cm (142.0 Inch)
Maximum Resolution       : 0 X 0
Support Standby Mode     : No
Support Suspend Mode     : No
Support Low-Power Mode   : Yes
Support Default GTF      : Yes
Digital                  : Yes

Supported Display Modes  :

*****************************************************************

*****************************************************************
Registry Key             : DISPLAY\MS_0003\4&2ae4bf75&0&80871400&00&22
Manufacture Week         : 0 / 2002
ManufacturerID           : 32566 (0x7F36)
ProductID                : 3 (0x0003)
Serial Number (Numeric)  : 3 (0x00000003)
EDID Version             : 1.3
Display Gamma            : 3.55
Maximum Image Size       : 255 X 255 cm (142.0 Inch)
Maximum Resolution       : 0 X 0
Support Standby Mode     : No
Support Suspend Mode     : No
Support Low-Power Mode   : Yes
Support Default GTF      : Yes
Digital                  : Yes

Supported Display Modes  :


你的 EDID 本身有错,其它工具也认成142 inch 了。
回复

使用道具 举报

425#
 楼主| 发表于 2010-9-12 17:44:36 | 只看该作者
原帖由 玄天 于 2010-9-12 12:57 发表
看起来PE3下是用不了这东东,可以无视PE3了


你那个 PE3 总算下完了,试一下,除了显卡驱动外,其余驱动(芯片组驱动、网卡驱动、声卡驱动)都可以自动安装。
回复

使用道具 举报

426#
发表于 2010-9-12 19:15:37 | 只看该作者
原帖由 lxl1638 于 2010-9-12 17:44 发表


你那个 PE3 总算下完了,试一下,除了显卡驱动外,其余驱动(芯片组驱动、网卡驱动、声卡驱动)都可以自动安装。

确实可以自动安装,就是显卡安装后不手动咔嚓explorer显卡就不会正常(仅貌似正常而已)
回复

使用道具 举报

427#
发表于 2010-9-12 20:49:13 | 只看该作者
报告老九,经过检查,原来是我的845主板集成的显示卡有问题。刚刚插上了独立显卡,禁用了845的显卡。在没装LM700专用显示器驱动程序下,系统把我的显示器识别为即插即用监视器,(之前在集成显卡时显示器为默认监视器非即插即用)
而你的自动分辨率程序能够在没装LM700专用显示器驱动程序下,在我的独立显卡驱动下能识别到我的显示器为LM700,
并且自动设置为1280*1024 60Hz.
原先怀疑是你的程序问题,今天终于知道是自己的电脑集成显卡有问题。还请老九多多见谅。

[ 本帖最后由 USB3 于 2010-9-12 20:58 编辑 ]

TT截图未命名.png (22.24 KB, 下载次数: 139)

TT截图未命名.png

TT截图未命名2.png (22.42 KB, 下载次数: 150)

TT截图未命名2.png
回复

使用道具 举报

428#
发表于 2010-9-13 19:26:47 | 只看该作者







Z201 EDID数据.rar (1.72 KB, 下载次数: 27)

我这个是HY的Z201显示器,网上介绍是16:9

1440x900的画面看起来有点点模糊。

[ 本帖最后由 曼菲士 于 2010-9-13 19:33 编辑 ]
回复

使用道具 举报

429#
 楼主| 发表于 2010-9-13 22:21:14 | 只看该作者
原帖由 曼菲士 于 2010-9-13 19:26 发表
99470
99472
99473
99474



99471

我这个是HY的Z201显示器,网上介绍是16:9

1440x900的画面看起来有点点模糊。


的确是有点奇怪,你发的 EDID 数据不方便分析,用下面附件的工具,再发一次 EDID 数据来看看。
将附件的 ReadEdid.exe 放到可写空间,双击它,所在目录就会生成两个文件(Edid_1.DAT 和 Edid_2.DAT),
将这两个文件打包帖上来。

ReadEdid.rar

1.88 KB, 下载次数: 2536, 下载积分: 无忧币 -2

回复

使用道具 举报

430#
发表于 2010-9-13 23:40:59 | 只看该作者
好东西,支持一下,顺便下一个用用
回复

使用道具 举报

431#
 楼主| 发表于 2010-9-13 23:46:22 | 只看该作者
原帖由 lxl1638 于 2010-9-13 22:21 发表


的确是有点奇怪,你发的 EDID 数据不方便分析,用下面附件的工具,再发一次 EDID 数据来看看。
将附件的 ReadEdid.exe 放到可写空间,双击它,所在目录就会生成两个文件(Edid_1.DAT 和 Edid_2.DAT),
将这 ...


读取 Detailed Timing Descriptions(详尽时序描述) 时没有考虑到有两个 Timing,用了最后一个 Timing。
另外,EDID 数据中没有显示器名称(13个字符)。

下面的文件应该可以解决你的问题。

[ 本帖最后由 lxl1638 于 2010-9-13 23:47 编辑 ]

未命名.PNG (31.34 KB, 下载次数: 190)

未命名.PNG

未命名1.PNG (29.64 KB, 下载次数: 176)

未命名1.PNG

AutoDisplay.rar

14.3 KB, 下载次数: 244, 下载积分: 无忧币 -2

回复

使用道具 举报

432#
发表于 2010-9-14 12:11:16 | 只看该作者
好全,好详细呀!!!
回复

使用道具 举报

433#
发表于 2010-9-14 16:14:37 | 只看该作者
谢谢老大更新啊!!在天空看到就赶过来拿走了啊!!辛苦了老大,要注意保重圣体哦!!
回复

使用道具 举报

434#
发表于 2010-9-14 17:02:45 | 只看该作者
原帖由 lxl1638 于 2010-9-13 23:46 发表


读取 Detailed Timing Descriptions(详尽时序描述) 时没有考虑到有两个 Timing,用了最后一个 Timing。
另外,EDID 数据中没有显示器名称(13个字符)。

下面的文件应该可以解决你的问题。



所以我在想,是不是该以枚举为重点,我觉得好象踏入了一块混乱之地,呵呵.
回复

使用道具 举报

435#
 楼主| 发表于 2010-9-14 18:37:08 | 只看该作者
原帖由 曼菲士 于 2010-9-14 17:02 发表

所以我在想,是不是该以枚举为重点,我觉得好象踏入了一块混乱之地,呵呵.


从以前的测试情况来看,枚举系统支持的显示设置并不可靠,
你看以下几幅图(好象也有你的显示器),既有CRT显示器,也有LCD显示器,
但系统支持的最大分辨率并不是最佳分辨率。
CRT显示器出现这种情况很好理解,LCD显示器出现这种情况就难以处理了。


所以还是以EDID数据为准,以EDID说明的最大分辨率作为LCD的最佳分辨率,
而CRT显示器则找一个与之比例匹配的刷新率为75~90的常见分辨率就可以了,
也可使用EDID说明的最大分辨率作CRT最佳分辨率,可能的结果是刷新率较低(60或75)。
当无法读取到EDID数据时,才以枚举系统支持的显示设置为准。
如果定位在以枚举系统支持的显示设置为准,那么EDID数据就变成了无用的数据了,
仅仅显示EDID数据中的显示器品牌并没有多大意义。







[ 本帖最后由 lxl1638 于 2010-9-14 18:42 编辑 ]
回复

使用道具 举报

436#
发表于 2010-9-17 00:57:29 | 只看该作者
原帖由 lxl1638 于 2010-9-13 23:46 发表


读取 Detailed Timing Descriptions(详尽时序描述) 时没有考虑到有两个 Timing,用了最后一个 Timing。
另外,EDID 数据中没有显示器名称(13个字符)。

下面的文件应该可以解决你的问题。



测试已正确,只是在正确的分辨率和刷新率下依然推荐我设置最佳分辨率。。。。
回复

使用道具 举报

437#
发表于 2010-9-17 14:12:14 | 只看该作者
遇到过一台电脑,可能是WINDOWS系统驱动或注册表损坏,类似的异常故障导致无法获取EDID信息,注册表中有很多显示器的EDID信息,但是全部不是当前的,有一个Default Monitor(好象是这样)的显示器,竟然它是当前的显示器,进入Device Parameters看,只有BAD_EDID项,而且内容全是0,十分郁闷,现在我通过VESA提供的接口用汇编写了个16位的DOS程序,绕过WINDOWS读取EDID信息,也就是不读注册表的EDID内容,实际测试的11台电脑中,除了我家那台(NVIDIA GT240)和单位的IBM T30笔记本电脑(ATI MOBILITY RADEON 7500)外,其它电脑都能正常读出EDID信息,能读的电脑的显卡有ATI 3850独立显卡,INTEL 845集成显卡,INTEL 810集成显卡,NVIDIA 6100集成显卡,NVIDIA MX440独立显卡等等,其它机子我是发程序给别人测试,具体配置不清楚。

当前遇到麻烦的是WIN7系统不给运行16位程序,真郁闷,目前我只在DOS和WINXP下测试过,VISTA系统很少人有,我也懒得下载安装,最终只有这2个系统的测试结果,不知道楼主是怎么解决“WINDOWS系统驱动或注册表损坏,类似的异常故障导致无法获取EDID信息”情况的呢?

下图是通过VESA接口绕过WINDOWS直接读取到的EDID信息。

DOSGetEDID1.jpg (30 KB, 下载次数: 157)

DOSGetEDID1.jpg
回复

使用道具 举报

438#
发表于 2010-9-17 15:17:33 | 只看该作者
请老九大做个运行后删除自身滴,小弟想做封装。!谢谢
回复

使用道具 举报

439#
发表于 2010-9-17 15:51:46 | 只看该作者
封装工具的接口都有删除文件和目录的功能的
回复

使用道具 举报

440#
 楼主| 发表于 2010-9-17 17:57:55 | 只看该作者
原帖由 曼菲士 于 2010-9-17 14:12 发表
遇到过一台电脑,可能是WINDOWS系统驱动或注册表损坏,类似的异常故障导致无法获取EDID信息,注册表中有很多显示器的EDID信息,但是全部不是当前的,有一个Default Monitor(好象是这样)的显示器,竟然它是当前 ...

16位的DOS程序可以通过 INT10 来读取 EDID 的,在 XP/2003 中可以用 Debug.EXE 通过 INT10 来调试读取 EDID 数据,
先启动CMD.EXE,然后依次按下面输入
Debug(回车)
-A100(回车)
1375:0100 mov ax,4F15(回车)
1375:0103 mov bx,01(回车)
1375:0106 int 10(回车)
1375:0108 int 3(回车)
1375:0109(回车)
-g(回车)
ax=004F
-d 0(回车,这个回车后,屏幕就显示出EDID数据了)
-q(回车)

16位的DOS程序读取EDID的原理和这个是相同的,下面的附件是16位DOS程序,是TC2.0做的。
不知你在 AutoIt3 中如果使用 16位 DOS 代码读取 EDID 的?可否帖上来?如果不方便可以消息给本人或发到本人的信箱。
本人在此先帖上16位汇编代码(buffer是预备的EDID数据缓冲区地址,device是设备ID,00h - CRT,02h -LCD):
pusha
mov  ax, 04F15h
xor  bx, bx
mov  dx, bx
mov  bl, 01h
mov  cx, device
mov  di, buffer
int  10h
popa
ret

[ 本帖最后由 lxl1638 于 2010-9-17 18:28 编辑 ]

EDID.rar

323 Bytes, 下载次数: 81, 下载积分: 无忧币 -2

回复

使用道具 举报

441#
发表于 2010-9-18 00:33:34 | 只看该作者
我的汇编代码和你帖的差不多的,只不过我把它转换成字符串,让我的AU3程序读出来而已,但同样悲剧的是,WINPE不给运行16位DOS程序,WIN7不给全屏,所以我在找将此代码改写成32位WINDOWS程序的方法,目前了解过IDT,正在看汇编教程的实模式和保护模式方面的资料。

前天还找到一个通过I2C和驱动的方法读取显示器EDID的软件,读取方式可以选择,我测试过,虽然不注册只有30天试用期,但不影响完整功能,我删除注册表中的EDID信息后仍可读出EDID,和我的程序一样能读出来。不过依然在我家这台电脑和在单位的IBM T30笔记本电脑上无法读出EDID数据的情况,我真佩服WINDOWS用它系统的显示器EDID都能读取,也很憎恨VESA的保密(要付费嘛,我又不搞生产线,懒得买),那个软件下载地址是 http://www.nicomsoft.com/wini2cddc/wini2cddclite.zip,你可以去试试看,据我了解,它是通过安装一个sys驱动来读取EDID信息的,因为驱动程序能运行在系统0级特权上,相信这个你也知道了,呵呵。



我最近想试试从DDC 和 I2C 方面入手,意图是解决WINPE和WIN7的问题,目前找了些类似的范例,不过编译都是不成功的,型号是汇编,我看得懂,还找了很多VESA的资料,里面也有C的示范程序,可惜没有针对获取EDID的,只有调节亮度,对比度之类的东西。

我AUTOIT的代码没什么值得参考的,你想看我就帖出来吧,呵呵

Func DosGetEDID()
MsgBox(48, "提示信息", "在获取您显示器信息时可能会出现暂时黑屏的情况,稍后会自动恢复。", 4)
Local $EDIDProg = "C:\edid.com"
Local $EDIDfile = "C:\edid.txt"
FileInstall("edid.com", $EDIDProg)
FileDelete($EDIDfile)
RunWait(@ComSpec & " /c " & $EDIDProg & " " & $EDIDfile)
FileDelete($EDIDProg)
If FileExists($EDIDfile) Then
  Local $filename = FileOpen($EDIDfile, 0)
  If $filename = -1 Then
   FileDelete($EDIDfile)
   Return ""
  EndIf
  Local $EDIDTmp = FileRead($filename, 256)
  FileClose($filename)
  FileDelete($EDIDfile)
  Return $EDIDTmp
Else
  Return ""
EndIf
EndFunc   ;==>DosGetEDID
Local $EDID = DosGetEDID()
If StringLen($EDID) >= 256 Then
MsgBox(4096, "显示器EDID参数信息", $EDID)
Else
MsgBox(4096, "提示信息", "抱歉,无法获取到您的显示器EDID参数信息。")
EndIf
Exit


另外我想说,(buffer是预备的EDID数据缓冲区地址,device是设备ID,00h - CRT,02h -LCD),0不一定包含所有CRT,我在公司的那台是1,所以我在获取信息时,加了个循环,从0开始到255,全都读不到就结束返回空串。

[ 本帖最后由 曼菲士 于 2010-9-18 01:00 编辑 ]
回复

使用道具 举报

442#
发表于 2010-9-19 07:59:50 | 只看该作者
貌似不好用

aa.jpg (57.62 KB, 下载次数: 148)

aa.jpg
回复

使用道具 举报

443#
 楼主| 发表于 2010-9-19 09:39:01 | 只看该作者
原帖由 haijie1223 于 2010-9-19 07:59 发表
9987999879貌似不好用

貌似你不会用,明显你没有安装显示驱动,你这是在PE中吧?
不会用别人的工具就是工具不好用?
回复

使用道具 举报

444#
发表于 2010-9-19 14:11:40 | 只看该作者

回复 #443 曼菲士 的帖子

我不会编*.* 不过win7(PE)下 “dosbox.exe 16位程序.exe” 还是很容易的
回复

使用道具 举报

445#
发表于 2010-9-21 09:37:41 | 只看该作者

回复 #445 lxl1638 的帖子

哦 请老九老师原谅 原来需要装显卡驱动的啊 实在pe中啊  我错了
回复

使用道具 举报

446#
发表于 2010-9-22 15:47:18 | 只看该作者
下来用用。学习一下多谢!
回复

使用道具 举报

447#
发表于 2010-9-25 09:55:06 | 只看该作者
原帖由 玄天 于 2010-9-19 14:11 发表
我不会编*.* 不过win7(PE)下 “dosbox.exe 16位程序.exe” 还是很容易的


没那么简单的,调用VBIOS的INT 10h功能就会引起全屏,在WIN7下是不允许DOS全屏的,必定会被WIN7拦截终止程序,你可以试试。在PE下不允许运行16位程序,我尝试过在32位程序下开V86模式调用,但是结果还是失败的,因为PE好象没有DOS的中断向量表,XP是加载进去了,但PE好象没加载,总结了一下,32位程序不能直接调用BIOS中断,即使在Ring0级也需要BIOS的INT 10H入口地址,NT类系统都是通过系统服务中断INT 2EH功能调用的,若开V86模式则需要映射BIOS在DOS中的中断向量表,都是些繁琐的编程,太多繁琐的问题需要处理,总之太复杂,我又没那么多时间去弄,等有空再慢慢去研究了。

[ 本帖最后由 曼菲士 于 2010-9-25 10:28 编辑 ]
回复

使用道具 举报

448#
发表于 2010-9-25 10:27:12 | 只看该作者
兰州好厉害,VC++
回复

使用道具 举报

449#
发表于 2010-9-26 17:59:54 | 只看该作者
哈哈,本来没上帐号的.
不过确实惊叹于程序的功能,
上来顶下...
回复

使用道具 举报

450#
 楼主| 发表于 2010-9-27 19:22:02 | 只看该作者
V1.3.2010.1001DPI自适应国庆版
1、修正了无法读取某些系统 EDID 数据的问题;
2、增加了 /Wait n 的参数及说明;
AutoDisplay-V1.3.2010.1001.RAR (28.51 KB)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-25 20:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表