- 浏览: 427508 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lkun__blog:
网页打不开啊
博客搬家到http://cuiz.me -
bglmmz:
楼主怎么解决的?我用python调用ice服务,也出现此问题, ...
syscall exception: 存储空间不足,无法处理此命令 -
luliangy:
哥,你什么配置,我10W个请求10秒左右就搞定了,毫无压力,R ...
Nginx和Apache简单的并发压力测试 -
liuxuejin:
这!看的我都···········。我看代码而已。怎么
EPOLL及消息队列实现SMTP 之 青楼的故事 -
zires:
night_stalker 写道unicorn 也很好维护啊, ...
Unicorn和Passenger性能测试对比
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)); } } }
插件如下:
发表评论
-
使用CURL库在编译时遇到的问题
2010-12-29 18:49 9298表现: windows平台,使用libcur ... -
Apache模块-下载文件-性能测试打靶用的靶子
2010-12-16 18:30 2622apache模块, 下载某一个文件, 性能测试打靶用, ... -
[分享我的经验]Cpp项目测试方案设计及实现
2010-07-15 16:04 969##第一次做Cpp项目的测试设计,代码的语法还 ... -
epoll+消息队列-通过使用pthread_cond_signal的一个简单实现
2010-06-27 15:40 6052第一次用epoll去实现一 ... -
这里写的都是关于Flex的废话,不吐不快
2009-12-17 16:51 798我靠, 一个对象在MXML和AS里面一般都通用,MXML里面 ... -
Flex代码组织结构的一点经验
2009-12-15 14:23 2274在开始设计部门内部太极项目二期的时候,就一直在反思一期工作中的 ... -
要以可持续发展的眼光去做技术选型,嘿嘿^-^
2009-11-29 13:16 958部门内部有个很不错的 ... -
Your Kit Profiler解析Java性能
2009-07-22 16:24 1933#The below params will open the ... -
我知道了Ext总发出毫无意义的Http请求的原因
2009-05-08 17:21 911以前看别的项目组用Ext做的项目时,会发现经常有错误的请求发出 ... -
用JS处理HttpWatch转到的POST参数没有分隔好时候的方法
2009-01-12 15:46 1763HttpWatch版本太老的时候会出现post的参数被Http ... -
JavaScript画的股票曲线图
2008-12-16 14:42 3289目前做成这样了,用JavaScript的canvas画的,为了 ... -
javascript 中 outerHTML 、innerHTML、innerTEXT 三者的区别
2008-12-11 17:51 833Z:http://blog.52z.com/post/304. ... -
只有IE知道这句注释
2008-12-10 19:57 933<!--[if IE]>只有IE知道这句注释!&l ... -
图解程序设计关键词
2008-12-04 17:30 1191... -
练练手,好久不写都要生疏了
2008-11-22 01:26 915<!DOCTYPE HTML PUBLIC " ... -
(轻便)调试JavaScript的旺旺插件(基于jzshmyt的javascript-logger)
2008-11-21 10:16 1338Demo如下,大家拍砖吧! 请看下面介绍: ... -
我的Httpunit+Junit文件上传API测试用例
2008-07-29 14:16 2749package com.alisoft.aep.sip.cor ...
相关推荐
nVidia_Physx_SDK_2.8.4.6(part2)
6. **开发和调试工具**:GWT提供了一个集成的开发环境(IDE)插件,如Eclipse和IntelliJ IDEA,以及一个开发服务器,支持实时编译和热部署,便于快速迭代和调试。 7. **模块化系统**:GWT项目可以被划分为多个模块...
旺旺SDK,全称为淘宝旺旺软件开发工具包(Taobao Wangwang Software Development Kit),是阿里巴巴集团为了方便开发者集成旺旺即时通讯功能到第三方应用中而提供的开发工具。这个"wwsdk 旺旺SDK二次开发包"主要是...
阿里旺旺SDK 3.05安装包是一个专为开发者设计的工具,旨在帮助他们集成阿里旺旺功能到自己的应用程序中,尤其是针对旺旺卖家版。这个开发包提供了丰富的资源和文档,使得开发者能够轻松地在自己的应用中实现与阿里...
阿里旺旺sdk安装包
《Informix客户端SDK 4.10.TC14在Windows 32位环境下的应用与配置详解》 Informix Client SDK(客户端软件开发工具包)是Informix数据库系统的重要组成部分,它为开发者提供了在各种应用程序中连接和操作Informix...
Canon Digital EOS SDK (ED-SDK v2.8) 开发包 跟别人买的。这里免费发了。 开发案例请找我:349717267
nVidia_Physx_SDK_2.8.4.6(part3)
64位windows amd平台的opencl安装软件。安装之后sample在:C:\Users\xx\Documents\AMD APP\
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"是一个特别的项目,它包含了用于增强应用功能的特定插件,主要涉及插屏广告、通知栏通知以及桌面推送和随机弹出推送等功能。下面将详细介绍这些知识点。 1. **Android SDK**: Android SDK是...
海康威视 WEB SDK 插件是一组用于在网页端开发与海康威视设备进行交互的软件开发工具包。它提供了一系列的接口和功能,以便开发者能够在自己的网页应用中实现诸如视频播放、设备控制、数据获取等操作。 以下是使用...
标题中的“NDI ue4sdk插件”指的是NewTek的NDI(Network Device Interface)技术在Unreal Engine游戏引擎中的应用。NDI是一种创新的IP视频标准,它允许设备通过网络共享高质量、低延迟的媒体内容。UE4SDK插件是专为...
【浙江大华摄像头Web3.0网页播放SDK插件包】是专为浙江大华摄像头设计的一款集成开发工具,主要用于实现网页上的实时和历史视频播放功能。这一SDK(Software Development Kit)提供了完整的开发资源和文档,使开发者...
本插件就是将UCloud SDK与CodeIgniter框架进行了整合,以便于CodeIgniter用户能够无缝接入UCloud的云计算资源。 在使用"ucloud codeigniter sdk整合插件"时,你需要了解以下几个关键知识点: 1. **CodeIgniter框架...
Forward.NET平台下利用Visual Studio 2002做二次开发必备库,包括头文件、库文件、开发手册,饱含2.7和2.8两个版本,其中Vc7为VS2002下的安装目录,找到相应路径后导入,这样在VS2002中新建项目时即可看到相应模板。
海康威视摄像头WebSdk无插件开发包
clientsdk.2.90.TC6.WIN,经常使用的一个客户端工具,绝对可用!Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族。作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统。 IBM对...
本项目是一款基于Cordova框架的微信SDK JavaScript插件,源码包含21个文件,涵盖5个Java类文件、4个头文件、2个Markdown文档、2个JavaScript文件、2个JAR文件、1个.gitignore配置文件、1个JSON配置文件、1个XML配置...
在用unity开发体感的时候,需要用到一个叫Kinect v2 with MS-SDK的插件,这个插件中包含了很多的接口和示例。大家在下载的时候看清楚这是对kinect v2的使用,网上很多都是v1的,大小为45M左右