远程桌面RDP与本地主机的通讯交互实现
项目中,需要实现以下功能,
- 自动登陆远程桌面
- 复制本地多个文件到远程桌面上
- 执行复制过去的执行文件
- 执行文件操作进程通知给主机程序
- 关闭远程桌面
## 技术分析,
* 自动登陆远程桌面怎么做?
本地RDP文件执行会自动登陆。
* 怎么复制主机文件到远程?
模拟剪贴板操作。 复制过程可能比较耗时,远程伺服程序检测安装进度,并通过剪贴板传递进度。
* 主机与远程交互
通过共享的文件夹或剪贴板来交互数据。这里采用轻量的剪贴板方式来实现。经过测试,远程执行程序的剪贴板操作,主机也可以读取到。
* 如何开始执行位于远程桌面的程序呢?
在主机桌面的远程桌面窗口上模拟鼠标双击。 mouse_event API ,测试可以。有人会说,不是有alternate shell参数可以调用吗。注意:程序远程桌面启动后,复制过去的。
* 如何在程序结束操作后,断开远程桌面
远程伺服程序发送消息给主机程序,主机程序结束mstsc.exe进程。