首页 > 上网技巧 > 电脑小技巧 > 基于Flexlive.CQP.Framework的C# 酷Q UDP实现

基于Flexlive.CQP.Framework的C# 酷Q UDP实现

时间:2018-03-19 15:32 作者:QQ地带 我要评论

近期由于项目需要,需要对接酷Q,找了很多资料,基本都是E语言的,这对C#程序员就有点过分了。。。
 
也幸得找到了一个Flexlive.CQP.Framework的框架,针对酷Q的二次封装。
 
由于该框架是基于加载插件来进行的,需要将我们自己的项目与酷Q对接分离,这并不合理,于是我将其做了一些改动,使它采用C#的事件机制。
 
 
 
首先在你的项目直接引用:Flexlive.CQP.Framework.dll
 
 
 
一、首先调用该框架的UDP协议启动对酷Q的监控:
 
[csharp] view plain copy
/// <summary>  
/// 启动酷Q UDP协议监控  
/// </summary>  
public bool Start()  
{  
        try  
        {  
            CQUDPProxy.GetInstance().Start();  
            Program.SendLog("启动完成,正在启动酷Q");  
            var myProcesses = System.Diagnostics.Process.GetProcessesByName("CQP");  
            if (myProcesses.Length <= 0)  
            {  
                var path = Application.StartupPath + @"\CQP.exe";  
                Process.Start(path);  
            }  
        }  
        catch (Exception ex)  
        {  
            return false;  
        }    
    }  
    return true;  
}  
 
二、对框架中的CQMessageAnalysis类的事件订阅(该类为静态类)
[csharp] view plain copy
/// <summary>  
      /// Type=21 私聊消息。  
      /// </summary>  
      public static event EventPrivateMessage EventPrivateMessage;  
  
      /// <summary>  
      /// Type=2 群消息。  
      /// </summary>  
      public static event EventGroupMessage EventGroupMessage;  
  
      /// <summary>  
      /// Type=4 讨论组消息。  
      /// </summary>  
      public static event EventDiscussMessage EventDiscussMessage;  
  
      /// <summary>  
      /// Type=11 群文件上传事件。  
      /// </summary>  
      public static event EventGroupUpload EventGroupUpload;  
  
      /// <summary>  
      /// Type=101 群事件-管理员变动。  
      /// </summary>  
      public static event EventGroupAdmin EventGroupAdmin;  
  
      /// <summary>  
      /// Type=102 群事件-群成员减少。  
      /// </summary>  
      public static event EventGroupMemberDecrease EventGroupMemberDecrease;  
  
      /// <summary>  
      /// Type=103 群事件-群成员增加。  
      /// </summary>  
      public static event EventGroupMemberIncrease EventGroupMemberIncrease;  
      /// <summary>  
      /// Type=201 好友事件-好友已添加。  
      /// </summary>  
      public static event EventFriendAdded EventFriendAdded;  
  
      /// <summary>  
      /// Type=301 请求-好友添加。  
      /// </summary>  
      public static event EventRequestAddFriend EventRequestAddFriend;  
      /// <summary>  
      /// Type=302 请求-群添加。  
      /// </summary>  
      public static event EventRequestAddGroup EventRequestAddGroup;  
 
这些事件分别的参数和注释:
 
 
[csharp] view plain copy
/// <summary>  
/// Type=21 私聊消息  
/// </summary>  
/// <param name="subType">子类型,11/来自好友 1/来自在线状态 2/来自群 3/来自讨论组</param>  
/// <param name="sendTime">发送时间(时间戳)</param>  
/// <param name="fromQQ">来源QQ</param>  
/// <param name="msg">消息内容</param>  
/// <param name="font">字体</param>  
public delegate void EventPrivateMessage(int subType, int sendTime, long fromQQ, string msg, int font);  
  
/// <summary>  
/// Type=2 群消息。  
/// </summary>  
/// <param name="subType">子类型,目前固定为1。</param>  
/// <param name="sendTime">发送时间(时间戳)。</param>  
/// <param name="fromGroup">来源群号。</param>  
/// <param name="fromQQ">来源QQ。</param>  
/// <param name="fromAnonymous">来源匿名者。</param>  
/// <param name="msg">消息内容。</param>  
/// <param name="font">字体。</param>  
public delegate void EventGroupMessage(  
    int subType, int sendTime, long fromGroup, long fromQQ, string fromAnonymous, string msg, int font);  
  
