Qt+Win10使用QAxWidget控件实现远程桌面控制
Windows开始菜单-运行-输入mstsc,可以打开自带的远程桌面连接工具。如果想使用Qt来实现这个工具,怎么弄?
一、Win10环境的配置
1、Win10-我的电脑-属性-远程桌面-开启
2、打开控制面板-管理工具(Win11是【Windows工具】)-本地安全策略-安全选项
账户:使用空密码的本地账户只允许进行控制台登录
根据你的需要选择启用或禁用,如果要被远程的电脑没有设置开机密码,那么请选择【禁用】,然后务必重启电脑才能生效!!
或者Windows-开始菜单-运行:
输入secpol.msc或者gpedit.msc也能打开,本地策略,安全选项
二、Qt工程
1、pro文件
QT += axcontainer
2、 ui文件
在ui上拖放控件:QAxWidget控件,右键设置控件: Microsoft RDP Client Control - version 12
3、源码
#include "formrdp.h"
#include "ui_formrdp.h"#include <QAxObject>
#include <QAxWidget>FormRDP::FormRDP(QWidget *parent): QWidget(parent),ui(new Ui::FormRDP)
{ui->setupUi(this);init();
}FormRDP::~FormRDP()
{delete ui;
}void FormRDP::init()
{//参数的说明,详情见// https://learn.microsoft.com/en-us/windows/win32/termserv/msrdpclient10// https://learn.microsoft.com/en-us/windows/win32/termserv/imstscadvancedsettings-interface// https://learn.microsoft.com/en-us/windows/win32/termserv/imsrdpclientadvancedsettings-interface//普通参数ui->axWidget->setProperty("Server", "192.168.216.100"); //远程连接IPui->axWidget->setProperty("UserName", "hello"); //用户名ui->axWidget->setProperty("ClearTextPassword", "1"); //用户密码(这种方式每次都要手动输入密码)ui->axWidget->setProperty("DesktopWidth", 800); //指定宽度ui->axWidget->setProperty("DesktopHeight", 600); //指定高度ui->axWidget->setProperty("ConnectingText", "Connecting");ui->axWidget->setProperty("DisconnectedText", "Disconnected");//普通参数,可选项ui->axWidget->setFocusPolicy(Qt::StrongFocus); //设置控件接收键盘焦点的方式:鼠标单击、Tab键ui->axWidget->setProperty("DisplayAlerts", false); //不显示任何警告信息ui->axWidget->setProperty("DisplayScrollBars", true); //显示滚动条ui->axWidget->setProperty("ColorDepth", 32); //画质/位深,32/24/16/15/8//高级参数QAxObject *pAdvancedObject = ui->axWidget->querySubObject("AdvancedSettings7");pAdvancedObject->setProperty("ClearTextPassword", "1"); //用户密码(这种方式每次都不需要手动输入密码)pAdvancedObject->setProperty("EnableCredSspSupport", true); //必须设置,否则远程连接失败//高级参数,可选项pAdvancedObject->setProperty("BitmapPeristence", 1); //位图缓存pAdvancedObject->setProperty("Compress", 1); //启用压缩,减小带宽pAdvancedObject->setProperty("singleConnectionTimeout", 10); //超时时间,s
}void FormRDP::autosize()
{int width = ui->axWidget->width();int height = ui->axWidget->height();ui->axWidget->setProperty("DesktopWidth", width); //指定宽度ui->axWidget->setProperty("DesktopHeight", height); //指定高度
}void FormRDP::on_pushButton_connect_clicked()
{autosize();ui->axWidget->dynamicCall("Connect()"); //连接
}void FormRDP::on_pushButton_disconnect_clicked()
{ui->axWidget->dynamicCall("Disconnect()"); //断开连接
}
详细的参数说明
https://learn.microsoft.com/en-us/windows/win32/termserv/msrdpclient10
https://learn.microsoft.com/en-us/windows/win32/termserv/imstscadvancedsettings-interface
https://learn.microsoft.com/en-us/windows/win32/termserv/imsrdpclientadvancedsettings-interface
4、运行效果
x、题外话
Windows账户怎么改名?需要修改两个地方
1、控制面板需要更改账户名称
2、本地用户和组需要修改
3、以上两个步骤完成之后,发现在C盘用户文件夹下的用户名仍没有改变。怎么办?
(1)打开注册表,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Profilelist;
(2)接着在ProfileList文件夹下的分支,找到含有ProfileImagePath并指向用户文件夹的值。然后双击ProfileImagePath,出现新的界面,将用户名进行更改, 点击确定即可。
(3)最后,检查环境变量是否也有更改重定向路径。
右键点击此电脑→属性→关于→高级系统设置→环境变量。
win10系统更改用户名后文件夹名字怎么改?
看看User后面的用户名是否是重命名后的用户名。不是的话可以手动修改。
Qt+Win10使用QAxWidget控件实现远程桌面控制相关推荐
- VC++利用微软mstscax.dll控件集成远程桌面
利用微软mstscax.dll控件集成远程桌面 1. 新建基于MFC的对话框程序,在对话框资源上右键,选择[Insert ActiveX Control...]菜单,然后在弹出的界面中选择" ...
- 840D sl(QT)使用ocx外部控件
(废话,可以不看)事情是这样的,这一段时间有个项目需要使用AE(可以采集主轴加工时的声音,用来判断加工状态)和动平衡.AE和动平衡原来自带一个软件可以用的,但是需要切换界面,这样就不方便一边查看加工参 ...
- Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分 ...
- VS+QT开发Ocx/ActiveX控件 一
VS+QT开发Ocx/ActiveX控件 一 VS+QT开发Ocx/ActiveX控件-------网页中全屏 二 QT开发ActiveX控件 一:所用IDE版本,需用管理员权限 二:创建Active ...
- Qt自定义/绘制旋钮控件
Qt中需要自定义/绘制控件时,基本上继承自QWidget,重新实现绘制函数,定义大小,增加相应的信号和槽-- 例子:自定义旋钮控件,通过鼠标控制旋转(可通过Qt的世界变换旋转图形),并在旋转停止时触发 ...
- QT QSpinBox 整数计数器控件 使用详解
本文详细的介绍了QSpinBox控件的各种操作,例如:获取数值.设置前后缀.设置最大/小值.进制转换.关联信号槽.优化信号.QSS优化.文件源码.样式表 .效果:可以设置背景.边框.向上按钮.向下按钮 ...
- 计算机咋么开远程桌面权限,怎么将win10系统电脑中的允许远程桌面访问权限打开...
怎么将win10系统电脑中的允许远程桌面访问权限打开 当我们在使用win10系统电脑的时候,如果需要进行远程桌面访问的话,需要先允许远程桌面访问,具体应如何操作呢?接下来就由小编来告诉大家. 具体如下 ...
- win10家庭版远程桌面控制解决
win10家庭版远程桌面控制解决 介绍 安装以及使用 介绍 发现了一个很nice的解决win10家庭版远程桌面控制的工具(总算不用把实验室电脑数据先拷贝一份在走了!!!),win10家庭版没有远程桌面 ...
- win10远程计算机管理,教你如何使用Win10远程桌面控制他人电脑?,爱纯净官网
Win10远程桌面如何控制他人电脑?有时我们碰到一些电脑上的问题,需要设置或者安装一些东西,但是我们不会设置和安装,这时需要电脑开启远程控制 ,让别人帮忙远程安装和控制,说起远程连接,恐怕许多朋友之前 ...
最新文章
- linux脚本 程序输入,[转]Linux中shell脚本如何自动输入…
- AngularJS双向数据绑定实例
- linux 条件变量函数,Linux线程同步之条件变量
- 为什么刹车热了会失灵_网曝比亚迪汉“刹车失灵”,比亚迪称:是IPB模块仪表显示问题...
- mysql漏洞包_MySQL npm包中的本地文件泄露漏洞
- Ubuntu 17 安装Chrome浏览器
- 大小文件服务器区别,在提供静态包时,观察到Nginx和Express服务器之间文件大小的差异...
- mysql------explain工具
- 控制台模块python_04_python常用模块
- 由有向图的邻接矩阵生成其可达矩阵
- 计算机组成原理基本概念,《计算机组成原理》教学中几个基本概念的分析
- 火车,飞机 查询接口
- 苏州Uber优步司机奖励政策(8月31日至9月6日)
- JavaScript中join()方法详解
- 周伯通的空明拳,米诺斯的星尘傀儡线,SAP Kyma的Serverless
- 程序人生:从全栈工程师看技术人生
- 机器学习最优化算法的演变,FTRL一路走来,从LR - SGD - TG - FOBOS - RDA - FTRL
- 基于Java实现的潜艇大战游戏
- 丹霞地貌峡谷第一景---云台山
- 985 研究生组团诈骗,一个中招就关 App