Create and analyze themes on Windows Mobile

Source: Internet
Author: User

The theme of Windows Mobile is actually a tsk file. We put the created tsk file under the Windows directory, and then open the settings for today, the program set today scans the files suffixed with tsk in the Windows directory by default, decompress Tsk, and read various configurations. After reading the files, the system writes them to the Registry, the next read is directly from the registry. The tsk file is actually the suffix of the cab package created by the cab manager and renamed it Tsk.

We can use the zip decompression tool to decompress the tsk file. I have extracted an existing tsk file. After decompression, we will find that _ setup. XML, stwate ~ exists ~ 1.001. stwate ~ 2.002, open _ setup. xml and check it, as shown in the following figure:

 

<WAP-provisioningdoc> <br/> <characteristic type = "Install"> <br/> <parm name = "installphase" value = "Install"/> <br/> <parm name = "osversionmin" value = "4.0"/> <br/> <parm name = "osversionmax" value = "6.99"/> <br/> <parm name =" buildnumbermin "value =" 0 "/> <br/> <parm name =" buildnumbermax "value ="-536870912 "/> <br/> <parm name =" appname "Value = "Umu Corporation Umu theme"/> <br/> <parm name = "installdir" value = "% CE2 %" Translation = "Install"/> <br/> <parm name = "numdirs" value = "1"/> <br/> <parm name = "numfiles "value =" 2 "/> <br/> <parm name =" numregkeys "value =" 3 "/> <br/> <parm name =" numregvals "value =" 43 "/> <br/> <parm name =" numshortcuts "value =" 0 "/> <br/> </characteristic> <br/> <characteristic type =" fileoperation "> <br/> <characteristic type =" % CE2 % "Translation =" Install "> <br/> <characteristic type =" makedir" /> <Br/> <characteristic type = "stwater_240_320.png" Translation = "Install"> <br/> <characteristic type = "extract"> <br/> <parm name =" source "value =" stwate ~ 1.001 "/> <br/> </characteristic> <br/> <characteristic type =" stwater_320_240.png "Translation =" Install "> <br/> <characteristic type = "extract"> <br/> <parm name = "Source" value = "stwate ~ 2.002 "/> <br/> </characteristic> <br/> <characteristic type = "Registry"> <br/> <characteristic type = "hkcu/software/Microsoft/today/umu. tsk "> <br/> <parm name =" usedefatititlecolor "value =" 0 "datatype =" integer "/> <br/> <parm name =" color_btnface "value =" 1 ndiaa = "datatype =" binary "/> <br/> <parm name =" color_btntext "value =" aacaaa = "datatype =" binary "/> <br/> <parm name = "color_commandbar" value = "aaaaaa =" datatype = "binary"/> <br/> <parm name = "color_commandbartext" value = "//// AA = "datatype =" binary "/> <br/> <parm name =" color_commandbartext_highlight "value =" gbywaa = "datatype =" binary "/> <br/> <parm name = "color_graytext" value = "V7 +/AA =" datatype = "binary"/> <br/> <parm name = "color_highlight" value = "gbywaa = = "datatype =" binary "/> <br/> <parm name =" color_highlighttext "value =" nrtpaa = "datatype =" binary "/> <br/> <parm name = "color_inactivecaptiontext" value = "okcgaa =" datatype = "binary"/> <br/> <parm name = "color_menutext" value = "aaaaaa =" datatype =" binary "/> <br/> <parm name =" color_navbartext_highlight "value =" gbywaa = "datatype =" binary "/> <br/> <parm name =" color_softkeyflat" value = "aaaaaa =" datatype = "binary"/> <br/> <parm name = "color_titleflat" value = "aaaaaa =" datatype = "binary"/> <br/> <parm name = "color_titleflatdonebtn_highlight" value = "gbywaa =" datatype = "binary"/> <br/> </characteristic> <br/> <characteristic type = "hkcu/software/Microsoft/today"> <br/> <parm name = "usestartimage" value = "1" datatype = "integer"/> <br/> <parm name = "DPI" value = "192" datatype = "integer"/> <br/> </characteristic> <br/> <characteristic type = "HKLM/software/Microsoft/color "> <br/> <parm name =" 4 "value =" // AA = "datatype =" binary "/> <br/> <parm name =" 5 "value =" aaaaaa = "datatype =" binary "/> <br/> <parm name =" 6 "value =" gicaaa = "datatype =" binary "/> <br/> <parm name = "7" value = "aaaaaa =" datatype = "binary"/> <br/> <parm name = "8" value =" aaaaaa = "datatype =" binary "/> <br/> <parm name =" 9 "value =" // AA = "datatype =" binary "/> <br/> <parm name = "11" value = "gbywaa =" datatype = "binary"/> <br/> <parm name = "12" value = "aaaaaa = "datatype =" binary "/> <br/> <parm name =" 13 "value =" aaaaaa = "datatype =" binary "/> <br/> <parm name = "14" value = "wmdaaa =" datatype = "binary"/> <br/> <parm name = "15" value = "Z + jqp =" datatype = "binary"/> <br/> <parm name = "16" value = "U9 + 3AA =" datatype = "binary"/> <br/> <parm name = "17" value = "gicaaa =" datatype = "binary"/> <br/> <parm name = "18" value = "gicaaa =" datatype =" binary "/> <br/> <parm name =" 19 "value =" nrtpaa = "datatype =" binary "/> <br/> <parm name =" 25" value = "aaaaaa =" datatype = "binary"/> <br/> <parm name = "26" value = "wmdaaa =" datatype = "binary"/> <br/> <parm name = "32" value = "// AA =" datatype = "binary"/> <br/> <parm name = "33" Value = "aaaaaa =" datatype = "binary"/> <br/> <parm name = "34" value = "gbywaa =" datatype = "binary"/> <br /> <parm name = "35" value = "nrtpaa =" datatype = "binary"/> <br/> <parm name = "36" value = "Z + jpaa = "datatype =" binary "/> <br/> <parm name =" 37 "value =" U9 + 3AA = "datatype =" binary "/> <br/> <parm name = "38" value = "aaaaaa =" datatype = "binary"/> <br/> <parm name = "39" value = "//// AA = "datatype =" binary "/> <br/> <parm name =" 40 "value =" gbywaa = "datatype =" binary "/> <br/> </characteristic> <br/> </WAP-provisioningdoc>

 

