本地EXE COM服务器

您所在的位置:网站首页 genera注册 本地EXE COM服务器

本地EXE COM服务器

2024-01-06 05:48| 来源: 网络整理| 查看: 265

  DWORD regID = 0;   hr = CoRegisterClassObject(CLSID_TimeBeijingClass,    (IClassFactory*)&ClassFactory,    CLSCTX_LOCAL_SERVER,    REGCLS_MULTIPLEUSE,    ®ID);

  if ( FAILED(hr) )   {    MessageBox(NULL, "CoRegisterClassObject()", "", MB_OK);    CoUninitialize();    exit(1);   }      // 进入消息循环,直到WM_QUIT到达   MSG ms;   while(GetMessage(&ms, 0, 0, 0))   {    TranslateMessage(&ms);    DispatchMessage(&ms);   }      // 注销工厂类   CoRevokeClassObject(regID);   }    // 退出COM环境  CoUninitialize(); 

 MessageBox(NULL, "Server is dying",   "EXE Message!", MB_OK | MB_SETFOREGROUND);    return 0; }

(七)建立注册文件 注册文件用于添加程序注册表信息,文件内容如下:

REGEDIT HKEY_CLASSES_ROOT/Justin.TimeBeijingServer.TimeBeijingClass/CLSID = {57E9BE40-AE4F-493b-A79B-FBBF7EC7F2AE} HKEY_CLASSES_ROOT/CLSID/{57E9BE40-AE4F-493b-A79B-FBBF7EC7F2AE} = Justin.TimeBeijingServer.TimeBeijingClass HKEY_CLASSES_ROOT/CLSID/{57E9BE40-AE4F-493b-A79B-FBBF7EC7F2AE}/LocalServer32 = D:/COM/Debug/COM.exe

双击此文件,将注册信息加入注册表。

(八)建立客户端 上面的程序编译链接后就可以得到一个本地EXE COM服务器。下面为了测试,我们将建立一个客户程序。

// TEST.cpp : Defines the entry point for the console application. //

#include "stdafx.h" #include "TEST.h" #include "../TimeBeijing.h" #include "../TimeBeijing_i.c"

#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif

/ // The one and only application object

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) {  cout   MessageBox(NULL, "CoCreateInstance()", "fail", MB_OK);   exit(1);  }    int h, m, s;  pTimeBeijing->GetTimeBeijing(&h, &m, &s);//使用接口

 printf("Time NOW : %d : %d : %d/n", h, m, s);//显示结果    if ( pICF )         pICF->Release();//释放接口  if ( pTimeBeijing ) pTimeBeijing->Release();    cout



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3