RDPSession的远程桌面共享,原生的Microsoft DLL

本文介绍了在.NET 3.5框架下,如何利用RDPSession进行远程桌面连接和共享,特别是在Win10环境下遇到的问题及解决方案。在Windows 7下使用Visual Studio 2010开发,因为VS2019在3.5框架下可能出现错误。文章中提到了需要引用的DLL文件以及服务器端和客户端的事件处理。
摘要由CSDN通过智能技术生成

Net 3.5框架下运用。
RDPSession 可以用于无人为输入用户名和密码进行远程桌面的连接和共享。
原来在Win10下用visual studio 2019下进行3.5框架运用,但是调用3.5框架下的axRDPViewer会出错,因此改用windows7下的visual studio 2010进行(主要是考虑远古win系统应用)。
(以下代码参考了csdn和StackOverflow下的N多例子,再次感谢)

Server端:
添加引用:interop.RDPCAMPILib.dll

 #region
 private static RDPCOMAPILib.RDPSession rdp = new RDPCOMAPILib.RDPSession();
 private static RDPCOMAPILib.RDPSRAPIInvitation invitation=null;
 private static RDPCOMAPILib.IRDPSRAPIVirtualChannel virtualChannel;
 private static string localIP;
 private static string rdpConnectStr;
 #endregion

//rdp 连接以后事件
rdp.OnAttendeeConnected+=new RDPCOMAPILib._IRDPSessionEvents_OnAttendeeConnectedEventHandler(rdp_OnAttendeeConnected);
//rdp失去连接以后事件
rdp.OnAttendeeDisconnected += new RDPCOMAPILib._IRDPSessionEvents_OnAttendeeDisconnectedEventHandler(rdp_OnAttendeeDisconnected);
//rdp设置能看的区域
rdp.SetDesktopSharedRect(0, 0, System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width, System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height);
//rdp创建一个发送message的,名称为111的虚拟通道,这个名称要和浏览端创建的虚拟通道名称一致
virtualChannel = rdp.VirtualChannelManager.CreateVirtualChannel("111",RDPCOMAPILib.CHANNEL_PRIORITY.CHANNEL_PRIORITY_HI,(uint)RDPCOMAPILib.CHANNEL_FLAGS.CHANNEL_FLAGS_LEGACY
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值