1.一种检测windows系统运行模式的方法,包括:
加载动态链接库,获取动态链接库函数的入口地址,创建第一组件对象模型COM对象,创建所述第一组件对象模型COM对象的全局唯一标识符GUID,其中,所述第一组件对象模型COM对象包括所述windows系统的运行模式,并且,该第一组件对象模型COM对象在windows系统中不可供外部调用;
根据所述全局唯一标识符GUID,获取所述第一组件对象模型COM对象中的内容,并根据获取的内容创建第二组件对象模型COM对象,其中,所述第二组件对象模型COM对象在windows系统中可供外部调用;
调用所述第二组件对象模型COM对象中的GetForWindow接口,获取windows系统的运行模式,判断所述运行模式的种类。
2.根据权利要求1所述的检测windows系统运行模式的方法,所述创建第一组件对象模型COM对象,还包括:
调用LoadLibrary函数加载combass.dll动态库;
调用GetProcAddress函数获取RoGetActivationFactory未公开应用程序编程接口的函数指针。
3.根据权利要求1所述的检测windows系统运行模式的方法,所述创建第二组件对象模型COM对象,还包括:
创建所述第二组件对象模型COM对象的全局唯一标识符GUID;
调用所述第一组件对象模型COM对象的RoGetActivationFactory接口,获取所述第一组件对象模型COM对象中的内容。
4.根据权利要求1所述的检测windows系统运行模式的方法,所述获取windows系统的运行模式,判断所述运行模式的种类,还包括:
获取所述第二组件对象模型COM对象的接口返回的类型对象;
获取所述类型对象的返回值;
根据所述返回值判断windows系统运行模式。
5.根据权利要求4所述的检测windows系统运行模式的方法,所述运行模式为平板运行模式,所述方法还包括:
如果所述返回值与windows系统定义的表示平板运行模式的值相等,则windows系统运行模式为平板运行模式;
如果所述返回值与windows系统定义的表示平板运行模式的值不相等,则windows系统运行模式为桌面运行模式。
6.根据权利要求1所述的检测windows系统运行模式的方法,其中,所述第二组件对象模型COM对象的类型为IUIViewSettingsInterop类型。
7.根据权利要求5所述的检测windows系统运行模式的方法,其中,所述windows系统定义的表示平板运行模式的值为枚举值UserInteractionMode_Toch。
8.一种检测windows系统运行模式的电子设备,包括:
处理器;
存储器,其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如权利要求1-7中检测windows系统运行模式的方法。
9.一种检测windows系统运行模式的系统,其特征在于,所述检测windows系统运行模式的系统包括:
加载模块,用于加载动态链接库,获取动态链接库函数的入口地址;
第一创建模块,用于创建第一组件对象模型COM对象,其中,所述第一组件对象模型COM对象包括windows系统的运行模式,并且,该第一组件对象模型COM对象在windows系统中不可供外部调用;
第二创建模块,根据获取的第一组件对象模型COM对象的内容,创建第二组件对象模型COM对象,并且,该第二组件对象模型COM对象在windows系统中可供外部调用;
获取模块,调用所述第二组件对象模型COM对象中的GetForWindow接口,获取windows系统的运行模式;
判断模块,用于判断当前运行模式是否为平板运行模式。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中检测windows系统运行模式的方法。