<Characteristic type = "stwater_240_320.png" Translation = "Install">
<Characteristic type = "extract">
<Parm name = "Source" value = "stwate ~ 1.001 "/>
</Characteristic>

From this section, we can see that stwate ~ 1.001 this file is actually an image file named stwater_240_320.png. That is to say, tsk contains the context file of the Start Menu. All the files starting with stwater are context files of the Start Menu, which are also defined in XML:

<Characteristic type = "hkcu/software/Microsoft/today">
<Parm name = "usestartimage" value = "1" datatype = "integer"/>
<Parm name = "DPI" value = "192" datatype = "integer"/>
</Characteristic>

Here, usestartimage is set to 1, indicating that the desktop wallpaper uses the menu background image file, which is described as follows in the WM document:

If this value is set to 1, then the Start Menu background image will be used as the today screen background image. This means only the stwater.gif file wocould need to be supplied.

 

Insert a question. The default wallpaper file in the system is/Windows/tdywater.gif (the suffix does not affect. PNG can also be used)

The system automatically searches for the following types of files in the Windows directory based on the resolution of the current device:

"Stwater_240_240.gif"

"Stwater_240_320.gif"

"Stwater_320_240.gif"

"Stwater_640_480.gif", etc.

 

Note:

If none of the supplied images tdywater _ <screenwidth >_< screenheight> and stwater _ <screenwidth >_< screenheight> match the current screen resolution, then the files with the name tdywater.gif and stwater.gif will be used.

 

 

Tsk uses two registry values to change the shell color and system color, respectively:

HKEY_LOCAL_MACHINE/software/Microsoft/color/shcolor and

HKEY_LOCAL_MACHINE/system/GWe/syscolor

Both are binary large objects. shcolor contains 41 DWORD values and syscolor contains 29 characters.

We can see these:

<Characteristic type = "HKLM/software/Microsoft/color">
<Parm name = "4" value = "// AA =" datatype = "binary"/>
<Parm name = "5" value = "aaaaaa =" datatype = "binary"/>
<Parm name = "6" value = "gicaaa =" datatype = "binary"/>
<Parm name = "7" value = "aaaaaa =" datatype = "binary"/>
<Parm name = "8" value = "aaaaaa =" datatype = "binary"/>

 

Parm is the Registry Sequence Value of its items. We can see these sequence values in documentation of Windows Mobile, for example:

Registry order Shell color Description

0

Color_alert

Obsolete.

1

Color_accenttext

Obsolete.

2

Color_caloffhours

Obsolete.

3

Color_calonhours

Obsolete.

4

Color_todaytext

Today screen text color.

And so on.

 

 

HKEY_CURRENT_USER/software/Microsoft/today/skinHere is the path of the selected topic

 

OEMs Can Change themes from different registry locations:

 

  • HKEY_CURRENT_USER/software/Microsoft/today/skin
  • HKEY_CURRENT_USER/software/Microsoft/today/usestartimage
  • All values underHKEY_CURRENT_USER/software/Microsoft/today/<themefilename>
  • HKEY_LOCAL_MACHINE/software/Microsoft/color/shcolor
  • HKEY_LOCAL_MACHINE/software/Microsoft/color/basehue
  • All values underHKEY_LOCAL_MACHINE/software/Microsoft/color/<colornumber>
  • HKEY_LOCAL_MACHINE/system/GWe/syscolor
  •  

    The above is for hkcu/software/Microsoft/today/umu. Tsk andHKEY_LOCAL_MACHINE/software/Microsoft/color/shcolorIn this case, configure the settings.

     

    Related Article

    Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.