Qt+Win10使用QAxWidget控件实现远程桌面控制

2023-05-16

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"); //远程连接IP
    ui->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后面的用户名是否是重命名后的用户名。不是的话可以手动修改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt+Win10使用QAxWidget控件实现远程桌面控制 的相关文章

  • 不重装系统解决win10更新错误0x800f0922

    最近win10突然就不能更新了 一直提示无法完成更新 正在撤销更改 尝试了以下处理都无效 1 网络问题 2 net framework没有启用 3 sfc scannow 和 DISM exe Online Cleanup image Sc
  • win10开机后电脑磁盘占用百分之百解决方法

    1 我的电脑 管理 服务与应用程序 服务 superfetch 禁用 重启 2 控制面板 管理工具 服务 找到 HomeGroupListener 家庭组 服务 禁用 3 关闭自动维护计划任务 选中磁盘C 属性 工具 对驱动器进行优化和碎片
  • Windows 10, version 22H2 (2023年3月) 简体中文版、英文版下载

    Windows 10 version 22H2 updated March 2023 简体中文版 英文版下载 Windows 10 22H2 2023 年 3 月更新 Windows 10 是微软公司推出的一款操作系统 是 Windows
  • win10的哪个版本最好用?

    自2015年以来 win10系统发布过不少版本 这也让很多用户很迷茫 具体哪个版本好用 还要看个人使用习惯 下面好系统U盘启动就来给大家把1803 1709 1703 1607 1511几个版本做一下简单比较 Win 1803版 1803感
  • win10+rtx2070+tensorflow-gpu-1.9.0环境搭建

    最近实验室新到一台工作站 配备了两块rtx2070 但为方便使用其他科研软件 只能使用win10 为学习深度有趣 人工智能实战项目合集 需安装TensorFlow 1 9 0环境 win10下搭建深度学习环境首推基于Anaconda的办法
  • win10环境变量设置

    在装一些软件的时候 经常需要设置环境变量 但win10与win7有一些不同 1 打开文件资源管理器 2 最左边一列有 此电脑 点击 3 界面最上面一列会有 属性 点击 4 左边 高级系统设置 点击 5 环境变量 点击 有一个注意的地方是一般
  • Win10中使用Hyper-V安装Ubuntu18.04、实现ssh远程连接及Hpyer-V中Ubuntu全屏问题

    利用Windows10自带的虚拟机Hyper V安装Ubuntu18 04 并实现配置主机通过ssh连接Hpyer V中Ubuntu虚拟机 同时解决Ubuntu虚拟机在Hpyer V全屏时不能铺满屏幕的问题 首先安装Hyper V 打开Wi
  • 在win10系统下不能运行VC++6.0的解决方法

    win10系统下出现 VC6 0应用程序无法正常启动 0x0000142 解决方法 将英文版的MSDEV exe文件复制粘贴替换到vc 6 0 Microsoft Visual Studio Common MSDev98 Bin文件目录下运
  • 在虚拟机里通过U盘引导安装Win10教程

    一 前言 打算在VM虚拟机里安装一个Win10系统 按照网上的教程 通过虚拟机的光驱加载 iso镜像文件来引导 发现启动不了 虚拟机一直停留在如下界面 推测可能是该 ios镜像文件里没有合适的引导程序 因此 打算尝试U盘启动 经过验证 发现
  • win10更新出错0x80070422的解决方案

    问题 一般我们进行win10系统的更新 步骤是到win10设置 然后找到windows 更新 然后点击开启更新 有的时候 你会发现不能更新一直报错0x80070422 如下图 图一 图二 问题的原因 这是因为windows update 启
  • C++利用zxing识别二维码

    C 利用zxing识别二维码 下载编译 配置使用 Win10 x64 VS2015 VS2019 下载编译 1 下载zxing包 并解压 下载地址 https github com glassechidna zxing cpp build文
  • 内外网电脑远程桌面教程(win10)

    内网远程桌面连接 1 要远程的用户必须有密码 设置本机固定ip 自行百度 2 关闭防火墙与修改 在 控制面板 Windows 防火墙 启用或关闭Windows防火墙 3 打开远程桌面设置 在 桌面 计算机 上右击 打开 属性 远程设置 然后
  • Windows 0x80190001错误解决

    Windows 0x80190001错误 笔者使用的系统版本为win10 2004 若同学们正在使用的系统为Windows 11 请移步这篇文章 Windows11 0x80190001错误解决 windows出现这样的错误 初步判断为wi
  • Win10、Win11 增加系统暂停更新时间教程

    在我们日常电脑的使用中 经常会遇到系统弹出系统更新提示 还不想更新系统的用户就会设置暂停更新 但是暂停更新是有时间限制的 在设置中我们可以看得到最多只能暂停 5 周更新 下面是延长暂停时间的教程 基本等于永久关闭更新 1 首先 按键盘上的
  • Win10:修改电脑桌面路径

    Win10 修改电脑桌面路径 1 win R进入运行 输入 regedit 2 进入 注册表编辑器 3 依次打开 HKEY CURRENT USER Software Miscrosoft Windows Explorer Uesr she
  • [Python] 转贴:anaconda 下多版本Python 安装说明(win10)

    anaconda 下多版本Python 安装说明 转贴再补充 原帖见 https blog csdn net soloyuyang article details 75807425在原帖基础上补充了图 但是主要工作还是原帖的 win10系统
  • 在pycharm上安装Tensorflow1.13 win10

    Tensorflow安装教程 清明回家就折腾了几天的tensorflow 我是使用pycharm安装的 所以下面基于pycharm进行安装 tensorflow1 13 0基础配置 python3 7 cuda10 0 适合cuda的cuD
  • WIN10局域网共享方法

    1 控制面板 网络和 Internet 网络和共享中心 高级共享设置 打开启动网络发现 启动文件共享和打印机共享 2 win r运行gpedit msc 打开本地组策略编辑器 找到 计算机配置 管理模板 网络 Lanman工作站 启动不安全
  • Win10 64bit系统中VS2015与OpenCV3.2配置开发环境

    1 将OpenCV解压到D盘根目录 个人认为纯英文目录比较保险 2 VS2015建立控制台工程 设置为64位debug开发环境 3 配置工程属性 在可执行目录 executable directories 中 确认已包含opencv包里的b
  • 微软解释关于Windows 10 收集用户数据那点事

    微软 Microsoft 在周一时发布关于Win10 收集用户数据的新细节 试图停止这场争议 早前 该软件巨头确认Win10收集用户数据并发送给微软 并声称这是用于改善整体用户体验 然而 这引发了人们对用户隐私以及用何种方式收集数据的关注

随机推荐