昨天封装了一个DirectShow Source Filter,使用Regsvr32注册后,打开graphedt准备测试。在插入filter总是提示:“不能加载,可能是资源被占用”。
开始时,我根据错误提示信息,把能关闭的程序都关闭了,错误依旧。重启电脑,还是出错,最后,我打开filter的属性,发现filter的文件路径不太正常,参照了其他filter的文件路径后,才发现文件路径从中文处截断了。
知道了原因就好办了,先使用regsvr32 /u反注册,然后将filter放到没有中文的路径下,再次注册,一切正常。
总结:
1. MS提供的错误信息大多数是没用的;
2. 需要注册的COM组件,最好不要放到有非英文的路径下;
3. 不要相信Windows已经国际化,总会在这里或者那里,偷偷地给你使绊子