这位兄弟,我是这么做的:if(CoInitialize(NULL)!=S_OK)
MessageBox("Initialize COM library failed!");//DAO3.6从ProgID返回的组件的GUID
GUID DAOGUID;
//COM函数的返回值
HRESULT hResult;
//IUnknown接口指针
IUnknown* pUnknown;//在CLSIDFromProgID第一个参数中指定你要引用的类名
hResult=::CLSIDFromProgID(L"DAO.DBEngine.36",&DAOGUID);
if(hResult!=S_OK)
MessageBox("Can't find DAO GUID!");hResult=CoCreateInstance(DAOGUID,NULL,CLSCTX_INPROC_SERVER,IID_IUnknown,(void**)&pUnknown);
if(hResult!=S_OK)
MessageBox("Get pUnknown failed!");/*到此你已经获得了该DLL的一个接口指针pUnknown,接下来你只需要调用pUnknown->QueryInterface函数就可以获得其它接口的指针,该函数第一个参数为你所需的接口的GUID(IID),你可以用OLE/COM Object Viewer得到你所需的接口的GUID,第二个参数为接口指针。我做到这儿就做不下去了。如何声明一个DLL中的类?蛋大哥可以教教我们吗?*/pUnknown->QueryInterface();if(pUnknown->Release()==0)
MessageBox("The reference count of DAO object is 0!");CoUninitialize();
我的另一个贴子:
蛋大哥:
请问如何获得一个DLL中类的声明文件?
小弟是这么做的:OLE/COM Object Viewer打开该DLL,然后保存为.h文件,但是就是在保存成.h文件中出错。我如果先保存为IDL文件,再用MIDL.EXE转换为.h也出错。
我如果直接用ClassWizard->Class Info->Add Class->From a Type Library然后直接选择该DLL添加类,这样就没有各种梅举值的声明了。
请问大哥我要怎么做才能添加一个DLL中的类和其梅举值呢?
先谢谢了!