描述:
用户提供鸟一个COM和使用说明
我现在需要一个ActiveX
有兴趣的和我QQ996202联络,现金酬谢
-------------------------
PS:COM使用说明(不包括接口函数说明)
1. 注册COM,regsvr32 UUTDispComGroup.dll
2. 添加IschDisplay.h头文件到工程。
3. 在工程的stdafx.h中添加如下语句:
typedef struct tagNETINFO
{
int m_nAutoID;
CString m_strName;
int m_nGrps;
POINT m_ptPos[3];
CStringList m_strlPins;
}NETINFO;
typedef struct tagCOMINFO
{
CString m_strName;
}COMINFO;
#include <ISchDisplay.h>
4. 在应用程序类的cpp文件(本例为Demo.cpp)中,完成如下工作:
 添加接口ID常数:extern "C" const GUID IID_ISchDisplay =
{ 0xc75c5033,0x8e60,0x417b,
{ 0x9e,0x23,0x88,0xac,0x26,0xf8,0xe4,0x50} } ;
 定义全局变量:ISchDisplay *g_pSchDisp=NULL; IUnknown *g_pUnknown=NULL;
 在应用程序类的InitInstance()函数中添加如下语句:
CoInitialize(NULL);
HRESULT hResult;
GUID SchCLSID;
hResult = ::CLSIDFromProgID(L"SchDispComSSS.Object", &SchCLSID);
if (hResult != S_OK)
{
AfxMessageBox("Can't find the sch CLSID!\n");
exit(0);
}
hResult = CoCreateInstance(SchCLSID, NULL,
CLSCTX_INPROC_SERVER, IID_IUnknown, (void **)&g_pUnknown);
if (hResult != S_OK)
{
AfxMessageBox("Create object failed!\n");
exit(0);
}
hResult = g_pUnknown->QueryInterface(IID_ISchDisplay, (void **)&g_pSchDisp);
if (hResult != S_OK) {
g_pUnknown->Release();
AfxMessageBox("QueryInterface IDictionary failed!\n");
exit(0);
}
 在应用程序类的ExitInstance ()函数中添加如下语句:
if(g_pSchDisp)
g_pSchDisp->Release();
if(g_pUnknown)
{
if (g_pUnknown->Release()> 0)
AfxMessageBox("The reference count of schdisplay object is not zero.");
}
CoUninitialize();
5. 设置视图类的映像方式为MM_TEXT。
6. 在需要使用接口的cpp文件中加入语句:extern ISchDisplay *g_pSchDisp;