以下是我的程序,不过在CoCreateInstance就返回REGDB_E_CLASSNOTREG,不知道哪里有错,请各高手赐教。
int main(){ HRESULT hr;

CoInitialize(NULL);

CLSID clsid;
hr = CLSIDFromProgID(L"Excel.Application.9",&clsid);
IDispatch* pIDispatch = NULL;

hr = CoCreateInstance(clsid,NULL,CLSCTX_INPROC_SERVER,
IID_IDispatch, (void**) &pIDispatch);
DISPID dispid;

OLECHAR FAR* szMemberName = L"Name";
hr = pIDispatch->GetIDsOfNames(IID_NULL,
&szMemberName,
1,
LOCALE_SYSTEM_DEFAULT,
&dispid);
EXCEPINFO excepinfo;
UINT nArgErr;
VARIANT vRet;
DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; hr = pIDispatch->Invoke(dispid, IID_NULL, LOCALE_SYSTEM_DEFAULT,
DISPATCH_PROPERTYGET, &dispparamsNoArgs, &vRet, &excepinfo, &nArgErr); printf("use the excel application ok."); CoUninitialize(); return 0;}