NN远程桌面SDK之C#开发源码
2016-10-31 13:20
1276 查看
NN远程控制软件可方便的用于查看远程屏幕,控制远程电脑。该系统由远程协助软件(NNHelp)和远程桌面服务(NNRdp)两部分组成。在无人值守电脑或服务器上安装远程桌面服务NNRdp,该软件随电脑开机自动运行,自动接受连接。在需要人工操作的电脑上安装NNHelp,可用于控制其他电脑(NNRdp服务)或邀请别人远程协助操作自己的电脑。具有常用客服功能,如:文字聊天,屏幕截图和邀请远程协助三大功能,客服远程电脑用得着哦。
官网下载:http://www.nnv1.com/screen.htm
系统特点:
(1) 软件不需要注册,无需账号,自动分配ID号,并可随意更改自ID号;
(2) 可设置屏幕质量:8位色,4位色,真彩色。适应不同的网络带宽要求;
(3) 可发送文字消息,向客服发起远程协助请求,发送文字信息,或屏幕截图。
(4) 分开使用更安全,NNHelp不自启动,不后台运行,不自动接受远程,被邀请者才可以远程。被控前需要你做权限确认(是否允许复制文件和文字)。NNRdp服务端在后台自动运行,只有自己允许的ID号才可以连接。
使用限制:NNhelp可免费使用,其远程控制功能提供SDK接口用于二次开发。通过二次开发接口,可以方便的给自己的软件产品增加远程控制(协助)功能。二次开发语言支持c++,VB,C#,Delphi,以及android手机平台,提供二次开发Demo及免费测试服务器(正式版服务器授权需要购买)。
C#开发源码:
NN远程控制组件提供简单的二次开发接口,可快速实现远程控制功能。支持各种语言二次开发。如:c++,VB,C#,Delphi,以及android手机平台。C#源码功能:
登陆服务器获取我的ID号(可选中固定ID登陆);
连接对方ID,控制远程机器(可直接链接或强制服务器中转链接);
设置远程屏幕颜色,是否去掉桌面背景和Aero主题。是否允许控制;
发送接收文字消息。断开当前链接。
C#代码中用到一下技术算法:、
C#加载第三方Dll
C#回调函数的使用。
IntPtr转字符String。
C#加载第三方Dll:
首先声明dll文件名,dll一定要放在可执行程序所在目录,方便加载;然后声明函数名。
如:创建视频窗口,参数:父窗口;返回:创建的视频窗口。
[DllImport("NNScreen.dll")]
public
staticextern Int32 NNSCreateWindow(IntPtrInt32Parent);
之后就可以在代码中使用dll导出的函数。
C#回调函数使用:
回调函数是一个在自己的程序中的实现的函数,该函数可以被Dll调用,比如NN远程控制组件在收到消息后要通知给C#程序,就通过调用这个回调函数来通知C#程序。首先声明一个回调函数名称,我这里命名为pDataRec,参数取决于dll中声明的回调接口。
public delegate
Int32 pDataRec(UInt32userData,
stringstrUser,
IntPtr pdata, int
ilen,int
idatatype);
声明dll中设置回调的函数接口(由Dll提供)
[DllImport("NNScreen.dll")]
public static extern
void NNSSetCallBack(pDataRec Callback,
UInt32handle);
IntPtr转字符String:
Dll中可能向C#代码传输大量的字符数据,可以直接声明为string 类型,但是string类型默认是unicode编码类型,对于ansi编码类型中的汉字就不适合了,这时候可以通过Marshal.PtrToStringAnsi来转换。
如:string str=Marshal.PtrToStringAnsi(pBuf);
另外对于非汉字字符,也可以通过byte直接转换:
byte []
bt=new
byte[nLen];
Marshal.Copy(pBuf,bt,0,nLen);
String str=bt[0].ToString();
软件界面截图:
登录后,输入对方ID,连接对方,连接成功后可看到对方桌面:
可选择自动接受远程或弹出确认框手动确认,如下图选择确认框:
安卓端远程控制电脑:
远程控制组件调用流程:
【受控端】
1、创建组件
参数:父窗口句柄;
返回:创建的组件窗口句柄。
public static extern Int32 NNSCreateWindow(IntPtr Int32Parent);
2、创建远程窗口
参数1:父窗口句柄
参数2:可忽略
返回:远程窗口句柄,可通过这个句柄通过SetWindowText设置窗口标题。
public static extern int NNSInitVideoDevice(IntPtr Int32Show,intnDevice);
3、设置消息回调函数
参数1:回调函数
参数2:用户自己设置数据。随意
public static extern void NNSSetCallBack (pDataRec CallbackFunction, UInt32 handle);
4、 回调函数处理:
参数1:用户自己设置数据。
参数2:对方用户ID
参数3:收到的对方数据,或状态字符
参数4:收到数据长度。-1表示当前登录或连接状态。
参数5:收到数据类型:10表示对方发的文字。255表示设置我的ID返回情况。
返回:请返回0
function nncallback2(userData:integer; strUser:Pointer; pBuf:Pointer; nLen:integer; nType:integer):integer; stdcall;
状态字符:(nLen=-1时 pBuf 对应的意思。
'登陆失败!'
'登录成功'
'连接成功!'
'停止!' (说明:表示断开远程来年姐。停止!后面可能还有文字说明具体原因。)
'连接失败'
'不在线'
其他自己根据文字内容去理解。具体细节参考Demo使用。
5、设置是否允许远程操作
参数:1(允许),0(不允许)
返回:设置后的值。
public static extern int NNSSetDevice(int nDevice);
6:删除组件,软件关闭时调用。
public static extern void NNSDestory();
【主控端】
前面5点与受控端一样,略...
7、设置远程屏幕颜色。
参数:颜色值:4,8,32
返回:设置后的值。
public static extern int NNSSetDevice(int nDevice);
8、发起连接
参数1:对方ID
阐述2:连接方式:0,不中转,1连接失败后才中转.2强制中转。
返回:1发送出去,0发送失败。
public static extern Int32 NNSConnectName(String strUser,Int32bUserServer);
9、断开连接:
参数:无
返回:无
void NNSStopChat();
10、发送文字给对方:
参数1:用户ID,发送给当前连接方,无需指定,用空字符代替。
参数2:要发送的字符串数据。
参数3:要发送的字节数。-1 表示就是当前字符串的长度。
参数4:数据类型,目前用10来代替文字。 255表示设置我的ID。
返回:1发送出去,0未发送出去。
public static extern int NNSSendData(String strUser,StringstrText, int nLen , byte nType);
完整源码下载地址:http://www.nnv1.com/Com_Screen.htm点击C#开发源码下载
官网下载:http://www.nnv1.com/screen.htm
系统特点:
(1) 软件不需要注册,无需账号,自动分配ID号,并可随意更改自ID号;
(2) 可设置屏幕质量:8位色,4位色,真彩色。适应不同的网络带宽要求;
(3) 可发送文字消息,向客服发起远程协助请求,发送文字信息,或屏幕截图。
(4) 分开使用更安全,NNHelp不自启动,不后台运行,不自动接受远程,被邀请者才可以远程。被控前需要你做权限确认(是否允许复制文件和文字)。NNRdp服务端在后台自动运行,只有自己允许的ID号才可以连接。
使用限制:NNhelp可免费使用,其远程控制功能提供SDK接口用于二次开发。通过二次开发接口,可以方便的给自己的软件产品增加远程控制(协助)功能。二次开发语言支持c++,VB,C#,Delphi,以及android手机平台,提供二次开发Demo及免费测试服务器(正式版服务器授权需要购买)。
C#开发源码:
NN远程控制组件提供简单的二次开发接口,可快速实现远程控制功能。支持各种语言二次开发。如:c++,VB,C#,Delphi,以及android手机平台。C#源码功能:
登陆服务器获取我的ID号(可选中固定ID登陆);
连接对方ID,控制远程机器(可直接链接或强制服务器中转链接);
设置远程屏幕颜色,是否去掉桌面背景和Aero主题。是否允许控制;
发送接收文字消息。断开当前链接。
C#代码中用到一下技术算法:、
C#加载第三方Dll
C#回调函数的使用。
IntPtr转字符String。
C#加载第三方Dll:
首先声明dll文件名,dll一定要放在可执行程序所在目录,方便加载;然后声明函数名。
如:创建视频窗口,参数:父窗口;返回:创建的视频窗口。
[DllImport("NNScreen.dll")]
public
staticextern Int32 NNSCreateWindow(IntPtrInt32Parent);
之后就可以在代码中使用dll导出的函数。
C#回调函数使用:
回调函数是一个在自己的程序中的实现的函数,该函数可以被Dll调用,比如NN远程控制组件在收到消息后要通知给C#程序,就通过调用这个回调函数来通知C#程序。首先声明一个回调函数名称,我这里命名为pDataRec,参数取决于dll中声明的回调接口。
public delegate
Int32 pDataRec(UInt32userData,
stringstrUser,
IntPtr pdata, int
ilen,int
idatatype);
声明dll中设置回调的函数接口(由Dll提供)
[DllImport("NNScreen.dll")]
public static extern
void NNSSetCallBack(pDataRec Callback,
UInt32handle);
IntPtr转字符String:
Dll中可能向C#代码传输大量的字符数据,可以直接声明为string 类型,但是string类型默认是unicode编码类型,对于ansi编码类型中的汉字就不适合了,这时候可以通过Marshal.PtrToStringAnsi来转换。
如:string str=Marshal.PtrToStringAnsi(pBuf);
另外对于非汉字字符,也可以通过byte直接转换:
byte []
bt=new
byte[nLen];
Marshal.Copy(pBuf,bt,0,nLen);
String str=bt[0].ToString();
软件界面截图:
登录后,输入对方ID,连接对方,连接成功后可看到对方桌面:
可选择自动接受远程或弹出确认框手动确认,如下图选择确认框:
安卓端远程控制电脑:
远程控制组件调用流程:
【受控端】
1、创建组件
参数:父窗口句柄;
返回:创建的组件窗口句柄。
public static extern Int32 NNSCreateWindow(IntPtr Int32Parent);
2、创建远程窗口
参数1:父窗口句柄
参数2:可忽略
返回:远程窗口句柄,可通过这个句柄通过SetWindowText设置窗口标题。
public static extern int NNSInitVideoDevice(IntPtr Int32Show,intnDevice);
3、设置消息回调函数
参数1:回调函数
参数2:用户自己设置数据。随意
public static extern void NNSSetCallBack (pDataRec CallbackFunction, UInt32 handle);
4、 回调函数处理:
参数1:用户自己设置数据。
参数2:对方用户ID
参数3:收到的对方数据,或状态字符
参数4:收到数据长度。-1表示当前登录或连接状态。
参数5:收到数据类型:10表示对方发的文字。255表示设置我的ID返回情况。
返回:请返回0
function nncallback2(userData:integer; strUser:Pointer; pBuf:Pointer; nLen:integer; nType:integer):integer; stdcall;
状态字符:(nLen=-1时 pBuf 对应的意思。
'登陆失败!'
'登录成功'
'连接成功!'
'停止!' (说明:表示断开远程来年姐。停止!后面可能还有文字说明具体原因。)
'连接失败'
'不在线'
其他自己根据文字内容去理解。具体细节参考Demo使用。
5、设置是否允许远程操作
参数:1(允许),0(不允许)
返回:设置后的值。
public static extern int NNSSetDevice(int nDevice);
6:删除组件,软件关闭时调用。
public static extern void NNSDestory();
【主控端】
前面5点与受控端一样,略...
7、设置远程屏幕颜色。
参数:颜色值:4,8,32
返回:设置后的值。
public static extern int NNSSetDevice(int nDevice);
8、发起连接
参数1:对方ID
阐述2:连接方式:0,不中转,1连接失败后才中转.2强制中转。
返回:1发送出去,0发送失败。
public static extern Int32 NNSConnectName(String strUser,Int32bUserServer);
9、断开连接:
参数:无
返回:无
void NNSStopChat();
10、发送文字给对方:
参数1:用户ID,发送给当前连接方,无需指定,用空字符代替。
参数2:要发送的字符串数据。
参数3:要发送的字节数。-1 表示就是当前字符串的长度。
参数4:数据类型,目前用10来代替文字。 255表示设置我的ID。
返回:1发送出去,0未发送出去。
public static extern int NNSSendData(String strUser,StringstrText, int nLen , byte nType);
完整源码下载地址:http://www.nnv1.com/Com_Screen.htm点击C#开发源码下载
相关文章推荐
- NN远程桌面SDK之Delphi开发源码
- NN远程桌面SDK之VC++开发源码
- 供应P2P远程桌面控制软件,可二次开发,有调用源码
- c#远程桌面开发
- 远程开发分布式C#编程实例
- 单机版简易考试系统开发过程讲解(C#注册机、用户注册、考试系统、有偿提供全部源码)
- [转]我也玩PSP开发!(2)—— PSPSDK示例 源码分析
- 黄河数字SDK C#开发系列【1】——HHNET_SetServerConfig()中的char* 转换
- c#使用多个远程桌面连接
- 上半年私人计划简略及Java桌面游戏开发入门示例并源码集合
- 第8章 C# .NET 开源可进行二次开发的即时通讯组件提供全部源码下载
- 上半年私人计划简略及Java桌面游戏开发入门示例并源码集合
- 免费网络远程视频会议系统,免费美女多人视频聊天(附源码下载)(Flex和Fms3开发)
- 上半年私人计划简略及Java桌面游戏开发入门示例并源码集合
- 桌面搜索(含源码c#)
- C#远程监控和抓图摄影源码下载
- 使用C#调用PI-SDK进行基于PI的开发(一)——PI-SDK简介
- 谁有佳能SDK C#语言开发包
- Android SDK开发指南(翻译)系列三:Tools(一)--使用AIDL, 设计一个远程接口
- 我也玩PSP开发!(2)—— PSPSDK示例 源码分析