AVIFileOpen返回REGDB_E_CLASSNOTREG该如何解决
用这个函数打开一个AVI文件得到REGDB_E_CLASSNOTREG返回值是什么情况?
hr = AVIFileOpen(&pfile,(LPCWSTR)strFile, OF_READ, NULL);
看了网上的一些解决方法及可能出现的问题,都按照相关建议确认改正了下:
1.首先文件格式我是用格式转码器把视频文件从MP4格式转到AVI的,文件路径的话也没问题;
2.关于Com库初始化的问题:
网上有建议是Com库未初始化的问题,然后我加了如下一行
HRESULT hr = CoInitialize( NULL );
调试发现hr返回值S_FALSE,查到的解释是:当前线程上,COM库已经被初始化。
3.AVIFileInit这个函数我也调用 AVIFileOpen之前调用了
4.头文件和链接库的问题我不是太懂,就这几行是和AVI相关的吧
#include <windows.h>
#include <Vfw.h>
#pragma comment (lib, "Vfw32.lib")
以上就是我做出的改正,但是每次调试,函数的返回值依旧是这个值。作为一个新手,我也很无
奈啊,只好求各位大侠帮帮忙解决。