Qt下使用QAxWidget调用Windows远程

本文介绍了如何在Qt中通过QAxObject调用EnableCredSspSupport函数解决WPF工程中使用QAxWidget进行远程Windows连接时的身份验证问题,包括设置详细步骤和相关代码实例。
摘要由CSDN通过智能技术生成

网上大部分的代码如下:

ui->axWidget->setControl(QStringLiteral("{8b918b82-7985-4c24-89df-c33ad2bbfbcd}"));
ui->axWidget->setProperty("Server","192.168.1.1"); // 远程连接IP
ui->axWidget->setProperty("UserName", "administrator"); // 用户名
ui->axWidget->setProperty("ClearTextPassword", "123"); // 用户密码
ui->axWidget->setProperty("DesktopWidth", 800); // 指定宽度
ui->axWidget->setProperty("DesktopHeight", 600); // 指定高度
ui->axWidget->dynamicCall("Connect()"); // 连接

这种链接在设置了网络验证的情况下是链接不成功的。

解决办法就是把“仅允许运行使用网络级别身份验证的远程桌面的计算机链接”这个选项给勾掉。

但是这样肯定治标不治本。

机缘巧合找到了WPF相关的工程,里面提到了一个函数

EnableCredSspSupport

那么Qt里面怎么把这个属性设置进去呢? 如下:

QAxObject * rdpAdvancedObject = remoteAxObjectWidget->querySubObject("AdvancedSettings7");
 rdpAdvancedObject->setProperty("EnableCredSspSupport",true);

这样就可以连接到带身份验证的服务器了。

如图

 

 附上工程代码:Qt使用QAxWidget远程windows,支持身份验证-桌面系统文档类资源-CSDN下载

环境Qt5.12

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值