[动态][创建][ActiveX]动态创建ActiveX的问题

09月 17th, 2008 by admin
栏目类 VC/MFC |

ATL下面想动态创建一个ActiveX,主要代码如下:
HRESULT hr;
RECT  rc; 
GetClientRect(&rc);

LPOLESTR pstrbrowserid; 
StringFromCLSID(IID_ICortona, &pstrbrowserid); 
CComBSTR bstrbrowser(pstrbrowserid); 
CoTaskMemFree(pstrbrowserid);

HWND hwnd;

hwnd = m_axNestedControl.Create(m_hWnd, rc, 0, WS_CHILD | WS_VISIBLE); 
hr = m_axNestedControl.CreateControlEx((LPCOLESTR)bstrbrowser, NULL, NULL, reinterpret_cast <IUnknown**>(&m_pICortona)); 

调试到这里来时hr显示“没有注册类别”,可我明明已经注册了这个ActiveX啊,GUID也没错,会是什么问题呢?

我把StringFromCLSID换成了StringFromIID,结果还是一样,hr显示“没有注册类别”,还有别的什么问题吗?

已经说了,要用CLSID,不能用IID

Tags: , , ,