成功解决Win7 64位系统下GraphEdit 不能显示Directshow.net远程图表的问题

时间:2023-02-02 08:05:52

首先问题如题,我是Win7 64位旗舰版操作系统,VS2010,使用Directshow.net开发播放器程序,结果发现通过以前使用的GraphEdit无论如何不能看到远程图表,不管是重新注册spy。dll、PropPage.dll等文件,还是使用管理员身份运行,仍然看不到。这个问题折磨了我好几天。

然后在这几天里我通过搜索,先后尝试了GrapheditPlus,DSGraphEdit等多个软件,结果发现GrapheditPlaus虽然能看到远程图表,但是连接之后没有任何反应。

而DSGraphEdit更加奇怪,能够看到远程图表,并且显示的信息更多,然而一旦连接,则报“未将对象引用设置到对象的实例”的错误,由于是DSGraphedit是开源软件,带有源代码,则跟踪调试后发现,通过远程图表获取的IFiterGraph接口为空,呵呵,一下子又没办法了。

然后由通过搜索DSGrapheditForm,结果搜索到一个外国人遇到的同样问题,并且找到了解决办法:

Solved!The solution:regsvr32 "c:\program files\Microsoft SDKs\Windows\v7.0\Bin\proppage.dll"

但是我发现我的Windows路径不一样:C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\

但是下面也有同样的proppage.dll和Graphedit文件,所以就已葫芦画瓢,经过注册后,运行此目录下的Graphedit发现能够看到了!哈哈!太好了!

然后有到原来目录下的Graphedit尝试,结果提示“请将Dll等文件放到此目录下运行”

呵呵,那就说明,Windows 7下带的Graphedit是不同于xp下的版本的,应该是专为Windows7环境提供的,嗯,就这样就解决了!然后我就直接使用C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin目录下Graphedit.exe,一切就绪!