基于Qprocess和QWindow的QT外部进程启动及共享界面

基于Qprocess和QWindow的QT外部进程启动及共享界面

Qprocess启动外部进程

QPocess简介

QT中的QProcess类用来启动一个外部进程序并与其进行通信。

代码及注意事项

#include <QProcess>

 QProcess * myProcess = new QProcess(this);
 QStringList arguments;
 myProcess->start("C:/Windows/System32/notepad.exe");//目标进程的路径
 myProcess->waitForFinished(2000);
   

QWindow调用进程画面

QWindow简介

代码及注意事项

   WId wid = (WId)FindWindow(L"WindowsForms10.Window.8.app.0.141b42a_r7_ad1", L"XCOM V2.0");

    QWindow * window = QWindow::fromWinId(wid);
    if (window)
    {
        window->setFlags(window->flags() | Qt::CustomizeWindowHint | Qt::WindowTitleHint); //这边可以设置一下属性

        QWidget * widget = QWidget::createWindowContainer(window, this, Qt::Widget);
         ui->verticalLayout->addWidget(widget);
    }

FindWindow()两个参数为顶级窗口的类名和窗口名称(标题)

在调用FindWindow函数的时候,应该第一个参数为空,第二个参数为窗口的标题名。classname是窗口在创建时的注册名称,不是源代码的类名,通常可以不指定,除非确切地知道。另外,vs自带一个spy++的工具,可以探查当前所有窗口的信息,包括注册类名。

VS工具寻找外部应用名称和基类

首先将目标窗口打开在电脑桌面。VS——工具——spy++——望远镜图标

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值