C#调用RDP,实现远程桌面共享及控制

之前做了一个远程桌面,只是可以让一台机器远程连接另一台电脑。后来翻了翻帖子发现有用远程桌面共享的例子。所以按照步骤进行了一次实验记录如下:

参考资料:

         链接(1):http://www.cnblogs.com/mobwiz/p/remote_desktop_share.html    点击打开链接

         链接(2):https://cloudblogs.microsoft.com/enterprisemobility/2007/03/23/writing-a-desktop-sharing-application/    点击打开链接  【这篇讲得非常详细】

 我的项目代码地址:http://download.csdn.net/download/wochendaixin/10107015  点击打开链接

项目流程:

【1】建立一个分享桌面的工程,和一个连接观看的工程

     主要按照链接(1)的大体步骤来建立两个C#的项目,具体的操作流程和工程中所需引用控件等的引入步骤可以按照链接(1)的步骤来进行。

【2】代码的填入

     直接去链接(2)的网页中,下载网页底部的源码,对照他讲述的流程,比较源码的位置就可以轻松的完成代码的填入。期间会遇到一些和控件的关联等等,由于我之前没碰过c#,所以我是按照链接(1)的方式来关联的。不过有了(2)的源码,直接通过控件点击进入代码就可以清晰的看出整个逻辑。

一些问题:

1】利用链接(2)的代码框架后,观看者可以通过 “control” 按钮来控制分享桌面,这里经过实验之后发现:

             一个win7做分享端,一个win10做客户观看端,切换控制权后,win10控制起来非常流畅。

             一个win7做分享端,一个win7做客户观看端,切换控制权后,win7控制起来有时流畅,有时没有反应,无法控制。

    解决:这是由于win7的rdp版本过低,将win7的rdp版本升级到8.1后就发现由观看切换到控制都是非常流畅的。

2】我的两个工程都是在vs2015下建立的,发现当你不是用管理员运行vs2015时,会出现观看者无法连接到共享桌面

3】在共享端,创造的邀请字符串是变化的。每次开启共享之后,生成的字符串都和上次不同。我采用了连接(2)中将字符串存放到本地文件中。记得每次替换。



===== 更新 ======

这两天尝试在做mfc的远程桌面共享demo,现在完成了 MFC观看端。 已经可以实现了和 C#分享端 的连接、观看、控制;

可是 MFC共享端 编写时,在调用rdp的com组件时遇到了麻烦:

    通过com组件所生成的制作共享端所必须的一些包装类,可是生成的包装类里面的一些成员函数和msdn上给出的com中的函数发生了一些改变,不知道是什么原因,还在迷茫中




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wochendaixin/article/details/78465095
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