CN101118496A - 一种Windows平台下让软件皮肤与桌面主题保持一致的方法 - Google Patents
一种Windows平台下让软件皮肤与桌面主题保持一致的方法 Download PDFInfo
- Publication number
- CN101118496A CN101118496A CNA2007100499575A CN200710049957A CN101118496A CN 101118496 A CN101118496 A CN 101118496A CN A2007100499575 A CNA2007100499575 A CN A2007100499575A CN 200710049957 A CN200710049957 A CN 200710049957A CN 101118496 A CN101118496 A CN 101118496A
- Authority
- CN
- China
- Prior art keywords
- theme
- software
- skin
- desktop
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种Windows平台下让软件皮肤与桌面主题保持一致的方法,所述桌面主题的资源都保存在系统盘:\Windows\Resources\Themes(WinXP)目录中,在该目录下的有以dll、theme和msstyles为后缀的文件,其特征在于:在软件开始运行时自动调用GetCurrent ThemeName函数得到当前桌面主题文件,对文件同名的dll、theme和msstyles进行分析,得到与桌面主题相关的资源文件,然后读取图片资源文件,并将得到的图片资源文件加载为软件的当前皮肤;本发明可以让电脑使用者在配置任意桌面主题的情况下,软件的皮肤都会与桌面主题相匹配,加载当前桌面主题所使用的不同皮肤,软件均会和桌面主题一致,这样可以使电脑使用者的视觉效果更舒适。
Description
技术领域
本发明涉及Windows平台界面编程,是一种提高界面可观性的一种方法。
背景技术
计算机的桌面主题往往是用户根据自己的爱好所选择的喜爱的皮肤配置,桌面主题通常是以一种有趣的方式来定制外观和感觉你的电脑的桌面。一般软件的皮肤因为其开发时的独立性,有自己独立地皮肤配置,软件皮肤是指由专业美工为应用程序定制的用以替代Windows默认风格的图形界面,软件在使用的时候往往是固定的皮肤配置,与操作系统是格格不入的;即使一般软件的皮肤配置具有换肤的功能,也需要必须先由开发者预先编写好加载换肤的功能,同时还需要提供大量的皮肤资源,这又会加大了一般软件的开发周期。
针对以上两个问题,最好的方法是在不影响软件开发的同时,又可以使软件与桌面主题相配套,但是现在还没有非常好的办法来解决。
发明内容
本发明为了解决将软件与桌面主题相互配套的问题,提供了一种Windows平台下让软件皮肤与桌面主题保持一致的方法,可以让软件根据不同的桌面主题而使用不同的软件皮肤,从而达到软件和桌面主题一致的目的。
本发明的技术方案如下:
一种Windows平台下让软件皮肤与桌面主题保持一致的方法,所述桌面主题的资源都保存在本机的系统盘:\Windows\Resources\Themes(WinXP)目录中,在该目录下的有以dll(动态链接库文件)、theme(windows桌面主题文件)和msstyles(可视化风格文件)为后缀的文件,其特征在于:在软件开始运行时自动调用GetCurrentThemeName函数(获取当前桌面主题函数)得到当前桌面主题文件,对文件同名的dll(动态链接库文件)、theme(windows桌面主题文件)和msstyles(可视化风格文件)进行分析,得到与桌面主题相关的资源文件,然后读取图片资源文件,并将得到的图片资源文件加载为软件的当前皮肤。
所述读取图片资源文件是使用的一般读取图片方式,即使用微软所提供API(应用程序接口)来进行读取,具体获取方法可参考MSDN(微软公司面向软件开发者的信息服务)中Image相关内容。
所述将得到的图片资源文件加载为软件的当前皮肤是使用的普通换肤软件所使用方式,即将所有的控件都拆分为多个图片的集合,并且可通过不同的标志位来确定控件此时所需图片,加以读取配置.
监视Windows消息,当收到WM_THEMECHANGED消息(桌面主题变化消息)时则表示当前桌面主题发生改变,此时通过使用GetCurrentThemeName函数得到桌面主题的变化情况,当桌面主题改变后重复软件开始运行时的分析步骤,使软件的皮肤同步跟随改变,而改变方式与其它加载皮肤的方式相同,仅需要根据主题资源中图片的默认格式进行一定的调整。
所述以theme(windows桌面主题文件)为后缀的文件是桌面主题相关文件,记录了该桌面主题的配置信息;以msstyles(可视化风格文件)为后缀的文件是桌面外观配置信息与主要资源文件;以dll(动态链接库文件)为后缀的文件中则是相关外观配置的详细说明。
所述以theme(windows桌面主题文件)为后缀的文件是一个INI(配置文件)文件,对该INI文件进行分析可以轻易获取与桌面主题相关的控件位置与颜色信息;以msstyles(可视化风格文件)为后缀的文件与以dll为后缀的文件都是动态链接库文件,只需按照对动态链接库的分析便可以得到其中的控件配置信息和控件所需资源文件。
所述INI文件是一种微软所提供的配置文件,详细的结构可参考微软的官方介绍。对INI的分析微软也提供的详细的函数接口,相关函数与实现方法可从MSDN(微软公司面向软件开发者的信息服务)中获取。
所述动态链接库文件主要是提供了一种方法,使进程可以调用不属于其可执行代码的函数;在桌面主题相关的动态链接库文件的主要是为了存储桌面主题所需要的相关配置和资源文件,具体获取方法可参考MSDN(微软公司面向软件开发者的信息服务)中ImageHlp相关内容。
本发明的有益效果如下:
本发明可以让电脑使用者在配置任意桌面主题的情况下,软件的皮肤都会与桌面主题相匹配,加载当前桌面主题所使用的不同皮肤,软件均会和桌面主题一致,这样可以使电脑使用者的视觉效果更舒适。
附图说明
图1为本发明的处理流程图
图2为本发明的msstyles文件中部分配置与资源信息
图3为本发明的主题所对应基本皮肤资源图例
具体实施方式
实施例
一种Windows平台下让软件皮肤与桌面主题保持一致的方法,所述桌面主题的资源都保存在本机的系统盘:\Windows\Resources\Themes(WinXP)目录中,在该目录下的有以dll、theme和msstyles为后缀的文件,在软件开始运行时自动调用GetCurrentThemeName函数得到当前桌面主题文件,对文件同名的dll、theme和msstyles进行分析,得到与桌面主题相关的资源文件,然后读取图片资源文件,并将得到的图片资源文件加载为软件的当前皮肤。
所述读取图片资源文件是使用的一般读取图片方式,即使用微软所提供API(应用程序接口)来进行读取,具体获取方法可参考MSDN(微软公司面向软件开发者的信息服务)中Image相关内容。
所述将得到的图片资源文件加载为软件的当前皮肤是使用普通换肤软件所使用方式,即将所有的控件都拆分为多个图片的集合,并且可通过不同的标志位来确定控件此时所需图片,加以读取配置。
监视Windows消息,当收到WM_THEMECHANGED消息时则表示当前桌面主题发生改变,此时通过使用GetCurrentThemeName函数得到桌面主题的变化情况,当桌面主题改变后重复软件开始运行时的分析步骤,使软件的皮肤同步跟随改变,而改变方式与其它加载皮肤的方式相同,仅需要根据主题资源中图片的默认格式进行一定的调整。
所述以theme为后缀的文件是桌面主题相关文件,记录了该桌面主题的配置信息;以msstyles为后缀的文件是桌面外观配置信息与主要资源文件;以dll为后缀的文件中则是相关外观配置的详细说明。
所述以theme为后缀的文件是一个INI文件,对该INI文件进行分析可以轻易获取与桌面主题相关的控件位置与颜色信息;以msstyles为后缀的文件与以dll为后缀的文件都是动态链接库文件,只需按照对动态链接库的分析便可以得到其中的控件配置信息和控件所需资源文件,见图2所示。
所述INI文件是一种微软所提供的配置文件,详细的结构可参考微软的官方介绍。对INI的分析微软也提供的详细的函数接口,相关函数与实现方法可从MSDN中获取。
所述动态链接库文件主要是提供了一种方法,使进程可以调用不属于其可执行代码的函数;在桌面主题相关的动态链接库文件的主要是为了存储桌面主题所需要的相关配置和资源文件,具体获取方法可参考MSDN(微软公司面向软件开发者的信息服务)中ImageHlp相关内容。
Claims (4)
1.所述桌面主题的资源都保存在本机系统盘:\Windows\Resources\Themes目录中,在该目录下的有以dll、theme和msstyles为后缀的文件,其特征在于:在软件开始运行时自动调用GetCurrentThemeName函数得到当前桌面主题文件,对文件同名的dll、theme和msstyles进行分析,得到与桌面主题相关的资源文件,然后读取图片资源文件,并将得到的图片资源文件加载为软件的当前皮肤。
2.根据权利要求1所述的一种Windows平台下让软件皮肤与桌面主题保持一致的方法,其特征在于:所述读取图片资源文件是使用的一般读取图片方式。
3.根据权利要求1所述的一种Windows平台下让软件皮肤与桌面主题保持一致的方法,其特征在于:所述将得到的图片资源文件加载为软件的当前皮肤是使用的换肤软件所使用方式。
4.根据权利要求1所述的一种Windows平台下让软件皮肤与桌面主题保持一致的方法,其特征在于:监视Windows消息,当收到WM THEMECHANGED消息时则表示当前桌面主题发生改变,此时通过使用所述GetCurrentThemeName函数得到桌面主题的变化情况,当桌面主题改变后重复软件开始运行时的分析步骤,使软件的皮肤同步跟随改变,根据主题资源中图片的默认格式进行调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100499575A CN100530099C (zh) | 2007-09-06 | 2007-09-06 | 一种Windows平台下让软件皮肤与桌面主题保持一致的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100499575A CN100530099C (zh) | 2007-09-06 | 2007-09-06 | 一种Windows平台下让软件皮肤与桌面主题保持一致的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101118496A true CN101118496A (zh) | 2008-02-06 |
CN100530099C CN100530099C (zh) | 2009-08-19 |
Family
ID=39054627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100499575A Active CN100530099C (zh) | 2007-09-06 | 2007-09-06 | 一种Windows平台下让软件皮肤与桌面主题保持一致的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100530099C (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741984A (zh) * | 2009-12-21 | 2010-06-16 | 深圳华为通信技术有限公司 | 主题切换方法和装置以及移动终端和后台软件设备 |
CN101826008A (zh) * | 2009-03-05 | 2010-09-08 | 宏碁股份有限公司 | 布景主题变更方法及计算机系统 |
CN101976191A (zh) * | 2010-10-15 | 2011-02-16 | 无敌科技(西安)有限公司 | 随外界变化更换使用者界面主题的方法及装置 |
CN102331934A (zh) * | 2011-10-21 | 2012-01-25 | 广州市久邦数码科技有限公司 | 一种基于go桌面系统的桌面组件的实现方法 |
WO2011150870A3 (zh) * | 2011-06-09 | 2012-05-03 | 华为终端有限公司 | 一种主题显示方法以及相关装置 |
CN102622385A (zh) * | 2011-06-30 | 2012-08-01 | 北京小米科技有限责任公司 | 一种第三方应用程序换肤的方法 |
CN102629208A (zh) * | 2012-03-06 | 2012-08-08 | 百度在线网络技术(北京)有限公司 | 一种用于确定系统界面的方法、装置和设备 |
CN102662643A (zh) * | 2012-02-28 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种基于Linux平台的更换软件皮肤的方法 |
CN104156240A (zh) * | 2014-07-29 | 2014-11-19 | 北京奇虎科技有限公司 | 客户端的皮肤模板更换方法、装置、客户端及电子设备 |
CN104679390A (zh) * | 2015-03-20 | 2015-06-03 | 网易(杭州)网络有限公司 | 一种在操作系统平台上设置应用的皮肤的方法、装置及设备 |
CN104718528A (zh) * | 2014-03-28 | 2015-06-17 | 华为终端有限公司 | 确定界面控件的颜色的方法、装置以及终端设备 |
CN106126239A (zh) * | 2016-06-27 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 终端界面的处理方法及处理系统 |
CN106371701A (zh) * | 2016-09-05 | 2017-02-01 | 深圳铂睿智恒科技有限公司 | 基于移动终端的动态节日日历图标自动切换方法及系统 |
CN112379962A (zh) * | 2020-11-25 | 2021-02-19 | Oppo(重庆)智能科技有限公司 | 桌面主题调整方法、移动终端、服务器以及存储介质 |
-
2007
- 2007-09-06 CN CNB2007100499575A patent/CN100530099C/zh active Active
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826008A (zh) * | 2009-03-05 | 2010-09-08 | 宏碁股份有限公司 | 布景主题变更方法及计算机系统 |
CN101741984A (zh) * | 2009-12-21 | 2010-06-16 | 深圳华为通信技术有限公司 | 主题切换方法和装置以及移动终端和后台软件设备 |
CN101976191A (zh) * | 2010-10-15 | 2011-02-16 | 无敌科技(西安)有限公司 | 随外界变化更换使用者界面主题的方法及装置 |
CN102934064A (zh) * | 2011-06-09 | 2013-02-13 | 华为终端有限公司 | 一种主题显示方法以及相关装置 |
CN102934064B (zh) * | 2011-06-09 | 2014-12-24 | 华为终端有限公司 | 一种主题显示方法以及相关装置 |
WO2011150870A3 (zh) * | 2011-06-09 | 2012-05-03 | 华为终端有限公司 | 一种主题显示方法以及相关装置 |
CN102622385A (zh) * | 2011-06-30 | 2012-08-01 | 北京小米科技有限责任公司 | 一种第三方应用程序换肤的方法 |
CN102331934B (zh) * | 2011-10-21 | 2013-07-31 | 广州市久邦数码科技有限公司 | 一种基于go桌面系统的桌面组件的实现方法 |
CN102331934A (zh) * | 2011-10-21 | 2012-01-25 | 广州市久邦数码科技有限公司 | 一种基于go桌面系统的桌面组件的实现方法 |
CN102662643A (zh) * | 2012-02-28 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种基于Linux平台的更换软件皮肤的方法 |
CN102629208A (zh) * | 2012-03-06 | 2012-08-08 | 百度在线网络技术(北京)有限公司 | 一种用于确定系统界面的方法、装置和设备 |
WO2015143713A1 (zh) * | 2014-03-28 | 2015-10-01 | 华为终端有限公司 | 确定界面控件的颜色的方法、装置以及终端设备 |
US9881393B2 (en) | 2014-03-28 | 2018-01-30 | Huawei Device (Dongguan) Co., Ltd. | Method, apparatus, and terminal device for determining color of interface control |
CN104718528A (zh) * | 2014-03-28 | 2015-06-17 | 华为终端有限公司 | 确定界面控件的颜色的方法、装置以及终端设备 |
CN104156240A (zh) * | 2014-07-29 | 2014-11-19 | 北京奇虎科技有限公司 | 客户端的皮肤模板更换方法、装置、客户端及电子设备 |
CN104156240B (zh) * | 2014-07-29 | 2018-04-10 | 北京奇虎科技有限公司 | 客户端的皮肤模板更换方法、装置、客户端及电子设备 |
CN104679390B (zh) * | 2015-03-20 | 2018-01-02 | 杭州网易云音乐科技有限公司 | 一种在操作系统平台上设置应用的皮肤的方法、装置及设备 |
CN104679390A (zh) * | 2015-03-20 | 2015-06-03 | 网易(杭州)网络有限公司 | 一种在操作系统平台上设置应用的皮肤的方法、装置及设备 |
CN106126239A (zh) * | 2016-06-27 | 2016-11-16 | 腾讯科技(深圳)有限公司 | 终端界面的处理方法及处理系统 |
CN106371701A (zh) * | 2016-09-05 | 2017-02-01 | 深圳铂睿智恒科技有限公司 | 基于移动终端的动态节日日历图标自动切换方法及系统 |
CN112379962A (zh) * | 2020-11-25 | 2021-02-19 | Oppo(重庆)智能科技有限公司 | 桌面主题调整方法、移动终端、服务器以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100530099C (zh) | 2009-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100530099C (zh) | 一种Windows平台下让软件皮肤与桌面主题保持一致的方法 | |
Rädle et al. | Codestrates: Literate computing with webstrates | |
US7490298B2 (en) | Creating documentation screenshots on demand | |
US8627227B2 (en) | Allocation of space in an immersive environment | |
Stuerzlinger et al. | User interface façades: towards fully adaptable user interfaces | |
US8381127B2 (en) | Methods, systems, and computer program products for displaying windows on a graphical user interface based on relative priorities associated with the windows | |
US7930343B2 (en) | Scalable user interface system | |
CN103530018B (zh) | 安卓操作系统中微件界面的建立方法及移动终端 | |
US20150058744A1 (en) | Systems and methods for managing graphical user interfaces | |
Ardito et al. | User-driven visual composition of service-based interactive spaces | |
EP1285337A2 (en) | Displaying graphical objects | |
JP4893108B2 (ja) | 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム | |
KR20080094915A (ko) | 텍스트 상자 넘버링 및 링킹 가시 보조물을 이용하는 그래픽 사용자 인터페이스 제공 방법, 컴퓨터-판독가능 매체 | |
Xu et al. | Uiwear: Easily adapting user interfaces for wearable devices | |
Panigrahy | Xamarin Mobile Application Development for Android | |
Gross et al. | KMWin–a convenient tool for graphical presentation of results from Kaplan-Meier survival time analysis | |
US20120011282A1 (en) | Method and system for providing advertising content suitable for multiple platforms | |
CN102662643A (zh) | 一种基于Linux平台的更换软件皮肤的方法 | |
JP2003533759A (ja) | コンピュータシステムに関する改善 | |
Mohomed | Enabling mobile application mashups with Merlion | |
Wang et al. | Building experiments with Pygame | |
Villanueva et al. | Distributing web components in a display ecosystem using Proxywork | |
Lei et al. | Design of the instrument soft panel using windows presentation foundation | |
Garg et al. | Xml based lucid web operating system | |
Yun et al. | UI Player Framework for Mobile Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |