把消息做成类,在类中添加一个事件,当接收事件的时候就抛出这个事件,把监听做到后台服务中就可以了,比如windows service
public delegate void dlg_MsgHandler(Msg vipmsg); public class Msg { public event dlg_MsgHandler MsgArrived; public Msg() { ........ dlg_MsgHandler msghandle = new dlg_MsgHandler(RaiseEvent); } public void RaiseEvent(Msg vipmsg) { try { MsgArrived(vipmsg); } catch {} }....................MsgInstance.MsgArrived += new dlg_MsgHandler(Handle_function);
可以参考wmi的实现,wmi里面有监听机制,可以在发生某个事件的时候激活方法
{
public event dlg_MsgHandler MsgArrived; public Msg()
{
........
dlg_MsgHandler msghandle = new dlg_MsgHandler(RaiseEvent);
} public void RaiseEvent(Msg vipmsg)
{
try
{
MsgArrived(vipmsg);
}
catch {}
}....................MsgInstance.MsgArrived += new dlg_MsgHandler(Handle_function);
做起来才不是那么回事建议楼主动手试试
这样能把一个大问题拆分成小的细节问题,再过来跟像wangsaokui(无间道III(MSMVP)) 这样的高手探讨