Rebrand to Open-Shell (#36) (#58)

* Rebrand to Open-Shell

* Slight installer branding improvement
This commit is contained in:
Xenhat
2018-08-05 15:22:10 -04:00
committed by GitHub
parent 4637019a0f
commit f4dd56155b
1115 changed files with 3124 additions and 3140 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+994
View File
@@ -0,0 +1,994 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FFACACAC ControlDarkLinkHover
FFB6B6B6 ControlDarkLinkPressed
FF969696 ControlDarkLinkRest
FFB6B6B6 ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FFACACAC ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FF777777 ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
2BFFFFFF ControlDarkRichEditStartPromptBackgroundHover
1CFFFFFF ControlDarkRichEditStartPromptBackgroundRest
55000000 ControlDarkRichEditStartPromptButtonGlyphHover
7FFFFFFF ControlDarkRichEditStartPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FF464646 ControlDarkRoundButtonFillLayerDisabled
FF555555 ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FF464646 ControlDarkRoundButtonFillLayerRest
FF919191 ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FF3B3B3B ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FF919191 ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FF777777 ControlDarkSelectHighlightSelected
FF8B8B8B ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FF777777 ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FF464646 ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FF8B8B8B ControlDarkSliderTrackFillHover
FFACACAC ControlDarkSliderTrackFillPressed
FF777777 ControlDarkSliderTrackFillRest
FF919191 ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FF919191 ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FF5F5F5F ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FF555555 ControlDarkToggleTrackBackgroundDisabled
FF616161 ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FF555555 ControlDarkToggleTrackBorderDisabled
FF5F5F5F ControlDarkToggleTrackBorderEnabled
FF555555 ControlDarkToggleTrackFillDisabled
FF777777 ControlDarkToggleTrackFillEnabled
FF8B8B8B ControlDarkToggleTrackFillHover
FFACACAC ControlDarkToggleTrackFillPressed
FF777777 ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FF8B8B8B ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FF777777 ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FF8B8B8B ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FF777777 ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FF8B8B8B ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FF777777 ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FF9F9F9F ControlLightLinkHover
FFBCBCBC ControlLightLinkPressed
FF838383 ControlLightLinkRest
FFBCBCBC ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FF777777 ControlLightProgressForeground
FF929292 ControlLightRadioButtonLabelDisabled
FF212121 ControlLightRadioButtonLabelRest
FFE6E6E6 ControlLightRadioButtonSelectedBackgroundDisabled
FF212121 ControlLightRadioButtonSelectedBackgroundDown
FFFFFFFF ControlLightRadioButtonSelectedBackgroundHover
FFFFFFFF ControlLightRadioButtonSelectedBackgroundRest
FFFFFFFF ControlLightRadioButtonSelectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonSelectedBorderDisabled
FF212121 ControlLightRadioButtonSelectedBorderDown
FF919191 ControlLightRadioButtonSelectedBorderHover
FFBABABA ControlLightRadioButtonSelectedBorderRest
FFBABABA ControlLightRadioButtonSelectedBorderUp
FF8A8A8A ControlLightRadioButtonSelectedGlyphDisabled
FFFFFFFF ControlLightRadioButtonSelectedGlyphDown
FF212121 ControlLightRadioButtonSelectedGlyphHover
FF212121 ControlLightRadioButtonSelectedGlyphRest
FF212121 ControlLightRadioButtonSelectedGlyphUp
FFE6E6E6 ControlLightRadioButtonUnselectedBackgroundDisabled
FF212121 ControlLightRadioButtonUnselectedBackgroundDown
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundHover
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundRest
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonUnselectedBorderDisabled
FF212121 ControlLightRadioButtonUnselectedBorderDown
FF919191 ControlLightRadioButtonUnselectedBorderHover
FFBABABA ControlLightRadioButtonUnselectedBorderRest
FFBABABA ControlLightRadioButtonUnselectedBorderUp
FFE6E6E6 ControlLightRadioButtonUnselectedGlyphDisabled
FF212121 ControlLightRadioButtonUnselectedGlyphDown
FFFFFFFF ControlLightRadioButtonUnselectedGlyphHover
FFFFFFFF ControlLightRadioButtonUnselectedGlyphRest
FF212121 ControlLightRadioButtonUnselectedGlyphUp
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FF777777 ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FF777777 ControlLightSelectHighlightSelected
FF8B8B8B ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FF777777 ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FF8B8B8B ControlLightSliderTrackFillHover
FFACACAC ControlLightSliderTrackFillPressed
FF777777 ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FF777777 ControlLightToggleTrackFillEnabled
FF8B8B8B ControlLightToggleTrackFillHover
FFACACAC ControlLightToggleTrackFillPressed
FF777777 ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FF777777 ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FFDADADA ControlScrollbarButtonBorderHover
99000000 ControlScrollbarButtonBorderPressed
00000000 ControlScrollbarButtonBorderRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
59D5D5D5 ControlScrollbarTrackBorder
FF001E4E ControlSkydriveCommerceBackground
FF0069C6 ControlSkydriveCommerceDefaultButtonBackground
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
FF6A6D75 FilesAppAppBarBackground
FFFFFFFF FilesAppAppBarForeground
00000000 FilesAppAppBarHighContrastBorder
FFEDEDED FilesAppBackground
FF777777 FilesAppCommandRowDisabled
FFFFFFFF FilesAppCommandRowHighlight
FFD2D2D2 FilesAppCommandRowHover
FF777777 FilesAppCommandRowPressed
FFA5A5A5 FilesAppCommandRowRest
FFB2FFFC FilesAppDarkLinkText
FF777777 FilesAppDarkLinkTextDisabled
FFA4E2E1 FilesAppDarkLinkTextHover
FF95C5C6 FilesAppDarkLinkTextPressed
FF3F3F3F FilesAppDefaultButtonBackgroundHover
FFFFFFFF FilesAppDefaultButtonBackgroundPressed
FF1D1D1D FilesAppDefaultButtonBackgroundRest
FF000000 FilesAppDefaultButtonBorderHover
FFFFFFFF FilesAppDefaultButtonBorderPressed
FF000000 FilesAppDefaultButtonBorderRest
FF000000 FilesAppDefaultButtonTextHover
FF000000 FilesAppDefaultButtonTextPressed
FF000000 FilesAppDefaultButtonTextRest
00000000 FilesAppFolderHighContrastBorder
FFFFFFFF FilesAppFolderHoverPrimaryText
FFFFFFFF FilesAppFolderPrimaryText
FFFFFFFF FilesAppFolderSelectionHoverPrimaryText
FFFFFFFF FilesAppFolderSelectionPrimaryText
FFB9BABD FilesAppHoverBackground
FFFFFFFF FilesAppItemBackground
FF000000 FilesAppItemPrimaryText
FF696969 FilesAppItemSecondaryText
FFE13000 FilesAppLightErrorText
FF00709F FilesAppLightLinkText
FF8E8E8E FilesAppLightLinkTextDisabled
FF2F89AF FilesAppLightLinkTextHover
FF5FA2BE FilesAppLightLinkTextPressed
FF047398 FilesAppLocalFolderBackground
FFFF8C8C FilesAppLocalFolderErrorText
FFDEECF1 FilesAppLocalFolderHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSecondaryText
FFFFFFFF FilesAppLocalFolderSelectionHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSelectionSecondaryText
FF008299 FilesAppPhotosAppSelectionBackground
FF1D1D1D FilesAppPickerBackground
00000000 FilesAppPickerButtonBackgroundDisabled
FF777777 FilesAppPickerButtonBorderDisabled
FF777777 FilesAppPickerButtonTextDisabled
FF7D8087 FilesAppPickerDefaultButtonBackgroundHover
FFFFFFFF FilesAppPickerDefaultButtonBackgroundPressed
FF6A6D75 FilesAppPickerDefaultButtonBackgroundRest
FFFFFFFF FilesAppPickerDefaultButtonBorderHover
FFFFFFFF FilesAppPickerDefaultButtonBorderPressed
FFFFFFFF FilesAppPickerDefaultButtonBorderRest
FFFFFFFF FilesAppPickerDefaultButtonTextHover
FF000000 FilesAppPickerDefaultButtonTextPressed
FFFFFFFF FilesAppPickerDefaultButtonTextRest
FF2B2B2B FilesAppPickerDocumentThumbnailBackground
FFFFBA73 FilesAppPickerErrorText
FF616161 FilesAppPickerHoverBackground
FFFFFFFF FilesAppPickerHoverPrimaryText
FFB3B3B3 FilesAppPickerHoverSecondaryText
FF2485A5 FilesAppPickerLocalFolderHoverBackground
FF2B2B2B FilesAppPickerPaneBackground
FF059ACB FilesAppPickerPaneHighlight
FF414141 FilesAppPickerPaneHoverBackground
FFFFFFFF FilesAppPickerPaneHoverText
FFFFFFFF FilesAppPickerPanePrimaryText
FFB3B3B3 FilesAppPickerPaneSecondaryText
FFFFFFFF FilesAppPickerPrimaryText
FFB3B3B3 FilesAppPickerSecondaryText
FF97999F FilesAppPickerSelectionHoverBackground
FFFFFFFF FilesAppPickerSelectionHoverPrimaryText
FFFFFFFF FilesAppPickerSelectionHoverSecondaryText
FFFFFFFF FilesAppPickerSelectionPrimaryText
FFFFFFFF FilesAppPickerSelectionSecondaryText
FF2961BC FilesAppPickerSkyDriveFolderHoverBackground
FF2B2B2B FilesAppPickerThumbnailPlaceholder
FFA5A5A5 FilesAppPickerUnavailableText
FFEDEDED FilesAppProgressTrackBackground
FF4DA60C FilesAppProgressTrackFill
FF777777 FilesAppSearchBorder
FF6A6D75 FilesAppSearchButtonBackground
FFFFFFFF FilesAppSearchButtonForeground
FF000000 FilesAppSearchPrimaryText
FF666666 FilesAppSearchSecondaryText
FF6A6D75 FilesAppSelectionBackground
FFFFFFFF FilesAppSelectionForeground
FF094AB2 FilesAppSkyDriveEmphasisText
FF094AB2 FilesAppSkyDriveFolderBackground
FFFFBA73 FilesAppSkyDriveFolderErrorText
FFB6C9E8 FilesAppSkyDriveFolderHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSecondaryText
FFFFFFFF FilesAppSkyDriveFolderSelectionHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSelectionSecondaryText
FF6E6E6E FilesAppSkyDriveUnavailableText
FF8E8E8E FilesAppTabTextDisabled
FF094AB2 FilesAppTabTextHighlight
FF2F2F2F FilesAppTabTextHover
FF8E8E8E FilesAppTabTextPressed
FF5F5F5F FilesAppTabTextRest
00000000 FilesAppThumbnailHighContrastBorder
FF777777 FilesAppTouchSelectHighlightSelected
FF8C8C8C FilesAppTouchSelectHighlightSelectedHover
FFFFFFFF FilesAppTouchSelectHighlightSelectedHoverText
FFFFFFFF FilesAppTouchSelectHighlightSelectedText
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FFFFFFFF HardwareCharmsBarFlag
FFB7B7B7 HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FF777777 HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
FF111111 HardwareGutterBackground
FF555555 HardwareGutterDown
FFD8D8D8 HardwareGutterIndicator
FF777777 HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FFD9552D HardwareHelpStickerAccent
FF111111 HardwareHelpStickerBackground
FFFFFFFF HardwareHelpStickerBorder
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FFB5B5B5 HardwareKeyboardEmojiCategoryTextSelected
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
F0D7D7D7 HardwarePinFlyoutFlipViewFillHover
BD292929 HardwarePinFlyoutFlipViewFillPressed
59D5D5D5 HardwarePinFlyoutFlipViewFillRest
FF000000 HardwarePinFlyoutFlipViewGlyphHover
FFFFFFFF HardwarePinFlyoutFlipViewGlyphPressed
FF000000 HardwarePinFlyoutFlipViewGlyphRest
F0D7D7D7 HardwarePinFlyoutFlipViewOutlineHover
BD292929 HardwarePinFlyoutFlipViewOutlinePressed
59D5D5D5 HardwarePinFlyoutFlipViewOutlineRest
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF111111 HardwareTitleBarBackground
FFE04343 HardwareTitleBarCloseButtonHover
FFC75050 HardwareTitleBarCloseButtonPressed
FF3665B3 HardwareTitleBarMinimizeButtonHover
FF3D6099 HardwareTitleBarMinimizeButtonPressed
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FF222222 HardwareWin8Pillarbox
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FFF2F2F2 LightEntityItemBackgroundHover
FFE8E8E8 LightEntityItemBackgroundSelected
FFF2F2F2 LightEntityItemBorderHover
FFE8E8E8 LightEntityItemBorderSelected
FF777777 LightFocusRect
FF777777 LightHighlight
FFDEDEDE LightHoverBackground
21000000 LightHoverBackgroundTransparent
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
1A000000 LightIconBorder
FFE13300 LightInlineErrorText
FFF4F4F4 LightNavBackground
21FFFFFF LightPCSettingsNavBarItemBackgroundHover
21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed
19000000 LightPCSettingsSearchButtonBackgroundHover
33000000 LightPCSettingsSearchButtonBackgroundPressed
00000000 LightPCSettingsSearchButtonBackgroundRest
3B9B9B9B LightPlaceholderBackground
FF777777 LightPrimaryChartFill
FF000000 LightPrimaryText
FFF9FCF7 LightSearchAdBackground
FF892D16 LightSearchContactHeroAccentDark
FF0C6B1F LightSearchContactHeroAccentHitHighlight
FFD24726 LightSearchContactHeroAccentLight
FF892D16 LightSearchContactHeroAccentLink
FFAB7104 LightSearchFinanceGreen
FFCC1122 LightSearchFinanceRed
FF1D1D1D LightSearchHeroBackground
FF494949 LightSearchHeroCollageAccentDark
FF696969 LightSearchHeroCollageAccentLight
FF4A4A8A LightSearchHeroMapAccentDark
FF6767B8 LightSearchHeroMapAccentLight
FF595959 LightSearchHitHighlight
FF777777 LightSearchNewsBackground
FFDDDDDD LightSearchNewsBackgroundBorder
FF464646 LightSearchSettingTilesBackground
FF999999 LightSearchStoreRatingEmpty
FF333333 LightSearchStoreRatingFull
FFFFFFFF LightSearchVideoTextWhite
FF7C29ED LightSearchWeatherBlue
FFACACAC LightSecondaryChartFill
FF666666 LightSecondaryText
B2000000 LightSecondaryTextTransparent
FF777777 LightSelectedTabText
FF777777 LightSelectionBackground
FF8B8B8B LightSelectionHoverBackground
FFFFFFFF LightSelectionHoverPrimaryText
FFFFFFFF LightSelectionHoverSecondaryText
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FF777777 LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
FF464646 SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FF464646 SaturatedBackground
FFFF3CFF SaturatedBackgroundDisabled
FF8F8F8F SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FF828282 SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FF777777 SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FF7B7B7B SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FF343434 SaturatedFolderBackground
FFD2D2D2 SaturatedHighlight
FF5F5F5F SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FFC9C9C9 SaturatedHoverSecondaryText
FFFFFF00 SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
99FFFFFF SaturatedSearchHighlight
99FFFFFF SaturatedSearchSecondaryText
FFACACAC SaturatedSecondaryText
66FFFFFF SaturatedSecondaryTextDisabledTransparent
B2FFFFFF SaturatedSecondaryTextTransparent
FF777777 SaturatedSelectionBackground
FF8B8B8B SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FFD2D2D2 SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FF777777 SaturatedSettingsCharmLinkHover
FF5F5F5F SaturatedSuggestionTilesBackground
FF464646 SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
FF000000 SaturatedWebWizardIndex
FF464646 StartAllAppsDivider
FF343434 StartAPVBackground
FFAAAAAA StartAPVHeaderText
FF57FFFF StartAPVNewAppText
FF464646 StartAPVSemanticZoomTileBackground
FF3B3B3B StartBackground
FFFF1EEE StartBackgroundDisabled
FF777777 StartCmdBarBackground
FF8B8B8B StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FF777777 StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FF777777 StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FF7B7B7B StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FFBBBBBB StartCommandRowHover
FFFFFFFF StartCommandRowPressed
FFA1A1A1 StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FFFFFFFF StartDarkTileInstallProgressFill
66FFFFFF StartDarkTileInstallProgressTrack
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
CCFFFFFF StartDesktopBackgroundTattooAllAppsDivider
FF9B9B9B StartDesktopBackgroundTattooSecondaryText
FF575757 StartDesktopBackgroundTattooStartPromptBackgroundHover
FF474747 StartDesktopBackgroundTattooStartPromptBackgroundRest
FF000000 StartDesktopBackgroundTattooTileDim
FF555555 StartDesktopBackgroundTattooViewSwitchButtonHover
FF3A3A3A StartDesktopBackgroundTattooViewSwitchButtonRest
FF464646 StartDesktopTilesBackground
FFC7C7C7 StartDesktopTilesText
FF7B7B7B StartDisabledText
FFFFFFFF StartFocusRect
FF343434 StartFolderBackground
FFD3D3D3 StartGroupNameHeader
FFD2D2D2 StartHighlight
FF555555 StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FFC7C7C7 StartHoverSecondaryText
FFFFFF00 StartInlineErrorText
FF000000 StartLightTileInstallProgressFill
33000000 StartLightTileInstallProgressTrack
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FFA1A1A1 StartSecondaryText
FF777777 StartSelectionBackground
FF8B8B8B StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FFD2D2D2 StartSelectionSecondaryText
FF8B8B8B StartSystemTilesBackground
FF7B7B7B StartThumbnailPlaceholder
+994
View File
@@ -0,0 +1,994 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FF2762FC ControlDarkLinkHover
FF0346F5 ControlDarkLinkPressed
FF668FFD ControlDarkLinkRest
FF0346F5 ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FF64BBF4 ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FF0077C6 ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
2BFFFFFF ControlDarkRichEditStartPromptBackgroundHover
1CFFFFFF ControlDarkRichEditStartPromptBackgroundRest
55000000 ControlDarkRichEditStartPromptButtonGlyphHover
7FFFFFFF ControlDarkRichEditStartPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FF061F5E ControlDarkRoundButtonFillLayerDisabled
FF0F2B73 ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FF061F5E ControlDarkRoundButtonFillLayerRest
FF7183B3 ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FF091A46 ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FF7183B3 ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FF0077C6 ControlDarkSelectHighlightSelected
FF0F8CDF ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FF0077C6 ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FF061F5E ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FF0F8CDF ControlDarkSliderTrackFillHover
FF64BBF4 ControlDarkSliderTrackFillPressed
FF0077C6 ControlDarkSliderTrackFillRest
FF7183B3 ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FF7183B3 ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FF113186 ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FF27355A ControlDarkToggleTrackBackgroundDisabled
FF1B3681 ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FF0F2B73 ControlDarkToggleTrackBorderDisabled
FF113186 ControlDarkToggleTrackBorderEnabled
FF27355A ControlDarkToggleTrackFillDisabled
FF0077C6 ControlDarkToggleTrackFillEnabled
FF0F8CDF ControlDarkToggleTrackFillHover
FF64BBF4 ControlDarkToggleTrackFillPressed
FF0077C6 ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FF0F8CDF ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FF0077C6 ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FF0F8CDF ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FF0077C6 ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FF0F8CDF ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FF0077C6 ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FF17A3FF ControlLightLinkHover
FF51B9FF ControlLightLinkPressed
FF0086DF ControlLightLinkRest
FF51B9FF ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FF0077C6 ControlLightProgressForeground
FF929292 ControlLightRadioButtonLabelDisabled
FF212121 ControlLightRadioButtonLabelRest
FFE6E6E6 ControlLightRadioButtonSelectedBackgroundDisabled
FF212121 ControlLightRadioButtonSelectedBackgroundDown
FFFFFFFF ControlLightRadioButtonSelectedBackgroundHover
FFFFFFFF ControlLightRadioButtonSelectedBackgroundRest
FFFFFFFF ControlLightRadioButtonSelectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonSelectedBorderDisabled
FF212121 ControlLightRadioButtonSelectedBorderDown
FF919191 ControlLightRadioButtonSelectedBorderHover
FFBABABA ControlLightRadioButtonSelectedBorderRest
FFBABABA ControlLightRadioButtonSelectedBorderUp
FF8A8A8A ControlLightRadioButtonSelectedGlyphDisabled
FFFFFFFF ControlLightRadioButtonSelectedGlyphDown
FF212121 ControlLightRadioButtonSelectedGlyphHover
FF212121 ControlLightRadioButtonSelectedGlyphRest
FF212121 ControlLightRadioButtonSelectedGlyphUp
FFE6E6E6 ControlLightRadioButtonUnselectedBackgroundDisabled
FF212121 ControlLightRadioButtonUnselectedBackgroundDown
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundHover
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundRest
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonUnselectedBorderDisabled
FF212121 ControlLightRadioButtonUnselectedBorderDown
FF919191 ControlLightRadioButtonUnselectedBorderHover
FFBABABA ControlLightRadioButtonUnselectedBorderRest
FFBABABA ControlLightRadioButtonUnselectedBorderUp
FFE6E6E6 ControlLightRadioButtonUnselectedGlyphDisabled
FF212121 ControlLightRadioButtonUnselectedGlyphDown
FFFFFFFF ControlLightRadioButtonUnselectedGlyphHover
FFFFFFFF ControlLightRadioButtonUnselectedGlyphRest
FF212121 ControlLightRadioButtonUnselectedGlyphUp
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FF0077C6 ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FF0077C6 ControlLightSelectHighlightSelected
FF0F8CDF ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FF0077C6 ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FF0F8CDF ControlLightSliderTrackFillHover
FF64BBF4 ControlLightSliderTrackFillPressed
FF0077C6 ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FF0077C6 ControlLightToggleTrackFillEnabled
FF0F8CDF ControlLightToggleTrackFillHover
FF64BBF4 ControlLightToggleTrackFillPressed
FF0077C6 ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FF0077C6 ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FFDADADA ControlScrollbarButtonBorderHover
99000000 ControlScrollbarButtonBorderPressed
00000000 ControlScrollbarButtonBorderRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
59D5D5D5 ControlScrollbarTrackBorder
FF001E4E ControlSkydriveCommerceBackground
FF0069C6 ControlSkydriveCommerceDefaultButtonBackground
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
FF6A6D75 FilesAppAppBarBackground
FFFFFFFF FilesAppAppBarForeground
00000000 FilesAppAppBarHighContrastBorder
FFEDEDED FilesAppBackground
FF777777 FilesAppCommandRowDisabled
FFFFFFFF FilesAppCommandRowHighlight
FFD2D2D2 FilesAppCommandRowHover
FF777777 FilesAppCommandRowPressed
FFA5A5A5 FilesAppCommandRowRest
FFB2FFFC FilesAppDarkLinkText
FF777777 FilesAppDarkLinkTextDisabled
FFA4E2E1 FilesAppDarkLinkTextHover
FF95C5C6 FilesAppDarkLinkTextPressed
FF3F3F3F FilesAppDefaultButtonBackgroundHover
FFFFFFFF FilesAppDefaultButtonBackgroundPressed
FF1D1D1D FilesAppDefaultButtonBackgroundRest
FF000000 FilesAppDefaultButtonBorderHover
FFFFFFFF FilesAppDefaultButtonBorderPressed
FF000000 FilesAppDefaultButtonBorderRest
FF000000 FilesAppDefaultButtonTextHover
FF000000 FilesAppDefaultButtonTextPressed
FF000000 FilesAppDefaultButtonTextRest
00000000 FilesAppFolderHighContrastBorder
FFFFFFFF FilesAppFolderHoverPrimaryText
FFFFFFFF FilesAppFolderPrimaryText
FFFFFFFF FilesAppFolderSelectionHoverPrimaryText
FFFFFFFF FilesAppFolderSelectionPrimaryText
FFB9BABD FilesAppHoverBackground
FFFFFFFF FilesAppItemBackground
FF000000 FilesAppItemPrimaryText
FF696969 FilesAppItemSecondaryText
FFE13000 FilesAppLightErrorText
FF00709F FilesAppLightLinkText
FF8E8E8E FilesAppLightLinkTextDisabled
FF2F89AF FilesAppLightLinkTextHover
FF5FA2BE FilesAppLightLinkTextPressed
FF047398 FilesAppLocalFolderBackground
FFFF8C8C FilesAppLocalFolderErrorText
FFDEECF1 FilesAppLocalFolderHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSecondaryText
FFFFFFFF FilesAppLocalFolderSelectionHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSelectionSecondaryText
FF008299 FilesAppPhotosAppSelectionBackground
FF1D1D1D FilesAppPickerBackground
00000000 FilesAppPickerButtonBackgroundDisabled
FF777777 FilesAppPickerButtonBorderDisabled
FF777777 FilesAppPickerButtonTextDisabled
FF7D8087 FilesAppPickerDefaultButtonBackgroundHover
FFFFFFFF FilesAppPickerDefaultButtonBackgroundPressed
FF6A6D75 FilesAppPickerDefaultButtonBackgroundRest
FFFFFFFF FilesAppPickerDefaultButtonBorderHover
FFFFFFFF FilesAppPickerDefaultButtonBorderPressed
FFFFFFFF FilesAppPickerDefaultButtonBorderRest
FFFFFFFF FilesAppPickerDefaultButtonTextHover
FF000000 FilesAppPickerDefaultButtonTextPressed
FFFFFFFF FilesAppPickerDefaultButtonTextRest
FF2B2B2B FilesAppPickerDocumentThumbnailBackground
FFFFBA73 FilesAppPickerErrorText
FF616161 FilesAppPickerHoverBackground
FFFFFFFF FilesAppPickerHoverPrimaryText
FFB3B3B3 FilesAppPickerHoverSecondaryText
FF2485A5 FilesAppPickerLocalFolderHoverBackground
FF2B2B2B FilesAppPickerPaneBackground
FF059ACB FilesAppPickerPaneHighlight
FF414141 FilesAppPickerPaneHoverBackground
FFFFFFFF FilesAppPickerPaneHoverText
FFFFFFFF FilesAppPickerPanePrimaryText
FFB3B3B3 FilesAppPickerPaneSecondaryText
FFFFFFFF FilesAppPickerPrimaryText
FFB3B3B3 FilesAppPickerSecondaryText
FF97999F FilesAppPickerSelectionHoverBackground
FFFFFFFF FilesAppPickerSelectionHoverPrimaryText
FFFFFFFF FilesAppPickerSelectionHoverSecondaryText
FFFFFFFF FilesAppPickerSelectionPrimaryText
FFFFFFFF FilesAppPickerSelectionSecondaryText
FF2961BC FilesAppPickerSkyDriveFolderHoverBackground
FF2B2B2B FilesAppPickerThumbnailPlaceholder
FFA5A5A5 FilesAppPickerUnavailableText
FFEDEDED FilesAppProgressTrackBackground
FF4DA60C FilesAppProgressTrackFill
FF777777 FilesAppSearchBorder
FF6A6D75 FilesAppSearchButtonBackground
FFFFFFFF FilesAppSearchButtonForeground
FF000000 FilesAppSearchPrimaryText
FF666666 FilesAppSearchSecondaryText
FF6A6D75 FilesAppSelectionBackground
FFFFFFFF FilesAppSelectionForeground
FF094AB2 FilesAppSkyDriveEmphasisText
FF094AB2 FilesAppSkyDriveFolderBackground
FFFFBA73 FilesAppSkyDriveFolderErrorText
FFB6C9E8 FilesAppSkyDriveFolderHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSecondaryText
FFFFFFFF FilesAppSkyDriveFolderSelectionHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSelectionSecondaryText
FF6E6E6E FilesAppSkyDriveUnavailableText
FF8E8E8E FilesAppTabTextDisabled
FF094AB2 FilesAppTabTextHighlight
FF2F2F2F FilesAppTabTextHover
FF8E8E8E FilesAppTabTextPressed
FF5F5F5F FilesAppTabTextRest
00000000 FilesAppThumbnailHighContrastBorder
FF777777 FilesAppTouchSelectHighlightSelected
FF8C8C8C FilesAppTouchSelectHighlightSelectedHover
FFFFFFFF FilesAppTouchSelectHighlightSelectedHoverText
FFFFFFFF FilesAppTouchSelectHighlightSelectedText
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FF0077C6 HardwareCharmsBarFlag
FF71C6FF HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FF0077C6 HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
FF111111 HardwareGutterBackground
FF102B72 HardwareGutterDown
FFD8D8D8 HardwareGutterIndicator
FF0077C6 HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FFD9552D HardwareHelpStickerAccent
FF111111 HardwareHelpStickerBackground
FFFFFFFF HardwareHelpStickerBorder
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FF82C0EA HardwareKeyboardEmojiCategoryTextSelected
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
F0D7D7D7 HardwarePinFlyoutFlipViewFillHover
BD292929 HardwarePinFlyoutFlipViewFillPressed
59D5D5D5 HardwarePinFlyoutFlipViewFillRest
FF000000 HardwarePinFlyoutFlipViewGlyphHover
FFFFFFFF HardwarePinFlyoutFlipViewGlyphPressed
FF000000 HardwarePinFlyoutFlipViewGlyphRest
F0D7D7D7 HardwarePinFlyoutFlipViewOutlineHover
BD292929 HardwarePinFlyoutFlipViewOutlinePressed
59D5D5D5 HardwarePinFlyoutFlipViewOutlineRest
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF111111 HardwareTitleBarBackground
FFE04343 HardwareTitleBarCloseButtonHover
FFC75050 HardwareTitleBarCloseButtonPressed
FF3665B3 HardwareTitleBarMinimizeButtonHover
FF3D6099 HardwareTitleBarMinimizeButtonPressed
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FF222222 HardwareWin8Pillarbox
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FFF2F2F2 LightEntityItemBackgroundHover
FFE8E8E8 LightEntityItemBackgroundSelected
FFF2F2F2 LightEntityItemBorderHover
FFE8E8E8 LightEntityItemBorderSelected
FF777777 LightFocusRect
FF0077C6 LightHighlight
FFDEDEDE LightHoverBackground
21000000 LightHoverBackgroundTransparent
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
1A000000 LightIconBorder
FFE13300 LightInlineErrorText
FFF4F4F4 LightNavBackground
21FFFFFF LightPCSettingsNavBarItemBackgroundHover
21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed
19000000 LightPCSettingsSearchButtonBackgroundHover
33000000 LightPCSettingsSearchButtonBackgroundPressed
00000000 LightPCSettingsSearchButtonBackgroundRest
3B9B9B9B LightPlaceholderBackground
FF0077C6 LightPrimaryChartFill
FF000000 LightPrimaryText
FFF9FCF7 LightSearchAdBackground
FF892D16 LightSearchContactHeroAccentDark
FF0C6B1F LightSearchContactHeroAccentHitHighlight
FFD24726 LightSearchContactHeroAccentLight
FF892D16 LightSearchContactHeroAccentLink
FFAB7104 LightSearchFinanceGreen
FFCC1122 LightSearchFinanceRed
FF1D1D1D LightSearchHeroBackground
FF494949 LightSearchHeroCollageAccentDark
FF696969 LightSearchHeroCollageAccentLight
FF4A4A8A LightSearchHeroMapAccentDark
FF6767B8 LightSearchHeroMapAccentLight
FFB3006B LightSearchHitHighlight
FF777777 LightSearchNewsBackground
FFDDDDDD LightSearchNewsBackgroundBorder
FF061F5E LightSearchSettingTilesBackground
FF999999 LightSearchStoreRatingEmpty
FF333333 LightSearchStoreRatingFull
FFFFFFFF LightSearchVideoTextWhite
FF7C29ED LightSearchWeatherBlue
FF31ACFF LightSecondaryChartFill
FF666666 LightSecondaryText
B2000000 LightSecondaryTextTransparent
FF0077C6 LightSelectedTabText
FF0077C6 LightSelectionBackground
FF0F8CDF LightSelectionHoverBackground
FFFFFFFF LightSelectionHoverPrimaryText
FFFFFFFF LightSelectionHoverSecondaryText
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FF0077C6 LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
FF061F5E SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FF061F5E SaturatedBackground
FFFF3CFF SaturatedBackgroundDisabled
FF627BBD SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FF0085DD SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FF0077C6 SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FF485986 SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FF04133C SaturatedFolderBackground
FF7DCBFF SaturatedHighlight
FF18347E SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FFACB1BF SaturatedHoverSecondaryText
FFFFFF00 SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
99FFFFFF SaturatedSearchHighlight
99FFFFFF SaturatedSearchSecondaryText
FF798AB7 SaturatedSecondaryText
66FFFFFF SaturatedSecondaryTextDisabledTransparent
B2FFFFFF SaturatedSecondaryTextTransparent
FF0077C6 SaturatedSelectionBackground
FF0F8CDF SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FF88C9F4 SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FF0077C6 SaturatedSettingsCharmLinkHover
FF18347E SaturatedSuggestionTilesBackground
FF061F5E SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
FF000000 SaturatedWebWizardIndex
FF061F5E StartAllAppsDivider
FF04133C StartAPVBackground
FF668FFD StartAPVHeaderText
FF57FFFF StartAPVNewAppText
FF061F5E StartAPVSemanticZoomTileBackground
FF091A46 StartBackground
FFFF1EEE StartBackgroundDisabled
FF0077C6 StartCmdBarBackground
FF0F8CDF StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FF0077C6 StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FF0077C6 StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FF485986 StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FF8C9BC1 StartCommandRowHover
FFFFFFFF StartCommandRowPressed
FF6B7EAF StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FFFFFFFF StartDarkTileInstallProgressFill
66FFFFFF StartDarkTileInstallProgressTrack
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
CCFFFFFF StartDesktopBackgroundTattooAllAppsDivider
FF9B9B9B StartDesktopBackgroundTattooSecondaryText
FF575757 StartDesktopBackgroundTattooStartPromptBackgroundHover
FF474747 StartDesktopBackgroundTattooStartPromptBackgroundRest
FF000000 StartDesktopBackgroundTattooTileDim
FF555555 StartDesktopBackgroundTattooViewSwitchButtonHover
FF3A3A3A StartDesktopBackgroundTattooViewSwitchButtonRest
FF061F5E StartDesktopTilesBackground
FF7999EE StartDesktopTilesText
FF485986 StartDisabledText
FFFFFFFF StartFocusRect
FF04133C StartFolderBackground
FFCBCFDC StartGroupNameHeader
FF7DCBFF StartHighlight
FF152E6C StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FFAFB1B8 StartHoverSecondaryText
FFFFFF00 StartInlineErrorText
FF000000 StartLightTileInstallProgressFill
33000000 StartLightTileInstallProgressTrack
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FF6B7EAF StartSecondaryText
FF0077C6 StartSelectionBackground
FF0F8CDF StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FF88C9F4 StartSelectionSecondaryText
FF0F8CDF StartSystemTilesBackground
FF485986 StartThumbnailPlaceholder
+994
View File
@@ -0,0 +1,994 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FF11FF11 ControlDarkLinkHover
FF00E600 ControlDarkLinkPressed
FF51FF51 ControlDarkLinkRest
FF00E600 ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FF79F464 ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FF179900 ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
2BFFFFFF ControlDarkRichEditStartPromptBackgroundHover
1CFFFFFF ControlDarkRichEditStartPromptBackgroundRest
55000000 ControlDarkRichEditStartPromptButtonGlyphHover
7FFFFFFF ControlDarkRichEditStartPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FF005100 ControlDarkRoundButtonFillLayerDisabled
FF006F00 ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FF005100 ControlDarkRoundButtonFillLayerRest
FF71B371 ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FF003C00 ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FF71B371 ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FF179900 ControlDarkSelectHighlightSelected
FF25B60C ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FF179900 ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FF005100 ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FF25B60C ControlDarkSliderTrackFillHover
FF79F464 ControlDarkSliderTrackFillPressed
FF179900 ControlDarkSliderTrackFillRest
FF71B371 ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FF71B371 ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FF008400 ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FF214E21 ControlDarkToggleTrackBackgroundDisabled
FF078107 ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FF006F00 ControlDarkToggleTrackBorderDisabled
FF008400 ControlDarkToggleTrackBorderEnabled
FF214E21 ControlDarkToggleTrackFillDisabled
FF179900 ControlDarkToggleTrackFillEnabled
FF25B60C ControlDarkToggleTrackFillHover
FF79F464 ControlDarkToggleTrackFillPressed
FF179900 ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FF25B60C ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FF179900 ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FF25B60C ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FF179900 ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FF25B60C ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FF179900 ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FF23EA00 ControlLightLinkHover
FF45FF24 ControlLightLinkPressed
FF1BB300 ControlLightLinkRest
FF45FF24 ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FF179900 ControlLightProgressForeground
FF929292 ControlLightRadioButtonLabelDisabled
FF212121 ControlLightRadioButtonLabelRest
FFE6E6E6 ControlLightRadioButtonSelectedBackgroundDisabled
FF212121 ControlLightRadioButtonSelectedBackgroundDown
FFFFFFFF ControlLightRadioButtonSelectedBackgroundHover
FFFFFFFF ControlLightRadioButtonSelectedBackgroundRest
FFFFFFFF ControlLightRadioButtonSelectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonSelectedBorderDisabled
FF212121 ControlLightRadioButtonSelectedBorderDown
FF919191 ControlLightRadioButtonSelectedBorderHover
FFBABABA ControlLightRadioButtonSelectedBorderRest
FFBABABA ControlLightRadioButtonSelectedBorderUp
FF8A8A8A ControlLightRadioButtonSelectedGlyphDisabled
FFFFFFFF ControlLightRadioButtonSelectedGlyphDown
FF212121 ControlLightRadioButtonSelectedGlyphHover
FF212121 ControlLightRadioButtonSelectedGlyphRest
FF212121 ControlLightRadioButtonSelectedGlyphUp
FFE6E6E6 ControlLightRadioButtonUnselectedBackgroundDisabled
FF212121 ControlLightRadioButtonUnselectedBackgroundDown
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundHover
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundRest
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonUnselectedBorderDisabled
FF212121 ControlLightRadioButtonUnselectedBorderDown
FF919191 ControlLightRadioButtonUnselectedBorderHover
FFBABABA ControlLightRadioButtonUnselectedBorderRest
FFBABABA ControlLightRadioButtonUnselectedBorderUp
FFE6E6E6 ControlLightRadioButtonUnselectedGlyphDisabled
FF212121 ControlLightRadioButtonUnselectedGlyphDown
FFFFFFFF ControlLightRadioButtonUnselectedGlyphHover
FFFFFFFF ControlLightRadioButtonUnselectedGlyphRest
FF212121 ControlLightRadioButtonUnselectedGlyphUp
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FF179900 ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FF179900 ControlLightSelectHighlightSelected
FF25B60C ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FF179900 ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FF25B60C ControlLightSliderTrackFillHover
FF79F464 ControlLightSliderTrackFillPressed
FF179900 ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FF179900 ControlLightToggleTrackFillEnabled
FF25B60C ControlLightToggleTrackFillHover
FF79F464 ControlLightToggleTrackFillPressed
FF179900 ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FF179900 ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FFDADADA ControlScrollbarButtonBorderHover
99000000 ControlScrollbarButtonBorderPressed
00000000 ControlScrollbarButtonBorderRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
59D5D5D5 ControlScrollbarTrackBorder
FF001E4E ControlSkydriveCommerceBackground
FF0069C6 ControlSkydriveCommerceDefaultButtonBackground
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
FF6A6D75 FilesAppAppBarBackground
FFFFFFFF FilesAppAppBarForeground
00000000 FilesAppAppBarHighContrastBorder
FFEDEDED FilesAppBackground
FF777777 FilesAppCommandRowDisabled
FFFFFFFF FilesAppCommandRowHighlight
FFD2D2D2 FilesAppCommandRowHover
FF777777 FilesAppCommandRowPressed
FFA5A5A5 FilesAppCommandRowRest
FFB2FFFC FilesAppDarkLinkText
FF777777 FilesAppDarkLinkTextDisabled
FFA4E2E1 FilesAppDarkLinkTextHover
FF95C5C6 FilesAppDarkLinkTextPressed
FF3F3F3F FilesAppDefaultButtonBackgroundHover
FFFFFFFF FilesAppDefaultButtonBackgroundPressed
FF1D1D1D FilesAppDefaultButtonBackgroundRest
FF000000 FilesAppDefaultButtonBorderHover
FFFFFFFF FilesAppDefaultButtonBorderPressed
FF000000 FilesAppDefaultButtonBorderRest
FF000000 FilesAppDefaultButtonTextHover
FF000000 FilesAppDefaultButtonTextPressed
FF000000 FilesAppDefaultButtonTextRest
00000000 FilesAppFolderHighContrastBorder
FFFFFFFF FilesAppFolderHoverPrimaryText
FFFFFFFF FilesAppFolderPrimaryText
FFFFFFFF FilesAppFolderSelectionHoverPrimaryText
FFFFFFFF FilesAppFolderSelectionPrimaryText
FFB9BABD FilesAppHoverBackground
FFFFFFFF FilesAppItemBackground
FF000000 FilesAppItemPrimaryText
FF696969 FilesAppItemSecondaryText
FFE13000 FilesAppLightErrorText
FF00709F FilesAppLightLinkText
FF8E8E8E FilesAppLightLinkTextDisabled
FF2F89AF FilesAppLightLinkTextHover
FF5FA2BE FilesAppLightLinkTextPressed
FF047398 FilesAppLocalFolderBackground
FFFF8C8C FilesAppLocalFolderErrorText
FFDEECF1 FilesAppLocalFolderHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSecondaryText
FFFFFFFF FilesAppLocalFolderSelectionHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSelectionSecondaryText
FF008299 FilesAppPhotosAppSelectionBackground
FF1D1D1D FilesAppPickerBackground
00000000 FilesAppPickerButtonBackgroundDisabled
FF777777 FilesAppPickerButtonBorderDisabled
FF777777 FilesAppPickerButtonTextDisabled
FF7D8087 FilesAppPickerDefaultButtonBackgroundHover
FFFFFFFF FilesAppPickerDefaultButtonBackgroundPressed
FF6A6D75 FilesAppPickerDefaultButtonBackgroundRest
FFFFFFFF FilesAppPickerDefaultButtonBorderHover
FFFFFFFF FilesAppPickerDefaultButtonBorderPressed
FFFFFFFF FilesAppPickerDefaultButtonBorderRest
FFFFFFFF FilesAppPickerDefaultButtonTextHover
FF000000 FilesAppPickerDefaultButtonTextPressed
FFFFFFFF FilesAppPickerDefaultButtonTextRest
FF2B2B2B FilesAppPickerDocumentThumbnailBackground
FFFFBA73 FilesAppPickerErrorText
FF616161 FilesAppPickerHoverBackground
FFFFFFFF FilesAppPickerHoverPrimaryText
FFB3B3B3 FilesAppPickerHoverSecondaryText
FF2485A5 FilesAppPickerLocalFolderHoverBackground
FF2B2B2B FilesAppPickerPaneBackground
FF059ACB FilesAppPickerPaneHighlight
FF414141 FilesAppPickerPaneHoverBackground
FFFFFFFF FilesAppPickerPaneHoverText
FFFFFFFF FilesAppPickerPanePrimaryText
FFB3B3B3 FilesAppPickerPaneSecondaryText
FFFFFFFF FilesAppPickerPrimaryText
FFB3B3B3 FilesAppPickerSecondaryText
FF97999F FilesAppPickerSelectionHoverBackground
FFFFFFFF FilesAppPickerSelectionHoverPrimaryText
FFFFFFFF FilesAppPickerSelectionHoverSecondaryText
FFFFFFFF FilesAppPickerSelectionPrimaryText
FFFFFFFF FilesAppPickerSelectionSecondaryText
FF2961BC FilesAppPickerSkyDriveFolderHoverBackground
FF2B2B2B FilesAppPickerThumbnailPlaceholder
FFA5A5A5 FilesAppPickerUnavailableText
FFEDEDED FilesAppProgressTrackBackground
FF4DA60C FilesAppProgressTrackFill
FF777777 FilesAppSearchBorder
FF6A6D75 FilesAppSearchButtonBackground
FFFFFFFF FilesAppSearchButtonForeground
FF000000 FilesAppSearchPrimaryText
FF666666 FilesAppSearchSecondaryText
FF6A6D75 FilesAppSelectionBackground
FFFFFFFF FilesAppSelectionForeground
FF094AB2 FilesAppSkyDriveEmphasisText
FF094AB2 FilesAppSkyDriveFolderBackground
FFFFBA73 FilesAppSkyDriveFolderErrorText
FFB6C9E8 FilesAppSkyDriveFolderHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSecondaryText
FFFFFFFF FilesAppSkyDriveFolderSelectionHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSelectionSecondaryText
FF6E6E6E FilesAppSkyDriveUnavailableText
FF8E8E8E FilesAppTabTextDisabled
FF094AB2 FilesAppTabTextHighlight
FF2F2F2F FilesAppTabTextHover
FF8E8E8E FilesAppTabTextPressed
FF5F5F5F FilesAppTabTextRest
00000000 FilesAppThumbnailHighContrastBorder
FF777777 FilesAppTouchSelectHighlightSelected
FF8C8C8C FilesAppTouchSelectHighlightSelectedHover
FFFFFFFF FilesAppTouchSelectHighlightSelectedHoverText
FFFFFFFF FilesAppTouchSelectHighlightSelectedText
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FF179900 HardwareCharmsBarFlag
FF86FF71 HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FF179900 HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
FF111111 HardwareGutterBackground
FF016D01 HardwareGutterDown
FFD8D8D8 HardwareGutterIndicator
FF179900 HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FFD9552D HardwareHelpStickerAccent
FF111111 HardwareHelpStickerBackground
FFFFFFFF HardwareHelpStickerBorder
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FF92EA82 HardwareKeyboardEmojiCategoryTextSelected
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
F0D7D7D7 HardwarePinFlyoutFlipViewFillHover
BD292929 HardwarePinFlyoutFlipViewFillPressed
59D5D5D5 HardwarePinFlyoutFlipViewFillRest
FF000000 HardwarePinFlyoutFlipViewGlyphHover
FFFFFFFF HardwarePinFlyoutFlipViewGlyphPressed
FF000000 HardwarePinFlyoutFlipViewGlyphRest
F0D7D7D7 HardwarePinFlyoutFlipViewOutlineHover
BD292929 HardwarePinFlyoutFlipViewOutlinePressed
59D5D5D5 HardwarePinFlyoutFlipViewOutlineRest
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF111111 HardwareTitleBarBackground
FFE04343 HardwareTitleBarCloseButtonHover
FFC75050 HardwareTitleBarCloseButtonPressed
FF3665B3 HardwareTitleBarMinimizeButtonHover
FF3D6099 HardwareTitleBarMinimizeButtonPressed
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FF222222 HardwareWin8Pillarbox
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FFF2F2F2 LightEntityItemBackgroundHover
FFE8E8E8 LightEntityItemBackgroundSelected
FFF2F2F2 LightEntityItemBorderHover
FFE8E8E8 LightEntityItemBorderSelected
FF777777 LightFocusRect
FF179900 LightHighlight
FFDEDEDE LightHoverBackground
21000000 LightHoverBackgroundTransparent
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
1A000000 LightIconBorder
FFE13300 LightInlineErrorText
FFF4F4F4 LightNavBackground
21FFFFFF LightPCSettingsNavBarItemBackgroundHover
21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed
19000000 LightPCSettingsSearchButtonBackgroundHover
33000000 LightPCSettingsSearchButtonBackgroundPressed
00000000 LightPCSettingsSearchButtonBackgroundRest
3B9B9B9B LightPlaceholderBackground
FF179900 LightPrimaryChartFill
FF000000 LightPrimaryText
FFF9FCF7 LightSearchAdBackground
FF892D16 LightSearchContactHeroAccentDark
FF0C6B1F LightSearchContactHeroAccentHitHighlight
FFD24726 LightSearchContactHeroAccentLight
FF892D16 LightSearchContactHeroAccentLink
FFAB7104 LightSearchFinanceGreen
FFCC1122 LightSearchFinanceRed
FF1D1D1D LightSearchHeroBackground
FF494949 LightSearchHeroCollageAccentDark
FF696969 LightSearchHeroCollageAccentLight
FF4A4A8A LightSearchHeroMapAccentDark
FF6767B8 LightSearchHeroMapAccentLight
FF001BB3 LightSearchHitHighlight
FF777777 LightSearchNewsBackground
FFDDDDDD LightSearchNewsBackgroundBorder
FF005100 LightSearchSettingTilesBackground
FF999999 LightSearchStoreRatingEmpty
FF333333 LightSearchStoreRatingFull
FFFFFFFF LightSearchVideoTextWhite
FF7C29ED LightSearchWeatherBlue
FF29FF04 LightSecondaryChartFill
FF666666 LightSecondaryText
B2000000 LightSecondaryTextTransparent
FF179900 LightSelectedTabText
FF179900 LightSelectionBackground
FF25B60C LightSelectionHoverBackground
FFFFFFFF LightSelectionHoverPrimaryText
FFFFFFFF LightSelectionHoverSecondaryText
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FF179900 LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
FF005100 SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FF005100 SaturatedBackground
FFFF3CFF SaturatedBackgroundDisabled
FF62BD62 SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FF1BB000 SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FF179900 SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FF427942 SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FF002D00 SaturatedFolderBackground
FF6BFF51 SaturatedHighlight
FF067D06 SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FF8ECA8E SaturatedHoverSecondaryText
FFFFFF00 SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
99FFFFFF SaturatedSearchHighlight
99FFFFFF SaturatedSearchSecondaryText
FF6CB06C SaturatedSecondaryText
66FFFFFF SaturatedSecondaryTextDisabledTransparent
B2FFFFFF SaturatedSecondaryTextTransparent
FF179900 SaturatedSelectionBackground
FF25B60C SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FF75F15F SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FF179900 SaturatedSettingsCharmLinkHover
FF067D06 SaturatedSuggestionTilesBackground
FF005100 SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
FF000000 SaturatedWebWizardIndex
FF005100 StartAllAppsDivider
FF002D00 StartAPVBackground
FF51FF51 StartAPVHeaderText
FF57FFFF StartAPVNewAppText
FF005100 StartAPVSemanticZoomTileBackground
FF003C00 StartBackground
FFFF1EEE StartBackgroundDisabled
FF179900 StartCmdBarBackground
FF25B60C StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FF179900 StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FF179900 StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FF427942 StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FF80BB80 StartCommandRowHover
FFFFFFFF StartCommandRowPressed
FF5FA95F StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FFFFFFFF StartDarkTileInstallProgressFill
66FFFFFF StartDarkTileInstallProgressTrack
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
CCFFFFFF StartDesktopBackgroundTattooAllAppsDivider
FF9B9B9B StartDesktopBackgroundTattooSecondaryText
FF575757 StartDesktopBackgroundTattooStartPromptBackgroundHover
FF474747 StartDesktopBackgroundTattooStartPromptBackgroundRest
FF000000 StartDesktopBackgroundTattooTileDim
FF555555 StartDesktopBackgroundTattooViewSwitchButtonHover
FF3A3A3A StartDesktopBackgroundTattooViewSwitchButtonRest
FF005100 StartDesktopTilesBackground
FF55FF55 StartDesktopTilesText
FF427942 StartDisabledText
FFFFFFFF StartFocusRect
FF002D00 StartFolderBackground
FFCBDCCB StartGroupNameHeader
FF6BFF51 StartHighlight
FF056905 StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FF92C292 StartHoverSecondaryText
FFFFFF00 StartInlineErrorText
FF000000 StartLightTileInstallProgressFill
33000000 StartLightTileInstallProgressTrack
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FF5FA95F StartSecondaryText
FF179900 StartSelectionBackground
FF25B60C StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FF75F15F StartSelectionSecondaryText
FF25B60C StartSystemTilesBackground
FF427942 StartThumbnailPlaceholder
+994
View File
@@ -0,0 +1,994 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FFFF5B5B ControlDarkLinkHover
FFFF3131 ControlDarkLinkPressed
FFFF9B9B ControlDarkLinkRest
FFFF3131 ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FFF48164 ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FFF73100 ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
2BFFFFFF ControlDarkRichEditStartPromptBackgroundHover
1CFFFFFF ControlDarkRichEditStartPromptBackgroundRest
55000000 ControlDarkRichEditStartPromptButtonGlyphHover
7FFFFFFF ControlDarkRichEditStartPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FF9B0000 ControlDarkRoundButtonFillLayerDisabled
FFB90000 ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FF9B0000 ControlDarkRoundButtonFillLayerRest
FFB37171 ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FF860000 ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FFB37171 ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FFF73100 ControlDarkSelectHighlightSelected
FFF1552E ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FFF73100 ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FF9B0000 ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FFF1552E ControlDarkSliderTrackFillHover
FFF48164 ControlDarkSliderTrackFillPressed
FFF73100 ControlDarkSliderTrackFillRest
FFB37171 ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FFB37171 ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FFCE0000 ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FF823737 ControlDarkToggleTrackBackgroundDisabled
FFC70C0C ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FFB90000 ControlDarkToggleTrackBorderDisabled
FFCE0000 ControlDarkToggleTrackBorderEnabled
FF823737 ControlDarkToggleTrackFillDisabled
FFF73100 ControlDarkToggleTrackFillEnabled
FFF1552E ControlDarkToggleTrackFillHover
FFF48164 ControlDarkToggleTrackFillPressed
FFF73100 ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FFF1552E ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FFF73100 ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FFF1552E ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FFF73100 ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FFF1552E ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FFF73100 ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FFFF6C48 ControlLightLinkHover
FFFF9B82 ControlLightLinkPressed
FFFF4111 ControlLightLinkRest
FFFF9B82 ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FFF73100 ControlLightProgressForeground
FF929292 ControlLightRadioButtonLabelDisabled
FF212121 ControlLightRadioButtonLabelRest
FFE6E6E6 ControlLightRadioButtonSelectedBackgroundDisabled
FF212121 ControlLightRadioButtonSelectedBackgroundDown
FFFFFFFF ControlLightRadioButtonSelectedBackgroundHover
FFFFFFFF ControlLightRadioButtonSelectedBackgroundRest
FFFFFFFF ControlLightRadioButtonSelectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonSelectedBorderDisabled
FF212121 ControlLightRadioButtonSelectedBorderDown
FF919191 ControlLightRadioButtonSelectedBorderHover
FFBABABA ControlLightRadioButtonSelectedBorderRest
FFBABABA ControlLightRadioButtonSelectedBorderUp
FF8A8A8A ControlLightRadioButtonSelectedGlyphDisabled
FFFFFFFF ControlLightRadioButtonSelectedGlyphDown
FF212121 ControlLightRadioButtonSelectedGlyphHover
FF212121 ControlLightRadioButtonSelectedGlyphRest
FF212121 ControlLightRadioButtonSelectedGlyphUp
FFE6E6E6 ControlLightRadioButtonUnselectedBackgroundDisabled
FF212121 ControlLightRadioButtonUnselectedBackgroundDown
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundHover
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundRest
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonUnselectedBorderDisabled
FF212121 ControlLightRadioButtonUnselectedBorderDown
FF919191 ControlLightRadioButtonUnselectedBorderHover
FFBABABA ControlLightRadioButtonUnselectedBorderRest
FFBABABA ControlLightRadioButtonUnselectedBorderUp
FFE6E6E6 ControlLightRadioButtonUnselectedGlyphDisabled
FF212121 ControlLightRadioButtonUnselectedGlyphDown
FFFFFFFF ControlLightRadioButtonUnselectedGlyphHover
FFFFFFFF ControlLightRadioButtonUnselectedGlyphRest
FF212121 ControlLightRadioButtonUnselectedGlyphUp
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FFF73100 ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FFF73100 ControlLightSelectHighlightSelected
FFF1552E ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FFF73100 ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FFF1552E ControlLightSliderTrackFillHover
FFF48164 ControlLightSliderTrackFillPressed
FFF73100 ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FFF73100 ControlLightToggleTrackFillEnabled
FFF1552E ControlLightToggleTrackFillHover
FFF48164 ControlLightToggleTrackFillPressed
FFF73100 ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FFF73100 ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FFDADADA ControlScrollbarButtonBorderHover
99000000 ControlScrollbarButtonBorderPressed
00000000 ControlScrollbarButtonBorderRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
59D5D5D5 ControlScrollbarTrackBorder
FF001E4E ControlSkydriveCommerceBackground
FF0069C6 ControlSkydriveCommerceDefaultButtonBackground
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
FF6A6D75 FilesAppAppBarBackground
FFFFFFFF FilesAppAppBarForeground
00000000 FilesAppAppBarHighContrastBorder
FFEDEDED FilesAppBackground
FF777777 FilesAppCommandRowDisabled
FFFFFFFF FilesAppCommandRowHighlight
FFD2D2D2 FilesAppCommandRowHover
FF777777 FilesAppCommandRowPressed
FFA5A5A5 FilesAppCommandRowRest
FFB2FFFC FilesAppDarkLinkText
FF777777 FilesAppDarkLinkTextDisabled
FFA4E2E1 FilesAppDarkLinkTextHover
FF95C5C6 FilesAppDarkLinkTextPressed
FF3F3F3F FilesAppDefaultButtonBackgroundHover
FFFFFFFF FilesAppDefaultButtonBackgroundPressed
FF1D1D1D FilesAppDefaultButtonBackgroundRest
FF000000 FilesAppDefaultButtonBorderHover
FFFFFFFF FilesAppDefaultButtonBorderPressed
FF000000 FilesAppDefaultButtonBorderRest
FF000000 FilesAppDefaultButtonTextHover
FF000000 FilesAppDefaultButtonTextPressed
FF000000 FilesAppDefaultButtonTextRest
00000000 FilesAppFolderHighContrastBorder
FFFFFFFF FilesAppFolderHoverPrimaryText
FFFFFFFF FilesAppFolderPrimaryText
FFFFFFFF FilesAppFolderSelectionHoverPrimaryText
FFFFFFFF FilesAppFolderSelectionPrimaryText
FFB9BABD FilesAppHoverBackground
FFFFFFFF FilesAppItemBackground
FF000000 FilesAppItemPrimaryText
FF696969 FilesAppItemSecondaryText
FFE13000 FilesAppLightErrorText
FF00709F FilesAppLightLinkText
FF8E8E8E FilesAppLightLinkTextDisabled
FF2F89AF FilesAppLightLinkTextHover
FF5FA2BE FilesAppLightLinkTextPressed
FF047398 FilesAppLocalFolderBackground
FFFF8C8C FilesAppLocalFolderErrorText
FFDEECF1 FilesAppLocalFolderHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSecondaryText
FFFFFFFF FilesAppLocalFolderSelectionHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSelectionSecondaryText
FF008299 FilesAppPhotosAppSelectionBackground
FF1D1D1D FilesAppPickerBackground
00000000 FilesAppPickerButtonBackgroundDisabled
FF777777 FilesAppPickerButtonBorderDisabled
FF777777 FilesAppPickerButtonTextDisabled
FF7D8087 FilesAppPickerDefaultButtonBackgroundHover
FFFFFFFF FilesAppPickerDefaultButtonBackgroundPressed
FF6A6D75 FilesAppPickerDefaultButtonBackgroundRest
FFFFFFFF FilesAppPickerDefaultButtonBorderHover
FFFFFFFF FilesAppPickerDefaultButtonBorderPressed
FFFFFFFF FilesAppPickerDefaultButtonBorderRest
FFFFFFFF FilesAppPickerDefaultButtonTextHover
FF000000 FilesAppPickerDefaultButtonTextPressed
FFFFFFFF FilesAppPickerDefaultButtonTextRest
FF2B2B2B FilesAppPickerDocumentThumbnailBackground
FFFFBA73 FilesAppPickerErrorText
FF616161 FilesAppPickerHoverBackground
FFFFFFFF FilesAppPickerHoverPrimaryText
FFB3B3B3 FilesAppPickerHoverSecondaryText
FF2485A5 FilesAppPickerLocalFolderHoverBackground
FF2B2B2B FilesAppPickerPaneBackground
FF059ACB FilesAppPickerPaneHighlight
FF414141 FilesAppPickerPaneHoverBackground
FFFFFFFF FilesAppPickerPaneHoverText
FFFFFFFF FilesAppPickerPanePrimaryText
FFB3B3B3 FilesAppPickerPaneSecondaryText
FFFFFFFF FilesAppPickerPrimaryText
FFB3B3B3 FilesAppPickerSecondaryText
FF97999F FilesAppPickerSelectionHoverBackground
FFFFFFFF FilesAppPickerSelectionHoverPrimaryText
FFFFFFFF FilesAppPickerSelectionHoverSecondaryText
FFFFFFFF FilesAppPickerSelectionPrimaryText
FFFFFFFF FilesAppPickerSelectionSecondaryText
FF2961BC FilesAppPickerSkyDriveFolderHoverBackground
FF2B2B2B FilesAppPickerThumbnailPlaceholder
FFA5A5A5 FilesAppPickerUnavailableText
FFEDEDED FilesAppProgressTrackBackground
FF4DA60C FilesAppProgressTrackFill
FF777777 FilesAppSearchBorder
FF6A6D75 FilesAppSearchButtonBackground
FFFFFFFF FilesAppSearchButtonForeground
FF000000 FilesAppSearchPrimaryText
FF666666 FilesAppSearchSecondaryText
FF6A6D75 FilesAppSelectionBackground
FFFFFFFF FilesAppSelectionForeground
FF094AB2 FilesAppSkyDriveEmphasisText
FF094AB2 FilesAppSkyDriveFolderBackground
FFFFBA73 FilesAppSkyDriveFolderErrorText
FFB6C9E8 FilesAppSkyDriveFolderHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSecondaryText
FFFFFFFF FilesAppSkyDriveFolderSelectionHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSelectionSecondaryText
FF6E6E6E FilesAppSkyDriveUnavailableText
FF8E8E8E FilesAppTabTextDisabled
FF094AB2 FilesAppTabTextHighlight
FF2F2F2F FilesAppTabTextHover
FF8E8E8E FilesAppTabTextPressed
FF5F5F5F FilesAppTabTextRest
00000000 FilesAppThumbnailHighContrastBorder
FF777777 FilesAppTouchSelectHighlightSelected
FF8C8C8C FilesAppTouchSelectHighlightSelectedHover
FFFFFFFF FilesAppTouchSelectHighlightSelectedHoverText
FFFFFFFF FilesAppTouchSelectHighlightSelectedText
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FFF73100 HardwareCharmsBarFlag
FFFF8D71 HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FFF73100 HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
FF111111 HardwareGutterBackground
FFB80101 HardwareGutterDown
FFD8D8D8 HardwareGutterIndicator
FFF73100 HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FFD9552D HardwareHelpStickerAccent
FF111111 HardwareHelpStickerBackground
FFFFFFFF HardwareHelpStickerBorder
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FFEA9782 HardwareKeyboardEmojiCategoryTextSelected
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
F0D7D7D7 HardwarePinFlyoutFlipViewFillHover
BD292929 HardwarePinFlyoutFlipViewFillPressed
59D5D5D5 HardwarePinFlyoutFlipViewFillRest
FF000000 HardwarePinFlyoutFlipViewGlyphHover
FFFFFFFF HardwarePinFlyoutFlipViewGlyphPressed
FF000000 HardwarePinFlyoutFlipViewGlyphRest
F0D7D7D7 HardwarePinFlyoutFlipViewOutlineHover
BD292929 HardwarePinFlyoutFlipViewOutlinePressed
59D5D5D5 HardwarePinFlyoutFlipViewOutlineRest
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF111111 HardwareTitleBarBackground
FFE04343 HardwareTitleBarCloseButtonHover
FFC75050 HardwareTitleBarCloseButtonPressed
FF3665B3 HardwareTitleBarMinimizeButtonHover
FF3D6099 HardwareTitleBarMinimizeButtonPressed
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FF222222 HardwareWin8Pillarbox
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FFF2F2F2 LightEntityItemBackgroundHover
FFE8E8E8 LightEntityItemBackgroundSelected
FFF2F2F2 LightEntityItemBorderHover
FFE8E8E8 LightEntityItemBorderSelected
FF777777 LightFocusRect
FFF73100 LightHighlight
FFDEDEDE LightHoverBackground
21000000 LightHoverBackgroundTransparent
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
1A000000 LightIconBorder
FFE13300 LightInlineErrorText
FFF4F4F4 LightNavBackground
21FFFFFF LightPCSettingsNavBarItemBackgroundHover
21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed
19000000 LightPCSettingsSearchButtonBackgroundHover
33000000 LightPCSettingsSearchButtonBackgroundPressed
00000000 LightPCSettingsSearchButtonBackgroundRest
3B9B9B9B LightPlaceholderBackground
FFF73100 LightPrimaryChartFill
FF000000 LightPrimaryText
FFF9FCF7 LightSearchAdBackground
FF892D16 LightSearchContactHeroAccentDark
FF0C6B1F LightSearchContactHeroAccentHitHighlight
FFD24726 LightSearchContactHeroAccentLight
FF892D16 LightSearchContactHeroAccentLink
FFAB7104 LightSearchFinanceGreen
FFCC1122 LightSearchFinanceRed
FF1D1D1D LightSearchHeroBackground
FF494949 LightSearchHeroCollageAccentDark
FF696969 LightSearchHeroCollageAccentLight
FF4A4A8A LightSearchHeroMapAccentDark
FF6767B8 LightSearchHeroMapAccentLight
FF00B324 LightSearchHitHighlight
FF777777 LightSearchNewsBackground
FFDDDDDD LightSearchNewsBackgroundBorder
FF9B0000 LightSearchSettingTilesBackground
FF999999 LightSearchStoreRatingEmpty
FF333333 LightSearchStoreRatingFull
FFFFFFFF LightSearchVideoTextWhite
FF7C29ED LightSearchWeatherBlue
FFFF8262 LightSecondaryChartFill
FF666666 LightSecondaryText
B2000000 LightSecondaryTextTransparent
FFF73100 LightSelectedTabText
FFF73100 LightSelectionBackground
FFF1552E LightSelectionHoverBackground
FFFFFFFF LightSelectionHoverPrimaryText
FFFFFFFF LightSelectionHoverSecondaryText
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FFF73100 LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
FF9B0000 SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FF9B0000 SaturatedBackground
FFFF3CFF SaturatedBackgroundDisabled
FFBD6262 SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FFFF3F0F SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FFF73100 SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FFA85E5E SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FF770000 SaturatedFolderBackground
FFFFBEAE SaturatedHighlight
FFC40B0B SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FFE1C1C1 SaturatedHoverSecondaryText
FFFFFF00 SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
99FFFFFF SaturatedSearchHighlight
99FFFFFF SaturatedSearchSecondaryText
FFCA9D9D SaturatedSecondaryText
66FFFFFF SaturatedSecondaryTextDisabledTransparent
B2FFFFFF SaturatedSecondaryTextTransparent
FFF73100 SaturatedSelectionBackground
FFF1552E SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FFF9C2B5 SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FFF73100 SaturatedSettingsCharmLinkHover
FFC40B0B SaturatedSuggestionTilesBackground
FF9B0000 SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
FF000000 SaturatedWebWizardIndex
FF9B0000 StartAllAppsDivider
FF770000 StartAPVBackground
FFFF9B9B StartAPVHeaderText
FF57FFFF StartAPVNewAppText
FF9B0000 StartAPVSemanticZoomTileBackground
FF860000 StartBackground
FFFF1EEE StartBackgroundDisabled
FFF73100 StartCmdBarBackground
FFF1552E StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FFF73100 StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FFF73100 StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FFA85E5E StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FFD5B0B0 StartCommandRowHover
FFFFFFFF StartCommandRowPressed
FFC28F8F StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FFFFFFFF StartDarkTileInstallProgressFill
66FFFFFF StartDarkTileInstallProgressTrack
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
CCFFFFFF StartDesktopBackgroundTattooAllAppsDivider
FF9B9B9B StartDesktopBackgroundTattooSecondaryText
FF575757 StartDesktopBackgroundTattooStartPromptBackgroundHover
FF474747 StartDesktopBackgroundTattooStartPromptBackgroundRest
FF000000 StartDesktopBackgroundTattooTileDim
FF555555 StartDesktopBackgroundTattooViewSwitchButtonHover
FF3A3A3A StartDesktopBackgroundTattooViewSwitchButtonRest
FF9B0000 StartDesktopTilesBackground
FFFF9F9F StartDesktopTilesText
FFA85E5E StartDisabledText
FFFFFFFF StartFocusRect
FF770000 StartFolderBackground
FFDCCBCB StartGroupNameHeader
FFFFBEAE StartHighlight
FFAF0A0A StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FFDDC1C1 StartHoverSecondaryText
FFFFFF00 StartInlineErrorText
FF000000 StartLightTileInstallProgressFill
33000000 StartLightTileInstallProgressTrack
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FFC28F8F StartSecondaryText
FFF73100 StartSelectionBackground
FFF1552E StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FFF9C2B5 StartSelectionSecondaryText
FFF1552E StartSystemTilesBackground
FFA85E5E StartThumbnailPlaceholder
+994
View File
@@ -0,0 +1,994 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FFFFDE93 ControlDarkLinkHover
FFFFD168 ControlDarkLinkPressed
FFFFF1D2 ControlDarkLinkRest
FFFFD168 ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FFF4D064 ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FFEAAF00 ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
2BFFFFFF ControlDarkRichEditStartPromptBackgroundHover
1CFFFFFF ControlDarkRichEditStartPromptBackgroundRest
55000000 ControlDarkRichEditStartPromptButtonGlyphHover
7FFFFFFF ControlDarkRichEditStartPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FFD29400 ControlDarkRoundButtonFillLayerDisabled
FFF0A800 ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FFD29400 ControlDarkRoundButtonFillLayerRest
FFB39E71 ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FFBD8500 ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FFB39E71 ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FFEAAF00 ControlDarkSelectHighlightSelected
FFF1BD21 ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FFEAAF00 ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FFD29400 ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FFF1BD21 ControlDarkSliderTrackFillHover
FFF4D064 ControlDarkSliderTrackFillPressed
FFEAAF00 ControlDarkSliderTrackFillRest
FFB39E71 ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FFB39E71 ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FFFFB506 ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FFA88B48 ControlDarkToggleTrackBackgroundDisabled
FFF2B017 ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FFF0A800 ControlDarkToggleTrackBorderDisabled
FFFFB506 ControlDarkToggleTrackBorderEnabled
FFA88B48 ControlDarkToggleTrackFillDisabled
FFEAAF00 ControlDarkToggleTrackFillEnabled
FFF1BD21 ControlDarkToggleTrackFillHover
FFF4D064 ControlDarkToggleTrackFillPressed
FFEAAF00 ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FFF1BD21 ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FFEAAF00 ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FFF1BD21 ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FFEAAF00 ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FFF1BD21 ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FFEAAF00 ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FFFFCE3C ControlLightLinkHover
FFFFDD75 ControlLightLinkPressed
FFFFC004 ControlLightLinkRest
FFFFDD75 ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FFEAAF00 ControlLightProgressForeground
FF929292 ControlLightRadioButtonLabelDisabled
FF212121 ControlLightRadioButtonLabelRest
FFE6E6E6 ControlLightRadioButtonSelectedBackgroundDisabled
FF212121 ControlLightRadioButtonSelectedBackgroundDown
FFFFFFFF ControlLightRadioButtonSelectedBackgroundHover
FFFFFFFF ControlLightRadioButtonSelectedBackgroundRest
FFFFFFFF ControlLightRadioButtonSelectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonSelectedBorderDisabled
FF212121 ControlLightRadioButtonSelectedBorderDown
FF919191 ControlLightRadioButtonSelectedBorderHover
FFBABABA ControlLightRadioButtonSelectedBorderRest
FFBABABA ControlLightRadioButtonSelectedBorderUp
FF8A8A8A ControlLightRadioButtonSelectedGlyphDisabled
FFFFFFFF ControlLightRadioButtonSelectedGlyphDown
FF212121 ControlLightRadioButtonSelectedGlyphHover
FF212121 ControlLightRadioButtonSelectedGlyphRest
FF212121 ControlLightRadioButtonSelectedGlyphUp
FFE6E6E6 ControlLightRadioButtonUnselectedBackgroundDisabled
FF212121 ControlLightRadioButtonUnselectedBackgroundDown
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundHover
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundRest
FFFFFFFF ControlLightRadioButtonUnselectedBackgroundUp
FFD9D9D9 ControlLightRadioButtonUnselectedBorderDisabled
FF212121 ControlLightRadioButtonUnselectedBorderDown
FF919191 ControlLightRadioButtonUnselectedBorderHover
FFBABABA ControlLightRadioButtonUnselectedBorderRest
FFBABABA ControlLightRadioButtonUnselectedBorderUp
FFE6E6E6 ControlLightRadioButtonUnselectedGlyphDisabled
FF212121 ControlLightRadioButtonUnselectedGlyphDown
FFFFFFFF ControlLightRadioButtonUnselectedGlyphHover
FFFFFFFF ControlLightRadioButtonUnselectedGlyphRest
FF212121 ControlLightRadioButtonUnselectedGlyphUp
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FFEAAF00 ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FFEAAF00 ControlLightSelectHighlightSelected
FFF1BD21 ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FFEAAF00 ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FFF1BD21 ControlLightSliderTrackFillHover
FFF4D064 ControlLightSliderTrackFillPressed
FFEAAF00 ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FFEAAF00 ControlLightToggleTrackFillEnabled
FFF1BD21 ControlLightToggleTrackFillHover
FFF4D064 ControlLightToggleTrackFillPressed
FFEAAF00 ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FFEAAF00 ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FFDADADA ControlScrollbarButtonBorderHover
99000000 ControlScrollbarButtonBorderPressed
00000000 ControlScrollbarButtonBorderRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
59D5D5D5 ControlScrollbarTrackBorder
FF001E4E ControlSkydriveCommerceBackground
FF0069C6 ControlSkydriveCommerceDefaultButtonBackground
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
FF6A6D75 FilesAppAppBarBackground
FFFFFFFF FilesAppAppBarForeground
00000000 FilesAppAppBarHighContrastBorder
FFEDEDED FilesAppBackground
FF777777 FilesAppCommandRowDisabled
FFFFFFFF FilesAppCommandRowHighlight
FFD2D2D2 FilesAppCommandRowHover
FF777777 FilesAppCommandRowPressed
FFA5A5A5 FilesAppCommandRowRest
FFB2FFFC FilesAppDarkLinkText
FF777777 FilesAppDarkLinkTextDisabled
FFA4E2E1 FilesAppDarkLinkTextHover
FF95C5C6 FilesAppDarkLinkTextPressed
FF3F3F3F FilesAppDefaultButtonBackgroundHover
FFFFFFFF FilesAppDefaultButtonBackgroundPressed
FF1D1D1D FilesAppDefaultButtonBackgroundRest
FF000000 FilesAppDefaultButtonBorderHover
FFFFFFFF FilesAppDefaultButtonBorderPressed
FF000000 FilesAppDefaultButtonBorderRest
FF000000 FilesAppDefaultButtonTextHover
FF000000 FilesAppDefaultButtonTextPressed
FF000000 FilesAppDefaultButtonTextRest
00000000 FilesAppFolderHighContrastBorder
FFFFFFFF FilesAppFolderHoverPrimaryText
FFFFFFFF FilesAppFolderPrimaryText
FFFFFFFF FilesAppFolderSelectionHoverPrimaryText
FFFFFFFF FilesAppFolderSelectionPrimaryText
FFB9BABD FilesAppHoverBackground
FFFFFFFF FilesAppItemBackground
FF000000 FilesAppItemPrimaryText
FF696969 FilesAppItemSecondaryText
FFE13000 FilesAppLightErrorText
FF00709F FilesAppLightLinkText
FF8E8E8E FilesAppLightLinkTextDisabled
FF2F89AF FilesAppLightLinkTextHover
FF5FA2BE FilesAppLightLinkTextPressed
FF047398 FilesAppLocalFolderBackground
FFFF8C8C FilesAppLocalFolderErrorText
FFDEECF1 FilesAppLocalFolderHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSecondaryText
FFFFFFFF FilesAppLocalFolderSelectionHoverSecondaryText
FFDEECF1 FilesAppLocalFolderSelectionSecondaryText
FF008299 FilesAppPhotosAppSelectionBackground
FF1D1D1D FilesAppPickerBackground
00000000 FilesAppPickerButtonBackgroundDisabled
FF777777 FilesAppPickerButtonBorderDisabled
FF777777 FilesAppPickerButtonTextDisabled
FF7D8087 FilesAppPickerDefaultButtonBackgroundHover
FFFFFFFF FilesAppPickerDefaultButtonBackgroundPressed
FF6A6D75 FilesAppPickerDefaultButtonBackgroundRest
FFFFFFFF FilesAppPickerDefaultButtonBorderHover
FFFFFFFF FilesAppPickerDefaultButtonBorderPressed
FFFFFFFF FilesAppPickerDefaultButtonBorderRest
FFFFFFFF FilesAppPickerDefaultButtonTextHover
FF000000 FilesAppPickerDefaultButtonTextPressed
FFFFFFFF FilesAppPickerDefaultButtonTextRest
FF2B2B2B FilesAppPickerDocumentThumbnailBackground
FFFFBA73 FilesAppPickerErrorText
FF616161 FilesAppPickerHoverBackground
FFFFFFFF FilesAppPickerHoverPrimaryText
FFB3B3B3 FilesAppPickerHoverSecondaryText
FF2485A5 FilesAppPickerLocalFolderHoverBackground
FF2B2B2B FilesAppPickerPaneBackground
FF059ACB FilesAppPickerPaneHighlight
FF414141 FilesAppPickerPaneHoverBackground
FFFFFFFF FilesAppPickerPaneHoverText
FFFFFFFF FilesAppPickerPanePrimaryText
FFB3B3B3 FilesAppPickerPaneSecondaryText
FFFFFFFF FilesAppPickerPrimaryText
FFB3B3B3 FilesAppPickerSecondaryText
FF97999F FilesAppPickerSelectionHoverBackground
FFFFFFFF FilesAppPickerSelectionHoverPrimaryText
FFFFFFFF FilesAppPickerSelectionHoverSecondaryText
FFFFFFFF FilesAppPickerSelectionPrimaryText
FFFFFFFF FilesAppPickerSelectionSecondaryText
FF2961BC FilesAppPickerSkyDriveFolderHoverBackground
FF2B2B2B FilesAppPickerThumbnailPlaceholder
FFA5A5A5 FilesAppPickerUnavailableText
FFEDEDED FilesAppProgressTrackBackground
FF4DA60C FilesAppProgressTrackFill
FF777777 FilesAppSearchBorder
FF6A6D75 FilesAppSearchButtonBackground
FFFFFFFF FilesAppSearchButtonForeground
FF000000 FilesAppSearchPrimaryText
FF666666 FilesAppSearchSecondaryText
FF6A6D75 FilesAppSelectionBackground
FFFFFFFF FilesAppSelectionForeground
FF094AB2 FilesAppSkyDriveEmphasisText
FF094AB2 FilesAppSkyDriveFolderBackground
FFFFBA73 FilesAppSkyDriveFolderErrorText
FFB6C9E8 FilesAppSkyDriveFolderHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSecondaryText
FFFFFFFF FilesAppSkyDriveFolderSelectionHoverSecondaryText
FFB6C9E8 FilesAppSkyDriveFolderSelectionSecondaryText
FF6E6E6E FilesAppSkyDriveUnavailableText
FF8E8E8E FilesAppTabTextDisabled
FF094AB2 FilesAppTabTextHighlight
FF2F2F2F FilesAppTabTextHover
FF8E8E8E FilesAppTabTextPressed
FF5F5F5F FilesAppTabTextRest
00000000 FilesAppThumbnailHighContrastBorder
FF777777 FilesAppTouchSelectHighlightSelected
FF8C8C8C FilesAppTouchSelectHighlightSelectedHover
FFFFFFFF FilesAppTouchSelectHighlightSelectedHoverText
FFFFFFFF FilesAppTouchSelectHighlightSelectedText
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FFEAAF00 HardwareCharmsBarFlag
FFFFDC71 HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FFEAAF00 HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
FF111111 HardwareGutterBackground
FFEEA702 HardwareGutterDown
FFD8D8D8 HardwareGutterIndicator
FFEAAF00 HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FFD9552D HardwareHelpStickerAccent
FF111111 HardwareHelpStickerBackground
FFFFFFFF HardwareHelpStickerBorder
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FFEAD082 HardwareKeyboardEmojiCategoryTextSelected
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
F0D7D7D7 HardwarePinFlyoutFlipViewFillHover
BD292929 HardwarePinFlyoutFlipViewFillPressed
59D5D5D5 HardwarePinFlyoutFlipViewFillRest
FF000000 HardwarePinFlyoutFlipViewGlyphHover
FFFFFFFF HardwarePinFlyoutFlipViewGlyphPressed
FF000000 HardwarePinFlyoutFlipViewGlyphRest
F0D7D7D7 HardwarePinFlyoutFlipViewOutlineHover
BD292929 HardwarePinFlyoutFlipViewOutlinePressed
59D5D5D5 HardwarePinFlyoutFlipViewOutlineRest
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF111111 HardwareTitleBarBackground
FFE04343 HardwareTitleBarCloseButtonHover
FFC75050 HardwareTitleBarCloseButtonPressed
FF3665B3 HardwareTitleBarMinimizeButtonHover
FF3D6099 HardwareTitleBarMinimizeButtonPressed
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FF222222 HardwareWin8Pillarbox
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FFF2F2F2 LightEntityItemBackgroundHover
FFE8E8E8 LightEntityItemBackgroundSelected
FFF2F2F2 LightEntityItemBorderHover
FFE8E8E8 LightEntityItemBorderSelected
FF777777 LightFocusRect
FFEAAF00 LightHighlight
FFDEDEDE LightHoverBackground
21000000 LightHoverBackgroundTransparent
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
1A000000 LightIconBorder
FFE13300 LightInlineErrorText
FFF4F4F4 LightNavBackground
21FFFFFF LightPCSettingsNavBarItemBackgroundHover
21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed
19000000 LightPCSettingsSearchButtonBackgroundHover
33000000 LightPCSettingsSearchButtonBackgroundPressed
00000000 LightPCSettingsSearchButtonBackgroundRest
3B9B9B9B LightPlaceholderBackground
FFEAAF00 LightPrimaryChartFill
FF000000 LightPrimaryText
FFF9FCF7 LightSearchAdBackground
FF892D16 LightSearchContactHeroAccentDark
FF0C6B1F LightSearchContactHeroAccentHitHighlight
FFD24726 LightSearchContactHeroAccentLight
FF892D16 LightSearchContactHeroAccentLink
FFAB7104 LightSearchFinanceGreen
FFCC1122 LightSearchFinanceRed
FF1D1D1D LightSearchHeroBackground
FF494949 LightSearchHeroCollageAccentDark
FF696969 LightSearchHeroCollageAccentLight
FF4A4A8A LightSearchHeroMapAccentDark
FF6767B8 LightSearchHeroMapAccentLight
FF00B386 LightSearchHitHighlight
FF777777 LightSearchNewsBackground
FFDDDDDD LightSearchNewsBackgroundBorder
FFD29400 LightSearchSettingTilesBackground
FF999999 LightSearchStoreRatingEmpty
FF333333 LightSearchStoreRatingFull
FFFFFFFF LightSearchVideoTextWhite
FF7C29ED LightSearchWeatherBlue
FFFFD555 LightSecondaryChartFill
FF666666 LightSecondaryText
B2000000 LightSecondaryTextTransparent
FFEAAF00 LightSelectedTabText
FFEAAF00 LightSelectionBackground
FFF1BD21 LightSelectionHoverBackground
FFFFFFFF LightSelectionHoverPrimaryText
FFFFFFFF LightSelectionHoverSecondaryText
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FFEAAF00 LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
FFD29400 SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FFD29400 SaturatedBackground
FFFF3CFF SaturatedBackgroundDisabled
FFBDA262 SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FFFFC002 SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FFEAAF00 SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FFBBAA82 SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FFAE7A00 SaturatedFolderBackground
FFFFE8A2 SaturatedHighlight
FFF2AF13 SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FFF3EFE7 SaturatedHoverSecondaryText
FFFFFF00 SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
99FFFFFF SaturatedSearchHighlight
99FFFFFF SaturatedSearchSecondaryText
FFDDD5C1 SaturatedSecondaryText
66FFFFFF SaturatedSecondaryTextDisabledTransparent
B2FFFFFF SaturatedSecondaryTextTransparent
FFEAAF00 SaturatedSelectionBackground
FFF1BD21 SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FFF8E4A9 SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FFEAAF00 SaturatedSettingsCharmLinkHover
FFF2AF13 SaturatedSuggestionTilesBackground
FFD29400 SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
FF000000 SaturatedWebWizardIndex
FFD29400 StartAllAppsDivider
FFAE7A00 StartAPVBackground
FFFFF1D2 StartAPVHeaderText
FF57FFFF StartAPVNewAppText
FFD29400 StartAPVSemanticZoomTileBackground
FFBD8500 StartBackground
FFFF1EEE StartBackgroundDisabled
FFEAAF00 StartCmdBarBackground
FFF1BD21 StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FFEAAF00 StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FFEAAF00 StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FFBBAA82 StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FFE8E2D5 StartCommandRowHover
FFFFFFFF StartCommandRowPressed
FFD6CBB4 StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FFFFFFFF StartDarkTileInstallProgressFill
66FFFFFF StartDarkTileInstallProgressTrack
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
CCFFFFFF StartDesktopBackgroundTattooAllAppsDivider
FF9B9B9B StartDesktopBackgroundTattooSecondaryText
FF575757 StartDesktopBackgroundTattooStartPromptBackgroundHover
FF474747 StartDesktopBackgroundTattooStartPromptBackgroundRest
FF000000 StartDesktopBackgroundTattooTileDim
FF555555 StartDesktopBackgroundTattooViewSwitchButtonHover
FF3A3A3A StartDesktopBackgroundTattooViewSwitchButtonRest
FFD29400 StartDesktopTilesBackground
FFFFF3D7 StartDesktopTilesText
FFBBAA82 StartDisabledText
FFFFFFFF StartFocusRect
FFAE7A00 StartFolderBackground
FFDCD7CB StartGroupNameHeader
FFFFE8A2 StartHighlight
FFE4A40C StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FFF1EDE4 StartHoverSecondaryText
FFFFFF00 StartInlineErrorText
FF000000 StartLightTileInstallProgressFill
33000000 StartLightTileInstallProgressTrack
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FFD6CBB4 StartSecondaryText
FFEAAF00 StartSelectionBackground
FFF1BD21 StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FFF8E4A9 StartSelectionSecondaryText
FFF1BD21 StartSystemTilesBackground
FFBBAA82 StartThumbnailPlaceholder
+767
View File
@@ -0,0 +1,767 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FF3184D2 ControlDarkLinkHover
FF2C6AA5 ControlDarkLinkPressed
FF369EFF ControlDarkLinkRest
FF2C6AA5 ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FF5A9AFF ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FF2673EC ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FF232323 ControlDarkRoundButtonFillLayerDisabled
FF3F3F3F ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FF232323 ControlDarkRoundButtonFillLayerRest
FF777777 ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FF1D1D1D ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FF777777 ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FF2673EC ControlDarkSelectHighlightSelected
FF4485EF ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FF2673EC ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FF232323 ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FF4485EF ControlDarkSliderTrackFillHover
FF5A9AFF ControlDarkSliderTrackFillPressed
FF2673EC ControlDarkSliderTrackFillRest
FF777777 ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FF777777 ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FF6C6C6C ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FF383838 ControlDarkToggleTrackBackgroundDisabled
FF575757 ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FF4A4A4A ControlDarkToggleTrackBorderDisabled
FF6C6C6C ControlDarkToggleTrackBorderEnabled
FF383838 ControlDarkToggleTrackFillDisabled
FF2673EC ControlDarkToggleTrackFillEnabled
FF4485EF ControlDarkToggleTrackFillHover
FF5A9AFF ControlDarkToggleTrackFillPressed
FF2673EC ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FF4485EF ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FF2673EC ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FF4485EF ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FF2673EC ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FF4485EF ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FF2673EC ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FF518FF0 ControlLightLinkHover
FF7DABF4 ControlLightLinkPressed
FF2673EC ControlLightLinkRest
FF7DABF4 ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FF2673EC ControlLightProgressForeground
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FF2673EC ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FF2673EC ControlLightSelectHighlightSelected
FF4485EF ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FF2673EC ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FF4485EF ControlLightSliderTrackFillHover
FF5A9AFF ControlLightSliderTrackFillPressed
FF2673EC ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FF2673EC ControlLightToggleTrackFillEnabled
FF4485EF ControlLightToggleTrackFillHover
FF5A9AFF ControlLightToggleTrackFillPressed
FF2673EC ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FF2673EC ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FF297CFF HardwareCharmsBarFlag
FF00AFDB HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FF2673EC HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
BF2D2D2D HardwareGutterDown
FF000000 HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FF777777 LightFocusRect
FF2673EC LightHighlight
FFDEDEDE LightHoverBackground
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
FFE13000 LightInlineErrorText
FFF4F4F4 LightNavBackground
FF000000 LightPrimaryText
FF666666 LightSecondaryText
FF2673EC LightSelectedTabText
FF2673EC LightSelectionBackground
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FF2673EC LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
F3232323 SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FF232323 SaturatedBackground
FFFF00FF SaturatedBackgroundDisabled
FF777777 SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FF3184D2 SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FF369EFF SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FF777777 SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FF171717 SaturatedFolderBackground
FF369EFF SaturatedHighlight
FF3F3F3F SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FFB2B2B2 SaturatedHoverSecondaryText
FFFF8B6C SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
FFA7A7A7 SaturatedSecondaryText
FF2673EC SaturatedSelectionBackground
FF4485EF SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FFA8C7F7 SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FF3184D2 SaturatedSettingsCharmLinkHover
FF232323 SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
000E0000 SaturatedWebWizardIndex
FF262626 StartAllAppsDivider
FF1D1D1D StartBackground
FFFF00FF StartBackgroundDisabled
FF2673EC StartCmdBarBackground
FF4485EF StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FF2673EC StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FF2673EC StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FF777777 StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FFD2D2D2 StartCommandRowHover
FF777777 StartCommandRowPressed
FFA5A5A5 StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
FF454545 StartDesktopTilesBackground
FFFFFFFF StartDesktopTilesText
FF777777 StartDisabledText
FFFFFFFF StartFocusRect
FF141414 StartFolderBackground
FF369EFF StartHighlight
FF3A3A3A StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FFB0B0B0 StartHoverSecondaryText
FFFF8B6C StartInlineErrorText
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FFA5A5A5 StartSecondaryText
FF2673EC StartSelectionBackground
FF4485EF StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FFA8C7F7 StartSelectionSecondaryText
FF4485EF StartSystemTilesBackground
FF141414 StartThumbnailPlaceholder
+767
View File
@@ -0,0 +1,767 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FF2887D9 ControlDarkLinkHover
FF1E6CB3 ControlDarkLinkPressed
FF32A3FF ControlDarkLinkRest
FF1E6CB3 ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FF2B98F3 ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FF006AC1 ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FF001E4E ControlDarkRoundButtonFillLayerDisabled
FF213B65 ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FF001E4E ControlDarkRoundButtonFillLayerRest
FF66758C ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FF001940 ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FF66758C ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FF006AC1 ControlDarkSelectHighlightSelected
FF237ECA ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FF006AC1 ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FF001E4E ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FF237ECA ControlDarkSliderTrackFillHover
FF2B98F3 ControlDarkSliderTrackFillPressed
FF006AC1 ControlDarkSliderTrackFillRest
FF66758C ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FF66758C ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FF596983 ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FF1F3557 ControlDarkToggleTrackBackgroundDisabled
FF425571 ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FF334766 ControlDarkToggleTrackBorderDisabled
FF596983 ControlDarkToggleTrackBorderEnabled
FF1F3557 ControlDarkToggleTrackFillDisabled
FF006AC1 ControlDarkToggleTrackFillEnabled
FF237ECA ControlDarkToggleTrackFillHover
FF2B98F3 ControlDarkToggleTrackFillPressed
FF006AC1 ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FF237ECA ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FF006AC1 ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FF237ECA ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FF006AC1 ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FF237ECA ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FF006AC1 ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FF3388CD ControlLightLinkHover
FF66A6DA ControlLightLinkPressed
FF006AC1 ControlLightLinkRest
FF66A6DA ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FF006AC1 ControlLightProgressForeground
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FF006AC1 ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FF006AC1 ControlLightSelectHighlightSelected
FF237ECA ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FF006AC1 ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FF237ECA ControlLightSliderTrackFillHover
FF2B98F3 ControlLightSliderTrackFillPressed
FF006AC1 ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FF006AC1 ControlLightToggleTrackFillEnabled
FF237ECA ControlLightToggleTrackFillHover
FF2B98F3 ControlLightToggleTrackFillPressed
FF006AC1 ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FF006AC1 ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FF008CFF HardwareCharmsBarFlag
FF00DDFF HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FF006AC1 HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
BF002764 HardwareGutterDown
FF000A1A HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FF777777 LightFocusRect
FF006AC1 LightHighlight
FFDEDEDE LightHoverBackground
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
FFE13000 LightInlineErrorText
FFF4F4F4 LightNavBackground
FF000000 LightPrimaryText
FF666666 LightSecondaryText
FF006AC1 LightSelectedTabText
FF006AC1 LightSelectionBackground
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FF006AC1 LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
F3001E4E SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FF001E4E SaturatedBackground
FFFF00FF SaturatedBackgroundDisabled
FF66758C SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FF2887D9 SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FF32A3FF SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FF66758C SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FF001433 SaturatedFolderBackground
FF32A3FF SaturatedHighlight
FF213B65 SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FFA6B1C1 SaturatedHoverSecondaryText
FFFF8B6C SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
FF99A5B8 SaturatedSecondaryText
FF006AC1 SaturatedSelectionBackground
FF237ECA SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FF99C3E6 SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FF2887D9 SaturatedSettingsCharmLinkHover
FF001E4E SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
00120000 SaturatedWebWizardIndex
FF001F52 StartAllAppsDivider
FF001940 StartBackground
FFFF00FF StartBackgroundDisabled
FF006AC1 StartCmdBarBackground
FF237ECA StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FF006AC1 StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FF006AC1 StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FF66758C StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FFCCD1D9 StartCommandRowHover
FF66758C StartCommandRowPressed
FF99A3B3 StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
FF00327F StartDesktopTilesBackground
FFFFFFFF StartDesktopTilesText
FF66758C StartDisabledText
FFFFFFFF StartFocusRect
FF001330 StartFolderBackground
FF32A3FF StartHighlight
FF213759 StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FFA6AFBD StartHoverSecondaryText
FFFF8B6C StartInlineErrorText
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FF99A3B3 StartSecondaryText
FF006AC1 StartSelectionBackground
FF237ECA StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FF99C3E6 StartSelectionSecondaryText
FF237ECA StartSystemTilesBackground
FF001330 StartThumbnailPlaceholder
+767
View File
@@ -0,0 +1,767 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FF1EC900 ControlDarkLinkHover
FF17A600 ControlDarkLinkPressed
FF26EC00 ControlDarkLinkRest
FF17A600 ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FF68E450 ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FF199900 ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FF004A00 ControlDarkRoundButtonFillLayerDisabled
FF216121 ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FF004A00 ControlDarkRoundButtonFillLayerRest
FF668B66 ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FF003E00 ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FF668B66 ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FF199900 ControlDarkSelectHighlightSelected
FF39A723 ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FF199900 ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FF004A00 ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FF59C146 ControlDarkSliderTrackFillHover
FF68E450 ControlDarkSliderTrackFillPressed
FF3FB728 ControlDarkSliderTrackFillRest
FF668B66 ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FF668B66 ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FF598159 ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FF1F551F ControlDarkToggleTrackBackgroundDisabled
FF427042 ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FF336533 ControlDarkToggleTrackBorderDisabled
FF598159 ControlDarkToggleTrackBorderEnabled
FF1F551F ControlDarkToggleTrackFillDisabled
FF3FB728 ControlDarkToggleTrackFillEnabled
FF59C146 ControlDarkToggleTrackFillHover
FF68E450 ControlDarkToggleTrackFillPressed
FF3FB728 ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FF39A723 ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FF199900 ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FF39A723 ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FF199900 ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FF39A723 ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FF199900 ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FF45A533 ControlLightLinkHover
FF74BB66 ControlLightLinkPressed
FF178E00 ControlLightLinkRest
FF74BB66 ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FF199900 ControlLightProgressForeground
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FF199900 ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FF199900 ControlLightSelectHighlightSelected
FF39A723 ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FF199900 ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FF39A723 ControlLightSliderTrackFillHover
FF4DD032 ControlLightSliderTrackFillPressed
FF199900 ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FF199900 ControlLightToggleTrackFillEnabled
FF39A723 ControlLightToggleTrackFillHover
FF4DD032 ControlLightToggleTrackFillPressed
FF199900 ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FF199900 ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FF20C300 HardwareCharmsBarFlag
FF77DB04 HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FF199900 HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
BF006000 HardwareGutterDown
FF002E00 HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FF777777 LightFocusRect
FF178E00 LightHighlight
FFDEDEDE LightHoverBackground
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
FFE13000 LightInlineErrorText
FFF4F4F4 LightNavBackground
FF000000 LightPrimaryText
FF666666 LightSecondaryText
FF199900 LightSelectedTabText
FF199900 LightSelectionBackground
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FF199900 LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
F3004A00 SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FF004A00 SaturatedBackground
FFFF00FF SaturatedBackgroundDisabled
FF668B66 SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FF1EC900 SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FF26EC00 SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FF668B66 SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FF003200 SaturatedFolderBackground
FF26EC00 SaturatedHighlight
FF216121 SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FFA6C0A6 SaturatedHoverSecondaryText
FFFF8B6C SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
FF99B799 SaturatedSecondaryText
FF199900 SaturatedSelectionBackground
FF39A723 SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FFA3D699 SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FF1EC900 SaturatedSettingsCharmLinkHover
FF004A00 SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
00090000 SaturatedWebWizardIndex
FF004700 StartAllAppsDivider
FF003E00 StartBackground
FFFF00FF StartBackgroundDisabled
FF199900 StartCmdBarBackground
FF39A723 StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FF199900 StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FF199900 StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FF668B66 StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FFCCD8CC StartCommandRowHover
FF668B66 StartCommandRowPressed
FF99B299 StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
FF006A00 StartDesktopTilesBackground
FFFFFFFF StartDesktopTilesText
FF668B66 StartDisabledText
FFFFFFFF StartFocusRect
FF003200 StartFolderBackground
FF26EC00 StartHighlight
FF215721 StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FFA6BCA6 StartHoverSecondaryText
FFFF8B6C StartInlineErrorText
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FF99B299 StartSecondaryText
FF199900 StartSelectionBackground
FF39A723 StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FFA3D699 StartSelectionSecondaryText
FF39A723 StartSystemTilesBackground
FF003200 StartThumbnailPlaceholder
+767
View File
@@ -0,0 +1,767 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FFEB643A ControlDarkLinkHover
FFD75131 ControlDarkLinkPressed
FFFF7843 ControlDarkLinkRest
FFD75131 ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FFFF6C59 ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FFFF2E12 ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FFB81B1B ControlDarkRoundButtonFillLayerDisabled
FFC13939 ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FFB81B1B ControlDarkRoundButtonFillLayerRest
FFC27373 ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FF9A1616 ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FFC27373 ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FFFF2E12 ControlDarkSelectHighlightSelected
FFFF4B33 ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FFFF2E12 ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FFB81B1B ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FFFF4B33 ControlDarkSliderTrackFillHover
FFFF6C59 ControlDarkSliderTrackFillPressed
FFFF2E12 ControlDarkSliderTrackFillRest
FFC27373 ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FFC27373 ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FFBD6767 ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FFA63232 ControlDarkToggleTrackBackgroundDisabled
FFB45252 ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FFAE4545 ControlDarkToggleTrackBorderDisabled
FFBD6767 ControlDarkToggleTrackBorderEnabled
FFA63232 ControlDarkToggleTrackFillDisabled
FFFF2E12 ControlDarkToggleTrackFillEnabled
FFFF4B33 ControlDarkToggleTrackFillHover
FFFF6C59 ControlDarkToggleTrackFillPressed
FFFF2E12 ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FFFF4B33 ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FFFF2E12 ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FFFF4B33 ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FFFF2E12 ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FFFF4B33 ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FFFF2E12 ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FFF14933 ControlLightLinkHover
FFF47766 ControlLightLinkPressed
FFED1C00 ControlLightLinkRest
FFF47766 ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FFFF2E12 ControlLightProgressForeground
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FFFF2E12 ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FFFF2E12 ControlLightSelectHighlightSelected
FFFF4B33 ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FFFF2E12 ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FFFF4B33 ControlLightSliderTrackFillHover
FFFF6C59 ControlLightSliderTrackFillPressed
FFFF2E12 ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FFFF2E12 ControlLightToggleTrackFillEnabled
FFFF4B33 ControlLightToggleTrackFillHover
FFFF6C59 ControlLightToggleTrackFillPressed
FFFF2E12 ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FFFF2E12 ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FFFF1E00 HardwareCharmsBarFlag
FFFF7300 HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FFFF2E12 HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
BFE23131 HardwareGutterDown
FF731010 HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FF777777 LightFocusRect
FFED1C00 LightHighlight
FFDEDEDE LightHoverBackground
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
FF00A693 LightInlineErrorText
FFF4F4F4 LightNavBackground
FF000000 LightPrimaryText
FF666666 LightSecondaryText
FFFF2E12 LightSelectedTabText
FFFF2E12 LightSelectionBackground
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FFFF2E12 LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
F3B81B1B SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FFB81B1B SaturatedBackground
FFFF00FF SaturatedBackgroundDisabled
FFC27373 SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FFEB643A SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FFFF7843 SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FFC27373 SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FF7B1212 SaturatedFolderBackground
FFFF7843 SaturatedHighlight
FFC13939 SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FFE6B0B0 SaturatedHoverSecondaryText
FF75FFF0 SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
FFE3A4A4 SaturatedSecondaryText
FFFF2E12 SaturatedSelectionBackground
FFFF4B33 SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FFFFABA0 SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FFEB643A SaturatedSettingsCharmLinkHover
FFB81B1B SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
00000000 SaturatedWebWizardIndex
FFAB1A1A StartAllAppsDivider
FF9A1616 StartBackground
FFFF00FF StartBackgroundDisabled
FFFF2E12 StartCmdBarBackground
FFFF4B33 StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FFFF2E12 StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FFFF2E12 StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FFC27373 StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FFEBD0D0 StartCommandRowHover
FFC27373 StartCommandRowPressed
FFD7A2A2 StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
FFD92929 StartDesktopTilesBackground
FFFFFFFF StartDesktopTilesText
FFC27373 StartDisabledText
FFFFFFFF StartFocusRect
FF7B1212 StartFolderBackground
FFFF7843 StartHighlight
FFA73434 StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FFDCAEAE StartHoverSecondaryText
FF75FFF0 StartInlineErrorText
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FFD7A2A2 StartSecondaryText
FFFF2E12 StartSelectionBackground
FFFF4B33 StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FFFFABA0 StartSelectionSecondaryText
FFFF4B33 StartSystemTilesBackground
FF7B1212 StartThumbnailPlaceholder
+767
View File
@@ -0,0 +1,767 @@
FF2067B2 BootBackground
DE47B1D6 BootConfirmationButton
00000000 BootConfirmationButtonBackgroundDisabled
FF5494CF BootConfirmationButtonBackgroundHover
FFFFFFFF BootConfirmationButtonBackgroundPressed
FF2067B2 BootConfirmationButtonBackgroundRest
FFA6C2E0 BootConfirmationButtonBorderDisabled
FFFFFFFF BootConfirmationButtonBorderHover
FFFFFFFF BootConfirmationButtonBorderPressed
FFFFFFFF BootConfirmationButtonBorderRest
FFA6C2E0 BootConfirmationButtonTextDisabled
FFFFFFFF BootConfirmationButtonTextHover
FF2067B2 BootConfirmationButtonTextPressed
FFFFFFFF BootConfirmationButtonTextRest
00000000 BootDefaultConfirmationButtonBackgroundDisabled
FF90D1F3 BootDefaultConfirmationButtonBackgroundHover
FFFFFFFF BootDefaultConfirmationButtonBackgroundPressed
FF4DA7DD BootDefaultConfirmationButtonBackgroundRest
FFA6C2E0 BootDefaultConfirmationButtonBorderDisabled
FFFFFFFF BootDefaultConfirmationButtonBorderHover
FFFFFFFF BootDefaultConfirmationButtonBorderPressed
FFFFFFFF BootDefaultConfirmationButtonBorderRest
FFA6C2E0 BootDefaultConfirmationButtonTextDisabled
FFFFFFFF BootDefaultConfirmationButtonTextHover
FF2067B2 BootDefaultConfirmationButtonTextPressed
FFFFFFFF BootDefaultConfirmationButtonTextRest
FFD2E1F0 BootEditBackground
FFFFFFFF BootEditBackgroundActive
FF2067B2 BootEditBackgroundDisabled
FFE2EBF5 BootEditBackgroundHover
FFD2E1F0 BootEditBackgroundRest
FF79A4D1 BootEditBorderDisabled
FFFFFF00 BootErrorText
FFFFFFFF BootMenuButtonFocusRect
FF4DA7DD BootMenuButtonGlyphBackground
FF3D7BBC BootMenuButtonMouseHover
FFFFFFFF BootMenuButtonPressedHighlight
FF2067B2 BootMenuButtonPressedText
FFFFFFFF BootPrimaryText
FFFFFFFF BootProgressText
FFFFFFFF BootSecondaryText
FF4DA7DD BootTextLinkHover
FF64C8F2 BootTextLinkPressed
FFFFFFFF BootTextLinkRest
FFFFFFFF BootTitleText
FF5A94F1 ControlAppDefaultDarkButtonBackgroundHover
FF2672EC ControlAppDefaultDarkButtonBackgroundRest
FF5A94F1 ControlAppDefaultDarkButtonBorderHover
FF2672EC ControlAppDefaultDarkButtonBorderRest
FF26A0DA ControlAppLightToggleTrackFillEnabled
FF666666 ControlBlackButtonDisabled
FFDEDEDE ControlContextMenuBackgroundHover
FF000000 ControlContextMenuBackgroundPressed
FFFFFFFF ControlContextMenuBackgroundRest
FF7A7A7A ControlContextMenuSeparator
FF000000 ControlContextMenuTextHover
FFFFFFFF ControlContextMenuTextPressed
FF000000 ControlContextMenuTextRest
FFE5E5E5 ControlDarkAppButtonBackgroundDisabled
3DFFFFFF ControlDarkAppButtonBackgroundHover
FF000000 ControlDarkAppButtonBackgroundPressed
00000000 ControlDarkAppButtonBackgroundRest
FFE5E5E5 ControlDarkAppButtonBorderDisabled
3D000000 ControlDarkAppButtonBorderHover
FF000000 ControlDarkAppButtonBorderPressed
00000000 ControlDarkAppButtonBorderRest
FFAFAFAF ControlDarkAppButtonTextDisabled
FFFFFFFF ControlDarkAppButtonTextHover
FFFFFFFF ControlDarkAppButtonTextPressed
FFFFFFFF ControlDarkAppButtonTextRest
00000000 ControlDarkButtonBackgroundDisabled
21FFFFFF ControlDarkButtonBackgroundHover
FFFFFFFF ControlDarkButtonBackgroundPressed
00000000 ControlDarkButtonBackgroundRest
66FFFFFF ControlDarkButtonBorderDisabled
FFFFFFFF ControlDarkButtonBorderHover
FFFFFFFF ControlDarkButtonBorderPressed
FFFFFFFF ControlDarkButtonBorderRest
66FFFFFF ControlDarkButtonTextDisabled
FFFFFFFF ControlDarkButtonTextHover
FF000000 ControlDarkButtonTextPressed
FFFFFFFF ControlDarkButtonTextRest
66FFFFFF ControlDarkCheckboxBackgroundDisabled
DEFFFFFF ControlDarkCheckboxBackgroundHover
FFFFFFFF ControlDarkCheckboxBackgroundPressed
CCFFFFFF ControlDarkCheckboxBackgroundRest
66FFFFFF ControlDarkCheckboxBorderDisabled
DEFFFFFF ControlDarkCheckboxBorderHover
FFFFFFFF ControlDarkCheckboxBorderPressed
CCFFFFFF ControlDarkCheckboxBorderRest
66000000 ControlDarkCheckboxGlyphDisabled
FF000000 ControlDarkCheckboxGlyphHover
FF000000 ControlDarkCheckboxGlyphPressed
FF000000 ControlDarkCheckboxGlyphRest
66FFFFFF ControlDarkCheckboxLabelDisabled
FFFFFFFF ControlDarkCheckboxLabelHover
FFFFFFFF ControlDarkCheckboxLabelPressed
FFFFFFFF ControlDarkCheckboxLabelRest
FFFFFFFF ControlDarkFocusRect
66FFFFFF ControlDarkLinkDisabled
FFF3DF27 ControlDarkLinkHover
FFE7CB1F ControlDarkLinkPressed
FFFFF32F ControlDarkLinkRest
FFE7CB1F ControlDarkLinkVisited
BFEDEDED ControlDarkPanningIndicator
59FFFFFF ControlDarkProgressBackground
FFFFE05F ControlDarkProgressForeground
00FFFFFF ControlDarkRichEditBackgroundDisabled
FFFFFFFF ControlDarkRichEditBackgroundFocus
DEFFFFFF ControlDarkRichEditBackgroundHover
FFFFFFFF ControlDarkRichEditBackgroundPressed
CCFFFFFF ControlDarkRichEditBackgroundRest
66FFFFFF ControlDarkRichEditBorderDisabled
FFFFFFFF ControlDarkRichEditBorderFocus
DEFFFFFF ControlDarkRichEditBorderHover
FFFFFFFF ControlDarkRichEditBorderPressed
CCFFFFFF ControlDarkRichEditBorderRest
FFDEDEDE ControlDarkRichEditButtonBackgroundHover
FF000000 ControlDarkRichEditButtonBackgroundPressed
00FFFFFF ControlDarkRichEditButtonBackgroundRest
FF000000 ControlDarkRichEditButtonGlyphHover
FFFFFFFF ControlDarkRichEditButtonGlyphPressed
FF000000 ControlDarkRichEditButtonGlyphRest
FFE1B700 ControlDarkRichEditHighlight
38FFFFFF ControlDarkRichEditPromptTextDisabled
AB000000 ControlDarkRichEditPromptTextFocus
AB000000 ControlDarkRichEditPromptTextRest
66FFFFFF ControlDarkRichEditTextDisabled
FF000000 ControlDarkRichEditTextFocus
AB000000 ControlDarkRichEditTextHelper
FFFFFFFF ControlDarkRichEditTextHighlighted
FF000000 ControlDarkRichEditTextHover
FF000000 ControlDarkRichEditTextRest
FFD39D09 ControlDarkRoundButtonFillLayerDisabled
FFD9AA29 ControlDarkRoundButtonFillLayerHover
FFFFFFFF ControlDarkRoundButtonFillLayerPressed
FFD39D09 ControlDarkRoundButtonFillLayerRest
FFDABC6B ControlDarkRoundButtonGlyphDisabled
FFFFFFFF ControlDarkRoundButtonGlyphLayerHover
FFC29008 ControlDarkRoundButtonGlyphLayerPressed
FFFFFFFF ControlDarkRoundButtonGlyphLayerRest
FFDABC6B ControlDarkRoundButtonOutlineDisabled
FFFFFFFF ControlDarkRoundButtonOutlineLayerHover
FFFFFFFF ControlDarkRoundButtonOutlineLayerPressed
FFFFFFFF ControlDarkRoundButtonOutlineLayerRest
FFFFFFFF ControlDarkScrollbarButtonGlyphHover
FF212121 ControlDarkScrollbarButtonGlyphPressed
FFFFFFFF ControlDarkScrollbarButtonGlyphRest
99FFFFFF ControlDarkScrollbarButtonHover
FFFFFFFF ControlDarkScrollbarButtonPressed
5EA5A5A5 ControlDarkScrollbarButtonRest
B0FFFFFF ControlDarkScrollbarThumbHover
FFFFFFFF ControlDarkScrollbarThumbPressed
BFEDEDED ControlDarkScrollbarThumbRest
5EA5A5A5 ControlDarkScrollbarTrack
00000000 ControlDarkSelectBackgroundDisabled
DEFFFFFF ControlDarkSelectBackgroundHover
FFD3D3D3 ControlDarkSelectBackgroundPressed
CCFFFFFF ControlDarkSelectBackgroundRest
66FFFFFF ControlDarkSelectBorderDisabled
DEFFFFFF ControlDarkSelectBorderHover
FFFFFFFF ControlDarkSelectBorderPressed
CCFFFFFF ControlDarkSelectBorderRest
66FFFFFF ControlDarkSelectGlyphDisabled
FF000000 ControlDarkSelectGlyphRest
FF707070 ControlDarkSelectHighlightedSecondaryTextPressed
FFFFFFFF ControlDarkSelectHighlightedTextPressed
21000000 ControlDarkSelectHighlightHover
FF000000 ControlDarkSelectHighlightPressed
FFE1B700 ControlDarkSelectHighlightSelected
FFE5C123 ControlDarkSelectHighlightSelectedHover
FFFFFFFF ControlDarkSelectPopupBackgroundDisabled
21000000 ControlDarkSelectPopupBackgroundHover
FFD3D3D3 ControlDarkSelectPopupBackgroundPressed
FFFFFFFF ControlDarkSelectPopupBackgroundRest
FFE1B700 ControlDarkSelectPopupBackgroundSelected
FF000000 ControlDarkSelectPopupBorder
66000000 ControlDarkSelectPopupTextDisabled
FF000000 ControlDarkSelectPopupTextHover
FF000000 ControlDarkSelectPopupTextPressed
FF000000 ControlDarkSelectPopupTextRest
FFFFFFFF ControlDarkSelectPopupTextSelected
FFFFFFFF ControlDarkSelectSecondaryTextHighlighted
FF707070 ControlDarkSelectSecondaryTextHover
FF707070 ControlDarkSelectSecondaryTextPressed
66FFFFFF ControlDarkSelectTextDisabled
FFFFFFFF ControlDarkSelectTextHighlighted
FF000000 ControlDarkSelectTextHover
FF000000 ControlDarkSelectTextPressed
FF000000 ControlDarkSelectTextRest
FFD39D09 ControlDarkSliderBorder
FFFFFFFF ControlDarkSliderThumbBorder
FF6A6A6A ControlDarkSliderThumbBorderDisabled
FFFFFFFF ControlDarkSliderThumbBorderHover
FFFFFFFF ControlDarkSliderThumbBorderPressed
FFFFFFFF ControlDarkSliderThumbBorderRest
FF6A6A6A ControlDarkSliderThumbDisabled
FFFFFFFF ControlDarkSliderThumbHover
FFFFFFFF ControlDarkSliderThumbPressed
FFFFFFFF ControlDarkSliderThumbRest
FF000000 ControlDarkSliderTickMark
FF363636 ControlDarkSliderTrackBackgroundDisabled
FF717171 ControlDarkSliderTrackBackgroundHover
FF7D7D7D ControlDarkSliderTrackBackgroundPressed
FF6A6A6A ControlDarkSliderTrackBackgroundRest
FF434343 ControlDarkSliderTrackBufferingDisabled
FF21698B ControlDarkSliderTrackBufferingHover
FF22759C ControlDarkSliderTrackBufferingPressed
FF206180 ControlDarkSliderTrackBufferingRest
FF515151 ControlDarkSliderTrackFillDisabled
FFF7D441 ControlDarkSliderTrackFillHover
FFFFE05F ControlDarkSliderTrackFillPressed
FFF6CE23 ControlDarkSliderTrackFillRest
FFDABC6B ControlDarkToggleLabelDisabled
FFFFFFFF ControlDarkToggleLabelEnabled
FFDABC6B ControlDarkToggleOnOffTextDisabled
FFFFFFFF ControlDarkToggleOnOffTextEnabled
FFD7B75E ControlDarkToggleThumbDisabled
FFFFFFFF ControlDarkToggleThumbEnabled
FFC99D26 ControlDarkToggleTrackBackgroundDisabled
FFD2AD48 ControlDarkToggleTrackBackgroundEnabled
4AFFFFFF ControlDarkToggleTrackBackgroundHover
59FFFFFF ControlDarkToggleTrackBackgroundPressed
42FFFFFF ControlDarkToggleTrackBackgroundRest
FFCEA639 ControlDarkToggleTrackBorderDisabled
FFD7B75E ControlDarkToggleTrackBorderEnabled
FFC99D26 ControlDarkToggleTrackFillDisabled
FFF6CE23 ControlDarkToggleTrackFillEnabled
FFF7D441 ControlDarkToggleTrackFillHover
FFFFE05F ControlDarkToggleTrackFillPressed
FFF6CE23 ControlDarkToggleTrackFillRest
00000000 ControlDarkToggleTrackGutterDisabled
00000000 ControlDarkToggleTrackGutterEnabled
00000000 ControlDefaultDarkButtonBackgroundDisabled
FFE5C123 ControlDefaultDarkButtonBackgroundHover
FFFFFFFF ControlDefaultDarkButtonBackgroundPressed
FFE1B700 ControlDefaultDarkButtonBackgroundRest
66FFFFFF ControlDefaultDarkButtonBorderDisabled
FFFFFFFF ControlDefaultDarkButtonBorderHover
FFFFFFFF ControlDefaultDarkButtonBorderPressed
FFFFFFFF ControlDefaultDarkButtonBorderRest
66FFFFFF ControlDefaultDarkButtonTextDisabled
FFFFFFFF ControlDefaultDarkButtonTextHover
FF000000 ControlDefaultDarkButtonTextPressed
FFFFFFFF ControlDefaultDarkButtonTextRest
FF000000 ControlDefaultFocusRectDark
FFFFFFFF ControlDefaultFocusRectLight
66CACACA ControlDefaultLightButtonBackgroundDisabled
FFE5C123 ControlDefaultLightButtonBackgroundHover
FF000000 ControlDefaultLightButtonBackgroundPressed
FFE1B700 ControlDefaultLightButtonBackgroundRest
66CACACA ControlDefaultLightButtonBorderDisabled
FFE5C123 ControlDefaultLightButtonBorderHover
FF000000 ControlDefaultLightButtonBorderPressed
FFE1B700 ControlDefaultLightButtonBorderRest
66000000 ControlDefaultLightButtonTextDisabled
FFFFFFFF ControlDefaultLightButtonTextHover
FFFFFFFF ControlDefaultLightButtonTextPressed
FFFFFFFF ControlDefaultLightButtonTextRest
0DFFFFFF ControlFivePercentOpaqueWhite
00000000 ControlHighContrastBTNFACE
00000000 ControlHighContrastBTNTEXT
00000000 ControlHighContrastGRAYTEXT
00000000 ControlHighContrastHIGHLIGHT
00000000 ControlHighContrastHIGHLIGHTTEXT
00000000 ControlHighContrastHOTLIGHT
00000000 ControlHighContrastWINDOW
00000000 ControlHighContrastWINDOWTEXT
FFE5E5E5 ControlLightAppButtonBackgroundDisabled
21000000 ControlLightAppButtonBackgroundHover
FF000000 ControlLightAppButtonBackgroundPressed
00000000 ControlLightAppButtonBackgroundRest
FFE5E5E5 ControlLightAppButtonBorderDisabled
FF000000 ControlLightAppButtonBorderHover
FF000000 ControlLightAppButtonBorderPressed
FF000000 ControlLightAppButtonBorderRest
FFAFAFAF ControlLightAppButtonTextDisabled
FF000000 ControlLightAppButtonTextHover
FFFFFFFF ControlLightAppButtonTextPressed
FF000000 ControlLightAppButtonTextRest
66CACACA ControlLightButtonBackgroundDisabled
FFD8D8D8 ControlLightButtonBackgroundHover
FF000000 ControlLightButtonBackgroundPressed
FFCCCCCC ControlLightButtonBackgroundRest
66CACACA ControlLightButtonBorderDisabled
FFD8D8D8 ControlLightButtonBorderHover
FF000000 ControlLightButtonBorderPressed
FFCCCCCC ControlLightButtonBorderRest
66000000 ControlLightButtonTextDisabled
FF000000 ControlLightButtonTextHover
FFFFFFFF ControlLightButtonTextPressed
FF000000 ControlLightButtonTextRest
66CDCDCD ControlLightCheckboxBackgroundDisabled
DFFFFFFF ControlLightCheckboxBackgroundHover
FF000000 ControlLightCheckboxBackgroundPressed
CCFFFFFF ControlLightCheckboxBackgroundRest
66000000 ControlLightCheckboxBorderDisabled
70000000 ControlLightCheckboxBorderHover
FF000000 ControlLightCheckboxBorderPressed
44000000 ControlLightCheckboxBorderRest
66000000 ControlLightCheckboxGlyphDisabled
FF000000 ControlLightCheckboxGlyphHover
FFFFFFFF ControlLightCheckboxGlyphPressed
FF000000 ControlLightCheckboxGlyphRest
66000000 ControlLightCheckboxLabelDisabled
FF000000 ControlLightCheckboxLabelHover
FFFFFFFF ControlLightCheckboxLabelPressed
FF000000 ControlLightCheckboxLabelRest
FF000000 ControlLightFocusRect
66000000 ControlLightLinkDisabled
FFD09733 ControlLightLinkHover
FFDCB166 ControlLightLinkPressed
FFC47D00 ControlLightLinkRest
FFDCB166 ControlLightLinkVisited
EBC9C9C9 ControlLightPanningIndicator
2B000000 ControlLightProgressBackground
FFE1B700 ControlLightProgressForeground
66CACACA ControlLightRichEditBackgroundDisabled
FFFFFFFF ControlLightRichEditBackgroundFocus
DEFFFFFF ControlLightRichEditBackgroundHover
FFFFFFFF ControlLightRichEditBackgroundPressed
CCFFFFFF ControlLightRichEditBackgroundRest
29000000 ControlLightRichEditBorderDisabled
A3000000 ControlLightRichEditBorderFocus
70000000 ControlLightRichEditBorderHover
A3000000 ControlLightRichEditBorderPressed
45000000 ControlLightRichEditBorderRest
FFDEDEDE ControlLightRichEditButtonBackgroundHover
FF000000 ControlLightRichEditButtonBackgroundPressed
00FFFFFF ControlLightRichEditButtonBackgroundRest
FF000000 ControlLightRichEditButtonGlyphHover
FFFFFFFF ControlLightRichEditButtonGlyphPressed
FF000000 ControlLightRichEditButtonGlyphRest
FFE1B700 ControlLightRichEditHighlight
38000000 ControlLightRichEditPromptTextDisabled
AB000000 ControlLightRichEditPromptTextFocus
AB000000 ControlLightRichEditPromptTextRest
7D000000 ControlLightRichEditTextDisabled
FF000000 ControlLightRichEditTextFocus
AB000000 ControlLightRichEditTextHelper
FFFFFFFF ControlLightRichEditTextHighlighted
FF000000 ControlLightRichEditTextHover
FF000000 ControlLightRichEditTextRest
00000000 ControlLightRoundButtonFillLayerDisabled
FFE2E2E2 ControlLightRoundButtonFillLayerHover
FF000000 ControlLightRoundButtonFillLayerPressed
00000000 ControlLightRoundButtonFillLayerRest
66CACACA ControlLightRoundButtonGlyphDisabled
FF000000 ControlLightRoundButtonGlyphLayerHover
FFFFFFFF ControlLightRoundButtonGlyphLayerPressed
FF000000 ControlLightRoundButtonGlyphLayerRest
66CACACA ControlLightRoundButtonOutlineDisabled
FF000000 ControlLightRoundButtonOutlineLayerHover
FF000000 ControlLightRoundButtonOutlineLayerPressed
FF000000 ControlLightRoundButtonOutlineLayerRest
FF000000 ControlLightScrollbarButtonGlyphHover
FFFFFFFF ControlLightScrollbarButtonGlyphPressed
99000000 ControlLightScrollbarButtonGlyphRest
F0D7D7D7 ControlLightScrollbarButtonHover
BD292929 ControlLightScrollbarButtonPressed
59D5D5D5 ControlLightScrollbarButtonRest
EBD7D7D7 ControlLightScrollbarThumbHover
BD292929 ControlLightScrollbarThumbPressed
EBC9C9C9 ControlLightScrollbarThumbRest
59D5D5D5 ControlLightScrollbarTrack
66CACACA ControlLightSelectBackgroundDisabled
DEFFFFFF ControlLightSelectBackgroundHover
FFD3D3D3 ControlLightSelectBackgroundPressed
CCFFFFFF ControlLightSelectBackgroundRest
29000000 ControlLightSelectBorderDisabled
70000000 ControlLightSelectBorderHover
FF5C5C5C ControlLightSelectBorderPressed
45000000 ControlLightSelectBorderRest
66000000 ControlLightSelectGlyphDisabled
FF000000 ControlLightSelectGlyphRest
FFFFFFFF ControlLightSelectHighlightedTextPressed
21000000 ControlLightSelectHighlightHover
FF000000 ControlLightSelectHighlightPressed
FFE1B700 ControlLightSelectHighlightSelected
FFE5C123 ControlLightSelectHighlightSelectedHover
FFFFFFFF ControlLightSelectPopupBackgroundDisabled
21000000 ControlLightSelectPopupBackgroundHover
FFD3D3D3 ControlLightSelectPopupBackgroundPressed
FFFFFFFF ControlLightSelectPopupBackgroundRest
FFE1B700 ControlLightSelectPopupBackgroundSelected
FF5C5C5C ControlLightSelectPopupBorder
66000000 ControlLightSelectPopupTextDisabled
FF000000 ControlLightSelectPopupTextHover
FF000000 ControlLightSelectPopupTextPressed
FF000000 ControlLightSelectPopupTextRest
FFFFFFFF ControlLightSelectPopupTextSelected
66000000 ControlLightSelectTextDisabled
FFFFFFFF ControlLightSelectTextHighlighted
FF000000 ControlLightSelectTextHover
FF000000 ControlLightSelectTextPressed
FF000000 ControlLightSelectTextRest
FFFFFFFF ControlLightSliderBorder
FF000000 ControlLightSliderThumbBorder
FF929292 ControlLightSliderThumbBorderDisabled
FF000000 ControlLightSliderThumbBorderHover
FF000000 ControlLightSliderThumbBorderPressed
FF000000 ControlLightSliderThumbBorderRest
FF929292 ControlLightSliderThumbDisabled
FF000000 ControlLightSliderThumbHover
FF000000 ControlLightSliderThumbPressed
FF000000 ControlLightSliderThumbRest
FFFFFFFF ControlLightSliderTickMark
FFE5E5E5 ControlLightSliderTrackBackgroundDisabled
FFDEDEDE ControlLightSliderTrackBackgroundHover
FFEAEAEA ControlLightSliderTrackBackgroundPressed
FFD4D4D4 ControlLightSliderTrackBackgroundRest
FFD4D4D4 ControlLightSliderTrackBufferingDisabled
FF8CCDEB ControlLightSliderTrackBufferingHover
FF8CCDEB ControlLightSliderTrackBufferingPressed
FF8CCDEB ControlLightSliderTrackBufferingRest
FFC4C4C4 ControlLightSliderTrackFillDisabled
FFE5C123 ControlLightSliderTrackFillHover
FFFFD937 ControlLightSliderTrackFillPressed
FFE1B700 ControlLightSliderTrackFillRest
FF999999 ControlLightToggleLabelDisabled
FF000000 ControlLightToggleLabelEnabled
FF999999 ControlLightToggleOnOffTextDisabled
FF000000 ControlLightToggleOnOffTextEnabled
FFA6A6A6 ControlLightToggleThumbDisabled
FF000000 ControlLightToggleThumbEnabled
FFE0E0E0 ControlLightToggleTrackBackgroundDisabled
FFA6A6A6 ControlLightToggleTrackBackgroundEnabled
4A000000 ControlLightToggleTrackBackgroundHover
42000000 ControlLightToggleTrackBackgroundPressed
59000000 ControlLightToggleTrackBackgroundRest
FFCCCCCC ControlLightToggleTrackBorderDisabled
FFA6A6A6 ControlLightToggleTrackBorderEnabled
FFE0E0E0 ControlLightToggleTrackFillDisabled
FFE1B700 ControlLightToggleTrackFillEnabled
FFE5C123 ControlLightToggleTrackFillHover
FFFFD937 ControlLightToggleTrackFillPressed
FFE1B700 ControlLightToggleTrackFillRest
00000000 ControlLightToggleTrackGutterDisabled
00000000 ControlLightToggleTrackGutterEnabled
00000000 ControlProgressBorder
FFDEDEDE ControlRadioButtonBackgroundDisabledHover
FF000000 ControlRadioButtonBackgroundDisabledPressed
FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected
FFE1B700 ControlRadioButtonBackgroundSelected
FF2A2A2A ControlRadioButtonBorder
FF2A2A2A ControlRadioButtonSeparator
FF000000 ControlRadioButtonTextDisabledHover
FFFFFFFF ControlRadioButtonTextDisabledPressed
FF000000 ControlRadioButtonTextDisabledSelected
FFFFFFFF ControlRadioButtonTextSelected
59D5D5D5 ControlScrollbarBackground
FFDADADA ControlScrollbarButtonBackgroundHover
99000000 ControlScrollbarButtonBackgroundPressed
00000000 ControlScrollbarButtonBackgroundRest
FF000000 ControlScrollbarButtonForegroundHover
FFFFFFFF ControlScrollbarButtonForegroundPressed
99000000 ControlScrollbarButtonForegroundRest
FFCDCDCD ControlScrollbarPanningIndicatorBackground
7D9A9A9A ControlScrollbarPanningIndicatorBorder
FFDADADA ControlScrollbarThumbBackgroundHover
99000000 ControlScrollbarThumbBackgroundPressed
FFCDCDCD ControlScrollbarThumbBackgroundRest
6BB7B7B7 ControlScrollbarThumbBorderHover
ED555555 ControlScrollbarThumbBorderPressed
3B555555 ControlScrollbarThumbBorderRest
FF000000 ControlSliderTooltipText
3D999999 ControlSystemTileBorder
FFFFFFFF ControlTooltipBackground
FF808080 ControlTooltipBorder
FF666666 ControlTooltipDomainText
FF666666 ControlTooltipText
00000000 ControlTransparent
7F000000 HardwareAppBarBackground
FF111111 HardwareAppSwitcherBackground
FF333333 HardwareAppSwitcherHotTrack
FF333333 HardwareAppSwitcherTextOverlayBackground
33DEDEDE HardwareAppSwitcherThumbnailBorder
33DEDEDE HardwareAppSwitcherThumbnailBorderHover
FF666666 HardwareButtonDisabled
FFFFFFFF HardwareButtonGlyphHover
FF000000 HardwareButtonGlyphPressed
FF3D3D3D HardwareButtonHover
FFFFFFFF HardwareButtonPressed
FFFFFFFF HardwareButtonRest
FF111111 HardwareCharmsBarBackground
FF333333 HardwareCharmsBarBackgroundHotTrack
FF444444 HardwareCharmsBarBackgroundPressed
FF111111 HardwareCharmsBarBackgroundRest
FFFFD737 HardwareCharmsBarFlag
FFF7FF8C HardwareCharmsBarLogoWash
FFA0A0A0 HardwareCharmsBarSelectedText
FFA0A0A0 HardwareCharmsBarText
FFA0A0A0 HardwareCharmsBarTextDisabled
F2111111 HardwareClockBackground
FFFFFFFF HardwareClockText
FF55CD3A HardwareControlLink
FF9BB298 HardwareControlLinkDisabled
FFC9EECC HardwareControlLinkMouseHover
FF4D8E37 HardwareControlLinkPressed
FF64C757 HardwareControlLinkVisited
FFFFFFFF HardwareCountdownText
FFFFFFFF HardwareCropControlFill
4C000000 HardwareCropControlFillHover
FFFFFFFF HardwareCropControlFillPressed
59000000 HardwareCropControlOutline
59000000 HardwareCropControlOutlineHover
59000000 HardwareCropControlOutlinePressed
FF000000 HardwareDarkRoundButtonFillLayerDisabled
FF3D3D3D HardwareDarkRoundButtonFillLayerHover
FFFFFFFF HardwareDarkRoundButtonFillLayerPressed
FF000000 HardwareDarkRoundButtonFillLayerRest
FF7D7D7D HardwareDarkRoundButtonGlyphDisabled
FFFFFFFF HardwareDarkRoundButtonGlyphLayerHover
FF000000 HardwareDarkRoundButtonGlyphLayerPressed
FFFFFFFF HardwareDarkRoundButtonGlyphLayerRest
FF7D7D7D HardwareDarkRoundButtonOutlineDisabled
FFFFFFFF HardwareDarkRoundButtonOutlineLayerHover
FFFFFFFF HardwareDarkRoundButtonOutlineLayerPressed
FFFFFFFF HardwareDarkRoundButtonOutlineLayerRest
FF5AB7E3 HardwareDefaultKeyboardKeyBackgroundHover
FFE1B700 HardwareDefaultKeyboardKeyBackgroundRest
FFFFFFFF HardwareDefaultKeyboardKeyPrimaryTextRest
FFFFFFFF HardwareDefaultKeyboardKeySecondaryTextRest
F0D7D7D7 HardwareFlipViewFillHover
BD292929 HardwareFlipViewFillPressed
59D5D5D5 HardwareFlipViewFillRest
FF000000 HardwareFlipViewGlyphHover
FFFFFFFF HardwareFlipViewGlyphPressed
FF000000 HardwareFlipViewGlyphRest
FF9EC1C1 HardwareFlipViewOutlineHover
BD292929 HardwareFlipViewOutlinePressed
59D5D5D5 HardwareFlipViewOutlineRest
FF1A1A1A HardwareGenericBackground
BFE56C19 HardwareGutterDown
FF8F4310 HardwareGutterRest
FF98979B HardwareHandwritingPanelBorder
FFFFFFFF HardwareHandwritingPanelButtonBorder
FF302F37 HardwareHandwritingPanelButtonHover
FF626167 HardwareHandwritingPanelButtonPress
FF302F37 HardwareHandwritingPanelButtonRest
FF2A2A2A HardwareHandwritingPanelCharChevronPressed
FFFFFFFF HardwareHandwritingPanelCharChevronRest
FF2A2A2A HardwareHandwritingPanelConversionHoveredText
FFFFFFFF HardwareHandwritingPanelConversionSelectedBackground
FF2A2A2A HardwareHandwritingPanelConversionSelectedText
FFFFFFFF HardwareHandwritingPanelConversionToggledText
FF302F37 HardwareHandwritingPanelConversionUnselectedBackground
FFFFFFFF HardwareHandwritingPanelConversionUnselectedText
FF727176 HardwareHandwritingPanelCorrectionText
FF4B4A51 HardwareHandwritingPanelHoverWord
FFD5D5D5 HardwareHandwritingPanelInsertModeCharacter
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBackground
FFE4E4E5 HardwareHandwritingPanelKanjiConversionBackgroundHovered
FFD6D5D7 HardwareHandwritingPanelKanjiConversionBorder
FF636363 HardwareHandwritingPanelKanjiConversionText
FF777777 HardwareHandwritingPanelMatchedText
FF0089BA HardwareHandwritingPanelSuggestedWord
FF000000 HardwareKeyboardBackground
FFFFFFFF HardwareKeyboardChildKeyKeyText
FF8F8E98 HardwareKeyboardChildPanelBackground
FF45454C HardwareKeyboardChildPanelKeyBackground
FF838387 HardwareKeyboardDarkSpaceKeyBackgroundPressed
FF1D1C21 HardwareKeyboardFunctionKeyBackground
FF535256 HardwareKeyboardFunctionKeyBackgroundHover
FFD5D5D5 HardwareKeyboardFunctionKeyText
FF555457 HardwareKeyboardFunctionKeyTextDisabled
FF302F37 HardwareKeyboardKeyBackgroundDisabled
FF626167 HardwareKeyboardKeyBackgroundHover
FFFFFFFF HardwareKeyboardKeyBackgroundPressed
FF302F37 HardwareKeyboardKeyBackgroundRest
00FFFFFF HardwareKeyboardKeyBorder
FF000000 HardwareKeyboardKeyDockCloseRest
FF6F6E73 HardwareKeyboardKeyPrimaryTextDisabled
FF000000 HardwareKeyboardKeyPrimaryTextPressed
FFFFFFFF HardwareKeyboardKeyPrimaryTextRest
FF6F6E73 HardwareKeyboardKeySecondaryTextDisabled
FF000000 HardwareKeyboardKeySecondaryTextPressed
FFD5D5D5 HardwareKeyboardKeySecondaryTextRest
FF45444C HardwareKeyboardNumberKeyBackground
FF717177 HardwareKeyboardNumberKeyBackgroundHover
FFFFFFFF HardwareKeyboardNumberKeyText
FF27262C HardwareKeyboardThumbCentralNumberKeyBackground
FFA4A4A4 HardwareKeyboardThumbCentralNumberKeyText
00000000 HardwareKeyboardThumbResizeGripperBackgroundRest
FFD5D5D5 HardwareKeyboardTitleBarText
FF686868 HardwareKeyboardTitleBarTextDisabled
FFFFFFFF HardwarePlaybackBarProgressFill
33FFFFFF HardwarePlaybackBarRest
59000000 HardwarePlaybackBarTrim
59000000 HardwarePlaybackButtonFill
59000000 HardwarePlaybackButtonFillHover
FFFFFFFF HardwarePlaybackButtonFillPressed
FFFFFFFF HardwarePlaybackButtonGlyph
FFFFFFFF HardwarePlaybackButtonGlyphHover
FF000000 HardwarePlaybackButtonGlyphPressed
FFFFFFFF HardwarePlaybackButtonOutline
FFFFFFFF HardwarePrimaryText
4C000000 HardwareScreenFill
4C000000 HardwareScrubberControlFill
59000000 HardwareScrubberControlFillHover
FFFFFFFF HardwareScrubberControlFillPressed
FFFFFFFF HardwareScrubberControlOutline
FFFFFFFF HardwareScrubberControlOutlineHover
FFFFFFFF HardwareScrubberControlOutlinePressed
59D5D5D5 HardwareSemanticZoomBackground
FFDADADA HardwareSemanticZoomBackgroundHover
BD292929 HardwareSemanticZoomBackgroundPressed
99000000 HardwareSemanticZoomForeground
FF000000 HardwareSemanticZoomForegroundHover
FFFFFFFF HardwareSemanticZoomForegroundPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonDisabled
3EFFFFFF HardwareSettingCharmSystemPaneButtonHover
66FFFFFF HardwareSettingCharmSystemPaneButtonPressed
00FFFFFF HardwareSettingCharmSystemPaneButtonRest
66FFFFFF HardwareSettingCharmSystemPaneButtonSelected
CCFFFFFF HardwareSettingCharmSystemPaneButtonText
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextHover
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextPressed
CCFFFFFF HardwareSettingCharmSystemPaneButtonTextSelected
FF000000 HardwareTextPredictionBackgroundPressed
FFFFFFFF HardwareTextPredictionBackgroundRest
FF2A2A2A HardwareTextPredictionBorder
FFFFFFFF HardwareTextPredictionTextPressed
FF000000 HardwareTextPredictionTextRest
FF369ACA HardwareTrimBarProgressFill
FFFFFFFF HardwareTrimControlFill
4C000000 HardwareTrimControlFillHover
FFFFFFFF HardwareTrimControlFillPressed
59000000 HardwareTrimControlOutline
59000000 HardwareTrimControlOutlineHover
59000000 HardwareTrimControlOutlinePressed
FFFFFFFF LightBackground
FFB6B6B6 LightBackgroundDisabled
FF2A2A2A LightBorder
FFFF00FF LightControlLink
FFFF00FF LightControlLinkBackgroundPressed
FFFF00FF LightControlLinkDisabled
FFFF00FF LightControlLinkForegroundPressed
FFFF00FF LightControlLinkMouseHover
FFFF00FF LightControlLinkPressed
FFFF00FF LightControlLinkVisited
FFF1F1F1 LightDesktopToastBackground
FF999999 LightDisabledText
3D000000 LightDivider
FF777777 LightFocusRect
FFC47D00 LightHighlight
FFDEDEDE LightHoverBackground
FF000000 LightHoverPrimaryText
FF000000 LightHoverSecondaryText
FF00A693 LightInlineErrorText
FFF4F4F4 LightNavBackground
FF000000 LightPrimaryText
FF666666 LightSecondaryText
FFE1B700 LightSelectedTabText
FFE1B700 LightSelectionBackground
FFFFFFFF LightSelectionPrimaryText
FFFFFFFF LightSelectionSecondaryText
FF000000 LightTabText
FFE1B700 LightTitleText
FFCD2622 LightWUError
FF1E7126 LightWUNormal
FFFF9600 LightWUWarning
F3D39D09 SaturatedAltTabBackground
3DFFFFFF SaturatedAltTabHoverRect
FFFFFFFF SaturatedAltTabPressedRect
FF44424D SaturatedBackButtonBar
FFD39D09 SaturatedBackground
FFFF00FF SaturatedBackgroundDisabled
FFDABC6B SaturatedCommandRowDisabled
FFFFFFFF SaturatedCommandRowHighlight
FFF3DF27 SaturatedCommandRowHover
FF4D8E37 SaturatedCommandRowPressed
FFFFF32F SaturatedCommandRowRest
FFFF00FF SaturatedControlLink
FFFF00FF SaturatedControlLinkBackgroundPressed
FFFF00FF SaturatedControlLinkDisabled
FFFF00FF SaturatedControlLinkForegroundPressed
FFFF00FF SaturatedControlLinkMouseHover
FFFF00FF SaturatedControlLinkPressed
FFFF00FF SaturatedControlLinkVisited
FF000000 SaturatedDefaultDarkFocusRect
FFFFFFFF SaturatedDefaultLightFocusRect
FFF1F1F1 SaturatedDesktopToastBackground
FFDABC6B SaturatedDisabledText
3DFFFFFF SaturatedDivider
FFFFFFFF SaturatedFocusRect
FF000000 SaturatedFocusRectDark
FF9B7306 SaturatedFolderBackground
FFFFF32F SaturatedHighlight
FFD9AA29 SaturatedHoverBackground
FFFFFFFF SaturatedHoverPrimaryText
FFF0DDA9 SaturatedHoverSecondaryText
FF75FFF0 SaturatedInlineErrorText
FFFFFFFF SaturatedPrimaryText
FFEDD89D SaturatedSecondaryText
FFE1B700 SaturatedSelectionBackground
FFE5C123 SaturatedSelectionHoverBackground
FFFFFFFF SaturatedSelectionHoverPrimaryText
FFFFFFFF SaturatedSelectionHoverSecondaryText
FFFFFFFF SaturatedSelectionPrimaryText
FFF3E299 SaturatedSelectionSecondaryText
00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled
21FFFFFF SaturatedSettingCharmSystemPaneButtonHover
3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed
00FFFFFF SaturatedSettingCharmSystemPaneButtonRest
3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected
CCFFFFFF SaturatedSettingCharmSystemPaneButtonText
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed
CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected
FFF3DF27 SaturatedSettingsCharmLinkHover
FFD39D09 SaturatedSystemToastBackground
33000000 SaturatedThumbnailPlaceholder
00060000 SaturatedWebWizardIndex
FFC79A1E StartAllAppsDivider
FFC29008 StartBackground
FFFF00FF StartBackgroundDisabled
FFE1B700 StartCmdBarBackground
FFE5C123 StartCmdBarButtonFillLayerHover
FFFFFFFF StartCmdBarButtonFillLayerPressed
FFE1B700 StartCmdBarButtonFillLayerRest
FFFFFFFF StartCmdBarButtonGlyphLayerHover
FFE1B700 StartCmdBarButtonGlyphLayerPressed
FFFFFFFF StartCmdBarButtonGlyphLayerRest
FFFFFFFF StartCmdBarButtonOutlineLayerHover
FFFFFFFF StartCmdBarButtonOutlineLayerPressed
FFFFFFFF StartCmdBarButtonOutlineLayerRest
FFDABC6B StartCommandRowDisabled
FFFFFFFF StartCommandRowHighlight
FFF3E9CE StartCommandRowHover
FFDABC6B StartCommandRowPressed
FFE7D39C StartCommandRowRest
FFFF00FF StartControlLink
FFFF00FF StartControlLinkBackgroundPressed
FFFF00FF StartControlLinkDisabled
FFFF00FF StartControlLinkForegroundPressed
FFFF00FF StartControlLinkMouseHover
FFFF00FF StartControlLinkPressed
FFFF00FF StartControlLinkVisited
FF000000 StartDefaultDarkFocusRect
FFFFFFFF StartDefaultLightFocusRect
FF4617B4 StartDesktopAppBackground
FFF3B200 StartDesktopTilesBackground
FFFFFFFF StartDesktopTilesText
FFDABC6B StartDisabledText
FFFFFFFF StartFocusRect
FF9B7306 StartFolderBackground
FFFFF32F StartHighlight
FFCA9E28 StartHoverBackground
FFFFFFFF StartHoverPrimaryText
FFEAD8A9 StartHoverSecondaryText
FF75FFF0 StartInlineErrorText
FFFFFFFF StartPrimaryText
FFCCCCCC StartRoundButtonHover
FF666666 StartRoundButtonPressed
FFFFFFFF StartRoundButtonRest
FFE7D39C StartSecondaryText
FFE1B700 StartSelectionBackground
FFE5C123 StartSelectionHoverBackground
FFFFFFFF StartSelectionHoverPrimaryText
FFFFFFFF StartSelectionHoverSecondaryText
FFFFFFFF StartSelectionPrimaryText
FFF3E299 StartSelectionSecondaryText
FFE5C123 StartSystemTilesBackground
FF9B7306 StartThumbnailPlaceholder
+697
View File
@@ -0,0 +1,697 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#include <stdafx.h>
#include <dbghelp.h>
#include <wuapi.h>
#include "StringUtils.h"
#include "ResourceHelper.h"
#include "TrackResources.h"
#include "ComHelper.h"
#include "Settings.h"
#include "psapi.h"
#include "StartMenuDLL\StartMenuDLL.h"
#include "StartMenuDLL\SettingsUI.h"
#include "StartMenuDLL\resource.h"
#include "StartMenuDLL\LogManager.h"
static HHOOK g_StartHook;
static void UnhookStartMenu( void )
{
if (g_StartHook)
UnhookWindowsHookEx(g_StartHook);
g_StartHook=NULL;
}
enum THookMode
{
HOOK_NONE, // don't hook Explorer, running as a separate exe
HOOK_NORMAL, // hook Explorer normally, no retry
HOOK_STARTUP, // retry to hook Explorer
HOOK_STARTUP2, // retry to hook Explorer (for secondary desktops)
};
static bool HookStartMenu( THookMode mode, HWND &menu )
{
HMODULE hHookModule=GetModuleHandle(L"StartMenuDLL.dll");
// find the Progman window and the start button
DllLogToFile(STARTUP_LOG,L"StartMenu: hooking Explorer");
HWND progWin=NULL;
bool bFindAppManager=(mode==HOOK_STARTUP && GetWinVersion()>=WIN_VER_WIN8 && GetWinVersion()<=WIN_VER_WIN81);
for (int i=0;i<120;i++) // retry for 1 minute
{
if (bFindAppManager)
bFindAppManager=!FindWindow(L"ApplicationManager_DesktopShellWindow",NULL);
if (!bFindAppManager)
{
progWin=FindWindowEx(NULL,NULL,L"Progman",NULL);
if (progWin) break;
if (mode!=HOOK_STARTUP && mode!=HOOK_STARTUP2) return true; // the Progman window may not be created yet (if Explorer is currently restarting)
}
DllLogToFile(STARTUP_LOG,L"StartMenu: can't find Progman, retrying");
Sleep(500);
}
if (!progWin)
return true;
DWORD process=0;
DWORD thread=GetWindowThreadProcessId(progWin,&process);
HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,process);
if (hProcess)
{
bool success=false;
wchar_t path[MAX_PATH];
if (GetModuleFileNameEx(hProcess,NULL,path,_countof(path)))
{
if (_wcsicmp(PathFindFileName(path),L"explorer.exe")==0)
success=true;
else
DllLogToFile(STARTUP_LOG,L"StartMenu: found wrong process %s",path);
}
else
DllLogToFile(STARTUP_LOG,L"StartMenu: failed to get process name");
CloseHandle(hProcess);
if (!success)
return false;
}
else
DllLogToFile(STARTUP_LOG,L"StartMenu: failed to open process %d",process);
for (int i=0;i<10;i++) // retry for 5 sec
{
if (FindTaskBar(process)) break;
if (mode!=HOOK_STARTUP && mode!=HOOK_STARTUP2) return false; // the taskbar may not be created yet (if Explorer is currently restarting)
DllLogToFile(STARTUP_LOG,L"StartMenu: can't find taskbar, retrying");
Sleep(500);
}
if (mode==HOOK_NONE)
{
menu=ToggleStartMenu(-1,false);
return true;
}
// install hooks in the explorer process
thread=GetWindowThreadProcessId(g_TaskBar,NULL);
g_StartHook=SetWindowsHookEx(WH_GETMESSAGE,HookInject,hHookModule,thread);
if (!g_StartHook)
{
int err=GetLastError();
DllLogToFile(STARTUP_LOG,L"StartMenu: hook failed: 0x%08X",err);
}
PostMessage(g_TaskBar,WM_NULL,0,0); // make sure there is one message in the queue
return true;
}
static UINT g_TaskbarCreatedMsg; // the "TaskbarCreated" message
// CStartHookWindow is a hidden window that waits for the "TaskbarCreated" message and rehooks the explorer process
// Also when the start menu wants to shut down it sends WM_CLOSE to this window, which unhooks explorer and exits
const int WM_OPEN=WM_USER+10;
const int TIMER_HOOK=1;
class CStartHookWindow: public CWindowImpl<CStartHookWindow>
{
public:
DECLARE_WND_CLASS(L"Menu.CStartHookWindow")
BEGIN_MSG_MAP( CStartHookWindow )
MESSAGE_HANDLER( WM_OPEN, OnOpen )
MESSAGE_HANDLER( WM_CLOSE, OnClose )
MESSAGE_HANDLER( WM_CLEAR, OnClear )
MESSAGE_HANDLER( WM_TIMER, OnTimer )
MESSAGE_HANDLER( g_TaskbarCreatedMsg, OnTaskbarCreated )
END_MSG_MAP()
protected:
// Handler prototypes:
// LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
// LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
// LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
LRESULT OnOpen( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnClose( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnClear( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnTaskbarCreated( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
};
LRESULT CStartHookWindow::OnOpen( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
if (g_TaskBar) ::PostMessage(g_TaskBar,RegisterWindowMessage(L"Menu.StartMenuMsg"),wParam,lParam);
return 0;
}
LRESULT CStartHookWindow::OnClose( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
UnhookStartMenu();
Sleep(100);
PostQuitMessage(0);
return 0;
}
LRESULT CStartHookWindow::OnClear( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
UnhookStartMenu();
return 0;
}
LRESULT CStartHookWindow::OnTaskbarCreated( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
DllLogToFile(STARTUP_LOG,L"StartMenu: Taskbar Created");
SetTimer(TIMER_HOOK,100);
return 0;
}
LRESULT CStartHookWindow::OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
if (wParam==TIMER_HOOK)
{
UnhookStartMenu();
HWND menu;
HookStartMenu(HOOK_NORMAL,menu);
if (g_StartHook)
KillTimer(TIMER_HOOK);
}
return 0;
}
enum
{
CMD_NONE=-1,
CMD_TOGGLE_NEW=-2,
};
static const GUID IID_IWpnTileSink={0xe716b283,0x6be7,0x4e6f,{0xa8,0x8f,0x1c,0xde,0x47,0xd5,0xe3,0x55}};
interface IWpnTileSink : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE TileSessionUpdated(unsigned long,void const *,unsigned long) = 0;
virtual HRESULT STDMETHODCALLTYPE TileSessionNotificationCleared(unsigned long,void const *,unsigned long) = 0;
virtual HRESULT STDMETHODCALLTYPE TileSessionImageDownloadUpdated(unsigned long,int) = 0;
virtual HRESULT STDMETHODCALLTYPE TileRequestNotificationCompleted(void const * ptr64,unsigned long) = 0;
virtual HRESULT STDMETHODCALLTYPE TileSessionImageDownloadUpdated2(unsigned long,int) = 0;
};
class CWpnTileSink : public IWpnTileSink
{
// from IUnknown
virtual HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid, void **ppvObject );
virtual ULONG STDMETHODCALLTYPE AddRef( void ) { return 1; }
virtual ULONG STDMETHODCALLTYPE Release( void ) { return 1; }
virtual HRESULT STDMETHODCALLTYPE TileSessionUpdated(unsigned long a,void const *b,unsigned long c)
{
return S_OK;
}
virtual HRESULT STDMETHODCALLTYPE TileSessionNotificationCleared(unsigned long a,void const *b,unsigned long c)
{
return S_OK;
}
virtual HRESULT STDMETHODCALLTYPE TileSessionImageDownloadUpdated(unsigned long a,int b)
{
return S_OK;
}
virtual HRESULT STDMETHODCALLTYPE TileRequestNotificationCompleted(void const * a,unsigned long b)
{
return S_OK;
}
virtual HRESULT STDMETHODCALLTYPE TileSessionImageDownloadUpdated2(unsigned long a,int b)
{
return S_OK;
}
};
HRESULT STDMETHODCALLTYPE CWpnTileSink::QueryInterface( REFIID riid, void **ppvObject )
{
*ppvObject=NULL;
if (riid==IID_IUnknown || riid==IID_IWpnTileSink)
{
*ppvObject=this;
return S_OK;
}
return E_NOINTERFACE;
}
MIDL_INTERFACE("0e467ac1-65f2-48d6-8bf2-375430548a87")
IWpnPresentationEndpoint : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE TileCreateSession( unsigned long * ) = 0;
virtual HRESULT STDMETHODCALLTYPE TileCloseSession( unsigned long ) = 0;
virtual HRESULT STDMETHODCALLTYPE TileUpdateSession( unsigned long,const void *,unsigned long ) = 0; // (1, str, 1)
virtual HRESULT STDMETHODCALLTYPE TileRequestNotification( const void *, unsigned long ) = 0; // (str, 1)*/
};
const CLSID CLSID_WpnPlatform={0x0c9281f9, 0x6da1, 0x4006, {0x87, 0x29, 0xde, 0x6e, 0x6b, 0x61, 0x58, 0x1c}};
MIDL_INTERFACE("9fa045cb-b9b3-47ba-842f-e2ab458f2b0c")
IWpnPlatform : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE CreateAppEndpoint( struct IWpnAppEndpoint **ppEndpoint ) = 0;
virtual HRESULT STDMETHODCALLTYPE CreatePresentationEndpoint(struct IWpnPresentationEndpoint ** ppEndpoint ) = 0;
/* virtual HRESULT STDMETHODCALLTYPE CreateRegistrationEndpoint(struct IWpnRegistrationEndpoint * ptr64 * ptr64) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateSettingsEndpoint(struct IWpnSettingsEndpoint * ptr64 * ptr64) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateIdleTaskEndpoint(struct IWpnIdleTaskEndpoint * ptr64 * ptr64) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateTestEndpoint(struct IWpnTestEndpoint * ptr64 * ptr64) = 0;*/
};
//const wchar_t *g_AppId=L"microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.mail";
//const wchar_t *g_AppId=L"Microsoft.BingNews_8wekyb3d8bbwe!AppexNews";
//const wchar_t *g_AppId=L"Microsoft.WindowsStore_8wekyb3d8bbwe!App";
//const wchar_t *g_AppId=L"Microsoft.BingWeather_8wekyb3d8bbwe!App";
const wchar_t *g_AppId=L"microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar";
int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrCmdLine, int nCmdShow )
{
/* CoInitialize(NULL);
{
CComPtr<IWpnPlatform> pWpnPlatform;
HRESULT hr=pWpnPlatform.CoCreateInstance(CLSID_WpnPlatform);
CComPtr<IWpnPresentationEndpoint> pUnknown;
hr=pWpnPlatform->CreatePresentationEndpoint(&pUnknown);
CWpnTileSink sink;
DWORD cookie;
CComQIPtr<IConnectionPoint> pConnectionPoint=pUnknown;
hr=pConnectionPoint->Advise(&sink,&cookie);
CComPtr<IWpnPresentationEndpoint> pWpnPresentationEndpoint=pUnknown;
DWORD session;
hr=pWpnPresentationEndpoint->TileCreateSession(&session);
struct
{
const wchar_t *appid;
void *ptr1;
void *ptr2;
__int64 idx;
} request={g_AppId,0,0,1};
hr=pWpnPresentationEndpoint->TileRequestNotification(&request,1);
MSG msg;
while(true)
{
struct
{
const wchar_t *appid;
__int64 idx;
} updateData={g_AppId,1};
hr=pWpnPresentationEndpoint->TileUpdateSession(session,&updateData,1);
while (PeekMessage(&msg,0,0,0,PM_REMOVE))
// while (GetMessage(&msg,0,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
Sleep(100);
}
int q=0;
}
CoUninitialize();
return 0;*/
/* DWORD count;
pStore->GetCount(&count);
for (DWORD i=0;i<count;i++)
{
PROPERTYKEY key;
if (SUCCEEDED(pStore->GetAt(i,&key)))
{
CComString pPropName;
PSGetNameFromPropertyKey(key,&pPropName);
PROPVARIANT val;
PropVariantInit(&val);
pStore->GetValue(key,&val);
PropVariantClear(&val);
}
}*/
DllLogToFile(STARTUP_LOG,L"StartMenu: start '%s'",lpstrCmdLine);
DWORD winVer=GetVersionEx(GetModuleHandle(L"user32.dll"));
if (wcsstr(lpstrCmdLine,L"-startup") || (wcsstr(lpstrCmdLine,L"-autorun") && HIWORD(winVer)<WIN_VER_WIN8))
{
WaitDllInitThread();
if (!DllGetSettingBool(L"AutoStart"))
{
DllLogToFile(STARTUP_LOG,L"StartMenu: quit - no AutoStart");
return 0;
}
#ifdef BUILD_BETA
if (GetKeyState(VK_SHIFT)<0)
return 0;
#endif
int sleep=DllGetSettingInt(L"AutoStartDelay");
if (sleep>0)
Sleep(sleep);
}
else if (wcsstr(lpstrCmdLine,L"-autorun")) // on Win8+
{
WaitDllInitThread();
CRegKey regKey;
if (regKey.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS)
{
DWORD ver1;
if (regKey.QueryDWORDValue(L"WinVersion",ver1)==ERROR_SUCCESS)
{
if (ver1<winVer)
{
// this is an upgrade
MessageBox(NULL,DllLoadStringEx(IDS_UPGRADE_WIN),DllLoadStringEx(IDS_APP_TITLE),MB_OK);
#ifdef _WIN64
wchar_t path[_MAX_PATH]=L"%windir%\\System32\\StartMenuHelper64.dll";
#else
wchar_t path[_MAX_PATH]=L"%windir%\\System32\\StartMenuHelper32.dll";
#endif
DoEnvironmentSubst(path,_countof(path));
if (GetFileAttributes(path)!=INVALID_FILE_ATTRIBUTES)
{
GetModuleFileName(NULL,path,_countof(path));
CoInitialize(NULL);
ShellExecute(NULL,L"runas",path,L"-upgrade",NULL,SW_SHOWNORMAL);
CoUninitialize();
}
}
}
}
if (!DllGetSettingBool(L"AutoStart"))
{
DllLogToFile(STARTUP_LOG,L"StartMenu: quit - no AutoStart");
return 0;
}
int sleep=DllGetSettingInt(L"AutoStartDelay");
if (sleep>0)
Sleep(sleep);
}
if (wcsstr(lpstrCmdLine,L"-upgrade"))
{
WaitDllInitThread();
CRegKey regKey;
DWORD error=regKey.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_WRITE|KEY_WOW64_64KEY);
const wchar_t *nl=error==ERROR_SUCCESS?L"\r\n\r\n":L"\r\n";
if (error==ERROR_SUCCESS)
{
regKey.SetDWORDValue(L"WinVersion",winVer);
// run regsvr32 StartMenuHelper
#ifdef _WIN64
wchar_t cmdLine[_MAX_PATH]=L"regsvr32 /s \"%windir%\\System32\\StartMenuHelper64.dll\"";
#else
wchar_t cmdLine[_MAX_PATH]=L"regsvr32 /s \"%windir%\\System32\\StartMenuHelper32.dll\"";
#endif
DoEnvironmentSubst(cmdLine,_countof(cmdLine));
wchar_t exe[_MAX_PATH]=L"%windir%\\System32\\regsvr32.exe";
DoEnvironmentSubst(exe,_countof(exe));
STARTUPINFO startupInfo={sizeof(startupInfo)};
PROCESS_INFORMATION processInfo;
memset(&processInfo,0,sizeof(processInfo));
if (CreateProcess(exe,cmdLine,NULL,NULL,FALSE,0,NULL,NULL,&startupInfo,&processInfo))
{
CloseHandle(processInfo.hThread);
WaitForSingleObject(processInfo.hProcess,INFINITE);
GetExitCodeProcess(processInfo.hProcess,&error);
CloseHandle(processInfo.hProcess);
}
else
error=GetLastError();
}
if (error)
{
wchar_t msg[1024];
int len=Sprintf(msg,_countof(msg),L"%s%s",DllLoadStringEx(IDS_UPGRADE_ERROR),nl);
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,error,0,msg+len,_countof(msg)-len,NULL);
MessageBox(NULL,msg,DllLoadStringEx(IDS_APP_TITLE),MB_OK|MB_ICONERROR);
}
else
{
MessageBox(NULL,DllLoadStringEx(IDS_UPGRADE_SUCCESS),DllLoadStringEx(IDS_APP_TITLE),MB_OK|MB_ICONINFORMATION);
}
return error;
}
const wchar_t *pCmd=wcsstr(lpstrCmdLine,L"-cmd ");
if (pCmd)
{
WaitDllInitThread();
CoInitialize(NULL);
wchar_t command[100];
GetToken(pCmd+5,command,_countof(command),L" ");
if (DllExecuteNamedCommand(command))
{
MSG msg;
while (PeekMessage(&msg,0,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
CoUninitialize();
return 0;
}
#ifndef _WIN64
const wchar_t *pSaveAdmx=wcsstr(lpstrCmdLine,L"-saveadmx ");
if (pSaveAdmx)
{
WaitDllInitThread();
wchar_t language[100];
GetToken(pSaveAdmx+10,language,_countof(language),L" ");
HMODULE dll=NULL;
if (language[0])
{
wchar_t path[_MAX_PATH];
GetCurrentDirectory(_countof(path),path);
PathAppend(path,language);
PathAddExtension(path,L".dll");
dll=LoadLibraryEx(path,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE);
}
DllLoadTranslationResources(dll,NULL);
if (!DllSaveAdmx(COMPONENT_MENU,"Menu.admx","Menu.adml","MenuADMX.txt"))
return 1;
if (!DllSaveAdmx(COMPONENT_SHARED,"OpenShell.admx","OpenShell.adml","OpenShellADMX.txt"))
return 1;
return 0;
}
#endif
wchar_t path[_MAX_PATH];
GetModuleFileName(NULL,path,_countof(path));
*PathFindFileName(path)=0;
SetCurrentDirectory(path);
const wchar_t *pRunAs=wcsstr(lpstrCmdLine,L"-runas");
if (pRunAs)
{
pRunAs+=7;
CoInitialize(NULL);
wchar_t exe[_MAX_PATH];
const wchar_t *args=NULL;
CComString strExe, strArgs;
if (SUCCEEDED(SHEvaluateSystemCommandTemplate(pRunAs,&strExe,NULL,&strArgs)))
{
args=strArgs;
Strcpy(exe,_countof(exe),strExe);
}
else
{
args=SeparateArguments(pRunAs,exe);
}
SHELLEXECUTEINFO execute={sizeof(execute),SEE_MASK_DOENVSUBST|SEE_MASK_FLAG_LOG_USAGE};
execute.lpFile=exe;
execute.lpParameters=args;
execute.nShow=SW_SHOWNORMAL;
ShellExecuteEx(&execute);
CoUninitialize();
return 0;
}
WaitDllInitThread();
int open=CMD_NONE;
if (wcsstr(lpstrCmdLine,L"-togglenew")!=NULL) open=CMD_TOGGLE_NEW;
else if (wcsstr(lpstrCmdLine,L"-toggle")!=NULL) open=MSG_TOGGLE;
else if (wcsstr(lpstrCmdLine,L"-open")!=NULL) open=MSG_OPEN;
else if (wcsstr(lpstrCmdLine,L"-settings")!=NULL) open=MSG_SETTINGS;
else if (wcsstr(lpstrCmdLine,L"-exit")!=NULL) open=MSG_EXIT;
{
const wchar_t *pXml=wcsstr(lpstrCmdLine,L"-xml ");
if (pXml)
{
wchar_t xml[_MAX_PATH];
GetToken(pXml+5,xml,_countof(xml),L" ");
CoInitialize(NULL);
bool res=DllImportSettingsXml(xml);
CoUninitialize();
if (res)
open=MSG_RELOADSETTINGS;
else
return 1;
}
}
{
const wchar_t *pBackup=wcsstr(lpstrCmdLine,L"-backup ");
if (pBackup)
{
wchar_t xml[_MAX_PATH];
GetToken(pBackup+8,xml,_countof(xml),L" ");
CoInitialize(NULL);
bool res=DllExportSettingsXml(xml);
CoUninitialize();
return res?0:1;
}
}
const wchar_t *pNoHook=wcsstr(lpstrCmdLine,L"-nohook");
bool bHookExplorer=!pNoHook;
if (pNoHook)
{
pNoHook+=7;
if (*pNoHook=='1') MiniDumpType=MiniDumpNormal;
if (*pNoHook=='2') MiniDumpType=MiniDumpWithDataSegs;
if (*pNoHook=='3') MiniDumpType=MiniDumpWithFullMemory;
}
if (!bHookExplorer)
SetUnhandledExceptionFilter(TopLevelFilter);
#ifndef BUILD_SETUP
if (wcsstr(lpstrCmdLine,L"-testsettings")!=NULL || GetKeyState(VK_SHIFT)<0)
{
CoInitialize(NULL);
InitManagers(true);
EditSettings(true,0);
CloseManagers(true);
CoUninitialize();
#ifdef TRACK_GDI_RESOURCES
DllDumpResourceLeaks();
#endif
return 0;
}
#endif
// prevent multiple instances from running on the same desktop
// the assumption is that multiple desktops for the same user will have different name (but may repeat across users)
wchar_t userName[256];
DWORD len=_countof(userName);
GetUserName(userName,&len);
len=0;
HANDLE desktop=GetThreadDesktop(GetCurrentThreadId());
GetUserObjectInformation(desktop,UOI_NAME,NULL,0,&len);
wchar_t *deskName=(wchar_t*)malloc(len);
GetUserObjectInformation(desktop,UOI_NAME,deskName,len,&len);
bool bDefaultDesktop=(_wcsicmp(deskName,L"Default")==0);
wchar_t mutexName[1024];
Sprintf(mutexName,_countof(mutexName),L"Menu.Mutex.%s.%s",userName,deskName);
free(deskName);
if (open==CMD_NONE)
DllLogToFile(STARTUP_LOG,L"StartMenu: mutex %s",mutexName);
HWND progWin=FindWindowEx(NULL,NULL,L"Progman",NULL);
DWORD process;
if (progWin)
GetWindowThreadProcessId(progWin,&process);
HANDLE hMutex=NULL;
if (bHookExplorer)
{
hMutex=CreateMutex(NULL,TRUE,mutexName);
if (GetLastError()==ERROR_ALREADY_EXISTS || GetLastError()==ERROR_ACCESS_DENIED)
{
if (open==MSG_TOGGLE || open==CMD_TOGGLE_NEW)
{
if (progWin)
{
AllowSetForegroundWindow(process);
HWND taskBar=FindTaskBar(process);
if (taskBar)
PostMessage(taskBar,RegisterWindowMessage(L"Menu.StartMenuMsg"),(open==CMD_TOGGLE_NEW)?MSG_TOGGLENEW:MSG_TOGGLE,0);
else
PostMessage(progWin,WM_SYSCOMMAND,SC_TASKLIST,(open==CMD_TOGGLE_NEW)?'WSMK':'CSM');
}
}
else if (open!=CMD_NONE)
{
AllowSetForegroundWindow(process);
HWND hwnd=FindWindow(L"Menu.CStartHookWindow",L"StartHookWindow");
if (hwnd) PostMessage(hwnd,WM_OPEN,open,0);
}
if (open==MSG_EXIT && hMutex && WaitForSingleObject(hMutex,2000)==WAIT_OBJECT_0)
ReleaseMutex(hMutex);
if (open==CMD_NONE)
DllLogToFile(STARTUP_LOG,L"StartMenu: exit (mutex exists)");
return 0;
}
}
if (open!=CMD_NONE && open!=MSG_OPEN && open!=MSG_SETTINGS)
{
if (hMutex) ReleaseMutex(hMutex);
return 0;
}
OleInitialize(NULL);
if (!bHookExplorer)
{
DllUpdateSettings();
InitManagers(true);
}
CStartHookWindow window;
window.Create(NULL,NULL,L"StartHookWindow",WS_POPUP);
g_TaskbarCreatedMsg=RegisterWindowMessage(L"TaskbarCreated");
typedef BOOL (WINAPI *tChangeWindowMessageFilterEx)(HWND hWnd, UINT message, DWORD action, PCHANGEFILTERSTRUCT pChangeFilterStruct );
HMODULE hUser32=GetModuleHandle(L"user32.dll");
tChangeWindowMessageFilterEx ChangeWindowMessageFilterEx=(tChangeWindowMessageFilterEx)GetProcAddress(hUser32,"ChangeWindowMessageFilterEx");
if (ChangeWindowMessageFilterEx)
{
ChangeWindowMessageFilterEx(window,g_TaskbarCreatedMsg,MSGFLT_ADD,NULL);
ChangeWindowMessageFilterEx(window,WM_CLEAR,MSGFLT_ADD,NULL);
ChangeWindowMessageFilterEx(window,WM_OPEN,MSGFLT_ADD,NULL);
ChangeWindowMessageFilterEx(window,WM_CLOSE,MSGFLT_ADD,NULL);
}
else
{
ChangeWindowMessageFilter(g_TaskbarCreatedMsg,MSGFLT_ADD);
ChangeWindowMessageFilter(WM_CLEAR,MSGFLT_ADD);
ChangeWindowMessageFilter(WM_OPEN,MSGFLT_ADD);
ChangeWindowMessageFilter(WM_CLOSE,MSGFLT_ADD);
}
MSG msg;
HWND menu=NULL;
if (HookStartMenu(bHookExplorer?(bDefaultDesktop?HOOK_STARTUP:HOOK_STARTUP2):HOOK_NONE,menu))
{
if (bHookExplorer && open>=0)
window.PostMessage(WM_OPEN,open,MSG_OPEN);
DllLogToFile(STARTUP_LOG,L"StartMenu: start message loop");
while ((bHookExplorer || IsWindow(menu)) && GetMessage(&msg,0,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
DllLogToFile(STARTUP_LOG,L"StartMenu: end message loop");
window.DestroyWindow();
if (!bHookExplorer)
{
CloseManagers(true);
}
OleUninitialize();
if (hMutex) ReleaseMutex(hMutex);
#ifdef TRACK_GDI_RESOURCES
DllDumpResourceLeaks();
#endif
return 0;
}
+41
View File
@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Open-Shell.Menu"
type="win32"
/>
<description>Open-Shell Menu</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
</assembly>
+118
View File
@@ -0,0 +1,118 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
// Solution loading fail-safe
#ifndef _PRODUCT_VERSION
#define _PRODUCT_VERSION 4.4.102
#endif
#ifndef _PRODUCT_VERSION_STR
#define _PRODUCT_VERSION_STR "4.4.102"
#endif
VS_VERSION_INFO VERSIONINFO
FILEVERSION _PRODUCT_VERSION
PRODUCTVERSION _PRODUCT_VERSION
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Open-Shell"
VALUE "FileDescription", "Open-Shell Menu"
VALUE "FileVersion", _PRODUCT_VERSION_STR
VALUE "InternalName", "Menu"
VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team"
VALUE "OriginalFilename", "StartMenu.exe"
VALUE "ProductName", "Open-Shell"
VALUE "ProductVersion", _PRODUCT_VERSION_STR
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_APPICON ICON "..\\Setup\\OpenShell.ico"
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
+362
View File
@@ -0,0 +1,362 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Setup|Win32">
<Configuration>Setup</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Setup|x64">
<Configuration>Setup</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{87D5FE20-AF86-458A-9AA3-3131EB06179B}</ProjectGuid>
<RootNamespace>Menu</RootNamespace>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\Version.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(Configuration)64\</OutDir>
<IntDir>$(Configuration)64\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(Configuration)64\</OutDir>
<IntDir>$(Configuration)64\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'">
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'">
<OutDir>$(Configuration)64\</OutDir>
<IntDir>$(Configuration)64\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;BUILD_SETUP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;BUILD_SETUP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<Image Include="..\Setup\OpenShell.ico" />
</ItemGroup>
<ItemGroup>
<Text Include="..\Localization\English\OpenShellADMX.txt" />
<Text Include="..\Localization\English\MenuADMX.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="StartMenu.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Manifest Include="StartMenu.manifest" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="StartMenu.rc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
<None Include="StartMenuL10N.ini" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Lib\Lib.vcxproj">
<Project>{d42fe717-485b-492d-884a-1999f6d51154}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\ClassicSkin7\ClassicSkin7.vcxproj">
<Project>{31c016fb-9ea1-4af5-987a-37210c04da06}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\ClassicSkin\ClassicSkin.vcxproj">
<Project>{9ec23ca9-384a-4eeb-979e-69879dc1a78c}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\FullGlass\FullGlass.vcxproj">
<Project>{066c9721-26d5-4c4d-868e-50c2ba0a8196}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\Metallic7\Metallic7.vcxproj">
<Project>{ca5bfc96-428d-42f5-9f7d-cdde048a357c}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\Metro7\Metro7.vcxproj">
<Project>{598ab4ac-008e-4501-90b3-c5213834c1da}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\Metro\Metro.vcxproj">
<Project>{63baf573-170b-4fa0-aee3-16e04f3e9df5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\Midnight7\Midnight7.vcxproj">
<Project>{7bd26cb3-5280-48fd-9a86-c13e321018d5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\SmokedGlass\SmokedGlass.vcxproj">
<Project>{66d1eaa4-65d1-45cc-9989-e616fc0575eb}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\Win7Aero7\Win7Aero7.vcxproj">
<Project>{a2ccde9f-17ce-461e-8bd9-00261b8855a6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\Win7Aero\Win7Aero.vcxproj">
<Project>{ea65fddd-cb77-417f-8bb4-2f3ecb5b3e75}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\Win7Basic\Win7Basic.vcxproj">
<Project>{404821c5-4ee4-4908-a759-5ef6dac14ab6}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\Win87\Win87.vcxproj">
<Project>{5c875214-0e3a-4cf0-bc0c-bff6faa4c089}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\Win8\Win8.vcxproj">
<Project>{ed74eba9-1bcb-4b8f-9ae1-dc63b3c24a94}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\Skins\WinXP\WinXP.vcxproj">
<Project>{81eb6336-366c-47dd-82cf-ff6c36ccd2b5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="StartMenuDLL\StartMenuDLL.vcxproj">
<Project>{85deecbb-1f9b-4983-9d54-3bf42182b7e7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,323 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
// Accessibility.cpp - contains the accessibility class CMenuAccessible, used by CMenuContainer
#include "stdafx.h"
#include "Accessibility.h"
#include "MenuContainer.h"
#include "Translations.h"
CMenuAccessible::CMenuAccessible( CMenuContainer *pOwner )
{
m_RefCount=0;
m_pOwner=pOwner;
CreateStdAccessibleObject(pOwner->m_hWnd,OBJID_CLIENT,IID_IAccessible,(void**)&m_pStdAccessible);
}
CMenuAccessible::~CMenuAccessible( void )
{
}
void CMenuAccessible::Reset( void )
{
m_pOwner=NULL;
m_pStdAccessible=NULL;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accParent( IDispatch **ppdispParent )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
if (m_pStdAccessible)
return m_pStdAccessible->get_accParent(ppdispParent);
*ppdispParent=NULL;
return S_FALSE;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accChildCount( long *pcountChildren )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
*pcountChildren=(long)m_pOwner->m_Items.size();
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accChild( VARIANT varChild, IDispatch **ppdispChild )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
*ppdispChild=NULL; // no child IAccessibles
if (varChild.vt!=VT_I4) return E_INVALIDARG;
return S_FALSE;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accName( VARIANT varChild, BSTR *pszName )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
*pszName=NULL;
if (varChild.vt!=VT_I4) return S_FALSE;
if (varChild.lVal==CHILDID_SELF) return S_FALSE;
int index=varChild.lVal-1;
if (index<0 || index>=(int)m_pOwner->m_Items.size()) return S_FALSE;
if (m_pOwner->m_Items[index].id==MENU_SEPARATOR) return S_FALSE;
wchar_t text[256];
Strcpy(text,_countof(text),m_pOwner->m_Items[index].name);
for (wchar_t *c1=text,*c2=text;;c1++)
{
if (*c1!='&')
*c2++=*c1;
if (*c1==0) break;
}
*pszName=SysAllocString(text);
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accDescription( VARIANT varChild, BSTR *pszDescription )
{
return get_accName(varChild,pszDescription);
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accRole( VARIANT varChild, VARIANT *pvarRole )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
pvarRole->vt=VT_EMPTY;
if (varChild.vt!=VT_I4) return E_INVALIDARG;
if (varChild.lVal==CHILDID_SELF)
{
pvarRole->vt=VT_I4;
pvarRole->lVal=ROLE_SYSTEM_MENUPOPUP;
return S_OK;
}
int index=varChild.lVal-1;
if (index<0 || index>=(int)m_pOwner->m_Items.size()) return E_INVALIDARG;
pvarRole->vt=VT_I4;
pvarRole->lVal=m_pOwner->m_Items[index].id==MENU_SEPARATOR?ROLE_SYSTEM_SEPARATOR:ROLE_SYSTEM_MENUITEM;
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accState( VARIANT varChild, VARIANT *pvarState )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
pvarState->vt=VT_EMPTY;
if (varChild.vt!=VT_I4) return E_INVALIDARG;
int flags=STATE_SYSTEM_FOCUSABLE;
int index=varChild.lVal-1;
if (index>=0 && index<(int)m_pOwner->m_Items.size())
{
const CMenuContainer::MenuItem &item=m_pOwner->m_Items[index];
if (m_pOwner->m_HotItem==index)
flags|=STATE_SYSTEM_FOCUSED;
if (item.bFolder)
flags|=STATE_SYSTEM_HASPOPUP;
if (item.id==MENU_SEPARATOR)
flags=0;
RECT rc;
if (!m_pOwner->GetItemRect(index,rc))
flags|=STATE_SYSTEM_INVISIBLE;
}
pvarState->vt=VT_I4;
pvarState->lVal=flags;
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accKeyboardShortcut( VARIANT varChild, BSTR *pszKeyboardShortcut )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
*pszKeyboardShortcut=NULL;
if (varChild.vt!=VT_I4) return E_INVALIDARG;
int flags=0;
int index=varChild.lVal-1;
if (index<0 || index>=(int)m_pOwner->m_Items.size())
return S_FALSE;
const CMenuContainer::MenuItem &item=m_pOwner->m_Items[index];
wchar_t str[2]={item.accelerator,0};
*pszKeyboardShortcut=SysAllocString(str);
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accFocus( VARIANT *pvarChild )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
HWND focus=GetFocus();
pvarChild->vt=VT_EMPTY;
if (m_pOwner->m_hWnd==focus && m_pOwner->m_HotItem>=0)
{
pvarChild->vt=VT_I4;
pvarChild->lVal=m_pOwner->m_HotItem+1;
}
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accSelection( VARIANT *pvarChildren )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
pvarChildren->vt=VT_EMPTY;
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::get_accDefaultAction( VARIANT varChild, BSTR *pszDefaultAction )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
*pszDefaultAction=NULL;
if (varChild.vt!=VT_I4) return E_INVALIDARG;
if (varChild.lVal==CHILDID_SELF)
{
*pszDefaultAction=SysAllocString(FindTranslation(L"Menu.ActionClose",L"Close"));
return S_OK;
}
int index=varChild.lVal-1;
if (index<0 || index>=(int)m_pOwner->m_Items.size())
return S_FALSE;
const CMenuContainer::MenuItem &item=m_pOwner->m_Items[index];
if (item.id!=MENU_SEPARATOR && item.id!=MENU_EMPTY && item.id!=MENU_EMPTY_TOP)
*pszDefaultAction=SysAllocString(item.bFolder?FindTranslation(L"Menu.ActionOpen",L"Open"):FindTranslation(L"Menu.ActionExecute",L"Execute"));
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::accSelect( long flagsSelect, VARIANT varChild )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
if (varChild.vt!=VT_I4) return E_INVALIDARG;
if (flagsSelect&SELFLAG_TAKEFOCUS)
{
int index=varChild.lVal-1;
if (index<0 || index>=(int)m_pOwner->m_Items.size())
return S_FALSE;
m_pOwner->ActivateItem(index,CMenuContainer::ACTIVATE_SELECT,NULL,false);
}
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::accLocation( long *pxLeft, long *pyTop, long *pcxWidth, long *pcyHeight, VARIANT varChild )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
if (varChild.vt!=VT_I4) return E_INVALIDARG;
RECT rc;
if (varChild.lVal==CHILDID_SELF)
{
m_pOwner->GetWindowRect(&rc);
}
else
{
int index=varChild.lVal-1;
if (index<0 || index>=(int)m_pOwner->m_Items.size())
return S_FALSE;
m_pOwner->GetItemRect(index,rc);
m_pOwner->MapWindowPoints(NULL,&rc);
}
*pxLeft=rc.left;
*pyTop=rc.top;
*pcxWidth=rc.right-rc.left;
*pcyHeight=rc.bottom-rc.top;
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::accNavigate( long navDir, VARIANT varStart, VARIANT *pvarEndUpAt )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
pvarEndUpAt->vt=VT_EMPTY;
if (varStart.vt!=VT_I4) return E_INVALIDARG;
switch (navDir)
{
case NAVDIR_FIRSTCHILD:
if (varStart.lVal!=CHILDID_SELF) return S_FALSE;
pvarEndUpAt->vt=VT_I4;
pvarEndUpAt->lVal=1;
break;
case NAVDIR_LASTCHILD:
if (varStart.lVal!=CHILDID_SELF) return S_FALSE;
pvarEndUpAt->vt=VT_I4;
pvarEndUpAt->lVal=(int)m_pOwner->m_Items.size();
break;
case NAVDIR_NEXT:
case NAVDIR_DOWN:
if (varStart.lVal==CHILDID_SELF)
{
if (m_pStdAccessible)
return m_pStdAccessible->accNavigate(navDir,varStart,pvarEndUpAt);
return S_FALSE;
}
if (varStart.lVal>=(int)m_pOwner->m_Items.size())
pvarEndUpAt->vt=VT_EMPTY;
else
{
pvarEndUpAt->vt=VT_I4;
pvarEndUpAt->lVal=varStart.lVal+1;
}
break;
case NAVDIR_PREVIOUS:
case NAVDIR_UP:
if (varStart.lVal==CHILDID_SELF)
{
if (m_pStdAccessible)
return m_pStdAccessible->accNavigate(navDir,varStart,pvarEndUpAt);
return S_FALSE;
}
if (varStart.lVal<1)
pvarEndUpAt->vt=VT_EMPTY;
else
{
pvarEndUpAt->vt=VT_I4;
pvarEndUpAt->lVal=varStart.lVal-1;
}
break;
// Unsupported directions.
case NAVDIR_LEFT:
case NAVDIR_RIGHT:
if (varStart.lVal==CHILDID_SELF)
{
if (m_pStdAccessible)
return m_pStdAccessible->accNavigate(navDir,varStart,pvarEndUpAt);
}
return S_FALSE;
}
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::accHitTest( long xLeft, long yTop, VARIANT *pvarChild )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
POINT pt={xLeft,yTop};
RECT rc;
m_pOwner->GetWindowRect(&rc);
if (!PtInRect(&rc,pt))
{
pvarChild->vt=VT_EMPTY;
return S_FALSE;
}
POINT pt2=pt;
m_pOwner->ScreenToClient(&pt2);
int index=m_pOwner->HitTest(pt2,NULL);
if (index>=0)
{
pvarChild->vt=VT_I4;
pvarChild->lVal=index+1;
}
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuAccessible::accDoDefaultAction( VARIANT varChild )
{
if (!m_pOwner) return RPC_E_DISCONNECTED;
if (varChild.vt!=VT_I4) return E_INVALIDARG;
if (varChild.lVal==CHILDID_SELF)
{
// close
for (std::vector<CMenuContainer*>::reverse_iterator it=CMenuContainer::s_Menus.rbegin();*it!=m_pOwner;++it)
(*it)->PostMessage(WM_CLOSE);
m_pOwner->PostMessage(WM_CLOSE);
return S_OK;
}
int index=varChild.lVal-1;
if (index<0 || index>=(int)m_pOwner->m_Items.size())
return S_FALSE;
// open or execute
const CMenuContainer::MenuItem &item=m_pOwner->m_Items[index];
if (item.id!=MENU_SEPARATOR && item.id!=MENU_EMPTY && item.id!=MENU_EMPTY_TOP)
m_pOwner->ActivateItem(index,item.bFolder?CMenuContainer::ACTIVATE_OPEN:CMenuContainer::ACTIVATE_EXECUTE,NULL,NULL);
return S_OK;
}
@@ -0,0 +1,75 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
class CMenuContainer;
// CMenuAccessible - provides accessibility services for a CMenuContainer
class CMenuAccessible: public IAccessible
{
public:
CMenuAccessible( CMenuContainer *pOwner );
~CMenuAccessible( void );
void Reset( void ); // called by the owner when it is destroyed
// IUnknown
virtual STDMETHODIMP QueryInterface( REFIID riid, void **ppvObject )
{
*ppvObject=NULL;
if (IID_IUnknown==riid || IID_IDispatch==riid || IID_IAccessible==riid)
{
AddRef();
*ppvObject=static_cast<IAccessible*>(this);
return S_OK;
}
return E_NOINTERFACE;
}
virtual ULONG STDMETHODCALLTYPE AddRef( void )
{
return InterlockedIncrement(&m_RefCount);
}
virtual ULONG STDMETHODCALLTYPE Release( void )
{
long nTemp=InterlockedDecrement(&m_RefCount);
if (!nTemp) delete this;
return nTemp;
}
// IDispatch
virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount( UINT *pctinfo ) { return E_NOTIMPL; }
virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo ) { *ppTInfo=NULL; return E_NOTIMPL; }
virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId ) { return E_NOTIMPL; }
virtual HRESULT STDMETHODCALLTYPE Invoke( DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr ) { return E_NOTIMPL; }
// IAccessible
virtual HRESULT STDMETHODCALLTYPE get_accParent( IDispatch **ppdispParent );
virtual HRESULT STDMETHODCALLTYPE get_accChildCount( long *pcountChildren );
virtual HRESULT STDMETHODCALLTYPE get_accChild( VARIANT varChild, IDispatch **ppdispChild );
virtual HRESULT STDMETHODCALLTYPE get_accName( VARIANT varChild, BSTR *pszName );
virtual HRESULT STDMETHODCALLTYPE get_accValue( VARIANT varChild, BSTR *pszValue ) { *pszValue=NULL; return DISP_E_MEMBERNOTFOUND; }
virtual HRESULT STDMETHODCALLTYPE get_accDescription( VARIANT varChild, BSTR *pszDescription );
virtual HRESULT STDMETHODCALLTYPE get_accRole( VARIANT varChild, VARIANT *pvarRole );
virtual HRESULT STDMETHODCALLTYPE get_accState( VARIANT varChild, VARIANT *pvarState );
virtual HRESULT STDMETHODCALLTYPE get_accHelp( VARIANT varChild, BSTR *pszHelp ) { *pszHelp=NULL; return S_FALSE; }
virtual HRESULT STDMETHODCALLTYPE get_accHelpTopic( BSTR *pszHelpFile, VARIANT varChild, long *pidTopic ) { *pszHelpFile=NULL; return S_FALSE; }
virtual HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut( VARIANT varChild, BSTR *pszKeyboardShortcut );
virtual HRESULT STDMETHODCALLTYPE get_accFocus( VARIANT *pvarChild );
virtual HRESULT STDMETHODCALLTYPE get_accSelection( VARIANT *pvarChildren );
virtual HRESULT STDMETHODCALLTYPE get_accDefaultAction( VARIANT varChild, BSTR *pszDefaultAction );
virtual HRESULT STDMETHODCALLTYPE accSelect( long flagsSelect, VARIANT varChild );
virtual HRESULT STDMETHODCALLTYPE accLocation( long *pxLeft, long *pyTop, long *pcxWidth, long *pcyHeight, VARIANT varChild );
virtual HRESULT STDMETHODCALLTYPE accNavigate( long navDir, VARIANT varStart, VARIANT *pvarEndUpAt );
virtual HRESULT STDMETHODCALLTYPE accHitTest( long xLeft, long yTop, VARIANT *pvarChild );
virtual HRESULT STDMETHODCALLTYPE accDoDefaultAction( VARIANT varChild );
virtual HRESULT STDMETHODCALLTYPE put_accName( VARIANT varChild, BSTR szName ) { return E_NOTIMPL; }
virtual HRESULT STDMETHODCALLTYPE put_accValue( VARIANT varChild, BSTR szValue ) { return DISP_E_MEMBERNOTFOUND; }
private:
LONG m_RefCount;
CMenuContainer *m_pOwner;
CComPtr<IAccessible> m_pStdAccessible;
};
+618
View File
@@ -0,0 +1,618 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#include "stdafx.h"
#include "CustomMenu.h"
#include "SettingsParser.h"
#include "Translations.h"
#include "MenuContainer.h"
#include "Settings.h"
#include "SettingsUI.h"
#include "FNVHash.h"
#include "ResourceHelper.h"
#include "resource.h"
#include <algorithm>
// This table defines the standard menu items
static StdMenuItem g_StdMenu[]=
{
// * means the command is not executable (for things like Settings, or for items that have FOLDERID)
{L"*programs",MENU_PROGRAMS,&FOLDERID_Programs,&FOLDERID_CommonPrograms},
{L"*favorites",MENU_FAVORITES,&FOLDERID_Favorites},
{L"*computer",MENU_COMPUTER,&FOLDERID_ComputerFolder},
{L"*recent_documents",MENU_DOCUMENTS,&FOLDERID_Recent},
{L"*settings",MENU_SETTINGS},
{L"*search",MENU_SEARCH},
{L"help",MENU_HELP},
{L"run",MENU_RUN},
{L"logoff",MENU_LOGOFF},
{L"undock",MENU_UNDOCK},
{L"monitor_off",MENU_MONITOROFF},
{L"disconnect",MENU_DISCONNECT},
{L"shutdown_box",MENU_SHUTDOWN_BOX},
{L"*user_files",MENU_USERFILES,&FOLDERID_UsersFiles},
{L"*user_documents",MENU_USERDOCUMENTS,&FOLDERID_Documents},
{L"*user_pictures",MENU_USERPICTURES,&FOLDERID_Pictures},
{L"*control_panel",MENU_CONTROLPANEL,&FOLDERID_ControlPanelFolder},
{L"pc_settings",MENU_PCSETTINGS},
{L"windows_security",MENU_SECURITY},
{L"*network_connections",MENU_NETWORK,&FOLDERID_ConnectionsFolder},
{L"*printers",MENU_PRINTERS,&FOLDERID_PrintersFolder},
{L"taskbar_settings",MENU_TASKBAR},
{L"programs_features",MENU_FEATURES},
{L"menu_settings",MENU_CLASSIC_SETTINGS},
{L"search_files",MENU_SEARCH_FILES},
{L"search_printer",MENU_SEARCH_PRINTER},
{L"search_computers",MENU_SEARCH_COMPUTERS},
{L"search_people",MENU_SEARCH_PEOPLE},
{L"sleep",MENU_SLEEP},
{L"hibernate",MENU_HIBERNATE},
{L"restart",MENU_RESTART},
{L"restart_noupdate",MENU_RESTART_NOUPDATE},
{L"shutdown",MENU_SHUTDOWN},
{L"shutdown_noupdate",MENU_SHUTDOWN_NOUPDATE},
{L"switch_user",MENU_SWITCHUSER},
{L"lock",MENU_LOCK},
{L"*recent_programs",MENU_RECENT_PROGRAMS},
{L"search_box",MENU_SEARCH_BOX},
{L"*apps",MENU_APPS},
{L"*fonts",MENU_CUSTOM,&FOLDERID_Fonts},
{L"*desktop",MENU_CUSTOM,&FOLDERID_Desktop},
{L"*admin",MENU_CUSTOM,&FOLDERID_CommonAdminTools,&FOLDERID_AdminTools},
{L"*startup",MENU_CUSTOM,&FOLDERID_Startup,&FOLDERID_CommonStartup},
{L"*user_music",MENU_CUSTOM,&FOLDERID_Music},
{L"*user_videos",MENU_CUSTOM,&FOLDERID_Videos},
{L"*downloads",MENU_CUSTOM,&FOLDERID_Downloads},
{L"*games",MENU_CUSTOM,&FOLDERID_Games},
{L"*links",MENU_CUSTOM,&FOLDERID_Links},
{L"*libraries",MENU_CUSTOM,&FOLDERID_Libraries},
{L"*lib_documents",MENU_CUSTOM,&FOLDERID_DocumentsLibrary},
{L"*lib_music",MENU_CUSTOM,&FOLDERID_MusicLibrary},
{L"*lib_pictures",MENU_CUSTOM,&FOLDERID_PicturesLibrary},
{L"*lib_videos",MENU_CUSTOM,&FOLDERID_VideosLibrary},
{L"*lib_tv",MENU_CUSTOM,&FOLDERID_RecordedTVLibrary},
{L"*homegroup",MENU_CUSTOM,&FOLDERID_HomeGroup},
{L"*network",MENU_CUSTOM,&FOLDERID_NetworkFolder},
{L"*devices",MENU_CUSTOM},
{L"*defaults",MENU_CUSTOM},
};
CStdCommand7 g_StdCommands7[]={
{L"separator",IDS_SEPARATOR_ITEM,NULL,NULL,NULL,NULL,NULL,0,CStdCommand7::ITEM_SINGLE}, // must be first
{L"favorites",0,NULL,NULL,L"imageres.dll,1024",&FOLDERID_Favorites,NULL,StdMenuItem::MENU_TRACK},
{L"recent_documents",0,NULL,NULL,NULL,&FOLDERID_Recent},
{L"computer",0,NULL,NULL,NULL,&FOLDERID_ComputerFolder,NULL,0,CStdCommand7::ITEM_COMPUTER},
{L"help",IDS_HELP_ITEM,L"$Menu.Help",L"$Menu.HelpTip",L"imageres.dll,99",NULL,NULL,0,CStdCommand7::ITEM_SINGLE},
{L"run",IDS_RUN_ITEM,L"$Menu.Run",L"$Menu.RunTip",L"imageres.dll,100",NULL,NULL,0,CStdCommand7::ITEM_SINGLE},
{L"windows_security",IDS_SECURITY_ITEM,L"$Menu.Security",L"$Menu.SecurityTip",L"shell32.dll,48",NULL,NULL,0,CStdCommand7::ITEM_SINGLE},
{L"user_files",IDS_SHOW_USERFILES,NULL,L"$Menu.UserFilesTip",NULL,&FOLDERID_UsersFiles},
{L"user_documents",0,NULL,L"$Menu.UserDocumentsTip",NULL,&FOLDERID_Documents},
{L"user_pictures",0,NULL,L"$Menu.UserPicturesTip",NULL,&FOLDERID_Pictures},
{L"user_music",0,NULL,L"$Menu.UserMusicTip",NULL,&FOLDERID_Music},
{L"user_videos",0,NULL,L"$Menu.UserVideosTip",NULL,&FOLDERID_Videos},
{L"control_panel",0,L"$Menu.ControlPanel",L"$Menu.ControlPanelTip",NULL,&FOLDERID_ControlPanelFolder,NULL,StdMenuItem::MENU_TRACK},
{L"pc_settings",IDS_PCSETTINGS,L"$Menu.PCSettings",L"",L"%windir%\\ImmersiveControlPanel\\SystemSettings.exe,10",NULL,NULL,StdMenuItem::MENU_TRACK,CStdCommand7::ITEM_SINGLE},
{L"network_connections",0,NULL,L"$Menu.NetworkTip",NULL,&FOLDERID_ConnectionsFolder},
{L"network",0,NULL,NULL,NULL,&FOLDERID_NetworkFolder,NULL,0,CStdCommand7::ITEM_SINGLE},
{L"printers",0,NULL,L"$Menu.PrintersTip",NULL,&FOLDERID_PrintersFolder},
{L"fonts",0,NULL,NULL,NULL,&FOLDERID_Fonts},
{L"desktop",0,NULL,NULL,NULL,&FOLDERID_Desktop},
{L"admin",0,NULL,L"$Menu.AdminToolsTip",L"imageres.dll,114",&FOLDERID_CommonAdminTools,NULL,StdMenuItem::MENU_TRACK},
{L"startup",0,NULL,NULL,NULL,&FOLDERID_Startup,NULL,StdMenuItem::MENU_TRACK},
{L"downloads",0,NULL,L"$Menu.DownloadTip",NULL,&FOLDERID_Downloads},
{L"games",0,NULL,L"$Menu.GamesTip",NULL,&FOLDERID_Games,NULL,StdMenuItem::MENU_TRACK},
{L"links",0,NULL,NULL,NULL,&FOLDERID_Links},
{L"libraries",0,NULL,NULL,NULL,&FOLDERID_Libraries},
{L"lib_documents",IDS_LIB_DOCS_ITEM,NULL,L"$Menu.DocumentsLibTip",NULL,&FOLDERID_DocumentsLibrary},
{L"lib_music",IDS_LIB_MUSIC_ITEM,NULL,L"$Menu.MusicLibTip",NULL,&FOLDERID_MusicLibrary},
{L"lib_pictures",IDS_LIB_PICS_ITEM,NULL,L"$Menu.PicturesLibTip",NULL,&FOLDERID_PicturesLibrary},
{L"lib_videos",IDS_LIB_VIDEOS_ITEM,NULL,L"$Menu.VideosLibTip",NULL,&FOLDERID_VideosLibrary},
{L"lib_tv",IDS_LIB_TV_ITEM,NULL,L"$Menu.RecordingsLibTip",NULL,&FOLDERID_RecordedTVLibrary},
{L"homegroup",0,NULL,L"$Menu.HomegroupTip",NULL,&FOLDERID_HomeGroup,NULL,0,CStdCommand7::ITEM_SINGLE},
{L"devices",0,NULL,NULL,NULL,NULL,L"::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"},
{L"defaults",0,NULL,NULL,NULL,NULL,L"::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{17CD9488-1228-4B2F-88CE-4298E93E0966}",0,CStdCommand7::ITEM_SINGLE},
{L"apps",IDS_METRO_APPS,L"$Menu.Apps",NULL,L",2",NULL,NULL,StdMenuItem::MENU_TRACK,CStdCommand7::ITEM_FOLDER},
{L"",IDS_CUSTOM_ITEM} // must be last
};
const int g_StdCommands7Count=_countof(g_StdCommands7);
// This table defines folders that need special treatment
SpecialFolder g_SpecialFolders[]=
{
{&FOLDERID_Games,SpecialFolder::FOLDER_NONEWFOLDER},
{&FOLDERID_ComputerFolder,SpecialFolder::FOLDER_NONEWFOLDER},
{&FOLDERID_RecycleBinFolder,SpecialFolder::FOLDER_NOSUBFOLDERS|SpecialFolder::FOLDER_NODROP},
{&FOLDERID_NetworkFolder,SpecialFolder::FOLDER_NODROP},
{&FOLDERID_ConnectionsFolder,SpecialFolder::FOLDER_NODROP|SpecialFolder::FOLDER_NOPATH},
{&FOLDERID_Recent,SpecialFolder::FOLDER_NODROP},
{&FOLDERID_ControlPanelFolder,SpecialFolder::FOLDER_NODROP},
{&FOLDERID_PrintersFolder,SpecialFolder::FOLDER_NODROP},
{&FOLDERID_HomeGroup,SpecialFolder::FOLDER_NODROP},
{NULL}
};
static std::vector<StdMenuItem> g_CustomMenu;
static unsigned int g_RootSettings;
static unsigned int g_MenuItemsHash;
static CSettingsParser g_CustomMenuParser;
static bool g_bSpecialFoldersInitialized;
void InitializeSpecialFolders( void )
{
if (!g_bSpecialFoldersInitialized)
{
g_bSpecialFoldersInitialized=true;
for (int i=0;g_SpecialFolders[i].folder;i++)
{
CComPtr<IShellItem> pItem;
if (SUCCEEDED(ShGetKnownFolderItem(*g_SpecialFolders[i].folder,&pItem)) && pItem)
{
CComString pPath;
pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pPath);
pPath.MakeUpper();
Strcpy(g_SpecialFolders[i].PATH,_countof(g_SpecialFolders[i].PATH),pPath);
}
}
}
}
static const StdMenuItem *FindStdMenuItem( const wchar_t *command )
{
for (int i=0;i<_countof(g_StdMenu);i++)
{
const wchar_t *cmd=g_StdMenu[i].command;
if (*cmd=='*') cmd++;
if (_wcsicmp(cmd,command)==0)
return &g_StdMenu[i];
}
return NULL;
}
static unsigned int ParseItemSettings( const wchar_t *name )
{
wchar_t buf[256];
Sprintf(buf,_countof(buf),L"%s.Settings",name);
const wchar_t *str=g_CustomMenuParser.FindSetting(buf);
if (!str) return 0;
unsigned int settings=0;
while(*str)
{
wchar_t token[256];
str=GetToken(str,token,_countof(token),L", \t|;");
if (_wcsicmp(token,L"OPEN_UP")==0) settings|=StdMenuItem::MENU_OPENUP;
if (_wcsicmp(token,L"OPEN_UP_CHILDREN")==0) settings|=StdMenuItem::MENU_OPENUP_REC;
if (_wcsicmp(token,L"SORT_ZA")==0) settings|=StdMenuItem::MENU_SORTZA;
if (_wcsicmp(token,L"SORT_ZA_CHILDREN")==0) settings|=StdMenuItem::MENU_SORTZA_REC;
if (_wcsicmp(token,L"SORT_ONCE")==0) settings|=StdMenuItem::MENU_SORTONCE;
if (_wcsicmp(token,L"ITEMS_FIRST")==0) settings|=StdMenuItem::MENU_ITEMS_FIRST;
if (_wcsicmp(token,L"TRACK_RECENT")==0) settings|=StdMenuItem::MENU_TRACK;
if (_wcsicmp(token,L"NOTRACK_RECENT")==0) settings|=StdMenuItem::MENU_NOTRACK;
if (_wcsicmp(token,L"NOEXPAND")==0) settings|=StdMenuItem::MENU_NOEXPAND;
if (_wcsicmp(token,L"SINGLE_EXPAND")==0) settings|=StdMenuItem::MENU_SINGLE_EXPAND;
if (_wcsicmp(token,L"MULTICOLUMN")==0) settings|=StdMenuItem::MENU_MULTICOLUMN;
if (_wcsicmp(token,L"NOEXTENSIONS")==0) settings|=StdMenuItem::MENU_NOEXTENSIONS;
if (_wcsicmp(token,L"INLINE")==0) settings|=StdMenuItem::MENU_INLINE;
if (_wcsicmp(token,L"SPLIT")==0) settings|=StdMenuItem::MENU_SPLIT_BUTTON;
}
return settings;
}
static void ParseMenuItem( StdMenuItem &item, const wchar_t *name )
{
wchar_t buf[1024];
const wchar_t *str;
Sprintf(buf,_countof(buf),L"%s.Link",name);
str=g_CustomMenuParser.FindSetting(buf);
if (str)
{
// parse link
item.link=str;
const wchar_t *c=wcschr(item.link,'|');
if (c)
{
for (c++;*c==' ';)
c++;
item.link=c;
}
}
Sprintf(buf,_countof(buf),L"%s.Command",name);
str=g_CustomMenuParser.FindSetting(buf);
int custom7=-1;
if (str)
{
// parse command
const StdMenuItem *pItem=FindStdMenuItem(str);
if (pItem)
{
item.id=pItem->id;
item.folder1=pItem->folder1;
item.folder2=pItem->folder2;
if (item.id==MENU_CONTROLPANEL && GetSettingBool(L"ControlPanelCategories"))
item.command=L"::{26EE0668-A00A-44D7-9371-BEB064C98683}";
else if (item.id==MENU_SHUTDOWN_BOX && GetSettingInt(L"MenuStyle")==MENU_WIN7)
item.id=MENU_SHUTDOWN_BUTTON;
else if (*pItem->command!='*')
item.command=pItem->command;
}
else
{
item.id=MENU_CUSTOM;
item.command=str;
}
for (int i=0;i<g_StdCommands7Count;i++)
if (_wcsicmp(g_StdCommands7[i].command,str)==0)
{
custom7=i;
break;
}
}
Sprintf(buf,_countof(buf),L"%s.Label",name);
str=g_CustomMenuParser.FindSetting(buf);
if (str)
{
// parse name
if (*str=='$')
{
item.label=FindTranslation(str+1,NULL);
if (!item.label)
item.label=str;
}
else
item.label=str;
}
Sprintf(buf,_countof(buf),L"%s.Tip",name);
str=g_CustomMenuParser.FindSetting(buf);
if (str)
{
// parse name
if (*str=='$')
item.tip=FindTranslation(str+1,NULL);
else
item.tip=str;
}
Sprintf(buf,_countof(buf),L"%s.Icon",name);
item.iconPath=g_CustomMenuParser.FindSetting(buf);
item.settings=ParseItemSettings(name);
if (custom7>=0)
{
if (g_StdCommands7[custom7].flags&CStdCommand7::ITEM_SINGLE)
item.settings|=StdMenuItem::MENU_NOEXPAND;
if (g_StdCommands7[custom7].flags&CStdCommand7::ITEM_FOLDER)
item.settings&=~StdMenuItem::MENU_NOEXPAND;
}
}
const wchar_t *g_StartMenuItems7a=L"Items=COLUMN_PADDING, ProgramsMenu, SearchBoxItem, COLUMN_BREAK, ";
const wchar_t *g_StartMenuItems7b=
L" COLUMN_PADDING, ShutdownBoxItem\n"
L"ProgramsMenu.Command=programs\n"
L"ProgramsMenu.Label=$Menu.Programs\n"
L"ProgramsMenu.Tip=$Menu.ProgramsTip\n"
L"ProgramsMenu.Icon=none\n"
L"ProgramsMenu.Items=AppsMenu\n"
L"ProgramsMenu.Settings=ITEMS_FIRST\n"
L"AppsMenu.Command=apps\n"
L"AppsMenu.Label=$Menu.Apps\n"
L"AppsMenu.Icon=,2\n"
L"SearchBoxItem.Command=search_box\n"
L"SearchBoxItem.Label=$Menu.SearchPrograms\n"
L"SearchBoxItem.Icon=none\n"
L"SearchBoxItem.Settings=TRACK_RECENT, OPEN_UP\n"
L"ShutdownBoxItem.Command=shutdown_box\n"
L"ShutdownBoxItem.Label=shutdown\n"
L"ShutdownBoxItem.Icon=none\n"
L"ShutdownBoxItem.Items=SwitchUserItem, SecurityItem, LogOffItem, LockItem, DisconnectItem, UndockItem, SEPARATOR, RestartNUItem, RestartItem, SEPARATOR, SleepItem, HibernateItem, ShutdownNUItem, ShutdownItem\n"
L"ShutdownBoxItem.Settings=SPLIT\n"
L"SwitchUserItem.Command=switch_user\n"
L"SwitchUserItem.Label=$Menu.SwitchUser\n"
L"SwitchUserItem.Tip=$Menu.SwitchUserTip\n"
L"SwitchUserItem.Icon=none\n"
L"SecurityItem.Command=windows_security\n"
L"SecurityItem.Icon=none\n"
L"SecurityItem.Label=$Menu.Security\n"
L"SecurityItem.Tip=$Menu.SecurityTip\n"
L"LogOffItem.Command=logoff\n"
L"LogOffItem.Label=$Menu.LogOffShort\n"
L"LogOffItem.Tip=$Menu.LogOffTip\n"
L"LogOffItem.Icon=none\n"
L"LockItem.Command=lock\n"
L"LockItem.Label=$Menu.Lock\n"
L"LockItem.Tip=$Menu.LockTip\n"
L"LockItem.Icon=none\n"
L"DisconnectItem.Command=disconnect\n"
L"DisconnectItem.Label=$Menu.Disconnect\n"
L"DisconnectItem.Tip=$Menu.DisconnectTip\n"
L"DisconnectItem.Icon=none\n"
L"UndockItem.Command=undock\n"
L"UndockItem.Label=$Menu.Undock\n"
L"UndockItem.Tip=$Menu.UndockTip\n"
L"UndockItem.Icon=none\n"
L"RestartNUItem.Command=restart_noupdate\n"
L"RestartNUItem.Label=$Menu.Restart\n"
L"RestartNUItem.Tip=$Menu.RestartTip\n"
L"RestartNUItem.Icon=none\n"
L"RestartItem.Command=restart\n"
L"RestartItem.Label=$Menu.Restart\n"
L"RestartItem.Tip=$Menu.RestartTip\n"
L"RestartItem.Icon=none\n"
L"SleepItem.Command=sleep\n"
L"SleepItem.Label=$Menu.Sleep\n"
L"SleepItem.Tip=$Menu.SleepTip\n"
L"SleepItem.Icon=none\n"
L"HibernateItem.Command=hibernate\n"
L"HibernateItem.Label=$Menu.Hibernate\n"
L"HibernateItem.Tip=$Menu.HibernateTip\n"
L"HibernateItem.Icon=none\n"
L"ShutdownNUItem.Command=shutdown_noupdate\n"
L"ShutdownNUItem.Label=$Menu.Shutdown\n"
L"ShutdownNUItem.Tip=$Menu.ShutdownTip\n"
L"ShutdownNUItem.Icon=none\n"
L"ShutdownItem.Command=shutdown\n"
L"ShutdownItem.Label=$Menu.Shutdown\n"
L"ShutdownItem.Tip=$Menu.ShutdownTip\n"
L"ShutdownItem.Icon=none\n"
;
const StdMenuItem *ParseCustomMenu( unsigned int &rootSettings )
{
TMenuStyle menuStyle=(TMenuStyle)GetSettingInt(L"MenuStyle");
CString menuText;
if (menuStyle==MENU_CLASSIC1)
menuText=GetSettingString(L"MenuItems1");
else if (menuStyle==MENU_CLASSIC2)
menuText=GetSettingString(L"MenuItems2");
else
menuText=GetSettingString(L"MenuItems7");
unsigned int hash=FNV_HASH0;
if (GetSettingBool(L"ControlPanelCategories")) hash+=1;
if (GetSettingInt(L"ProgramsStyle")==PROGRAMS_INLINE) hash+=2;
if (GetSettingBool(L"AllProgramsMetro")) hash+=4;
hash=CalcFNVHash(menuText,hash);
if (hash!=g_MenuItemsHash)
{
if (GetSettingInt(L"MenuStyle")==MENU_WIN7)
{
wchar_t buf[16384];
int len=Strcpy(buf,_countof(buf),g_StartMenuItems7a);
CSettingsParser parser;
parser.LoadText(menuText,menuText.GetLength());
parser.ParseText();
for (int i=1;;i++)
{
wchar_t item[100];
Sprintf(item,_countof(item),L"Item%d.Settings",i);
const wchar_t *settings=parser.FindSetting(item);
if (settings && wcsstr(settings,L"ITEM_DISABLED"))
continue;
Sprintf(item,_countof(item),L"Item%d.Command",i);
const wchar_t *command=parser.FindSetting(item);
if (!command)
{
Sprintf(item,_countof(item),L"Item%d.Link",i);
if (!parser.FindSetting(item))
break;
}
if (command && (_wcsicmp(command,L"shutdown_box")==0 || _wcsicmp(command,L"recent_programs")==0 || _wcsicmp(command,L"search_box")==0 || _wcsicmp(command,L"programs")==0))
{
// these commands can't be in the right column because they are already in other parts of the menu
continue;
}
if (command && _wcsicmp(command,L"separator")==0)
{
len+=Sprintf(buf+len,_countof(buf)-len,L"SEPARATOR, ");
}
else
{
len+=Sprintf(buf+len,_countof(buf)-len,L"Item%d, ",i);
}
}
len+=Strcat(buf+len,_countof(buf)-len,g_StartMenuItems7b);
len+=Strcat(buf+len,_countof(buf)-len,menuText);
for (int i=1;;i++)
{
wchar_t item[100];
Sprintf(item,_countof(item),L"Item%d.Settings",i);
const wchar_t *settings=parser.FindSetting(item);
if (settings && wcsstr(settings,L"ITEM_DISABLED"))
continue;
Sprintf(item,_countof(item),L"Item%d.Command",i);
const wchar_t *command=parser.FindSetting(item);
Sprintf(item,_countof(item),L"Item%d.Link",i);
const wchar_t *link=parser.FindSetting(item);
if (!command)
{
if (!link)
break;
else
continue;
}
Sprintf(item,_countof(item),L"Item%d.Label",i);
const wchar_t *label=parser.FindSetting(item);
Sprintf(item,_countof(item),L"Item%d.icon",i);
const wchar_t *icon=parser.FindSetting(item);
Sprintf(item,_countof(item),L"Item%d.Tip",i);
const wchar_t *tip=parser.FindSetting(item);
// handle special items
for (int j=1;j<g_StdCommands7Count-1;j++)
{
const CStdCommand7 &stdCommand=g_StdCommands7[j];
if (_wcsicmp(command,stdCommand.command)==0)
{
if (!link && stdCommand.knownLink)
len+=Sprintf(buf+len,_countof(buf)-len,L"Item%d.Link=%s\n",i,stdCommand.knownLink);
if (!label && stdCommand.label)
len+=Sprintf(buf+len,_countof(buf)-len,L"Item%d.Label=%s\n",i,stdCommand.label);
if (!icon && stdCommand.icon)
len+=Sprintf(buf+len,_countof(buf)-len,L"Item%d.Icon=%s\n",i,stdCommand.icon);
if (!tip && stdCommand.tip)
len+=Sprintf(buf+len,_countof(buf)-len,L"Item%d.Tip=%s\n",i,stdCommand.tip);
}
}
}
if (GetWinVersion()<WIN_VER_WIN8 || GetSettingInt(L"ProgramsStyle")==PROGRAMS_INLINE || !GetSettingBool(L"AllProgramsMetro"))
len+=Strcpy(buf+len,_countof(buf)-len,L"ProgramsMenu.Items=\n");
menuText=buf;
}
g_RootSettings=0;
g_MenuItemsHash=hash;
g_CustomMenu.clear();
g_CustomMenuParser.Reset();
g_CustomMenuParser.LoadText(menuText,menuText.GetLength());
g_CustomMenuParser.ParseText();
std::vector<CSettingsParser::TreeItem> items;
g_CustomMenuParser.ParseTree(L"Items",items);
g_CustomMenu.resize(items.size());
for (size_t i=0;i<items.size();i++)
{
const wchar_t *name=items[i].name;
StdMenuItem &item=g_CustomMenu[i];
item.command=0;
item.id=MENU_NO;
item.folder1=item.folder2=NULL;
item.label=item.tip=item.iconPath=item.link=NULL;
item.settings=0;
item.submenu=NULL;
// handle special names
if (!*name)
{
item.id=MENU_LAST;
continue;
}
if (_wcsicmp(name,L"SEPARATOR")==0)
{
item.id=MENU_SEPARATOR;
continue;
}
if (_wcsicmp(name,L"COLUMN_PADDING")==0)
{
item.id=MENU_COLUMN_PADDING;
continue;
}
if (_wcsicmp(name,L"COLUMN_BREAK")==0)
{
item.id=MENU_COLUMN_BREAK;
continue;
}
// handle custom items
item.id=MENU_CUSTOM;
ParseMenuItem(item,name);
if (item.id==MENU_RECENT_PROGRAMS)
g_RootSettings|=StdMenuItem::MENU_NORECENT;
int idx=items[i].children;
if (idx>=0)
item.submenu=&g_CustomMenu[idx];
}
for (std::vector<StdMenuItem>::iterator it=g_CustomMenu.begin();it!=g_CustomMenu.end();++it)
if (it->id==MENU_RECENT_PROGRAMS)
{
g_RootSettings|=StdMenuItem::MENU_NORECENT;
break;
}
// if there is no break, add one after Programs
if (!g_CustomMenu.empty())
{
bool bBreak=false;
int after=-1;
for (int i=0;g_CustomMenu[i].id!=MENU_LAST;i++)
{
if (g_CustomMenu[i].id==MENU_COLUMN_BREAK)
bBreak=true;
if (g_CustomMenu[i].id==MENU_PROGRAMS)
after=i;
}
if (!bBreak && after>=0)
{
// add break
StdMenuItem br={NULL,MENU_COLUMN_BREAK};
const StdMenuItem *pBase=&g_CustomMenu[0];
g_CustomMenu.insert(g_CustomMenu.begin()+after+1,br);
// fix submenu pointers
for (std::vector<StdMenuItem>::iterator it=g_CustomMenu.begin();it!=g_CustomMenu.end();++it)
if (it->submenu)
{
int idx=(int)(it->submenu-pBase);
if (idx>after+1)
idx++;
it->submenu=&g_CustomMenu[idx];
}
}
}
// ignore extra search boxes
bool bSearchBox=false;
for (std::vector<StdMenuItem>::iterator it=g_CustomMenu.begin();it!=g_CustomMenu.end();++it)
{
if (it->id==MENU_SEARCH_BOX)
{
if (!bSearchBox)
bSearchBox=true;
else
it->id=MENU_IGNORE;
}
}
}
rootSettings=g_RootSettings;
return &g_CustomMenu[0];
}
void InitStdCommands7( void )
{
for (int i=0;i<g_StdCommands7Count;i++)
{
CStdCommand7 &command=g_StdCommands7[i];
if (command.nameID)
command.displayName=LoadStringEx(command.nameID);
else if (command.knownFolder)
{
CAbsolutePidl pidl;
if (SUCCEEDED(ShGetKnownFolderIDList(*command.knownFolder,&pidl)))
{
if (_wcsicmp(command.command,L"control_panel")==0)
{
ILRemoveLastID(pidl);
}
CComString pName;
if (SUCCEEDED(SHGetNameFromIDList(pidl,SIGDN_NORMALDISPLAY,&pName)))
command.displayName=pName;
}
}
else if (command.knownLink)
{
CAbsolutePidl pidl;
if (SUCCEEDED(MenuParseDisplayName(command.knownLink,&pidl,NULL,NULL)))
{
CComString pName;
if (SUCCEEDED(SHGetNameFromIDList(pidl,SIGDN_NORMALDISPLAY,&pName)))
command.displayName=pName;
}
}
if (command.displayName.IsEmpty())
command.displayName=command.command;
}
std::sort(g_StdCommands7+1,g_StdCommands7+g_StdCommands7Count-1);
}
+35
View File
@@ -0,0 +1,35 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
struct StdMenuItem;
const StdMenuItem *ParseCustomMenu( unsigned int &rootSettings );
struct CStdCommand7
{
enum
{
ITEM_SINGLE=1, // this item never has sub-menu
ITEM_FOLDER=2, // this item always has sub-menu
ITEM_COMPUTER=4, // this item can be expanded only one level
};
const wchar_t *command;
int nameID;
const wchar_t *label;
const wchar_t *tip;
const wchar_t *icon;
const KNOWNFOLDERID *knownFolder;
const wchar_t *knownLink;
unsigned int settings;
unsigned int flags;
CString displayName; // for the settings UI
bool operator<( const CStdCommand7 &command ) { return displayName<command.displayName; }
};
extern CStdCommand7 g_StdCommands7[];
extern const int g_StdCommands7Count;
void InitStdCommands7( void );
+936
View File
@@ -0,0 +1,936 @@
// ## MenuContainer.h
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
// DragDrop.cpp - handles the drag and drop functionality of CMenuContainer
#include "stdafx.h"
#include "MenuContainer.h"
#include "StartMenuDLL.h"
#include "SettingsUI.h"
#include "FNVHash.h"
#include "Settings.h"
#include "ResourceHelper.h"
#include "Translations.h"
#include "FileHelper.h"
#include <algorithm>
class CMetroDataObject: public IDataObject
{
public:
CMetroDataObject( const wchar_t *path );
~CMetroDataObject( void );
// from IUnknown
virtual HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid, void **ppvObject );
virtual ULONG STDMETHODCALLTYPE AddRef( void )
{
return ++m_RefCount;
}
virtual ULONG STDMETHODCALLTYPE Release( void )
{
if (m_RefCount==1)
{
delete this;
return 0;
}
return --m_RefCount;
}
// from IDataObject
virtual HRESULT STDMETHODCALLTYPE GetData( FORMATETC *pformatetcIn, STGMEDIUM *pmedium );
virtual HRESULT STDMETHODCALLTYPE SetData( FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease ) { return E_NOTIMPL; }
virtual HRESULT STDMETHODCALLTYPE GetDataHere( FORMATETC *pformatetc, STGMEDIUM *pmedium ) { return E_NOTIMPL; }
virtual HRESULT STDMETHODCALLTYPE QueryGetData( FORMATETC *pformatetc );
virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc( FORMATETC *pformatectIn, FORMATETC *pformatetcOut );
virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc( DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc );
virtual HRESULT STDMETHODCALLTYPE DAdvise( FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection ) { return OLE_E_ADVISENOTSUPPORTED; }
virtual HRESULT STDMETHODCALLTYPE DUnadvise( DWORD dwConnection ) { return E_NOTIMPL; }
virtual HRESULT STDMETHODCALLTYPE EnumDAdvise( IEnumSTATDATA **ppenumAdvise ) { return OLE_E_ADVISENOTSUPPORTED; }
private:
int m_RefCount;
std::map<CLIPFORMAT,HGLOBAL> m_Data;
bool m_bContents;
void SetData( CLIPFORMAT format, HGLOBAL data );
};
static CLIPFORMAT g_PreferredEffectFormat;
CMetroDataObject::CMetroDataObject( const wchar_t *path )
{
m_RefCount=0;
m_bContents=false;
SetData(CMenuContainer::s_MetroLinkFormat,NULL);
if (!path) return;
HANDLE file=CreateFile(path,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (file!=INVALID_HANDLE_VALUE)
{
DWORD size=GetFileSize(file,NULL);
if (size>0)
{
HGLOBAL hContents=NULL, hDesc=NULL;
hContents=GlobalAlloc(GMEM_MOVEABLE,size);
if (hContents)
hDesc=GlobalAlloc(GMEM_MOVEABLE|GMEM_ZEROINIT,sizeof(FILEGROUPDESCRIPTOR));
if (hDesc)
{
FILEGROUPDESCRIPTOR *desc=(FILEGROUPDESCRIPTOR*)GlobalLock(hDesc);
desc->cItems=1;
desc->fgd->dwFlags=FD_ATTRIBUTES|FD_FILESIZE|FD_LINKUI|FD_UNICODE;
desc->fgd->dwFileAttributes=FILE_ATTRIBUTE_NORMAL;
desc->fgd->nFileSizeLow=size;
Strcpy(desc->fgd->cFileName,_countof(desc->fgd->cFileName),PathFindFileName(path));
GlobalUnlock(hDesc);
SetData(CMenuContainer::s_DescriptorFormat,hDesc);
hDesc=NULL;
DWORD q;
if (!ReadFile(file,GlobalLock(hContents),size,&q,NULL))
q=0;
GlobalUnlock(hContents);
if (q==size)
{
SetData(CMenuContainer::s_ContentsFormat,hContents);
hContents=NULL;
m_bContents=true;
}
}
if (hContents) GlobalFree(hContents);
if (hDesc) GlobalFree(hDesc);
}
CloseHandle(file);
}
}
CMetroDataObject::~CMetroDataObject( void )
{
for (std::map<CLIPFORMAT,HGLOBAL>::iterator it=m_Data.begin();it!=m_Data.end();++it)
if (it->second)
GlobalFree(it->second);
}
HRESULT STDMETHODCALLTYPE CMetroDataObject::QueryInterface( REFIID riid, void **ppvObject )
{
if (riid==IID_IDataObject || riid==IID_IUnknown)
{
AddRef();
*ppvObject=this;
return S_OK;
}
*ppvObject=NULL;
return E_NOINTERFACE;
}
HRESULT STDMETHODCALLTYPE CMetroDataObject::GetData( FORMATETC *pformatetcIn, STGMEDIUM *pmedium )
{
if (!pformatetcIn || !pmedium)
return E_INVALIDARG;
pmedium->hGlobal=NULL;
pmedium->pUnkForRelease=NULL;
if (pformatetcIn->dwAspect!=DVASPECT_CONTENT) return DV_E_DVASPECT;
if (!(pformatetcIn->tymed&TYMED_HGLOBAL)) return DV_E_TYMED;
std::map<CLIPFORMAT,HGLOBAL>::iterator it=m_Data.find(pformatetcIn->cfFormat);
if (it==m_Data.end()) return DV_E_FORMATETC;
wchar_t name[100];
GetClipboardFormatName(pformatetcIn->cfFormat,name,100);
Trace(L"GetData: %s, %d",name,pformatetcIn->cfFormat);
pmedium->tymed=TYMED_HGLOBAL;
SIZE_T size=GlobalSize(it->second);
pmedium->hGlobal=GlobalAlloc(GMEM_MOVEABLE,size);
if (!pmedium->hGlobal) return E_OUTOFMEMORY;
void *src=GlobalLock(it->second);
void *dst=GlobalLock(pmedium->hGlobal);
memcpy(dst,src,size);
GlobalUnlock(pmedium->hGlobal);
GlobalUnlock(it->second);
return S_OK;
}
void CMetroDataObject::SetData( CLIPFORMAT format, HGLOBAL data )
{
Assert(m_Data.find(format)==m_Data.end());
m_Data[format]=data;
}
HRESULT STDMETHODCALLTYPE CMetroDataObject::QueryGetData( FORMATETC *pformatetc )
{
if (!pformatetc) return E_INVALIDARG;
if (pformatetc->dwAspect!=DVASPECT_CONTENT) return DV_E_DVASPECT;
if (!(pformatetc->tymed&TYMED_HGLOBAL)) return DV_E_TYMED;
if (m_Data.find(pformatetc->cfFormat)==m_Data.end()) return DV_E_CLIPFORMAT;
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMetroDataObject::GetCanonicalFormatEtc( FORMATETC *pformatectIn, FORMATETC *pformatetcOut )
{
return pformatetcOut?DATA_S_SAMEFORMATETC:E_INVALIDARG;
}
HRESULT STDMETHODCALLTYPE CMetroDataObject::EnumFormatEtc( DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc )
{
if (!ppenumFormatEtc) return E_POINTER;
*ppenumFormatEtc=NULL;
if (dwDirection == DATADIR_GET)
{
FORMATETC formats[] =
{
{CMenuContainer::s_MetroLinkFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL},
{CMenuContainer::s_DescriptorFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL},
{CMenuContainer::s_ContentsFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL},
};
HRESULT hr = SHCreateStdEnumFmtEtc(m_bContents?3:1,formats,ppenumFormatEtc);
return hr;
}
return E_NOTIMPL;
}
CComPtr<IDataObject> CMenuContainer::CreateMetroDataObject( const CItemManager::ItemInfo *pInfo )
{
CString path;
if (!pInfo->PATH.IsEmpty())
{
CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS);
path=pInfo->GetPath();
}
IDataObject *pDataObjectIn=new CMetroDataObject(path);
CComPtr<IDataObject> pDataObject;
SHCreateDataObject(NULL,0,NULL,pDataObjectIn,IID_IDataObject,(void**)&pDataObject);
if (pDataObject)
{
if (m_pDragSourceHelper)
{
g_ItemManager.UpdateItemInfo(pInfo,CItemManager::INFO_EXTRA_LARGE_ICON|CItemManager::INFO_REFRESH_NOW,false);
int iconSize=CItemManager::EXTRA_LARGE_ICON_SIZE;
SHDRAGIMAGE di={{iconSize,iconSize},{iconSize/2,iconSize},NULL,CLR_NONE};
di.hbmpDragImage=(HBITMAP)CopyImage(pInfo->extraLargeIcon->bitmap,IMAGE_BITMAP,0,0,0);
m_pDragSourceHelper->SetFlags(DSH_ALLOWDROPDESCRIPTIONTEXT);
if (di.hbmpDragImage)
m_pDragSourceHelper->InitializeFromBitmap(&di,pDataObject);
}
}
else
{
pDataObjectIn->Release();
}
return pDataObject;
}
///////////////////////////////////////////////////////////////////////////////
bool CMenuContainer::DragOutApps( const CItemManager::ItemInfo *pInfo )
{
// drag the Apps tree item for reordering
CComPtr<IDataObject> pDataObj=CreateMetroDataObject(pInfo);
// do drag drop
s_pDragSource=NULL;
s_bDragFromTree=false;
m_DragIndex=-1;
s_bPreventClosing=true;
m_DragTime=GetMessageTime();
SetTimer(TIMER_DRAG,100);
s_bDragClosed=false;
DWORD dwEffect=DROPEFFECT_MOVE;
HRESULT res=SHDoDragDrop(NULL,pDataObj,NULL,dwEffect,&dwEffect);
s_pDragSource=NULL;
s_bDragFromTree=false;
if (!m_bDestroyed)
KillTimer(TIMER_DRAG);
HideTemp(false);
s_bPreventClosing=false;
if (s_bDragClosed)
{
for (std::vector<CMenuContainer*>::iterator it=s_Menus.begin();it!=s_Menus.end();++it)
if (!(*it)->m_bDestroyed)
(*it)->PostMessage(WM_CLOSE);
}
return true;
}
bool CMenuContainer::DragOut( int index, bool bApp )
{
if (!(m_Options&CONTAINER_DRAG) || s_bNoDragDrop) return false;
const MenuItem &item=m_Items[index];
if (!item.pItem1 || (item.id!=MENU_NO && item.id!=MENU_RECENT)) return false;
bool bLeft=(GetKeyState(VK_LBUTTON)<0);
bool bRight=(GetKeyState(VK_RBUTTON)<0);
if (!bLeft && !bRight) return false;
CComPtr<IShellFolder> pFolder;
PCUITEMID_CHILD child;
// get IDataObject for the current item
CComPtr<IDataObject> pDataObj;
bool bProtectedLink=false;
if (bApp && GetWinVersion()<WIN_VER_WIN10)
pDataObj=CreateMetroDataObject(item.pItemInfo);
else
{
bool bMetroLink=false;
if (FAILED(SHBindToParent(item.pItem1,IID_IShellFolder,(void**)&pFolder,&child)))
return true;
if (FAILED(pFolder->GetUIObjectOf(NULL,1,&child,IID_IDataObject,NULL,(void**)&pDataObj)))
return true;
{
CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS);
bProtectedLink=!m_bSubMenu || item.pItemInfo->IsProtectedLink();
bMetroLink=item.pItemInfo->IsMetroLink();
}
if (m_pDragSourceHelper && bMetroLink)
{
g_ItemManager.UpdateItemInfo(item.pItemInfo,CItemManager::INFO_EXTRA_LARGE_ICON|CItemManager::INFO_REFRESH_NOW,false);
int iconSize=CItemManager::EXTRA_LARGE_ICON_SIZE;
SHDRAGIMAGE di={{iconSize,iconSize},{iconSize/2,iconSize},NULL,CLR_NONE};
di.hbmpDragImage=(HBITMAP)CopyImage(item.pItemInfo->extraLargeIcon->bitmap,IMAGE_BITMAP,0,0,0);
m_pDragSourceHelper->SetFlags(DSH_ALLOWDROPDESCRIPTIONTEXT);
if (di.hbmpDragImage)
m_pDragSourceHelper->InitializeFromBitmap(&di,pDataObj);
}
}
if (bProtectedLink)
{
// protected links default to DROPEFFECT_LINK
HGLOBAL hGlobal=GlobalAlloc(GMEM_MOVEABLE,4);
if (hGlobal)
{
*(DWORD*)GlobalLock(hGlobal)=DROPEFFECT_LINK;
GlobalUnlock(hGlobal);
FORMATETC format={s_PreferredEffectFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL};
STGMEDIUM medium={TYMED_HGLOBAL};
medium.hGlobal=hGlobal;
if (FAILED(pDataObj->SetData(&format,&medium,TRUE)))
GlobalFree(hGlobal);
}
}
// force synchronous operation
{
CComQIPtr<IDataObjectAsyncCapability> pAsync=pDataObj;
if (pAsync)
pAsync->SetAsyncMode(FALSE);
}
// do drag drop
s_pDragSource=this;
s_bDragFromTree=(index==m_ProgramTreeIndex);
m_DragIndex=index;
s_bDragMovable=(item.id==MENU_NO && index<m_OriginalCount) || (item.jumpIndex>=0 && s_JumpList.groups[LOWORD(item.jumpIndex)].type==CJumpGroup::TYPE_PINNED);
s_bPreventClosing=true;
m_DragTime=GetMessageTime();
s_bDragClosed=false;
SetTimer(TIMER_DRAG,100);
DWORD dwEffect=DROPEFFECT_COPY|DROPEFFECT_MOVE|DROPEFFECT_LINK;
HRESULT res=SHDoDragDrop(NULL,pDataObj,NULL,dwEffect,&dwEffect);
s_pDragSource=NULL;
s_bDragFromTree=false;
if (!m_bDestroyed)
KillTimer(TIMER_DRAG);
s_bDragMovable=false;
HideTemp(false);
s_bPreventClosing=false;
if (s_bDragClosed)
{
for (std::vector<CMenuContainer*>::iterator it=s_Menus.begin();it!=s_Menus.end();++it)
if (!(*it)->m_bDestroyed)
(*it)->PostMessage(WM_CLOSE);
return true;
}
if (pFolder && res==DRAGDROP_S_DROP && !m_bDestroyed)
{
// check if the item still exists. refresh the menu if it doesn't
SFGAOF flags=SFGAO_VALIDATE;
if (FAILED(pFolder->GetAttributesOf(1,&child,&flags)))
{
SetActiveWindow();
// close all submenus
for (int i=(int)s_Menus.size()-1;s_Menus[i]!=this;i--)
if (!s_Menus[i]->m_bDestroyed)
s_Menus[i]->DestroyWindow();
// update menu
PostRefreshMessage();
}
}
// activate the top non-destroyed menu
for (int i=(int)s_Menus.size()-1;i>=0;i--)
if (!s_Menus[i]->m_bDestroyed)
{
SetForegroundWindow(s_Menus[i]->m_hWnd);
s_Menus[i]->SetActiveWindow();
break;
}
return true;
}
void CMenuContainer::SetDropTip( IDataObject *pDataObj, bool bPin )
{
DROPDESCRIPTION desc={bPin?DROPIMAGE_LINK:DROPIMAGE_INVALID};
Strcpy(desc.szMessage,_countof(desc.szMessage),bPin?FindTranslation(L"Menu.PinStart",L"Pin to Start menu"):L"");
HGLOBAL hDesc=GlobalAlloc(GMEM_MOVEABLE,sizeof(desc));
if (hDesc)
{
memcpy(GlobalLock(hDesc),&desc,sizeof(desc));
GlobalUnlock(hDesc);
FORMATETC fmte={CMenuContainer::s_DropDescriptionFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL};
STGMEDIUM medium={};
medium.tymed=TYMED_HGLOBAL;
medium.hGlobal=hDesc;
if (FAILED(pDataObj->SetData(&fmte,&medium,TRUE)))
{
GlobalFree(hDesc);
}
}
}
void CMenuContainer::GetDragEffect( DWORD &grfKeyState, DWORD *pdwEffect )
{
grfKeyState&=MK_SHIFT|MK_CONTROL|MK_ALT;
if (s_bNoDragDrop || !(m_Options&CONTAINER_DROP))
{
*pdwEffect=DROPEFFECT_NONE; // can't drop here
return;
}
if (!m_pDropFolder[0] && !(s_pDragSource==this && s_bDragMovable && !s_bDragFromTree))
{
*pdwEffect=DROPEFFECT_NONE; // can't drop here
return;
}
// only accept known data formats
FORMATETC format1={s_ShellFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL};
FORMATETC format2={s_ShellUrlFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL};
FORMATETC format3={s_MetroLinkFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL};
if (m_pDragObject->QueryGetData(&format1)!=S_OK && m_pDragObject->QueryGetData(&format2)!=S_OK && m_pDragObject->QueryGetData(&format3)!=S_OK)
{
*pdwEffect=DROPEFFECT_NONE;
return;
}
if (s_pDragSource)
{
if (s_pDragSource->m_Items[s_pDragSource->m_DragIndex].id==MENU_RECENT)
*pdwEffect&=DROPEFFECT_LINK; // dragging a recent item (allow only link)
else if (grfKeyState==0 && !s_bRightDrag && s_pDragSource==this && s_bDragMovable && !s_bDragFromTree)
*pdwEffect&=DROPEFFECT_MOVE; // dragging within the same menu - use move by default
else if (grfKeyState==0 && !s_bRightDrag)
*pdwEffect&=(s_bDragMovable && m_bSubMenu && (s_pDragSource->m_Options&CONTAINER_PROGRAMS))?DROPEFFECT_MOVE:DROPEFFECT_LINK; // dragging normal item to a different menu - default to move or link
}
if (m_pDragObject->QueryGetData(&format3)==S_OK)
{
if (m_Options&CONTAINER_APPS)
*pdwEffect&=(s_pDragSource==this && !s_bDragFromTree)?DROPEFFECT_MOVE:DROPEFFECT_NONE; // dragging a metro link to Apps folder
else
*pdwEffect&=DROPEFFECT_LINK; // dragging a metro link to another folder
}
// handle keys
if (!s_bRightDrag)
{
if (grfKeyState==MK_SHIFT)
*pdwEffect&=DROPEFFECT_MOVE;
if (grfKeyState==MK_CONTROL)
*pdwEffect&=DROPEFFECT_COPY;
if (grfKeyState==(MK_CONTROL|MK_SHIFT) || grfKeyState==MK_ALT)
*pdwEffect&=DROPEFFECT_LINK;
}
else if (!m_bSubMenu && grfKeyState==0 && (*pdwEffect&DROPEFFECT_LINK))
{
// when a file is dragged to the start menu he usually wants to make a shortcut
// so when right-dragging, and linking is allowed, make it the default
grfKeyState=MK_SHIFT|MK_CONTROL;
}
}
HRESULT STDMETHODCALLTYPE CMenuContainer::DragEnter( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect )
{
s_bRightDrag=(grfKeyState&MK_RBUTTON)!=0;
m_pDragObject=pDataObj;
if (m_pDropTargetHelper)
{
POINT p={pt.x,pt.y};
m_pDropTargetHelper->DragEnter(m_hWnd,m_pDragObject,&p,*pdwEffect);
}
if (!m_bSubMenu && !s_bShowTopEmpty)
{
// when dragging over the main menu, show an (Empty) item at the top so the user can drop items there
for (size_t i=0;i<m_Items.size();i++)
if (m_Items[i].id==MENU_EMPTY_TOP)
{
s_bShowTopEmpty=true;
if (m_ScrollHeight>0 && m_FolderHash[0])
s_MenuScrolls[m_FolderHash[0]]=m_ScrollOffset;
else
s_MenuScrolls.erase(m_FolderHash[0]);
InitWindow();
break;
}
}
m_DragHoverTime=GetMessageTime()-10000;
m_DragHoverItem=-1;
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuContainer::DragOver( DWORD grfKeyState, POINTL pt, DWORD *pdwEffect )
{
POINT p0={pt.x,pt.y};
if (m_pDropTargetHelper)
m_pDropTargetHelper->DragOver(&p0,*pdwEffect);
POINT p=p0;
ScreenToClient(&p);
int index=HitTest(p,NULL,true);
int mark=-1;
bool bAfter=false;
const CItemManager::ItemInfo *pInfo=NULL;
RECT rcItem;
if (index>=0)
{
GetItemRect(index,rcItem);
if (!m_bSubMenu && index<m_OriginalCount && (!s_pDragSource || s_bDragFromTree || s_bDragMovable || m_Items[index].id!=MENU_RECENT))
{
int h=(rcItem.bottom-rcItem.top)/4;
if (m_Items[index].id!=MENU_NO || (p.y>=rcItem.top+h && p.y<rcItem.bottom-h))
pInfo=m_Items[index].pItemInfo;
}
}
int dropTargetIndex=pInfo?index:-1;
if (m_pDropTargetInfo!=pInfo)
{
if (m_pDropTarget)
{
m_pDropTarget->DragLeave();
m_pDropTarget=NULL;
}
if (pInfo && pInfo->GetPidl())
{
m_pDropTargetInfo=pInfo;
CComPtr<IShellItem> pItem;
SHCreateItemFromIDList(pInfo->GetPidl(),IID_IShellItem,(void**)&pItem);
if (pItem)
{
pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IDropTarget,(void**)&m_pDropTarget);
if (m_pDropTarget)
{
m_pDropTarget->DragEnter(m_pDragObject,grfKeyState,pt,pdwEffect);
if (*pdwEffect==0)
m_pDropTargetInfo=NULL;
}
}
}
else
m_pDropTargetInfo=NULL;
}
if (!m_pDropTargetInfo)
{
dropTargetIndex=-1;
m_pDropTarget=NULL;
}
if (dropTargetIndex!=m_DropTargetIndex)
{
InvalidateItem(dropTargetIndex);
InvalidateItem(m_DropTargetIndex);
m_DropTargetIndex=dropTargetIndex;
}
if (m_pDropTarget)
{
SetDropTip(m_pDragObject,false);
SetInsertMark(-1,false);
return m_pDropTarget->DragOver(grfKeyState,pt,pdwEffect);
}
s_bRightDrag=(grfKeyState&MK_RBUTTON)!=0;
GetDragEffect(grfKeyState,pdwEffect);
if (index>=0 && index<m_OriginalCount && m_Items[index].id!=MENU_RECENT)
{
// set the new insert mark
mark=index;
int y=(rcItem.top+rcItem.bottom)/2;
if (p.y<y)
{
// insert above
if (m_Items[index].id!=MENU_NO && m_Items[index].id!=MENU_EMPTY && m_Items[index].id!=MENU_EMPTY_TOP && (index==0 || m_Items[index-1].id!=MENU_NO))
mark=-1;
}
else
{
// insert below
bAfter=true;
if (m_Items[index].id!=MENU_NO && m_Items[index].id!=MENU_EMPTY && m_Items[index].id!=MENU_EMPTY_TOP && (index==m_Items.size()-1 || m_Items[index+1].id!=MENU_NO))
mark=-1;
}
if (mark==-1 && m_Items[index].bFolder && (m_Items[index].bPrograms || m_Items[index].id==MENU_NO))
{
SetHotItem(index);
}
else
{
SetHotItem(-1);
}
if (!*pdwEffect || ((m_Options&CONTAINER_AUTOSORT) && s_pDragSource==this && !s_bDragFromTree && s_bDragMovable))
mark=-1;
}
else if (s_pDragSource==this && !s_bDragFromTree && s_bDragMovable && m_Items[m_DragIndex].jumpIndex>=0 && index>=0 && m_Items[index].jumpIndex>=0)
{
int groupIndex=LOWORD(m_Items[m_DragIndex].jumpIndex);
if (s_JumpList.groups[groupIndex].type==CJumpGroup::TYPE_PINNED && LOWORD(m_Items[index].jumpIndex)==groupIndex && (*pdwEffect&DROPEFFECT_MOVE))
{
// reorder jump list
*pdwEffect=DROPEFFECT_MOVE;
int y=(rcItem.top+rcItem.bottom)/2;
bAfter=p.y>=y;
SetHotItem(-1);
}
else
index=-1;
mark=index;
}
else
{
if (!m_bSubMenu && index<m_OriginalCount && PtInRect(&m_rContent,p) && (s_pDragSource!=this || s_bDragFromTree || !s_bDragMovable || m_Items[m_DragIndex].id==MENU_RECENT))
{
if (s_bWin7Style)
{
for (int i=0;i<m_ScrollCount;i++)
{
if (m_Items[i].id==MENU_NO || m_Items[i].id==MENU_EMPTY || m_Items[i].id==MENU_EMPTY_TOP)
mark=i;
}
}
else
mark=m_ScrollCount-1;
bAfter=true;
}
index=-1;
}
SetInsertMark(mark,bAfter);
UpdateScroll(&p,false);
// check if the hover delay is done and it's time to open the item
if (index>=0 && index==m_DragHoverItem)
{
int hoverTime=(int)s_HoverTime;
if (m_Items[index].id==MENU_PROGRAMS && GetSettingInt(L"ProgramsStyle")==PROGRAMS_INLINE)
hoverTime=(int)s_ProgramsHoverTime;
if ((GetMessageTime()-m_DragHoverTime)>hoverTime && m_Submenu!=m_DragHoverItem)
{
// expand m_DragHoverItem
if (index<m_OriginalCount && !m_Items[index].bHasJumpList && (!m_Items[index].bFolder || m_Items[index].pItem1))
{
ActivateData data;
data.bNoModifiers=GetKeyState(VK_SHIFT)<0;
ActivateItem(index,ACTIVATE_OPEN,NULL,&data);
}
if (!m_Items[index].bFolder)
SetHotItem(-1);
m_DragHoverTime=GetMessageTime();
}
}
else
{
m_DragHoverItem=index;
m_DragHoverTime=GetMessageTime();
}
if (m_InsertMark<0)
*pdwEffect=0;
int before=m_InsertMark;
if (before>=0 && m_bInsertAfter && (before!=0 || (m_Items[0].id!=MENU_EMPTY && m_Items[0].id!=MENU_EMPTY_TOP)))
before++;
if (before>=0 && !m_bSubMenu && (*pdwEffect&DROPEFFECT_LINK) && (s_pDragSource!=this || s_bDragFromTree || !s_bDragMovable))
{
*pdwEffect=DROPEFFECT_LINK;
SetDropTip(m_pDragObject,true);
}
else
SetDropTip(m_pDragObject,false);
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuContainer::DragLeave( void )
{
if (m_pDropTarget)
{
m_pDropTarget->DragLeave();
m_pDropTarget=NULL;
}
InvalidateItem(m_DropTargetIndex);
m_DropTargetIndex=-1;
m_pDropTargetInfo=NULL;
if (m_pDropTargetHelper)
m_pDropTargetHelper->DragLeave();
SetDropTip(m_pDragObject,false);
SetInsertMark(-1,false);
m_pDragObject=NULL;
UpdateScroll(NULL,false);
return S_OK;
}
HRESULT STDMETHODCALLTYPE CMenuContainer::Drop( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect )
{
if (s_pDragSource)
{
if (!s_pDragSource->m_bDestroyed)
s_pDragSource->KillTimer(TIMER_DRAG);
}
if (m_pDropTargetHelper)
{
POINT p={pt.x,pt.y};
m_pDropTargetHelper->Drop(pDataObj,&p,*pdwEffect);
}
if (m_pDropTarget)
{
m_pDragObject=NULL;
HRESULT res=m_pDropTarget->Drop(pDataObj,grfKeyState,pt,pdwEffect);
m_pDropTarget=NULL;
return res;
}
GetDragEffect(grfKeyState,pdwEffect);
m_pDragObject=NULL;
int before=m_InsertMark;
if (before<0) return S_OK;
if (before>=0 && m_bInsertAfter && (before!=0 || (m_Items[0].id!=MENU_EMPTY && m_Items[0].id!=MENU_EMPTY_TOP)))
before++;
// clear the insert mark
SetInsertMark(-1,false);
int folderIndex=0;
if (before>=0)
folderIndex=m_Items[min(before,(int)m_Items.size()-1)].priority>1?1:0;
if (s_pDragSource==this && !s_bDragFromTree && s_bDragMovable && (*pdwEffect&DROPEFFECT_MOVE) && m_DragIndex!=m_ProgramTreeIndex && m_Items[m_DragIndex].priority==(m_Items[min(before,(int)m_Items.size()-1)].priority&2))
{
if (before==m_DragIndex || before==m_DragIndex+1)
return S_OK;
// dropped in the same menu, just rearrange the items
PlayMenuSound(SOUND_DROP);
if (m_Items[m_DragIndex].jumpIndex>=0 && s_JumpList.groups[LOWORD(m_Items[m_DragIndex].jumpIndex)].type==CJumpGroup::TYPE_PINNED)
{
// reordering pinned item
int groupIdx=LOWORD(m_Items[m_DragIndex].jumpIndex);
int itemIdx=HIWORD(m_Items[m_DragIndex].jumpIndex);
for (int i=0;i<=m_DragIndex;i++)
{
if (m_Items[i].jumpIndex>=0 && LOWORD(m_Items[i].jumpIndex)==groupIdx)
{
// found first pinned index
PinJumpItem(s_JumpAppInfo,s_JumpList,groupIdx,itemIdx,true,before-i);
PostRefreshMessage();
break;
}
}
}
else if (!(m_Options&CONTAINER_AUTOSORT))
{
std::vector<SortMenuItem> items;
int skip1=0, skip2=0;
for (int i=0;i<m_OriginalCount;i++)
{
if (m_Items[i].id==MENU_NO)
{
SortMenuItem item(m_Items[i]);
items.push_back(item);
}
else
{
if (i<m_DragIndex) skip1++;
if (i<before) skip2++;
}
}
SortMenuItem drag=items[m_DragIndex-skip1];
items.erase(items.begin()+(m_DragIndex-skip1));
if (before-skip2>m_DragIndex-skip1)
before--;
items.insert(items.begin()+(before-skip2),drag);
SaveItemOrder(items);
if (m_bTwoColumns && s_MenuMode==MODE_JUMPLIST)
SetMenuMode(MODE_NORMAL);
PostRefreshMessage();
}
}
else if (m_pDropFolder[folderIndex])
{
// simulate dropping the object into the original folder
PlayMenuSound(SOUND_DROP);
if (before>=0 && !m_bSubMenu && (*pdwEffect&DROPEFFECT_LINK) && (s_pDragSource!=this || s_bDragFromTree || !s_bDragMovable))
*pdwEffect=DROPEFFECT_LINK;
bool bDropped=false;
if (!m_bSubMenu && (*pdwEffect&DROPEFFECT_LINK) && !s_bRightDrag)
{
// if dropping a single folder onto the main menu, create a fake folder
CComPtr<IShellItemArray> pArray;
if (SUCCEEDED(SHCreateShellItemArrayFromDataObject(pDataObj,IID_IShellItemArray,(void**)&pArray)))
{
DWORD count;
CComPtr<IShellItem> pItem;
if (SUCCEEDED(pArray->GetCount(&count)) && count==1 && SUCCEEDED(pArray->GetItemAt(0,&pItem)))
{
CComString pPath;
if (pItem->GetDisplayName(SIGDN_FILESYSPATH,&pPath)==S_OK && PathIsDirectory(pPath))
{
wchar_t path[_MAX_PATH];
if (SUCCEEDED(SHGetPathFromIDList(m_Path1[0],path)))
{
wchar_t fname[_MAX_FNAME];
Strcpy(fname,_countof(fname),PathFindFileName(pPath));
int len=Strlen(fname);
while (len>0 && (fname[len-1]=='\\' || fname[len-1]==':'))
len--;
fname[len]=0;
PathAppend(path,fname);
wchar_t finalPath[_MAX_PATH];
PathYetAnotherMakeUniqueName(finalPath,path,NULL,PathFindFileName(path));
if (CreateFakeFolder(pPath,finalPath))
{
bDropped=true;
wchar_t locName[_MAX_PATH];
int locIndex;
if (SHGetLocalizedName(pPath,locName,_countof(locName),&locIndex)==S_OK)
{
SHSetLocalizedName(finalPath,locName,locIndex);
}
}
}
}
}
}
}
if (!bDropped)
{
// must use IShellFolder to get to the drop target because the BindToHandler doesn't support passing the parent window (easily)
CComPtr<IShellFolder> pDesktop;
SHGetDesktopFolder(&pDesktop);
CComPtr<IShellFolder> pFolder;
CComPtr<IDropTarget> pTarget;
if (!pDesktop || FAILED(pDesktop->BindToObject(m_Path1[folderIndex],NULL,IID_IShellFolder,(void**)&pFolder)) || FAILED(pFolder->CreateViewObject(g_OwnerWindow,IID_IDropTarget,(void**)&pTarget)))
return S_OK;
DWORD dwEffect=*pdwEffect;
if (s_bRightDrag)
{
if (FAILED(pTarget->DragEnter(pDataObj,MK_RBUTTON|grfKeyState,pt,&dwEffect)))
return S_OK;
dwEffect=*pdwEffect;
pTarget->DragOver(MK_RBUTTON|grfKeyState,pt,&dwEffect);
}
else
{
if (FAILED(pTarget->DragEnter(pDataObj,MK_LBUTTON|grfKeyState,pt,&dwEffect)))
return S_OK;
dwEffect=*pdwEffect;
pTarget->DragOver(MK_LBUTTON|grfKeyState,pt,pdwEffect);
}
CComQIPtr<IDataObjectAsyncCapability> pAsync=pDataObj;
if (pAsync)
pAsync->SetAsyncMode(FALSE);
for (std::vector<CMenuContainer*>::iterator it=s_Menus.begin();it!=s_Menus.end();++it)
if (!(*it)->m_bDestroyed)
(*it)->EnableWindow(FALSE); // disable all menus
bool bAllPrograms=s_bAllPrograms;
if (bAllPrograms) ::EnableWindow(g_TopWin7Menu,FALSE);
bool bOld=s_bPreventClosing;
s_bPreventClosing=true;
AddRef();
pTarget->Drop(pDataObj,grfKeyState,pt,pdwEffect);
if (!bOld)
HideTemp(false);
s_bPreventClosing=bOld;
for (std::vector<CMenuContainer*>::iterator it=s_Menus.begin();it!=s_Menus.end();++it)
if (!(*it)->m_bDestroyed)
(*it)->EnableWindow(TRUE); // enable all menus
if (bAllPrograms) ::EnableWindow(g_TopWin7Menu,TRUE);
}
else
{
AddRef();
}
if (!m_bDestroyed)
{
SetForegroundWindow(m_hWnd);
SetActiveWindow();
SetFocus();
}
if (before>=0 && !(m_Options&CONTAINER_AUTOSORT))
{
std::vector<SortMenuItem> items;
int skip=0;
for (int i=0;i<m_OriginalCount;i++)
{
if (m_Items[i].id==MENU_NO)
{
SortMenuItem item(m_Items[i]);
items.push_back(item);
}
else if (i<before)
skip++;
}
SortMenuItem ins(L"",FNV_HASH0,false,false,folderIndex*2,0);
items.insert(items.begin()+(before-skip),ins);
SaveItemOrder(items);
}
if (m_bTwoColumns && s_MenuMode==MODE_JUMPLIST)
SetMenuMode(MODE_NORMAL);
PostRefreshMessage();
Release();
}
return S_OK;
}
///////////////////////////////////////////////////////////////////////////////
HRESULT STDMETHODCALLTYPE CDropTargetProxy::DragEnter( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect )
{
if (!m_pOwner) return E_FAIL;
return m_pOwner->DragEnter(pDataObj,grfKeyState,pt,pdwEffect);
}
HRESULT STDMETHODCALLTYPE CDropTargetProxy::DragOver( DWORD grfKeyState, POINTL pt, DWORD *pdwEffect )
{
if (!m_pOwner) return E_FAIL;
return m_pOwner->DragOver(grfKeyState,pt,pdwEffect);
}
HRESULT STDMETHODCALLTYPE CDropTargetProxy::DragLeave( void )
{
if (!m_pOwner) return E_FAIL;
return m_pOwner->DragLeave();
}
HRESULT STDMETHODCALLTYPE CDropTargetProxy::Drop( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect )
{
if (!m_pOwner) return E_FAIL;
return m_pOwner->Drop(pDataObj,grfKeyState,pt,pdwEffect);
}
+61
View File
@@ -0,0 +1,61 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
// CDropTargetProxy - a wrapper for another object's IDropTarget. On Windows 8.1 the interface is not properly released
// when the window is destroyed during a drag operation. So the wrapper is used as a decoy to minimize the leaked resources
class CDropTargetProxy: public IDropTarget
{
public:
CDropTargetProxy( IDropTarget *pOwner )
{
m_pOwner=pOwner;
m_RefCount=0;
}
~CDropTargetProxy( void )
{
}
void Reset( void )
{
m_pOwner=NULL;
}
// IUnknown
virtual STDMETHODIMP QueryInterface( REFIID riid, void **ppvObject )
{
*ppvObject=NULL;
if (IID_IUnknown==riid || IID_IDropTarget==riid)
{
AddRef();
*ppvObject=static_cast<IDropTarget*>(this);
return S_OK;
}
return E_NOINTERFACE;
}
virtual ULONG STDMETHODCALLTYPE AddRef( void )
{
return InterlockedIncrement(&m_RefCount);
}
virtual ULONG STDMETHODCALLTYPE Release( void )
{
long nTemp=InterlockedDecrement(&m_RefCount);
if (!nTemp) delete this;
return nTemp;
}
// IDropTarget
virtual HRESULT STDMETHODCALLTYPE DragEnter( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect );
virtual HRESULT STDMETHODCALLTYPE DragOver( DWORD grfKeyState, POINTL pt, DWORD *pdwEffect );
virtual HRESULT STDMETHODCALLTYPE DragLeave( void );
virtual HRESULT STDMETHODCALLTYPE Drop( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect );
private:
IDropTarget *m_pOwner;
LONG m_RefCount;
};
File diff suppressed because it is too large Load Diff
+480
View File
@@ -0,0 +1,480 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
#include "ComHelper.h"
#include <map>
#include <set>
#include <list>
#include <vector>
interface IImageList2;
interface IWICImagingFactory;
// CItemManager - global cache for item information
class CItemManager;
extern CItemManager g_ItemManager;
class CItemManager
{
public:
CItemManager( void );
~CItemManager( void );
static int SMALL_ICON_SIZE;
static int LARGE_ICON_SIZE;
static int EXTRA_LARGE_ICON_SIZE;
// Initializes the manager. Called from DllMain
void Init( void );
void Close( void );
void ResetTempIcons( void );
void LoadCacheFile( void );
void SaveCacheFile( void );
void ClearCache( void );
static int GetDPI( bool bOverride ) { return (bOverride && s_DPIOverride)?s_DPIOverride:s_DPI; }
static bool GetDPIOverride( void ) { return s_DPIOverride!=0; }
enum TIconSizeType
{
ICON_SIZE_TYPE_SMALL,
ICON_SIZE_TYPE_LARGE,
ICON_SIZE_TYPE_EXTRA_LARGE,
ICON_SIZE_TYPE_SMALL_METRO,
ICON_SIZE_TYPE_LARGE_METRO,
ICON_SIZE_TYPE_EXTRA_LARGE_METRO,
ICON_SIZE_COUNT
};
struct IconInfo
{
TIconSizeType sizeType;
bool bTemp; // the icon will be destroyed when the menu closes
bool bMetro; // this is a Metro icon. it may depend on the system color
FILETIME timestamp;
HBITMAP bitmap; // bitmaps are guaranteed to be valid on the main thread (if the handle is read atomically)
void SetPath( const wchar_t *path );
const CString &GetPath( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ICONS)); return PATH; }
private:
CString PATH; // metro icon paths start with # and are not saved to cache file
friend class CItemManager;
};
enum
{
INFO_LINK=1, // bLink, appid, bNoPin, bNoNew, targetPidl, targetPath, arguments
INFO_METRO=2, // bLink, bMetroLink, bMetroApp, appid, metroName, package, packagePath, iconPath, color
INFO_LINK_APPID=4, // the appid is validated by the app resolver (for jumplists and UserAssist items). Can only be used from the main thread
INFO_SMALL_ICON=16,
INFO_LARGE_ICON=32,
INFO_EXTRA_LARGE_ICON=64,
INFO_NO_PATH=8192, // don't trust the parsing name
INFO_VALIDATE_FILE=16384, // if the path doesn't exist returns NULL
INFO_REFRESH_NOW=32768,
INFO_STARTSCREEN_ICON=65536,
INFO_DATA=INFO_LINK|INFO_METRO|INFO_LINK_APPID,
INFO_ICON=INFO_SMALL_ICON|INFO_LARGE_ICON|INFO_EXTRA_LARGE_ICON,
};
enum TLocation
{
LOCATION_UNKNOWN,
LOCATION_START_MENU,
LOCATION_GAMES,
LOCATION_DESKTOP,
LOCATION_TASKBAR,
LOCATION_METRO,
};
struct ItemInfo
{
ItemInfo( void )
{
smallIcon=largeIcon=extraLargeIcon=NULL;
validFlags=refreshFlags=0;
bIconOnly=bTemp=bLink=bExplicitAppId=bNoPin=bNoNew=bMetroLink=bMetroApp=bProtectedLink=false;
writestamp.dwHighDateTime=writestamp.dwLowDateTime=0;
createstamp.dwHighDateTime=createstamp.dwLowDateTime=0;
location=LOCATION_UNKNOWN;
}
// PATH never changes after the item is created. it can be accessed without a lock
CString PATH;
// these are replaced atomically with pointers that are always valid
const IconInfo *smallIcon;
const IconInfo *largeIcon;
const IconInfo *extraLargeIcon;
const CAbsolutePidl &GetPidl( void ) const { Assert(GetCurrentThreadId()==g_ItemManager.m_MainThreadId || RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return pidl; }
bool IsLink( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return bLink; }
bool IsMetroLink( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return bMetroLink; }
bool IsMetroApp( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return bMetroApp; }
bool IsProtectedLink( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return bProtectedLink; }
bool IsNoPin( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return bNoPin; }
bool IsNoNew( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return bNoNew; }
bool IsExplicitAppId( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return bExplicitAppId; }
const CString &GetPath( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return path; }
const CString &GetAppid( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return appid; }
const CString &GetTargetPATH( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return targetPATH; }
const CAbsolutePidl &GetTargetPidl( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return targetPidl; }
const CString &GetMetroName( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return metroName; }
const CString &GetIconPath( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return iconPath; }
const CString &GetPackagePath( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return packagePath; }
TLocation GetLocation( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return location; }
private:
CAbsolutePidl pidl;
CAbsolutePidl newPidl;
FILETIME writestamp; // valid only for items with paths. the rest are assumed to never change
FILETIME createstamp; // valid only for items with paths. the rest are assumed to never change
bool bIconOnly;
bool bTemp; // the item and its icon will be destroyed when the menu closes (only allowed for small-icon items)
bool bLink;
bool bMetroLink;
bool bMetroApp;
bool bProtectedLink; // Metro link in the common Programs folder
bool bNoPin; // the link shouldn't be pinned
bool bNoNew; // the link shouldn't be new
bool bExplicitAppId;
CString path; // only for a file
CString packagePath; // only for a metro app
TLocation location;
int validFlags;
int refreshFlags; // 0 if not in the queue, the item can't be deleted if this is !=0
CAbsolutePidl targetPidl;
CString targetPATH;
CString appid;
CString metroName;
CString iconPath;
DWORD iconColor;
int iconIndex; // used only if bIconOnly
const CAbsolutePidl &GetLatestPidl( void ) const { Assert(RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); return newPidl?newPidl:pidl; }
friend class CItemManager;
};
const ItemInfo *GetItemInfo( IShellItem *pItem, PIDLIST_ABSOLUTE pidl, int refreshFlags, TLocation location=LOCATION_UNKNOWN );
const ItemInfo *GetItemInfo( CString path, int refreshFlags, TLocation location=LOCATION_UNKNOWN );
const ItemInfo *GetCustomIcon( const wchar_t *location, int index, TIconSizeType iconSizeType, bool bTemp );
const ItemInfo *GetCustomIcon( const wchar_t *path, TIconSizeType iconSizeType );
const ItemInfo *GetMetroAppInfo10( const wchar_t *appid );
void UpdateItemInfo( const ItemInfo *pInfo, int refreshFlags, bool bHasWriteLock=false );
void WaitForShortcuts( const POINT &balloonPos );
bool IsTaskbarPinned( const wchar_t *appid );
void UpdateNewPrograms( const POINT &balloonPos );
bool IsNewProgram( PIDLIST_ABSOLUTE pidl, bool bFolder, bool bMetroApp );
bool HasNewPrograms( bool bReal ) { return m_bHasNewPrograms[bReal?0:1]; }
bool HasNewApps( bool bReal ) { return m_bHasNewApps[bReal?0:1]; }
void RefreshInfos( void );
void RemoveNewItem( PIDLIST_ABSOLUTE pItem1, PIDLIST_ABSOLUTE pItem2, bool bFolder );
void RemoveNewItems( bool bPrograms, bool bMetro );
void SaveOldItems( void );
enum TRWLock
{
RWLOCK_ITEMS,
RWLOCK_ICONS,
RWLOCK_COUNT,
};
class RWLock
{
public:
RWLock( CItemManager *pThis, bool bWrite, TRWLock index )
{
if (index==RWLOCK_COUNT)
{
m_pLock=NULL;
return;
}
#ifdef _DEBUG
m_pState=&g_LockState[index];
Assert(*m_pState==0);
#endif
m_pLock=&pThis->m_RWLocks[index];
m_bWrite=bWrite;
if (bWrite)
AcquireSRWLockExclusive(m_pLock);
else
AcquireSRWLockShared(m_pLock);
#ifdef _DEBUG
*m_pState=bWrite?2:1;
#endif
}
~RWLock( void )
{
if (!m_pLock) return;
#ifdef _DEBUG
Assert(*m_pState==(m_bWrite?2:1));
*m_pState=0;
#endif
if (m_bWrite)
ReleaseSRWLockExclusive(m_pLock);
else
ReleaseSRWLockShared(m_pLock);
}
#ifdef _DEBUG
static bool ThreadHasReadLock( TRWLock index ) { return g_LockState[index]!=0; }
static bool ThreadHasWriteLock( TRWLock index ) { return g_LockState[index]==2; }
#endif
private:
SRWLOCK *m_pLock;
bool m_bWrite;
#ifdef _DEBUG
int *m_pState;
static _declspec(thread) int g_LockState[RWLOCK_COUNT]; // 0 - none, 1 - read, 2 - write
#endif
};
private:
static int s_DPI;
static int s_DPIOverride;
enum TLock
{
LOCK_CLEANUP,
LOCK_COUNT,
};
SRWLOCK m_RWLocks[RWLOCK_COUNT];
CRITICAL_SECTION m_CriticalSections[LOCK_COUNT];
DWORD m_CriticalSectionOwners[LOCK_COUNT];
HANDLE m_StartEvent; // start the refresh thread
HANDLE m_WorkEvent; // kicks off the refresh thread
HANDLE m_ExitEvent; // exit all threads
HANDLE m_DoneEvent; // done preloading start menu items
HANDLE m_PreloadItemsThread;
HANDLE m_RefreshInfoThread;
HANDLE m_SaveCacheThread;
DWORD m_MainThreadId, m_PreloadItemsThreadId, m_RefreshInfoThreadId;
// per-thread info used to load icons
struct LoadIconData
{
int m_IconSizes[ICON_SIZE_COUNT];
HIMAGELIST m_TempLists[ICON_SIZE_COUNT];
CComPtr<IImageList2> m_pTempLists[ICON_SIZE_COUNT];
CComPtr<IWICImagingFactory> m_pFactory;
void Init( void );
void Close( void );
};
LoadIconData m_LoadIconData[3]; // one for each thread (main, preload, refresh)
LoadIconData &GetLoadIconData( void );
class Lock
{
public:
Lock( CItemManager *pThis, TLock index )
{
m_pSection=&pThis->m_CriticalSections[index];
EnterCriticalSection(m_pSection);
m_pOwner=&pThis->m_CriticalSectionOwners[index];
if (!*m_pOwner)
*m_pOwner=GetCurrentThreadId();
else
m_pOwner=NULL;
}
~Lock( void )
{
if (m_pOwner) *m_pOwner=0;
LeaveCriticalSection(m_pSection);
}
private:
CRITICAL_SECTION *m_pSection;
DWORD *m_pOwner;
};
bool ThreadHasLock( TLock index ) { return m_CriticalSectionOwners[index]==GetCurrentThreadId(); }
// requires LOCK_ITEMS to be held
void QueueItemInfo( ItemInfo *pInfo, int refreshFlags );
// doesn't require a lock
void RefreshItemInfo( ItemInfo *pInfo, int refreshFlags, IShellItem *pItem, bool bHasWriteLock );
void FindInCache( unsigned int hash, int &refreshFlags, const IconInfo *&smallIcon, const IconInfo *&largeIcon, const IconInfo *&extraLargeIcon );
void StoreInCache( unsigned int hash, const wchar_t *path, HBITMAP hSmallBitmap, HBITMAP hLargeBitmap, HBITMAP hExtraLargeBitmap, int refreshFlags, const IconInfo *&smallIcon, const IconInfo *&largeIcon, const IconInfo *&extraLargeIcon, bool bTemp, bool bMetro );
void LoadShellIcon( IShellItem *pItem, int refreshFlags, const IconInfo *&smallIcon, const IconInfo *&largeIcon, const IconInfo *&extraLargeIcon, const DWORD *pMetroColor );
void LoadMetroIcon( IShellItem *pItem, int &refreshFlags, const IconInfo *&smallIcon, const IconInfo *&largeIcon, const IconInfo *&extraLargeIcon, const DWORD *pMetroColor );
void LoadCustomIcon( const wchar_t *iconPath, int iconIndex, int refreshFlags, const IconInfo *&smallIcon, const IconInfo *&largeIcon, const IconInfo *&extraLargeIcon, bool bTemp );
HICON LoadShellIcon( int index, int iconSize );
HICON LoadShellIcon( int iconSize, IExtractIcon *pExtractW, const wchar_t *location, IExtractIconA *pExtractA, const char *locationA, int index );
HBITMAP BitmapFromIcon( HICON hIcon, int iconSize, bool bDestroyIcon=true );
bool m_bInitialized;
// sizes for all shell image lists <size, list>
std::vector<std::pair<int,int>> m_ListSizes;
// the key is a hash of the path or the pidl
std::multimap<unsigned int,ItemInfo> m_ItemInfos;
// the key is a hash of the uppercase appid (win10 only)
std::map<unsigned int,const ItemInfo*> m_MetroItemInfos10;
// hashes of appids that are for sure not valid
std::set<unsigned int> m_BlackListInfos10;
// the key is a hash of the location and index
std::multimap<unsigned int,IconInfo> m_IconInfos;
// bitmaps that were replaced but may still be used by the main thread
std::vector<HBITMAP> m_OldBitmaps;
const IconInfo *m_DefaultSmallIcon;
const IconInfo *m_DefaultLargeIcon;
const IconInfo *m_DefaultExtraLargeIcon;
// list of items to process in background
std::list<ItemInfo*> m_ItemQueue;
std::list<ItemInfo*> m_ItemQueueLow; // lower priority
std::vector<const ItemInfo*> m_NewPrograms;
std::vector<const ItemInfo*> m_NewProgramRoots;
unsigned int m_TransientHash;
bool m_bHasNewPrograms[2]; // 0 - for real, 1 - filtered
bool m_bHasNewApps[2]; // 0 - for real, 1 - filtered
bool m_bPreloadIcons;
bool m_bPreloadFavorites;
enum TLoadingStage
{
LOAD_STOPPED, // the loading threads are not running
LOAD_STOPPING, // the loading threads are stopping
LOAD_LOADING, // the loading threads are running
};
volatile TLoadingStage m_LoadingStage;
int m_LastCacheSave;
COLORREF m_OldSysAccentColor;
bool m_bOldInvertIcons;
void LoadFolderItems( IShellItem *pFolder, int refreshFlags, int levels, TLocation location );
void LoadMetroItems( int refreshFlags );
void PreloadItemsThread( void );
void CreateDefaultIcons( void );
static DWORD CALLBACK StaticPreloadItemsThread( void *param );
void RefreshInfoThread( void );
static DWORD CALLBACK StaticRefreshInfoThread( void *param );
static DWORD CALLBACK SaveCacheFileThread( void *param );
// all paths are in caps and end with \
CString m_RootStartMenu1;
CString m_RootStartMenu2;
CString m_RootStartMenu3;
CString m_RootCommonPrograms;
CString m_RootGames;
CString m_RootDesktop;
CString m_RootTaskbar;
CString m_RootMetro;
// can be called from any thread
TLocation DetermineLocation( const wchar_t *PATH );
struct ModuleInfo
{
CString PATH;
FILETIME timestamp;
};
static bool CompareModuleTimeStamp( const CString &PATH, const FILETIME &timestamp, std::vector<ModuleInfo> &modules );
struct KnownPathGuid
{
CComString path;
CComString guid;
int pathLen;
};
struct OldItemInfo
{
unsigned int hash;
FILETIME timestamp;
bool operator<( const OldItemInfo &x ) const { return hash<x.hash; }
};
std::vector<OldItemInfo> m_OldItemInfos;
void LoadOldItems( void );
bool IsPathUsed( CRegKey &regKey, const wchar_t *path, const FILETIME &createstamp, const KnownPathGuid *knownPaths, int knownPathsCount, bool bMetroApp );
void AddOldItems( const std::vector<unsigned> &hashes );
};
CString GetPropertyStoreString( IPropertyStore *pStore, REFPROPERTYKEY key );
class CShellItemEnumerator
{
public:
CShellItemEnumerator( IShellItem *pFolder );
bool IsValid( void ) const;
bool GetNext( CComPtr<IShellItem> &pChild, CAbsolutePidl &childPidl );
private:
CComPtr<IEnumIDList> m_pEnumPidls;
CComPtr<IEnumShellItems> m_pEnumItems;
CAbsolutePidl m_Root;
};
struct UserAssistData
{
int pad1;
int count;
int pad2[2];
float history[10];
int last;
FILETIME timestamp;
int pad3;
};
void EncodeUserAssistPath( wchar_t *path );
void EncodeRot13( wchar_t *text );
enum TNetworkType
{
NETWORK_NONE,
NETWORK_SERVER, // \\server
NETWORK_SHARE, // \\server\share
NETWORK_DRIVE, // Q:
NETWORK_FOLDER, // either \\server\share\folder or Q:\folder
NETWORK_FILE, // something with extension
};
HRESULT MenuParseDisplayName( const wchar_t *path, PIDLIST_ABSOLUTE *pPidl, SFGAOF *pFlags, TNetworkType *pNetworkType );
const wchar_t *GetDefaultNetworkIcon( TNetworkType networkType );
bool MenuGetFileTimestamp( const wchar_t *path, FILETIME *pWriteTime, FILETIME *pCreateTime );
STDAPI ShGetKnownFolderPath( REFKNOWNFOLDERID rfid, PWSTR *pPath );
STDAPI ShGetKnownFolderIDList(REFKNOWNFOLDERID rfid, PIDLIST_ABSOLUTE *pPidl );
STDAPI ShGetKnownFolderItem(REFKNOWNFOLDERID rfid, IShellItem **ppItem );
#define TASKBAR_PINNED_ROOT L"%APPDATA%\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned\\TaskBar"
#define START_MENU_PINNED_ROOT L"%APPDATA%\\OpenShell\\Pinned"
#define STARTSCREEN_COMMAND L"startscreen.lnk"
#define USERASSIST_LINKS_KEY L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist\\{F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\\Count"
#define USERASSIST_APPIDS_KEY L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist\\{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\\Count"
//#define STARTSCREEN_WIN7
#ifdef BUILD_SETUP
#undef STARTSCREEN_WIN7
#endif
+685
View File
@@ -0,0 +1,685 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#include "stdafx.h"
#include "JumpLists.h"
#include "ItemManager.h"
#include "ResourceHelper.h"
#include "Translations.h"
#include "FNVHash.h"
#include "LogManager.h"
#include <propkey.h>
#include <StrSafe.h>
static const CLSID CLSID_AutomaticDestinationList={0xf0ae1542, 0xf497, 0x484b, {0xa1, 0x75, 0xa2, 0x0d, 0xb0, 0x91, 0x44, 0xba}};
struct APPDESTCATEGORY
{
int type;
union
{
wchar_t *name;
int subType;
};
int count;
int pad[10]; // just in case
};
static const GUID IID_IDestinationList={0x03f1eed2, 0x8676, 0x430b, {0xab, 0xe1, 0x76, 0x5c, 0x1d, 0x8f, 0xe1, 0x47}};
static const GUID IID_IDestinationList10a={0xfebd543d, 0x1f7b, 0x4b38, {0x94, 0x0b, 0x59, 0x33, 0xbd, 0x2c, 0xb2, 0x1b}}; // 10240
static const GUID IID_IDestinationList10b={0x507101cd, 0xf6ad, 0x46c8, {0x8e, 0x20, 0xee, 0xb9, 0xe6, 0xba, 0xc4, 0x7f}}; // 10547
interface IDestinationList: public IUnknown
{
public:
STDMETHOD(SetMinItems)();
virtual HRESULT STDMETHODCALLTYPE SetApplicationID( LPCWSTR appUserModelId ) = 0;
STDMETHOD(GetSlotCount)();
virtual HRESULT STDMETHODCALLTYPE GetCategoryCount( UINT *pCount ) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCategory( UINT index, int getCatFlags, APPDESTCATEGORY *pCategory ) = 0;
STDMETHOD(DeleteCategory)();
virtual HRESULT STDMETHODCALLTYPE EnumerateCategoryDestinations( UINT index, REFIID riid, void **ppvObject ) = 0;
STDMETHOD(RemoveDestination)( IUnknown *pItem );
STDMETHOD(ResolveDestination)();
};
static const GUID IID_IAutomaticDestinationList={0xbc10dce3, 0x62f2, 0x4bc6, {0xaf, 0x37, 0xdb, 0x46, 0xed, 0x78, 0x73, 0xc4}};
static const GUID IID_IAutomaticDestinationList10b={0xe9c5ef8d, 0xfd41, 0x4f72, {0xba, 0x87, 0xeb, 0x03 ,0xba, 0xd5, 0x81, 0x7c}}; // 10547
interface IAutomaticDestinationList: public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Initialize( LPCWSTR appUserModelId, LPCWSTR lnkPath, LPCWSTR ) = 0;
virtual HRESULT STDMETHODCALLTYPE HasList( BOOL *pHasList ) = 0;
virtual HRESULT STDMETHODCALLTYPE GetList( int listType, unsigned int maxCount, REFIID riid, void **ppvObject ) = 0;
STDMETHOD(AddUsagePoint)();
virtual HRESULT STDMETHODCALLTYPE PinItem( IUnknown *pItem, int pinIndex ) = 0; // -1 - pin, -2 - unpin
STDMETHOD(IsPinned)();
virtual HRESULT STDMETHODCALLTYPE RemoveDestination( IUnknown *pItem ) = 0;
STDMETHOD(SetUsageData)();
STDMETHOD(GetUsageData)();
STDMETHOD(ResolveDestination)();
virtual HRESULT STDMETHODCALLTYPE ClearList( int listType ) = 0;
};
interface IAutomaticDestinationList10b: public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Initialize( LPCWSTR appUserModelId, LPCWSTR lnkPath, LPCWSTR ) = 0;
virtual HRESULT STDMETHODCALLTYPE HasList( BOOL *pHasList ) = 0;
virtual HRESULT STDMETHODCALLTYPE GetList( int listType, unsigned int maxCount, unsigned int flags, REFIID riid, void **ppvObject ) = 0;
STDMETHOD(AddUsagePoint)();
virtual HRESULT STDMETHODCALLTYPE PinItem( IUnknown *pItem, int pinIndex ) = 0; // -1 - pin, -2 - unpin
STDMETHOD(IsPinned)();
virtual HRESULT STDMETHODCALLTYPE RemoveDestination( IUnknown *pItem ) = 0;
STDMETHOD(SetUsageData)();
STDMETHOD(GetUsageData)();
STDMETHOD(ResolveDestination)();
virtual HRESULT STDMETHODCALLTYPE ClearList( int listType ) = 0;
};
class CAutomaticList
{
public:
CAutomaticList( const wchar_t *appid );
bool HasList( void );
CComPtr<IObjectCollection> GetList( int listType, unsigned int maxCount );
void PinItem( IUnknown *pItem, int pinIndex );
bool RemoveDestination( IUnknown *pItem );
private:
CComPtr<IAutomaticDestinationList> m_pAutoList;
CComPtr<IAutomaticDestinationList10b> m_pAutoList10b;
};
CAutomaticList::CAutomaticList( const wchar_t *appid )
{
CComPtr<IUnknown> pAutoListUnk;
if (SUCCEEDED(pAutoListUnk.CoCreateInstance(CLSID_AutomaticDestinationList)))
{
pAutoListUnk->QueryInterface(IID_IAutomaticDestinationList,(void**)&m_pAutoList);
if (m_pAutoList)
{
if (FAILED(m_pAutoList->Initialize(appid,NULL,NULL)))
m_pAutoList=NULL;
}
else if (GetWinVersion()>=WIN_VER_WIN10)
{
pAutoListUnk->QueryInterface(IID_IAutomaticDestinationList10b,(void**)&m_pAutoList10b);
if (m_pAutoList10b)
{
if (FAILED(m_pAutoList10b->Initialize(appid,NULL,NULL)))
m_pAutoList10b=NULL;
}
}
}
}
bool CAutomaticList::HasList( void )
{
BOOL hasList;
if (m_pAutoList)
{
if (FAILED(m_pAutoList->HasList(&hasList)) || !hasList)
return false;
}
else if (m_pAutoList10b)
{
if (FAILED(m_pAutoList10b->HasList(&hasList)) || !hasList)
return false;
}
else
return false;
CComPtr<IObjectCollection> pCollection;
UINT count;
pCollection=GetList(1,1);
if (pCollection && SUCCEEDED(pCollection->GetCount(&count)) && count>0)
return true;
pCollection=GetList(0,1);
if (pCollection && SUCCEEDED(pCollection->GetCount(&count)) && count>0)
return true;
return false;
}
CComPtr<IObjectCollection> CAutomaticList::GetList( int listType, unsigned int maxCount )
{
CComPtr<IObjectCollection> pCollection;
if (m_pAutoList)
m_pAutoList->GetList(listType,maxCount,IID_IObjectCollection,(void**)&pCollection);
else if (m_pAutoList10b)
m_pAutoList10b->GetList(listType,maxCount,1,IID_IObjectCollection,(void**)&pCollection);
return pCollection;
}
void CAutomaticList::PinItem( IUnknown *pItem, int pinIndex )
{
if (m_pAutoList)
m_pAutoList->PinItem(pItem,pinIndex);
else if (m_pAutoList10b)
m_pAutoList10b->PinItem(pItem,pinIndex);
}
bool CAutomaticList::RemoveDestination( IUnknown *pItem )
{
if (m_pAutoList)
return SUCCEEDED(m_pAutoList->RemoveDestination(pItem));
else if (m_pAutoList10b)
return SUCCEEDED(m_pAutoList10b->RemoveDestination(pItem));
return false;
}
static CComPtr<IDestinationList> GetCustomList( const wchar_t *appid )
{
CComPtr<IUnknown> pCustomListUnk;
if (SUCCEEDED(pCustomListUnk.CoCreateInstance(CLSID_DestinationList)))
{
CComPtr<IDestinationList> pCustomList;
if (GetWinVersion()<WIN_VER_WIN10)
pCustomListUnk->QueryInterface(IID_IDestinationList,(void**)&pCustomList);
else
{
if (FAILED(pCustomListUnk->QueryInterface(IID_IDestinationList10a,(void**)&pCustomList)))
pCustomListUnk->QueryInterface(IID_IDestinationList10b,(void**)&pCustomList);
}
if (pCustomList && SUCCEEDED(pCustomList->SetApplicationID(appid)))
return pCustomList;
}
return CComPtr<IDestinationList>();
}
// Returns true if the given app has a non-empty jumplist
bool HasJumplist( const wchar_t *appid )
{
Assert(GetWinVersion()>=WIN_VER_WIN7);
CComPtr<IDestinationList> pCustomList=GetCustomList(appid);
if (pCustomList)
{
UINT count;
if (SUCCEEDED(pCustomList->GetCategoryCount(&count)) && count>0)
return true;
}
if (CAutomaticList(appid).HasList())
return true;
return false;
}
static unsigned int CalcLinkHash( IShellLink *pLink )
{
CAbsolutePidl pidl;
if (FAILED(pLink->GetIDList(&pidl)))
return 0;
unsigned int hash=FNV_HASH0;
CComString pName;
if (SUCCEEDED(SHGetNameFromIDList(pidl,SIGDN_DESKTOPABSOLUTEPARSING,&pName)))
{
pName.MakeUpper();
hash=CalcFNVHash(pName);
}
CComQIPtr<IPropertyStore> pStore=pLink;
if (pStore)
hash=CalcFNVHash(GetPropertyStoreString(pStore,PKEY_Link_Arguments),hash);
return hash;
}
static void AddJumpItem( CJumpGroup &group, IUnknown *pUnknown, std::vector<CComPtr<IShellItem>> &ignoreItems, std::vector<unsigned int> &ignoreLinks )
{
CJumpItem item;
item.type=CJumpItem::TYPE_UNKNOWN;
item.pItem=pUnknown;
item.hash=0;
item.bHidden=false;
item.bHasArguments=false;
CComQIPtr<IShellItem> pItem=pUnknown;
if (pItem)
{
for (std::vector<CComPtr<IShellItem>>::const_iterator it=ignoreItems.begin();it!=ignoreItems.end();++it)
{
int order;
if (SUCCEEDED(pItem->Compare(*it,SICHINT_CANONICAL|SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL,&order)) && order==0)
return;
}
item.type=CJumpItem::TYPE_ITEM;
CComString pName;
if (FAILED(pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName)))
return;
item.name=pName;
pName.Clear();
if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName)))
{
LOG_MENU(LOG_OPEN,L"Jumplist Item Path: %s",(const wchar_t*)pName);
pName.MakeUpper();
item.hash=CalcFNVHash(pName);
}
LOG_MENU(LOG_OPEN,L"Jumplist Item Name: %s",item.name);
group.items.push_back(item);
return;
}
CComQIPtr<IShellLink> pLink=pUnknown;
if (pLink)
{
unsigned int hash=CalcLinkHash(pLink);
for (std::vector<unsigned int>::const_iterator it=ignoreLinks.begin();it!=ignoreLinks.end();++it)
{
if (hash==*it)
return;
}
item.type=CJumpItem::TYPE_LINK;
CComQIPtr<IPropertyStore> pStore=pLink;
if (pStore)
{
PROPVARIANT val;
PropVariantInit(&val);
if (group.type==CJumpGroup::TYPE_TASKS && SUCCEEDED(pStore->GetValue(PKEY_AppUserModel_IsDestListSeparator,&val)) && val.vt==VT_BOOL && val.boolVal)
{
item.type=CJumpItem::TYPE_SEPARATOR;
PropVariantClear(&val);
}
else
{
CString str=GetPropertyStoreString(pStore,PKEY_Title);
if (!str.IsEmpty())
{
wchar_t name[256];
SHLoadIndirectString(str,name,_countof(name),NULL);
item.name=name;
}
}
}
CAbsolutePidl pidl;
if (SUCCEEDED(pLink->GetIDList(&pidl)))
{
CComString pName;
if (item.name.IsEmpty())
{
if (SUCCEEDED(SHGetNameFromIDList(pidl,SIGDN_NORMALDISPLAY,&pName)))
{
item.name=pName;
}
}
pName.Clear();
if (SUCCEEDED(SHGetNameFromIDList(pidl,SIGDN_DESKTOPABSOLUTEPARSING,&pName)))
{
LOG_MENU(LOG_OPEN,L"Jumplist Link Path: %s",(const wchar_t*)pName);
pName.MakeUpper();
item.hash=CalcFNVHash(pName);
}
CComQIPtr<IPropertyStore> pStore=pLink;
if (pStore)
{
CString args=GetPropertyStoreString(pStore,PKEY_Link_Arguments);
if (!args.IsEmpty())
{
LOG_MENU(LOG_OPEN,L"Jumplist Link Args: %s",args);
item.hash=CalcFNVHash(args,item.hash);
item.bHasArguments=true;
}
}
}
LOG_MENU(LOG_OPEN,L"Jumplist Link Name: %s",item.name);
if (!item.name.IsEmpty())
group.items.push_back(item);
return;
}
}
static void AddJumpCollection( CJumpGroup &group, IObjectCollection *pCollection, std::vector<CComPtr<IShellItem>> &ignoreItems, std::vector<unsigned int> &ignoreLinks )
{
UINT count;
if (SUCCEEDED(pCollection->GetCount(&count)))
{
for (UINT i=0;i<count;i++)
{
CComPtr<IUnknown> pUnknown;
if (SUCCEEDED(pCollection->GetAt(i,IID_IUnknown,(void**)&pUnknown)) && pUnknown)
AddJumpItem(group,pUnknown,ignoreItems,ignoreLinks);
}
}
}
// Returns the jumplist for the given shortcut
bool GetJumplist( const wchar_t *appid, CJumpList &list, int maxCount, int maxHeight, int sepHeight, int itemHeight )
{
Assert(GetWinVersion()>=WIN_VER_WIN7);
list.Clear();
UINT categoryCount=0;
CComPtr<IDestinationList> pCustomList=GetCustomList(appid);
if (pCustomList)
{
if (FAILED(pCustomList->GetCategoryCount(&categoryCount)))
categoryCount=0;
}
list.groups.reserve(categoryCount+2);
std::vector<CComPtr<IShellItem>> ignoreItems;
std::vector<unsigned int> ignoreLinks;
CAutomaticList autoList(appid);
{
// add pinned
CComPtr<IObjectCollection> pPinnedList=autoList.GetList(0,maxCount);
if (pPinnedList)
{
Assert(list.groups.empty());
list.groups.resize(list.groups.size()+1);
CJumpGroup &group=*list.groups.rbegin();
group.type=CJumpGroup::TYPE_PINNED;
group.name=FindTranslation(L"JumpList.Pinned",L"Pinned");
AddJumpCollection(group,pPinnedList,ignoreItems,ignoreLinks);
for (std::vector<CJumpItem>::const_iterator it=group.items.begin();it!=group.items.end();++it)
{
CComQIPtr<IShellItem> pShellItem=it->pItem;
if (pShellItem)
ignoreItems.push_back(pShellItem);
else
{
CComQIPtr<IShellLink> pLink=it->pItem;
if (pLink)
{
unsigned int hash=CalcLinkHash(pLink);
if (hash)
ignoreLinks.push_back(hash);
}
}
}
}
}
int taskIndex=-1;
for (UINT catIndex=0;catIndex<categoryCount;catIndex++)
{
APPDESTCATEGORY category={0};
if (SUCCEEDED(pCustomList->GetCategory(catIndex,1,&category)))
{
if (category.type==0)
{
// custom group
if (category.name)
{
wchar_t name[256];
SHLoadIndirectString(category.name,name,_countof(name),NULL);
CoTaskMemFree(category.name);
CComPtr<IObjectCollection> pCollection;
if (SUCCEEDED(pCustomList->EnumerateCategoryDestinations(catIndex,IID_IObjectCollection,(void**)&pCollection)))
{
list.groups.resize(list.groups.size()+1);
CJumpGroup &group=*list.groups.rbegin();
group.name=name;
group.type=CJumpGroup::TYPE_CUSTOM;
AddJumpCollection(group,pCollection,ignoreItems,ignoreLinks);
}
}
}
else if (category.type==1)
{
// standard group
if (category.subType==1 || category.subType==2)
{
CComPtr<IObjectCollection> pCollection=autoList.GetList(3-category.subType,maxCount);
if (pCollection)
{
list.groups.resize(list.groups.size()+1);
CJumpGroup &group=*list.groups.rbegin();
if (category.subType==1)
{
group.type=CJumpGroup::TYPE_FREQUENT;
group.name=FindTranslation(L"JumpList.Frequent",L"Frequent");
}
else
{
group.type=CJumpGroup::TYPE_RECENT;
group.name=FindTranslation(L"JumpList.Recent",L"Recent");
}
AddJumpCollection(group,pCollection,ignoreItems,ignoreLinks);
}
}
}
else if (category.type==2 && taskIndex==-1)
{
taskIndex=catIndex;
}
}
}
if (taskIndex!=-1)
{
// add tasks
CComPtr<IObjectCollection> pCollection;
if (SUCCEEDED(pCustomList->EnumerateCategoryDestinations(taskIndex,IID_IObjectCollection,(void**)&pCollection)))
{
list.groups.resize(list.groups.size()+1);
CJumpGroup &group=*list.groups.rbegin();
group.name=FindTranslation(L"JumpList.Tasks",L"Tasks");
group.type=CJumpGroup::TYPE_TASKS;
AddJumpCollection(group,pCollection,ignoreItems,ignoreLinks);
}
}
if (categoryCount==0)
{
// add recent
CComPtr<IObjectCollection> pRecentList=autoList.GetList(1,maxCount);
if (pRecentList)
{
list.groups.resize(list.groups.size()+1);
CJumpGroup &group=*list.groups.rbegin();
group.type=CJumpGroup::TYPE_RECENT;
group.name=FindTranslation(L"JumpList.Recent",L"Recent");
AddJumpCollection(group,pRecentList,ignoreItems,ignoreLinks);
}
}
// limit the item count (not tasks or pinned)
for (std::vector<CJumpGroup>::iterator it=list.groups.begin();it!=list.groups.end();++it)
{
CJumpGroup &group=*it;
if (group.type==CJumpGroup::TYPE_TASKS || group.type==CJumpGroup::TYPE_PINNED)
maxHeight-=sepHeight+(int)group.items.size()*itemHeight;
}
for (std::vector<CJumpGroup>::iterator it=list.groups.begin();it!=list.groups.end();++it)
{
CJumpGroup &group=*it;
if (group.type!=CJumpGroup::TYPE_TASKS && group.type!=CJumpGroup::TYPE_PINNED)
{
maxHeight-=sepHeight;
for (std::vector<CJumpItem>::iterator it2=group.items.begin();it2!=group.items.end();++it2)
if (!it2->bHidden)
{
it2->bHidden=(maxCount<=0 || maxHeight<itemHeight);
maxCount--;
maxHeight-=itemHeight;
}
}
}
// hide empty groups
for (std::vector<CJumpGroup>::iterator it=list.groups.begin();it!=list.groups.end();++it)
{
CJumpGroup &group=*it;
group.bHidden=true;
for (std::vector<CJumpItem>::const_iterator it2=group.items.begin();it2!=group.items.end();++it2)
if (!it2->bHidden)
{
group.bHidden=false;
break;
}
}
return true;
}
// Executes the given item using the correct application
bool ExecuteJumpItem( const CItemManager::ItemInfo *pAppInfo, const CJumpItem &item, HWND hwnd )
{
Assert(GetWinVersion()>=WIN_VER_WIN7);
if (!item.pItem) return false;
if (item.type==CJumpItem::TYPE_ITEM)
{
/* CString appid;
{
CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS);
appid=pAppInfo->GetAppid();
}
LOG_MENU(LOG_OPEN,L"Execute Item: name=%s, appid=%s",item.name,appid);*/
CComQIPtr<IShellItem> pItem=item.pItem;
if (!pItem)
return false;
/* CComString pName;
if (FAILED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName)))
return false;
wchar_t ext[_MAX_EXT];
Strcpy(ext,_countof(ext),PathFindExtension(pName));
// find the correct association handler by appid and invoke it on the item
CComPtr<IEnumAssocHandlers> pEnumHandlers;
if (ext[0] && SUCCEEDED(SHAssocEnumHandlers(ext,ASSOC_FILTER_RECOMMENDED,&pEnumHandlers)))
{
CComPtr<IAssocHandler> pHandler;
ULONG count;
while (SUCCEEDED(pEnumHandlers->Next(1,&pHandler,&count)) && count==1)
{
CComQIPtr<IObjectWithAppUserModelID> pObject=pHandler;
if (pObject)
{
CComString pID;
if (SUCCEEDED(pObject->GetAppID(&pID)))
{
// found explicit appid
if (_wcsicmp(appid,pID)==0)
{
LOG_MENU(LOG_OPEN,L"Found handler appid");
CComPtr<IDataObject> pDataObject;
if (SUCCEEDED(pItem->BindToHandler(NULL,BHID_DataObject,IID_IDataObject,(void**)&pDataObject)) && SUCCEEDED(pHandler->Invoke(pDataObject)))
return true;
break;
}
}
}
pHandler=NULL;
}
pEnumHandlers=NULL;
// find the correct association handler by exe name and invoke it on the item
wchar_t targetPath[_MAX_PATH];
targetPath[0]=0;
{
CComPtr<IShellItem> pItem;
SHCreateItemFromIDList(pAppInfo->GetPidl(),IID_IShellItem,(void**)&pItem);
CComPtr<IShellLink> pLink;
if (pItem)
pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IShellLink,(void**)&pLink);
CAbsolutePidl target;
if (pLink && SUCCEEDED(pLink->Resolve(NULL,SLR_INVOKE_MSI|SLR_NO_UI|SLR_NOUPDATE)) && SUCCEEDED(pLink->GetIDList(&target)))
{
if (FAILED(SHGetPathFromIDList(target,targetPath)))
targetPath[0]=0;
}
}
if (targetPath[0] && SUCCEEDED(SHAssocEnumHandlers(ext,ASSOC_FILTER_RECOMMENDED,&pEnumHandlers)))
{
while (SUCCEEDED(pEnumHandlers->Next(1,&pHandler,&count)) && count==1)
{
CComString pExe;
if (SUCCEEDED(pHandler->GetName(&pExe)))
{
if (_wcsicmp(targetPath,pExe)==0)
{
LOG_MENU(LOG_OPEN,L"Found handler appexe %s",targetPath);
CComPtr<IDataObject> pDataObject;
if (SUCCEEDED(pItem->BindToHandler(NULL,BHID_DataObject,IID_IDataObject,(void**)&pDataObject)) && SUCCEEDED(pHandler->Invoke(pDataObject)))
return true;
break;
}
}
pHandler=NULL;
}
}
}
*/
// couldn't find a handler, execute the old way
SHELLEXECUTEINFO execute={sizeof(execute),SEE_MASK_IDLIST|SEE_MASK_FLAG_LOG_USAGE};
execute.nShow=SW_SHOWNORMAL;
CAbsolutePidl pidl;
if (SUCCEEDED(SHGetIDListFromObject(pItem,&pidl)))
{
execute.lpIDList=pidl;
ShellExecuteEx(&execute);
}
return true;
}
if (item.type==CJumpItem::TYPE_LINK)
{
// invoke the link through its context menu
CComQIPtr<IContextMenu> pMenu=item.pItem;
if (!pMenu) return false;
HRESULT hr;
HMENU menu=CreatePopupMenu();
hr=pMenu->QueryContextMenu(menu,0,1,1000,CMF_DEFAULTONLY);
if (FAILED(hr))
{
DestroyMenu(menu);
return false;
}
int id=GetMenuDefaultItem(menu,FALSE,0);
if (id>0)
{
CMINVOKECOMMANDINFO command={sizeof(command),CMIC_MASK_FLAG_LOG_USAGE};
command.lpVerb=MAKEINTRESOURCEA(id-1);
wchar_t path[_MAX_PATH];
GetModuleFileName(NULL,path,_countof(path));
if (_wcsicmp(PathFindFileName(path),L"explorer.exe")==0)
command.fMask|=CMIC_MASK_ASYNCOK;
command.hwnd=hwnd;
command.nShow=SW_SHOWNORMAL;
hr=pMenu->InvokeCommand(&command);
}
DestroyMenu(menu);
}
return true;
}
// Removes the given item from the jumplist
void RemoveJumpItem( const CItemManager::ItemInfo *pAppInfo, CJumpList &list, int groupIdx, int itemIdx )
{
CString appid;
{
CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS);
appid=pAppInfo->GetAppid();
}
CJumpGroup &group=list.groups[groupIdx];
if (group.type==CJumpGroup::TYPE_FREQUENT || group.type==CJumpGroup::TYPE_RECENT)
{
if (CAutomaticList(appid).RemoveDestination(group.items[itemIdx].pItem))
group.items.erase(group.items.begin()+itemIdx);
}
else
{
CComPtr<IDestinationList> pCustomList=GetCustomList(appid);
if (pCustomList)
{
if (SUCCEEDED(pCustomList->RemoveDestination(group.items[itemIdx].pItem)))
group.items.erase(group.items.begin()+itemIdx);
}
}
}
// Pins or unpins the given item from the jumplist
void PinJumpItem( const CItemManager::ItemInfo *pAppInfo, const CJumpList &list, int groupIdx, int itemIdx, bool bPin, int pinIndex )
{
CString appid;
{
CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS);
appid=pAppInfo->GetAppid();
}
const CJumpGroup &group=list.groups[groupIdx];
CAutomaticList(appid).PinItem(group.items[itemIdx].pItem,bPin?pinIndex:-2);
}
+66
View File
@@ -0,0 +1,66 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
#include <vector>
#include "ItemManager.h"
// Returns true if the given app has a non-empty jumplist
bool HasJumplist( const wchar_t *appid );
struct CJumpItem
{
CJumpItem( void ) { type=TYPE_UNKNOWN; hash=0; bHidden=bHasArguments=false; }
enum Type
{
TYPE_UNKNOWN,
TYPE_ITEM, // IShellItem
TYPE_LINK, // IShellLink
TYPE_SEPARATOR,
};
Type type;
unsigned int hash;
bool bHidden;
bool bHasArguments;
CString name;
CComPtr<IUnknown> pItem;
};
struct CJumpGroup
{
CJumpGroup( void ) { type=TYPE_RECENT; bHidden=false; }
enum Type
{
TYPE_RECENT,
TYPE_FREQUENT,
TYPE_TASKS,
TYPE_CUSTOM,
TYPE_PINNED,
};
Type type;
bool bHidden;
CString name;
std::vector<CJumpItem> items;
};
struct CJumpList
{
std::vector<CJumpGroup> groups;
void Clear( void ) { groups.clear(); }
};
// Returns the jumplist for the given shortcut
bool GetJumplist( const wchar_t *appid, CJumpList &list, int maxCount, int maxHeight, int sepHeight, int itemHeight );
// Executes the given item using the correct application
bool ExecuteJumpItem( const CItemManager::ItemInfo *pAppInfo, const CJumpItem &item, HWND hwnd );
// Removes the given item from the jumplist
void RemoveJumpItem( const CItemManager::ItemInfo *pAppInfo, CJumpList &list, int groupIdx, int itemIdx );
// Pins or unpins the given item from the jumplist
void PinJumpItem( const CItemManager::ItemInfo *pAppInfo, const CJumpList &list, int groupIdx, int itemIdx, bool bPin, int pinIndex );
+53
View File
@@ -0,0 +1,53 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
// LogManager.cpp - logging functionality (for debugging)
#include "stdafx.h"
#include "LogManager.h"
#include "ResourceHelper.h"
int g_LogCategories;
static FILE *g_LogFile;
static int g_LogTime;
void InitLog( int categories, const wchar_t *fname )
{
CloseLog();
if (categories==0) return;
if (_wfopen_s(&g_LogFile,fname,L"wb")==0)
{
wchar_t bom=0xFEFF;
fwrite(&bom,2,1,g_LogFile);
g_LogCategories=categories;
g_LogTime=GetTickCount();
LogMessage(L"version=%x, PID=%d, TID=%d, Categories=%08x\r\n",GetWinVersion(),GetCurrentProcessId(),GetCurrentThreadId(),categories);
}
}
void CloseLog( void )
{
if (g_LogFile) fclose(g_LogFile);
g_LogFile=NULL;
g_LogCategories=0;
}
void LogMessage( const wchar_t *text, ... )
{
if (!g_LogFile) return;
wchar_t buf[2048];
int len=Sprintf(buf,_countof(buf),L"%8d: ",GetTickCount()-g_LogTime);
fwrite(buf,2,len,g_LogFile);
va_list args;
va_start(args,text);
len=Vsprintf(buf,_countof(buf),text,args);
va_end(args);
fwrite(buf,2,len,g_LogFile);
fwrite(L"\r\n",2,2,g_LogFile);
fflush(g_LogFile);
}
+35
View File
@@ -0,0 +1,35 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
// LogManager.h - logging functionality (for debugging)
// Logs different events in the start menu
// Turn it on by setting the LogLevel setting in the registry
// The logging is consuming very little resources when it is turned off
enum TLogCategory
{
LOG_OPEN= 0x001, // logs opening and closing of menus
LOG_ITEMS= 0x002, // logs the menu items
LOG_EXECUTE= 0x004, // logs when items are executed
LOG_MFU= 0x008, // logs the MFU items and ranks
LOG_NEW= 0x010, // logs the highlighted programs
LOG_APPS= 0x120, // logs the found metro apps
LOG_SEARCH= 0x040, // logs the search results and ranks
LOG_SEARCH_SQL= 0x080, // logs the SQL search queries and results
LOG_MOUSE= 0x100, // logs mouse events (only hovering for now)
LOG_CACHE= 0x200, // logs the contents of the cache file
LOG_ALL= 0xFFF
};
#define LOG_MENU( CATEGORY, TEXT, ... ) if (g_LogCategories&CATEGORY) { LogMessage(TEXT,__VA_ARGS__); }
extern int g_LogCategories;
void InitLog( int categories, const wchar_t *fname );
void CloseLog( void );
void LogMessage( const wchar_t *text, ... );
#define STARTUP_LOG L"Software\\OpenShell\\StartMenu\\Settings|LogStartup|%LOCALAPPDATA%\\OpenShell\\StartupLog.txt"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,383 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#include "stdafx.h"
#include "MetroLinkManager.h"
#include "ItemManager.h"
#include "LogManager.h"
#include "FNVHash.h"
#include "ResourceHelper.h"
#include "Translations.h"
#include <propkey.h>
#include <map>
PROPERTYKEY PKEY_MetroAppLink={{0x9F4C2855, 0x9F79, 0x4B39, {0xA8, 0xD0, 0xE1, 0xD4, 0x2D, 0xE1, 0xD5, 0xF3}}, 10}; // pidl
PROPERTYKEY PKEY_MetroAppLauncher={{0x9F4C2855, 0x9F79, 0x4B39, {0xA8, 0xD0, 0xE1, 0xD4, 0x2D, 0xE1, 0xD5, 0xF3}}, 14}; // =1 for metro apps
PROPERTYKEY PKEY_MetroIconColor={{0x86D40B4D, 0x9069, 0x443C, {0x81, 0x9A, 0x2A, 0x54, 0x09, 0x0D, 0xCC, 0xEC}}, 4};
PROPERTYKEY PKEY_MetroPackageName={{0x9F4C2855, 0x9F79, 0x4B39, {0xA8, 0xD0, 0xE1, 0xD4, 0x2D, 0xE1, 0xD5, 0xF3}}, 21};
PROPERTYKEY PKEY_MetroPackagePath={{0x9F4C2855, 0x9F79, 0x4B39, {0xA8, 0xD0, 0xE1, 0xD4, 0x2D, 0xE1, 0xD5, 0xF3}}, 15};
PROPERTYKEY PKEY_AppUserModel_ParentID={{0x9F4C2855, 0x9F79, 0x4B39, {0xA8, 0xD0, 0xE1, 0xD4, 0x2D, 0xE1, 0xD5, 0xF3}}, 19}; // non-empty for content tiles
PROPERTYKEY PKEY_AppUserModel_InstalledBy={{0x9F4C2855, 0x9F79, 0x4B39, {0xA8, 0xD0, 0xE1, 0xD4, 0x2D, 0xE1, 0xD5, 0xF3}}, 18};
PROPERTYKEY PKEY_Launcher_AppState={{0x0ded77b3, 0xc614, 0x456c, {0xae, 0x5b, 0x28, 0x5b, 0x38, 0xd7, 0xb0, 0x1b}}, 7};
// FOLDERID_AppsFolder is defined in the 8.0 SDK, but we don't want to require it
KNOWNFOLDERID FOLDERID_AppsFolder2={0x1E87508D,0x89C2,0x42F0,{0x8A,0x7E,0x64,0x5A,0x0F,0x50,0xCA,0x58}}; // similar to shell:::{4234d49b-0245-4df3-b780-3893943456e1}
GUID CLSID_PinExt={0x90AA3A4E,0x1CBA,0x4233,{0xB8,0xBB,0x53,0x57,0x73,0xD4,0x84,0x49}};
const wchar_t *MetroAppClassId=L"Launcher.ImmersiveApplication";
// Returns a list of links for all metro apps
void GetMetroLinks( std::vector<MetroLink> &links, bool bLog, std::vector<CString> *pNonApps10 )
{
LOG_MENU(LOG_APPS,L"Collect Metro Links (start)");
if (bLog && !(g_LogCategories&LOG_APPS))
bLog=false;
CComPtr<IShellItem> pApps;
if (FAILED(ShGetKnownFolderItem(FOLDERID_AppsFolder2,&pApps)))
return;
CComPtr<IEnumShellItems> pEnum;
pApps->BindToHandler(NULL,BHID_EnumItems,IID_IEnumShellItems,(void**)&pEnum);
CComPtr<IShellItem> pChild;
while (pEnum && (pChild=NULL,pEnum->Next(1,&pChild,NULL)==S_OK))
{
if (bLog)
{
CComString pName;
pChild->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName);
LOG_MENU(LOG_APPS,L"App: %s",(const wchar_t*)pName);
}
CComPtr<IPropertyStore> pStore;
if (FAILED(pChild->BindToHandler(NULL,BHID_PropertyStore,IID_IPropertyStore,(void**)&pStore)))
{
LOG_MENU(LOG_APPS,L" No Store");
continue;
}
PROPVARIANT val;
PropVariantInit(&val);
bool bNonApp=false;
if (FAILED(pStore->GetValue(PKEY_MetroAppLauncher,&val)))
{
LOG_MENU(LOG_APPS,L" No launcher");
bNonApp=true;
}
else
{
if ((val.vt!=VT_I4 && val.vt!=VT_UI4) || !val.intVal)
{
LOG_MENU(LOG_APPS,L" No launcher: %d",val.vt);
bNonApp=true;
}
PropVariantClear(&val);
}
if (GetWinVersion()>=WIN_VER_WIN10)
{
PIDLIST_ABSOLUTE pidl;
if (!bNonApp && SUCCEEDED(SHGetIDListFromObject(pChild,&pidl)))
{
links.resize(links.size()+1);
MetroLink &link=*links.rbegin();
link.pidl.Attach(pidl);
link.appid=GetPropertyStoreString(pStore,PKEY_AppUserModel_ID);
link.pItem=pChild;
}
else
bNonApp=true;
if (bNonApp && pNonApps10)
pNonApps10->push_back(GetPropertyStoreString(pStore,PKEY_AppUserModel_ID));
continue;
}
if (bNonApp)
continue;
if (FAILED(pStore->GetValue(PKEY_MetroAppLink,&val)))
{
LOG_MENU(LOG_APPS,L" No link");
continue;
}
if (val.vt!=(VT_VECTOR|VT_UI1) || !val.caub.pElems)
{
LOG_MENU(LOG_APPS,L" No link: %d",val.vt);
PropVariantClear(&val);
continue;
}
PIDLIST_ABSOLUTE pidl=ILCloneFull((PIDLIST_ABSOLUTE)val.caub.pElems);
PropVariantClear(&val);
links.resize(links.size()+1);
MetroLink &link=*links.rbegin();
link.pidl.Attach(pidl);
SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&link.pItem);
if (bLog && link.pItem)
{
CComString pName;
link.pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName);
LOG_MENU(LOG_APPS,L" Link: %s",(const wchar_t*)pName);
}
}
LOG_MENU(LOG_APPS,L"Collect Metro Links (end)");
}
void ExecuteMetroLink( const CItemManager::ItemInfo *pInfo )
{
SHELLEXECUTEINFO execute={sizeof(execute),SEE_MASK_CLASSNAME|SEE_MASK_INVOKEIDLIST|SEE_MASK_FLAG_LOG_USAGE|SEE_MASK_FLAG_NO_UI};
wchar_t path[_MAX_PATH];
{
CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS);
Strcpy(path,_countof(path),pInfo->GetPath());
}
execute.lpFile=path;
execute.nShow=SW_SHOWNORMAL;
execute.lpClass=MetroAppClassId;
BOOL res=ShellExecuteEx(&execute);
LOG_MENU(LOG_EXECUTE,L"ExecuteMetroLink: 0x%08X 0x%p",res?0:GetLastError(),execute.hInstApp);
// create UserAssist entry
{
CRegKey regKey;
if (regKey.Open(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced")!=ERROR_SUCCESS)
return;
DWORD val;
if (regKey.QueryDWORDValue(L"Start_TrackProgs",val)==ERROR_SUCCESS && !val)
return;
}
CRegKey regKeyLink;
if (regKeyLink.Open(HKEY_CURRENT_USER,USERASSIST_LINKS_KEY,KEY_READ|KEY_WRITE)!=ERROR_SUCCESS)
return;
EncodeUserAssistPath(path);
EncodeRot13(path);
UserAssistData data;
DWORD size=sizeof(data);
if (regKeyLink.QueryBinaryValue(path,&data,&size)!=ERROR_SUCCESS)
memset(&data,0,sizeof(data));
GetSystemTimeAsFileTime(&data.timestamp);
data.count++;
regKeyLink.SetBinaryValue(path,&data,sizeof(data));
}
/*
void ExecutePCSettings( void )
{
const wchar_t *appid=L"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel";
CComPtr<IShellItem> pItem;
if (SUCCEEDED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,appid,IID_IShellItem,(void**)&pItem)))
{
CAbsolutePidl pidl;
if (SUCCEEDED(SHGetIDListFromObject(pItem,&pidl)))
{
SHELLEXECUTEINFO execute={sizeof(execute),SEE_MASK_IDLIST|SEE_MASK_FLAG_LOG_USAGE};
execute.lpIDList=pidl;
execute.nShow=SW_SHOWNORMAL;
ShellExecuteEx(&execute);
}
}
}
}
*/
CComPtr<IContextMenu> GetMetroPinMenu( const wchar_t *appid )
{
if (GetWinVersion()<WIN_VER_WIN10 && !IsWin81Update1()) return NULL;
CComPtr<IShellFolder> pAppFolder;
{
CAbsolutePidl pidl;
if (SUCCEEDED(SHGetKnownFolderIDList(FOLDERID_AppsFolder2,KF_FLAG_DEFAULT,NULL,&pidl)))
SHBindToObject(NULL,pidl,NULL,IID_IShellFolder,(void **)&pAppFolder);
}
CComPtr<IContextMenu> pPinMenu;
if (pAppFolder)
{
PIDLIST_RELATIVE child;
if (SUCCEEDED(pAppFolder->ParseDisplayName(NULL,NULL,(LPWSTR)appid,NULL,&child,NULL)))
{
CComPtr<IDataObject> pDataObject;
if (SUCCEEDED(pAppFolder->GetUIObjectOf(NULL,1,(PCUITEMID_CHILD*)&child,IID_IDataObject,NULL,(void**)&pDataObject)))
{
CRegKey regKey;
if (regKey.Open(HKEY_CLASSES_ROOT,MetroAppClassId,KEY_READ)==ERROR_SUCCESS)
{
CComPtr<IShellExtInit> pInit;
pInit.CoCreateInstance(CLSID_PinExt);
if (pInit && SUCCEEDED(pInit->Initialize(NULL,pDataObject,regKey)))
pPinMenu=CComQIPtr<IContextMenu>(pInit);
}
}
ILFree(child);
}
}
return pPinMenu;
}
static const wchar_t *g_UninstallableApps[]={
L"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel",
L"Microsoft.WindowsStore_8wekyb3d8bbwe!App",
L"Microsoft.Windows.Cortana_cw5n1h2txyewy!CortanaUI",
};
// Returns true if the app should not be uninstalled
bool IsProtectedApp( const wchar_t *appid )
{
for (int i=0;i<_countof(g_UninstallableApps);i++)
{
if (_wcsicmp(appid,g_UninstallableApps[i])==0)
return true;
}
return false;
}
// Returns true if uninstalling is allowed by the policy
bool GetUninstallPolicy( void )
{
if (GetWinVersion()<WIN_VER_WIN8)
return false;
CRegKey regKey;
if (regKey.Open(HKEY_CURRENT_USER,L"Software\\Policies\\Microsoft\\Windows\\Explorer",KEY_READ)==ERROR_SUCCESS)
{
DWORD val;
if (regKey.QueryDWORDValue(L"NoUninstallFromStart",val)==ERROR_SUCCESS && val)
return false;
}
return true;
}
// Checks if the app can be uninstalled
bool CanUninstallMetroApp( const wchar_t *appid )
{
if (IsProtectedApp(appid) || !GetUninstallPolicy())
return false;
CComPtr<IShellItem2> pAppItem;
if (FAILED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,appid,IID_IShellItem2,(void**)&pAppItem)))
return false;
CComPtr<IPropertyStore> pStore;
PROPERTYKEY keys[]={
PKEY_MetroPackagePath,
PKEY_AppUserModel_ParentID,
PKEY_AppUserModel_InstalledBy,
PKEY_AppUserModel_IsDualMode,
PKEY_Launcher_AppState,
};
if (FAILED(pAppItem->GetPropertyStoreForKeys(keys,_countof(keys),GPS_FASTPROPERTIESONLY,IID_IPropertyStore,(void**)&pStore)))
return false;
CString parentid=GetPropertyStoreString(pStore,PKEY_AppUserModel_ParentID);
if (!parentid.IsEmpty())
return false; // this is a child tile
CString packagePath=GetPropertyStoreString(pStore,PKEY_MetroPackagePath);
if (packagePath.IsEmpty() || GetFileAttributes(packagePath)==INVALID_FILE_ATTRIBUTES)
return false;
PROPVARIANT val;
PropVariantInit(&val);
bool res=true;
if (SUCCEEDED(pStore->GetValue(PKEY_AppUserModel_InstalledBy,&val)))
{
if (val.vt==VT_UI4 && val.intVal==1)
res=false; // from CAppTileHelper::IsInboxAppTile
}
PropVariantClear(&val);
if (res && SUCCEEDED(pStore->GetValue(PKEY_AppUserModel_IsDualMode,&val)))
{
if (val.vt==VT_BOOL && val.boolVal)
res=false;
}
PropVariantClear(&val);
if (!res) return false;
if (SUCCEEDED(pStore->GetValue(PKEY_Launcher_AppState,&val)))
{
if (val.vt!=VT_UI4 || val.intVal==4 || val.intVal==6)
res=false;
}
else
res=false;
PropVariantClear(&val);
return res;
}
// Uninstalls the app with the given id
void UninstallMetroApp( const wchar_t *appid )
{
CComPtr<IShellItem> pAppItem;
if (SUCCEEDED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,appid,IID_IShellItem,(void**)&pAppItem)))
{
CComPtr<IPropertyStore> pStore;
pAppItem->BindToHandler(NULL,BHID_PropertyStore,IID_IPropertyStore,(void**)&pStore);
if (pStore)
{
CString packageName=GetPropertyStoreString(pStore,PKEY_MetroPackageName);
if (!packageName.IsEmpty())
{
wchar_t command[1024];
Sprintf(command,_countof(command),L"Remove-AppxPackage %s",packageName);
ShellExecute(NULL,L"open",L"powershell.exe",command,NULL,SW_HIDE);
}
}
}
}
// Asks for confirmation to uninstall the specified app
void UninstallMetroApp( HWND parent, const wchar_t *name, const wchar_t *appid )
{
wchar_t text[1024];
Sprintf(text,_countof(text),FindTranslation(L"Menu.UninstallPrompt",L"Are you sure you want to uninstall %s?"),name);
CString title=FindTranslation(L"Menu.UninstallTitle",L"Uninstall");
HICON hIcon=NULL;
CComPtr<IShellItem> pAppItem;
if (SUCCEEDED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,appid,IID_IShellItem,(void**)&pAppItem)))
{
CAbsolutePidl pidl;
SHGetIDListFromObject(pAppItem,&pidl);
const CItemManager::ItemInfo *pItemInfo=g_ItemManager.GetItemInfo(pAppItem,pidl,CItemManager::INFO_LINK|CItemManager::INFO_METRO);
g_ItemManager.UpdateItemInfo(pItemInfo,CItemManager::INFO_LARGE_ICON|CItemManager::INFO_REFRESH_NOW);
HBITMAP hMonoBitmap=CreateBitmap(CItemManager::LARGE_ICON_SIZE,CItemManager::LARGE_ICON_SIZE,1,1,NULL);
ICONINFO info={TRUE,0,0,hMonoBitmap,pItemInfo->largeIcon->bitmap};
hIcon=CreateIconIndirect(&info);
DeleteObject(hMonoBitmap);
}
TASKDIALOGCONFIG task={sizeof(task),parent,NULL,TDF_ALLOW_DIALOG_CANCELLATION|TDF_USE_HICON_MAIN,TDCBF_YES_BUTTON|TDCBF_NO_BUTTON};
task.pszWindowTitle=title;
task.pszContent=text;
task.hMainIcon=hIcon?hIcon:LoadIcon(NULL,IDI_QUESTION);
int res;
if (FAILED(TaskDialogIndirect(&task,&res,NULL,NULL)))
res=0;
if (hIcon) DestroyIcon(hIcon);
if (res==IDYES)
UninstallMetroApp(appid);
}
// Determines if Edge is the default browser
bool IsEdgeDefaultBrowser( void )
{
if (GetWinVersion()<WIN_VER_WIN10)
return false;
CRegKey userKey;
if (userKey.Open(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice",KEY_READ)==ERROR_SUCCESS)
{
wchar_t text[_MAX_PATH]=L"";
ULONG size=_countof(text);
if (userKey.QueryStringValue(L"ProgId",text,&size)==ERROR_SUCCESS)
{
wchar_t path[_MAX_PATH];
Sprintf(path,_countof(path),L"%s\\Application",text);
CRegKey appKey;
if (userKey.Open(HKEY_CLASSES_ROOT,path,KEY_READ)==ERROR_SUCCESS)
{
size=_countof(text);
if (userKey.QueryStringValue(L"AppUserModelID",text,&size)==ERROR_SUCCESS)
{
if (_wcsicmp(text,L"Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge")==0)
return true;
}
}
}
}
return false;
}
@@ -0,0 +1,55 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
#include <vector>
#include "ItemManager.h"
#include "LogManager.h"
#define METRO_APP_ROOT L"%LOCALAPPDATA%\\Microsoft\\Windows\\Application Shortcuts"
extern PROPERTYKEY PKEY_MetroAppLink; // pidl
extern PROPERTYKEY PKEY_MetroAppLauncher; // =1 for metro apps
extern PROPERTYKEY PKEY_MetroIconColor;
extern KNOWNFOLDERID FOLDERID_AppsFolder2;
#define DESKTOP_APP_ID L"Microsoft.Windows.Desktop"
#define SEARCH_APP_ID L"Windows.UI.Search"
struct MetroLink
{
CAbsolutePidl pidl;
CString appid; // only for Windows 10
CComPtr<IShellItem> pItem;
};
// Returns a list of links for all metro apps
void GetMetroLinks( std::vector<MetroLink> &links, bool bLog, std::vector<CString> *pNonApps10=NULL );
// Executes the metro link of the given item info
void ExecuteMetroLink( const CItemManager::ItemInfo *pInfo );
// Returns true if the app is still valid
bool IsValidApp( const wchar_t *appid );
// Returns true if the app should not be uninstalled
bool IsProtectedApp( const wchar_t *appid );
// Returns true if uninstalling is allowed by the policy
bool GetUninstallPolicy( void );
// Checks if the app can be uninstalled
bool CanUninstallMetroApp( const wchar_t *appid );
// Uninstalls the app with the given id
void UninstallMetroApp( const wchar_t *appid );
// Asks for confirmation to uninstall the specified app
void UninstallMetroApp( HWND parent, const wchar_t *name, const wchar_t *appid );
// Creates a context menu to pin/unpin the metro app to the taskbar
CComPtr<IContextMenu> GetMetroPinMenu( const wchar_t *appid );
// Determines if Edge is the default browser
bool IsEdgeDefaultBrowser( void );
File diff suppressed because it is too large Load Diff
+222
View File
@@ -0,0 +1,222 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
#include "ItemManager.h"
#include "DragDrop.h"
class CMenuContainer;
class CProgramsTree: public IDropTarget, public CWindowImpl<CProgramsTree>
{
public:
enum {
TVM_REFRESH=WM_APP+1,
TIMER_HOVER=1,
};
struct CTreeItem
{
CString name;
unsigned int nameHashProg; // hash if the item is directly in the Programs folder
unsigned int nameHash; // hash if the item is not directly in the Programs folder
const CItemManager::ItemInfo *pItemInfo1;
const CItemManager::ItemInfo *pItemInfo2;
bool bFolder;
bool bEmpty;
bool bApps; // the Apps folder item
bool bApp; // App inside the Apps folder
bool bAutoSort;
bool bPrograms; // this item is directly in the Programs folder
bool bNew;
int order;
unsigned int folderHash; // only if bFolder
CTreeItem( void ) { nameHash=nameHashProg=0; pItemInfo1=pItemInfo2=NULL; bFolder=bEmpty=bApps=bApp=bAutoSort=bPrograms=bNew=false; order=0; folderHash=0; }
void SetName( const wchar_t *_name, bool bNoExtensions )
{
if (bNoExtensions)
{
const wchar_t *end=wcsrchr(_name,'.');
if (end)
{
name=CString(_name,(int)(end-_name));
return;
}
}
name=_name;
}
bool operator==( const CTreeItem &item ) const { return pItemInfo1==item.pItemInfo1 && pItemInfo2==item.pItemInfo2 && name==item.name && bFolder==item.bFolder && (bFolder || bNew==item.bNew); }
unsigned int GetNameHash( void ) const { return bPrograms?nameHashProg:nameHash; }
};
BEGIN_MSG_MAP( CProgramsTree )
MESSAGE_HANDLER( WM_DESTROY, OnDestroy )
MESSAGE_HANDLER( WM_KEYDOWN, OnKeyDown )
MESSAGE_HANDLER( WM_SYSKEYDOWN, OnSysKeyDown )
MESSAGE_HANDLER( WM_CHAR, OnChar )
MESSAGE_HANDLER( WM_SETFOCUS, OnSetFocus )
MESSAGE_HANDLER( WM_MOUSEMOVE, OnMouseMove )
MESSAGE_HANDLER( WM_MOUSELEAVE, OnMouseLeave )
MESSAGE_HANDLER( WM_NCMOUSEMOVE, OnNcMouseMove )
MESSAGE_HANDLER( WM_NCMOUSELEAVE, OnNcMouseLeave )
MESSAGE_HANDLER( WM_MOUSEACTIVATE, OnMouseActivate )
MESSAGE_HANDLER( WM_NCLBUTTONDOWN, OnNcLButtonDown)
MESSAGE_HANDLER( WM_TIMER, OnTimer )
MESSAGE_HANDLER( WM_ERASEBKGND, OnEraseBkgnd )
MESSAGE_HANDLER( WM_PAINT, OnPaint )
MESSAGE_HANDLER( WM_CONTEXTMENU, OnContextMenu )
MESSAGE_HANDLER( WM_HSCROLL, OnScroll )
MESSAGE_HANDLER( WM_VSCROLL, OnScroll )
MESSAGE_HANDLER( WM_MOUSEWHEEL, OnScroll )
MESSAGE_HANDLER( TVM_SETINSERTMARK, OnSetInsertMark )
MESSAGE_HANDLER( TVM_REFRESH, OnRefresh )
REFLECTED_NOTIFY_CODE_HANDLER( TVN_DELETEITEM, OnDeleteItem )
REFLECTED_NOTIFY_CODE_HANDLER( TVN_ITEMEXPANDING, OnItemExpanding )
REFLECTED_NOTIFY_CODE_HANDLER( TVN_SINGLEEXPAND, OnSingleExpand )
REFLECTED_NOTIFY_CODE_HANDLER( TVN_BEGINDRAG, OnBeginDrag )
REFLECTED_NOTIFY_CODE_HANDLER( TVN_BEGINRDRAG, OnBeginDrag )
REFLECTED_NOTIFY_CODE_HANDLER( TVN_BEGINLABELEDIT, OnBeginLabelEdit )
REFLECTED_NOTIFY_CODE_HANDLER( TVN_ENDLABELEDIT, OnEndLabelEdit )
REFLECTED_NOTIFY_CODE_HANDLER( TVN_GETINFOTIP, OnGetInfoTip )
REFLECTED_NOTIFY_CODE_HANDLER( NM_CLICK, OnClick )
REFLECTED_NOTIFY_CODE_HANDLER( NM_RCLICK, OnRClick )
END_MSG_MAP()
CProgramsTree( void );
~CProgramsTree( void )
{
Assert(m_RefCount==0);
}
void Create( CMenuContainer *pOwner );
virtual WNDPROC GetWindowProc( void ) { return CustomWindowProc; }
static LRESULT CALLBACK CustomWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
void DeleteAllItems( void );
void CreateItems( void );
void SelectItem( int y );
void SelectFirst( void );
void SelectLast( void );
void ClearAllNew( void );
// reorders the tree elements and saves the order in registry
void OrderElements( HTREEITEM hChild, HTREEITEM hParent, const std::vector<unsigned int> &order, bool bAutoSort, bool bResort );
// saves the item order by replacing the item with the new info
void SaveRenamedOrder( HTREEITEM hItem, const CItemManager::ItemInfo *pNewInfo );
// IUnknown
virtual STDMETHODIMP QueryInterface( REFIID riid, void **ppvObject )
{
Assert(0);
*ppvObject=NULL;
return E_FAIL;
}
virtual ULONG STDMETHODCALLTYPE AddRef( void )
{
return InterlockedIncrement(&m_RefCount);
}
virtual ULONG STDMETHODCALLTYPE Release( void )
{
long nTemp=InterlockedDecrement(&m_RefCount);
if (!nTemp) delete this;
return nTemp;
}
// IDropTarget
virtual HRESULT STDMETHODCALLTYPE DragEnter( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect );
virtual HRESULT STDMETHODCALLTYPE DragOver( DWORD grfKeyState, POINTL pt, DWORD *pdwEffect );
virtual HRESULT STDMETHODCALLTYPE DragLeave( void );
virtual HRESULT STDMETHODCALLTYPE Drop( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect );
static void DrawScrollbarBackground( HDC hdc, int iPartId, int iStateId, LPCRECT pRect );
void DrawTree( HDC hdc, const RECT &drawRect );
protected:
LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnKeyDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnSysKeyDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnChar( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnSetFocus( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnMouseLeave( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnNcMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnNcMouseLeave( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnMouseActivate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnNcLButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnPaint( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnEraseBkgnd( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { return 1; }
LRESULT OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnScroll( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnSetInsertMark( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnRefresh( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnDeleteItem( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
LRESULT OnItemExpanding( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
LRESULT OnSingleExpand( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
LRESULT OnBeginDrag( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
LRESULT OnBeginLabelEdit( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
LRESULT OnEndLabelEdit( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
LRESULT OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
LRESULT OnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
LRESULT OnRClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
virtual void OnFinalMessage( HWND ) { Release(); }
private:
DWORD m_RefCount;
CMenuContainer *m_pOwner;
HIMAGELIST m_ImageList;
bool m_bHoverTimer;
bool m_bTrackMouse;
bool m_bRefreshPosted;
bool m_bAutoSort;
bool m_bDragApps;
bool m_bInsertAfter;
POINT m_LastMousePos;
int m_RootX;
int m_MinX;
int m_MaxX;
HTREEITEM m_InsertMark;
HTHEME m_TreeTheme;
HTHEME m_ScrollTheme;
enum TDropLocation
{
DROP_NOWHERE,
DROP_INSIDE,
DROP_BEFORE,
DROP_AFTER,
DROP_LAST,
};
TDropLocation m_DropLocation;
HTREEITEM m_DragItem;
HTREEITEM m_DropTarget;
HTREEITEM m_HoverItem;
CComPtr<CDropTargetProxy> m_pDropTargetProxy;
const CTreeItem *GetSelectedItem( HTREEITEM &hItem );
void AddFirstFolder( std::vector<CTreeItem*> &items, IShellItem *pParent, bool bPrograms );
void AddSecondFolder( std::vector<CTreeItem*> &items, IShellItem *pParent, bool bPrograms );
void AddMetroApps( std::vector<CTreeItem*> &items );
void GetFolderItems( std::vector<CTreeItem*> &items, HTREEITEM hParent );
void CreateFolderItems( IShellItem *pParent1, IShellItem *pParent2, HTREEITEM hParent );
void CreateFolderItems( HTREEITEM hParent );
void PostRefreshMessage( const CItemManager::ItemInfo *pSelectItem=NULL );
void RefreshTree( HTREEITEM hParent, const CItemManager::ItemInfo *pSelectItem );
void GetDragEffect( DWORD &grfKeyState, DWORD *pdwEffect );
void DrawTreeItem( HDC hdc, HDC hsrc, HTREEITEM hItem, const RECT &itemRect, bool bHot ) const;
bool GetInsertRect( RECT &rc ) const;
void ClearAllNewRec( HTREEITEM hParent );
static bool s_bFoldersFirst;
static bool CmpTreeItems( const CTreeItem *item1, const CTreeItem *item2 );
static int CALLBACK CmpTreeItemsCB( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort );
};
File diff suppressed because it is too large Load Diff
+263
View File
@@ -0,0 +1,263 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
#include "ItemManager.h"
#include <atldbcli.h>
#include <vector>
#include <list>
const int MAX_SEARCH_RESULTS=100; // per category
class CSearchManager
{
public:
CSearchManager( void );
~CSearchManager( void );
void Init( void );
void Close( void );
enum TItemCategory
{
CATEGORY_INVALID,
CATEGORY_PROGRAM,
CATEGORY_SETTING,
CATEGORY_METROSETTING,
CATEGORY_FILE,
CATEGORY_ITEM,
CATEGORY_INTERNET,
CATEGORY_AUTOCOMPLETE,
CATEGORY_MASK=15
};
struct SearchCategory
{
SearchCategory( void ) {}
SearchCategory( const SearchCategory &cat )
{
search.Clone(cat.search);
categoryHash=cat.categoryHash;
name=cat.name;
items=cat.items;
}
CAbsolutePidl search;
unsigned int categoryHash;
CString name;
struct Item
{
CString name;
CAbsolutePidl pidl;
};
std::vector<Item> items;
};
struct SearchResults
{
bool bSearching;
bool bResults;
CString currentString;
CString autoCompletePath;
std::vector<const CItemManager::ItemInfo*> programs;
std::vector<const CItemManager::ItemInfo*> settings;
std::vector<const CItemManager::ItemInfo*> autocomplete;
std::list<SearchCategory> indexed;
};
void BeginSearch( const CString &searchText );
void GetSearchResults( SearchResults &results );
void AddItemRank( unsigned int hash );
void CloseMenu( void );
void LaunchExternalSearch( PIDLIST_ABSOLUTE root, unsigned int categoryHash, const CString &searchText );
void LaunchInternetSearch( const CString &searchText );
private:
struct ItemRank
{
unsigned int hash; // hash of the item name in caps
int rank; // number of times it was used
int lastTime; // the last time it was updated (hi dword of FILETIME)
ItemRank( unsigned int _hash=0, int _rank=0, int _lastTime=0 ) { hash=_hash; rank=_rank; lastTime=_lastTime; }
bool operator<( const ItemRank &rank ) const { return hash<rank.hash; }
};
bool m_bRanksLoaded;
struct SearchItem
{
TItemCategory category;
CString name; // uppercase
CString keywords; // uppercase
const CItemManager::ItemInfo *pInfo;
int rank; // ignore the item if rank<0
bool bMetroLink;
SearchItem( void ) { category=CATEGORY_INVALID; pInfo=NULL; rank=0; bMetroLink=false; }
// 0 - no match, 1 - match name, 2 - match keywords
int MatchText( const wchar_t *search, bool bSearchSubWord ) const { return MatchTextInt(search,name,bSearchSubWord)?2:(MatchTextInt(search,keywords,bSearchSubWord)?1:0); }
bool operator<( const SearchItem &item ) const { return rank>item.rank || (rank==item.rank && wcscmp(name,item.name)<0); }
private:
static bool MatchTextInt( const wchar_t *search, const CString &text, bool bSearchSubWord );
};
bool m_bInitialized;
CString m_SearchText;
CString m_AutoCompletePath;
volatile int m_LastRequestId;
volatile int m_LastProgramsRequestId;
volatile int m_LastCompletedId;
struct SearchRequest
{
int requestId;
bool bSearchPrograms;
bool bSearchPath;
bool bSearchMetroApps;
bool bSearchMetroSettings;
bool bSearchSettings;
bool bSearchKeywords;
bool bSearchFiles;
bool bSearchMetadata;
bool bSearchTypes;
bool bSearchSubWord;
bool bUseRanks;
bool bNoCommonFolders;
bool bPinnedFolder;
DWORD searchTime;
CString searchText;
CString autoCompletePath;
};
// LOCK_DATA
SearchRequest m_SearchRequest;
std::vector<SearchItem> m_ProgramItems; // also LOCK_PROGRAMS
std::vector<SearchItem> m_SettingsItems; // also LOCK_PROGRAMS
std::vector<SearchItem> m_ProgramItemsOld;
std::vector<SearchItem> m_SettingsItemsOld;
unsigned int m_ProgramsHash;
unsigned int m_ProgramsHashOld;
unsigned int m_SettingsHash;
unsigned int m_SettingsHashOld;
bool m_bProgramsFound;
bool m_bSettingsFound;
std::vector<SearchItem> m_AutoCompleteItems;
std::list<SearchCategory> m_IndexedItems;
std::vector<ItemRank> m_ItemRanks;
CString m_LastAutoCompletePath;
enum
{
COLLECT_RECURSIVE =0x01, // go into subfolders
COLLECT_PROGRAMS =0x02, // only collect programs (.exe, .com, etc)
COLLECT_FOLDERS =0x04, // include folder items
COLLECT_METRO =0x08, // check for metro links (non-recursive)
COLLECT_ONLY_METRO =0x10, // collect only metro links
COLLECT_KEYWORDS =0x20, // include the keywords
COLLECT_LIBRARY =0x40, // the folder is a library
COLLECT_NOREFRESH =0x80, // suppress the refresh message
COLLECT_IS_FOLDER =0x8000
};
bool AddSearchItem( IShellItem *pItem, const wchar_t *name, int flags, TItemCategory category, SearchRequest &searchRequest );
void CollectSearchItems( IShellItem *pFolder, int flags, TItemCategory category, SearchRequest &searchRequest );
void CollectIndexItems( IShellItem *pFolder, int flags, TItemCategory category, const wchar_t *groupName );
enum TLock
{
LOCK_DATA,
LOCK_PROGRAMS,
LOCK_RANKS,
LOCK_COUNT,
};
CRITICAL_SECTION m_CriticalSections[LOCK_COUNT];
DWORD m_CriticalSectionOwners[LOCK_COUNT];
class Lock
{
public:
Lock( CSearchManager *pThis, TLock index )
{
m_pSection=&pThis->m_CriticalSections[index];
EnterCriticalSection(m_pSection);
m_pOwner=&pThis->m_CriticalSectionOwners[index];
if (!*m_pOwner)
*m_pOwner=GetCurrentThreadId();
else
m_pOwner=NULL;
}
~Lock( void )
{
if (m_pOwner) *m_pOwner=0;
LeaveCriticalSection(m_pSection);
}
private:
CRITICAL_SECTION *m_pSection;
DWORD *m_pOwner;
};
bool ThreadHasLock( TLock index ) { return m_CriticalSectionOwners[index]==GetCurrentThreadId(); }
HANDLE m_SearchEvent;
HANDLE m_ExitEvent;
HANDLE m_SearchThreads[8];
volatile long m_SearchThreadCount;
DWORD m_MainThreadId;
void LoadItemRanks( void );
void SearchThread( void );
static DWORD CALLBACK StaticSearchThread( void *param );
static bool CmpRankTime( const CSearchManager::ItemRank &rank1, const CSearchManager::ItemRank &rank2 );
static unsigned int CalcItemsHash( const std::vector<SearchItem> &items );
struct SearchScope
{
SearchScope( void ) { resultCount=0; categoryHash=0; bFiles=true; bCommunications=false; }
CAbsolutePidl search;
unsigned int categoryHash;
CString name;
bool bFiles;
bool bCommunications;
std::vector<CString> roots;
int resultCount;
bool ParseSearchConnector( const wchar_t *fname );
};
class CDataAccessor
{
public:
wchar_t itemUrl[_MAX_PATH];
wchar_t itemType[_MAX_PATH];
wchar_t parsingPath[_MAX_PATH];
wchar_t displayPath[_MAX_PATH];
wchar_t displayName[_MAX_PATH];
//Output Accessor
BEGIN_COLUMN_MAP(CDataAccessor)
COLUMN_ENTRY(1, itemUrl)
COLUMN_ENTRY(2, itemType)
COLUMN_ENTRY(3, parsingPath)
COLUMN_ENTRY(4, displayPath)
COLUMN_ENTRY(5, displayName)
END_COLUMN_MAP()
};
};
extern CSearchManager g_SearchManager;
bool HasSearchService( void );
File diff suppressed because it is too large Load Diff
+95
View File
@@ -0,0 +1,95 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
#include "StartMenuDLL.h"
enum TMenuStyle
{
MENU_CLASSIC1,
MENU_CLASSIC2,
MENU_WIN7,
};
enum TProgramsStyle
{
PROGRAMS_CASCADING,
PROGRAMS_INLINE,
PROGRAMS_HIDDEN,
};
enum TRecentPrograms
{
RECENT_PROGRAMS_NONE,
RECENT_PROGRAMS_RECENT,
RECENT_PROGRAMS_FREQUENT,
};
enum TPinnedPrograms
{
PINNED_PROGRAMS_FAST,
PINNED_PROGRAMS_PINNED,
};
enum TRecentKeys
{
RECENT_KEYS_NONE,
RECENT_KEYS_NORMAL,
RECENT_KEYS_DIGITS,
RECENT_KEYS_HIDDEN_DIGITS,
};
enum TShutdownType
{
SHUTDOWN_TYPE_NONE,
SHUTDOWN_TYPE_SHUTDOWN,
SHUTDOWN_TYPE_RESTART,
SHUTDOWN_TYPE_LOGOFF,
SHUTDOWN_TYPE_SLEEP,
SHUTDOWN_TYPE_HIBERNATE,
SHUTDOWN_TYPE_LOCK,
SHUTDOWN_TYPE_SWITCHUSER,
SHUTDOWN_TYPE_SHUTDOWN_BOX,
SHUTDOWN_TYPE_COUNT
};
enum TSearchBoxType
{
SEARCHBOX_HIDDEN,
SEARCHBOX_NORMAL,
SEARCHBOX_TAB,
};
enum TTaskbarLook
{
TASKBAR_OPAQUE,
TASKBAR_TRANSPARENT,
TASKBAR_GLASS,
TASKBAR_AEROGLASS,
};
enum TTaskbarTile
{
TILE_TILE,
TILE_STRETCH,
};
enum
{
COMPATIBILITY_ENUM_SHELLITEM= 1, // use IEnumShellItems to enumerate items
COMPATIBILITY_ENUM_FIX_PIDLS= 2, // regenerate child pidls when enumerating folders (requres COMPATIBILITY_ENUM_SHELLITEM)
COMPATIBILITY_SKIP_DESKTOP= 4, // don't collect items from desktop
COMPATIBILITY_TRIM_HOOKS= 8, // less hooking for Win7
COMPATIBILITY_UPDATE_ITEMS= 16, // update the shell items for all search results
COMPATIBILITY_NO_TOUCH_KBD= 32, // disable the touch keyboard support
COMPATIBILITY_CRASH_TEST= 0x80000000
};
void InitSettings( void );
STARTMENUAPI void EditSettings( bool bModal, int tab );
STARTMENUAPI bool DllImportSettingsXml( const wchar_t *fname );
STARTMENUAPI bool DllExportSettingsXml( const wchar_t *fname );
@@ -0,0 +1,23 @@
; Empty skin - all properties are defaults, except:
About=#7100
AboutIcon=103
Main_padding=2,2,2,2
Main_no_icons2=1
Main_new_selection=#FFBB00
Main_new_text_color=#000000
Main_new_arrow_color=#000000
Submenu_padding=2,2,2,2
Submenu_separator_text_padding=3,4,4,4,100%
Submenu_separator_icon_padding=6,3,3,3,100%
Submenu_separator_split_text_padding=3,4,4,4,100%
Submenu_separator_split_icon_padding=6,3,3,3,100%
Submenu_new_selection=#FFBB00
Submenu_new_text_color=#000000
Submenu_new_arrow_color=#000000
Main2_padding=4,2,2,2
Main2_text_padding=3,4,4,4,100%
Main2_new_selection=#FFBB00
Main2_new_text_color=#000000
Main2_new_arrow_color=#000000
More_bitmap=none
@@ -0,0 +1,32 @@
; Empty skin - all properties are defaults, except:
About=#7100
AboutIcon=103
Main_padding=2,2,4,2
Main_new_selection=#FFBB00
Main_new_text_color=#000000
Main_new_arrow_color=#000000
Submenu_new_selection=#FFBB00
Submenu_new_text_color=#000000
Submenu_new_arrow_color=#000000
Programs_new_selection=#FFBB00
Programs_new_text_color=#000000
Main2_new_selection=#FFBB00
Main2_new_text_color=#000000
Main2_new_arrow_color=#000000
Main2_padding=2,2,2,2
Main_search_padding=2,2,2,2
Main_jump_padding=2,2,2,2
Main_text_padding=1,3,8,4
Main_no_icons2=1
Shutdown_padding=5,5,5,5
Shutdown_text_padding=5,4,8,5
Shutdown_icon_padding=4,3,-2,3
Submenu_padding=2,2,2,2
Submenu_separator_text_padding=3,4,4,4
List_separator_text_padding=3,0,0,0
List_separator_icon_padding=4,3,4,3
List_separator_split_text_padding=3,0,0,0
List_separator_split_icon_padding=4,3,4,3
Main_search_indent=8
More_bitmap=none
File diff suppressed because it is too large Load Diff
+487
View File
@@ -0,0 +1,487 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
#include <vector>
#include <map>
const int MAX_SKIN_VERSION=3;
class CSkinParser;
enum TSkinOptionType;
struct MenuBitmap
{
bool bIsBitmap;
bool bIsOwned; // only valid if bIsBitmap and bitmap
bool bIs32; // only valid if bIsBitmap and bitmap
MenuBitmap( void ) { bIsBitmap=bIsOwned=bIs32=false; bitmap=NULL; }
void Init( bool bIsColor=false );
void Reset( bool bIsColor=false );
HBITMAP GetBitmap( void ) const { return bIsBitmap?bitmap:NULL; }
COLORREF GetColor( void ) const { return bIsBitmap?0:color; }
void operator=( HBITMAP bmp ) { bIsBitmap=true; bitmap=bmp; }
void operator=( COLORREF col ) { bIsBitmap=false; color=col; }
private:
union
{
COLORREF color;
HBITMAP bitmap;
};
};
struct MenuSkin
{
enum TSkinType
{
// the first 3 values match the MenuStyle setting
SKIN_TYPE_CLASSIC1,
SKIN_TYPE_CLASSIC2,
SKIN_TYPE_WIN7,
SKIN_TYPE_ALL_PROGRAMS,
SKIN_TYPE_COUNT
};
unsigned int Hash;
unsigned int MetroColorHash;
int Dpi;
CString About; // the text to show in the About box
HICON AboutIcon; // the icon to show in the About box
int Version; // 1 - skin 1.0 (default), 2 - skin 2.0 (future skins)
TSkinType SkinType;
bool ForceRTL;
bool TwoColumns;
bool Main_FakeGlass;
bool Submenu_FakeGlass;
bool ForceTouch;
struct Variation
{
CString label;
CString labelEn;
CString tip;
};
std::vector<std::pair<int,Variation>> Variations;
struct Option
{
// from skin
CString name;
TSkinOptionType type;
CString label;
CString tip;
CString condition;
int groupId;
bool bDefValue; // default value when not set by user
CString disValue; // the value when the setting is disabled
// current state
mutable bool bEnabled;
mutable bool bValue;
mutable CString sValue;
};
std::vector<Option> Options;
enum TOpacity
{
OPACITY_SOLID,
OPACITY_REGION,
OPACITY_ALPHA,
OPACITY_GLASS,
OPACITY_FULLALPHA,
OPACITY_FULLGLASS,
};
enum TShadow
{
SHADOW_ON,
SHADOW_OFF,
SHADOW_GLASS, // enabled when glass is available
};
enum
{
USER_CENTER=10000,
USER_CENTER1=10001,
USER_CENTER2=10002,
};
enum THAlign
{
HALIGN_CENTER,
HALIGN_CENTER1,
HALIGN_CENTER2,
HALIGN_LEFT,
HALIGN_LEFT1,
HALIGN_LEFT2,
HALIGN_RIGHT,
HALIGN_RIGHT1,
HALIGN_RIGHT2,
HALIGN_CORNER,
HALIGN_NONE,
};
enum TVAlign
{
VALIGN_CENTER,
VALIGN_TOP,
VALIGN_BOTTOM,
VALIGN_CORNER,
VALIGN_NONE,
};
enum TItemDrawType
{
COLUMN1_ITEM,
COLUMN1_SPLIT,
COLUMN1_NEW,
COLUMN1_SEPARATOR,
COLUMN2_ITEM,
COLUMN2_SPLIT,
COLUMN2_NEW,
COLUMN2_SEPARATOR,
COLUMN2_INLINE,
SUBMENU_ITEM,
SUBMENU_SPLIT,
SUBMENU_NEW,
SUBMENU_SEPARATOR,
SUBMENU_SEPARATOR_SPLIT,
// special items
PROGRAMS_TREE_ITEM,
PROGRAMS_TREE_NEW,
PROGRAMS_BUTTON,
PROGRAMS_BUTTON_NEW,
PROGRAMS_CASCADING,
PROGRAMS_CASCADING_NEW,
SHUTDOWN_BUTTON,
SHUTDOWN_BUTTON_SEARCH,
SHUTDOWN_BUTTON_JUMP,
LIST_ITEM,
LIST_SPLIT,
LIST_SEPARATOR,
LIST_SEPARATOR_SPLIT,
ITEM_TYPE_COUNT
};
enum TIconSize
{
ICON_SIZE_UNDEFINED=-1,
ICON_SIZE_NONE,
ICON_SIZE_SMALL,
ICON_SIZE_LARGE,
ICON_SIZE_PROGRAMS,
};
struct ItemDrawSettings
{
// text
HFONT font;
bool bOwnFont;
int glowSize;
COLORREF textColors[4]; // normal, selected, disabled, disabled+selected
COLORREF textShadowColors[4];
RECT textPadding;
// selection
MenuBitmap bmpSelection;
int selSlicesX[6]; // 3 for normal, 6 for split selection
int selSlicesY[3];
// arrow
MenuBitmap bmpArrow;
SIZE arrSize;
COLORREF arrColors[2]; // normal, selected
SIZE arrPadding;
// icon frame
MenuBitmap bmpIconFrame;
int frameSlicesX[3];
int frameSlicesY[3];
POINT iconFrameOffset;
RECT iconPadding;
// only used by separator items
MenuBitmap bmpSeparator;
int sepSlicesX[3];
int sepHeight;
// calculated
TOpacity opacity;
mutable int itemHeight;
mutable int textTopOffset;
mutable int iconTopOffset;
TIconSize iconSize;
TEXTMETRIC textMetrics;
void Init( void );
void Reset( void );
};
ItemDrawSettings ItemSettings[ITEM_TYPE_COUNT];
// CAPTION SECTION - describes the caption portion of the main menu
HFONT Caption_font;
COLORREF Caption_text_color;
COLORREF Caption_glow_color;
int Caption_glow_size;
RECT Caption_padding0;
// MENU SECTION - describes the menu portion of the main menu
MenuBitmap Main_bitmap;
int Main_bitmap_slices_X[9];
int Main_bitmap_slices_Y[6];
TOpacity Main_opacity;
TOpacity Main2_opacity;
TOpacity Search_opacity;
TOpacity Jumplist_opacity;
TShadow Main_shadow;
MenuBitmap Main_bitmap_search;
int Main_bitmap_search_slices_X[9];
int Main_bitmap_search_slices_Y[6];
MenuBitmap Main_bitmap_jump;
int Main_bitmap_jump_slices_X[9];
int Main_bitmap_jump_slices_Y[6];
RECT Shutdown_padding;
bool bHasNewItem;
bool Main_thin_frame;
TIconSize Main_icon_size;
TIconSize Main2_icon_size;
COLORREF Main_background;
COLORREF Main_background2;
RECT Main_padding0;
RECT Main2_padding0;
RECT Main_search_padding0;
RECT Main_jump_padding0;
int Main_search_indent;
MenuBitmap Main_separatorV;
int Main_separatorWidth;
int Main_separator_slices_Y[3];
RECT Search_padding;
bool Search_frame;
MenuBitmap Search_background;
int Search_background_slices_X[9];
int Search_background_slices_Y[9];
RECT Search_background_padding;
MenuBitmap Search_background_search;
int Search_background_search_slices_X[9];
int Search_background_search_slices_Y[9];
RECT Search_background_search_padding;
MenuBitmap Search_background_jump;
int Search_background_jump_slices_X[9];
int Search_background_jump_slices_Y[9];
RECT Search_background_jump_padding;
MenuBitmap Main_emblems[10];
SIZE Main_emblem_sizes[10];
RECT Main_emblem_paddings[10];
THAlign Main_emblem_alignH1[10];
THAlign Main_emblem_alignH2[10];
TVAlign Main_emblem_alignV[10];
MenuBitmap Main_emblem_mask;
MenuBitmap Main_emblem_search_mask;
MenuBitmap Main_emblem_jump_mask;
MenuBitmap Search_emblem_mask;
MenuBitmap Search_emblem_search_mask;
MenuBitmap Search_emblem_jump_mask;
MenuBitmap Patterns[4];
SIZE Pattern_sizes[4];
std::vector<unsigned int> PatternBits[4];
int PatternPretileWidth;
MenuBitmap Main_pattern_mask;
MenuBitmap Main_pattern_search_mask;
MenuBitmap Main_pattern_jump_mask;
MenuBitmap Search_pattern_mask;
MenuBitmap Search_pattern_search_mask;
MenuBitmap Search_pattern_jump_mask;
// SUB-MENU SECTION - describes the menu portion of the sub-menu
MenuBitmap Submenu_bitmap;
int Submenu_bitmap_slices_X[6];
int Submenu_bitmap_slices_Y[3];
TOpacity Submenu_opacity;
TShadow Submenu_shadow;
COLORREF Submenu_background;
RECT Submenu_padding0;
int Submenu_offset;
int AllPrograms_offset;
bool Submenu_thin_frame;
MenuBitmap Submenu_separatorV;
int Submenu_separatorWidth;
int Submenu_separator_slices_Y[3];
MenuBitmap Submenu_pager;
int Submenu_pager_slices_X[3];
int Submenu_pager_slices_Y[3];
MenuBitmap Submenu_pager_arrows;
SIZE Submenu_pager_arrow_Size;
MenuBitmap Pin_bitmap;
SIZE Pin_bitmap_Size;
MenuBitmap More_bitmap;
SIZE More_bitmap_Size;
MenuBitmap Shutdown_bitmap;
SIZE Shutdown_bitmap_Size;
// SEARCH SECTION
MenuBitmap Search_bitmap;
MenuBitmap Search_arrow;
SIZE Search_arrow_size;
HFONT Search_hint_font;
HFONT Search_underline_font;
bool BOwnHintFont;
COLORREF Search_text_colors[2];
COLORREF Search_text_background;
MenuBitmap Main_pager;
int Main_pager_slices_X[3];
int Main_pager_slices_Y[3];
MenuBitmap Main_pager_arrows;
SIZE Main_pager_arrow_Size;
MenuBitmap User_bitmap;
SIZE User_bitmapSize;
MenuBitmap User_mask;
SIZE User_maskSize;
bool User_bitmap_outside;
POINT User_frame_position;
POINT User_image_offset;
int User_image_size;
int User_image_alpha;
POINT User_image_padding; // top, bottom
RECT User_name_position;
THAlign User_name_align;
HFONT User_font;
COLORREF User_text_color;
COLORREF User_glow_color;
int User_glow_size;
// PROGRAMS SECTION
COLORREF Programs_background;
int Programs_indent;
MenuBitmap Programs_icon;
SIZE Programs_icon_size;
MenuBitmap Programs_icon_selected;
// SCROLLBAR SECTION
MenuBitmap Scrollbar_button;
int Scrollbar_button_slices_X[3];
int Scrollbar_button_slices_Y[3];
MenuBitmap Scrollbar_arrows;
SIZE Scrollbar_arrows_size;
MenuBitmap Scrollbar_background;
int Scrollbar_background_slices_X[3];
int Scrollbar_background_slices_Y[3];
MenuBitmap Scrollbar_thumb;
int Scrollbar_thumb_slices_X[3];
int Scrollbar_thumb_slices_Y[3];
MenuBitmap Scrollbar_gripper;
SIZE Scrollbar_gripper_size;
bool BHasScrollbar;
mutable bool BHasMetroColors;
// calculated
mutable RECT Caption_padding;
mutable RECT Main_padding;
mutable RECT Main2_padding;
mutable RECT Main_search_padding;
mutable RECT Main_jump_padding;
mutable RECT Submenu_padding;
MenuSkin( void );
~MenuSkin( void );
void Reset( void );
static wchar_t s_SkinError[1024]; // parsing error. must end on \r\n
bool LoadMenuSkin( const wchar_t *fname, const wchar_t *variation, const wchar_t *optionsStr, TSkinType skinType, unsigned int flags, int dpi );
void LoadDefaultMenuSkin( TSkinType skinType, unsigned int flags, int dpi );
const POINT *GetArrowsBitmapSizes( void ) const; // insert left, middle size, insert right, right arrow, left arrow, down arrow, total size
void PretilePatterns( int width );
void ParseOptionsString( const wchar_t *optionsStr, std::map<CString,CString> &options ) const;
bool ComputeOptionStates( const std::map<CString,CString> &options, std::vector<const wchar_t*> &values, bool bTranslateValues ) const;
void SerializeOptionStates( std::vector<wchar_t> &buffer ) const;
private:
enum TSkinNumberType
{
NUMBERS_COLORS, // 0xBBGGRR
NUMBERS_COLORS_ABGR, // 0xAABBGGRR
NUMBERS_COLORS_RGB, // 0xRRGGBB
NUMBERS_PADDING, // scaled by %
NUMBERS_SIZE, // scaled by %
NUMBERS_SLICES, // no modification
NUMBERS_OTHER, // no modification
};
struct MetroColor
{
int colorType;
COLORREF color;
};
struct CustomBitmap
{
HBITMAP bitmap;
CString path;
FILETIME timestamp;
};
mutable std::map<unsigned int,MetroColor> MetroColors;
mutable std::vector<CustomBitmap> CustomBitmaps;
COLORREF GetMetroColor( const wchar_t *name ) const;
unsigned int CalcMetroColorHash( int set=-1 ) const;
int LoadSkinNumbers( const wchar_t *str, int *numbers, int count, TSkinNumberType type ) const;
HFONT LoadSkinFont( const wchar_t *str, const wchar_t *name, int weight, float size, bool bScale ) const;
void LoadSkinTintColors( CSkinParser &parser, const wchar_t *name, COLORREF &tintColor1, COLORREF &tintColor2, COLORREF &tintColor3, COLORREF backgroundColor ) const;
bool LoadSkinColors( CSkinParser &parser, const wchar_t *name, COLORREF *colors, int count, COLORREF backgroundColor, TSkinNumberType type=NUMBERS_COLORS ) const;
bool LoadSkinBackground( HMODULE hMod, CSkinParser &parser, const wchar_t *name, MenuBitmap &bitmap, COLORREF bkColor, int *slicesX, int countX, int *slicesY, int countY, bool bMirror, bool bAllowColor=false, bool bPremultiply=true ) const;
MenuBitmap LoadSkinBitmap( HMODULE hMod, int index, int maskIndex, COLORREF tintColor1, COLORREF tintColor2, COLORREF tintColor3, bool bPremultiply=true ) const;
bool LoadSkinBitmap( HMODULE hMod, CSkinParser &parser, const wchar_t *name, MenuBitmap &bitmap, SIZE *size, bool bMirror, bool bPremultiply=true ) const;
bool LoadSkinItem( HMODULE hMod, CSkinParser &parser, const wchar_t *name, MenuSkin::ItemDrawSettings &settings, MenuSkin::ItemDrawSettings *pDefaults, COLORREF background, bool bRTL ) const;
bool LoadSkin( HMODULE hMod, const wchar_t *variation, const wchar_t *optionsStr, TSkinType skinType, unsigned int flags, int dpi );
int ScaleSkinElement( int num, int scale=100 ) const;
RECT ScaleSkinElement( const RECT &rect ) const;
POINT ScaleSkinElement( const POINT &point ) const;
SIZE ScaleSkinElement( const SIZE &size ) const;
static THAlign ParseHAlign( const wchar_t *str );
static TVAlign ParseVAlign( const wchar_t *str );
static TIconSize ParseIconSize( const wchar_t *str );
};
enum
{
LOADMENU_RESOURCES=1,
};
// Returns the path to the skin files. path must be _MAX_PATH characters
void GetSkinsPath( wchar_t *path );
// Returns the system glass color
void GetSystemGlassColor( int &dr, int &dg, int &db, int &da, int &dc );
void GetMetroGlassColor( int &dr, int &dg, int &db );
COLORREF GetMetroTaskbarColor( bool &bTransparent );
COLORREF GetSystemGlassColor8( void );
COLORREF GetSystemAccentColor( void );
extern DWORD g_CustomScrollbarThread;
extern HTHEME g_CustomScrollbarTheme;
void InitializeSkinManager( bool bInitIat );
void CloseSkinManager( bool bCloseIat );
+715
View File
@@ -0,0 +1,715 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#include "stdafx.h"
#include "resource.h"
#include "Translations.h"
#include "Settings.h"
#include "SettingsUI.h"
#include "ResourceHelper.h"
#include "ItemManager.h"
#include "StartMenuDLL.h"
#include "StartButton.h"
#include "MenuContainer.h"
#include "TouchHelper.h"
#include "dllmain.h"
#include <uxtheme.h>
#include <vsstyle.h>
#include <vssym32.h>
#include <dwmapi.h>
static int START_ICON_SIZE=0;
const int START_BUTTON_PADDING=3;
const int START_BUTTON_OFFSET=2;
const int START_TEXT_PADDING=2;
const int BLEND_PRECISION=1000;
bool g_bAllowMoveButton;
// CStartButton - implementation of a start button (for Windows 8)
class CStartButton: public CWindowImpl<CStartButton>
{
public:
DECLARE_WND_CLASS_EX(L"OpenShell.CStartButton",CS_DBLCLKS,COLOR_MENU)
CStartButton( void );
// message handlers
BEGIN_MSG_MAP( CStartButton )
MESSAGE_HANDLER( WM_CREATE, OnCreate )
MESSAGE_HANDLER( WM_DESTROY, OnDestroy )
MESSAGE_HANDLER( WM_CLOSE, OnClose )
MESSAGE_HANDLER( WM_MOUSEACTIVATE, OnMouseActivate )
MESSAGE_HANDLER( WM_MOUSEMOVE, OnMouseMove )
MESSAGE_HANDLER( WM_ERASEBKGND, OnEraseBkgnd )
MESSAGE_HANDLER( WM_TIMER, OnTimer )
MESSAGE_HANDLER( WM_SETTINGCHANGE, OnSettingChange )
MESSAGE_HANDLER( WM_THEMECHANGED, OnThemeChanged )
MESSAGE_HANDLER( WM_POINTERDOWN, OnPointer )
MESSAGE_HANDLER( WM_POINTERUPDATE, OnPointer )
MESSAGE_HANDLER( WM_POINTERUP, OnPointer )
END_MSG_MAP()
void SetPressed( bool bPressed );
void UpdateButton( void );
void TaskBarMouseMove( void );
SIZE GetSize( void ) const { return m_Size; }
bool GetSmallIcons( void ) const { return m_bSmallIcons; }
protected:
LRESULT OnCreate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnClose( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { return 0; }
LRESULT OnEraseBkgnd( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { return 1; }
LRESULT OnMouseActivate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { return MA_NOACTIVATE; }
LRESULT OnMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnSettingChange( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnThemeChanged( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
LRESULT OnPointer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
private:
enum { TIMER_BLEND=1, TIMER_LEAVE=2 };
size_t m_TaskbarId;
SIZE m_Size;
HBITMAP m_Bitmap, m_Blendmap;
unsigned int *m_Bits, *m_BlendBits;
HICON m_Icon;
HFONT m_Font;
bool m_bHot, m_bPressed;
bool m_bTrackMouse;
bool m_bClassic;
bool m_bRTL;
bool m_bSmallIcons;
int m_HotBlend; // 0..BLEND_PRECISION
CWindow m_Tooltip;
HTHEME m_Theme;
// animations
int m_YOffset;
int m_Frames[3];
struct Animation
{
std::vector<int> frames;
int duration; // in ms
bool bBlend;
};
Animation m_Animations[2];
void ParseAnimation( Animation &animation, const std::vector<unsigned int> &pixels, int &index, int totalFrames );
void LoadBitmap( void );
void SetHot( bool bHot );
};
CStartButton::CStartButton( void )
{
m_Size.cx=m_Size.cy=0;
m_TaskbarId=-1;
m_Bitmap=m_Blendmap=NULL;
m_Bits=m_BlendBits=NULL;
m_Icon=NULL;
m_Font=NULL;
m_bHot=m_bPressed=false;
m_bTrackMouse=false;
m_bClassic=m_bSmallIcons=false;
m_bRTL=false;
m_HotBlend=0;
m_Theme=NULL;
}
LRESULT CStartButton::OnCreate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
size_t params=(intptr_t)(((CREATESTRUCT*)lParam)->lpCreateParams);
m_bRTL=(params&1)!=0;
m_TaskbarId=params>>1;
m_bSmallIcons=IsTaskbarSmallIcons();
std::vector<HMODULE> modules;
m_Icon=NULL;
START_ICON_SIZE=0;
CString iconPath=GetSettingString(L"StartButtonIcon");
if (_wcsicmp(iconPath,L"none")!=0)
{
START_ICON_SIZE=GetSettingInt(L"StartButtonIconSize");
if (START_ICON_SIZE==0)
START_ICON_SIZE=GetSystemMetrics(m_bSmallIcons?SM_CXSMICON:SM_CXICON);
if (START_ICON_SIZE<8) START_ICON_SIZE=8;
if (START_ICON_SIZE>64) START_ICON_SIZE=64;
m_Icon=LoadIcon(START_ICON_SIZE,iconPath,modules);
for (std::vector<HMODULE>::const_iterator it=modules.begin();it!=modules.end();++it)
FreeLibrary(*it);
if (!m_Icon)
m_Icon=(HICON)LoadImage(g_Instance,MAKEINTRESOURCE(IDI_APPICON),IMAGE_ICON,START_ICON_SIZE,START_ICON_SIZE,LR_DEFAULTCOLOR);
}
int dpi=CItemManager::GetDPI(false);
m_Font=CreateFont(10*dpi/72,0,0,0,FW_BOLD,0,0,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,L"Tahoma");
int val=1;
DwmSetWindowAttribute(m_hWnd,DWMWA_EXCLUDED_FROM_PEEK,&val,sizeof(val));
val=DWMFLIP3D_EXCLUDEABOVE;
DwmSetWindowAttribute(m_hWnd,DWMWA_FLIP3D_POLICY,&val,sizeof(val));
LoadBitmap();
m_Tooltip=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|WS_EX_TRANSPARENT|(m_bRTL?WS_EX_LAYOUTRTL:0),TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_NOPREFIX|TTS_ALWAYSTIP,0,0,0,0,NULL,NULL,g_Instance,NULL);
OnThemeChanged(WM_THEMECHANGED,0,0,bHandled);
m_bPressed=true;
SetPressed(false);
bHandled=FALSE;
return 0;
}
LRESULT CStartButton::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
if (m_Bitmap) DeleteObject(m_Bitmap);
if (m_Blendmap) DeleteObject(m_Blendmap);
if (m_Icon) DestroyIcon(m_Icon);
if (m_Font) DeleteObject(m_Font);
if (m_Theme) CloseThemeData(m_Theme);
m_Tooltip.DestroyWindow();
KillTimer(TIMER_BLEND);
bHandled=FALSE;
return 0;
}
void CStartButton::UpdateButton( void )
{
BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA};
HDC hSrc=CreateCompatibleDC(NULL);
RECT rc;
GetWindowRect(&rc);
SIZE size={rc.right-rc.left,rc.bottom-rc.top};
if (m_bClassic)
{
if (m_bRTL)
SetLayout(hSrc,LAYOUT_RTL);
HGDIOBJ bmp0=SelectObject(hSrc,m_Blendmap);
RECT rc={0,0,m_Size.cx,m_Size.cy};
FillRect(hSrc,&rc,(HBRUSH)GetStockObject(BLACK_BRUSH));
InflateRect(&rc,-START_BUTTON_OFFSET,-START_BUTTON_OFFSET);
int offset=0;
if (m_Theme)
{
int state=m_bPressed?PBS_PRESSED:(m_bHot?PBS_HOT:PBS_NORMAL);
DrawThemeBackground(m_Theme,hSrc,BP_PUSHBUTTON,state,&rc,NULL);
}
else
{
DrawFrameControl(hSrc,&rc,DFC_BUTTON,DFCS_BUTTONPUSH|(m_bPressed?DFCS_PUSHED:0));
offset=m_bPressed?1:0;
}
if (m_Icon)
DrawIconEx(hSrc,START_BUTTON_PADDING+START_BUTTON_OFFSET+offset,(m_Size.cy-START_ICON_SIZE)/2+offset,m_Icon,0,0,0,NULL,DI_NORMAL|DI_NOMIRROR);
rc.left+=START_BUTTON_PADDING+START_ICON_SIZE+START_TEXT_PADDING+offset;
rc.top+=START_BUTTON_PADDING+offset;
rc.right-=START_BUTTON_PADDING+START_TEXT_PADDING-offset;
rc.bottom-=START_BUTTON_PADDING-offset;
HFONT font0=(HFONT)SelectObject(hSrc,m_Font);
COLORREF color=GetSysColor(COLOR_BTNTEXT);
if (m_Theme)
{
int state=m_bPressed?PBS_PRESSED:(m_bHot?PBS_HOT:PBS_NORMAL);
if (FAILED(GetThemeColor(m_Theme,BP_PUSHBUTTON,state,TMT_TEXTCOLOR,&color)))
color=GetSysColor(COLOR_BTNTEXT);
}
SetTextColor(hSrc,color);
SetBkMode(hSrc,TRANSPARENT);
CString startStr=GetSettingString(L"StartButtonText");
const wchar_t *startText=startStr;
if (startText[0]=='$')
startText=FindTranslation(startText+1,L"Start");
DrawText(hSrc,startText,-1,&rc,DT_NOPREFIX|DT_SINGLELINE|DT_VCENTER);
SelectObject(hSrc,bmp0);
// mark the button pixels as opaque
for (int y=START_BUTTON_OFFSET;y<m_Size.cy-START_BUTTON_OFFSET;y++)
for (int x=START_BUTTON_OFFSET;x<m_Size.cx-START_BUTTON_OFFSET;x++)
m_BlendBits[y*m_Size.cx+x]|=0xFF000000;
SelectObject(hSrc,m_Blendmap);
POINT pos={0,0};
UpdateLayeredWindow(m_hWnd,NULL,NULL,&size,hSrc,&pos,0,&func,ULW_ALPHA);
SelectObject(hSrc,font0);
SelectObject(hSrc,bmp0);
}
else
{
int image=-1;
int frame1, frame2, blend;
if (m_bPressed) image=m_Frames[2];
else if (m_HotBlend==0) image=m_Frames[0];
else if (m_HotBlend==BLEND_PRECISION) image=m_Frames[1];
else
{
const Animation &animation=m_Animations[m_bHot?0:1];
int count=(int)animation.frames.size()-1;
blend=m_bHot?m_HotBlend:(BLEND_PRECISION-m_HotBlend);
if (count<1 || animation.duration==0)
{
image=m_Frames[m_bHot?1:0];
}
else if (!animation.bBlend)
{
int index=(blend*count+50)/BLEND_PRECISION; // [0..count]
image=animation.frames[index];
}
else
{
int index=(blend*count)/BLEND_PRECISION; // [0..count-1]
blend=(blend*count)%BLEND_PRECISION;
frame1=animation.frames[index];
frame2=animation.frames[index+1];
}
}
if (image!=-1)
{
HGDIOBJ bmp0=SelectObject(hSrc,m_Bitmap);
POINT pos={0,image*m_Size.cy+m_YOffset};
UpdateLayeredWindow(m_hWnd,NULL,NULL,&size,hSrc,&pos,0,&func,ULW_ALPHA);
SelectObject(hSrc,bmp0);
}
else if (m_Bits)
{
// blend the two images
int n=m_Size.cx*m_Size.cy;
int n1=frame1*n;
int n2=frame2*n;
for (int i=0;i<n;i++)
{
unsigned int pixel1=m_Bits[i+n1];
unsigned int pixel2=m_Bits[i+n2];
int a1=(pixel1>>24);
int r1=(pixel1>>16)&255;
int g1=(pixel1>>8)&255;
int b1=(pixel1)&255;
int a2=(pixel2>>24);
int r2=(pixel2>>16)&255;
int g2=(pixel2>>8)&255;
int b2=(pixel2)&255;
int a=a1+(a2-a1)*blend/BLEND_PRECISION;
int r=r1+(r2-r1)*blend/BLEND_PRECISION;
int g=g1+(g2-g1)*blend/BLEND_PRECISION;
int b=b1+(b2-b1)*blend/BLEND_PRECISION;
m_BlendBits[i]=(a<<24)|(r<<16)|(g<<8)|b;
}
HGDIOBJ bmp0=SelectObject(hSrc,m_Blendmap);
POINT pos={0,0};
UpdateLayeredWindow(m_hWnd,NULL,NULL,&size,hSrc,&pos,0,&func,ULW_ALPHA);
SelectObject(hSrc,bmp0);
}
}
DeleteDC(hSrc);
}
void CStartButton::SetHot( bool bHot )
{
if (m_bHot!=bHot)
{
m_bHot=bHot;
if (!m_bPressed)
{
if (bHot)
CMenuContainer::PlayMenuSound(SOUND_BUTTON_HOVER);
SetTimer(TIMER_BLEND,30);
}
}
}
LRESULT CStartButton::OnMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
SetTimer(TIMER_LEAVE,30);
SetHot(true);
return 0;
}
void CStartButton::TaskBarMouseMove( void )
{
SetHot(true);
SetTimer(CStartButton::TIMER_LEAVE,30);
}
LRESULT CStartButton::OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
if (wParam==TIMER_BLEND)
{
int duration=m_Animations[m_bHot?0:1].duration;
int blend;
if (duration>0)
{
int dp=(30*BLEND_PRECISION)/duration;
blend=m_HotBlend+(m_bHot?dp:-dp);
if (blend<0) blend=0;
if (blend>BLEND_PRECISION) blend=BLEND_PRECISION;
}
else
{
blend=m_bHot?BLEND_PRECISION:0;
}
if (blend!=m_HotBlend)
{
m_HotBlend=blend;
UpdateButton();
}
else
KillTimer(TIMER_BLEND);
}
else if (wParam==TIMER_LEAVE)
{
CPoint pt(GetMessagePos());
if (WindowFromPoint(pt)!=m_hWnd && !PointAroundStartButton(m_TaskbarId))
{
KillTimer(TIMER_LEAVE);
SetHot(false);
}
}
else
bHandled=FALSE;
return 0;
}
LRESULT CStartButton::OnSettingChange( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
UpdateButton();
bHandled=FALSE;
return 0;
}
LRESULT CStartButton::OnThemeChanged( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
if (m_Theme) CloseThemeData(m_Theme);
m_Theme=NULL;
HIGHCONTRAST contrast={sizeof(contrast)};
if (GetWinVersion()>=WIN_VER_WIN8 && SystemParametersInfo(SPI_GETHIGHCONTRAST,sizeof(contrast),&contrast,0) && (contrast.dwFlags&HCF_HIGHCONTRASTON))
{
// only use themes on Win8 with high contrast
m_Theme=OpenThemeData(m_hWnd,L"button");
UpdateButton();
}
return 0;
}
LRESULT CStartButton::OnPointer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
{
POINTER_INPUT_TYPE type;
GetPointerType2(GET_POINTERID_WPARAM(wParam),&type);
if (type==PT_TOUCH)
return GetParent().SendMessage(uMsg,wParam,lParam);
bHandled=FALSE;
return 0;
}
void CStartButton::SetPressed( bool bPressed )
{
if (m_bPressed!=bPressed)
{
m_bPressed=bPressed;
m_HotBlend=m_bHot?BLEND_PRECISION:0;
KillTimer(TIMER_BLEND);
TOOLINFO tool={sizeof(tool),TTF_CENTERTIP|TTF_SUBCLASS|TTF_IDISHWND|TTF_TRANSPARENT|(m_bRTL?TTF_RTLREADING:0U),m_hWnd};
tool.uId=(UINT_PTR)m_hWnd;
CString startStr=GetSettingString(L"StartButtonTip");
const wchar_t *startText=startStr;
if (startText[0]=='$')
startText=FindTranslation(startText+1,L"Start");
wchar_t buf[256];
Strcpy(buf,_countof(buf),startText);
DoEnvironmentSubst(buf,_countof(buf));
tool.lpszText=buf;
m_Tooltip.SendMessage(bPressed?TTM_DELTOOL:TTM_ADDTOOL,0,(LPARAM)&tool);
UpdateButton();
}
}
TStartButtonType GetStartButtonType( void )
{
bool bDef;
TStartButtonType buttonType=(TStartButtonType)GetSettingInt(L"StartButtonType",bDef);
if (bDef)
{
bool bClassic;
if (GetWinVersion()<WIN_VER_WIN8)
bClassic=!IsAppThemed();
else
{
HIGHCONTRAST contrast={sizeof(contrast)};
bClassic=(SystemParametersInfo(SPI_GETHIGHCONTRAST,sizeof(contrast),&contrast,0) && (contrast.dwFlags&HCF_HIGHCONTRASTON));
}
buttonType=bClassic?START_BUTTON_CLASSIC:START_BUTTON_AERO;
}
return buttonType;
}
void CStartButton::ParseAnimation( Animation &animation, const std::vector<unsigned int> &pixels, int &index, int totalFrames )
{
animation.duration=0;
animation.bBlend=true;
if (index>=(int)pixels.size())
{
animation.frames.clear();
return;
}
animation.duration=((pixels[index]&255)*1000)/60;
animation.bBlend=((pixels[index]>>16)&255)==1;
int ranges=(pixels[index]>>8)&255;
if (ranges>0 && index+ranges<(int)pixels.size())
{
animation.frames.clear();
for (int r=1;r<=ranges;r++)
{
int from=pixels[index+r]&255;
if (from>totalFrames-1) from=totalFrames-1;
int to=(pixels[index+r]>>16)&255;
if (to>totalFrames-1) to=totalFrames-1;
if (from<to)
{
for (int i=from;i<=to;i++)
animation.frames.push_back(i);
}
else if (from>to)
{
for (int i=from;i>=to;i--)
animation.frames.push_back(i);
}
else
{
animation.frames.push_back(from);
}
}
}
index+=ranges+1;
}
void CStartButton::LoadBitmap( void )
{
m_Size.cx=m_Size.cy=0;
if (m_Bitmap) DeleteObject(m_Bitmap);
if (m_Blendmap) DeleteObject(m_Blendmap);
m_Bitmap=m_Blendmap=NULL;
m_Bits=m_BlendBits=NULL;
TStartButtonType buttonType=GetStartButtonType();
m_bClassic=(buttonType==START_BUTTON_CLASSIC);
wchar_t path[_MAX_PATH];
SIZE size={0,0};
if (buttonType==START_BUTTON_CUSTOM)
{
Strcpy(path,_countof(path),GetSettingString(L"StartButtonPath"));
DoEnvironmentSubst(path,_countof(path));
size.cx=GetSettingInt(L"StartButtonSize");
}
m_YOffset=0;
m_Frames[0]=0; // Normal
m_Frames[1]=1; // Hot
m_Frames[2]=2; // Pressed
m_Animations[0].frames.resize(2); m_Animations[0].frames[0]=0; m_Animations[0].frames[1]=1; m_Animations[0].duration=300; m_Animations[0].bBlend=true; // NH
m_Animations[1].frames.resize(2); m_Animations[1].frames[0]=1; m_Animations[1].frames[1]=0; m_Animations[1].duration=300; m_Animations[1].bBlend=true; // HN
if (m_bClassic)
{
// classic theme
HDC hdc=CreateCompatibleDC(NULL);
HFONT font0=(HFONT)SelectObject(hdc,m_Font);
RECT rc={0,0,0,0};
CString startStr=GetSettingString(L"StartButtonText");
const wchar_t *startText=startStr;
if (startText[0]=='$')
startText=FindTranslation(startText+1,L"Start");
DrawText(hdc,startText,-1,&rc,DT_NOPREFIX|DT_SINGLELINE|DT_CALCRECT);
m_Size.cx=rc.right+START_ICON_SIZE+2*START_TEXT_PADDING+2*START_BUTTON_PADDING+2*START_BUTTON_OFFSET;
m_Size.cy=rc.bottom;
if (m_Size.cy<START_ICON_SIZE) m_Size.cy=START_ICON_SIZE;
m_Size.cy+=2*START_BUTTON_PADDING+2*START_BUTTON_OFFSET;
DeleteDC(hdc);
}
else
{
bool bResource=false;
std::vector<unsigned int> buttonAnim;
if (*path)
{
m_Bitmap=LoadImageFile(path,&size,true,true,&buttonAnim);
}
if (!m_Bitmap)
{
int id;
int dpi=CItemManager::GetDPI(false);
if (dpi<120)
id=IDB_BUTTON96;
else if (dpi<144)
id=IDB_BUTTON120;
else if (dpi<180)
id=IDB_BUTTON144;
else
id=IDB_BUTTON180;
m_Bitmap=LoadImageResource(g_Instance,MAKEINTRESOURCE(id),true,true);
bResource=true;
}
BITMAP info;
GetObject(m_Bitmap,sizeof(info),&info);
m_Size.cx=info.bmWidth;
m_Size.cy=info.bmHeight;
m_Bits=(unsigned int*)info.bmBits;
if (buttonAnim.empty() && info.bmWidth>=10 && (m_Bits[0]&0xFFFFFF)==ANIM_BUTTON_TAG1 && (m_Bits[1]&0xFFFFFF)==ANIM_BUTTON_TAG2)
{
m_YOffset=(m_Bits[2]>>16)&255;
if (m_YOffset>info.bmHeight) m_YOffset=info.bmHeight;
if (m_YOffset>0)
{
int size=info.bmWidth*m_YOffset;
buttonAnim.resize(size);
memcpy(&buttonAnim[0],m_Bits,size*4);
m_Bits+=size;
m_Size.cy=info.bmHeight-m_YOffset;
}
}
if (!buttonAnim.empty())
{
int total=buttonAnim[2]&255;
if (total<1) total=1;
if (total>info.bmHeight-1) total=info.bmHeight-1;
m_Size.cy/=total;
m_Frames[0]=buttonAnim[3]&255; // Normal
if (m_Frames[0]>total-1) m_Frames[0]=total-1;
m_Frames[1]=buttonAnim[4]&255; // Hot
if (m_Frames[1]>total-1) m_Frames[1]=total-1;
m_Frames[2]=buttonAnim[5]&255; // Pressed
if (m_Frames[2]>total-1) m_Frames[2]=total-1;
m_Animations[0].frames[0]=m_Animations[1].frames[1]=m_Frames[0];
m_Animations[0].frames[1]=m_Animations[1].frames[0]=m_Frames[1];
int index=6;
ParseAnimation(m_Animations[0],buttonAnim,index,total);
ParseAnimation(m_Animations[1],buttonAnim,index,total);
}
else
{
m_Size.cy/=3;
}
}
if (m_Size.cx>0)
{
BITMAPINFO bi={0};
bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
bi.bmiHeader.biWidth=m_Size.cx;
bi.bmiHeader.biHeight=-m_Size.cy;
bi.bmiHeader.biPlanes=1;
bi.bmiHeader.biBitCount=32;
HDC hdc=CreateCompatibleDC(NULL);
m_Blendmap=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,(void**)&m_BlendBits,NULL,0);
DeleteDC(hdc);
}
}
static std::map<int,CStartButton> g_StartButtons;
HWND CreateStartButton( int taskbarId, HWND taskBar, HWND rebar, const RECT &rcTask )
{
bool bRTL=(GetWindowLongPtr(rebar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)!=0;
DWORD styleTopmost=GetWindowLongPtr(taskBar,GWL_EXSTYLE)&WS_EX_TOPMOST;
CStartButton &button=g_StartButtons[taskbarId];
button.Create(taskBar,NULL,NULL,WS_POPUP,styleTopmost|WS_EX_TOOLWINDOW|WS_EX_LAYERED,0U,(void*)(intptr_t)(taskbarId*2+(bRTL?1:0)));
SIZE size=button.GetSize();
RECT rcButton;
MONITORINFO info;
UINT uEdge=GetTaskbarPosition(taskBar,&info,NULL,NULL);
if (uEdge==ABE_LEFT || uEdge==ABE_RIGHT)
{
if (GetSettingInt(L"StartButtonType")!=START_BUTTON_CUSTOM || !GetSettingBool(L"StartButtonAlign"))
rcButton.left=(rcTask.left+rcTask.right-size.cx)/2;
else if (uEdge==ABE_LEFT)
rcButton.left=rcTask.left;
else
rcButton.left=rcTask.right-size.cx;
rcButton.top=rcTask.top;
}
else
{
if (bRTL)
rcButton.left=rcTask.right-size.cx;
else
rcButton.left=rcTask.left;
if (GetSettingInt(L"StartButtonType")!=START_BUTTON_CUSTOM || !GetSettingBool(L"StartButtonAlign"))
rcButton.top=(rcTask.top+rcTask.bottom-size.cy)/2;
else if (uEdge==ABE_TOP)
rcButton.top=rcTask.top;
else
rcButton.top=rcTask.bottom-size.cy;
}
rcButton.right=rcButton.left+size.cx;
rcButton.bottom=rcButton.top+size.cy;
g_bAllowMoveButton=true;
button.SetWindowPos(HWND_TOP,&rcButton,SWP_SHOWWINDOW|SWP_NOOWNERZORDER|SWP_NOACTIVATE);
g_bAllowMoveButton=false;
RECT rc;
IntersectRect(&rc,&rcButton,&info.rcMonitor);
HRGN rgn=CreateRectRgn(rc.left-rcButton.left,rc.top-rcButton.top,rc.right-rcButton.left,rc.bottom-rcButton.top);
if (!SetWindowRgn(button,rgn,FALSE))
{
AddTrackedObject(rgn);
DeleteObject(rgn);
}
button.UpdateButton();
return button.m_hWnd;
}
void DestroyStartButton( int taskbarId )
{
std::map<int,CStartButton>::iterator it=g_StartButtons.find(taskbarId);
if (it!=g_StartButtons.end())
{
if (it->second.m_hWnd)
it->second.DestroyWindow();
g_StartButtons.erase(it);
}
}
void UpdateStartButton( int taskbarId )
{
std::map<int,CStartButton>::iterator it=g_StartButtons.find(taskbarId);
if (it!=g_StartButtons.end())
it->second.UpdateButton();
}
void PressStartButton( int taskbarId, bool bPressed )
{
std::map<int,CStartButton>::iterator it=g_StartButtons.find(taskbarId);
if (it!=g_StartButtons.end())
it->second.SetPressed(bPressed);
}
SIZE GetStartButtonSize( int taskbarId )
{
std::map<int,CStartButton>::iterator it=g_StartButtons.find(taskbarId);
if (it!=g_StartButtons.end())
return it->second.GetSize();
SIZE size={0,0};
return size;
}
bool IsStartButtonSmallIcons( int taskbarId )
{
std::map<int,CStartButton>::iterator it=g_StartButtons.find(taskbarId);
if (it!=g_StartButtons.end())
return it->second.GetSmallIcons();
return false;
}
bool IsTaskbarSmallIcons( void )
{
CRegKey regKey;
if (regKey.Open(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced")!=ERROR_SUCCESS)
return true;
DWORD val;
return regKey.QueryDWORDValue(L"TaskbarSmallIcons",val)!=ERROR_SUCCESS || val;
}
void TaskBarMouseMove( int taskbarId )
{
std::map<int,CStartButton>::iterator it=g_StartButtons.find(taskbarId);
if (it!=g_StartButtons.end())
it->second.TaskBarMouseMove();
}
+25
View File
@@ -0,0 +1,25 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
enum TStartButtonType
{
START_BUTTON_AERO,
START_BUTTON_CLASSIC,
START_BUTTON_CUSTOM,
// START_BUTTON_METRO,
};
HWND CreateStartButton( int taskbarId, HWND taskBar, HWND rebar, const RECT &rcTask );
void DestroyStartButton( int taskbarId );
void UpdateStartButton( int taskbarId );
void PressStartButton( int taskbarId, bool bPressed );
TStartButtonType GetStartButtonType( void );
SIZE GetStartButtonSize( int taskbarId );
bool IsStartButtonSmallIcons( int taskbarId );
bool IsTaskbarSmallIcons( void );
void TaskBarMouseMove( int taskbarId );
extern bool g_bAllowMoveButton;
File diff suppressed because it is too large Load Diff
+130
View File
@@ -0,0 +1,130 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
#include <vector>
#ifdef CLASSICSTARTMENUDLL_EXPORTS
#define STARTMENUAPI __declspec(dllexport)
#else
#define STARTMENUAPI __declspec(dllimport)
#endif
// Find the taskbar window for the given process
STARTMENUAPI HWND FindTaskBar( DWORD process );
// WH_GETMESSAGE hook for the explorer's GUI thread. The start menu exe uses this hook to inject code into the explorer process
STARTMENUAPI LRESULT CALLBACK HookInject( int code, WPARAM wParam, LPARAM lParam );
// Toggle the start menu. bKeyboard - set to true to show the keyboard cues
STARTMENUAPI HWND ToggleStartMenu( int taskbarId, bool bKeyboard );
STARTMENUAPI void InitManagers( bool bNohook );
STARTMENUAPI void CloseManagers( bool bNohook );
STARTMENUAPI void WaitDllInitThread( void );
STARTMENUAPI bool DllGetSettingBool( const wchar_t *name );
STARTMENUAPI int DllGetSettingInt( const wchar_t *name );
STARTMENUAPI void DllUpdateSettings( void );
STARTMENUAPI CString DllLoadStringEx( int stringID );
STARTMENUAPI void DllLogToFile( const wchar_t *location, const wchar_t *message, ... );
#ifndef _WIN64
enum TSettingsComponent;
STARTMENUAPI bool DllSaveAdmx( TSettingsComponent component, const char *admxFile, const char *admlFile, const char *docFile );
STARTMENUAPI void DllLoadTranslationResources( HINSTANCE hLngInstance, int *pDialogs );
#endif
STARTMENUAPI bool DllExecuteNamedCommand( const wchar_t *command );
#ifdef TRACK_GDI_RESOURCES
STARTMENUAPI void DllDumpResourceLeaks( void );
#endif
// Enable or disable the tooltip for the start button
void EnableStartTooltip( bool bEnable );
struct TaskbarInfo
{
TaskbarInfo( void ) { taskbarId=pointerId=0; taskBar=startButton=oldButton=rebar=taskList=chevron=desktop=NULL; startButtonSize.cx=startButtonSize.cy=0; oldButtonSize.cx=oldButtonSize.cy=0; bTimer=bCustomLook=bReplaceButton=bHideButton=bRecreatingButton=bThemeChanging=false; }
int taskbarId;
HWND taskBar;
HWND startButton; // either own start button or the win7 start button (depending on bReplaceButton)
HWND oldButton; // win81 start button (child of taskBar)
HWND rebar;
HWND taskList;
HWND chevron;
HWND desktop;
SIZE startButtonSize;
SIZE oldButtonSize;
int pointerId;
bool bTimer;
bool bCustomLook;
bool bReplaceButton;
bool bHideButton;
bool bRecreatingButton;
bool bThemeChanging;
std::vector<HWND> trayButtons; // ordered by Z order (for win10)
std::vector<HWND> taskbarParts;
CComPtr<IDropTarget> pOriginalTarget;
bool HasPart( HWND part ) const;
};
TaskbarInfo *GetTaskbarInfo( size_t taskbarId );
UINT GetTaskbarPosition( HWND taskBar, MONITORINFO *pInfo, HMONITOR *pMonitor, RECT *pRc );
extern HWND STARTMENUAPI g_TaskBar, g_OwnerWindow;
extern HWND g_TopWin7Menu, g_AllPrograms, g_ProgramsButton, g_UserPic; // from the Windows menu
extern HWND g_ProgWin;
extern HMONITOR g_WSMHMonitor;
extern int g_CurrentCSMTaskbar, g_CurrentWSMTaskbar;
enum TMenuMsgParam // wParam for the Menu.StartMenuMsg message
{
MSG_TOGGLE, // toggles the classic start menu
MSG_TOGGLENEW, // toggles the Windows start menu
MSG_OPEN, // opens the classic start menu
MSG_SETTINGS, // show Settings
MSG_SHIFTWIN, // Shift+Win was pressed
MSG_DRAG, // an item is dragged on the start button
MSG_SHIFTDRAG, // an item is dragged on the start button (Shift is pressed)
MSG_NOP, // does nothing (basically just finds the Windows menu)
MSG_EXIT, // unhook everything and exit
MSG_HOTKEYS, // updates the hotkeys
MSG_NEWTASKBAR, // new taskbar is created, lParam is the HWND
MSG_WINXMENU, // open the Win+X menu
MSG_METROTHUMBNAIL, // refresh the Metro thumbnail
MSG_REDRAWTASKBAR, // redraw taskbar, lParam is the HWND (NULL for all)
MSG_RELOADSETTINGS, // reloads the settings from the registry
MSG_SETMONITOR, // sets the start screen monitor
};
STARTMENUAPI extern enum _MINIDUMP_TYPE MiniDumpType;
STARTMENUAPI LONG _stdcall TopLevelFilter( _EXCEPTION_POINTERS *pExceptionInfo );
enum THotkeys
{
HOTKEYS_NORMAL,
HOTKEYS_SETTINGS,
HOTKEYS_CLEAR,
};
// Set the hotkeys and controls for the start menu
void EnableHotkeys( THotkeys enable );
bool PointAroundStartButton( size_t taskbarId, const CPoint &pt=CPoint(GetMessagePos()) );
void ResetHotCorners( void );
void RedrawTaskbars( void );
enum TUpdateTaskbar
{
TASKBAR_CLEAR,
TASKBAR_UPDATE,
TASKBAR_UPDATE_TEXTURE,
TASKBAR_RECREATE_BUTTONS,
};
void UpdateTaskBars( TUpdateTaskbar update );
HBITMAP GetStartScreenIcon( int size );
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,359 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Setup|Win32">
<Configuration>Setup</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Setup|x64">
<Configuration>Setup</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}</ProjectGuid>
<RootNamespace>StartMenuDLL</RootNamespace>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>..\$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\$(Configuration)64\</OutDir>
<IntDir>$(Configuration)64\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>..\$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>..\$(Configuration)64\</OutDir>
<IntDir>$(Configuration)64\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'">
<OutDir>..\$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'">
<OutDir>..\$(Configuration)64\</OutDir>
<IntDir>$(Configuration)64\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CLASSICSTARTMENUDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;WtsApi32.lib;Secur32.lib;Msimg32.lib;Netapi32.lib;dwmapi.lib;PowrProf.lib;Oleacc.lib;winmm.lib;htmlhelp.lib;wininet.lib;structuredquery.lib;Propsys.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CLASSICSTARTMENUDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;WtsApi32.lib;Secur32.lib;Msimg32.lib;Netapi32.lib;dwmapi.lib;PowrProf.lib;Oleacc.lib;winmm.lib;htmlhelp.lib;wininet.lib;structuredquery.lib;Propsys.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CLASSICSTARTMENUDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;WtsApi32.lib;Secur32.lib;Msimg32.lib;Netapi32.lib;dwmapi.lib;PowrProf.lib;Oleacc.lib;winmm.lib;htmlhelp.lib;wininet.lib;structuredquery.lib;Propsys.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CLASSICSTARTMENUDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;WtsApi32.lib;Secur32.lib;Msimg32.lib;Netapi32.lib;dwmapi.lib;PowrProf.lib;Oleacc.lib;winmm.lib;htmlhelp.lib;wininet.lib;structuredquery.lib;Propsys.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CLASSICSTARTMENUDLL_EXPORTS;BUILD_SETUP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;WtsApi32.lib;Secur32.lib;Msimg32.lib;Netapi32.lib;dwmapi.lib;PowrProf.lib;Oleacc.lib;winmm.lib;htmlhelp.lib;wininet.lib;structuredquery.lib;Propsys.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CLASSICSTARTMENUDLL_EXPORTS;BUILD_SETUP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;WtsApi32.lib;Secur32.lib;Msimg32.lib;Netapi32.lib;dwmapi.lib;PowrProf.lib;Oleacc.lib;winmm.lib;htmlhelp.lib;wininet.lib;structuredquery.lib;Propsys.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Accessibility.cpp" />
<ClCompile Include="StartButton.cpp" />
<ClCompile Include="StartMenuDLL.cpp" />
<ClCompile Include="CustomMenu.cpp" />
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="DragDrop.cpp" />
<ClCompile Include="ItemManager.cpp" />
<ClCompile Include="JumpLists.cpp" />
<ClCompile Include="LogManager.cpp" />
<ClCompile Include="MenuCommands.cpp" />
<ClCompile Include="MenuContainer.cpp" />
<ClCompile Include="MenuPaint.cpp" />
<ClCompile Include="MetroLinkManager.cpp" />
<ClCompile Include="ProgramsTree.cpp" />
<ClCompile Include="SearchManager.cpp" />
<ClCompile Include="SettingsUI.cpp" />
<ClCompile Include="SkinManager.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="TouchHelper.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Accessibility.h" />
<ClInclude Include="StartButton.h" />
<ClInclude Include="StartMenuDLL.h" />
<ClInclude Include="CustomMenu.h" />
<ClInclude Include="dllmain.h" />
<ClInclude Include="DragDrop.h" />
<ClInclude Include="ItemManager.h" />
<ClInclude Include="JumpLists.h" />
<ClInclude Include="LogManager.h" />
<ClInclude Include="MenuContainer.h" />
<ClInclude Include="MetroLinkManager.h" />
<ClInclude Include="ProgramsTree.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="SearchManager.h" />
<ClInclude Include="SettingsUI.h" />
<ClInclude Include="SkinManager.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
<ClInclude Include="TouchHelper.h" />
</ItemGroup>
<ItemGroup>
<Image Include="..\..\Setup\OpenShell.ico" />
<Image Include="apps.ico" />
<Image Include="btn_aero.ico" />
<Image Include="btn_classic.bmp" />
<Image Include="button120.png" />
<Image Include="button144.png" />
<Image Include="button180.png" />
<Image Include="button96.png" />
<Image Include="menu_arrows.bmp" />
<Image Include="menu_arrows150.bmp" />
<Image Include="search_icons.bmp" />
<Image Include="start.ico" />
<Image Include="start10.ico" />
<Image Include="style_7.bmp" />
<Image Include="style_7150.bmp" />
<Image Include="style_classic.bmp" />
<Image Include="style_classic150.bmp" />
<Image Include="style_vista.bmp" />
<Image Include="style_vista150.bmp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="StartMenuDLL.rc" />
</ItemGroup>
<ItemGroup>
<Text Include="SkinDescription.txt" />
<Text Include="SkinDescription7.txt" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Lib\Lib.vcxproj">
<Project>{d42fe717-485b-492d-884a-1999f6d51154}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Accessibility.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StartButton.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StartMenuDLL.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="CustomMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="dllmain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DragDrop.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ItemManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="JumpLists.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LogManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MenuCommands.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MenuContainer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MenuPaint.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MetroLinkManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ProgramsTree.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SearchManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SettingsUI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SkinManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="TouchHelper.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Accessibility.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="StartButton.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="StartMenuDLL.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="CustomMenu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dllmain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="DragDrop.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ItemManager.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="JumpLists.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LogManager.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MenuContainer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MetroLinkManager.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ProgramsTree.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SearchManager.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SettingsUI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SkinManager.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="targetver.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="TouchHelper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="resource.h">
<Filter>Resource Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Image Include="apps.ico">
<Filter>Resource Files</Filter>
</Image>
<Image Include="btn_aero.ico">
<Filter>Resource Files</Filter>
</Image>
<Image Include="btn_classic.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="button120.png">
<Filter>Resource Files</Filter>
</Image>
<Image Include="button144.png">
<Filter>Resource Files</Filter>
</Image>
<Image Include="button180.png">
<Filter>Resource Files</Filter>
</Image>
<Image Include="button96.png">
<Filter>Resource Files</Filter>
</Image>
<Image Include="..\..\Setup\OpenShell.ico">
<Filter>Resource Files</Filter>
</Image>
<Image Include="menu_arrows.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="menu_arrows150.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="search_icons.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="start.ico">
<Filter>Resource Files</Filter>
</Image>
<Image Include="start10.ico">
<Filter>Resource Files</Filter>
</Image>
<Image Include="style_7.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="style_7150.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="style_classic.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="style_classic150.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="style_vista.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="style_vista150.bmp">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="StartMenuDLL.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<Text Include="SkinDescription.txt">
<Filter>Resource Files</Filter>
</Text>
<Text Include="SkinDescription7.txt">
<Filter>Resource Files</Filter>
</Text>
</ItemGroup>
</Project>
@@ -0,0 +1,53 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#include "stdafx.h"
#include "TouchHelper.h"
typedef BOOL (WINAPI *tGetPointerType)( UINT32 pointerId, POINTER_INPUT_TYPE *pointerType );
typedef BOOL (WINAPI *tGetPointerCursorId)( UINT32 pointerId, UINT32 *cursorId );
typedef BOOL (WINAPI *tGetPointerInfo)( UINT32 pointerId, POINTER_INFO *pointerInfo );
typedef BOOL (WINAPI *tGetCurrentInputMessageSource)( INPUT_MESSAGE_SOURCE *inputMessageSource );
typedef BOOL (WINAPI *tGetCIMSSM)( INPUT_MESSAGE_SOURCE *inputMessageSource );
static tGetPointerType fGetPointerType;
static tGetPointerCursorId fGetPointerCursorId;
static tGetPointerInfo fGetPointerInfo;
static tGetCurrentInputMessageSource fGetCurrentInputMessageSource;
static tGetCIMSSM fGetCIMSSM;
void InitTouchHelper( void )
{
HMODULE user32=GetModuleHandle(L"user32.dll");
fGetPointerType=(tGetPointerType)GetProcAddress(user32,"GetPointerType");
fGetPointerCursorId=(tGetPointerCursorId)GetProcAddress(user32,"GetPointerCursorId");
fGetPointerInfo=(tGetPointerInfo)GetProcAddress(user32,"GetPointerInfo");
fGetCurrentInputMessageSource=(tGetCurrentInputMessageSource)GetProcAddress(user32,"GetCurrentInputMessageSource");
fGetCIMSSM=(tGetCIMSSM)GetProcAddress(user32,"GetCIMSSM");
}
BOOL GetPointerType2( UINT32 pointerId, POINTER_INPUT_TYPE *pointerType )
{
return fGetPointerType && fGetPointerType(pointerId,pointerType);
}
BOOL GetPointerCursorId2( UINT32 pointerId, UINT32 *cursorId )
{
return fGetPointerCursorId && fGetPointerCursorId(pointerId,cursorId);
}
BOOL GetPointerInfo2( UINT32 pointerId, POINTER_INFO *pointerInfo )
{
return fGetPointerInfo && fGetPointerInfo(pointerId,pointerInfo);
}
BOOL GetCurrentInputMessageSource2( INPUT_MESSAGE_SOURCE *inputMessageSource )
{
return fGetCurrentInputMessageSource && fGetCurrentInputMessageSource(inputMessageSource);
}
BOOL GetCIMSSM2( INPUT_MESSAGE_SOURCE *inputMessageSource )
{
return fGetCIMSSM && fGetCIMSSM(inputMessageSource);
}
+131
View File
@@ -0,0 +1,131 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
#pragma once
// define some Windows 8 touch features here so we don't need the Win8 SDK
#ifndef WM_NCPOINTERUPDATE
#define WM_NCPOINTERUPDATE 0x0241
#define WM_NCPOINTERDOWN 0x0242
#define WM_NCPOINTERUP 0x0243
#define WM_POINTERUPDATE 0x0245
#define WM_POINTERDOWN 0x0246
#define WM_POINTERUP 0x0247
#define WM_POINTERENTER 0x0249
#define WM_POINTERLEAVE 0x024A
#define WM_POINTERACTIVATE 0x024B
#define WM_POINTERCAPTURECHANGED 0x024C
#define WM_TOUCHHITTESTING 0x024D
#define WM_POINTERWHEEL 0x024E
#define WM_POINTERHWHEEL 0x024F
/*
* Flags that appear in pointer input message parameters
*/
#define POINTER_MESSAGE_FLAG_NEW 0x00000001 // New pointer
#define POINTER_MESSAGE_FLAG_INRANGE 0x00000002 // Pointer has not departed
#define POINTER_MESSAGE_FLAG_INCONTACT 0x00000004 // Pointer is in contact
#define POINTER_MESSAGE_FLAG_FIRSTBUTTON 0x00000010 // Primary action
#define POINTER_MESSAGE_FLAG_SECONDBUTTON 0x00000020 // Secondary action
#define POINTER_MESSAGE_FLAG_THIRDBUTTON 0x00000040 // Third button
#define POINTER_MESSAGE_FLAG_FOURTHBUTTON 0x00000080 // Fourth button
#define POINTER_MESSAGE_FLAG_FIFTHBUTTON 0x00000100 // Fifth button
#define POINTER_MESSAGE_FLAG_PRIMARY 0x00002000 // Pointer is primary
#define POINTER_MESSAGE_FLAG_CONFIDENCE 0x00004000 // Pointer is considered unlikely to be accidental
#define POINTER_MESSAGE_FLAG_CANCELED 0x00008000 // Pointer is departing in an abnormal manner
/*
* Macros to retrieve information from pointer input message parameters
*/
#define GET_POINTERID_WPARAM(wParam) (LOWORD(wParam))
#define IS_POINTER_FLAG_SET_WPARAM(wParam, flag) (((DWORD)HIWORD(wParam) & (flag)) == (flag))
#define IS_POINTER_NEW_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_NEW)
#define IS_POINTER_INRANGE_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_INRANGE)
#define IS_POINTER_INCONTACT_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_INCONTACT)
#define IS_POINTER_FIRSTBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_FIRSTBUTTON)
#define IS_POINTER_SECONDBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_SECONDBUTTON)
#define IS_POINTER_THIRDBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_THIRDBUTTON)
#define IS_POINTER_FOURTHBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_FOURTHBUTTON)
#define IS_POINTER_FIFTHBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_FIFTHBUTTON)
#define IS_POINTER_PRIMARY_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_PRIMARY)
#define HAS_POINTER_CONFIDENCE_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_CONFIDENCE)
#define IS_POINTER_CANCELED_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_CANCELED)
enum tagPOINTER_INPUT_TYPE {
PT_POINTER = 0x00000001, // Generic pointer
PT_TOUCH = 0x00000002, // Touch
PT_PEN = 0x00000003, // Pen
PT_MOUSE = 0x00000004, // Mouse
};
typedef enum tagPOINTER_BUTTON_CHANGE_TYPE {
POINTER_CHANGE_NONE,
POINTER_CHANGE_FIRSTBUTTON_DOWN,
POINTER_CHANGE_FIRSTBUTTON_UP,
POINTER_CHANGE_SECONDBUTTON_DOWN,
POINTER_CHANGE_SECONDBUTTON_UP,
POINTER_CHANGE_THIRDBUTTON_DOWN,
POINTER_CHANGE_THIRDBUTTON_UP,
POINTER_CHANGE_FOURTHBUTTON_DOWN,
POINTER_CHANGE_FOURTHBUTTON_UP,
POINTER_CHANGE_FIFTHBUTTON_DOWN,
POINTER_CHANGE_FIFTHBUTTON_UP,
} POINTER_BUTTON_CHANGE_TYPE;
typedef DWORD POINTER_INPUT_TYPE;
typedef UINT32 POINTER_FLAGS;
typedef struct tagPOINTER_INFO {
POINTER_INPUT_TYPE pointerType;
UINT32 pointerId;
UINT32 frameId;
POINTER_FLAGS pointerFlags;
HANDLE sourceDevice;
HWND hwndTarget;
POINT ptPixelLocation;
POINT ptHimetricLocation;
POINT ptPixelLocationRaw;
POINT ptHimetricLocationRaw;
DWORD dwTime;
UINT32 historyCount;
INT32 InputData;
DWORD dwKeyStates;
UINT64 PerformanceCount;
POINTER_BUTTON_CHANGE_TYPE ButtonChangeType;
} POINTER_INFO;
typedef enum tagINPUT_MESSAGE_DEVICE_TYPE {
IMDT_UNAVAILABLE = 0x00000000, // not specified
IMDT_KEYBOARD = 0x00000001, // from keyboard
IMDT_MOUSE = 0x00000002, // from mouse
IMDT_TOUCH = 0x00000004, // from touch
IMDT_PEN = 0x00000008, // from pen
} INPUT_MESSAGE_DEVICE_TYPE;
typedef enum tagINPUT_MESSAGE_ORIGIN_ID {
IMO_UNAVAILABLE = 0x00000000, // not specified
IMO_HARDWARE = 0x00000001, // from a hardware device or injected by a UIAccess app
IMO_INJECTED = 0x00000002, // injected via SendInput() by a non-UIAccess app
IMO_SYSTEM = 0x00000004, // injected by the system
} INPUT_MESSAGE_ORIGIN_ID;
/*
* Input source structure.
*/
typedef struct tagINPUT_MESSAGE_SOURCE {
INPUT_MESSAGE_DEVICE_TYPE deviceType;
INPUT_MESSAGE_ORIGIN_ID originId;
} INPUT_MESSAGE_SOURCE;
#endif
void InitTouchHelper( void );
BOOL GetPointerType2( UINT32 pointerId, POINTER_INPUT_TYPE *pointerType );
BOOL GetPointerCursorId2( UINT32 pointerId, UINT32 *cursorId );
BOOL GetPointerInfo2( UINT32 pointerId, POINTER_INFO *pointerInfo );
BOOL GetCurrentInputMessageSource2( INPUT_MESSAGE_SOURCE *inputMessageSource );
BOOL GetCIMSSM2( INPUT_MESSAGE_SOURCE *inputMessageSource );
Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

+100
View File
@@ -0,0 +1,100 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
// dllmain.cpp : Defines the entry point for the DLL application.
#include "stdafx.h"
#include "StartMenuDLL.h"
#include "Settings.h"
#include "Translations.h"
#include "ResourceHelper.h"
#include "StringSet.h"
#include "resource.h"
#include "..\Lib\resource.h"
#include "SettingsUI.h"
#include "SkinManager.h"
#include "uxtheme.h"
#include "FNVHash.h"
#include "MenuContainer.h"
#include "SearchManager.h"
#include "LogManager.h"
#include <dwmapi.h>
#pragma comment(linker, \
"\"/manifestdependency:type='Win32' "\
"name='Microsoft.Windows.Common-Controls' "\
"version='6.0.0.0' "\
"processorArchitecture='*' "\
"publicKeyToken='6595b64144ccf1df' "\
"language='*'\"")
static int g_LoadDialogs[]=
{
IDD_SETTINGS,0x04000000,
IDD_SETTINGSTREE,0x04000000,
IDD_BROWSEFORICON,0x04000000,
IDD_LANGUAGE,0x04000000,
IDD_SKINSETTINGS,0x04000000,
IDD_CUSTOMTREE,0x04000000,
IDD_CUSTOMMENU,0x04000000,
IDD_CUSTOMMENU7,0x04000000,
IDD_STYLESETTINGS,0x04000000,
IDD_CUSTOMLIST,0x04000000,
IDD_PROGRESS,0x04000004,
0
};
const wchar_t *GetDocRelativePath( void )
{
return DOC_PATH;
}
static HANDLE g_DllInitThread;
static DWORD CALLBACK DllInitThread( void* )
{
CoInitialize(NULL);
InitSettings();
wchar_t path[_MAX_PATH];
GetModuleFileName(g_Instance,path,_countof(path));
*PathFindFileName(path)=0;
wchar_t fname[_MAX_PATH];
Sprintf(fname,_countof(fname),L"%s" INI_PATH L"StartMenuL10N.ini",path);
CString language=GetSettingString(L"Language");
ParseTranslations(fname,language);
HINSTANCE resInstance=LoadTranslationDll(language);
LoadTranslationResources(resInstance,g_LoadDialogs);
if (resInstance)
FreeLibrary(resInstance);
CoUninitialize();
return 0;
}
STARTMENUAPI void WaitDllInitThread( void )
{
ATLASSERT(g_DllInitThread);
WaitForSingleObject(g_DllInitThread,INFINITE);
}
extern "C" BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved )
{
if (dwReason==DLL_PROCESS_ATTACH)
{
LogToFile(STARTUP_LOG,L"StartMenu DLL: DLL_PROCESS_ATTACH");
g_Instance=hInstance;
g_DllInitThread=CreateThread(NULL,0,DllInitThread,NULL,0,NULL);
}
if (dwReason==DLL_PROCESS_DETACH)
{
LogToFile(STARTUP_LOG,L"StartMenu DLL: DLL_PROCESS_DETACH");
}
return TRUE;
}
+8
View File
@@ -0,0 +1,8 @@
// Classic Shell (c) 2009-2017, Ivo Beltchev
// Open-Shell (c) 2017-2018, The Open-Shell Team
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
// dllmain.h : Declaration of module
#pragma once
// Some utility functions used by various modules
Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

+816
View File
@@ -0,0 +1,816 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by StartMenuDLL.rc
//
#define IDI_APPICON 1
#define IDI_APPSICON 2
#define IDD_RENAME 102
#define IDC_EDITNAME 102
#define IDD_RENAMER 103
#define IDD_LOGOFF 104
#define IDD_LOGOFFR 105
#define IDB_SEARCH_ICONS 110
#define IDB_BUTTON96 111
#define IDB_BUTTON120 112
#define IDB_BUTTON144 113
#define IDB_BUTTON180 114
#define IDB_STYLE_CLASSIC1 120
#define IDB_STYLE_CLASSIC2 121
#define IDB_STYLE_WIN7 122
#define IDB_BTN_CLASSIC 124
#define IDI_BTN_CLASSIC 125
#define IDI_START 126
#define IDI_START10 127
#define IDB_STYLE_CLASSIC1150 130
#define IDB_STYLE_CLASSIC2150 131
#define IDB_STYLE_WIN7150 132
#define IDC_STATICICON 209
#define IDC_COMBOCOMMAND 239
#define IDC_EDITLABEL 240
#define IDC_EDITTIP 241
#define IDC_BUTTONLINK 242
#define IDC_BUTTONCOMMAND 243
#define IDC_EDITICON 245
#define IDC_BUTTONICON 246
#define IDC_STATICCOMMAND 251
#define IDC_STATICLINK 252
#define IDC_STATICTEXT 253
#define IDC_STATICINFOTIP 254
#define IDC_ICONN 256
#define IDC_COMBOLINK 258
#define IDC_STATICHINT 259
#define IDC_BUTTONRESET 261
#define IDC_PROMPT 1015
#define IDC_COMBOSKIN 1019
#define IDB_ARROWS 1020
#define IDC_ABOUT 1020
#define IDB_ARROWS150 1021
#define IDC_STATICOPT 1023
#define IDC_STATICVER 1025
#define IDC_LABEL 1047
#define IDC_RADIO2 1049
#define IDC_TREE2 1052
#define IDC_SKINOPTIONS 1052
#define IDC_STATICICON1 1053
#define IDC_CHECKSORTZA 1054
#define IDC_CHECKSORTZAREC 1055
#define IDC_CHECKSORTONCE 1056
#define IDC_CHECKOPENUP 1057
#define IDC_CHECKOPENUPCHILDREN 1058
#define IDC_CHECKOPENUPREC 1058
#define IDC_CHECKNOEXPAND 1059
#define IDC_CHECKMULTICOLUMN 1060
#define IDC_BUTTON1 1060
#define IDC_BUTTONPICK 1060
#define IDC_CHECKTRACK 1061
#define IDC_STATICSKIN 1061
#define IDC_CHECKNOTRACK 1062
#define IDC_STATICALLPROGS 1062
#define IDC_CHECKITEMSFIRST 1063
#define IDC_CHECKINLINE 1064
#define IDC_CHECK2 1065
#define IDC_CHECKNOEXT 1065
#define IDC_CHECKNOEXPAND2 1066
#define IDC_CHECKSPLIT 1066
#define IDC_STATICTITLE 1066
#define IDC_STATIC_CLASSIC 1067
#define IDC_STATIC_XP 1068
#define IDC_STATIC_VISTA 1069
#define IDC_STATIC_WIN7 1069
#define IDC_LINK_CLASSIC 1070
#define IDC_STATIC_WIN8 1070
#define IDC_LINK_XP 1071
#define IDC_RADIO_CLASSIC 1071
#define IDC_RADIO_TWO_COLUMNS 1072
#define IDC_RADIO_WIN7 1073
#define IDC_LISTITEMS 1073
#define IDC_EDITLINK2 1075
#define IDC_STATIC_TWO_COLUMNS 1076
#define IDC_CHECKENABLED 1077
#define IDC_LINKADVANCED 1078
#define IDC_RADIOCLASSIC 1079
#define IDC_RADIOAERO 1080
#define IDC_RADIOCUSTOM 1081
#define IDC_STATICAERO 1082
#define IDC_STATICCUSTOM 1083
#define IDC_STATICEDGE 1084
#define IDC_STATICCLASSIC 1085
#define IDC_SKIN_CLASSIC 1086
#define IDC_SKIN_CLASSIC2 1087
#define IDC_SKIN_WIN7 1088
#define IDC_STATICEDGE2 1089
#define IDD_CUSTOMMENU 3001
#define IDS_APP_TITLE 3001
#define IDD_SKINSETTINGS 3002
#define IDS_SETTINGS_TITLE 3002
#define IDS_SETTINGS_TITLE_VER 3003
#define IDD_STYLESETTINGS 3003
#define IDS_NEW_SETTINGS 3004
#define IDD_CUSTOMMENU7 3004
#define IDD_CUSTOMLIST 3005
#define IDS_NO_TEXT 3005
#define IDS_CTRL_CLASSIC 3006
#define IDS_CTRL_WINDOWS 3007
#define IDS_SETTINGS 3008
#define IDS_SETTINGS_TIP 3009
#define IDS_SKIN_ERR_UNKNOWN 3010
#define IDS_SKIN_ERR_DISABLE 3011
#define IDS_SKIN_ERR 3012
#define IDS_SKIN_WARN 3013
#define IDS_SKIN_ABOUT 3014
#define IDS_SKIN_FAIL 3015
#define IDS_SKIN_ERR_BMPRES 3016
#define IDS_SKIN_ERR_BMPFILE 3017
#define IDS_SKIN_ERR_MASKRES 3018
#define IDS_SKIN_ERR_MASKFILE 3019
#define IDS_SKIN_ERR_MASKSIZE 3020
#define IDS_SKIN_ERR_FIND_RES1 3021
#define IDS_SKIN_ERR_LOAD_RES1 3022
#define IDS_SKIN_ERR_LOAD_FILE1 3023
#define IDS_SKIN_ERR_FIND_RES 3024
#define IDS_SKIN_ERR_LOAD_RES 3025
#define IDS_SKIN_ERR_LOAD_FILE 3026
#define IDS_SKIN_ERR_LOAD 3027
#define IDS_SKIN_ERR_VERSION 3028
#define IDS_MENU_TITLE 3029
#define IDS_DEFAULT_SKIN 3030
#define IDS_CONTROLS_SETTINGS 3031
#define IDS_OPEN_NOTHING 3032
#define IDS_OPEN_NOTHING_TIP 3033
#define IDS_OPEN_CSM 3034
#define IDS_OPEN_CSM_TIP 3035
#define IDS_OPEN_WSM 3036
#define IDS_OPEN_WSM_TIP 3037
#define IDS_LCLICK 3038
#define IDS_LCLICK_TIP 3039
#define IDS_SHIFT_LCLICK 3040
#define IDS_SHIFT_LCLICK_TIP 3041
#define IDS_WIN_KEY 3042
#define IDS_WIN_KEY_TIP 3043
#define IDS_SHIFT_WIN 3044
#define IDS_SHIFT_WIN_TIP 3045
#define IDS_MCLICK 3046
#define IDS_MCLICK_TIP 3047
#define IDS_HOVER 3048
#define IDS_HOVER_TIP 3049
#define IDS_HOVER_DELAY 3050
#define IDS_HOVER_DELAY_TIP 3051
#define IDS_CSM_HOTKEY 3052
#define IDS_CSM_HOTKEY_TIP 3053
#define IDS_WSM_HOTKEY 3054
#define IDS_WSM_HOTKEY_TIP 3055
#define IDS_SHOW_ITEMS 3056
#define IDS_ITEM_HIDE 3057
#define IDS_ITEM_HIDE_TIP 3058
#define IDS_ITEM_SHOW 3059
#define IDS_ITEM_SHOW_TIP 3060
#define IDS_ITEM_MENU 3061
#define IDS_ITEM_MENU_TIP 3062
#define IDS_SHOW_FAVORITES 3063
#define IDS_SHOW_FAVORITES_TIP 3064
#define IDS_SHOW_DOCUMENTS 3065
#define IDS_SHOW_DOCUMENTS_TIP 3066
#define IDS_MAX_DOCS 3067
#define IDS_MAX_DOCS_TIP 3068
#define IDS_SHOW_USERFILES 3069
#define IDS_SHOW_USERFILES_TIP 3070
#define IDS_SHOW_USERDOCS 3071
#define IDS_SHOW_USERDOCS_TIP 3072
#define IDS_SHOW_USERPICS 3073
#define IDS_SHOW_USERPICS_TIP 3074
#define IDS_SHOW_CP 3075
#define IDS_SHOW_CP_TIP 3076
#define IDS_SHOW_NETWORK 3077
#define IDS_SHOW_NETWORK_TIP 3078
#define IDS_SHOW_PRINTERS 3079
#define IDS_SHOW_PRINTERS_TIP 3080
#define IDS_SHOW_SEARCH 3081
#define IDS_SHOW_SEARCH_TIP 3082
#define IDS_SHOW_HELP 3083
#define IDS_SHOW_HELP_TIP 3084
#define IDS_SHOW_RUN 3085
#define IDS_SHOW_RUN_TIP 3086
#define IDS_SHOW_LOGOFF 3087
#define IDS_SHOW_LOGOFF_TIP 3088
#define IDS_CONFIRM_LOGOFF 3089
#define IDS_CONFIRM_LOGOFF_TIP 3090
#define IDS_SHOW_UNDOCK 3091
#define IDS_SHOW_UNDOCK_TIP 3092
#define IDS_SHOW_SHUTDOWN 3093
#define IDS_SHOW_SHUTDOWN_TIP 3094
#define IDS_SHOW_RSHUTDOWN 3095
#define IDS_SHOW_RSHUTDOWN_TIP 3096
#define IDS_SHOW_RECENT_OLD 3097
#define IDS_SHOW_RECENT_TIP_OLD 3098
#define IDS_MAX_PROGS 3099
#define IDS_MAX_PROGS_TIP 3100
#define IDS_RECENT_TOP 3101
#define IDS_RECENT_TOP_TIP 3102
#define IDS_RECENT_KEYS 3103
#define IDS_RECENT_KEYS_TIP 3104
#define IDS_KEY_NOTHING 3105
#define IDS_KEY_NOTHING_TIP 3106
#define IDS_KEY_NORMAL 3107
#define IDS_KEY_NORMAL_TIP 3108
#define IDS_KEY_DIGITS 3109
#define IDS_KEY_DIGITS_TIP 3110
#define IDS_KEY_HIDDEN 3111
#define IDS_KEY_HIDDEN_TIP 3112
#define IDS_BEHAVIOR_SETTINGS 3113
#define IDS_EXPAND_LINKS 3114
#define IDS_EXPAND_LINKS_TIP 3115
#define IDS_MENU_DELAY 3116
#define IDS_MENU_DELAY_TIP 3117
#define IDS_TIP_DELAY 3118
#define IDS_TIP_DELAY_TIP 3119
#define IDS_FTIP_DELAY 3120
#define IDS_FTIP_DELAY_TIP 3121
#define IDS_ANIM_NONE 3122
#define IDS_ANIM_NONE_TIP 3123
#define IDS_ANIM_FADE 3124
#define IDS_ANIM_FADE_TIP 3125
#define IDS_ANIM_SLIDE 3126
#define IDS_ANIM_SLIDE_TIP 3127
#define IDS_ANIMATION 3128
#define IDS_ANIMATION_TIP 3129
#define IDS_ANIM_SPEED 3130
#define IDS_ANIM_SPEED_TIP 3131
#define IDS_SUB_ANIMATION 3132
#define IDS_SUB_ANIMATION_TIP 3133
#define IDS_SUB_ANIM_SPEED 3134
#define IDS_SUB_ANIM_SPEED_TIP 3135
#define IDS_SCROLL_SPEED 3136
#define IDS_SCROLL_SPEED_TIP 3137
#define IDS_SUB_SCROLL_SPEED 3138
#define IDS_SUB_SCROLL_SPEED_TIP 3139
#define IDS_FADE_SPEED 3140
#define IDS_FADE_SPEED_TIP 3141
#define IDS_DRAG_DELAY 3142
#define IDS_DRAG_DELAY_TIP 3143
#define IDS_ACCESSIBILITY 3144
#define IDS_ACCESSIBILITY_TIP 3145
#define IDS_NEXTTASKBAR 3146
#define IDS_NEXTTASKBAR_TIP 3147
#define IDS_SEARCH_COMMAND 3148
#define IDS_SEARCH_COMMAND_TIP 3149
#define IDS_CASCADE_MENU 3150
#define IDS_CASCADE_MENU_TIP 3151
#define IDS_CACHE_ICONS 3152
#define IDS_CACHE_ICONS_TIP 3153
#define IDS_SKIN_ERRORS 3154
#define IDS_SKIN_ERRORS_TIP 3155
#define IDS_LOOK_SETTINGS 3156
#define IDS_MENU_WIDTH 3157
#define IDS_MENU_WIDTH_TIP 3158
#define IDS_SUBMENU_WIDTH 3159
#define IDS_SUBMENU_WIDTH_TIP 3160
#define IDS_SAME_COLUMNS 3161
#define IDS_SAME_COLUMNS_TIP 3162
#define IDS_MENU_CAPTION 3163
#define IDS_MENU_CAPTION_TIP 3164
#define IDS_MENU_USERNAME 3165
#define IDS_MENU_USERNAME_TIP 3166
#define IDS_PIC_COMMAND 3167
#define IDS_PIC_COMMAND_TIP 3168
#define IDS_NAME_COMMAND 3169
#define IDS_NAME_COMMAND_TIP 3170
#define IDS_SMALL_SIZE_SM 3171
#define IDS_SMALL_SIZE_SM_TIP 3172
#define IDS_LARGE_SIZE_SM 3173
#define IDS_LARGE_SIZE_SM_TIP 3174
#define IDS_NUMERIC_SORT 3175
#define IDS_NUMERIC_SORT_TIP 3176
#define IDS_FONT_SMOOTHING 3177
#define IDS_FONT_SMOOTHING_TIP 3178
#define IDS_SMOOTH_DEFAULT 3179
#define IDS_SMOOTH_DEFAULT_TIP 3180
#define IDS_SMOOTH_NONE 3181
#define IDS_SMOOTH_NONE_TIP 3182
#define IDS_SMOOTH_STD 3183
#define IDS_SMOOTH_STD_TIP 3184
#define IDS_SMOOTH_CLEAR 3185
#define IDS_SMOOTH_CLEAR_TIP 3186
#define IDS_CONTEXT_MENU_SETTINGS 3187
#define IDS_DRAG_DROP 3188
#define IDS_DRAG_DROP_TIP 3189
#define IDS_CONTEXT_MENU 3190
#define IDS_CONTEXT_MENU_TIP 3191
#define IDS_NEW_FOLDER 3192
#define IDS_NEW_FOLDER_TIP 3193
#define IDS_EXIT 3194
#define IDS_EXIT_TIP 3195
#define IDS_SOUND_SETTINGS 3196
#define IDS_SOUND_MAIN 3197
#define IDS_SOUND_MAIN_TIP 3198
#define IDS_SOUND_POPUP 3199
#define IDS_SOUND_POPUP_TIP 3200
#define IDS_SOUND_COMMAND 3201
#define IDS_SOUND_COMMAND_TIP 3202
#define IDS_SOUND_DROP 3203
#define IDS_SOUND_DROP_TIP 3204
#define IDS_WSM_SETTINGS 3205
#define IDS_CASCADE_ALL 3206
#define IDS_CASCADE_ALL_TIP 3207
#define IDS_ALL_DELAY 3208
#define IDS_ALL_DELAY_TIP 3209
#define IDS_ALL_SELECT 3210
#define IDS_ALL_SELECT_TIP 3211
#define IDS_SELECT_SEARCH 3212
#define IDS_SELECT_SEARCH_TIP 3213
#define IDS_SELECT_BUTTON 3214
#define IDS_SELECT_BUTTON_TIP 3215
#define IDS_SKIN_SETTINGS 3216
#define IDS_ALL_SKIN_SETTINGS 3217
#define IDS_CUSTOM_SETTINGS 3218
#define IDS_LANGUAGE_SETTINGS_SM 3219
#define IDS_SCROLL_TYPE 3220
#define IDS_SCROLL_TYPE_TIP 3221
#define IDS_SCROLL_NO 3222
#define IDS_SCROLL_NO_TIP 3223
#define IDS_SCROLL_YES 3224
#define IDS_SCROLL_YES_TIP 3225
#define IDS_SCROLL_AUTO 3226
#define IDS_SCROLL_AUTO_TIP 3227
#define IDS_ANIM_RANDOM 3228
#define IDS_ANIM_RANDOM_TIP 3229
#define IDC_SKINVARIATION 3230
#define IDS_COMMAND_TIP 3231
#define IDS_LINK_TIP 3232
#define IDS_TEXT_TIP 3233
#define IDS_TIP_TIP 3234
#define IDS_ICON_TIP 3235
#define IDS_SORTZA_TIP 3236
#define IDS_SORTZAREC_TIP 3237
#define IDS_SORTONCE_TIP 3238
#define IDS_OPENUP_TIP 3239
#define IDS_OPENUPREC_TIP 3240
#define IDS_NOEXPAND_TIP 3241
#define IDS_MULTICOLUMN_TIP 3242
#define IDS_TRACK_TIP 3243
#define IDS_NOTRACK_TIP 3244
#define IDS_ITEMSFIRST_TIP 3245
#define IDS_MAIN_SORTZA 3246
#define IDS_MAIN_SORTONCE 3247
#define IDS_SEPARATOR_TIP 3248
#define IDS_BREAK_TIP 3249
#define IDS_PADDING_TIP 3250
#define IDS_PROGRAMS_TIP 3251
#define IDS_FAVORITES_TIP 3252
#define IDS_DOCUMENTS_TIP 3253
#define IDS_USERFILES_TIP 3254
#define IDS_USERDOCS_TIP 3255
#define IDS_USERPICS_TIP 3256
#define IDS_CONTROLPANEL_TIP 3257
#define IDS_CONTROLPANEL2_TIP 3258
#define IDS_SECURITY_TIP 3259
#define IDS_NETWORK_TIP 3260
#define IDS_PRINTERS_TIP 3261
#define IDS_RUN_TIP 3262
#define IDS_HELP_TIP 3263
#define IDS_LOGOFF_TIP 3264
#define IDS_UNDOCK_TIP 3265
#define IDS_DISCONNECT_TIP 3266
#define IDS_SHUTDOWNBOX_TIP 3267
#define IDS_SEARCHFI_TIP 3268
#define IDS_SEARCHPR_TIP 3269
#define IDS_SEARCHCO_TIP 3270
#define IDS_SEARCHPE_TIP 3271
#define IDS_TASKBAR_TIP 3272
#define IDS_MENU_TIP 3273
#define IDS_RECENT_TIP 3274
#define IDS_SLEEP_TIP 3275
#define IDS_HIBERNATE_TIP 3276
#define IDS_RESTART_TIP 3277
#define IDS_SHUTDOWN_TIP 3278
#define IDS_SWITCH_TIP 3279
#define IDS_CUSTOM_TIP 3280
#define IDS_SEARCH_TIP 3281
#define IDS_SETTINGS_MENU_TIP 3282
#define IDS_FEATURES_TIP 3283
#define IDS_RESTORE_TIP 3284
#define IDS_SEARCH_BOX_TIP 3285
#define IDS_SEARCH_BOX 3286
#define IDS_SHOW_SEARCH_BOX 3287
#define IDS_SHOW_SEARCH_BOX_TIP 3288
#define IDS_SEARCH_BOX_HIDE 3289
#define IDS_SEARCH_BOX_HIDE_TIP 3290
#define IDS_SEARCH_BOX_SHOW 3291
#define IDS_SEARCH_BOX_SHOW_TIP 3292
#define IDS_SEARCH_BOX_TAB 3293
#define IDS_SEARCH_BOX_TAB_TIP 3294
#define IDS_SEARCH_BOX_SEL 3295
#define IDS_SEARCH_BOX_SEL_TIP 3296
#define IDS_SEARCH_PATH 3299
#define IDS_SEARCH_PATH_TIP 3300
#define IDS_SUB_WORD 3301
#define IDS_SUB_WORD_TIP 3302
#define IDS_SEARCH_TRACK 3303
#define IDS_SEARCH_TRACK_TIP 3304
#define IDS_SEARCH_MAX 3305
#define IDS_SEARCH_MAX_TIP 3306
#define IDS_SEARCH_AUTO 3307
#define IDS_SEARCH_AUTO_TIP 3308
#define IDS_INLINE_TIP 3309
#define IDS_NOEXTENSIONS_TIP 3310
#define IDS_DELAY_ICONS 3311
#define IDS_DELAY_ICONS_TIP 3312
#define IDS_SHOW_FAVORITES_TIP2 3313
#define IDS_SHOW_DOCUMENTS_TIP2 3314
#define IDS_SHOW_USERFILES_TIP2 3315
#define IDS_SHOW_USERDOCS_TIP2 3316
#define IDS_SHOW_USERPICS_TIP2 3317
#define IDS_SHOW_CP_TIP2 3318
#define IDS_SHOW_NETWORK_TIP2 3319
#define IDS_SHOW_PRINTERS_TIP2 3320
#define IDS_SHOW_SHUTDOWN_TIP2 3321
#define IDS_SHOW_SEARCH_BOX_TIP2 3322
#define IDS_SHOW_SEARCH_TIP2 3323
#define IDS_SHOW_HELP_TIP2 3324
#define IDS_SHOW_RUN_TIP2 3325
#define IDS_SHOW_LOGOFF_TIP2 3326
#define IDS_SHOW_UNDOCK_TIP2 3327
#define IDS_LOCK_TIP 3328
#define IDS_SUB_ANIM_ALWAYS 3329
#define IDS_SUB_ANIM_ALWAYS_TIP 3330
#define IDS_EXPLORER 3331
#define IDS_EXPLORER_TIP 3332
#define IDS_EXPLORER_PATH 3333
#define IDS_EXPLORER_PATH_TIP 3334
#define IDS_HIDE_PIC 3335
#define IDS_HIDE_PIC_TIP 3336
#define IDS_SORT_DOCS 3337
#define IDS_SORT_DOCS_TIP 3338
#define IDS_SORT_NAME 3339
#define IDS_SORT_NAME_TIP 3340
#define IDS_SORT_EXT 3341
#define IDS_SORT_EXT_TIP 3342
#define IDS_MENU_SHADOW 3343
#define IDS_MENU_SHADOW_TIP 3344
#define IDS_START_BUTTON 3345
#define IDS_ENABLE_BUTTON 3346
#define IDS_ENABLE_BUTTON_TIP 3347
#define IDS_BUTTON_TYPE 3348
#define IDS_BUTTON_TYPE_TIP 3349
#define IDS_CLASSIC_BUTTON 3350
#define IDS_CLASSIC_BUTTON_TIP 3351
#define IDS_AERO_BUTTON 3352
#define IDS_AERO_BUTTON_TIP 3353
#define IDS_CUSTOM_BUTTON 3356
#define IDS_CUSTOM_BUTTON_TIP 3357
#define IDS_BUTTON_IMAGE 3358
#define IDS_BUTTON_IMAGE_TIP 3359
#define IDS_BUTTON_SIZE 3360
#define IDS_BUTTON_SIZE_TIP 3361
#define IDS_HOT_CORNERS 3362
#define IDS_HOT_CORNERS_TIP 3363
#define IDS_SKIP_METRO 3364
#define IDS_SKIP_METRO_TIP 3365
#define IDS_BUTTON_ICON 3366
#define IDS_BUTTON_ICON_TIP 3367
#define IDS_BUTTON_TIP 3368
#define IDS_BUTTON_TIP_TIP 3369
#define IDS_BUTTON_TEXT 3370
#define IDS_BUTTON_TEXT_TIP 3371
#define IDS_METRO_SETTINGS 3372
#define IDS_DISABLE_NONE 3373
#define IDS_DISABLE_NONE_TIP 3374
#define IDS_DISABLE_START 3375
#define IDS_DISABLE_START_TIP 3376
#define IDS_DISABLE_ALL 3377
#define IDS_DISABLE_ALL_TIP 3378
#define IDS_ENABLE_BUTTON2 3379
#define IDS_ENABLE_BUTTON_TIP2 3380
#define IDS_SPLIT_TIP 3381
#define IDS_STYLE_SETTINGS 3382
#define IDS_OPEN_WSS 3384
#define IDS_OPEN_WSS_TIP 3385
#define IDS_WSS_HOTKEY 3386
#define IDS_WSS_HOTKEY_TIP 3387
#define IDS_JUMPLISTS 3388
#define IDS_JUMPLISTS_TIP 3389
#define IDS_MAX_JUMPLISTS 3390
#define IDS_MAX_JUMPLISTS_TIP 3391
#define IDS_JUMPLIST_KEYS 3392
#define IDS_JUMPLISTS_KEY_TIP 3393
#define IDS_KEY_SELECT 3394
#define IDS_KEY_SELECT_TIP 3395
#define IDS_KEY_RUN 3396
#define IDS_KEY_RUN_TIP 3397
#define IDS_KEY_OPEN 3398
#define IDS_KEY_OPEN_TIP 3399
#define IDS_APPS_TIP 3400
#define IDS_SPLIT_DELAY 3401
#define IDS_SPLIT_DELAY_TIP 3402
#define IDS_OPEN_BOTH 3403
#define IDS_OPEN_BOTH_TIP 3404
#define IDS_SHOW_COMPUTER 3405
#define IDS_COMPUTER_TIP 3406
#define IDS_SHOW_COMPUTER_TIP 3407
#define IDS_SHOW_COMPUTER_TIP2 3408
#define IDS_OPEN_DESKTOP 3409
#define IDS_OPEN_DESKTOP_TIP 3410
#define IDS_SORT_DATE 3411
#define IDS_SORT_DATE_TIP 3412
#define IDS_ENABLE_TASKBARS 3413
#define IDS_ENABLE_TASKBARS_TIP 3414
#define IDS_TASKBAR_TRANS 3415
#define IDS_TASKBAR_TRANS_TIP 3416
#define IDS_SEARCH_PROGRAMS 3417
#define IDS_SEARCH_PROGRAMS_TIP 3418
#define IDS_SEARCH_METRO 3419
#define IDS_SEARCH_METRO_TIP 3420
#define IDS_SEARCH_KEYWORDS 3423
#define IDS_SEARCH_KEYWORDS_TIP 3424
#define IDS_SEARCH_FILES 3425
#define IDS_SEARCH_FILES_TIP 3426
#define IDS_SEARCH_FILES_TIP2 3427
#define IDS_SEARCH_CONTENTS 3428
#define IDS_SEARCH_CONTENTS_TIP 3429
#define IDS_SEARCH_CATEGORIES 3430
#define IDS_SEARCH_CATEGORIES_TIP 3431
#define IDS_SEARCH_EVERYWHERE 3432
#define IDS_SEARCH_EVERYWHERE_TIP 3433
#define IDS_SEARCH_INTERNET 3434
#define IDS_SEARCH_INTERNET_TIP 3435
#define IDS_NO_RECENT 3436
#define IDS_NO_RECENT_TIP 3437
#define IDS_RECENT_PROGRAMS 3438
#define IDS_RECENT_PROGRAMS_TIP 3439
#define IDS_SHOW_RECENT 3440
#define IDS_SHOW_RECENT_TIP 3441
#define IDS_SHOW_FREQUENT 3442
#define IDS_SHOW_FREQUENT_TIP 3443
#define IDS_RECENT_METRO 3444
#define IDS_RECENT_METRO_TIP 3445
#define IDS_HIGHLIGHT_NEW 3446
#define IDS_HIGHLIGHT_NEW_TIP 3447
#define IDS_CP_CATEGORIES 3448
#define IDS_CP_CATEGORIES2 3449
#define IDS_CP_CATEGORIES_TIP 3450
#define IDS_CLASSIC_STYLE_TIP 3451
#define IDS_TWO_COLUMN_STYLE_TIP 3452
#define IDS_WIN7_STYLE_TIP 3453
#define IDS_SHUTDOWN_COMMAND 3454
#define IDS_SHUTDOWN_COMMAND_TIP 3455
#define IDS_SHUTDOWN_NONE 3456
#define IDS_SHUTDOWN_NONE_TIP 3457
#define IDS_SHUTDOWN_SHUTDOWN 3458
#define IDS_SHUTDOWN_SHUTDOWN_TIP 3459
#define IDS_SHUTDOWN_RESTART 3460
#define IDS_SHUTDOWN_RESTART_TIP 3461
#define IDS_SHUTDOWN_LOGOFF 3462
#define IDS_SHUTDOWN_LOGOFF_TIP 3463
#define IDS_SHUTDOWN_SLEEP 3464
#define IDS_SHUTDOWN_SLEEP_TIP 3465
#define IDS_SHUTDOWN_HIBERNATE 3466
#define IDS_SHUTDOWN_HIBERNATE_TIP 3467
#define IDS_SHUTDOWN_LOCK 3468
#define IDS_SHUTDOWN_LOCK_TIP 3469
#define IDS_SHUTDOWN_SWITCH 3470
#define IDS_SHUTDOWN_SWITCH_TIP 3471
#define IDS_SHUTDOWN_SHUTDOWN_BOX 3472
#define IDS_SHUTDOWN_SHUTDOWN_BOX_TIP 3473
#define IDS_UNDOCK_ITEM 3474
#define IDS_DISCONNECT_ITEM 3475
#define IDS_ITEM_SHOW2 3476
#define IDS_SEPARATOR_ITEM 3477
#define IDS_COLUMN_BREAK_ITEM 3478
#define IDS_COLUMN_PADDING_ITEM 3479
#define IDS_CUSTOM_ITEM 3480
#define IDS_HELP_ITEM 3481
#define IDS_RUN_ITEM 3482
#define IDS_SECURITY_ITEM 3483
#define IDS_LIB_DOCS_ITEM 3484
#define IDS_LIB_PICS_ITEM 3485
#define IDS_LIB_VIDEOS_ITEM 3486
#define IDS_LIB_MUSIC_ITEM 3487
#define IDS_LIB_TV_ITEM 3488
#define IDS_PROGRAMS_ITEM 3489
#define IDS_APPS_ITEM 3490
#define IDS_SETTINGS_ITEM 3491
#define IDS_SEARCH_MENU_ITEM 3492
#define IDS_SEARCH_BOX_ITEM 3493
#define IDS_TASKBAR_ITEM 3494
#define IDS_FEATURES_ITEM 3495
#define IDS_MENU_SETTINGS_ITEM 3496
#define IDS_SEARCH_FILES_ITEM 3497
#define IDS_SEARCH_PRINTER_ITEM 3498
#define IDS_SEARCH_COMP_ITEM 3499
#define IDS_SEARCH_PEOPLE_ITEM 3500
#define IDS_MONITOR_OFF_ITEM 3501
#define IDS_MENU_MOVE_UP 3502
#define IDS_MENU_MOVE_DOWN 3503
#define IDS_MENU_INSERT 3504
#define IDS_MENU_DUPLICATE 3505
#define IDS_METRO_APPS 3506
#define IDS_PROGRAMS_DELAY 3507
#define IDS_PROGRAMS_DELAY_TIP 3508
#define IDS_SEARCH_MAX2 3509
#define IDS_SEARCH_MAX_TIP2 3510
#define IDS_SEARCH_MAX3 3511
#define IDS_SEARCH_MAX_TIP3 3512
#define IDS_SHOW_APPS 3513
#define IDS_SHOW_APPS_TIP 3514
#define IDS_FOLDERS_FIRST 3515
#define IDS_FOLDERS_FIRST_TIP 3516
#define IDS_PINNED_PROGRAMS 3517
#define IDS_PINNED_PROGRAMS_TIP 3518
#define IDS_FAST_ITEMS 3519
#define IDS_FAST_ITEMS_TIP 3520
#define IDS_PINNED_ITEMS 3521
#define IDS_PINNED_ITEMS_TIP 3522
#define IDS_BUTTON_ICON_SIZE 3523
#define IDS_BUTTON_ICON_SIZE_TIP 3524
#define IDS_BUTTON_SIZE_TIP2 3525
#define IDS_MONITOR_OFF_TIP 3526
#define IDS_AUTOSTART 3527
#define IDS_AUTOSTART_TIP 3528
#define IDS_CHECK_UPDATES 3529
#define IDS_CHECK_UPDATES_TIP 3530
#define IDS_ITEM_DRIVES 3531
#define IDS_ITEM_DRIVES_TIP 3532
#define IDS_MENU_GLASS 3533
#define IDS_MENU_GLASS_TIP 3534
#define IDS_MAIN_MENU_SETTINGS 3535
#define IDS_RIGHT_SHIFT 3538
#define IDS_RIGHT_SHIFT_TIP 3539
#define IDS_RIGHT_SHIFTX 3540
#define IDS_RIGHT_SHIFTX_TIP 3541
#define IDS_STARTSCREEN_ITEM 3542
#define IDS_STARTSCREEN_ITEM_TIP 3543
#define IDS_MIN_HEIGHT 3544
#define IDS_MIN_HEIGHT_TIP 3545
#define IDS_GLASS_OVERRIDE 3546
#define IDS_GLASS_OVERRIDE_TIP 3547
#define IDS_GLASS_COLOR 3548
#define IDS_GLASS_COLOR_TIP 3549
#define IDS_GLASS_INTENSITY 3550
#define IDS_GLASS_INTENSITY_TIP 3551
#define IDS_GLASS_BLENDING 3552
#define IDS_GLASS_BLENDING_TIP 3553
#define IDS_INLINE_PROGS 3554
#define IDS_INLINE_PROGS_TIP 3555
#define IDS_MAIN_INLINE 3556
#define IDS_MAIN_INLINE_TIP 3557
#define IDS_MAIN_CASCADE 3558
#define IDS_MAIN_CASCADE_TIP 3559
#define IDS_ANIMATION7 3560
#define IDS_ANIMATION7_TIP 3561
#define IDS_METRO_SETTINGS81 3562
#define IDS_MENU_BUSY 3563
#define IDS_OPEN_PROGRAMS 3564
#define IDS_OPEN_PROGRAMS_TIP 3565
#define IDS_MOUSE_MONITOR 3566
#define IDS_MOUSE_MONITOR_TIP 3567
#define IDS_COLUMN_ICON 3568
#define IDS_COLUMN_COMMAND 3569
#define IDS_COLUMN_DISPLAY 3570
#define IDS_HIDE_APPS 3571
#define IDS_HIDE_APPS_TIP 3572
#define IDS_HYBRID_SHUTDOWN 3573
#define IDS_HYBRID_SHUTDOWN_TIP 3574
#define IDS_UPGRADE_WIN 3575
#define IDS_UPGRADE_ERROR 3576
#define IDS_UPGRADE_SUCCESS 3577
#define IDS_INVERT_ICONS 3578
#define IDS_INVERT_ICONS_TIP 3579
#define IDS_SHUTDOWN7 3580
#define IDS_SHUTDOWN7_TIP 3581
#define IDS_PROG_WIDTH 3582
#define IDS_PROG_WIDTH_TIP 3583
#define IDS_JUMP_WIDTH 3584
#define IDS_JUMP_WIDTH_TIP 3585
#define IDS_NOPIN 3586
#define IDS_NOPIN_TIP 3587
#define IDS_RECENT_NAME 3588
#define IDS_RECENT_NAME_TIP 3589
#define IDS_DPI_OVERRIDE 3590
#define IDS_DPI_OVERRIDE_TIP 3591
#define IDS_ENABLE_TOUCH 3592
#define IDS_ENABLE_TOUCH_TIP 3593
#define IDS_METRO_SETTINGS10 3594
#define IDS_MOUSE_MONITOR2 3595
#define IDS_MOUSE_MONITOR_TIP2 3596
#define IDS_PIC_PATH 3597
#define IDS_PIC_PATH_TIP 3598
#define IDS_SEARCH_METROS 3599
#define IDS_SEARCH_METROS_TIP 3600
#define IDS_SHOW_APPS_MENU 3601
#define IDS_SHOW_APPS_MENU_TIP 3602
#define IDS_SHOW_APPS_MENU_TIP2 3603
#define IDS_SKIN_ERR_METRO_COLOR 3604
#define IDS_BUTTON_ALIGN 3605
#define IDS_BUTTON_ALIGN_TIP 3606
#define IDS_MENU_GLASS2 3607
#define IDS_MENU_GLASS2_TIP 3608
#define IDS_GLASS_OPACITY 3609
#define IDS_GLASS_OPACITY_TIP 3610
#define IDS_TASK_CUSTOM 3611
#define IDS_TASK_CUSTOM_TIP 3612
#define IDS_TASK_LOOK 3613
#define IDS_TASK_LOOK_TIP 3614
#define IDS_TASK_OPAQUE 3615
#define IDS_TASK_OPAQUE_TIP 3616
#define IDS_TASK_TRANS 3617
#define IDS_TASK_TRANS_TIP 3618
#define IDS_TASK_GLASS 3619
#define IDS_TASK_GLASS_TIP 3620
#define IDS_TASK_AEROGLASS 3621
#define IDS_TASK_AEROGLASS_TIP 3622
#define IDS_TASK_OPACITY 3623
#define IDS_TASK_OPACITY_TIP 3624
#define IDS_TASK_COLOR 3625
#define IDS_TASK_COLOR_TIP 3626
#define IDS_PCSETTINGS 3627
#define IDS_PCSETTINGS_TIP 3628
#define IDS_HIGHLIGHT_NEWAPPS 3629
#define IDS_HIGHLIGHT_NEWAPPS_TIP 3630
#define IDS_OPEN_CORTANA 3631
#define IDS_OPEN_CORTANA_TIP 3632
#define IDS_SKIN_ERR_RECBITMAP 3633
#define IDS_MAIN_HIDDEN 3634
#define IDS_MAIN_HIDDEN_TIP 3635
#define IDS_SOUND_HOVER 3636
#define IDS_SOUND_HOVER_TIP 3637
#define IDS_SHUTDOWN_SHUTDOWN_NU 3638
#define IDS_SHUTDOWN_NU_TIP 3639
#define IDS_SHUTDOWN_RESTART_NU 3640
#define IDS_RESTART_NU_TIP 3641
#define IDS_TASK_TEXTURE 3642
#define IDS_TASK_TEXTURE_TIP 3643
#define IDS_TASK_STRETCHH 3644
#define IDS_TASK_STRETCHH_TIP 3645
#define IDS_TASK_STRETCHV 3646
#define IDS_TASK_STRETCHV_TIP 3647
#define IDS_TASK_STRETCH 3648
#define IDS_TASK_STRETCH_TIP 3649
#define IDS_TASK_TILE 3650
#define IDS_TASK_TILE_TIP 3651
#define IDS_TASK_BORDERS 3652
#define IDS_TASK_BORDERS_TIP 3653
#define IDS_TASKBAR_SETTINGS 3654
#define IDS_TASK_TEXTCOLOR 3655
#define IDS_TASK_TEXTCOLOR_TIP 3656
#define IDS_SELECT_LAST 3657
#define IDS_SELECT_LAST_TIP 3658
#define IDS_CLEAR_CACHE 3659
#define IDS_STRING7001 7001
#define IDS_STRING7002 7002
#define IDS_STRING7003 7003
#define IDS_STRING7004 7004
#define IDS_STRING7005 7005
#define IDS_STRING7006 7006
#define IDS_STRING7007 7007
#define IDS_STRING7008 7008
#define IDS_STRING7009 7009
#define IDS_STRING7010 7010
#define IDS_STRING7011 7011
#define IDS_STRING7012 7012
#define IDS_STRING7013 7013
#define IDS_STRING7014 7014
#define IDS_STRING7015 7015
#define IDS_STRING7016 7016
#define IDS_STRING7017 7017
#define IDS_STRING7018 7018
#define IDS_STRING7019 7019
#define IDS_STRING7020 7020
#define IDS_STRING7021 7021
#define IDS_STRING7022 7022
#define IDS_STRING7023 7023
#define IDS_STRING7024 7024
#define IDS_STRING7025 7025
#define IDS_STRING7026 7026
#define IDS_STRING7027 7027
#define IDS_STRING7028 7028
#define IDS_STRING7029 7029
#define IDS_STRING7030 7030
#define IDS_STRING7031 7031
#define IDS_STRING7032 7032
#define IDS_STRING7033 7033
#define IDS_STRING7034 7034
#define IDS_STRING7035 7035
#define IDS_STRING7036 7036
#define IDS_STRING7037 7037
#define IDS_STRING7038 7038
#define IDS_STRING7100 7100
#define IDS_STRING7101 7101
#define IDS_STRING7102 7102
#define IDS_STRING7103 7103
#define IDS_STRING7104 7104
#define IDS_STRING7105 7105
#define IDS_STRING7106 7106
#define IDS_STRING7107 7107
#define IDS_STRING7108 7108
#define IDS_STRING7109 7109
#define IDS_STRING7110 7110
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 126
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1090
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

+5
View File
@@ -0,0 +1,5 @@
// stdafx.cpp : source file that includes just the standard includes
// StartMenuDLL.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
+34
View File
@@ -0,0 +1,34 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#include "targetver.h"
#define STRICT_TYPED_ITEMIDS
// Windows Header Files:
#include <windows.h>
#include <commctrl.h>
#include <shlobj.h>
#include <shellapi.h>
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
#include <atlbase.h>
#include <atltypes.h>
#include <atlstr.h>
#include <atlwin.h>
#ifdef BUILD_SETUP
#define INI_PATH L""
#define DOC_PATH L""
#else
#define INI_PATH L"..\\"
#define DOC_PATH L"..\\..\\Docs\\Help\\"
#endif
#include "StringUtils.h"
#include "TrackResources.h"
#include "Assert.h"
Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

+24
View File
@@ -0,0 +1,24 @@
#pragma once
// The following macros define the minimum required platform. The minimum required platform
// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
// your application. The macros work by enabling all features available on platform versions up to and
// including the version specified.
// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER // Specifies that the minimum required platform is Windows 7.
#define WINVER 0x0602 // Change this to the appropriate value to target other versions of Windows.
#endif
#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows 7.
#define _WIN32_WINNT 0x0602 // Change this to the appropriate value to target other versions of Windows.
#endif
#ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif
#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0.
#define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE.
#endif
@@ -0,0 +1,367 @@
// StartMenuExt.cpp : Implementation of CStartMenuExt
#include "stdafx.h"
#include "StartMenuExt.h"
#include "dllmain.h"
#include "StringUtils.h"
#include "Translations.h"
#include "Settings.h"
#include "ComHelper.h"
#include "FileHelper.h"
#include <propvarutil.h>
#include <propkey.h>
#include <vector>
#define PIN_VERB "pin_classic"
// CStartMenuExt
static CLIPFORMAT s_ShellFormat;
#define GetPIDLFolder(pida) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[0])
#define GetPIDLItem(pida, i) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[i+1])
// FOLDERID_AppsFolder is defined in the 8.0 SDK, but we don't want to require it
KNOWNFOLDERID FOLDERID_AppsFolder2={0x1E87508D,0x89C2,0x42F0,{0x8A,0x7E,0x64,0x5A,0x0F,0x50,0xCA,0x58}}; // similar to shell:::{4234d49b-0245-4df3-b780-3893943456e1}
static HRESULT CreateLink( const wchar_t *source, LPITEMIDLIST sourcePidl, const wchar_t *dir, const wchar_t *fname )
{
HRESULT hr;
{
CComPtr<IShellLink> pLink;
hr=pLink.CoCreateInstance(CLSID_ShellLink);
if (FAILED(hr)) return hr;
if (sourcePidl)
hr=pLink->SetIDList(sourcePidl);
else
hr=pLink->SetPath(source);
if (FAILED(hr)) return hr;
if (dir)
pLink->SetWorkingDirectory(dir);
CComQIPtr<IPersistFile> pFile=pLink;
if (!pFile) return E_FAIL;
hr=pFile->Save(fname,TRUE);
}
{
// reopen the link and set the "no new" property. without reopening the original properties are lost
CComPtr<IShellLink> pLink;
hr=pLink.CoCreateInstance(CLSID_ShellLink);
CComQIPtr<IPersistFile> pFile=pLink;
hr=pFile->Load(fname,STGM_READWRITE);
CComQIPtr<IPropertyStore> pStore=pLink;
if (pStore)
{
PROPVARIANT val;
InitPropVariantFromBoolean(TRUE,&val);
pStore->SetValue(PKEY_AppUserModel_ExcludeFromShowInNewInstall,val);
PropVariantClear(&val);
pStore->Commit();
}
hr=pFile->Save(fname,TRUE);
}
HANDLE h=CreateFile(fname,GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (h!=INVALID_HANDLE_VALUE)
{
FILETIME curTime;
GetSystemTimeAsFileTime(&curTime);
SetFileTime(h,&curTime,&curTime,&curTime);
CloseHandle(h);
}
return S_OK;
}
HRESULT WINAPI CStartMenuExt::UpdateRegistry( BOOL bRegister )
{
return _AtlModule.UpdateRegistryFromResource(IDR_STARTMENUEXT,bRegister);
}
STDMETHODIMP CStartMenuExt::Initialize( PCIDLIST_ABSOLUTE pidlFolder, IDataObject *pData, HKEY hkey )
{
WaitDllInitThread();
LoadSettings();
s_ShellFormat=RegisterClipboardFormat(CFSTR_SHELLIDLIST);
if (GetSettingBool(L"DisablePinExt"))
return E_FAIL;
bool bUsePinned;
bool bDef;
int setting=GetSettingInt(L"PinnedPrograms",bDef);
if (bDef)
bUsePinned=(GetSettingInt(L"MenuStyle")==2); // pinned is default in Win7 style
else
bUsePinned=(setting==1);
if (bUsePinned)
{
Strcpy(m_PinFolder1,_countof(m_PinFolder1),L"%APPDATA%\\OpenShell\\Pinned\\");
DoEnvironmentSubst(m_PinFolder1,_countof(m_PinFolder1));
m_PinFolder2[0]=0;
}
else
{
CString str=GetSettingString(L"FolderStartMenu");
if (!str.IsEmpty())
{
Sprintf(m_PinFolder1,_countof(m_PinFolder1),L"%s\\",str);
DoEnvironmentSubst(m_PinFolder1,_countof(m_PinFolder1));
}
else
{
CComString pPath;
if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_StartMenu,0,NULL,&pPath)))
Sprintf(m_PinFolder1,_countof(m_PinFolder1),L"%s\\",(const wchar_t*)pPath);
}
str=GetSettingString(L"FolderCommonStartMenu");
if (!str.IsEmpty())
{
Sprintf(m_PinFolder2,_countof(m_PinFolder2),L"%s\\",str);
DoEnvironmentSubst(m_PinFolder2,_countof(m_PinFolder2));
}
else
{
CComString pPath;
if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_CommonStartMenu,0,NULL,&pPath)))
Sprintf(m_PinFolder2,_countof(m_PinFolder2),L"%s\\",(const wchar_t*)pPath);
}
}
FORMATETC fmt1={CF_HDROP,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL};
FORMATETC fmt2={s_ShellFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL};
STGMEDIUM stg={TYMED_HGLOBAL};
if (pData && SUCCEEDED(pData->GetData(&fmt1,&stg)))
{
HDROP hDrop=(HDROP)GlobalLock(stg.hGlobal);
if (hDrop)
{
if (DragQueryFile(hDrop,0xFFFFFFFF,NULL,0)==1)
{
DragQueryFile(hDrop,0,m_FileName,_countof(m_FileName));
const wchar_t *fname=PathFindFileName(m_FileName);
m_bInPinFolder1=(fname-m_FileName==Strlen(m_PinFolder1) && _wcsnicmp(m_PinFolder1,m_FileName,(fname-m_FileName))==0);
m_bInPinFolder2=(m_PinFolder2[0] && fname-m_FileName==Strlen(m_PinFolder2) && _wcsnicmp(m_PinFolder2,m_FileName,(fname-m_FileName))==0);
GlobalUnlock(stg.hGlobal);
ReleaseStgMedium(&stg);
return S_OK;
}
GlobalUnlock(stg.hGlobal);
}
ReleaseStgMedium(&stg);
}
else if (pData && SUCCEEDED(pData->GetData(&fmt2,&stg)))
{
CIDA *pIda=(CIDA*)GlobalLock(stg.hGlobal);
if (pIda)
{
if (pIda->cidl==1)
{
LPCITEMIDLIST folderPidl=GetPIDLFolder(pIda);
LPCITEMIDLIST itemPidl=GetPIDLItem(pIda,0);
m_bInPinFolder1=m_bInPinFolder2=false;
LPITEMIDLIST appsFolder;
if (SUCCEEDED(SHGetKnownFolderIDList(FOLDERID_AppsFolder2,0,NULL,&appsFolder)) && ILIsEqual(folderPidl,appsFolder))
m_FilePidl=ILCombine(folderPidl,itemPidl);
GlobalUnlock(stg.hGlobal);
ReleaseStgMedium(&stg);
return m_FilePidl?S_OK:E_INVALIDARG;
}
GlobalUnlock(stg.hGlobal);
}
ReleaseStgMedium(&stg);
}
return E_INVALIDARG;
}
STDMETHODIMP CStartMenuExt::QueryContextMenu( HMENU menu, UINT uMenuIndex, UINT uidFirstCmd, UINT uidLastCmd, UINT uFlags )
{
if (uFlags&(CMF_DEFAULTONLY|CMF_VERBSONLY))
return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,0);
if (m_bInPinFolder2)
return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,0); // can't unpin from common folder
bool bDirectory=(PathIsDirectory(m_FileName)!=FALSE);
bool bFakeDirectory=bDirectory && IsFakeFolder(m_FileName);
const wchar_t *ext=PathFindExtension(m_FileName);
if (bDirectory || m_FilePidl || _wcsicmp(ext,L".exe")==0 || _wcsicmp(ext,L".lnk")==0)
{
if (m_bInPinFolder1)
{
if (!bFakeDirectory && _wcsicmp(ext,L".lnk")!=0)
return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,0); // can only unpin fake folders and links
InsertMenu(menu,uMenuIndex,MF_BYPOSITION,uidFirstCmd,FindTranslation(L"Menu.UnpinStartCs",L"Unpin from Start menu (Open-Shell)"));
}
else
{
if (bFakeDirectory)
return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,0); // can't pin fake folders
InsertMenu(menu,uMenuIndex,MF_BYPOSITION,uidFirstCmd,FindTranslation(L"Menu.PinStartCs",L"Pin to Start menu (Open-Shell)"));
}
return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,1);
}
return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,0);
}
static CString GetFileDescription( const wchar_t *fname )
{
DWORD q;
DWORD size=GetFileVersionInfoSizeEx(FILE_VER_GET_LOCALISED|FILE_VER_GET_NEUTRAL,fname,&q);
if (size)
{
std::vector<char> buf(size);
if (GetFileVersionInfoEx(FILE_VER_GET_LOCALISED|FILE_VER_GET_NEUTRAL,fname,0,size,&buf[0]))
{
wchar_t languages[100];
size=0;
DWORD len=_countof(languages);
GetUserPreferredUILanguages(MUI_LANGUAGE_ID,&size,languages,&len);
for (const wchar_t *lang=languages;*lang;lang+=Strlen(lang)+1)
{
wchar_t key[100];
Sprintf(key,_countof(key),L"\\StringFileInfo\\%s%04X\\FileDescription",lang,1200);
const wchar_t *text=NULL;
UINT q;
if (VerQueryValue(&buf[0],key,(void**)&text,&q))
return text;
}
DWORD *langs;
UINT count;
if (VerQueryValue(&buf[0],L"\\VarFileInfo\\Translation",(void**)&langs,&count))
{
count/=4;
for (DWORD i=0;i<count;i++)
{
if (HIWORD(langs[i])==1200)
{
wchar_t key[100];
Sprintf(key,_countof(key),L"\\StringFileInfo\\%04X%04X\\FileDescription",LOWORD(langs[i]),1200);
const wchar_t *text=NULL;
UINT q;
if (VerQueryValue(&buf[0],key,(void**)&text,&q))
return text;
}
}
}
}
}
return CString();
}
STDMETHODIMP CStartMenuExt::InvokeCommand( CMINVOKECOMMANDINFO *pInfo )
{
if (pInfo->lpVerb==NULL || (!IS_INTRESOURCE(pInfo->lpVerb) && strcmp(pInfo->lpVerb,PIN_VERB)==0))
{
bool bDirectory=(*m_FileName && PathIsDirectory(m_FileName)!=FALSE);
bool bFakeDirectory=bDirectory && IsFakeFolder(m_FileName);
const wchar_t *fname=PathFindFileName(m_FileName);
const wchar_t *ext=PathFindExtension(fname);
if (m_bInPinFolder1)
{
// the file is in the user pin folder - unpin
if (!bFakeDirectory && _wcsicmp(ext,L".lnk")!=0)
return E_FAIL; // can only unpin fake folders and links
if (bFakeDirectory)
DeleteFakeFolder(m_FileName);
else
{
SetFileAttributes(m_FileName,GetFileAttributes(m_FileName)&~FILE_ATTRIBUTE_READONLY);
DeleteFile(m_FileName);
}
}
else if (!m_bInPinFolder2)
{
// the file is not in any pin folder - pin
if (bFakeDirectory)
return E_FAIL; // can't pin fake folders
wchar_t locName[_MAX_PATH];
int locIndex;
bool bHasLocName=(*m_FileName && SHGetLocalizedName(m_FileName,locName,_countof(locName),&locIndex)==S_OK);
wchar_t finalPath[_MAX_PATH];
bool res=false;
if (bDirectory)
{
int len=Strlen(fname);
while (len>0 && (fname[len-1]=='\\' || fname[len-1]==':'))
len--;
wchar_t path[_MAX_PATH];
Sprintf(path,_countof(path),L"%s%.*s",m_PinFolder1,len,fname);
PathYetAnotherMakeUniqueName(finalPath,path,NULL,PathFindFileName(path));
res=CreateFakeFolder(m_FileName,finalPath);
}
else
{
wchar_t name[_MAX_FNAME];
name[0]=0;
if (m_FilePidl)
{
CComPtr<IShellItem> pItem;
SHCreateItemFromIDList(m_FilePidl,IID_IShellItem,(void**)&pItem);
if (pItem)
{
wchar_t *pName;
if (SUCCEEDED(pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName)))
{
Strcpy(name,_countof(name),pName);
CoTaskMemFree(pName);
}
}
}
else if (_wcsicmp(ext,L".exe")==0 && !bHasLocName)
{
CString desc=GetFileDescription(m_FileName);
Strcpy(name,_countof(name),desc);
}
if (!name[0])
{
memcpy(name,fname,(ext-fname)*2);
name[ext-fname]=0;
}
wchar_t path[_MAX_PATH];
Sprintf(path,_countof(path),L"%s%s.lnk",m_PinFolder1,name);
PathYetAnotherMakeUniqueName(finalPath,path,NULL,PathFindFileName(path));
if (m_FilePidl)
{
res=SUCCEEDED(CreateLink(NULL,m_FilePidl,NULL,finalPath));
}
else if (_wcsicmp(ext,L".lnk")==0)
{
res=SUCCEEDED(CreateLink(m_FileName,NULL,NULL,finalPath));
}
else
{
wchar_t dir[_MAX_PATH];
Strcpy(dir,_countof(dir),m_FileName);
PathRemoveFileSpec(dir);
res=SUCCEEDED(CreateLink(m_FileName,NULL,dir,finalPath));
}
}
if (!res)
return E_FAIL;
if (bHasLocName)
{
SHSetLocalizedName(finalPath,locName,locIndex);
}
}
return S_OK;
}
return E_FAIL;
}
STDMETHODIMP CStartMenuExt::GetCommandString( UINT_PTR idCmd, UINT uFlags, UINT* pwReserved, LPSTR pszName, UINT cchMax )
{
if (idCmd==0)
{
if (uFlags==GCS_VERBA)
{
Strcpy(pszName,cchMax,PIN_VERB);
return S_OK;
}
return E_NOTIMPL;
}
return E_INVALIDARG;
}
@@ -0,0 +1,65 @@
// StartMenuExt.h : Declaration of the CStartMenuExt
#pragma once
#include "resource.h" // main symbols
#include "StartMenuHelper_i.h"
#include <shlobj.h>
// CStartMenuExt
class ATL_NO_VTABLE CStartMenuExt :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CStartMenuExt, &CLSID_StartMenuExt>,
public IShellExtInit,
public IContextMenu
{
public:
CStartMenuExt()
{
m_PinFolder1[0]=m_PinFolder2[0]=m_FileName[0]=0;
m_bInPinFolder1=m_bInPinFolder2=false;
}
static HRESULT WINAPI UpdateRegistry( BOOL bRegister );
DECLARE_NOT_AGGREGATABLE(CStartMenuExt)
BEGIN_COM_MAP(CStartMenuExt)
COM_INTERFACE_ENTRY(IShellExtInit)
COM_INTERFACE_ENTRY(IContextMenu)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct()
{
m_FilePidl=NULL;
return S_OK;
}
void FinalRelease()
{
if (m_FilePidl) ILFree(m_FilePidl);
m_FilePidl=NULL;
}
// from IShellExtInit
STDMETHODIMP Initialize( PCIDLIST_ABSOLUTE pidlFolder, IDataObject *pData, HKEY hkey );
// from IContextMenu
STDMETHODIMP QueryContextMenu(HMENU, UINT, UINT, UINT, UINT);
STDMETHODIMP InvokeCommand( CMINVOKECOMMANDINFO *pInfo );
STDMETHODIMP GetCommandString( UINT_PTR idCmd, UINT uFlags, UINT* pwReserved, LPSTR pszName, UINT cchMax );
wchar_t m_PinFolder1[_MAX_PATH]; // ending with \
wchar_t m_PinFolder2[_MAX_PATH]; // ending with \
wchar_t m_FileName[_MAX_PATH];
LPITEMIDLIST m_FilePidl;
bool m_bInPinFolder1, m_bInPinFolder2;
};
OBJECT_ENTRY_AUTO(__uuidof(StartMenuExt), CStartMenuExt)
@@ -0,0 +1,54 @@
HKCR
{
NoRemove CLSID
{
ForceRemove {E595F05F-903F-4318-8B0A-7F633B520D2B} = s 'StartMenuExt'
{
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
}
ForceRemove {D3214FBB-3CA1-406A-B3E8-3EB7C393A15E} = s 'StartMenuEmulation'
{
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
}
}
}
HKCR
{
NoRemove exefile
{
NoRemove ShellEx
{
NoRemove ContextMenuHandlers
{
ForceRemove StartMenuExt = s '{E595F05F-903F-4318-8B0A-7F633B520D2B}'
}
}
}
NoRemove lnkfile
{
NoRemove ShellEx
{
NoRemove ContextMenuHandlers
{
ForceRemove StartMenuExt = s '{E595F05F-903F-4318-8B0A-7F633B520D2B}'
}
}
}
NoRemove Folder
{
NoRemove ShellEx
{
NoRemove ContextMenuHandlers
{
ForceRemove StartMenuExt = s '{E595F05F-903F-4318-8B0A-7F633B520D2B}'
}
}
}
}
@@ -0,0 +1,388 @@
// StartMenuHelper.cpp : Implementation of DLL Exports.
#include "stdafx.h"
#include "resource.h"
#include "StartMenuHelper_i.h"
#include "dllmain.h"
#include "ResourceHelper.h"
#include "Settings.h"
#include "StringUtils.h"
#include "..\StartMenuDLL\LogManager.h"
#include <AccCtrl.h>
#include <Aclapi.h>
#include <Taskschd.h>
//#define EXPLORER_CLSID L"{c71c41f1-ddad-42dc-a8fc-f5bfc61df957}"
//const CLSID g_ExplorerClsid= {0xC71C41F1, 0xDDAD, 0x42DC, {0xA8, 0xFC, 0xF5, 0xBF, 0xC6, 0x1D, 0xF9, 0x57}};
//#define EXPLORER_DLL L"twinui.dll"
#define EXPLORER_CLSID L"{ECD4FC4D-521C-11D0-B792-00A0C90312E1}"
const CLSID g_ExplorerClsid= {0xECD4FC4D, 0x521C, 0x11D0, {0xB7, 0x92, 0x00, 0xA0, 0xC9, 0x03, 0x12, 0xE1}};
#define EXPLORER_DLL L"explorerframe.dll"
#define EMULATION_CLSID L"{D3214FBB-3CA1-406a-B3E8-3EB7C393A15E}"
const CLSID g_EmulationClsid= {0xD3214FBB, 0x3CA1, 0x406A, {0xB3, 0xE8, 0x3E, 0xB7, 0xC3, 0x93, 0xA1, 0x5E}};
#define EMULATION_KEY L"TreatAs"
static void AdjustPrivileges( void )
{
HANDLE hToken;
if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
{
{
TOKEN_PRIVILEGES tp={1};
if (LookupPrivilegeValue(NULL,L"SeBackupPrivilege",&tp.Privileges[0].Luid))
tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL);
}
{
TOKEN_PRIVILEGES tp={1};
if (LookupPrivilegeValue(NULL,L"SeRestorePrivilege",&tp.Privileges[0].Luid))
tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL);
}
CloseHandle(hToken);
}
}
static void AddRegistryKeys( bool bPin )
{
AdjustPrivileges();
PSID pEveryoneSID=NULL, pAdminSID=NULL;
// Create a well-known SID for the Everyone group.
SID_IDENTIFIER_AUTHORITY SIDAuthWorld=SECURITY_WORLD_SID_AUTHORITY;
if (!AllocateAndInitializeSid(&SIDAuthWorld,1,SECURITY_WORLD_RID,0,0,0,0,0,0,0,&pEveryoneSID))
return;
// Create a SID for the BUILTIN\Administrators group.
SID_IDENTIFIER_AUTHORITY SIDAuthNT=SECURITY_NT_AUTHORITY;
if (!AllocateAndInitializeSid(&SIDAuthNT,2,SECURITY_BUILTIN_DOMAIN_RID,DOMAIN_ALIAS_RID_ADMINS,0,0,0,0,0,0,&pAdminSID))
{
if (pEveryoneSID) FreeSid(pEveryoneSID);
}
EXPLICIT_ACCESS ea[2];
memset(&ea,0,sizeof(ea));
// Initialize an EXPLICIT_ACCESS structure for an ACE.
// The ACE will allow Everyone read access to the key.
ea[0].grfAccessPermissions=KEY_READ;
ea[0].grfAccessMode=SET_ACCESS;
ea[0].grfInheritance=NO_INHERITANCE;
ea[0].Trustee.TrusteeForm=TRUSTEE_IS_SID;
ea[0].Trustee.TrusteeType=TRUSTEE_IS_WELL_KNOWN_GROUP;
ea[0].Trustee.ptstrName=(LPTSTR)pEveryoneSID;
// Initialize an EXPLICIT_ACCESS structure for an ACE.
// The ACE will allow the Administrators group full access to
// the key.
ea[1].grfAccessPermissions=KEY_ALL_ACCESS;
ea[1].grfAccessMode=SET_ACCESS;
ea[1].grfInheritance=NO_INHERITANCE;
ea[1].Trustee.TrusteeForm=TRUSTEE_IS_SID;
ea[1].Trustee.TrusteeType=TRUSTEE_IS_GROUP;
ea[1].Trustee.ptstrName=(LPTSTR)pAdminSID;
// Create a new ACL that contains the new ACEs.
PACL pACL=NULL;
if (SetEntriesInAcl(2,ea,NULL,&pACL)==ERROR_SUCCESS)
{
char buf[SECURITY_DESCRIPTOR_MIN_LENGTH];
SECURITY_DESCRIPTOR *psd=(SECURITY_DESCRIPTOR*)buf;
if (InitializeSecurityDescriptor(psd,SECURITY_DESCRIPTOR_REVISION))
{
if (SetSecurityDescriptorDacl(psd,TRUE,pACL,FALSE))
{
SECURITY_ATTRIBUTES sa={sizeof(sa),psd};
HKEY hkey=NULL;
if (RegCreateKeyEx(HKEY_CLASSES_ROOT,L"CLSID\\" EXPLORER_CLSID L"\\" EMULATION_KEY,NULL,NULL,REG_OPTION_BACKUP_RESTORE,KEY_WRITE,&sa,&hkey,NULL)==ERROR_SUCCESS)
{
wchar_t val[]=EMULATION_CLSID;
RegSetValueEx(hkey,NULL,NULL,REG_SZ,(BYTE*)val,sizeof(val));
RegCloseKey(hkey);
}
hkey=NULL;
if (bPin)
{
if (RegCreateKeyEx(HKEY_CLASSES_ROOT,L"Launcher.ImmersiveApplication\\ShellEx\\ContextMenuHandlers\\StartMenuExt",NULL,NULL,REG_OPTION_BACKUP_RESTORE,KEY_WRITE,&sa,&hkey,NULL)==ERROR_SUCCESS)
{
wchar_t val[]=L"{E595F05F-903F-4318-8B0A-7F633B520D2B}";
RegSetValueEx(hkey,NULL,NULL,REG_SZ,(BYTE*)val,sizeof(val));
RegCloseKey(hkey);
}
if (RegCreateKeyEx(HKEY_CLASSES_ROOT,L"Launcher.SystemSettings\\ShellEx\\ContextMenuHandlers\\StartMenuExt",NULL,NULL,REG_OPTION_BACKUP_RESTORE,KEY_WRITE,&sa,&hkey,NULL)==ERROR_SUCCESS)
{
wchar_t val[]=L"{E595F05F-903F-4318-8B0A-7F633B520D2B}";
RegSetValueEx(hkey,NULL,NULL,REG_SZ,(BYTE*)val,sizeof(val));
RegCloseKey(hkey);
}
}
}
}
LocalFree(pACL);
}
FreeSid(pEveryoneSID);
FreeSid(pAdminSID);
}
static void RemoveRegistryKeys( bool bPin )
{
AdjustPrivileges();
HKEY hkey=NULL;
if (RegCreateKeyEx(HKEY_CLASSES_ROOT,L"CLSID\\" EXPLORER_CLSID,NULL,NULL,REG_OPTION_BACKUP_RESTORE,KEY_WRITE|DELETE,NULL,&hkey,NULL)==ERROR_SUCCESS)
{
RegDeleteTree(hkey,EMULATION_KEY);
RegCloseKey(hkey);
}
hkey=NULL;
if (bPin)
{
if (RegCreateKeyEx(HKEY_CLASSES_ROOT,L"Launcher.ImmersiveApplication\\ShellEx\\ContextMenuHandlers",NULL,NULL,REG_OPTION_BACKUP_RESTORE,KEY_WRITE|DELETE,NULL,&hkey,NULL)==ERROR_SUCCESS)
{
RegDeleteTree(hkey,L"StartMenuExt");
RegCloseKey(hkey);
}
if (RegCreateKeyEx(HKEY_CLASSES_ROOT,L"Launcher.SystemSettings\\ShellEx\\ContextMenuHandlers",NULL,NULL,REG_OPTION_BACKUP_RESTORE,KEY_WRITE|DELETE,NULL,&hkey,NULL)==ERROR_SUCCESS)
{
RegDeleteTree(hkey,L"StartMenuExt");
RegCloseKey(hkey);
}
}
}
// Used to determine whether the DLL can be unloaded by OLE
STDAPI DllCanUnloadNow(void)
{
return _AtlModule.DllCanUnloadNow();
}
typedef HRESULT (__stdcall *FDllGetClassObject)(REFCLSID,REFIID,LPVOID*);
static HMODULE g_ExplorerModule=NULL;
static void StartMenu( void )
{
STARTUPINFO startupInfo={sizeof(STARTUPINFO)};
PROCESS_INFORMATION processInfo;
memset(&processInfo,0,sizeof(processInfo));
wchar_t path[_MAX_PATH];
path[0]=0;
{
CRegKey regKey;
if (regKey.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS)
{
ULONG size=_countof(path);
if (regKey.QueryStringValue(L"Path",path,&size)!=ERROR_SUCCESS)
path[0]=0;
}
}
if (!path[0])
{
GetModuleFileName(g_Instance,path,_countof(path));
PathRemoveFileSpec(path);
}
PathAppend(path,L"StartMenu.exe");
LogToFile(STARTUP_LOG,L"StartMenuHelper: starting \"%s\" -startup",path);
if (CreateProcess(path,L"StartMenu.exe -startup",NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo))
{
CloseHandle(processInfo.hProcess);
CloseHandle(processInfo.hThread);
}
else
LogToFile(STARTUP_LOG,L"StartMenuHelper: starting failed: 0x%08X",GetLastError());
}
// Returns a class factory to create an object of the requested type
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
WaitDllInitThread();
if (rclsid==g_EmulationClsid)
{
LogToFile(STARTUP_LOG,L"StartMenuHelper: DllGetClassObject1");
HRESULT res=E_FAIL;
if (!g_ExplorerModule)
g_ExplorerModule=LoadLibrary(EXPLORER_DLL);
if (g_ExplorerModule)
{
LogToFile(STARTUP_LOG,L"StartMenuHelper: DllGetClassObject2");
if (GetSettingBool(L"AutoStart"))
StartMenu();
FDllGetClassObject func=(FDllGetClassObject)GetProcAddress(g_ExplorerModule,"DllGetClassObject");
if (func)
res=func(g_ExplorerClsid,riid,ppv);
}
return res;
}
return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
}
/*
const wchar_t *TASK_NAME=L"Open-Shell Start Menu";
const wchar_t *TASK_XML=
L"<?xml version=\"1.0\" encoding=\"UTF-16\"?>\r\n"
L"<Task version=\"1.2\" xmlns=\"http://schemas.microsoft.com/windows/2004/02/mit/task\">\r\n"
L" <RegistrationInfo>\r\n"
L" <Date>2014-11-23T10:00:00</Date>\r\n"
L" <Author>Open-Shell</Author>\r\n"
L" <Description>A task that launches the start menu at logon. It also repairs the installation after an upgrade of Windows.</Description>\r\n"
L" </RegistrationInfo>\r\n"
L" <Triggers>\r\n"
L" <LogonTrigger>\r\n"
L" <Enabled>true</Enabled>\r\n"
L" </LogonTrigger>\r\n"
L" </Triggers>\r\n"
L" <Principals>\r\n"
L" <Principal id=\"Author\">\r\n"
L" <RunLevel>LeastPrivilege</RunLevel>\r\n"
L" <GroupId>BUILTIN\\Users</GroupId>\r\n"
L" </Principal>\r\n"
L" </Principals>\r\n"
L" <Settings>\r\n"
L" <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>\r\n"
L" <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>\r\n"
L" <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>\r\n"
L" <AllowHardTerminate>false</AllowHardTerminate>\r\n"
L" <StartWhenAvailable>false</StartWhenAvailable>\r\n"
L" <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>\r\n"
L" <IdleSettings>\r\n"
L" <StopOnIdleEnd>true</StopOnIdleEnd>\r\n"
L" <RestartOnIdle>false</RestartOnIdle>\r\n"
L" </IdleSettings>\r\n"
L" <AllowStartOnDemand>false</AllowStartOnDemand>\r\n"
L" <Enabled>true</Enabled>\r\n"
L" <Hidden>false</Hidden>\r\n"
L" <RunOnlyIfIdle>false</RunOnlyIfIdle>\r\n"
L" <WakeToRun>false</WakeToRun>\r\n"
L" <ExecutionTimeLimit>PT0S</ExecutionTimeLimit>\r\n"
L" </Settings>\r\n"
L" <Actions Context=\"Author\">\r\n"
L" <Exec>\r\n"
L" <Command>\"%s\"</Command>\r\n"
L" <Arguments>-autorun</Arguments>\r\n"
L" </Exec>\r\n"
L" </Actions>\r\n"
L"</Task>\r\n";
*/
static void InstallUpgradeTask( bool bInstall )
{
wchar_t exePath[_MAX_PATH];
exePath[0]=0;
{
CRegKey regKey;
if (regKey.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_READ|KEY_WRITE|KEY_WOW64_64KEY)==ERROR_SUCCESS)
{
if (bInstall)
{
ULONG size=_countof(exePath);
if (regKey.QueryStringValue(L"Path",exePath,&size)==ERROR_SUCCESS)
{
PathAppend(exePath,L"StartMenu.exe");
}
else
{
exePath[0]=0;
}
regKey.SetDWORDValue(L"WinVersion",GetVersionEx(GetModuleHandle(L"user32.dll")));
}
else
{
regKey.DeleteValue(L"WinVersion");
}
}
}
/*
CComPtr<ITaskService> pService;
pService.CoCreateInstance(CLSID_TaskScheduler);
if (pService && SUCCEEDED(pService->Connect(CComVariant(),CComVariant(),CComVariant(),CComVariant())))
{
CComPtr<ITaskFolder> pFolder;
if (SUCCEEDED(pService->GetFolder(CComBSTR(L""),&pFolder)) && pFolder)
{
pFolder->DeleteTask(CComBSTR(TASK_NAME),0);
if (bInstall)
{
wchar_t buf[4096];
Sprintf(buf,_countof(buf),TASK_XML,exePath);
CComPtr<IRegisteredTask> pTask;
pFolder->RegisterTask(CComBSTR(TASK_NAME),CComBSTR(buf),TASK_CREATE,CComVariant(),CComVariant(),TASK_LOGON_INTERACTIVE_TOKEN,CComVariant(L""),&pTask);
}
}
}
*/
}
// DllRegisterServer - Adds entries to the system registry
STDAPI DllRegisterServer(void)
{
WaitDllInitThread();
CoInitialize(NULL);
// registers object, typelib and all interfaces in typelib
HRESULT hr = _AtlModule.DllRegisterServer(FALSE);
#ifdef BUILD_SETUP
BOOL bWow64=FALSE;
// GetVersion lies! it always returns Vista when running inside msiexec. must check version of some system dll
WORD winVer=HIWORD(GetVersionEx(GetModuleHandle(L"user32.dll")));
if (SUCCEEDED(hr) && winVer>=WIN_VER_WIN8 && IsWow64Process(GetCurrentProcess(),&bWow64) && !bWow64)
{
AddRegistryKeys(winVer>=WIN_VER_WIN10);
InstallUpgradeTask(true);
}
#endif
CoUninitialize();
return hr;
}
// DllUnregisterServer - Removes entries from the system registry
STDAPI DllUnregisterServer(void)
{
WaitDllInitThread();
CoInitialize(NULL);
#ifdef BUILD_SETUP
BOOL bWow64=FALSE;
WORD winVer=HIWORD(GetVersionEx(GetModuleHandle(L"user32.dll")));
if (winVer>=WIN_VER_WIN8 && IsWow64Process(GetCurrentProcess(),&bWow64) && !bWow64)
{
RemoveRegistryKeys(winVer>=WIN_VER_WIN10);
InstallUpgradeTask(false);
}
#endif
HRESULT hr = _AtlModule.DllUnregisterServer(FALSE);
CoUninitialize();
return hr;
}
// DllInstall - Adds/Removes entries to the system registry per user
// per machine.
STDAPI DllInstall(BOOL bInstall, LPCWSTR pszCmdLine)
{
WaitDllInitThread();
HRESULT hr = E_FAIL;
static const wchar_t szUserSwitch[] = _T("user");
if (pszCmdLine != NULL)
{
if (_wcsnicmp(pszCmdLine, szUserSwitch, _countof(szUserSwitch)) == 0)
{
AtlSetPerUserRegistration(true);
}
}
if (bInstall)
{
hr = DllRegisterServer();
if (FAILED(hr))
{
DllUnregisterServer();
}
}
else
{
hr = DllUnregisterServer();
}
return hr;
}
@@ -0,0 +1,34 @@
// StartMenuHelper.idl : IDL source for StartMenuHelper
//
// This file will be processed by the MIDL tool to
// produce the type library (StartMenuHelper.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(379C7129-9462-42A8-A5F3-68A65A0DEF8A),
helpstring("IStartMenuExt Interface"),
pointer_default(unique)
]
interface IStartMenuExt : IUnknown{
};
[
uuid(6A62B77B-9003-49FA-83D7-1BF82296EF49),
version(1.0),
helpstring("StartMenuHelper 1.0 Type Library")
]
library StartMenuHelperLib
{
importlib("stdole2.tlb");
[
uuid(E595F05F-903F-4318-8B0A-7F633B520D2B),
helpstring("StartMenuExt Class")
]
coclass StartMenuExt
{
[default] interface IStartMenuExt;
};
};
@@ -0,0 +1,115 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#ifndef APSTUDIO_INVOKED\r\n"
"#include ""targetver.h""\r\n"
"#endif\r\n"
"#include ""winres.h""\r\0"
END
3 TEXTINCLUDE
BEGIN
"1 TYPELIB ""StartMenuHelper.tlb""\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION _PRODUCT_VERSION
PRODUCTVERSION _PRODUCT_VERSION
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Open-Shell"
VALUE "FileDescription", "Start Menu Helper Extension"
VALUE "FileVersion", _PRODUCT_VERSION_STR
VALUE "InternalName", "StartMenuHelper"
VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team"
VALUE "OriginalFilename", "StartMenuHelper.dll"
VALUE "ProductName", "Open-Shell"
VALUE "ProductVersion", _PRODUCT_VERSION_STR
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
/////////////////////////////////////////////////////////////////////////////
//
// REGISTRY
//
IDR_STARTMENUHELPER REGISTRY "StartMenuHelper.rgs"
IDR_STARTMENUEXT REGISTRY "StartMenuExt.rgs"
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
1 TYPELIB "StartMenuHelper.tlb"
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
@@ -0,0 +1,11 @@
HKCR
{
NoRemove AppID
{
'%APPID%' = s 'StartMenuHelper'
'StartMenuHelper.DLL'
{
val AppID = s '%APPID%'
}
}
}
@@ -0,0 +1,386 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Setup|Win32">
<Configuration>Setup</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Setup|x64">
<Configuration>Setup</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A42C6159-ACA8-46D1-A0FB-19C398B137D5}</ProjectGuid>
<RootNamespace>StartMenuHelper</RootNamespace>
<Keyword>AtlProj</Keyword>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseOfAtl>Static</UseOfAtl>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Version.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
<TargetName>$(ProjectName)32</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(Configuration)64\</OutDir>
<IntDir>$(Configuration)64\</IntDir>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
<TargetName>$(ProjectName)64</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<TargetName>$(ProjectName)32</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(Configuration)64\</OutDir>
<IntDir>$(Configuration)64\</IntDir>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<TargetName>$(ProjectName)64</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'">
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<TargetName>$(ProjectName)32</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'">
<OutDir>$(Configuration)64\</OutDir>
<IntDir>$(Configuration)64\</IntDir>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<TargetName>$(ProjectName)64</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>false</MkTypLibCompatible>
<GenerateStublessProxies>true</GenerateStublessProxies>
<HeaderFileName>StartMenuHelper_i.h</HeaderFileName>
<InterfaceIdentifierFileName>StartMenuHelper_i.c</InterfaceIdentifierFileName>
<ProxyFileName>StartMenuHelper_p.c</ProxyFileName>
<ValidateAllParameters>true</ValidateAllParameters>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<RegisterOutput>true</RegisterOutput>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;winmm.lib;htmlhelp.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>.\$(TargetName).def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>false</MkTypLibCompatible>
<GenerateStublessProxies>true</GenerateStublessProxies>
<HeaderFileName>StartMenuHelper_i.h</HeaderFileName>
<InterfaceIdentifierFileName>StartMenuHelper_i.c</InterfaceIdentifierFileName>
<ProxyFileName>StartMenuHelper_p.c</ProxyFileName>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<RegisterOutput>true</RegisterOutput>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;winmm.lib;htmlhelp.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>.\$(TargetName).def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>false</MkTypLibCompatible>
<GenerateStublessProxies>true</GenerateStublessProxies>
<HeaderFileName>StartMenuHelper_i.h</HeaderFileName>
<InterfaceIdentifierFileName>StartMenuHelper_i.c</InterfaceIdentifierFileName>
<ProxyFileName>StartMenuHelper_p.c</ProxyFileName>
<ValidateAllParameters>true</ValidateAllParameters>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<RegisterOutput>true</RegisterOutput>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;winmm.lib;htmlhelp.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>.\$(TargetName).def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>false</MkTypLibCompatible>
<GenerateStublessProxies>true</GenerateStublessProxies>
<HeaderFileName>StartMenuHelper_i.h</HeaderFileName>
<InterfaceIdentifierFileName>StartMenuHelper_i.c</InterfaceIdentifierFileName>
<ProxyFileName>StartMenuHelper_p.c</ProxyFileName>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<RegisterOutput>true</RegisterOutput>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;winmm.lib;htmlhelp.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>.\$(TargetName).def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Setup|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>false</MkTypLibCompatible>
<GenerateStublessProxies>true</GenerateStublessProxies>
<HeaderFileName>StartMenuHelper_i.h</HeaderFileName>
<InterfaceIdentifierFileName>StartMenuHelper_i.c</InterfaceIdentifierFileName>
<ProxyFileName>StartMenuHelper_p.c</ProxyFileName>
<ValidateAllParameters>true</ValidateAllParameters>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;BUILD_SETUP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;winmm.lib;htmlhelp.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>.\$(TargetName).def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Setup|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>false</MkTypLibCompatible>
<GenerateStublessProxies>true</GenerateStublessProxies>
<HeaderFileName>StartMenuHelper_i.h</HeaderFileName>
<InterfaceIdentifierFileName>StartMenuHelper_i.c</InterfaceIdentifierFileName>
<ProxyFileName>StartMenuHelper_p.c</ProxyFileName>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;BUILD_SETUP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>comctl32.lib;uxtheme.lib;winmm.lib;htmlhelp.lib;wininet.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>.\$(TargetName).def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="StartMenuExt.cpp" />
<ClCompile Include="StartMenuHelper.cpp" />
<ClCompile Include="StartMenuHelper_i.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Midl Include="StartMenuHelper.idl" />
</ItemGroup>
<ItemGroup>
<None Include="StartMenuExt.rgs" />
<None Include="StartMenuHelper.rgs" />
<None Include="StartMenuHelper32.def" />
<None Include="StartMenuHelper64.def" />
<None Include="StartMenuHelperL10N.ini" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="dllmain.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="StartMenuExt.h" />
<ClInclude Include="StartMenuHelper_i.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="StartMenuHelper.rc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Lib\Lib.vcxproj">
<Project>{d42fe717-485b-492d-884a-1999f6d51154}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{49e172a6-5240-42a4-8d6b-f1654677b1b4}</UniqueIdentifier>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StartMenuExt.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StartMenuHelper.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StartMenuHelper_i.c">
<Filter>Generated Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Midl Include="StartMenuHelper.idl">
<Filter>Source Files</Filter>
</Midl>
</ItemGroup>
<ItemGroup>
<None Include="StartMenuHelper32.def">
<Filter>Source Files</Filter>
</None>
<None Include="StartMenuHelper64.def">
<Filter>Source Files</Filter>
</None>
<None Include="StartMenuExt.rgs">
<Filter>Resource Files</Filter>
</None>
<None Include="StartMenuHelper.rgs">
<Filter>Resource Files</Filter>
</None>
<None Include="StartMenuHelperL10N.ini">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClInclude Include="dllmain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="StartMenuExt.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="targetver.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="StartMenuHelper_i.h">
<Filter>Generated Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="StartMenuHelper.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>
@@ -0,0 +1,10 @@
; StartMenuHelper.def : Declares the module parameters.
LIBRARY "StartMenuHelper32.DLL"
EXPORTS
DllCanUnloadNow PRIVATE
DllGetClassObject PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
DllInstall PRIVATE
@@ -0,0 +1,10 @@
; StartMenuHelper.def : Declares the module parameters.
LIBRARY "StartMenuHelper64.DLL"
EXPORTS
DllCanUnloadNow PRIVATE
DllGetClassObject PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
DllInstall PRIVATE
+123
View File
@@ -0,0 +1,123 @@
// dllmain.cpp : Implementation of DllMain.
#include "stdafx.h"
#include "resource.h"
#include "StartMenuHelper_i.h"
#include "dllmain.h"
#include "Settings.h"
#include "Translations.h"
#include "StringUtils.h"
#include "ResourceHelper.h"
#include "..\StartMenuDLL\LogManager.h"
CStartMenuHelperModule _AtlModule;
void UpgradeSettings( bool bShared )
{
}
void UpdateSettings( void )
{
CRegKey regKey;
wchar_t language[100]=L"";
if (regKey.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS)
{
ULONG size=_countof(language);
if (regKey.QueryStringValue(L"DefaultLanguage",language,&size)!=ERROR_SUCCESS)
language[0]=0;
}
UpdateSetting(L"Language",language,false);
}
void ClosingSettings( HWND hWnd, int flags, int command )
{
}
void SettingChangedCallback( const CSetting *pSetting )
{
}
const wchar_t *GetDocRelativePath( void )
{
return L"";
}
CSetting g_Settings[]={
{L"MenuStyleGroup",CSetting::TYPE_GROUP},
{L"MenuStyle",CSetting::TYPE_INT,0,0,2},
{L"Classic1",CSetting::TYPE_RADIO},
{L"Classic2",CSetting::TYPE_RADIO},
{L"Win7",CSetting::TYPE_RADIO},
{L"GeneralBehavior",CSetting::TYPE_GROUP},
{L"AutoStart",CSetting::TYPE_BOOL,0,0,1},
{L"PinnedPrograms",CSetting::TYPE_INT,0,0,1},
{L"FastItems",CSetting::TYPE_RADIO},
{L"PinnedItems",CSetting::TYPE_RADIO},
{L"DisablePinExt",CSetting::TYPE_BOOL,0,0,0},
{L"FolderStartMenu",CSetting::TYPE_STRING,0,0,L""},
{L"FolderCommonStartMenu",CSetting::TYPE_STRING,0,0,L""},
{L"Language",CSetting::TYPE_GROUP},
{L"Language",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_COLD|CSetting::FLAG_SHARED},
{NULL}
};
static HANDLE g_DllInitThread;
static DWORD CALLBACK DllInitThread( void* )
{
CoInitialize(NULL);
InitSettings(g_Settings,COMPONENT_MENU,NULL);
wchar_t path[_MAX_PATH];
path[0]=0;
#ifdef BUILD_SETUP
{
CRegKey regKey;
if (regKey.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS)
{
ULONG size=_countof(path);
if (regKey.QueryStringValue(L"Path",path,&size)!=ERROR_SUCCESS)
path[0]=0;
}
}
#endif
if (!path[0])
{
GetModuleFileName(g_Instance,path,_countof(path));
PathRemoveFileSpec(path);
}
wchar_t fname[_MAX_PATH];
Sprintf(fname,_countof(fname),L"%s" INI_PATH L"StartMenuHelperL10N.ini",path);
CString language=GetSettingString(L"Language");
ParseTranslations(fname,language);
CoUninitialize();
return 0;
}
void WaitDllInitThread( void )
{
ATLASSERT(g_DllInitThread);
WaitForSingleObject(g_DllInitThread,INFINITE);
LogToFile(STARTUP_LOG,L"StartMenuHelper: WaitDllInitThread");
}
// DLL Entry Point
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason==DLL_PROCESS_ATTACH)
{
LogToFile(STARTUP_LOG,L"StartMenuHelper: DLL_PROCESS_ATTACH");
g_Instance=hInstance;
g_DllInitThread=CreateThread(NULL,0,DllInitThread,NULL,0,NULL);
}
if (dwReason==DLL_PROCESS_DETACH)
{
LogToFile(STARTUP_LOG,L"StartMenuHelper: DLL_PROCESS_DETACH");
}
return _AtlModule.DllMain(dwReason, lpReserved);
}
+12
View File
@@ -0,0 +1,12 @@
// dllmain.h : Declaration of module class.
class CStartMenuHelperModule : public CAtlDllModuleT< CStartMenuHelperModule >
{
public :
DECLARE_LIBID(LIBID_StartMenuHelperLib)
DECLARE_REGISTRY_APPID_RESOURCEID(IDR_STARTMENUHELPER, "{62D2FBE4-89F7-48A5-A35F-DA2B8A3C54B7}")
};
extern CStartMenuHelperModule _AtlModule;
void WaitDllInitThread( void );
+17
View File
@@ -0,0 +1,17 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by StartMenuHelper.rc
//
#define IDR_STARTMENUHELPER 101
#define IDR_STARTMENUEXT 102
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 201
#define _APS_NEXT_COMMAND_VALUE 32768
#define _APS_NEXT_CONTROL_VALUE 201
#define _APS_NEXT_SYMED_VALUE 103
#endif
#endif
+5
View File
@@ -0,0 +1,5 @@
// stdafx.cpp : source file that includes just the standard includes
// StartMenuHelper.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
+30
View File
@@ -0,0 +1,30 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
#pragma once
#ifndef STRICT
#define STRICT
#endif
#include "targetver.h"
#define _ATL_APARTMENT_THREADED
#define _ATL_NO_AUTOMATIC_NAMESPACE
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
#include "resource.h"
#include <atlbase.h>
#include <atlcom.h>
#include <atlctl.h>
#include <atlstr.h>
using namespace ATL;
#ifdef BUILD_SETUP
#define INI_PATH L""
#else
#define INI_PATH L"..\\"
#endif
+24
View File
@@ -0,0 +1,24 @@
#pragma once
// The following macros define the minimum required platform. The minimum required platform
// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
// your application. The macros work by enabling all features available on platform versions up to and
// including the version specified.
// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER // Specifies that the minimum required platform is Windows 7.
#define WINVER 0x0602 // Change this to the appropriate value to target other versions of Windows.
#endif
#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows 7.
#define _WIN32_WINNT 0x0602 // Change this to the appropriate value to target other versions of Windows.
#endif
#ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif
#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0.
#define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE.
#endif

Some files were not shown because too many files have changed in this diff Show More