/// <summary>  
/// Type=4 讨论组消息。  
/// </summary>  
/// <param name="subType">子类型,目前固定为1。</param>  
/// <param name="sendTime">发送时间(时间戳)。</param>  
/// <param name="fromDiscuss">来源讨论组。</param>  
/// <param name="fromQQ">来源QQ。</param>  
/// <param name="msg">消息内容。</param>  
/// <param name="font">字体。</param>  
public delegate void EventDiscussMessage(int subType, int sendTime, long fromDiscuss, long fromQQ, string msg, int font);  
  
/// <summary>  
/// Type=11 群文件上传事件。  
/// </summary>  
/// <param name="subType">子类型,目前固定为1。</param>  
/// <param name="sendTime">发送时间(时间戳)。</param>  
/// <param name="fromGroup">来源群号。</param>  
/// <param name="fromQQ">来源QQ。</param>  
/// <param name="file">上传文件信息。</param>  
public delegate void EventGroupUpload(int subType, int sendTime, long fromGroup, long fromQQ, string file);  
/// <summary>  
/// Type=101 群事件-管理员变动。  
/// </summary>  
/// <param name="subType">子类型,1/被取消管理员 2/被设置管理员。</param>  
/// <param name="sendTime">发送时间(时间戳)。</param>  
/// <param name="fromGroup">来源群号。</param>  
/// <param name="beingOperateQQ">被操作QQ。</param>  
public delegate void EventGroupAdmin(int subType, int sendTime, long fromGroup, long beingOperateQQ);  
  
/// <summary>  
/// Type=102 群事件-群成员减少。  
/// </summary>  
/// <param name="subType">子类型,1/群员离开 2/群员被踢 3/自己(即登录号)被踢。</param>  
/// <param name="sendTime">发送时间(时间戳)。</param>  
/// <param name="fromGroup">来源群。</param>  
/// <param name="fromQQ">来源QQ。</param>  
/// <param name="beingOperateQQ">被操作QQ。</param>  
public delegate void EventGroupMemberDecrease(int subType, int sendTime, long fromGroup, long fromQQ, long beingOperateQQ);  
  
/// <summary>  
/// Type=103 群事件-群成员增加。  
/// </summary>  
/// <param name="subType">子类型,1/管理员已同意 2/管理员邀请。</param>  
/// <param name="sendTime">发送时间(时间戳)。</param>  
/// <param name="fromGroup">来源群。</param>  
/// <param name="fromQQ">来源QQ。</param>  
/// <param name="beingOperateQQ">被操作QQ。</param>  
public delegate void EventGroupMemberIncrease(int subType, int sendTime, long fromGroup, long fromQQ, long beingOperateQQ);  
/// <summary>  
/// Type=201 好友事件-好友已添加。  
/// </summary>  
/// <param name="subType">子类型,目前固定为1。</param>  
/// <param name="sendTime">发送时间(时间戳)。</param>  
/// <param name="fromQQ">来源QQ。</param>  
public delegate void EventFriendAdded(int subType, int sendTime, long fromQQ);  
  
/// <summary>  
/// Type=301 请求-好友添加。  
/// </summary>  
/// <param name="subType">子类型,目前固定为1。</param>  
/// <param name="sendTime">发送时间(时间戳)。</param>  
/// <param name="fromQQ">来源QQ。</param>  
/// <param name="msg">附言。</param>  
/// <param name="responseFlag">反馈标识(处理请求用)。</param>  
public delegate void EventRequestAddFriend(int subType, int sendTime, long fromQQ, string msg, string responseFlag);  
  
/// <summary>  
/// Type=302 请求-群添加。  
/// </summary>  
/// <param name="subType">子类型,目前固定为1。</param>  
/// <param name="sendTime">发送时间(时间戳)。</param>  
/// <param name="fromGroup">来源群号。</param>  
/// <param name="fromQQ">来源QQ。</param>  
/// <param name="msg">附言。</param>  
/// <param name="responseFlag">反馈标识(处理请求用)。</param>  
public delegate void EventRequestAddGroup(  
    int subType, int sendTime, long fromGroup, long fromQQ, string msg, string responseFlag);  
 

标签: C#
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告