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

2021-11-09 11:15:31 浏览数 (1)

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_USERSoftwareMicrosoftVBA

OK

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

0 人点赞