利索能及
我要发布
收藏
专利号: 2018100159177
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2024-12-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种界面嵌入显示方法,其特征在于,应用于用户终端,所述方法包括:获取目标应用程序的进程标识及目标窗口类名,并基于所述进程标识获取所述目标应用程序的与目标窗口类名匹配的窗口句柄;

对获取到的所述窗口句柄进行类型转化,创建与转化后的所述窗口句柄匹配的窗口容器,并基于所述窗口容器及所述窗口句柄对应的目标窗口生成对应的窗口控件widget;

基于所述widget创建与QML界面对应匹配的QQuickItem的子类,并对所述子类进行配置,得到与所述目标应用程序的目标窗口匹配的界面显示类;

将所述界面显示类注册到所述QML界面中,并基于所述QML界面对所述界面显示类对应的目标窗口进行显示。

2.根据权利要求1所述的方法,其特征在于,所述目标应用程序包括至少一个窗口,每个窗口对应一个窗口类名,每个窗口类名对应一个窗口句柄,所述基于所述进程标识获取所述目标应用程序的与目标窗口类名匹配的窗口句柄的步骤包括:根据所述目标应用程序的进程标识获取所述目标应用程序包括的各窗口对应的窗口句柄;

将获取到的各窗口句柄分别与所述目标窗口类名进行匹配,并在匹配成功时将匹配成功的窗口句柄作为与目标窗口类名匹配的窗口句柄。

3.根据权利要求1或2所述的方法,其特征在于,所述对获取到的所述窗口句柄进行类型转化,创建与转化后的所述窗口句柄匹配的窗口容器,并基于所述窗口容器及所述窗口句柄对应的目标窗口生成对应的窗口控件widget的步骤包括:采用QWindow::fromWinId函数将获取到的与目标窗口类名匹配的所述窗口句柄转化为QWindow类型的目标窗口句柄;

采用QWidget::createWindowContainer函数为所述QWindow类型的目标窗口句柄创建与所述目标窗口句柄对应的目标窗口相匹配的窗口容器;

将所述目标窗口容置在所述窗口容器内,并对所述目标窗口进行配置,以生成对应的widget。

4.根据权利要求3所述的方法,其特征在于,所述对所述目标窗口进行配置的步骤包括:分别对容置于所述窗口容器内的目标窗口在QML界面中的窗口模式、父窗口及窗口显示策略进行配置。

5.根据权利要求1所述的方法,其特征在于,所述将所述界面显示类注册到所述QML界面中的步骤包括:采用qmlRegisterType函数将所述界面显示类加入到所述QML界面中,以将所述界面显示类注册到所述QML界面中。

6.一种界面嵌入显示装置,其特征在于,应用于用户终端,所述装置包括:句柄获取模块,用于获取目标应用程序的进程标识及目标窗口类名,并基于所述进程标识获取所述目标应用程序的与目标窗口类名匹配的窗口句柄;

控件生成模块,用于对获取到的所述窗口句柄进行类型转化,创建与转化后的所述窗口句柄匹配的窗口容器,并基于所述窗口容器及所述窗口句柄对应的目标窗口生成对应的窗口控件widget;

子类配置模块,用于基于所述widget创建与QML界面对应匹配的QQuickItem的子类,并对所述子类进行配置,得到与所述目标应用程序的目标窗口匹配的界面显示类;

注册显示模块,用于将所述界面显示类注册到所述QML界面中,并基于所述QML界面对所述界面显示类对应的目标窗口进行显示。

7.根据权利要求6所述的装置,其特征在于,所述目标应用程序包括至少一个窗口,每个窗口对应一个窗口类名,每个窗口类名对应一个窗口句柄,所述句柄获取模块基于所述进程标识获取所述目标应用程序的与目标窗口类名匹配的窗口句柄的方式包括:根据所述目标应用程序的进程标识获取所述目标应用程序包括的各窗口对应的窗口句柄;

将获取到的各窗口句柄分别与所述目标窗口类名进行匹配,并在匹配成功时将匹配成功的窗口句柄作为与目标窗口类名匹配的窗口句柄。

8.根据权利要求6或7所述的装置,其特征在于,所述控件生成模块对获取到的所述窗口句柄进行类型转化,创建与转化后的所述窗口句柄匹配的窗口容器,并基于所述窗口容器及所述窗口句柄对应的目标窗口生成对应的窗口控件widget的方式包括:采用QWindow::fromWinId函数将获取到的与目标窗口类名匹配的所述窗口句柄转化为QWindow类型的目标窗口句柄;

采用QWidget::createWindowContainer函数为所述QWindow类型的目标窗口句柄创建与所述目标窗口句柄对应的目标窗口相匹配的窗口容器;

将所述目标窗口容置在所述窗口容器内,并对所述目标窗口进行配置,以生成对应的widget。

9.一种用户终端,其特征在于,所述用户终端包括:

存储器;

处理器;以及

权利要求6-8中任意一项所述的界面嵌入显示装置,所述装置安装于所述存储器中并包括由所述处理器执行的软件功能模块,所述装置包括:句柄获取模块,用于获取目标应用程序的进程标识及目标窗口类名,并基于所述进程标识获取所述目标应用程序的与目标窗口类名匹配的窗口句柄;

控件生成模块,用于对获取到的所述窗口句柄进行类型转化,创建与转化后的所述窗口句柄匹配的窗口容器,并基于所述窗口容器及所述窗口句柄对应的目标窗口生成对应的窗口控件widget;

子类配置模块,用于基于所述widget创建与QML界面对应匹配的QQuickItem的子类,并对所述子类进行配置,得到与所述目标应用程序的目标窗口匹配的界面显示类;

注册显示模块,用于将所述界面显示类注册到所述QML界面中,并基于所述QML界面对所述界面显示类对应的目标窗口进行显示。

10.一种可读存储介质,其特征在于,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在用户终端执行权利要求1-5中任意一项所述的界面嵌入显示方法。