前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >再谈 | 组态软件里面对远程桌面调用的方法

再谈 | 组态软件里面对远程桌面调用的方法

作者头像
剑指工控
发布2021-11-09 11:15:31
2.3K0
发布2021-11-09 11:15:31
举报
文章被收录于专栏:剑指工控

JZGKCHINA

工控技术分享平台

尊重原创 勿抄袭

勿私放其他平台

写在前面

前面一节《组态软件里面对远程桌面调用的方法》中介绍了如何在组态软件里面调用mstsc.exe程序实现对另外一台计算机远程桌面的调用,这种方法相对容易理解。事实上,微软也考虑到了程序猿们可能会用到调用远程桌面这个功能,所以提供了RDP 的ActiveX控件,直接拉出来,配置相关的属性就可以轻松实现调用了,而且这种调用不会在本地计算机的任务管理器里面占用太多资源。

下面我们以RsviewSE软件为例来测试一下如何调用RDP的ActiveX控件。需要说明一下,RSViewSE软件有的版本的可能有兼容性的问题,拉出来的RDP的ActiveX控件没办法用脚本控制,所以需要使用其他方式实现。本次实验使用的是8.0版的RSViewSE软件。

王老湿在以前的文章里面介绍过如何在RSViewSE软件里面拉一个ActiveX控件(如有需要的小伙伴可自行在“剑指工控”中查找一下哦

),此处就不再赘述,直接拉出来使用。

首先,在RSViewSE的画面里拉一个RDP控件

拉一个你电脑上版本最高的RDP控件

修改一下控件名称,为了调用的时候方便一点

然后在画面上再拉3个文本输入框,用于填写目标计算机的IP地址,目标计算机的用户名,目标计算机的远程桌面连接密码。

设置RDP控件和文本框输入控件、按钮控件的属性面板都为VBA控制

然后进入脚本编辑页面

在按钮控件的按下或弹起事件里面写脚本内容

在编写脚本之前,我们需要先了解一个RDP控件的属性和方法。

在VBA的编辑页面内打开View>ObjectBrowser

在对象浏览器里面找到RDP控件,然后点击下面所属的类

然后就可以找到关于这个RDP控件的所有属性和方法

另一种获取RDP控件属性的办法就是去微软官网搜索,官网搜索出来的都会有比较详细的解释说明。

大家可以自己搜索到这些内容后了解一下RDP的一些参数。RDP控件的属性和方法能实现的功能和mstsc.exe里面的功能一样。

OK,了解了RDP控件的一些参数后,在VBA里面写脚本。

思路:

为避免每次点击时重复发送连接指令,应该在执行连接命令之前判断当前是否已经建立了远程桌面连接,如果已经建立,则不执行连接命令,反之就继续执行RDP的连接命令。另外,需要考虑RDP连接完以后的要显示的区域大小,远程桌面的分辨率等因素。

连接效果如下

如果你的RSViewSE画面里面插入RDP控件的时候一直报错,那就需要使用另外一种方法实现——VBA脚本里面的窗体

首先需要在VBA编辑器里面拉出来一个窗体

然后在这个窗体里面拉个RDP的控件

然后在工具栏就会显示这个RDP的控件

拖拽至窗体上

双击窗体,编写连接脚本

SE的画面再调用时只需要调用这个窗体的显示即可

运行效果如下

如果在运行时提示如下所示的错误

你需要修改注册表

HEKY_CURRENT_USER\Software\Microsoft\VBA

OK

以上就是如何在组态软件里面调用RDP控件的方法,要实现RDP的更多功能就需要细致地研究微软的RDP控件的相关介绍,王老湿此处只是为大家提供一个思路,更多的需要大家自己去体会和实验。希望能帮助到大家。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档