双击就能mstsc远程的脚本_工业组态软件对远程桌面的调用方法(2)

本文介绍如何在RSViewSE软件中利用RDP的ActiveX控件进行远程桌面调用,避免mstsc在任务管理器中占用过多资源。通过创建RDP控件,设置相关属性,结合VBA脚本实现远程连接,并解决可能出现的兼容性问题和错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

王老湿在以前的文章里面介绍过如何在RSViewSE软件里面拉一个ActiveX控件,此处就不再赘述,直接拉出来使用。

  1. 在RSViewSE的画面里拉一个RDP控件

2b5853f9e250621cbb233ce5b1a09da5.png

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

17960897ad9a7886b6c48537d892d089.png

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

8a73b38b55e07e86720c2997b6eca3f3.png

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

d1c2ece772266234f652f0099a5a5bc5.png

da34fb2cd790c7e18814534cd40d356d.png

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

7665f16bbd4859877ab37775ccf336e4.png

75d848e76760c1cf0565b04366a384fa.png

4c9f56fab4848669daaccce6a55eb3e9.png

然后进入脚本编辑页面

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

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

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

a0babec47ff278c791db89ca1bcce3f9.png

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

e00039937721148202a07ba9d7ec7210.png

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

d2e28d38664f0a3a2536496e001685af.png

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

35d33a018a6996df2e0e4fd3f2473f03.png

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

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

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

ecbb31c09f33d1dae3587550e40b61be.png

连接效果如下:

27e083db4cdbd05f95f6a81b34912035.png

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

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

78ac9d0d704f27b7b5ecadc2f8ddbd1b.png

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

e1d05ab115eed0d02a0a9e01a0bfee20.png

d2eb6e877f56db6a9eee373ad7ac9487.png

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

e5e418ef5f5949757a574a499cf2ec68.png

拖拽至窗体上

2d4b76c6396e78e60306e73a75ee4d05.png

双击窗体,编写连接脚本

eb43bc655a76e65ae9c071d2cd7c105d.png

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

38bf30a22d69a243c3b0643a86a59546.png

运行效果如下:

6cb06369a4f2fc504cb2f4b039078084.png

如果在运行时提示如下所示的错误,你需要修改注册表

37a65f787b92967e0490be785d14f60f.png

HEKY_CURRENT_USERSoftwareMicrosoftVBA

7b4583aaaf214adfe23c059360a64cce.png

7986b50a3f0e3e4dc40b004bc9f5cd77.png

480f31d4bf1706ccf9f9650ffd475e98.png

c79d6a8e824a8cff293966c63390f30d.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值