一种基于插件技术的系统启动时应用程序切换方法与流程

    专利2025-12-18  6


    本发明属于软件切换,尤其是一种基于插件技术的系统启动时应用程序切换方法。


    背景技术:

    1、在多主机和多屏幕的工作台中(一个主机对应一个屏幕),往往部署了多个运用程序,在现实应用中,在系统启动时用户常常需要在同一屏幕选择启动不同的应用程序,常用的实现方法是采用硬件kvm进行切换,此种方法成本较高,此外,若硬件设计时未加kvm模块,此时用户再提出上述应用程序切换的需求,重新设计硬件的方法并不可取。


    技术实现思路

    1、本发明的目的在于克服现有技术的不足,提出一种基于插件技术的系统启动时应用程序切换方法,具有较高的灵活性,以达到最大化满足用户需求的目的。

    2、本发明解决其技术问题是采取以下技术方案实现的:

    3、一种基于插件技术的系统启动时应用程序切换方法,包括以下步骤:

    4、步骤1、初始化插件框架;

    5、步骤2、在初始化插件框架上编写对话框插件;

    6、步骤3、在初始化插件框架上编写需要启动的应用程序插件;

    7、步骤4、启动步骤2和步骤3编写的插件;

    8、步骤5、用户选择需要启动的插件。

    9、而且,所述步骤1包括以下步骤:

    10、步骤1.1、定义ctkplugincontext的指针context;

    11、步骤1.2、获取到插件的目录plugins;

    12、步骤1.3、将plugins加入到插件框架搜索列表;

    13、步骤1.4、设置和启动ctk插件系统;

    14、步骤1.5、获得插件的上下文。

    15、而且,所述步骤2包括以下步骤:

    16、步骤2.1、编写接口类cdcstartupoptiondlg,继承自qdialog,用标识符与类名接口关联起来;

    17、步骤2.2、编写对话框startupoptiondlgaccess,继承自cdcstartupoptiondlg,设置对话框的属性,对界面进行布局,设置按钮的id值;

    18、步骤2.3、实现ctkpluginactivator接口;

    19、步骤2.4、描述插件元数据;

    20、步骤2.5、重写插件启动的start函数,实现startupoptiondlgaccess的指针,注册插件服务;

    21、步骤2.6、重写插件停止的stop函数,析构创建的指针并结束。

    22、而且,所述步骤3包括以下步骤:

    23、步骤3.1、编写接口类cdcmainwindow,继承自qframe用标识符与类名接口关联起来;

    24、步骤3.2、编写界面类mainwindowaccess,继承自cdcmainwindow,对界面进行布局,对软件功能初始化;

    25、步骤3.3、实现mainwindowactivator接口;

    26、步骤3.4、描述插件元数据;

    27、步骤3.5、重写插件启动的start函数,创建mainwindowaccess的指针,注册插件服务

    28、步骤3.6、重写插件停止的stop函数,析构创建的指针并结束。

    29、而且,所述步骤4包括以下步骤:

    30、步骤4.1、定位到插件的目录;

    31、步骤4.2、将对话框插件、需要启动的应用程序插件构造一个qdirlterator的对象itplugin;

    32、步骤4.3、判断是否还有下一个插件,若有则进行步骤4.4,否则结束;

    33、步骤4.4、获取一个插件;

    34、步骤4.5、调用installplugin函数安装插件;

    35、步骤4.6、调用start函数立即启动插件;

    36、步骤4.7、判断是否异常,若异常则打印出错信息,否则返回步骤4.3。

    37、而且,所述步骤5包括以下步骤:

    38、步骤5.1、调用context的getservicereference函数获得对话框插件的服务loginref;

    39、步骤5.2、定义cdcstartupoptiondig的指针loginservice;

    40、步骤5.3、判断loginref是否为空,若loginref不为空,则进行步骤5.4,若loginref为空,则结束;

    41、步骤5.4、调用context的getservice函数获取得到cdcstartupoptiondlg的指针,赋值给loginservice;

    42、步骤5.5、判断loginservice是否为空,若不为空,则进行步骤5.6,若为空则结束;

    43、步骤5.6、若loginservice不为空,弹出cdcstartupoptiondlg的对话框;

    44、步骤5.7、根据用户在对话框上的点击按钮选择,获取点击按钮id的val值;

    45、步骤5.8、根据val值,调用context的getservicereference函数得到相应插件的服务;

    46、步骤5.9、调用context的getservice得到插件cdcmainwindow或其他插件界面基类的指针;

    47、步骤5.10、调用show函数,显示该插件并结束。

    48、本发明的优点和积极效果是:

    49、本发明通过初始化插件框架;在初始化插件框架上编写对话框插件;在初始化插件框架上编写需要启动的应用程序插件;启动编写的插件;用户选择需要启动的插件,实现了应用程序切换。本发明采用一种插件式的软件实现方法,具有较高的灵活性,以达到最大化满足用户需求的目的。



    技术特征:

    1.一种基于插件技术的系统启动时应用程序切换方法,其特征在于:包括以下步骤:

    2.根据权利要求1所述的一种基于插件技术的系统启动时应用程序切换方法,其特征在于:所述步骤1包括以下步骤:

    3.根据权利要求2所述的一种基于插件技术的系统启动时应用程序切换方法,其特征在于:所述步骤2包括以下步骤:

    4.根据权利要求3所述的一种基于插件技术的系统启动时应用程序切换方法,其特征在于:所述步骤3包括以下步骤:

    5.根据权利要求4所述的一种基于插件技术的系统启动时应用程序切换方法,其特征在于:所述步骤4包括以下步骤:

    6.根据权利要求1所述的一种基于插件技术的系统启动时应用程序切换方法,其特征在于:所述步骤5包括以下步骤:


    技术总结
    本发明涉及一种基于插件技术的系统启动时应用程序切换方法,通过初始化插件框架;在初始化插件框架上编写对话框插件;在初始化插件框架上编写需要启动的应用程序插件;启动编写的插件;用户选择需要启动的插件,实现了应用程序切换。本发明采用一种插件式的软件实现方法,具有较高的灵活性,以达到最大化满足用户需求的目的。

    技术研发人员:包汉瑜,刘山,单晓晨
    受保护的技术使用者:中国船舶集团有限公司第七〇七研究所
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-93131.html

    最新回复(0)