VC++实现COM事件接收器

封口易封心难

封口易封心难

2016-02-19 18:06

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享VC++实现COM事件接收器教程,希望对大家能有一点小小的帮助。
1、给程序添加ATL支持。右键-New ATL Object2、实现IDispEventImpl 接口。//EventSink.h#import "..ServerDebugServer.exe" raw_interface_only,no_namespace,named_guidsclass  CEventSink :
  
  public IDispEventImpl0, CEventSink,&DIID__IObjEvents,&LIBID_SERVERLib, 1, 0
  
  {
  
  public:
  
  CEventSink()
  
  {
  
  }
  
  public:
  
  BEGIN_SINK_MAP(CEventSink)
  
  SINK_ENTRY_EX(0, DIID__IObjEvents, 1, cbFunc01)
  
  END_SINK_MAP()
  
  STDMETHOD(cbFunc01)();
  
  };
  
  //EventSink.cpp#include "stdafx.h"
  
  #include "EventSink.h"STDMETHODIMP CEventSink::cbFunc01()
  
  {
  
  AfxMessageBox("called by Event from dll Server !");return S_OK;
  
  }
  
  3、连接对象// ClientDlg.cpp : implementation file
  
  //
  
  #include "EventSink.h"
  
  void CClientDlg::OnButton1()
  
  {
  
  // TODO: Add your control notification handler code here
  
  ::CoInitialize(NULL);
  
  {
  
  IObjPtr pObj;
  
  CEventSink *pEventSink= new CEventSink;
  
  pObj.CreateInstance(__uuidof(Obj));
  
  pEventSink-DispEventAdvise(pObj);
  
  pObj-Func01();
  
  pEventSink-DispEventUnadvise(pObj);
  
  delete pEventSink;
  
  }
  
  ::CoUninitialize();
  
  }
展开更多 50%)
分享

猜你喜欢

VC++实现COM事件接收器

编程语言 网络编程
VC++实现COM事件接收器

VC++内部COM插件的编程实现

编程语言 网络编程
VC++内部COM插件的编程实现

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VC++编程实现网络嗅探器

编程语言 网络编程
VC++编程实现网络嗅探器

VC++中实现滑动控件

编程语言 网络编程
VC++中实现滑动控件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

vc++如何实现远程调试

编程语言 网络编程
vc++如何实现远程调试

VC++下实现匿名管道

编程语言 网络编程
VC++下实现匿名管道

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

电脑无法进入系统怎么办

电脑无法进入系统怎么办

网卡驱动编写

网卡驱动编写
下拉加载更多内容 ↓