DirectDraw是DirectX中的关于视频输入输出的基本部分,使用DirectDraw可以方便地编制出高效的视频处理程序,只要用户的硬件支持DirectDraw,就能保证你的代码可以处理它们。 那么如果Windows7中的DirectDraw无法被禁用,该如何解决呢?
在xp时代,很多用户都曾被视频截图后的"全黑图片"困扰,对此,在解决本地播放时出现的截图变黑问题,一般有两个方法可以用来解决, 一个方法是用两个不同的播放器,同时打开同一个文件;另一个方法是禁用DirectDraw。熟悉Windows XP和Windows7的用户应该知道(默认情况下),DirectDraw在Windows XP和Windows7下都是已启用状态。不同的是,在Windows XP下用户可以禁用它,而Windows7下,它无法被禁用,这也意味着,Windows7用户无法通过"禁用DirectDraw"的方法解决截图变黑的问题。 默认情况下,Windows7中的DirectDraw无法被禁用,但我们可以通过其它变通的方法来禁用它:
方法一:修改注册表
在Windows7下,运行注册表编辑器,依次定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlGraphicsDriversDCI,然后在右侧窗口中找到并双击"Timeout",接着,在弹出的窗口中将默认值"7"修改为"0".
修改完毕后,保存设置退出,再下次启动时即可生效。
方法二:安装Windwos7专用驱动
可能有部分Windows7用户会发现,修改注册表并重启计算机后,DirectDraw在Windows7下仍然处于启用状态,也就是说,通过修改注册表的方法,未能达到禁用DirectDraw的目的。
出现这样的情况,是由于Windows7在显卡驱动方面与WindowsXP有所不同,有的显卡用户,在win7下需要下载安装专用驱动,一些公版驱动,以及一些Windows XP下的驱动,它们Windwos7下是无法修改DirectDraw的状态的。
与DirectX其它组件一样,只要可能,DirectDraw就会最高程度的利用硬件执行某特定功能,并且让那些该硬件还不支持的特性也能用软件仿真的方式加以实现。
Win7相关教程