`
CharlesCui
  • 浏览: 427508 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

旺旺SDK2.8插件 TC

阅读更多

SDK2.8 联系人及联系人集合操作

入口类,实现了主程序和插件借口:

using System.Linq;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Text;
using wwsdkcomLib;
using System.Xml;

namespace TC01
{
    public class Global
    {
        public static int lPluginCookie;
        public static int lCookie;
        public static object pSlot;
        public static string appid = "13141123";
        public static object pApplication;
    }
    [ComVisible(true),
    Guid("B61D33ED-9689-4551-B102-A00E2B437938"),
    ClassInterface(ClassInterfaceType.None)]
    public class Class1 : ISDKPlugin2, ISDKDevPlugin
    {
        public void OnConnect(object pApplication, int lPluginCookie)
        {
            // OnConnect 不建议使用末态对话框 
            //ISDKPluginQueryResult pqr = (pApplication as ISDKApplication3).GetSubScriptionInfo(lPluginCookie) as ISDKPluginQueryResult;
            //Global.appid = pqr.appID;
            Global.lPluginCookie = lPluginCookie;
            Global.pApplication = pApplication;
        }

        public void OnDisconnect(object pApplication, int lPluginCookie)
        {
            // OnDisConnect 不建议使用末态对话框 
            // MessageBox.Show("我被卸载了", "csharp helloworld");
        }



        public void OnNotify(SDKMessageID MsgID, object pParam)
        {

            if (MsgID == SDKMessageID.NOTIFY_OFFLINE)
            {
            }

            else if (MsgID == SDKMessageID.NOTIFY_USERLOGIN)
            {
            }
        }

        public void OnUninstall()
        {
        }

        public void Require()
        {
        }
    }
    [ComVisible(true),
    Guid("D8A84BDF-6681-4c17-8B7B-A416C7BCF6A4"),
    ClassInterface(ClassInterfaceType.None)]

    public class Class2 : ISDKPluginItem
    {

        Form1 f1;

        public void OnMenuClick(int lCmdID)
        {
        }

        // 插件作为按钮出现时候得到点击后被调用 
        // 本例中此方法将在点击发生后得到调用 

        public void OnClick()
        {
            MessageBox.Show("进入工作平台");
            try
            {
                this.f1.Show();
            }
            catch (Exception ex)
            {
                this.f1 = new Form1();
                this.f1.Show();
            }
        }

        // 插件接入到插槽后得到通知 

        public void OnCreate(object pSlot, int hParentWnd, int lCookie)
        {
            Global.lCookie = lCookie;
            Global.pSlot = pSlot;
        }

        // 插件在附属插槽被销毁时候得到通知 

        public void OnDestroy()
        {
            // 使用模态对话框可能导致异常 
            // MessageBox.Show("聊天对话框输入工具条插件被销毁", "csharp allinone plugin");
        }

        // 和插件项本身相关的消息通知 

        public void OnNotify(SDKItemNotifyID MsgIDD, object pParam)
        {

        }

        // 当插件以窗口形式出现情况下,在父窗口发生变化情况下得到通知 

        public void OnSize(int cx, int cy)
        {
        }

    }

}


插件类,实现了插件的具体功能:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using wwsdkcomLib;

namespace TC01
{
    public partial class Form1 : Form
    {
        ISDKContact3 ct3;
        ISDKContact2 ct2;
        ISDKContactMgr3 ctm3;
        ISDKContactMgr2 ctm2;
        ISDKLoginUser3 luser3;
        ISDKApplication3 app3;

        public Form1()
        {
            //MessageBox.Show("开始加载");
            InitializeComponent();
            try
            {
                this.app3 = (Global.pApplication as ISDKApplication3);
                //MessageBox.Show("pApplication");
            }
            catch (Exception ex)
            {
                MessageBox.Show("(Global.pApplication as ISDKApplication);\n" + ex);
            }                        
            try
            {
                this.ctm3 = this.app3.GetContactMgr(Global.lPluginCookie) as ISDKContactMgr3;    
            }
            catch (Exception ex)
            {
                MessageBox.Show(" (Global.pApplication as ISDKApplication3).GetContactMgr(Global.lPluginCookie) as ISDKContactMgr3;\n"+ex);
            }
            try 
            {
                this.luser3 = this.app3.GetLoginUser(Global.lPluginCookie) as ISDKLoginUser3;
                //MessageBox.Show("GetLoginUser OK");
            }
            catch (Exception ex)
            {
                MessageBox.Show(" (Global.pApplication as ISDKApplication3).GetLoginUser as ISDKLoginUser3;\n" + ex);
            }
            try
            {
                this.textBox5.Text ="用户昵称 ; "+ this.luser3.GetNickName(Global.lPluginCookie);
                this.textBox5.Text += "\r\n用户活跃度 : "+this.luser3.GetActivitiesLevel(Global.lPluginCookie);
                this.textBox5.Text += "\r\n当前服务器时间 : " + this.luser3.GetServerTime(Global.lPluginCookie);
                //this.textBox5.Text += "\r\n用户Status : " + this.luser3(Global.lPluginCookie);
                this.textBox5.Text += "\r\n用户SiteID : " + this.luser3.GetSiteID(Global.lPluginCookie);
                this.textBox5.Text += "\r\n用户SiteName : " + this.luser3.GetSiteName(Global.lPluginCookie);
                this.textBox5.Text += "\r\n用户UserID : " + this.luser3.GetUserID(Global.lPluginCookie);
                this.textBox5.Text += "\r\n用户WWID : " + this.luser3.GetWangID(Global.lPluginCookie);
                //MessageBox.Show("UserInfo OK");
            }
            catch (Exception ex)
            {
                MessageBox.Show(" (Global.pApplication as ISDKApplication3).GetLoginUser as ISDKLoginUser3;\r\n" + ex);
            }
            //MessageBox.Show("加载完毕");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try 
            { 
                string tempstr=this.textBox1.Text;
                this.ct3 = this.ctm3.GetContact(Global.lPluginCookie, tempstr) as ISDKContact3;
                this.label3.Text=this.ct3.GetUserID(Global.lPluginCookie);
            }
            catch(Exception ex)
            {
                MessageBox.Show("this.ctm2.GetContact(Global.lPluginCookie, this.label1.Text) as ISDKContact2;\n" + ex);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                this.textBox4.Text = this.ct3.GetNickName(Global.lPluginCookie);
            }
            catch(Exception ex)
            {
                MessageBox.Show("this.ct3.GetNickName(Global.lPluginCookie);\n"+ex);
            }

        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                this.textBox4.Text = this.ct3.GetSiteID(Global.lPluginCookie);
            }
            catch (Exception ex)
            {
                MessageBox.Show("this.ct3.GetSiteID(Global.lPluginCookie);\n" + ex);
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            try
            {
                this.textBox4.Text = this.ct3.GetSiteName(Global.lPluginCookie);
            }
            catch (Exception ex)
            {
                MessageBox.Show("this.ct3.GetSiteName(Global.lPluginCookie);\n" + ex);
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            try
            {
                ISDKGroup sdkGroup = (this.ct3.GetInGroup(Global.lPluginCookie) as ISDKGroup);
                string s = sdkGroup.GetGroupName(Global.lPluginCookie);
                this.textBox4.Text = s;
            }
            catch (Exception ex)
            {
                MessageBox.Show("this.(ct3.GetInGroup(Global.lPluginCookie) as ISDKGroup).GetGroupName(Global.lPluginCookie);\n" + ex);
            }
        }

        private void button6_Click(object sender, EventArgs e)
        {
            ISDKObjectCollection ct3s;
            string tempstr = "GetNickName" + "\t" + "GetSiteID" + "\t" + "GetSiteName" + "\t" + "GetInGroup" + "\t用户Status" + "\r\n";
            try
            {
                ct3s=this.ctm3.GetRecentContactCollection(Global.lPluginCookie) as ISDKObjectCollection;
                foreach(ISDKContact3 ct3 in ct3s){
                    tempstr += (ct3.GetNickName(Global.lPluginCookie)+"\t"+ct3.GetSiteID(Global.lPluginCookie) +"\t"+ct3.GetSiteName(Global.lPluginCookie)+"\t"+(ct3.GetInGroup(Global.lPluginCookie) as ISDKGroup).GetGroupName(Global.lPluginCookie)+"\t"+ct3.GetStatus(Global.lPluginCookie)+"\r\n");
                }
                tempstr +="\n最近联系人总数为:" + ct3s.Count;
                this.textBox3.Text = tempstr;
            }
            catch (Exception ex) { MessageBox.Show("this.ctm3.GetRecentContactCollection(Global.lPluginCookie) as ISDKObjectCollection;"); }
        }

        private void button7_Click(object sender, EventArgs e)
        {
            ISDKObjectCollection ct3s;
            string tempstr = "GetNickName" + "\t" + "GetSiteID" + "\t" + "GetSiteName" + "\t" + "GetInGroup" + "\t用户Status" + "\r\n";
            try
            {
                ct3s = this.ctm3.GetFilterContactCollection(Global.lPluginCookie) as ISDKObjectCollection;
                foreach (ISDKContact3 ct3 in ct3s)
                {
                    tempstr += (ct3.GetNickName(Global.lPluginCookie) + "\t" + ct3.GetSiteID(Global.lPluginCookie) + "\t" + ct3.GetSiteName(Global.lPluginCookie) + "\t" + (ct3.GetInGroup(Global.lPluginCookie) as ISDKGroup).GetGroupName(Global.lPluginCookie) + ct3.GetStatus(Global.lPluginCookie) + "\r\n");
                }
                tempstr += "\n黑名单联系人总数为:" + ct3s.Count;
                this.textBox3.Text = tempstr;
            }
            catch (Exception ex) { MessageBox.Show("this.ctm3.GetFilterContactCollection(Global.lPluginCookie) as ISDKObjectCollection;"); }
        }

        private void button8_Click(object sender, EventArgs e)
        {
            ISDKObjectCollection ct3s;
            string tempstr = "GetNickName" + "\t" + "GetSiteID" + "\t" + "GetSiteName" + "\t" + "GetInGroup" + "\t用户Status" + "\r\n";
            try
            {
                ct3s = this.ctm3.GetStrangerContactCollection(Global.lPluginCookie) as ISDKObjectCollection;
                foreach (ISDKContact3 ct3 in ct3s)
                {
                    tempstr += (ct3.GetNickName(Global.lPluginCookie) + "\t" + ct3.GetSiteID(Global.lPluginCookie) + "\t" + ct3.GetSiteName(Global.lPluginCookie) + "\t" + (ct3.GetInGroup(Global.lPluginCookie) as ISDKGroup).GetGroupName(Global.lPluginCookie) + ct3.GetStatus(Global.lPluginCookie) + "\r\n");
                }
                tempstr += "\n陌生联系人总数为:" + ct3s.Count;
                this.textBox3.Text = tempstr;
            }
            catch (Exception ex) { MessageBox.Show("this.ctm3.GetStrangerContactCollection(Global.lPluginCookie) as ISDKObjectCollection;"); }
        }

        private void button16_Click(object sender, EventArgs e)
        {
            //活跃度级别
            MessageBox.Show("活跃度级别 : "+this.luser3.GetActivitiesLevel(Global.lPluginCookie));
        }

        private void button17_Click(object sender, EventArgs e)
        {
            MessageBox.Show("旺号 : " + this.luser3.GetWangID(Global.lPluginCookie));
        }

        private void button18_Click(object sender, EventArgs e)
        {
            MessageBox.Show("昵称 : " + this.luser3.GetNickName(Global.lPluginCookie));
        }
    }
}


插件如下:



  • 大小: 124.3 KB
1
0
分享到:
评论

相关推荐

    nVidia_Physx_SDK_2.8.4.6(part2)

    nVidia_Physx_SDK_2.8.4.6(part2)

    gwt-2.8.2 SDK 最新下载 google web toolkit

    6. **开发和调试工具**:GWT提供了一个集成的开发环境(IDE)插件,如Eclipse和IntelliJ IDEA,以及一个开发服务器,支持实时编译和热部署,便于快速迭代和调试。 7. **模块化系统**:GWT项目可以被划分为多个模块...

    wwsdk 旺旺SDK二次开发包

    旺旺SDK,全称为淘宝旺旺软件开发工具包(Taobao Wangwang Software Development Kit),是阿里巴巴集团为了方便开发者集成旺旺即时通讯功能到第三方应用中而提供的开发工具。这个"wwsdk 旺旺SDK二次开发包"主要是...

    阿里旺旺SDK3.05 安装包

    阿里旺旺SDK 3.05安装包是一个专为开发者设计的工具,旨在帮助他们集成阿里旺旺功能到自己的应用程序中,尤其是针对旺旺卖家版。这个开发包提供了丰富的资源和文档,使得开发者能够轻松地在自己的应用中实现与阿里...

    阿里旺旺sdk安装包

    阿里旺旺sdk安装包

    imformix client sdk 4.10.TC14 for windows 32位

    《Informix客户端SDK 4.10.TC14在Windows 32位环境下的应用与配置详解》 Informix Client SDK(客户端软件开发工具包)是Informix数据库系统的重要组成部分,它为开发者提供了在各种应用程序中连接和操作Informix...

    Canon Digital EOS SDK (ED-SDK v2.8) 开发包

    Canon Digital EOS SDK (ED-SDK v2.8) 开发包 跟别人买的。这里免费发了。 开发案例请找我:349717267

    nVidia_Physx_SDK_2.8.4.6(part3)

    nVidia_Physx_SDK_2.8.4.6(part3)

    AMD-APP-SDK-v2.8-Windows-64.exe的安装文件

    64位windows amd平台的opencl安装软件。安装之后sample在:C:\Users\xx\Documents\AMD APP\

    eclipse sdk 3.7.2 的maven插件

    2014年08月01日,找了几天了。按照网上介绍一直无法安装。...eclipse sdk 3.7.2 的maven插件eclipse sdk 3.7.2 的maven插件eclipse sdk 3.7.2 的maven插件eclipse sdk 3.7.2 的maven插件eclipse sdk 3.7.2 的maven插件

    AndroidSDK插件DEMO

    "AndroidSDK插件DEMO"是一个特别的项目,它包含了用于增强应用功能的特定插件,主要涉及插屏广告、通知栏通知以及桌面推送和随机弹出推送等功能。下面将详细介绍这些知识点。 1. **Android SDK**: Android SDK是...

    海康威视web sdk插件

    海康威视 WEB SDK 插件是一组用于在网页端开发与海康威视设备进行交互的软件开发工具包。它提供了一系列的接口和功能,以便开发者能够在自己的网页应用中实现诸如视频播放、设备控制、数据获取等操作。 以下是使用...

    NDI ue4sdk插件 ndi tool obs ndi插件

    标题中的“NDI ue4sdk插件”指的是NewTek的NDI(Network Device Interface)技术在Unreal Engine游戏引擎中的应用。NDI是一种创新的IP视频标准,它允许设备通过网络共享高质量、低延迟的媒体内容。UE4SDK插件是专为...

    浙江大华摄像头Web3.0网页播放SDK插件包

    【浙江大华摄像头Web3.0网页播放SDK插件包】是专为浙江大华摄像头设计的一款集成开发工具,主要用于实现网页上的实时和历史视频播放功能。这一SDK(Software Development Kit)提供了完整的开发资源和文档,使开发者...

    ucloud codeigniter sdk整合插件

    本插件就是将UCloud SDK与CodeIgniter框架进行了整合,以便于CodeIgniter用户能够无缝接入UCloud的云计算资源。 在使用"ucloud codeigniter sdk整合插件"时,你需要了解以下几个关键知识点: 1. **CodeIgniter框架...

    Forward.NET测井解释平台SDK 2.7+2.8+manual

    Forward.NET平台下利用Visual Studio 2002做二次开发必备库,包括头文件、库文件、开发手册,饱含2.7和2.8两个版本,其中Vc7为VS2002下的安装目录,找到相应路径后导入,这样在VS2002中新建项目时即可看到相应模板。

    HIKVISION海康威视WebSdk无插件开发包.rar

    海康威视摄像头WebSdk无插件开发包

    clientsdk.2.90.TC6.WIN

    clientsdk.2.90.TC6.WIN,经常使用的一个客户端工具,绝对可用!Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族。作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统。 IBM对...

    基于Cordova的微信SDK JavaScript插件设计源码

    本项目是一款基于Cordova框架的微信SDK JavaScript插件,源码包含21个文件,涵盖5个Java类文件、4个头文件、2个Markdown文档、2个JavaScript文件、2个JAR文件、1个.gitignore配置文件、1个JSON配置文件、1个XML配置...

    unity与Kinect v2交互的插件

    在用unity开发体感的时候,需要用到一个叫Kinect v2 with MS-SDK的插件,这个插件中包含了很多的接口和示例。大家在下载的时候看清楚这是对kinect v2的使用,网上很多都是v1的,大小为45M左右

Global site tag (gtag.js) - Google Analytics