System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于软件切换,尤其是一种基于插件技术的系统启动时应用程序切换方法。
技术介绍
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、设置和启动c
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包括以下步骤:
【技术特征摘要】
1.一种基于插件技术的系统启动时应用程序切换方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于插件技术的系统启动时应用程序切换方法,其特征在于:所述步骤1包括以下步骤:
3.根据权利要求2所述的一种基于插件技术的系统启动时应用程序切换方法,其特征在于:所述步骤2包括以下步骤:
4.根据...
【专利技术属性】
技术研发人员:包汉瑜,刘山,单晓晨,
申请(专利权)人:中国船舶集团有限公司第七〇七研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。