diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 537be51..0000000 --- a/.editorconfig +++ /dev/null @@ -1,7 +0,0 @@ -root=true - -[*] -indent_style=tab -indent_size=4 -trim_trailing_whitespace=true -insert_final_newline=true diff --git a/.gitignore b/.gitignore deleted file mode 100644 index f3e3bbf..0000000 --- a/.gitignore +++ /dev/null @@ -1,355 +0,0 @@ -.vs -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebug64/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]elease64/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*.dll -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.exe -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.tlog/ -*.tlog -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc -*.lastbuildstate -*.exp -*.lib -*.res -*.ipdb - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# CodeRush -.cr/ - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# PVS-Studio temporary files (Github integration performance fix) -*.PVS-Studio.* - -# Classic-Shell specific ignores -Src/StartMenu/Skins/ -Src/Setup/Output/ -Src/Setup/Final/ -Src/Setup/Temp/ -*.adml -*.admx -*.zip -*.bin -*.chm diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 83b6c87..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017-2018 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/Localization/English/ClassicExplorer.html b/Localization/English/ClassicExplorer.html deleted file mode 100644 index 3d0eb8a..0000000 --- a/Localization/English/ClassicExplorer.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - Classic Explorer - -

Open-Shell website  Classic Explorer


-Classic -Explorer is a plugin for Windows Explorer that: - -
- - -

New copy UI (Windows 7 only)
-

- -In Vista when you copy files and there is a conflict you are presented -with this:
- -
- -Before
- -

What’s wrong with it?

- -

Well, for -starters it is half a screen full of text that you have to read. Also -it is not immediately clear what parts of it are clickable. You have to -move the mouse around to discover the UI like in a Lucas Arts -adventure game. And finally the keyboard usability is awful. To -tell it -“yes, I know what I’m doing, I want to overwrite all files” you have to -press Alt+D, up, up, up, Space! It is harder than performing the Akuma -Kara Demon move in Street Fighter 3. There is a time and a place -for -that stuff and copying files is not it.

- -

The Classic Explorer plugin brings back the simpler dialog box from Windows XP:
-

- -

After
-

- -

It -is immediately clear what is clickable (clue – the buttons at the -bottom), there is easy keyboard navigation (press Y for “Yes”, A to -copy all files) and you can still see which file is newer and which is -larger. And of course just like in Windows XP, holding down Shift while clicking on the No button means "No to All" (or just press Shift+N).
-

- -

If you click -on More… you will get -the original dialog from Windows. From there you -will see all the details and you’ll get an extra option to “Copy, but -keep both files”.

-

Important Note: Only the UI is replaced. The underlying system that does the actual copying is not affected.
-

-


-

- - - -

Alt+Enter in the folder panel

- -Alt+Enter is -universal shortcut across Windows to bring up the properties of the -selection. But newer versions of Windows it doesn’t work in the left -panel that shows the folders. It works fine on the right where the -files are. This is broken compared to Windows XP where Alt+Enter works -in both places. -

To solve the -problem, the Classic Explorer plugin detects when you press Alt+Enter -and shows the properties for the currently selected folder.
-

-


-

- - -

Toolbar for Windows Explorer

-Windows -Explorer in Vista doesn’t have a toolbar like the one in Windows XP. If -you want to go to the parent folder you have to use the breadcrumbs -bar. If you want to copy or delete a file with the mouse you have to -right-click and look for the Delete command. The right-click menu gets -bigger and bigger the more shell extensions you have installed, and -finding the right command can take a while.
-

To solve the problem, the Classic Explorer plugin adds a new toolbar:
-

- - Explorer Toolbar
-
-The available button are: Go Up, Cut, Copy, Paste, Delete, Properties, -Email, Settings. More buttons can be added from the Settings dialog.
-
-Hints:
-    - Hold the Control key when clicking the Up button to open the parent folder in a new Explorer window.
-    - Hold the Shift key when clicking the Delete button to permanently delete a file
- -
- -The new toolbar doesn’t show up in Explorer automatically after -installation. You have to do a few things before you can use it:
- -
    - -
  1. Open a new Windows Explorer window (Win key+E)
  2. -
  3. Turn on the menu in Explorer – Go to Tools (Alt+T), Folder -Options, the View tab, and make sure “Always show menus” is checked.
  4. -
  5. Right click on the menu bar and select “Classic Explorer Bar” to -show the toolbar.
  6. -
  7. If that option is not available (you only see “Lock the -Toolbars”) you may have to enable the plugin from Internet Explorer. -Run IE, right click on its toolbar and select “Classic Explorer Bar”. -It will ask you if you want to enable this add-on. Select “Enable”, -then repeat steps 1 through 3 again.
  8. -
  9. If even then you don't see the toolbar, maybe the browser -extensions are disabled on your system. This is usually the default for -servers. Open the "Internet Options", go to the "Advanced" tab, and check -the option "Enable third-party browser extensions".
    -
  10. - -

-

Status bar
-

-Classic Explorer restores the original Explorer status bar that shows the free disk space and the size of the selected files:
-
-File size in status bar
-
-Unlike the built-in status bar, the selection size is shown even if -more than 100 files are selected. When no files are selected the total -size of all files in the folder is shown.
-
Windows 7 note: Classic Explorer enhances the -default status bar instead of replacing it. To see it, you have to turn -it on first from the View menu. -The status bar is different from the blue -Details Pane you see at the bottom of Explorer. You can turn off the -Details Pane from the Organize menu to save space. Also there is a bug -in the Windows 7 Explorer that sometimes doesn't show any text in the -status bar. Press F5 to refresh the view and get the status text.
-
Windows 8 note: Classic Explorer adds its own -status bar. You should hide the default status bar to save space. -Select the View tab in the ribbon, then click on Options. Select the -View tab in the options. Locate the checkbox "Show status bar" and -uncheck it. -
-
- - -

Settings

You can access the settings of Classic Explorer from the toolbar or from the start menu:
-
-
You can choose from seeing only the basic settings, or all -available settings. Hover over each setting to see a description of -what it's for. Type in the search box to find a setting by name.
-Every setting has a default value. The default value can be constant, -or it may depend on the current system settings. Once you edit a -setting it becomes "modified" and is shown in bold. To revert to the -default value, right-click on the setting.
-
You can save the settings to an XML file, and later load them back. -Press the Backup button to access these functions. From there you can -also reset all settings to their default value.
- -
- -Press OK to store your settings. Most of the settings will be applied -the next time you open a new Explorer window. Small number of settings -will require a log off before you can see the change.
- -
- -Note: All Settings windows are resizable. Resize them and place them where you want them to be. They will remember the new position.
- -
-Here's one example of what can be customized:
- - Title bar tweaks
-
-Click on the Toolbar Buttons tab to customize the toolbar:
-
-
The column on the left shows the current buttons in the toolbar, -and the column on the right lists the buttons you can add to the -toolbar. You can drag and drop buttons from the right column to the -left. You -can rearrange the buttons by dragging them up and down. If you drop one button inside another you will create a sub-menu.
-Hover over each -button to see a short description of what it does. Right-click on each -button to access more functions (like Delete, Rename, etc). From the -right-click menu you can also reset the toolbar to the original state.
-Each item in the left column must have a unique name. This is the -identifier of the item and can only contain English letters, digits and -underscore. Some items (like SEPARATOR) cannot be renamed.
-
-Important Note: Not all available commands have default icons or text. That's because Windows doesn't have icons for things like Undo, Select All, etc. If you want to use such buttons in your toolbar you will have to provide your own icon. See below how to do it.
-
-After you place a button in the toolbar, you can edit it's attributes. Double-click on the button to edit:
-Edit toolbar button
-Here you can select a command for the button, its text and icon. Press the Restore Defaults button to get the default text and icon for the chosen command.
-The command can be:
- -The link can be a path to a file or a folder. If it is a file, that -file will be executed. If it is a folder, that folder will be opened as -a sub-menu (only for top-level buttons).
-
-The icon can be:
- -If the label or the tip attribute start with $ (dollar sign), then the -system will treat it as a name of a string in the ExplorerL10N.ini -file. The actual text will depend on the current language setting. This -is useful when creating a toolbar that can be used by multiple languages.
-
-Note to developers: Buttons for custom commands can be checked or disabled. The toolbar checks the registry key HKCU\Software\OpenShell\ClassicExplorer -for a DWORD value with the name of the button (the name used in left -column). 0 means normal, 1 is disabled and 2 is checked. The toolbar -reads the registry keys on startup. To force the buttons to update -their state after that you need to find all Explorer windows, locate -the child window with class OpenShell.CBandWindow, and post a message WM_CLEAR. This is useful if you are developing a custom exe to be used by the toolbar.
- -
-

Examples for Custom Commands

-

0) Use quotes when necessary

In order to support paths that -contain spaces, you should use quotes around the path parameters. The -quotes are not always required, like in examples 1 and 2 below. Make -sure you test your commands with paths containing spaces to avoid -surprises.
-
-

1) Print the current folder

- -Use this command: cmd.exe /k echo %1. %1 will be replaced by the path of the current folder.
-
-

2) Open the selected file in Notepad

-Use this command: %SystemRoot%\notepad.exe %2. -%2 will be replaced by the full name of the selected file. It doesn't -need to be in quotes because Notepad uses the whole command line as a -file name.
-
-

3) Copy selected files to the parent folder
-

-Create a batch file called C:\CopyParent.bat:
-set list=%1
-set list=%list:"=%
-for /F "delims=" %%i in (%list%) do copy /Y "%%i" ..
-del %1
-
-Use this command: C:\CopyParent.bat "%3". -%3 will be replaced by a text file containing the full names of all -selected files. The batch file will read each line of that text file, -and copy each of the selected files to the parent folder. At the end -the batch file deletes the initial -temp file. The first two set commands remove the quotes from the %1 parameter.
-
-

4) Select all text files

-Create a batch file called C:\SelectText.bat:
-echo select > %1
-dir *.txt /b >> %1
-
-Use this command: C:\SelectText.bat "%5". -%5 will be replaced by a blank text file, where the command must output -the word "select" and a list of files it wants to select. The "dir -*.txt /b" command provides that list.
-
-
- -

Administrative Settings

The settings are -per user and are stored in the registry. By default every user can edit -all of their settings. An administrator can lock specific settings, so -no user can edit them:
-
-In this example the setting "Show Up button" is locked to always be -"Before Back/Forward" and can't be changed by any user. This is achieved -by adding the setting to the HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicExplorer registry key. Create a string value called "ShowUpButton" and set it to "BeforeBack".
-
In some cases you may not want to lock the value for all users, but -simply modify the initial value of the setting. In such case add -"_Default" to the name of the value. For example if you want the Up -button to be before Back by default but still allow the users to change -it if they wish, create a string value named "ShowUpButton_Default" and -set it to "BeforeBack".
-
-The easiest way to know the registry name of a setting and its value is to modify it, and then look it up in HKEY_CURRENT_USER\Software\OpenShell\ClassicExplorer\Settings.
-Sometimes you may want to lock a setting to its default value, but you -don't know what the default value is. Then create a DWORD value and set -it to 0xDEFA.
-
-There is also a global setting EnableSettings. Set it to 0 in the -registry to prevent the users from even opening the Settings dialog:
-Disable all settings
-
-You can enable or disable Classic Explorer for individual processes -using the 2 registry settings "ProcessWhiteList" and -"ProcessBlackList". ProcessWhiteList is -a list of processes for which Classic Explorer will load. Use only the -file name of the process (like "notepad.exe"), separate multiple names -with a comma or a semicolon. ProcessBlackList -is a list of processes for which Classic Explorer will not load. You -should only use one of the two lists. If both lists are specified, the -black list will be ignored. The lists are only used when you enable the -features that are supported for processes other than Explorer. At the -moment these features are: the shared overlay icon and the replacements -for the copy dialogs.
-
-Editing the settings through group policies is also supported. Extract the file PolicyDefinitions.zip found in the installation folder and read the document PolicyDefinitions.rtf for more details.
-
- -
- -

Dependencies on Windows settings
-

-Some Classic Explorer settings require specific Windows settings to be enabled:
- - -
- -

Localization

- - - - -The user -interface (except the Settings dialog box) is localized in 35 -languages.
-The Settings dialog box is translated in a smaller number of languages. -The default installation contains only English. More languages can be -downloaded from the translations page. Make sure you download the translation package for the exact version of Open-Shell.
- -
- - diff --git a/Localization/English/ClassicExplorerADMX.txt b/Localization/English/ClassicExplorerADMX.txt deleted file mode 100644 index b290183..0000000 --- a/Localization/English/ClassicExplorerADMX.txt +++ /dev/null @@ -1,62 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell settings -State.text = State: -State1.text = Locked to this value -State2.text = Locked to default -State3.text = Unlocked -State1Help.text = If you set the state to 'Locked to this value', the setting will be locked to the specified value for all users. -State2Help.text = If you set the state to 'Locked to default', the setting will be locked to the default value for all users. The specified value is ignored. -State3Help.text = If you set the state to 'Unlocked', the default value for the setting will be changed to the specified value. Individual users can override the setting. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Classic Explorer group policy settings -SUPPORTED_CS404.text = Requires Open-Shell 4.0.4 or later. -SUPPORTED_CS404_WIN7.text = Requires Windows 7. -SUPPORTED_CS404_WIN881.text = Requires Windows 8 or Windows 8.1. - -AddressAltD.nameOverride = Additional shortcut for the address bar -AddressAltD.tipOverride = Enter a letter 'A' to 'Z' to be a shortcut for the address bar in combination with the Alt key -EnableSettings.nameOverride = Enable settings -EnableSettings.tipOverride = Enables the users to edit their own settings -ProcessWhiteList.nameOverride = Process white list -ProcessWhiteList.tipOverride = List of processes that can load Classic Explorer. Use only the file name of the process (like "notepad.exe"), separate multiple names with a comma or semicolon. -ProcessBlackList.nameOverride = Process black list -ProcessBlackList.tipOverride = List of processes that will not load Classic Explorer. Use only the file name of the process (like "notepad.exe"), separate multiple names with a comma or semicolon. -ToolbarItems.nameOverride = Toolbar buttons -ToolbarItems.tipOverride = Select the buttons to be shown in the toolbar.\nThe best way to get the right string is to configure the buttons in the Classic Explorer settings dialog and then look up the value named ToolbarItems in HKCU\Software\OpenShell\ClassicExplorer\Settings -NoInitialToolbar.nameOverride = No initial showing of the toolbar -NoInitialToolbar.tipOverride = When this is checked, the Explorer toolbar will not be automatically displayed - - -; os-specific -FileExplorer.nameOverride = Enable dialogs only in Explorer (improves performance) diff --git a/Localization/English/ClassicIE.html b/Localization/English/ClassicIE.html deleted file mode 100644 index c121d16..0000000 --- a/Localization/English/ClassicIE.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - Classic IE - -

Open-Shell website  -Classic IE


-Classic IE
-is a -small plugin for Internet Explorer that:
- -
-See the full page title even when it doesn't fit in the tab:
-
-
See the progress and the security zone:
-
-
-

Installation

-When you run Internet Explorer for the first time after installing -Classic IE it may prompt you that a new add-on called ClassicIEBHO is -installed and if you want to enable it. Click on the Enable button. If -you don't get a prompt, go to Tools -> Manage add-ons and make sure ClassicIEBHO is enabled. After enabling the add-on you have to restart Internet Explorer to activate the plugin.
-
-

Settings

-You can access the settings from Tools -> Classic IE Settings -or from the start menu. The settings control the color and the font of -the caption, and what information to display on the status bar.
-
-
You can choose from seeing only the basic settings, or all -available settings. Hover over each setting to see a description of -what it's for. Type in the search box to find a setting by name.
-Every setting has a default value. The default value can be constant, -or it may depend on the current system settings. Once you edit a -setting it becomes "modified" and is shown in bold. To revert to the -default value, right-click on the setting.
- -
-You can save the settings to an XML file, and later load them back. -Press the Backup button to access these functions. From there you can -also reset all settings to their default value.
- - -
- - -Press OK to store your settings. You need to restart Internet Explorer to apply the new settings.
- - -
-

Administrative Settings

-The settings are -per user and are stored in the registry. By default every user can edit -all of their settings. An administrator can lock specific settings, so -no user can edit them. This is achieved by adding the setting to the HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicIE registry key.
-
-You may also wish to not lock the setting but only override its initial -value. Then add "_Default" to the name of the registry value.
-
-The easiest way to know the registry name of a setting and its value is to modify it, and then look it up in HKEY_CURRENT_USER\Software\OpenShell\ClassicIE\Settings.
- -Sometimes you may want to lock a setting to its default value, but you -don't know what the default value is. Then create a DWORD value and set -it to 0xDEFA.
- -
- -There is also a global setting EnableSettings. Set it to 0 in the -registry to prevent the users from even opening the Settings dialog:
- -
-
-Editing the settings through group policies is also supported. Extract the file PolicyDefinitions.zip found in the installation folder and read the document PolicyDefinitions.rtf for more details.
-
- diff --git a/Localization/English/ClassicIEADMX.txt b/Localization/English/ClassicIEADMX.txt deleted file mode 100644 index 1d2662b..0000000 --- a/Localization/English/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn = never - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell settings -State.text = State: -State1.text = Locked to this value -State2.text = Locked to default -State3.text = Unlocked -State1Help.text = If you set the state to 'Locked to this value', the setting will be locked to the specified value for all users. -State2Help.text = If you set the state to 'Locked to default', the setting will be locked to the default value for all users. The specified value is ignored. -State3Help.text = If you set the state to 'Unlocked', the default value for the setting will be changed to the specified value. Individual users can override the setting. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Classic IE group policy settings -SUPPORTED_CS404.text = Requires Open-Shell 4.0.4 or later. -SUPPORTED_IE9.text = Requires Internet Explorer 9 or later. - - -EnableSettings.nameOverride = Enable settings -EnableSettings.tipOverride = Enables the users to edit their own settings -CaptionFont.tipAddition = .\n\nThe format is , , . For example "Segoe UI, normal, 9" diff --git a/Localization/English/License.html b/Localization/English/License.html deleted file mode 100644 index 68368e0..0000000 --- a/Localization/English/License.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - License Agreement - -

Open-Shell website  License Agreement
-


- -Classic Shell 2009-2017, Ivo Beltchev http://www.classicshell.net/
- -Open-Shell 2017-2018, The Open-Shell Team https://github.com/open-shell
-
-BY USING THIS SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.
-
-If you comply with these license terms, you have the rights below.
-
-
    -
  1. -

    SCOPE OF LICENSE. This agreement only gives you some rights to use the software. The author reserves all other rights.

    -
  2. -
  3. -

    INSTALLATION AND USE RIGHTS. This software is free for both personal and commercial use. You may install and use it on your computers free of charge.

    -
  4. -
  5. -

    REDISTRIBUTION RIGHTS. You may redistribute the software as long as you do it free of charge and you don’t misrepresent the origin of the software.

    -
  6. -
  7. -

    TRADEMARKS. The Open-Shell name and logo are trademarks of the author. Using them to to identify other products or services is not permitted.

    -
  8. -
  9. -

    DISCLAIMER OF WARRANTY. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    -
  10. -
  11. -

    IN OTHER WORDS: -Basically you can use this software freely for any purpose but don’t be -surprised if it doesn’t work as you expect. You can’t hold the author -responsible for any damages that come to you from using the software. -You can’t profit from selling this software. You got it for free after -all.

    -
  12. -
- - - diff --git a/Localization/English/Links.html b/Localization/English/Links.html deleted file mode 100644 index 36f21b4..0000000 --- a/Localization/English/Links.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Open-Shell - -

Open-Shell website  Links


The latest version can be found on the Open-Shell website:
-http://www.classicshell.net/
-
-View the project history here:
-History: http://www.classicshell.net/history/
-
-
-

Get Help

-For answers to frequently asked questions look here:
-FAQ: http://www.classicshell.net/faq/
- -
-If you don't find your answer in the FAQ, try the discussion forums:
-Discussion Forums: http://www.classicshell.net/forum/viewforum.php?f=6
- -
-
-

Report Problems

-Report bugs and feature requests in the development forums:
-Development Forums: http://www.classicshell.net/forum/viewforum.php?f=11
- - diff --git a/Localization/English/Localization.rtf b/Localization/English/Localization.rtf deleted file mode 100644 index 5b573a8..0000000 --- a/Localization/English/Localization.rtf +++ /dev/null @@ -1,108 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset0 Arial;}{\f2\fnil\fcharset2 Symbol;}} -{\colortbl ;\red0\green0\blue255;} -{\*\listtable -{\list\listhybrid -{\listlevel\levelnfc23\leveljc0\levelstartat1{\leveltext\'01\'B7;}{\levelnumbers;}\f2\jclisttab\tx0} -{\listlevel\levelnfc23\leveljc0\levelstartat1{\leveltext\'01\'B7;}{\levelnumbers;}\f2\jclisttab\tx0}\listid1 }} -{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}} -{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\keepn\widctlpar\s1\sb240\sa60\sl276\slmult1\kerning32\b\f0\fs32 Localization of Open-Shell\par - -\pard\nowidctlpar\kerning0\b0\f1\fs20\par -This file explains the localization system used by Open-Shell and how to translate Open-Shell in new languages.\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 1. What can be localized\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Open-Shell has 2 major systems for providing localized text.\par -\par -The first one is the L10N.ini files. There are 3 files \endash ExplorerL10N.ini, StartMenuL10N.ini and StartMenuHelperL10N.ini. They contain translations for the text in Explorer and the start menu that users will encounter during normal use. These files contain translations for all of the 35 supported languages. Each language is separated in its own section. You will generally not need to edit these files unless you find a typo. If you do, please send the correction to {{\field{\*\fldinst{HYPERLINK "mailto:classicshell@ibeltchev.com" }}{\fldrslt{\ul\cf1\cf1\ul classicshell@ibeltchev.com}}}}\f1\fs20 , so I can fix the typo in the next release.\par -\par -The second system is for localizing the settings UI and the system messages that Open-Shell displays. The translations are packaged into a resource DLL with the name of the language \endash en-US.dll, ja-JP.dll, etc. The DLL can contain:\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720 A string table with replacement strings\par -{\pntext\f2\'B7\tab}Dialog resources for the Settings UI\par -{\pntext\f2\'B7\tab}Overrides for text lines in the L10N.ini files\par - -\pard\nowidctlpar\par -The same DLL contains resources for all of the Open-Shell components \endash Classic Explorer, Open-Shell Menu, etc. Generally resources from 2000 to 3000 belong to Classic Explorer, from 3000 to 4000 belong to Open-Shell Menu, from 5000 to 6000 belong to Classic IE, 6000 to 7000 belong to the updater component and from 4000 to 5000 are shared by all components.\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 2. What else can be localized (if you really want to)\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Open-Shell is designed to mainly support localizations for the UI. Localizations for other areas, like the installer and the documentation will require more work.\par -\par -To translate the installer you need to translate the OpenShellText-en-US.wxl file. It contain the text for the installer. One benefit of translating the installer is that you can localize the names of the shortcuts in the Start menu. You also need to translate the OpenShellReadme.rtf file and OpenShellEULA.rtf if you want them to display in your language.\par -\par -To translate the help file you will need to translate the HTML files included in OpenShellLoc.zip. If you install the tool HTML Help Workshop from Microsoft, you will be able to also compile the CHM file and preview it yourself. Use the OpenShell.hhp help project file for that.\par -\par -To translate the group policies you will need to translate the files ClassicExplorerADMX.txt, ClassicIEADMX.txt, OpenShellADMX.txt and MenuADMX.txt. You may also translate the PolicyDefinitions.rtf file.\par -\par -When you are done, send all translations to me and I will prepare an installer for your language. \par -\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 3. The DLL structure in detail\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Look at the provided \b en-US.dll\b0 file. It contains all English resources that can be translated.\par -\b\i Note:\b0 Open-Shell doesn\rquote t need the en-US.dll file. The English text is already built-in. The purpose of the en-US.dll file is to serve as an example and starting point for other languages.\par -\i0\par -The localization DLL contains the following resources:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720 A version resource. It must match the version of Open-Shell it is intended to be used with. The reason is that the text often changes between versions, so translations from one version will not work with the next. You may also use the comments section to list your name as the author.\par - -\pard\nowidctlpar\li720\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720 A string table. Provides translations for the UI text in Open-Shell. Use the text from en-US.dll as a source. The string table doesn\rquote t need to include all strings. If a string is missing, it will stay in English.\line\par -{\pntext\f2\'B7\tab}A set of dialog resources. These are the dialog boxes that the Settings UI needs. You can replace the text in the dialogs with your own. You can also resize some of the dialog elements to make the text fit. Like with the strings, if a dialog is missing from the DLL, the English version will be used.\line\par -{\pntext\f2\'B7\tab}A L10N resource (its resource ID must be 1). This is a UTF-16 text file that contains replacement strings for the ini files. For example the ini files do not have the text \ldblquote Settings for Open-Shell Menu\rdblquote translated in all languages (since I don\rquote t know how to say it in all 35 languages). So the DLL can provide the translations for the current language. It is possible to replace even text that is already translated \endash for example if you want to fix a typo in the ini file, or to provide a better version of some text line.\line\par - -\pard\widctlpar\sa200\sl276\slmult1 You can edit a DLL using a resource editor like Visual Studio, Res Hacker, and many others.\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 4. What if I don\rquote t know how to edit DLLs?\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Look at the provided \b en-US.csv\b0 file. It is a tab-separated file in UTF-16 format. You can open it in Excel or any compatible editor. The file contains 4 columns:\par - -\pard -{\listtext\f1\u10625?\tab}\ls1\nowidctlpar\fi-360\li720\b ID\b0 \endash this is the identifier of the text line. There are 3 types of IDs:\par - -\pard -{\listtext\f1\u10625?\tab}\ls1\ilvl1\nowidctlpar\fi-360\li1440 A number, like 2001, 4030, etc. These correspond to the strings in the string table\par -{\listtext\f1 1\tab}A pair of numbers, like 3002/1025. These correspond to strings found in the dialog boxes. The first number is the ID of the dialog, and the second is the ID of the control in that dialog\par -{\listtext\f1 2\tab}Text, like \ldblquote Menu.SettingsTip\rdblquote . These correspond to the lines of the L10N resource\par - -\pard\nowidctlpar\li720\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\b English\b0 \endash this is the original English text\par - -\pard\nowidctlpar\li720\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\b Translation\b0 \endash this column is empty. That\rquote s where you will have to enter the translations for your language\line\par -{\pntext\f2\'B7\tab}\b Comment\b0 \endash some lines contain hints for the meaning of the translation, or instructions for providing better translation. If you are still unclear about something, ask me. I will provide more comments in future versions based on which text lines people find confusing\par - -\pard\nowidctlpar\par -\par -Once you are done, send the CSV file to {{\field{\*\fldinst{HYPERLINK "mailto:classicshell@ibeltchev.com" }}{\fldrslt{\ul\cf1\cf1\ul classicshell@ibeltchev.com}}}}\f1\fs20 and I will convert that text into a DLL and upload it to the Open-Shell website.\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 5. Special characters\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Some text lines in the DLL or the CSV contain special characters. They are:\par -\b\\t\b0 \endash this is the Tab character. Do not enter an actual tab in the text, because the CSVs don\rquote t handle it well\par -\b\\r\b0 \endash this is a carriage return character\par -\b\\n\b0 \endash this is a new line character\par -\b\\\\\b0 - this is the backslash character. You must use \\\\ instead of \\, because a single \\ can be mistaken for a special character\par -\b %d\b0 \endash this is a placeholder for a number. The actual number will be provided at run-time\par -\b %s\b0 \endash this is a placeholder for a string. The actual string will be provided at run-time\par -\par -In general, try to keep the special characters as they are.\par -\par -} - diff --git a/Localization/English/Main.html b/Localization/English/Main.html deleted file mode 100644 index ce136c6..0000000 --- a/Localization/English/Main.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - Open-Shell - -

Open-Shell website  Open-Shell

-Version 4.3.1 – general release

-

What is Open-Shell?

-Open-Shell™ is a collection of usability enhancement for Windows. It -has a customizable Start menu and Start button, it adds a -toolbar for Windows Explorer and supports a variety of smaller features.
-
-
-

System Requirements

-Open-Shell works on Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, -Windows Server 2012 and Windows Server 2012 R2. Both 32 and 64-bit versions are -supported (the same installer works for both). Some skins for the start menu -require Aero theme to be enabled. Others require at least Basic theme.
-
-
-

Components


- -Open-Shell has three major components: -
-

Uninstallation

-You can uninstall Open-Shell from Control Panel -> Programs and Features. Another way is  to run the setup again and chose "Remove".
-A logoff may be required to complete the process.
-
- diff --git a/Localization/English/Menu.html b/Localization/English/Menu.html deleted file mode 100644 index 6de14d3..0000000 --- a/Localization/English/Menu.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - - - - - - Open-Shell Menu - -

Open-Shell website  -Open-Shell Menu


-Open-Shell Menu
-is a flexible start menu that can mimic the menu behavior of Windows -2000, XP and Windows 7. It has a variety of advanced features: -
    - -
  • Choose between “Classic” and “Windows 7” styles
    -
  • -
  • Drag and drop to let you organize your applications
  • - -
  • Options to show Favorites, expand Control Panel, etc
  • -
  • Shows recently used documents. The number of documents to display -is customizable
  • -
  • Translated in 35 languages, including Right-to-left support for -Arabic and Hebrew
  • -
  • Does not disable the original start menu in Windows. You can -access it by Shift+Click on the start button
  • -
  • Right-click on an item in the menu to delete, rename, sort, or -perform other tasks
  • -
  • The search box helps you find your programs and files without getting in the way of your keyboard shortcuts
  • -
  • Supports jumplists for easy access to recent documents and common tasks
  • -
  • Available for 32 and 64-bit operating systems
  • -
  • Has support for skins, including additional 3rd party skins. Make your own!
  • -
  • Fully customizable in both looks and functionality
  • -
  • Support for Microsoft’s Active Accessibility
  • -
  • Converts the “All Programs” button in the Windows menu into a cascading menu
  • -
  • Implements a customizable start button
    -
  • -
  • Can show, search and launch Windows Store apps (Windows 8)
  • - - - - -
  • And last but not least – it's FREE!
  • -

-

Styles

-The start menu offers 3 styles to choose from.
-

1) Single-column classic style

-
-This style is similar to the menu found in Windows 2000. It has one -column in the main menu with vertical text on the side. you can -customize the order of items, icons and text.
- -Programs, jumplists and search results show as cascading sub-menus.
- -
-

2) Two-column classic style

-
-This style is similar to the Windows XP menu. There are two columns -where you can arrange your menu items. Customize the order, icons and -text.
-Programs, jumplists and search results show as cascading sub-menus.
-
-

3) Windows 7 style
-

-
-This style is similar to the Windows Vista and Windows 7 menu. The -items in the first column are pre-defined to pinned and recent -programs, all programs list and search box. The items in the second -column are fully customizable.
-The jumplists and search results show inside the main menu. The -programs can be inside the main menu or open as a cascading sub-menu.
-This style offers less customizing options than the classic styles, but -has look and feel more familiar to people used to Windows 7.
-
-
-

Operation

-If you have used the start menu in older versions of Windows you’ll -feel right at home:
- - - -

-Press the Windows key or click on the orb in the corner of the -screen to open the start menu.

-

-Hold down Shift while clicking on the orb to access the operating -system's own -start menu. -

-

-Click on an item to execute it. -

-

-Drag a program to change the order of the programs in a menu, or to -move it to another folder. -

-

-Right-click on an item to rename it, delete it, explore it, sort the -menu, or perform other tasks.

-

-Right-click on the orb to edit the settings for the start menu, to view this help file, or to -stop the start menu.
-

-


- -

- -

-Settings

Right-click on the start button to access the settings:
-
-
-You can choose from seeing only the basic settings, or all available -settings. Hover over each setting to see a description of what it's for. Type in the search box to find a setting by name.
- -Every setting has a default value. The default value can be constant, -or it may depend on the current system settings. Once you edit a -setting it becomes "modified" and is shown in bold. To revert to the -default value, right-click on the setting.
-
- -You can save the settings to an XML file, and later load them back. -Press the Backup button to access these functions. From there you can -also reset all settings to their default value.
- - -
- -Most settings will be changed immediately as you edit them. For example -you can edit the start menu, then while the Settings dialog is open, -access the start menu to see the changes. Small number of settings will -require you to exit the start menu before you can see the change.
- -
- - -Note: All Settings windows are resizable. Resize them and place them where you want them to be. They will remember the new position.
- - -
-Click on the Customize Start Menu tab to customize the menu items. Depending on the style you will see different UI.
-
-For classic styles you can customize both columns of the start menu and -create sub-menus. The left column shows the current items in the menu -and the right column shows the available menu items. Drag from the -right to the left to add items to the menu.
-
-
-For the Windows 7 style you can only edit the items for the second column and there are no sub-menus.
-
-

-Double-click on the icon to edit the item properties:
-
-Here you can select a command for the item, its text, icon and other attributes. Press the Restore Defaults button to get the default text and icon for the chosen command.
-
-The command can be:
- -
    -
  • one of the predefined commands - from the dropdown
  • custom executable string -- this can be a name of a program and its arguments, or even a URL -(like http://www.google.com). Environment variables like %SystemRoot% are supported
  • left blank - then if the link attribute is used, it will act as a command
    -
  • -
-The link can be a path to a file or a folder. If it is a file, that -file will be executed. If it is a folder, that folder will be opened as -a sub-menu. Some menu items (like Programs and Favorites) have an implicit -link attribute, so for them the Link box will be disabled.
- -
- -The icon can be:
- -
    -
  • left blank - then if the link attribute points to a file or a folder, the icon of that file or folder will be used
    -
  • resource file,icon ID - for example %windir%\notepad.exe,2. Do not leave space between the file name and the comma. Make sure you are using the icon's resource ID, and not the icon's index. For best results use the [...] button next to the icon box
    -
  • ,icon ID - same as above, but the resource file is the MenuDLL.dll itself. This is useful when referring to the start menu's own icons
    -
  • icon file -  for example C:\Program Files\Mozilla Thunderbird\Email.ico
  • none - this will use a blank icon
  • -
-If the label or the tip attribute start with $ (dollar sign), then the system will treat it as a name of a string in the StartMenuL10N.ini -file. The actual text will depend on the current language setting. This -is useful when creating a menu that can be used by multiple languages.
-
-If you check "Insert Sub-items as Buttons", instead of showing the menu -item itself, the start menu will show the sub-items as a row of -buttons. By default the buttons are centered. You can align them to the -left by adding a separator as the last item, or align them to the right -by adding a separator as the first item. One possible use is to replace -the shutdown menu item with -separate buttons for shutdown, restart, log off, etc.
-
-

Administrative Settings

-The settings are -per user and are stored in the registry. By default every user can edit -all of their settings. An administrator can lock specific settings, so -no user can edit them:
- -
-In this example the setting "Enable right-click menu" is locked to always -be unchecked and can't be changed by any user. This is achieved -by adding the setting to the HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\Menu registry key. Create a DWORD value called "EnableContextMenu" and set it to 0.
-
-In some cases you may not want to lock the value for all users, but -simply modify the initial value of the setting. In such case add -"_Default" to the name of the value. For example if you want to context -menu to be disabled by default but still allow the users to enable it -if they wish, create a DWORD value named "EnableContextMenu_Default" -and set it to 0.
-
-The easiest way to know the registry name of a setting and its value is to modify it, and then look it up in HKEY_CURRENT_USER\Software\OpenShell\StartMenu\Settings.
- -Sometimes you may want to lock a setting to its default value, but you -don't know what the default value is. Then create a DWORD value and set -it to 0xDEFA.
- -
- -There is also a global setting "EnableSettings". Set it to 0 in the -registry to prevent the users from even opening the Settings dialog:
- -
-
-The start menu also checks most of the group policies set by the administrator. Run gpedit.msc and go to User Configuration -> Administrative Templates -> Start Menu and Taskbar. From there you can disable Run, Shutdown, Help, and other features. (Not available on Home versions of Windows).
-
-Editing the settings through group policies is also supported. Extract the file PolicyDefinitions.zip found in the installation folder and read the document PolicyDefinitions.rtf for more details.
-
-
-

More About Skins

-You can pick from the many pre-installed skins:
-
-Skins for Open-Shell Menu
-
Or you can download and install additional 3rd party skins (from -the main website or from another place). After you download a new skin -you -must copy the .skin file to the Skins directory – usually C:\Program -Files\Open-Shell\Skins. After that it will be available in the settings.
-
-Note: Some skins may be specifically designed for -Classic, Basic, or Aero mode. For example an Aero skin may require -glass support any will look weird if the Classic or Basic theme is -selected. Some Aero skins may also require specific glass color to be -selected.
-
-You can create your own skin. You will need an image editor that -supports alpha channel (like Gimp or Photoshop) and a tool to edit -resource files (like Resource Hacker or Visual Studio). And of course -some talent for graphical design :). Read the Skinning Tutorial before you begin.
-
-

-

Search


-
- The search box lets you search the contents of the start menu, the -programs in the PATH environment variable and the indexed files. You can have the search box -appear as a normal menu item and then you can get to it using the -up/down arrow keys. You can choose to have the search box selected by -default when you open the start menu. Or you can choose to activate the -search box only with the Tab key, so until you press Tab you can use -the keyboard for navigation as if the search box is not there.
-
-The search results show in the main menu if you are using the Windows 7 style or in a sub-menu for the classic styles.
-Click on each category to expand it and see more results. Click on the icon at the end to view all results in Explorer.
-
-The classic styles allow you to register additional "search providers", which you can use to -search for the text from the search box. You run the search program -either by selecting it from the menu, or by -pressing Alt+key. In this example use Alt+A for Agent Ransack.
-
-
-This is done by adding sub-items of the SearchBoxItem in the Customize Start Menu tab:
-
-
-Open each of the sub-items and enter a command to start the search program. If you use %1 in the command, it will be replaced by the contents of the search box. If you use %2 -it will be replaced by the url-style encoded search text. Enter a -label, tip, and icon to complete your menu entry. In the label text you -can use & to mark the accelerator character (for example &Agent Ransack).
-
-Here are a few possible commands:
-Search with Agent Ransack: "C:\Program Files\Agent Ransack\AgentRansack.exe" -r -f "%1"
-Search with Everything: "C:\Program Files\Everything\Everything.exe" -search "%1"
-Search with Google: http://www.google.com/#q=%2
-Search with Bing: http://www.bing.com/search?q=%2
-
-
-

Custom Start Button
-

Open-Shell can add its own start button to the taskbar. It can -even replace the default start button in Windows 7. You can choose from -an Aero-style orb, a rectangular classic button, or -you can make your own. For a custom start button you need an image that -contain the 3 states of the button - normal, hot and pressed:
-Start button images
-The image must be a 32-bit PNG or BMP. By default the width of the -image determines the size of the button. You can override that by -entering a custom width.
-Read the Button Tutorial for more information about creating custom buttons.
-You can find many custom start button images online. Here are few examples:
-http://www.classicshell.net/forum/viewforum.php?f=18
-http://www.sevenforums.com/themes-styles/34951-custom-start-menu-button-collection.html
-
http://www.sevenforums.com/customization/78291-big-group-custom-start-orbs.html
-http://tutoriales13.deviantart.com/art/Orbs-153450418
-
-
-

Localization

- -The user interface (except the Settings dialog box) is localized in 35 -languages.
- -The Settings dialog box is translated in a smaller number of languages. -The default installation contains only English. More languages can be -downloaded from the translations page. Make sure you download the translation package for the exact version of Open-Shell.
- - -
-

Command Line

-The StartMenu.exe supports 5 command line parameters: -open, -toggle, -togglenew, -exit and -settings.
-
-The first two do what the name suggests. One opens the classic start menu, the other -toggles it. You can use the parameters to create a shortcut in your -QuickLaunch bar that opens the start menu. Or to set a hotkey in -programs such as WinKey.
-
-The third one "-togglenew" toggles the default Windows start menu (or start screen). It is useful if -you want to create a shortcut or a hotkey to open the default menu and use the Win -key for the classic menu.
-
-Use "-exit" to exit the start menu. This command will only work if the start menu is not currently busy.
-
-Use "-settings" to open the start menu settings. This is useful for creating a shortcut for editing the settings.
-
-
-

Accessibility

The start menu supports screen readers like JAWS, -or Microsoft's Narrator. If the accessibility support causes problems it can be disabled from the General Behavior tab of the Settings.
- -
- diff --git a/Localization/English/MenuADMX.txt b/Localization/English/MenuADMX.txt deleted file mode 100644 index 712f70e..0000000 --- a/Localization/English/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic2 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Open-Shell settings -State.text = State: -State1.text = Locked to this value -State2.text = Locked to default -State3.text = Unlocked -State1Help.text = If you set the state to 'Locked to this value', the setting will be locked to the specified value for all users. -State2Help.text = If you set the state to 'Locked to default', the setting will be locked to the default value for all users. The specified value is ignored. -State3Help.text = If you set the state to 'Unlocked', the default value for the setting will be changed to the specified value. Individual users can override the setting. - -MenuCat.text = Open-Shell Menu -MenuCatHelp.text = Open-Shell Menu group policy settings -SUPPORTED_CS404.text = Requires Open-Shell 4.0.4 or later. -SUPPORTED_CS404_WIN7.text = Requires Windows 7. -SUPPORTED_CS404_WIN78.text = Requires Windows 7 or Windows 8. -SUPPORTED_CS404_WIN781.text = Requires Windows 7 or Windows 8.1. -SUPPORTED_CS404_WIN8.text = Requires Windows 8. -SUPPORTED_CS404_WIN881.text = Requires Windows 8 or Windows 8.1. -SUPPORTED_CS404_WIN81.text = Requires Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Requires Classic menu style with one column. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Requires Classic menu style with two columns. -SUPPORTED_CS404_CLASSIC_STYLE.text = Requires Classic menu style. -SUPPORTED_CS404_WIN7_STYLE.text = Requires Windows 7 menu style. - - -EnableSettings.nameOverride = Enable settings -EnableSettings.tipOverride = Enables the users to edit their own settings - -MenuStyle.nameOverride = Menu style -MenuStyle.tipOverride = Select the style for the start menu.\nThe style determines the overall look and functionality of the menu. -MenuStyle_Classic1.nameOverride = Classic with one column -MenuStyle_Classic2.nameOverride = Classic with two columns -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Left Click opens -ShiftClick.nameOverride = Shift+Click opens -WinKey.nameOverride = Windows Key opens -ShiftWin.nameOverride = Shift+Win opens -MiddleClick.nameOverride = Middle Click opens -Hover.nameOverride = Hover opens - -; skins -SkinC1.nameOverride = Skin for classic menu with one column -SkinC1.tipOverride = Select the skin to be used by the classic style with one column -SkinVariationC1.nameOverride = Skin variation for classic menu with one column -SkinVariationC1.tipOverride = Select the skin variation to be used by the classic style with one column (for skins that support multiple variations) -SkinOptionsC1.nameOverride = Skin options for classic menu with one column -SkinOptionsC1.tipOverride = Select the skin options to be used by the classic style with one column.\nThe options are a list of hex numbers. The best way to get them is to adjust the options in the Open-Shell Menu settings dialog and then look up the value named SkinOptionsC1 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Menu items for classic menu with one column -MenuItems1.tipOverride = Select the menu items to be used by the classic style with one column.\nThe best way to get the right string is to configure the items in the Open-Shell Menu settings dialog and then look up the value named MenuItems1 in HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Skin for classic menu with two columns -SkinC2.tipOverride = Select the skin to be used by the classic style with two columns -SkinVariationC2.nameOverride = Skin variation for classic menu with two columns -SkinVariationC2.tipOverride = Select the skin variation to be used by the classic style with two columns (for skins that support multiple variations) -SkinOptionsC2.nameOverride = Skin options for classic menu with two columns -SkinOptionsC2.tipOverride = Select the skin options to be used by the classic style with two columns.\nThe options are a list of hex numbers. The best way to get them is to adjust the options in the Open-Shell Menu settings dialog and then look up the value named SkinOptionsC2 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Menu items for classic menu with two columns -MenuItems2.tipOverride = Select the menu items to be used by the classic style with two columns.\nThe best way to get the right string is to configure the items in the Open-Shell Menu settings dialog and then look up the value named MenuItems2 in HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Skin for the Windows 7 style -SkinW7.tipOverride = Select the skin to be used by the Windows 7 style -SkinVariationW7.nameOverride = Skin variation for the Windows 7 style -SkinVariationW7.tipOverride = Select the skin variation to be used by the Windows 7 style (for skins that support multiple variations) -SkinOptionsW7.nameOverride = Skin options for the Windows 7 style -SkinOptionsW7.tipOverride = Select the skin options to be used by the Windows 7 style.\nThe options are a list of hex numbers. The best way to get them is to adjust the options in the Open-Shell Menu settings dialog and then look up the value named SkinOptionsW7 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Menu items for the Windows 7 style -MenuItems7.tipOverride = Select the menu items to be used by the Windows 7 style.\nThe best way to get the right string is to configure the items in the Open-Shell Menu settings dialog and then look up the value named MenuItems7 in HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Skin for the All Programs sub-menu for the Windows 7 start menu -SkinA.tipOverride = Select the skin to be used by the All Programs sub-menu for the Windows 7 start menu -SkinVariationA.nameOverride = Skin variation for the All Programs sub-menu for the Windows 7 start menu -SkinVariationA.tipOverride = Select the skin variation to be used by the All Programs sub-menu for the Windows 7 start menu (for skins that support multiple variations) -SkinOptionsA.nameOverride = Skin options for the All Programs sub-menu for the Windows 7 start menu -SkinOptionsA.tipOverride = Select the skin options to be used by the All Programs sub-menu for the Windows 7 start menu.\nThe options are a list of hex numbers. The best way to get them is to adjust the options in the Open-Shell Menu settings dialog and then look up the value named SkinOptionsA in HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = This setting doesn't work for Windows 8.1. You need to use the built-in Windows setting for booting to Desktop - -; hidden -FolderStartMenu.nameOverride = Start Menu folder -FolderStartMenu.tipOverride = Enter an override for the per-user start menu folder (also overrides the per-user Programs folder).\nThe path can contain environment variables.\nNote: This setting is not editable from the Settings dialog -FolderPrograms.nameOverride = Programs folder -FolderPrograms.tipOverride = Enter an override for the per-user Programs folder.\nThe path can contain environment variables.\nNote: This setting is not editable from the Settings dialog -FolderCommonStartMenu.nameOverride = Common Start Menu folder -FolderCommonStartMenu.tipOverride = Enter an override for the common start menu folder (also overrides the common Programs folder).\nThe path can contain environment variables.\nNote: This setting is not editable from the Settings dialog -FolderCommonPrograms.nameOverride = Common Programs folder -FolderCommonPrograms.tipOverride = Enter an override for the common Programs folder.\nThe path can contain environment variables.\nNote: This setting is not editable from the Settings dialog -AutoStartDelay.nameOverride = Auto-start delay -AutoStartDelay.tipOverride = Enter a delay in ms when launching the start menu automatically during login (does not apply when starting the menu manually by running StartMenu.exe).\nNote: This setting is not editable from the Settings dialog - -; other -StartButtonIcon.tipAddition = The value can be a path to an ICO file or a path to an EXE/DLL and an the ID of the icon -StartButtonPath.tipAddition = The value is a full path to the BMP or PNG file -SoundMain.tipAddition = The value can be a name of a system event or a path to a WAV file -SoundPopup.tipAddition = The value can be a name of a system event or a path to a WAV file -SoundCommand.tipAddition = The value can be a name of a system event or a path to a WAV file -SoundDrop.tipAddition = The value can be a name of a system event or a path to a WAV file -ExpandFolderLinks.tipAddition = Only works for symbolic links (like junctions) and not for plain shortcuts -StartHoverDelay.nameOverride = Hover delay (for Start button) -AllProgramsDelay.nameOverride = Hover delay (for All Programs in Windows 7) -CSMHotkey.tipAddition = .\n\nThe base value is the main key's virtual code. Add 256 for Shift, 512 for Control and 1024 for Alt.\nThe best way to get the value is to select the hotkey in the Open-Shell Menu settings dialog and then look up the value named CSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\nThe base value is the main key's virtual code. Add 256 for Shift, 512 for Control and 1024 for Alt.\nThe best way to get the value is to select the hotkey in the Open-Shell Menu settings dialog and then look up the value named WSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Localization/English/OpenShell.hhp b/Localization/English/OpenShell.hhp deleted file mode 100644 index 3237197..0000000 --- a/Localization/English/OpenShell.hhp +++ /dev/null @@ -1,16 +0,0 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=OpenShell.chm -Contents file=OpenShellTOC.hhc -Default topic=Main.html -Display compile progress=Yes -Language=0x409 English (United States) - - -[FILES] -ClassicExplorer.html -Menu.html -ClassicIE.html - -[INFOTYPES] - diff --git a/Localization/English/OpenShellADMX.txt b/Localization/English/OpenShellADMX.txt deleted file mode 100644 index 9219b6f..0000000 --- a/Localization/English/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Open-Shell settings -State.text = State: -State1.text = Locked to this value -State2.text = Locked to default -State3.text = Unlocked -State1Help.text = If you set the state to 'Locked to this value', the setting will be locked to the specified value for all users. -State2Help.text = If you set the state to 'Locked to default', the setting will be locked to the default value for all users. The specified value is ignored. -State3Help.text = If you set the state to 'Unlocked', the default value for the setting will be changed to the specified value. Individual users can override the setting. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Open-Shell group policy settings -SUPPORTED_CS404.text = Requires Open-Shell 4.0.4 or later. - -Language.nameOverride = Language for Open-Shell components -Language.tipOverride = Select the language to be used by Open-Shell (for example en-US or de-DE). The language will affect the text in the start menu, toolbars, etc. If the appropriate language DLL is installed, the settings UI may also be translated -Update.nameOverride = Enable automatic checks for new versions -Update.tipOverride = When this is checked, Open-Shell will check for new releases every week. You will be notified if there is a new version of the Open-Shell software or a new update for your current language diff --git a/Localization/English/OpenShellEULA.rtf b/Localization/English/OpenShellEULA.rtf deleted file mode 100644 index c7cb5cc..0000000 Binary files a/Localization/English/OpenShellEULA.rtf and /dev/null differ diff --git a/Localization/English/OpenShellReadme.rtf b/Localization/English/OpenShellReadme.rtf deleted file mode 100644 index de2d4e6..0000000 --- a/Localization/English/OpenShellReadme.rtf +++ /dev/null @@ -1,106 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset0 Calibri;}{\f2\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52 Open-Shell\par - -\pard\widctlpar\cf0\expndtw0\b0\i0\f1\fs22\par -Thank you for installing \cf3\b Open-Shell\'99\cf0\b0 . It adds some missing features to Windows 7, Windows 8, Windows 8.1 and Windows 10 - like a classic start menu, start button, a toolbar for Windows Explorer and others.\par -\par -The latest version can be found on the Open-Shell website:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f1\fs22\par -\par -For answers to frequently asked questions look here:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f1\fs22\par -\par -Or use the discussion forums to get help:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f1\fs22\par -\par -Report problems in the Open-Shell development forums:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f1\fs22\par -\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Open-Shell Menu\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Open-Shell Menu\cf0 \b0 is a flexible start menu that can mimic the menu behavior of Windows 2000, XP and Windows 7. It has a variety of advanced features:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Choose between \ldblquote Classic\rdblquote and \ldblquote Windows 7\rdblquote styles\par -{\pntext\f2\'B7\tab}Drag and drop to let you organize your applications\par -{\pntext\f2\'B7\tab}Options to show Favorites, expand Control Panel, etc\par -{\pntext\f2\'B7\tab}Shows recently used documents. The number of documents to display is customizable\par -{\pntext\f2\'B7\tab}Translated in 35 languages, including Right-to-left support for Arabic and Hebrew\par -{\pntext\f2\'B7\tab}Does not disable the original start menu in Windows. You can access it by Shift+Click on the start button\par -{\pntext\f2\'B7\tab}Right-click on an item in the menu to delete, rename, sort, or perform other tasks\par -{\pntext\f2\'B7\tab}The search box helps you find your programs and files without getting in the way of your keyboard shortcuts\par -{\pntext\f2\'B7\tab}Supports jumplists for easy access to recent documents and common tasks\par -{\pntext\f2\'B7\tab}Available for 32 and 64-bit operating systems\par -{\pntext\f2\'B7\tab}Has support for skins, including additional 3rd party skins. Make your own!\par -{\pntext\f2\'B7\tab}Fully customizable in both looks and functionality\par -{\pntext\f2\'B7\tab}Support for Microsoft\rquote s Active Accessibility\par -{\pntext\f2\'B7\tab}Converts the \ldblquote All Programs\rdblquote button in the Windows menu into a cascading menu\par -{\pntext\f2\'B7\tab}Implements a customizable start button\par -{\pntext\f2\'B7\tab}Can show, search and launch Windows Store apps (Windows 8)\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic Explorer\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic Explorer\cf0 \b0 is a plugin for Windows Explorer that:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Adds a toolbar to Explorer for some common operations (Go to parent folder, Cut, Copy, Paste, Delete, Properties, Email). The toolbar is fully customizable\par -{\pntext\f2\'B7\tab}Replaces the copy UI in Windows 7 with the more user-friendly \ldblquote classic\rdblquote version similar to Windows XP\par -{\pntext\f2\'B7\tab}Handles Alt+Enter in the folder panel of Windows Explorer and shows the properties of the selected folder\par -{\pntext\f2\'B7\tab}Has options for customizing the folder panel to look more like the Windows XP version or to not fade the expand buttons\par -{\pntext\f2\'B7\tab}Can show the free disk space and the total size of the selected files in the status bar\par -{\pntext\f2\'B7\tab}Can disable the breadcrumbs in the address bar\par -{\pntext\f2\'B7\tab}Fixes a long list of features that are broken in Windows 7 \endash missing icon overlay for shared folders, the jumping folders in the navigation pane, missing sorting headers in list view, and more\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic IE\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic IE is a plugin for Internet Explorer 9 and later versions that:\par -\cf0\b0\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Adds a caption to the title bar so you can see the full title of the page\par -{\pntext\f2\'B7\tab}Shows the security zone in the status bar\par -{\pntext\f2\'B7\tab}Shows the loading progress in the status bar\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Installation instructions\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -The toolbar for Windows Explorer may not show up automatically after installation. You have to do a few things before you can use it.\par -\par -\cf3\b Windows 7:\cf0\b0 Press Alt+V to open the View menu. Open the \ldblquote Toolbars\rdblquote sub-menu and select \ldblquote Classic Exlporer Bar\rdblquote . Keep in mind that the menu will always be displayed as long as the toolbar is visible.\par -\par -\cf3\b Windows 8:\cf0\b0 Press Alt+V to open the View ribbon. Click on the down arrow in the \ldblquote Options\rdblquote section. Select \ldblquote Classic Explorer Bar\rdblquote\par -\par -If these steps don\rquote t work, it may be possible that the Explorer extensions have been disabled. Check the following, then try to show the toolbar again:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720 Open Internet Explorer and go to Tools -> Manage add-ons. Locate the add-ons \ldblquote Classic Explorer Bar\rdblquote and \ldblquote ExplorerBHO Class\rdblquote and make sure they are enabled.\par -{\pntext\f1 2)\tab}Maybe the browser extensions are disabled on your system. This is usually the default for Windows Server. Open the "Internet Options", go to the "Advanced" tab, and check the option "Enable third-party browser extensions".\par - -\pard\widctlpar\par -On Windows 7 you have to turn on the status bar from the View menu if you want to see the file sizes.\par -On Windows 8 the Classic Explorer status bar is different from the one in Explorer. You can show/hide the first one from the Classic Explorer settings dialog and show/hide the second one from Explorer\rquote s folder options dialog.\par -\par -The caption in Internet Explorer may not show up automatically after installation. You may get a prompt to enable the ClassicIEBHO plugin. If you get the prompt, select \ldblquote Enable\rdblquote . If you don\rquote t get a prompt, go to Tools -> Manage add-ons and make sure the add-on \ldblquote ClassicIEBHO\rdblquote is enabled. After that restart Internet Explorer.\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Uninstallation\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -To uninstall \cf3\b Open-Shell\cf0\b0 follow these steps:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720 Open \b Control Panel -> Programs and Features\b0 and double-click on \b Open-Shell\b0 . Then follow the instructions. You may have to restart Windows to complete the process.\par -{\pntext\f1 2)\tab}If you installed any additional skins for the start menu you will have to delete them manually\par - -\pard\widctlpar\par - -\pard\widctlpar\sa200\sl276\slmult1\par -} - diff --git a/Localization/English/OpenShellTOC.hhc b/Localization/English/OpenShellTOC.hhc deleted file mode 100644 index 9835e23..0000000 --- a/Localization/English/OpenShellTOC.hhc +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -
    -
  • - - - - -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
  • - - - - -
- diff --git a/Localization/English/OpenShellText-en-US.wxl b/Localization/English/OpenShellText-en-US.wxl deleted file mode 100644 index dd4bc02..0000000 --- a/Localization/English/OpenShellText-en-US.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - This installer is only for 32-bit version of Windows. For 64-bit Windows you need to run Setup64. - Open-Shell requires Windows 7 or above. - A newer version of [ProductName] is already installed. The setup will now exit. - Classic Explorer - Classic Explorer adds a toolbar to Windows Explorer, replaces the copy UI and fixes some usability problems - Open-Shell Menu - Open-Shell Menu is a highly customizable replacement for the Windows start menu - Classic IE - Classic IE lets you customize the title bar and the status bar of Internet Explorer - Open-Shell Update - Open-Shell Update checks periodically for new versions - View the Open-Shell documentation - View the Open-Shell introduction - Edit the settings of Classic Explorer - Edit the settings of the classic start menu - Edit the settings of the Internet Explorer title bar and status bar - Edit the settings for Open-Shell's new version check - Create a start menu folder - Open-Shell website - Donate to Open-Shell - Visit us on Facebook - View Readme file - Open-Shell Help - Open-Shell Readme - Open-Shell Update - Classic Explorer Settings - Open-Shell Menu Settings - Classic IE Settings - Open the Start screen - Open-Shell is a collection of usability enhancements for Windows - diff --git a/Localization/English/PolicyDefinitions.rtf b/Localization/English/PolicyDefinitions.rtf deleted file mode 100644 index e68967d..0000000 Binary files a/Localization/English/PolicyDefinitions.rtf and /dev/null differ diff --git a/Localization/English/en-US.csv b/Localization/English/en-US.csv deleted file mode 100644 index fda7f81..0000000 Binary files a/Localization/English/en-US.csv and /dev/null differ diff --git a/Localization/English/images/OpenShell.png b/Localization/English/images/OpenShell.png deleted file mode 100644 index 1c17868..0000000 Binary files a/Localization/English/images/OpenShell.png and /dev/null differ diff --git a/Localization/English/images/acc_locked.png b/Localization/English/images/acc_locked.png deleted file mode 100644 index 0dd5dc9..0000000 Binary files a/Localization/English/images/acc_locked.png and /dev/null differ diff --git a/Localization/English/images/after.png b/Localization/English/images/after.png deleted file mode 100644 index bdb89f9..0000000 Binary files a/Localization/English/images/after.png and /dev/null differ diff --git a/Localization/English/images/before.png b/Localization/English/images/before.png deleted file mode 100644 index 62f32e9..0000000 Binary files a/Localization/English/images/before.png and /dev/null differ diff --git a/Localization/English/images/button_images.png b/Localization/English/images/button_images.png deleted file mode 100644 index e8bfa32..0000000 Binary files a/Localization/English/images/button_images.png and /dev/null differ diff --git a/Localization/English/images/button_settings.png b/Localization/English/images/button_settings.png deleted file mode 100644 index 8dcb650..0000000 Binary files a/Localization/English/images/button_settings.png and /dev/null differ diff --git a/Localization/English/images/customize_menu.png b/Localization/English/images/customize_menu.png deleted file mode 100644 index ef06aab..0000000 Binary files a/Localization/English/images/customize_menu.png and /dev/null differ diff --git a/Localization/English/images/explorer_settings.png b/Localization/English/images/explorer_settings.png deleted file mode 100644 index d1d2c15..0000000 Binary files a/Localization/English/images/explorer_settings.png and /dev/null differ diff --git a/Localization/English/images/ie9_caption.png b/Localization/English/images/ie9_caption.png deleted file mode 100644 index 5d853f7..0000000 Binary files a/Localization/English/images/ie9_caption.png and /dev/null differ diff --git a/Localization/English/images/ie9_settings.png b/Localization/English/images/ie9_settings.png deleted file mode 100644 index 47342d5..0000000 Binary files a/Localization/English/images/ie9_settings.png and /dev/null differ diff --git a/Localization/English/images/ie9_status.png b/Localization/English/images/ie9_status.png deleted file mode 100644 index ebfb297..0000000 Binary files a/Localization/English/images/ie9_status.png and /dev/null differ diff --git a/Localization/English/images/item_settings.png b/Localization/English/images/item_settings.png deleted file mode 100644 index d978eb3..0000000 Binary files a/Localization/English/images/item_settings.png and /dev/null differ diff --git a/Localization/English/images/menu_settings.png b/Localization/English/images/menu_settings.png deleted file mode 100644 index 6d99c16..0000000 Binary files a/Localization/English/images/menu_settings.png and /dev/null differ diff --git a/Localization/English/images/search1.png b/Localization/English/images/search1.png deleted file mode 100644 index 9c3b512..0000000 Binary files a/Localization/English/images/search1.png and /dev/null differ diff --git a/Localization/English/images/search2.png b/Localization/English/images/search2.png deleted file mode 100644 index 049f69e..0000000 Binary files a/Localization/English/images/search2.png and /dev/null differ diff --git a/Localization/English/images/search3.png b/Localization/English/images/search3.png deleted file mode 100644 index 9de67eb..0000000 Binary files a/Localization/English/images/search3.png and /dev/null differ diff --git a/Localization/English/images/settings1.png b/Localization/English/images/settings1.png deleted file mode 100644 index fbbb6ff..0000000 Binary files a/Localization/English/images/settings1.png and /dev/null differ diff --git a/Localization/English/images/settings2.png b/Localization/English/images/settings2.png deleted file mode 100644 index 45c8d55..0000000 Binary files a/Localization/English/images/settings2.png and /dev/null differ diff --git a/Localization/English/images/settings3.png b/Localization/English/images/settings3.png deleted file mode 100644 index c72ae67..0000000 Binary files a/Localization/English/images/settings3.png and /dev/null differ diff --git a/Localization/English/images/settings4.png b/Localization/English/images/settings4.png deleted file mode 100644 index a2ebb4a..0000000 Binary files a/Localization/English/images/settings4.png and /dev/null differ diff --git a/Localization/English/images/settings5.png b/Localization/English/images/settings5.png deleted file mode 100644 index f4b0c0c..0000000 Binary files a/Localization/English/images/settings5.png and /dev/null differ diff --git a/Localization/English/images/settings_disable_ex.png b/Localization/English/images/settings_disable_ex.png deleted file mode 100644 index 4bb572d..0000000 Binary files a/Localization/English/images/settings_disable_ex.png and /dev/null differ diff --git a/Localization/English/images/settings_disable_ie9.png b/Localization/English/images/settings_disable_ie9.png deleted file mode 100644 index 352b100..0000000 Binary files a/Localization/English/images/settings_disable_ie9.png and /dev/null differ diff --git a/Localization/English/images/settings_disable_sm.png b/Localization/English/images/settings_disable_sm.png deleted file mode 100644 index d65b65a..0000000 Binary files a/Localization/English/images/settings_disable_sm.png and /dev/null differ diff --git a/Localization/English/images/skins.gif b/Localization/English/images/skins.gif deleted file mode 100644 index c9a26cf..0000000 Binary files a/Localization/English/images/skins.gif and /dev/null differ diff --git a/Localization/English/images/statusbar.png b/Localization/English/images/statusbar.png deleted file mode 100644 index e9cfc00..0000000 Binary files a/Localization/English/images/statusbar.png and /dev/null differ diff --git a/Localization/English/images/style1.png b/Localization/English/images/style1.png deleted file mode 100644 index 02cf5be..0000000 Binary files a/Localization/English/images/style1.png and /dev/null differ diff --git a/Localization/English/images/style2.png b/Localization/English/images/style2.png deleted file mode 100644 index 9bbd1d1..0000000 Binary files a/Localization/English/images/style2.png and /dev/null differ diff --git a/Localization/English/images/style3.png b/Localization/English/images/style3.png deleted file mode 100644 index 67a4f0f..0000000 Binary files a/Localization/English/images/style3.png and /dev/null differ diff --git a/Localization/English/images/titlebar.png b/Localization/English/images/titlebar.png deleted file mode 100644 index bbad38b..0000000 Binary files a/Localization/English/images/titlebar.png and /dev/null differ diff --git a/Localization/English/images/toolbar.png b/Localization/English/images/toolbar.png deleted file mode 100644 index 7a23fbe..0000000 Binary files a/Localization/English/images/toolbar.png and /dev/null differ diff --git a/Localization/English/images/toolbar_settings.png b/Localization/English/images/toolbar_settings.png deleted file mode 100644 index 93416f2..0000000 Binary files a/Localization/English/images/toolbar_settings.png and /dev/null differ diff --git a/Localization/English/images/up_locked.png b/Localization/English/images/up_locked.png deleted file mode 100644 index e1284d8..0000000 Binary files a/Localization/English/images/up_locked.png and /dev/null differ diff --git a/Localization/ExplorerL10N.ini b/Localization/ExplorerL10N.ini deleted file mode 100644 index 5676556..0000000 --- a/Localization/ExplorerL10N.ini +++ /dev/null @@ -1,2599 +0,0 @@ -; This file contains all localized text for Classic Explorer. There is one section per language. -; Every section contains text lines in the form of = . -; Which section is used depends on the current OS setting. If a key is missing from the language section -; it will be searched in the [default] section. In some cases more than one language can be used. -; For example a Japanese system may use English as a secondary language. In that case the search order -; will be [ja-JP] -> [en-US] -> [default]. -; -; ============================================================================= - - -[default] -Toolbar.Settings = Classic Explorer Settings - - -[ar-SA] - Arabic (Saudi Arabia) -Copy.Cancel = إلغاء الأمر -Copy.More = المزيد... -Copy.CopyHere = ن&سخ إلى هذا الموضع -Copy.MoveHere = ن&قل إلى هذا الموضع -Copy.Title = تأكيد استبدال الملف -Copy.Subtitle = يحتوي هذا المجلد على ملف باسم '%s'. -Copy.SubtitleRO = يحتوي هذا المجلد على ملف للقراءة فقط باسم '‎%s'. -Copy.SubtitleSys = يحتوي هذا المجلد مسبقاً على ملف نظام باسم '‎%s'. -Copy.Prompt1 = ‏‏هل تريد استبدال الملف الموجود -Copy.Prompt2 = بهذا؟ -Copy.Yes = &نعم -Copy.No = &لا -Copy.YesAll = نعم لل&كل -Folder.Title = تأكيد استبدال المجلد -Folder.Prompt = هل ما زلت تريد نقل المجلد أو نسخه؟ -Toolbar.GoUp = مستوى واحد لأعلى -Toolbar.Cut = قص -Toolbar.Copy = نسخ -Toolbar.Paste = لصق -Toolbar.PasteShortcut = لصق الاختصار -Toolbar.Delete = حذف -Toolbar.Email = إرسال العناصر المحددة بالبريد الإلكتروني -Toolbar.Properties = خصائص -Toolbar.NewFolder = مجلد جديد -Toolbar.ZipFolder = مجلد جديد مضغوط -Toolbar.ExtraLarge = رموز كبيرة جداً -Toolbar.Large = رموز كبيرة -Toolbar.Medium = رموز متوسطة -Toolbar.Small = رموز صغيرة -Toolbar.List = قائمة -Toolbar.Details = تفاصيل -Toolbar.Tiles = مربعات -Toolbar.Content = محتوى -Toolbar.Undo = تراجع -Toolbar.Redo = إعادة -Toolbar.Refresh = تحديث -Toolbar.Back = الخلف -Toolbar.Forward = الأمام -Toolbar.Stop = إيقاف -Toolbar.Rename = إعادة تسمية -Toolbar.SelectAll = تحديد الكل -Toolbar.CustomizeFolder = تخصيص هذا المجلد -Toolbar.MapDrive = تعيين محرك أقراص الشبكة -Toolbar.DisconnectDrive = قطع اتصال محرك أقراص الشبكة -Toolbar.NavigationPane = جزء التنقل -Toolbar.DetailsPane = جزء التفاصيل -Toolbar.PreviewPane = جزء المعاينة -Toolbar.CopyTo = نسخ إلى -Toolbar.MoveTo = نقل إلى -Toolbar.Deselect = بلا تحديد -Toolbar.InvertSelection = عكس التحديد -Toolbar.FolderOptions = خيارات المجلد -Toolbar.ShowHiddenFiles = الملفات والمجلدات المخفية -Toolbar.ShowSystemFiles = ملفات النظام -Toolbar.ShowExtensions = ملحقات أسماء الملفات -Status.FreeSpace = ‎%s (مساحة القرص الحرة: ‎%s) -Status.Item = عنصر %s -Status.Items = ‎‎%s عنصر/عناصر -Status.ItemSelected = %s عنصر محدد -Status.ItemsSelected = %s عنصر/عناصر محددة - - -[bg-BG] - Bulgarian (Bulgaria) -Copy.Cancel = Отказ -Copy.More = Още... -Copy.CopyHere = &Копирай тук -Copy.MoveHere = Пр&емести тук -Copy.Title = Потвърждаване на заместването на файл -Copy.Subtitle = Тази папка вече съдържа файл с име '%s'. -Copy.SubtitleRO = Тази папка вече съдържа файл само за четене с име '%s'. -Copy.SubtitleSys = Тази папка вече съдържа системен файл с име '%s'. -Copy.Prompt1 = Желаете ли да заместите съществуващия файл -Copy.Prompt2 = с този? -Copy.Yes = &Да -Copy.No = &Не -Copy.YesAll = "Да" за &всички -Folder.Title = Потвърждаване на заместването на папка -Folder.Prompt = Все още ли искате да преместите или копирате папката? -Toolbar.GoUp = Едно ниво нагоре -Toolbar.Cut = Изрежи -Toolbar.Copy = Копирай -Toolbar.Paste = Постави -Toolbar.PasteShortcut = Постави пряк път -Toolbar.Delete = Изтриване -Toolbar.Email = Изпрати избраните елементи по електронната поща -Toolbar.Properties = Свойства -Toolbar.NewFolder = Нова папка -Toolbar.ZipFolder = Нова компресирана със ZIP папка -Toolbar.ExtraLarge = Много големи икони -Toolbar.Large = Големи икони -Toolbar.Medium = Средни икони -Toolbar.Small = Малки икони -Toolbar.List = Списък -Toolbar.Details = Детайли -Toolbar.Tiles = Мозайка -Toolbar.Content = Съдържание -Toolbar.Undo = Отмени -Toolbar.Redo = Върни -Toolbar.Refresh = Обнови -Toolbar.Back = Назад -Toolbar.Forward = Напред -Toolbar.Stop = Спри -Toolbar.Rename = Преименуване -Toolbar.SelectAll = Избери всички -Toolbar.CustomizeFolder = Персонализиране на тази папка -Toolbar.MapDrive = Назначаване на мрежово устройство -Toolbar.DisconnectDrive = Изключване на мрежово устройство -Toolbar.NavigationPane = Навигационен екран -Toolbar.DetailsPane = Екран за подробни данни -Toolbar.PreviewPane = Прозорец за визуализация -Toolbar.CopyTo = Копирай в -Toolbar.MoveTo = Премести в -Toolbar.Deselect = Не избирай нищо -Toolbar.InvertSelection = Обърни селекцията -Toolbar.FolderOptions = Опции за папката -Toolbar.ShowHiddenFiles = Скрити файлове и папки -Toolbar.ShowSystemFiles = Системни файлове -Toolbar.ShowExtensions = Разширения на имената на файлове -Status.FreeSpace = %s (Свободно място на диска: %s) -Status.Item = %s елемент -Status.Items = %s елемента -Status.ItemSelected = %s избран елемент -Status.ItemsSelected = %s избрани елемента - - -[ca-ES] - Catalan (Catalan) -Copy.Cancel = Cancel·lar -Copy.More = Més... -Copy.CopyHere = &Copiar aquí -Copy.MoveHere = &Moure aquí -Copy.Title = Confirmar la substitució de l'arxiu -Copy.Subtitle = Aquesta carpeta ja conté un arxiu amb el nom "%s". -Copy.SubtitleRO = Aquesta carpeta ja conté un arxiu de sols lectura amb el nom "%s". -Copy.SubtitleSys = Aquesta carpeta ja conté un arxiu de sistema amb el nom "%s". -Copy.Prompt1 = Desitja substituir l'arxiu existent -Copy.Prompt2 = per aquest altre? -Copy.Yes = &Sí -Copy.No = &No -Copy.YesAll = Sí a &tot -Folder.Title = Confirmar la substitució de carpetes -Folder.Prompt = Desitja moure o copiar la carpeta de totes maneres? -Toolbar.GoUp = Pujar un nivell -Toolbar.Cut = Retallar -Toolbar.Copy = Copiar -Toolbar.Paste = Enganxar -Toolbar.PasteShortcut = Enganxar accés directe -Toolbar.Delete = Suprimeix -Toolbar.Email = Enviar per correu electrònic els elements següents -Toolbar.Properties = Propietats -Toolbar.NewFolder = Nova carpeta -Toolbar.ZipFolder = Carpeta comprimida (en zip) nova -Toolbar.ExtraLarge = Icones molt grans -Toolbar.Large = Icones grans -Toolbar.Medium = Icones mitjanes -Toolbar.Small = Icones petites -Toolbar.List = Llista -Toolbar.Details = Detalls -Toolbar.Tiles = Mosaics -Toolbar.Content = Contingut -Toolbar.Undo = Desfer -Toolbar.Redo = Refer -Toolbar.Refresh = Actualitzar -Toolbar.Back = Enrera -Toolbar.Forward = Endavant -Toolbar.Stop = Aturar -Toolbar.Rename = Cambiar nom -Toolbar.SelectAll = Seleccionar tot -Toolbar.CustomizeFolder = Personalitzar aquesta carpeta -Toolbar.MapDrive = Conectar a unitat de xarxa -Toolbar.DisconnectDrive = Desconectar unitat de xarxa -Toolbar.NavigationPane = Panell de navegació -Toolbar.DetailsPane = Panell de detalls -Toolbar.PreviewPane = Panell de vista prèvia -Toolbar.CopyTo = Copia a -Toolbar.MoveTo = Desplaça a -Toolbar.Deselect = No en seleccionis cap -Toolbar.InvertSelection = Inverteix la selecció -Toolbar.FolderOptions = Opcions de carpeta -Toolbar.ShowHiddenFiles = Fitxers i carpetes amagats -Toolbar.ShowSystemFiles = Fitxers del sistema -Toolbar.ShowExtensions = Extensions del nom de fitxer -Toolbar.Settings = Ajustaments del Classic Explorer -Status.FreeSpace = %s (espai disponible en disc: %s) -Status.Item = %s element -Status.Items = %s elements -Status.ItemSelected = %s element seleccionat -Status.ItemsSelected = %s elements seleccionats - - -[cs-CZ] - Czech (Czech Republic) -Copy.Cancel = Storno -Copy.More = Další... -Copy.CopyHere = &Kopírovat sem -Copy.MoveHere = &Přesunout sem -Copy.Title = Potvrdit nahrazení souboru -Copy.Subtitle = Tato složka již obsahuje soubor s názvem %s. -Copy.SubtitleRO = Tato složka již obsahuje soubor jen pro čtení s názvem %s. -Copy.SubtitleSys = Tato složka již obsahuje systémový soubor s názvem %s. -Copy.Prompt1 = Chcete nahradit stávající soubor -Copy.Prompt2 = tímto souborem? -Copy.Yes = &Ano -Copy.No = &Ne -Copy.YesAll = Ano vš&em -Folder.Title = Potvrdit nahrazení složky -Folder.Prompt = Opravdu chcete přesunout nebo zkopírovat tuto složku? -Toolbar.GoUp = O úroveň výš -Toolbar.Cut = Vyjmout -Toolbar.Copy = Kopírovat -Toolbar.Paste = Vložit -Toolbar.PasteShortcut = Vložit zástupce -Toolbar.Delete = Odstranit -Toolbar.Email = Odešle vybrané položky e-mailem -Toolbar.Properties = Vlastnosti -Toolbar.NewFolder = Nová složka -Toolbar.ZipFolder = Nová komprimovaná složka (metoda ZIP) -Toolbar.ExtraLarge = Největší ikony -Toolbar.Large = Velké ikony -Toolbar.Medium = Střední ikony -Toolbar.Small = Malé ikony -Toolbar.List = Seznam -Toolbar.Details = Podrobnosti -Toolbar.Tiles = Dlaždice -Toolbar.Content = Obsah -Toolbar.Undo = Zpět -Toolbar.Redo = Znovu -Toolbar.Refresh = Aktualizovat -Toolbar.Back = Zpět -Toolbar.Forward = Vpřed -Toolbar.Stop = Zastavit -Toolbar.Rename = Přejmenovat -Toolbar.SelectAll = Vybrat vše -Toolbar.CustomizeFolder = Vlastní nastavení této složky -Toolbar.MapDrive = Připojit síťovou jednotku -Toolbar.DisconnectDrive = Odpojit síťovou jednotku -Toolbar.NavigationPane = Navigační podokno -Toolbar.DetailsPane = Podokno podrobností -Toolbar.PreviewPane = Podokno náhledu -Toolbar.CopyTo = Kopírovat do -Toolbar.MoveTo = Přesunout do -Toolbar.Deselect = Zrušit výběr -Toolbar.InvertSelection = Invertovat výběr -Toolbar.FolderOptions = Možnosti složky -Toolbar.ShowHiddenFiles = Skryté soubory a složky -Toolbar.ShowSystemFiles = Systémové soubory -Toolbar.ShowExtensions = Přípony názvů souborů -Status.FreeSpace = %s (volné místo na disku: %s) -Status.Item = %s položka -Status.Items = Počet položek: %s -Status.ItemSelected = %s vybraná položka -Status.ItemsSelected = Vybrané položky: %s - - -[da-DK] - Danish (Denmark) -Copy.Cancel = Annuller -Copy.More = Flere... -Copy.CopyHere = &Kopier hertil -Copy.MoveHere = &Flyt hertil -Copy.Title = Bekræft erstatning af fil -Copy.Subtitle = Denne mappe indeholder allerede en fil med navnet '%s'. -Copy.SubtitleRO = Denne mappe indeholder allerede en skrivebeskyttet fil med navnet '%s'. -Copy.SubtitleSys = Denne mappe indeholder allerede en systemfil med navnet '%s'. -Copy.Prompt1 = Vil du erstatte den eksisterende fil -Copy.Prompt2 = med denne fil? -Copy.Yes = &Ja -Copy.No = &Nej -Copy.YesAll = J&a til alle -Folder.Title = Bekræft erstatning af mappe -Folder.Prompt = Vil du flytte mappen alligevel? -Toolbar.GoUp = Et niveau op -Toolbar.Cut = Klip -Toolbar.Copy = Kopier -Toolbar.Paste = Sæt ind -Toolbar.PasteShortcut = Indsæt genvej -Toolbar.Delete = Slet -Toolbar.Email = Send de markerede elementer med e-mail -Toolbar.Properties = Egenskaber -Toolbar.NewFolder = Ny mappe -Toolbar.ZipFolder = Ny ZIP-komprimeret mappe -Toolbar.ExtraLarge = Ekstra store ikoner -Toolbar.Large = Store ikoner -Toolbar.Medium = Mellemstore ikoner -Toolbar.Small = Små ikoner -Toolbar.List = Oversigt -Toolbar.Details = Detaljer -Toolbar.Tiles = Fliser -Toolbar.Content = Indhold -Toolbar.Undo = Fortryd -Toolbar.Redo = Annuller Fortryd -Toolbar.Refresh = Opdater -Toolbar.Back = Tilbage -Toolbar.Forward = Fremad -Toolbar.Stop = Stop -Toolbar.Rename = Omdøb -Toolbar.SelectAll = Marker alt -Toolbar.CustomizeFolder = Tilpas denne mappe -Toolbar.MapDrive = Tilknyt netværksdrev -Toolbar.DisconnectDrive = Afbryd forbindelsen til et netværksdrev -Toolbar.NavigationPane = Navigationsrude -Toolbar.DetailsPane = Detaljerude -Toolbar.PreviewPane = Indholdsrude -Toolbar.CopyTo = Kopiér til -Toolbar.MoveTo = Flyt til -Toolbar.Deselect = Vælg ingen -Toolbar.InvertSelection = Inverter markeringen -Toolbar.FolderOptions = Mappeindstillinger -Toolbar.ShowHiddenFiles = Skjulte filer og mapper -Toolbar.ShowSystemFiles = Systemfiler -Toolbar.ShowExtensions = Filtypenavne -Status.FreeSpace = %s (ledig diskplads: %s) -Status.Item = %s element -Status.Items = %s elementer -Status.ItemSelected = %s markeret element -Status.ItemsSelected = %s markerede elementer - - -[de-DE] - German (Germany) -Copy.Cancel = Abbrechen -Copy.More = Weitere... -Copy.CopyHere = Hierher &kopieren -Copy.MoveHere = Hierher &verschieben -Copy.Title = Ersetzen von Dateien bestätigen -Copy.Subtitle = Dieser Ordner enthält bereits eine Datei "%s". -Copy.SubtitleRO = Der Ordner enthält bereits eine schreibgeschützte Datei "%s". -Copy.SubtitleSys = Der Ordner enthält bereits eine Systemdatei "%s". -Copy.Prompt1 = Möchten Sie die existierende Datei -Copy.Prompt2 = mit dieser ersetzen? -Copy.Yes = &Ja -Copy.No = &Nein -Copy.YesAll = Ja, &alle -Folder.Title = Ersetzen von Ordnern bestätigen -Folder.Prompt = Soll der Ordner trotzdem verschoben bzw. kopiert werden? -Toolbar.GoUp = Eine Ebene nach oben -Toolbar.Cut = Ausschneiden -Toolbar.Copy = Kopieren -Toolbar.Paste = Einfügen -Toolbar.PasteShortcut = Verknüpfung einfügen -Toolbar.Delete = Löschen -Toolbar.Email = Ausgewählte Elemente in E-Mail senden -Toolbar.Properties = Eigenschaften -Toolbar.NewFolder = Neuer Ordner -Toolbar.ZipFolder = Neuer ZIP-komprimierter Ordner -Toolbar.ExtraLarge = Extra große Symbole -Toolbar.Large = Große Symbole -Toolbar.Medium = Mittelgroße Symbole -Toolbar.Small = Kleine Symbole -Toolbar.List = Liste -Toolbar.Details = Details -Toolbar.Tiles = Kacheln -Toolbar.Content = Inhalt -Toolbar.Undo = Rückgängig -Toolbar.Redo = Wiederholen -Toolbar.Refresh = Aktualisieren -Toolbar.Back = Zurück -Toolbar.Forward = Vorwärts -Toolbar.Stop = Beenden -Toolbar.Rename = Umbenennen -Toolbar.SelectAll = Alles auswählen -Toolbar.CustomizeFolder = Ordner anpassen -Toolbar.MapDrive = Netzlaufwerk verbinden -Toolbar.DisconnectDrive = Netzlaufwerk trennen -Toolbar.NavigationPane = Navigationsbereich -Toolbar.DetailsPane = Detailbereich -Toolbar.PreviewPane = Vorschaufenster -Toolbar.CopyTo = Kopieren nach -Toolbar.MoveTo = Verschieben nach -Toolbar.Deselect = Nichts auswählen -Toolbar.InvertSelection = Auswahl umkehren -Toolbar.FolderOptions = Ordneroptionen -Toolbar.ShowHiddenFiles = Versteckte Dateien und Ordner -Toolbar.ShowSystemFiles = Systemdateien -Toolbar.ShowExtensions = Dateinamenerweiterungen -Status.FreeSpace = %s (Freier Speicherplatz: %s) -Status.Item = %s Element -Status.Items = %s Elemente -Status.ItemSelected = %s Element ausgewählt -Status.ItemsSelected = %s Elemente ausgewählt - - -[el-GR] - Greek (Greece) -Copy.Cancel = Άκυρο -Copy.More = Περισσότερα... -Copy.CopyHere = &Αντιγραφή εδώ -Copy.MoveHere = &Μετακίνηση εδώ -Copy.Title = Επιβεβαίωση αντικατάστασης αρχείου -Copy.Subtitle = Αυτός ο φάκελος περιέχει ήδη ένα αρχείο με όνομα "%s". -Copy.SubtitleRO = Αυτός ο φάκελος περιέχει ήδη ένα αρχείο μόνο για ανάγνωση με όνομα "%s". -Copy.SubtitleSys = Αυτός ο φάκελος περιέχει ήδη ένα αρχείο συστήματος με όνομα "%s". -Copy.Prompt1 = Θέλετε να αντικατασταθεί το υπάρχον αρχείο -Copy.Prompt2 = με αυτό το αρχείο; -Copy.Yes = &Ναι -Copy.No = Ό&χι -Copy.YesAll = Ναι σε ό&λα -Folder.Title = Επιβεβαίωση αντικατάστασης φακέλου -Folder.Prompt = Είστε βέβαιοι ότι θέλετε να μετακινηθεί ή να αντιγραφεί ο φάκελος; -Toolbar.GoUp = Ένα επίπεδο επάνω -Toolbar.Cut = Αποκοπή -Toolbar.Copy = Αντιγραφή -Toolbar.Paste = Επικόλληση -Toolbar.PasteShortcut = Επικόλληση συντόμευσης -Toolbar.Delete = Διαγραφή -Toolbar.Email = Ηλεκτρονική ταχυδρόμηση των επιλεγμένων αντικειμένων -Toolbar.Properties = Ιδιότητες -Toolbar.NewFolder = Νέος φάκελος -Toolbar.ZipFolder = Νέος συμπιεσμένος (μορφή zip) φάκελος -Toolbar.ExtraLarge = Πολύ μεγάλα εικονίδια -Toolbar.Large = Μεγάλα εικονίδια -Toolbar.Medium = Μεσαία εικονίδια -Toolbar.Small = Μικρά εικονίδια -Toolbar.List = Λίστα -Toolbar.Details = Λεπτομέρειες -Toolbar.Tiles = Τίτλοι -Toolbar.Content = Περιεχόμενο -Toolbar.Undo = Αναίρεση -Toolbar.Redo = Επανάληψη -Toolbar.Refresh = Ανανέωση -Toolbar.Back = Πίσω -Toolbar.Forward = Εμπρός -Toolbar.Stop = Τέλος -Toolbar.Rename = Μετονομασία -Toolbar.SelectAll = Επιλογή όλων -Toolbar.CustomizeFolder = Προσαρμογή φακέλου -Toolbar.MapDrive = Αντιστοίχιση δίσκου δικτύου -Toolbar.DisconnectDrive = Αποσύνδεση δίσκου δικτύου -Toolbar.NavigationPane = Παράθυρο περιήγησης -Toolbar.DetailsPane = Παράθυρο λεπτομερειών -Toolbar.PreviewPane = Παράθυρο προεπισκόπησης -Toolbar.CopyTo = Αντιγραφή σε -Toolbar.MoveTo = Μετακίνηση σε -Toolbar.Deselect = Καμία επιλογή -Toolbar.InvertSelection = Αναστροφή επιλογής -Toolbar.FolderOptions = Επιλογές φακέλων -Toolbar.ShowHiddenFiles = Κρυφά αρχεία και φάκελοι -Toolbar.ShowSystemFiles = Αρχεία συστήματος -Toolbar.ShowExtensions = Επεκτάσεις ονόματος αρχείων -Status.FreeSpace = %s (Ελεύθερος χώρος στο δίσκο: %s) -Status.Item = %s στοιχείο -Status.Items = %s στοιχεία -Status.ItemSelected = %s επιλεγμένο στοιχείο -Status.ItemsSelected = %s επιλεγμένα στοιχεία - - -[en-US] - English (United States) -Copy.Cancel = Cancel -Copy.More = More... -Copy.CopyHere = &Copy Here -Copy.MoveHere = &Move Here -Copy.Title = Confirm File Replacement -Copy.Subtitle = This folder already contains a file named '%s'. -Copy.SubtitleRO = This folder already contains a read-only file named '%s'. -Copy.SubtitleSys = This folder already contains a system file named '%s'. -Copy.Prompt1 = Would you like to replace the existing file -Copy.Prompt2 = with this one? -Copy.Yes = &Yes -Copy.No = &No -Copy.YesAll = Yes to &All -Folder.Title = Confirm Folder Replace -Folder.Prompt = Do you still want to move or copy the folder? -Toolbar.GoUp = Up One Level -Toolbar.Cut = Cut -Toolbar.Copy = Copy -Toolbar.Paste = Paste -Toolbar.PasteShortcut = Paste Shortcut -Toolbar.Delete = Delete -Toolbar.Email = E-mail the selected items -Toolbar.Properties = Properties -Toolbar.NewFolder = New Folder -Toolbar.ZipFolder = New Compressed (zipped) Folder -Toolbar.ExtraLarge = Extra Large Icons -Toolbar.Large = Large Icons -Toolbar.Medium = Medium Icons -Toolbar.Small = Small Icons -Toolbar.List = List -Toolbar.Details = Details -Toolbar.Tiles = Tiles -Toolbar.Content = Content -Toolbar.Undo = Undo -Toolbar.Redo = Redo -Toolbar.Refresh = Refresh -Toolbar.Back = Back -Toolbar.Forward = Forward -Toolbar.Stop = Stop -Toolbar.Rename = Rename -Toolbar.SelectAll = Select all -Toolbar.CustomizeFolder = Customize this folder -Toolbar.MapDrive = Map network drive -Toolbar.DisconnectDrive = Disconnect network drive -Toolbar.NavigationPane = Navigation pane -Toolbar.DetailsPane = Details pane -Toolbar.PreviewPane = Preview pane -Toolbar.CopyTo = Copy to -Toolbar.MoveTo = Move to -Toolbar.Deselect = Select none -Toolbar.InvertSelection = Invert selection -Toolbar.FolderOptions = Folder options -Toolbar.ShowHiddenFiles = Hidden files and folders -Toolbar.ShowSystemFiles = System files -Toolbar.ShowExtensions = File name extensions -Status.FreeSpace = %s (Disk free space: %s) -Status.Item = %s item -Status.Items = %s items -Status.ItemSelected = %s item selected -Status.ItemsSelected = %s items selected - - -[es-ES] - Spanish (Spain) -Copy.Cancel = Cancelar -Copy.More = Mas... -Copy.CopyHere = &Copiar aquí -Copy.MoveHere = &Mover aquí -Copy.Title = Confirmar el reemplazo de archivo -Copy.Subtitle = Esta carpeta ya contiene un archivo con el nombre "%s". -Copy.SubtitleRO = Esta carpeta ya contiene un archivo de sólo lectura con el nombre "%s". -Copy.SubtitleSys = Esta carpeta ya contiene un archivo de sistema con el nombre "%s". -Copy.Prompt1 = ¿Desea reemplazar el archivo existente -Copy.Prompt2 = por este otro? -Copy.Yes = &Sí -Copy.No = &No -Copy.YesAll = Sí a &todo -Folder.Title = Confirmar el reemplazo de carpetas -Folder.Prompt = ¿Desea mover o copiar la carpeta de todas formas? -Toolbar.GoUp = Subir un nivel -Toolbar.Cut = Cortar -Toolbar.Copy = Copiar -Toolbar.Paste = Pegar -Toolbar.PasteShortcut = Pegar acceso directo -Toolbar.Delete = Eliminar -Toolbar.Email = Enviar por correo electrónico los elementos siguientes -Toolbar.Properties = Propiedades -Toolbar.NewFolder = Nueva carpeta -Toolbar.ZipFolder = Nueva carpeta comprimida (en zip) -Toolbar.ExtraLarge = Iconos muy grandes -Toolbar.Large = Iconos grandes -Toolbar.Medium = Iconos medianos -Toolbar.Small = Iconos pequeños -Toolbar.List = Lista -Toolbar.Details = Detalles -Toolbar.Tiles = Mosaicos -Toolbar.Content = Contenido -Toolbar.Undo = Deshacer -Toolbar.Redo = Rehacer -Toolbar.Refresh = Actualizar -Toolbar.Back = Atrás -Toolbar.Forward = Adelante -Toolbar.Stop = Detener -Toolbar.Rename = Cambiar nombre -Toolbar.SelectAll = Seleccionar todo -Toolbar.CustomizeFolder = Personalizar esta carpeta -Toolbar.MapDrive = Conectar a unidad de red -Toolbar.DisconnectDrive = Desconectar unidad de red -Toolbar.NavigationPane = Panel de navegación -Toolbar.DetailsPane = Panel de detalles -Toolbar.PreviewPane = Panel de vista previa -Toolbar.CopyTo = Copiar a -Toolbar.MoveTo = Mover a -Toolbar.Deselect = No seleccionar ninguno -Toolbar.InvertSelection = Invertir selección -Toolbar.FolderOptions = Opciones de carpeta -Toolbar.ShowHiddenFiles = Archivos y carpetas ocultos -Toolbar.ShowSystemFiles = Archivos de sistema -Toolbar.ShowExtensions = Extensiones de nombre de archivo -Status.FreeSpace = %s (espacio disponible en disco: %s) -Status.Item = %s elemento -Status.Items = %s elementos -Status.ItemSelected = %s elemento seleccionado -Status.ItemsSelected = %s elementos seleccionados - - -[et-EE] - Estonian (Estonia) -Copy.Cancel = Loobu -Copy.More = Veel... -Copy.CopyHere = &Kopeeri siia -Copy.MoveHere = &Teisalda siia -Copy.Title = Kinnitage failiasendus -Copy.Subtitle = See kaust sisaldab juba faili nimega %s. -Copy.SubtitleRO = See kaust sisaldab juba kirjutuskaitstud faili nimega %s. -Copy.SubtitleSys = See kaust sisaldab juba süsteemifaili nimega %s. -Copy.Prompt1 = Kas soovite asendada olemasoleva faili -Copy.Prompt2 = sellega? -Copy.Yes = &Jah -Copy.No = &Ei -Copy.YesAll = &Kõigile jah -Folder.Title = Kinnitage kausta asendamine -Folder.Prompt = Kas soovite kausta ikkagi teisaldada või kopeerida? -Toolbar.GoUp = Taseme võrra üles -Toolbar.Cut = Lõika -Toolbar.Copy = Kopeeri -Toolbar.Paste = Kleebi -Toolbar.PasteShortcut = Kleebi otsetee -Toolbar.Delete = Kustuta -Toolbar.Email = Saada valitud üksused e-postiga -Toolbar.Properties = Atribuudid -Toolbar.NewFolder = Uus kaust -Toolbar.ZipFolder = Uus tihendatud (zip) kaust -Toolbar.ExtraLarge = Eriti suured ikoonid -Toolbar.Large = Suured ikoonid -Toolbar.Medium = Keskmise suurusega ikoonid -Toolbar.Small = Väikesed ikoonid -Toolbar.List = Loend -Toolbar.Details = Üksikasjad -Toolbar.Tiles = Paanid -Toolbar.Content = Sisu -Toolbar.Undo = Võta tagasi -Toolbar.Redo = Tee uuesti -Toolbar.Refresh = Värskenda -Toolbar.Back = Tagasi -Toolbar.Forward = Edasi -Toolbar.Stop = Lõpeta -Toolbar.Rename = Nimeta ümber -Toolbar.SelectAll = Vali kõik -Toolbar.CustomizeFolder = Kohanda seda kausta -Toolbar.MapDrive = Ühenda võrgudraiv -Toolbar.DisconnectDrive = Katkesta võrgudraivi ühendus -Toolbar.NavigationPane = Navigeerimispaan -Toolbar.DetailsPane = Üksikasjapaan -Toolbar.PreviewPane = Eelvaatepaan -Toolbar.CopyTo = Kopeeri asukohta -Toolbar.MoveTo = Teisalda asukohta -Toolbar.Deselect = Ära vali midagi -Toolbar.InvertSelection = Pööra valik -Toolbar.FolderOptions = Kaustasuvandid -Toolbar.ShowHiddenFiles = Peitfailid ja -kaustad -Toolbar.ShowSystemFiles = Süsteemifailid -Toolbar.ShowExtensions = Failinimede laiendid -Status.FreeSpace = %s (vaba kettaruumi: %s) -Status.Item = %s üksus -Status.Items = %s üksust -Status.ItemSelected = Valitud on %s üksus -Status.ItemsSelected = Valitud on %s üksust - - -[fa-IR] - Persian -Copy.Cancel = لغو -Copy.More = بیشتر... -Copy.CopyHere = &کپی به اینجا -Copy.MoveHere = &انتقال به اینجا -Copy.Title = تأیید جایگزینی پرونده -Copy.Subtitle = ‏‏در حال حاضر این پوشه حاوی پرونده‌ای به نام "%s" است. -Copy.SubtitleRO = ‏‏در حال حاضر این پوشه حاوی پرونده‌ای فقط خواندنی به نام "%s" است. -Copy.SubtitleSys = ‏‏در حال حاضر این پوشه حاوی پرونده‌ای سیستمی به نام "%s" است. -Copy.Prompt1 = آیا می‌خواهید پرونده‌ی موجود را جایگزین کنید -Copy.Prompt2 = با این یکی؟ -Copy.Yes = &بله -Copy.No = &خیر -Copy.YesAll = بله برای &همه -Folder.Title = تأیید جایگزینی پوشه -Folder.Prompt = آیا هنوز می‌خواهید پوشه را کپی یا منتقل کنید؟ -Toolbar.GoUp = یک سطح بالاتر -Toolbar.Cut = برش -Toolbar.Copy = کپی -Toolbar.Paste = جایگذاری -Toolbar.PasteShortcut = جایگذاری میانبر -Toolbar.Delete = حذف -Toolbar.Email = مورد انتخابی را با پست الکترونیکی بفرستید -Toolbar.Properties = خصوصیات -Toolbar.NewFolder = پوشه جدید -Toolbar.ZipFolder = پوشه فشرده ‏(زیپ شده)‏ جدید‫ -Toolbar.ExtraLarge = نمادهای خیلی بزرگ -Toolbar.Large = نمادهای بزرگ -Toolbar.Medium = نمادهای متوسط -Toolbar.Small = نمادهای کوچک -Toolbar.List = لیست -Toolbar.Details = جزئیات -Toolbar.Tiles = موزائیک‌ها -Toolbar.Content = محتوا -Toolbar.Undo = لغو عمل -Toolbar.Redo = انجام مجدد -Toolbar.Refresh = تازه‌کردن -Toolbar.Back = عقب -Toolbar.Forward = جلو -Toolbar.Stop = توقف -Toolbar.Rename = تغییر نام -Toolbar.SelectAll = انتخاب همه -Toolbar.CustomizeFolder = سفارشی کردن این پوشه -Toolbar.MapDrive = نگاشت درایو شبکه -Toolbar.DisconnectDrive = قطع اتصال درایو شبکه -Toolbar.NavigationPane = چارچوب پیمایش -Toolbar.DetailsPane = چارچوب جزئیات -Toolbar.PreviewPane = چارچوب پیش‌نمایش -Toolbar.CopyTo = ‏‏کپی در -Toolbar.MoveTo = انتقال به -Toolbar.Deselect = هیچکدام انتخاب نشود -Toolbar.InvertSelection = معکوس کردن انتخاب -Toolbar.FolderOptions = گزینه های پوشه -Toolbar.ShowHiddenFiles = پرونده و پوشه های پنهان -Toolbar.ShowSystemFiles = پرونده های سیستم -Toolbar.ShowExtensions = پسوندهای نام پرونده ها -Toolbar.Settings = تنظیمات کاوشگر کلاسیک -Status.FreeSpace = %s (فضای خالی دیسک: %s) -Status.Item = %s مورد -Status.Items = %s مورد -Status.ItemSelected = %s مورد انتخاب شده -Status.ItemsSelected = %s مورد انتخاب شده - - -[fi-FI] - Finnish (Finland) -Copy.Cancel = Peruuta -Copy.More = Lisää... -Copy.CopyHere = &Kopioi tähän -Copy.MoveHere = &Siirrä tähän -Copy.Title = Vahvista tiedoston korvaus -Copy.Subtitle = Tämä kansio sisältää jo tiedoston %s. -Copy.SubtitleRO = Tämä kansio sisältää jo vain luku -tiedoston %s. -Copy.SubtitleSys = Tämä kansio sisältää jo järjestelmätiedoston %s. -Copy.Prompt1 = Haluatko korvata tiedoston -Copy.Prompt2 = tällä tiedostolla? -Copy.Yes = &Kyllä -Copy.No = &Ei -Copy.YesAll = Kyllä k&aikkiin -Folder.Title = Vahvista kansion korvaus -Folder.Prompt = Haluatko korvata järjestelmässä jo olevan kansion tiedostot siirrettävän tai kopioitavan kansion samannimisillä tiedostoilla? -Toolbar.GoUp = Yksi taso ylöspäin -Toolbar.Cut = Leikkaa -Toolbar.Copy = Kopioi -Toolbar.Paste = Liitä -Toolbar.PasteShortcut = Liitä pikakuvake -Toolbar.Delete = Poista -Toolbar.Email = Lähetä valitut kohteet sähköpostilla -Toolbar.Properties = Ominaisuudet -Toolbar.NewFolder = Uusi kansio -Toolbar.ZipFolder = Uusi pakattu (zip) kansio -Toolbar.ExtraLarge = Suurimmat kuvakkeet -Toolbar.Large = Suuret kuvakkeet -Toolbar.Medium = Keskikokoiset kuvakkeet -Toolbar.Small = Pienet kuvakkeet -Toolbar.List = Luettelo -Toolbar.Details = Tiedot -Toolbar.Tiles = Kuvakkeet ja tiedot -Toolbar.Content = Sisältö -Toolbar.Undo = Kumoa -Toolbar.Redo = Tee uudelleen -Toolbar.Refresh = Päivitä -Toolbar.Back = Edellinen -Toolbar.Forward = Seuraava -Toolbar.Stop = Pysäytä -Toolbar.Rename = Nimeä uudelleen -Toolbar.SelectAll = Valitse kaikki -Toolbar.CustomizeFolder = Mukauta kansiota -Toolbar.MapDrive = Yhdistä verkkoasemaan -Toolbar.DisconnectDrive = Katkaise yhteys verkkoasemaan -Toolbar.NavigationPane = Siirtymisruutu -Toolbar.DetailsPane = Tiedot-ruutu -Toolbar.PreviewPane = Esikatseluruutu -Toolbar.CopyTo = Kopioi kohteeseen -Toolbar.MoveTo = Siirrä kohteeseen -Toolbar.Deselect = Poista valinnat -Toolbar.InvertSelection = Käänteinen valinta -Toolbar.FolderOptions = Kansion asetukset -Toolbar.ShowHiddenFiles = Piilotetut tiedostot ja kansiot -Toolbar.ShowSystemFiles = Järjestelmätiedostot -Toolbar.ShowExtensions = Tiedostotunnisteet -Status.FreeSpace = %s (levyn vapaa tila: %s) -Status.Item = %s kohde -Status.Items = %s kohdetta -Status.ItemSelected = %s kohde valittu -Status.ItemsSelected = %s kohdetta valittu - - -[fr-FR] - French (France) -Copy.Cancel = Annuler -Copy.More = Autres… -Copy.CopyHere = &Copier ici -Copy.MoveHere = &Déplacer ici -Copy.Title = Confirmer le remplacement du fichier -Copy.Subtitle = Ce dossier contient déjà un fichier nommé « %s ». -Copy.SubtitleRO = Ce dossier contient déjà un fichier en lecture seule nommé « %s ». -Copy.SubtitleSys = Ce dossier contient déjà un fichier système nommé « %s ». -Copy.Prompt1 = Faut-il remplacer le fichier existant -Copy.Prompt2 = par celui-ci ? -Copy.Yes = &Oui -Copy.No = &Non -Copy.YesAll = &Tous -Folder.Title = Confirmation du remplacement du dossier -Folder.Prompt = Faut-il vraiment déplacer ou copier le dossier ? -Toolbar.GoUp = Dossier parent -Toolbar.Cut = Couper -Toolbar.Copy = Copier -Toolbar.Paste = Coller -Toolbar.PasteShortcut = Coller le raccourci -Toolbar.Delete = Supprimer -Toolbar.Email = Envoyer les éléments sélectionnés par courrier électronique -Toolbar.Properties = Propriétés -Toolbar.NewFolder = Nouveau dossier -Toolbar.ZipFolder = Nouveau dossier compressé -Toolbar.ExtraLarge = Très grandes icônes -Toolbar.Large = Grandes icônes -Toolbar.Medium = Icônes moyennes -Toolbar.Small = Petites icônes -Toolbar.List = Liste -Toolbar.Details = Détails -Toolbar.Tiles = Mosaïques -Toolbar.Content = Contenu -Toolbar.Undo = Annuler -Toolbar.Redo = Rétablir -Toolbar.Refresh = Actualiser -Toolbar.Back = Précédent -Toolbar.Forward = Suivant -Toolbar.Stop = Arrêter -Toolbar.Rename = Renommer -Toolbar.SelectAll = Sélectionner tout -Toolbar.CustomizeFolder = Personnaliser ce dossier -Toolbar.MapDrive = Connecter un lecteur réseau -Toolbar.DisconnectDrive = Déconnecter un lecteur réseau -Toolbar.NavigationPane = Volet de navigation -Toolbar.DetailsPane = Volet des détails -Toolbar.PreviewPane = Volet de visualisation -Toolbar.CopyTo = Copier vers -Toolbar.MoveTo = Déplacer vers -Toolbar.Deselect = Aucun -Toolbar.InvertSelection = Inverser la sélection -Toolbar.FolderOptions = Options des dossiers -Toolbar.ShowHiddenFiles = Fichiers et dossiers cachés -Toolbar.ShowSystemFiles = Fichiers système -Toolbar.ShowExtensions = Extensions de noms de fichiers -Status.FreeSpace = %s (espace libre : %s) -Status.Item = %s élément -Status.Items = %s éléments -Status.ItemSelected = %s élément sélectionné -Status.ItemsSelected = %s éléments sélectionnés - - -[gd-GB] - Scottish Gaelic (United Kingdom) -Copy.Cancel = Sguir dheth -Copy.More = Barrachd... -Copy.CopyHere = &Cuir an lethbhreac an-seo -Copy.MoveHere = &Gluais an-seo -Copy.Title = Dearbh an cur an àite -Copy.Subtitle = Tha faidhle air a bheil "%s" sa phasgan seo mu thràth. -Copy.SubtitleRO = Tha faidhle air a bheil "%s" sa phasgan seo mu thràth a tha ri leughadh a-mhàin. -Copy.SubtitleSys = Tha faidhle siostaim air a bheil "%s" sa phasgan seo mu thràth. -Copy.Prompt1 = A bheil thu airson am faidhle seo a chur -Copy.Prompt2 = an àite an fhir làithrich? -Copy.Yes = &Tha -Copy.No = &Chan eil -Copy.YesAll = Th&a ris a h-uile -Folder.Title = Dearbh an cur an àite -Folder.Prompt = A bheil thu airson am pasgan a ghluasad fhathast no airson lethbhreac a dhèanamh dheth? -Toolbar.GoUp = Suas aon ìre -Toolbar.Cut = Gearr -Toolbar.Copy = Dàn lethbhreac -Toolbar.Paste = Cuir ann -Toolbar.PasteShortcut = Cuir ann an ath-ghoirid -Toolbar.Delete = Sguab às -Toolbar.Email = Cuir na thagh thu ann am post-d -Toolbar.Properties = Roghainnean -Toolbar.NewFolder = Pasgan ùr -Toolbar.ZipFolder = Pasgan dùmhlaichte (air a shiopadh) ùr -Toolbar.ExtraLarge = Ìomhaigheagan anabarrach mòr -Toolbar.Large = Ìomhaigheagan mòra -Toolbar.Medium = Ìomhaigheagan meadhanach -Toolbar.Small = Ìomhaigheagan beaga -Toolbar.List = Liosta -Toolbar.Details = Mion-fhiosrachadh -Toolbar.Tiles = Leacagan -Toolbar.Content = Susbaint -Toolbar.Undo = Neo-dhèan -Toolbar.Redo = Ath-dhèan -Toolbar.Refresh = Ath-nuadhaich -Toolbar.Back = Air ais -Toolbar.Forward = Air adhart -Toolbar.Stop = Sguir dheth -Toolbar.Rename = Thoir ainm eile air -Toolbar.SelectAll = Tagh na h-uile -Toolbar.CustomizeFolder = Gnàthaich am pasgan seo -Toolbar.MapDrive = Mapaich draibh an lìonraidh -Toolbar.DisconnectDrive = Dì-cheangail draibh an lìonraidh -Toolbar.NavigationPane = Leòsan na seòladaireachd -Toolbar.DetailsPane = Leòsan a' mhion-fhiosrachaidh -Toolbar.PreviewPane = Leòsan an ro-sheallaidh -Toolbar.CopyTo = Cuir lethbhreac gu -Toolbar.MoveTo = Gluais gu -Toolbar.Deselect = Na tagh gin -Toolbar.InvertSelection = Ais-thionndaidh an taghadh -Toolbar.FolderOptions = Roghainnean a' phasgain -Toolbar.ShowHiddenFiles = Faidhlichean is pasgain fhalaichte -Toolbar.ShowSystemFiles = Faidhlichean an t-siostaim -Toolbar.ShowExtensions = Leudachain ainmean nam faidhle -Status.FreeSpace = %s (Àire saor air an diosga: %s) -Status.Item = %s nì -Status.Items = %s nithean -Status.ItemSelected = %s nì air a thaghadh -Status.ItemsSelected = %s nithean air a thaghadh - - -[he-IL] - Hebrew (Israel) -Copy.Cancel = ביטול -Copy.More = עוד... -Copy.CopyHere = הע&תק לכאן -Copy.MoveHere = הע&בר לכאן -Copy.Title = אישור החלפת קובץ -Copy.Subtitle = תיקיה זו מכילה כבר קובץ בשם '‎‎%s‎‏'‏.‏ -Copy.SubtitleRO = תיקיה זו מכילה כבר קובץ המוגדר לקריאה בלבד בשם '‎‎%s‎‏'.‏ -Copy.SubtitleSys = תיקיה זו מכילה כבר קובץ מערכת בשם '‎‎%s‎'‏.‏ -Copy.Prompt1 = ‏‏האם ברצונך להחליף את הקובץ הקיים -Copy.Prompt2 = בקובץ זה? -Copy.Yes = &כן -Copy.No = &לא -Copy.YesAll = כ&ן לכל -Folder.Title = אישור החלפת תיקיה -Folder.Prompt = האם ברצונך להעביר או להעתיק את התיקיה בכל זאת? -Toolbar.GoUp = רמה אחת למעלה -Toolbar.Cut = גזור -Toolbar.Copy = העתק -Toolbar.Paste = הדבק -Toolbar.PasteShortcut = הדבק קיצור דרך -Toolbar.Delete = מחק -Toolbar.Email = שלח את הפריטים הנבחרים בדואר אלקטרוני -Toolbar.Properties = מאפיינים -Toolbar.NewFolder = תיקיה חדשה -Toolbar.ZipFolder = ‫תיקיה ‫דחוסה ‫(מכווצת) ‫חדשה -Toolbar.ExtraLarge = סמלים גדולים מאוד -Toolbar.Large = סמלים גדולים -Toolbar.Medium = סמלים בינוניים -Toolbar.Small = סמלים קטנים -Toolbar.List = רשימה -Toolbar.Details = פרטים -Toolbar.Tiles = משבצות -Toolbar.Content = תוכן -Toolbar.Undo = בטל -Toolbar.Redo = בצע שוב -Toolbar.Refresh = רענן -Toolbar.Back = אחורה -Toolbar.Forward = קדימה -Toolbar.Stop = עצור -Toolbar.Rename = שינוי שם -Toolbar.SelectAll = בחר הכל -Toolbar.CustomizeFolder = התאמה אישית של תיקיה זו -Toolbar.MapDrive = מיפוי כונן רשת -Toolbar.DisconnectDrive = ניתוק כונן רשת -Toolbar.NavigationPane = חלונית ניווט -Toolbar.DetailsPane = חלונית פרטים -Toolbar.PreviewPane = חלונית תצוגה מקדימה -Toolbar.CopyTo = העתק אל -Toolbar.MoveTo = העבר אל -Toolbar.Deselect = אל תבחר -Toolbar.InvertSelection = הפוך בחירה -Toolbar.FolderOptions = אפשרויות תיקיה -Toolbar.ShowHiddenFiles = קבצים ותיקיות מוסתרים -Toolbar.ShowSystemFiles = קבצי מערכת -Toolbar.ShowExtensions = סיומות שמות קבצים -Status.FreeSpace = %s (שטח פנוי בדיסק: %s) -Status.Item = ‏‏%s פריט -Status.Items = %s פריטים -Status.ItemSelected = פריט %s נבחר -Status.ItemsSelected = %s פריטים נבחרו - - -[hr-HR] - Croatian (Croatia) -Copy.DoForAll = Učini to za sljedećih -Copy.Cancel = Odustani -Copy.More = Više... -Copy.CopyHere = &Kopiraj ovdje -Copy.MoveHere = Pr&emjesti ovdje -Copy.Title = Potvrda zamjene datoteke -Copy.Subtitle = Ova mapa već sadrži datoteku naziva '%s'. -Copy.SubtitleRO = Ova mapa već sadrži datoteku samo za čitanje, nazvanu '%s'. -Copy.SubtitleSys = Ova mapa već sadrži sistemsku datoteku, nazvanu '%s'. -Copy.Prompt1 = Želite li zamijeniti postojeću datoteku -Copy.Prompt2 = s ovom? -Copy.Yes = &Da -Copy.No = &Ne -Copy.YesAll = Da za &sve -Folder.Title = Potvrda zamjene mape -Folder.Prompt = Želite li još uvijek premjestiti ili kopirati mapu? -Toolbar.GoUp = Jednu razinu gore -Toolbar.Cut = Izreži -Toolbar.Copy = Kopiraj -Toolbar.Paste = Zalijepi -Toolbar.PasteShortcut = Zalijepi prečac -Toolbar.Delete = Izbriši -Toolbar.Email = Odabrane stavke pošalji e-poštom -Toolbar.Properties = Svojstva -Toolbar.NewFolder = Nova mapa -Toolbar.ZipFolder = Nova komprimirana (zipana) mapa -Toolbar.ExtraLarge = Vrlo velike ikone -Toolbar.Large = Velike ikone -Toolbar.Medium = Srednje ikone -Toolbar.Small = Male ikone -Toolbar.List = Popis -Toolbar.Details = Detalji -Toolbar.Tiles = Pločice -Toolbar.Content = Sadržaj -Toolbar.Undo = Poništi -Toolbar.Redo = Ponovi -Toolbar.Refresh = Osvježi -Toolbar.Back = Natrag -Toolbar.Forward = Naprijed -Toolbar.Stop = Prekini -Toolbar.Rename = Preimenuj -Toolbar.SelectAll = Odaberi sve -Toolbar.CustomizeFolder = Prilagodi ovu mapu -Toolbar.MapDrive = Mapiranje mrežnog pogona -Toolbar.DisconnectDrive = Prekid veze s mrežnim pogonom -Toolbar.NavigationPane = Navigacijsko okno -Toolbar.DetailsPane = Okno s detaljima -Toolbar.PreviewPane = Okno pretpregleda -Toolbar.CopyTo = Kopiraj u -Toolbar.MoveTo = Premjesti u -Toolbar.Deselect = Bez odabira -Toolbar.InvertSelection = Obrni odabir -Toolbar.FolderOptions = Mogućnosti mapa -Toolbar.ShowHiddenFiles = Skrivene datoteke i mape -Toolbar.ShowSystemFiles = Sistemske datoteke -Toolbar.ShowExtensions = Datotečni nastavci -Status.FreeSpace = %s (slobodan prostor na disku: %s) -Status.Item = %s stavka -Status.Items = Broj stavki: %s -Status.ItemSelected = Odabrano stavki: %s -Status.ItemsSelected = Odabrano stavki: %s - - -[hu-HU] - Hungarian (Hungary) -Copy.Cancel = Mégse -Copy.More = Egyebek... -Copy.CopyHere = Más&olás ide -Copy.MoveHere = Át&helyezés ide -Copy.Title = Fájlcsere megerősítése -Copy.Subtitle = A mappa már tartalmaz egy '%s' nevű fájlt. -Copy.SubtitleRO = Ez a mappa már tartalmaz egy '%s' nevű írásvédett fájlt. -Copy.SubtitleSys = Ez a mappa már tartalmaz egy '%s' nevű rendszerfájlt. -Copy.Prompt1 = Kicseréli a létező fájlt -Copy.Prompt2 = ezzel? -Copy.Yes = &Igen -Copy.No = &Nem -Copy.YesAll = Igen, &mindet -Folder.Title = Mappacsere megerősítése -Folder.Prompt = Folytatja a műveletet? -Toolbar.GoUp = Egy szinttel feljebb -Toolbar.Cut = Kivágás -Toolbar.Copy = Másolás -Toolbar.Paste = Beillesztés -Toolbar.PasteShortcut = Parancsikon beillesztése -Toolbar.Delete = Törlés -Toolbar.Email = A kijelölt elemek elküldése e-mailben -Toolbar.Properties = Tulajdonságok -Toolbar.NewFolder = Új mappa -Toolbar.ZipFolder = Új tömörített mappa -Toolbar.ExtraLarge = Extra nagy ikonok -Toolbar.Large = Nagy ikonok -Toolbar.Medium = Közepes ikonok -Toolbar.Small = Kis ikonok -Toolbar.List = Lista -Toolbar.Details = Részletek -Toolbar.Tiles = Mozaik -Toolbar.Content = Tartalom -Toolbar.Undo = Visszavonás -Toolbar.Redo = Mégis -Toolbar.Refresh = Frissítés -Toolbar.Back = Vissza -Toolbar.Forward = Előre -Toolbar.Stop = Leállítás -Toolbar.Rename = Átnevezés -Toolbar.SelectAll = Az összes kijelölése -Toolbar.CustomizeFolder = Mappa testreszabása -Toolbar.MapDrive = Hálózati meghajtó csatlakoztatása -Toolbar.DisconnectDrive = Hálózati meghajtó leválasztása -Toolbar.NavigationPane = Navigációs ablak -Toolbar.DetailsPane = Részletek ablaktábla -Toolbar.PreviewPane = Betekintő ablaktábla -Toolbar.CopyTo = Másolási cél -Toolbar.MoveTo = Áthelyezési cél -Toolbar.Deselect = Kijelölés megszüntetése -Toolbar.InvertSelection = Kijelölés megfordítása -Toolbar.FolderOptions = Mappa beállításai -Toolbar.ShowHiddenFiles = Rejtett fájlok és mappák -Toolbar.ShowSystemFiles = Rendszerfájlok -Toolbar.ShowExtensions = Fájlnévkiterjesztések -Status.FreeSpace = %s (szabad lemezterület: %s) -Status.Item = %s elem -Status.Items = %s elem -Status.ItemSelected = %s kijelölt elem -Status.ItemsSelected = %s kijelölt elem - - -[is-IS] - Icelandic (Iceland) -Toolbar.Settings = Classic Explorer stillingar -Copy.Cancel = Hætta við -Copy.More = Meira... -Copy.CopyHere = &Afrita hingað -Copy.MoveHere = &Færa hingað -Copy.Title = Skipta út skrá -Copy.Subtitle = Endastaðurinn inniheldur þegar skrá með heitinu '%s'. -Copy.SubtitleRO = Endastaðurinn inniheldur þegar skrifvarða skrá með heitinu '%s'. -Copy.SubtitleSys = Endastaðurinn inniheldur þegar stýrikerfisskrá með heitinu '%s'. -Copy.Prompt1 = Viltu skipta út skránni á endastaðnum -Copy.Prompt2 = fyrir þessa skrá? -Copy.Yes = &Já -Copy.No = &Nei -Copy.YesAll = Já við &öllu -Folder.Title = Skipta út möppu -Folder.Prompt = Ertu viss um að þú viljir færa eða afrita möppuna? -Toolbar.GoUp = Upp um eitt þrep -Toolbar.Cut = Klippa -Toolbar.Copy = Afrita -Toolbar.Paste = Líma -Toolbar.PasteShortcut = Líma flýtileið -Toolbar.Delete = Eyða -Toolbar.Email = Senda valin atriði með tölvupósti -Toolbar.Properties = Eiginleikar -Toolbar.NewFolder = Ný mappa -Toolbar.ZipFolder = Ný þjöppuð (zip-þjöppuð) mappa -Toolbar.ExtraLarge = Mjög stór tákn -Toolbar.Large = Stór tákn -Toolbar.Medium = Meðalstór tákn -Toolbar.Small = Lítil tákn -Toolbar.List = Listi -Toolbar.Details = Upplýsingar -Toolbar.Tiles = Reitir -Toolbar.Content = Efni -Toolbar.Undo = Afturkalla -Toolbar.Redo = Endurgera -Toolbar.Refresh = Endurhlaða -Toolbar.Back = Til baka -Toolbar.Forward = Áfram -Toolbar.Stop = Stöðva -Toolbar.Rename = Endurnefna -Toolbar.SelectAll = Velja allt -Toolbar.CustomizeFolder = Sérstilla þessa möppu -Toolbar.MapDrive = Tengja netdrif -Toolbar.DisconnectDrive = Aftengja netdrif -Toolbar.NavigationPane = Yfirlitssvæði -Toolbar.DetailsPane = Upplýsingasvæði -Toolbar.PreviewPane = Forskoðunarsvæði -Toolbar.CopyTo = Afrita til -Toolbar.MoveTo = Færa til -Toolbar.Deselect = Velja ekkert -Toolbar.InvertSelection = Umsnúa vali -Toolbar.FolderOptions = Möppuvalkostir -Toolbar.ShowHiddenFiles = Faldar skrár og möppur -Toolbar.ShowSystemFiles = Kerfisskrár -Toolbar.ShowExtensions = Skráarendingar -Status.FreeSpace = %s (laust pláss: %s) -Status.Item = %s atriði -Status.Items = %s atriði -Status.ItemSelected = %s atriði valin -Status.ItemsSelected = %s atriði valin - - -[it-IT] - Italian (Italy) -Copy.Cancel = Annulla -Copy.More = Altro... -Copy.CopyHere = &Copia qui -Copy.MoveHere = &Sposta qui -Copy.Title = Conferma sostituzione file -Copy.Subtitle = La cartella contiene già un file di nome "%s". -Copy.SubtitleRO = La cartella contiene già un file di sola lettura di nome "%s". -Copy.SubtitleSys = La cartella contiene già un file di sistema di nome "%s". -Copy.Prompt1 = Sostituire il file esistente -Copy.Prompt2 = con questo file? -Copy.Yes = &Sì -Copy.No = &No -Copy.YesAll = Sì t&utti -Folder.Title = Conferma sostituzione cartella -Folder.Prompt = Continuare? -Toolbar.GoUp = Livello superiore -Toolbar.Cut = Taglia -Toolbar.Copy = Copia -Toolbar.Paste = Incolla -Toolbar.PasteShortcut = Incolla collegamento -Toolbar.Delete = Elimina -Toolbar.Email = Invia per posta elettronica gli elementi selezionati -Toolbar.Properties = Proprietà -Toolbar.NewFolder = Nuova cartella -Toolbar.ZipFolder = Nuova cartella compressa -Toolbar.ExtraLarge = Icone molto grandi -Toolbar.Large = Icone grandi -Toolbar.Medium = Icone medie -Toolbar.Small = Icone piccole -Toolbar.List = Elenco -Toolbar.Details = Dettagli -Toolbar.Tiles = Titoli -Toolbar.Content = Contenuto -Toolbar.Undo = Annulla -Toolbar.Redo = Ripeti -Toolbar.Refresh = Aggiorna -Toolbar.Back = Indietro -Toolbar.Forward = Avanti -Toolbar.Stop = Termina -Toolbar.Rename = Rinomina -Toolbar.SelectAll = Seleziona tutto -Toolbar.CustomizeFolder = Personalizza cartella -Toolbar.MapDrive = Connetti unità di rete -Toolbar.DisconnectDrive = Disconnetti unità di rete -Toolbar.NavigationPane = Riquadro di spostamento -Toolbar.DetailsPane = Riquadro dettagli -Toolbar.PreviewPane = Riquadro di anteprima -Toolbar.CopyTo = Copia in -Toolbar.MoveTo = Sposta in -Toolbar.Deselect = Deseleziona tutto -Toolbar.InvertSelection = Inverti selezione -Toolbar.FolderOptions = Opzioni cartella -Toolbar.ShowHiddenFiles = Cartelle e file nascosti -Toolbar.ShowSystemFiles = File di sistema -Toolbar.ShowExtensions = Estensioni nomi file -Status.FreeSpace = %s (Spazio disponibile: %s) -Status.Item = %s elemento -Status.Items = Elementi: %s -Status.ItemSelected = %s elemento selezionato -Status.ItemsSelected = %s elementi selezionati - - -[ja-JP] - Japanese (Japan) -Copy.Cancel = キャンセル -Copy.More = その他... -Copy.CopyHere = ここにコピー(&C) -Copy.MoveHere = ここに移動(&M) -Copy.Title = ファイルの上書きの確認 -Copy.Subtitle = このフォルダーには既に '%s' ファイルが存在します。 -Copy.SubtitleRO = このフォルダーには既に読み取り専用ファイル '%s' が含まれています。 -Copy.SubtitleSys = このフォルダーには既にシステム ファイル '%s' が含まれています。 -Copy.Prompt1 = 現在のファイル -Copy.Prompt2 = を次の新しいファイルで置き換えますか? -Copy.Yes = はい(&Y) -Copy.No = いいえ(&N) -Copy.YesAll = すべて上書き(&A) -Folder.Title = フォルダーの上書きの確認 -Folder.Prompt = フォルダーを移動またはコピーしますか? -Toolbar.GoUp = 1 つ上のフォルダーへ -Toolbar.Cut = 切り取り -Toolbar.Copy = コピー -Toolbar.Paste = 貼り付け -Toolbar.PasteShortcut = ショートカットの貼り付け -Toolbar.Delete = 削除 -Toolbar.Email = 選択した項目を電子メールで送信する -Toolbar.Properties = プロパティ -Toolbar.NewFolder = 新しいフォルダー -Toolbar.ZipFolder = 新しい圧縮された (ZIP) フォルダー -Toolbar.ExtraLarge = 特大アイコン -Toolbar.Large = 大アイコン -Toolbar.Medium = 中アイコン -Toolbar.Small = 小アイコン -Toolbar.List = 一覧 -Toolbar.Details = 詳細 -Toolbar.Tiles = 並べて表示 -Toolbar.Content = コンテンツ -Toolbar.Undo = 元に戻す -Toolbar.Redo = やり直し -Toolbar.Refresh = 最新の情報に更新 -Toolbar.Back = 戻る -Toolbar.Forward = 進む -Toolbar.Stop = 中止 -Toolbar.Rename = 名前の変更 -Toolbar.SelectAll = すべて選択 -Toolbar.CustomizeFolder = このフォルダーのカスタマイズ -Toolbar.MapDrive = ネットワーク ドライブの割り当て -Toolbar.DisconnectDrive = ネットワーク ドライブの切断 -Toolbar.NavigationPane = ナビゲーション ウィンドウ -Toolbar.DetailsPane = 詳細ウィンドウ -Toolbar.PreviewPane = プレビュー ウィンドウ -Toolbar.CopyTo = コピー先​​ -Toolbar.MoveTo = 移動先​​ -Toolbar.Deselect = 選択解除 -Toolbar.InvertSelection = 選択の切り替え -Toolbar.FolderOptions = フォルダー オプション -Toolbar.ShowHiddenFiles = ファイルとフォルダーの表示 -Toolbar.ShowSystemFiles = システム ファイル -Toolbar.ShowExtensions = ファイル名拡張子 -Status.FreeSpace = %s (空きディスク領域: %s) -Status.Item = %s 個 -Status.Items = %s 個の項目 -Status.ItemSelected = %s 個の項目を選択 -Status.ItemsSelected = %s 個の項目を選択 - - -[ko-KR] - Korean (Korea) -Copy.Cancel = 취소 -Copy.More = 자세히... -Copy.CopyHere = 여기에 복사(&C) -Copy.MoveHere = 여기로 이동(&M) -Copy.Title = 파일 바꾸기 확인 -Copy.Subtitle = 이 폴더에 이미 '%s' 파일이 있습니다. -Copy.SubtitleRO = 이 폴더에 이미 '%s' 읽기 전용 파일이 있습니다. -Copy.SubtitleSys = 이 폴더에 이미 '%s' 시스템 파일이 있습니다. -Copy.Prompt1 = 기존 파일을 -Copy.Prompt2 = 이 파일로 바꾸시겠습니까? -Copy.Yes = 예(&Y) -Copy.No = 아니오(&N) -Copy.YesAll = 모두 예(&A) -Folder.Title = 폴더 바꾸기 확인 -Folder.Prompt = 폴더를 이동하거나 복사하시겠습니까? -Toolbar.GoUp = 한 수준 위로 -Toolbar.Cut = 잘라내기 -Toolbar.Copy = 복사 -Toolbar.Paste = 붙여넣기 -Toolbar.PasteShortcut = 바로 가기 붙여넣기 -Toolbar.Delete = 삭제 -Toolbar.Email = 항목을 전자 메일로 보내기 -Toolbar.Properties = 속성 -Toolbar.NewFolder = 새 폴더 -Toolbar.ZipFolder = 새 압축(ZIP) 폴더 -Toolbar.ExtraLarge = 아주 큰 아이콘 -Toolbar.Large = 큰 아이콘 -Toolbar.Medium = 보통 아이콘 -Toolbar.Small = 작은 아이콘 -Toolbar.List = 목록 -Toolbar.Details = 자세히 -Toolbar.Tiles = 나란히 보기 -Toolbar.Content = 내용 -Toolbar.Undo = 실행 취소 -Toolbar.Redo = 다시 실행 -Toolbar.Refresh = 새로 고침 -Toolbar.Back = 뒤로 -Toolbar.Forward = 앞으로 -Toolbar.Stop = 중지 -Toolbar.Rename = 이름 바꾸기 -Toolbar.SelectAll = 모두 선택 -Toolbar.CustomizeFolder = 현재 폴더 사용자 지정 -Toolbar.MapDrive = 네트워크 드라이브 연결 -Toolbar.DisconnectDrive = 네트워크 드라이브 연결 끊기 -Toolbar.NavigationPane = 탐색 창 -Toolbar.DetailsPane = 세부 정보 창 -Toolbar.PreviewPane = 미리 보기 창 -Toolbar.CopyTo = 복사 위치 -Toolbar.MoveTo = 이동 위치 -Toolbar.Deselect = 선택 안 함 -Toolbar.InvertSelection = 선택 영역 반전 -Toolbar.FolderOptions = 폴더 옵션 -Toolbar.ShowHiddenFiles = 숨김 파일 및 폴더 -Toolbar.ShowSystemFiles = 시스템 파일 -Toolbar.ShowExtensions = 파일 확장명 -Status.FreeSpace = %s (빈 디스크 공간: %s) -Status.Item = %s 항목 -Status.Items = %s 항목 -Status.ItemSelected = %s개 항목을 선택했습니다. -Status.ItemsSelected = %s개 항목을 선택했습니다. - - -[lt-LT] - Lithuanian (Lithuania) -Copy.Cancel = Atšaukti -Copy.More = Daugiau... -Copy.CopyHere = &Kopijuoti čia -Copy.MoveHere = &Perkelti čia -Copy.Title = Patvirtinti failo pakeitimą -Copy.Subtitle = Šiame aplanke jau yra failas, pavadintas '%s'. -Copy.SubtitleRO = Aplanke jau yra failas, skirtas tik skaityti, pavadintas '%s'. -Copy.SubtitleSys = Aplanke jau yra sistemos failas, pavadintas '%s'. -Copy.Prompt1 = Ar pakeisti esamą failą -Copy.Prompt2 = šiuo? -Copy.Yes = &Taip -Copy.No = &Ne -Copy.YesAll = Taip &viskam -Folder.Title = Patvirtinti aplanko pakeitimą -Folder.Prompt = Ar vis tiek perkelti, ar kopijuoti aplanką? -Toolbar.GoUp = Vienu lygiu aukščiau -Toolbar.Cut = Iškirpti -Toolbar.Copy = Kopijuoti -Toolbar.Paste = Įklijuoti -Toolbar.PasteShortcut = Įklijuoti nuorodą -Toolbar.Delete = Naikinti -Toolbar.Email = Pažymėtus elementus siųsti el. paštu -Toolbar.Properties = Ypatybės -Toolbar.NewFolder = Naujas aplankas -Toolbar.ZipFolder = Naujas suglaudintas (zip) aplankas -Toolbar.ExtraLarge = Padidintos piktogramos -Toolbar.Large = Didelės piktogramos -Toolbar.Medium = Vidutinės piktogramos -Toolbar.Small = Mažos piktogramos -Toolbar.List = Sąrašas -Toolbar.Details = Išsami informacija -Toolbar.Tiles = Išklotinės -Toolbar.Content = Turinys -Toolbar.Undo = Anuliuoti -Toolbar.Redo = Perdaryti -Toolbar.Refresh = Atnaujinti -Toolbar.Back = Atgal į: -Toolbar.Forward = Pirmyn -Toolbar.Stop = Stabdyti -Toolbar.Rename = Pervardyti -Toolbar.SelectAll = Žymėti viską -Toolbar.CustomizeFolder = Tinkinti šį aplanką -Toolbar.MapDrive = Susieti tinklo diską -Toolbar.DisconnectDrive = Atjungti tinklo diską -Toolbar.NavigationPane = Naršymo sritis -Toolbar.DetailsPane = Išsamios informacijos sritis -Toolbar.PreviewPane = Peržiūros sritis -Toolbar.CopyTo = Kopijuoti į -Toolbar.MoveTo = Perkelti į -Toolbar.Deselect = Nieko nežymėti -Toolbar.InvertSelection = Žymėti priešingai -Toolbar.FolderOptions = Aplanko parinktys -Toolbar.ShowHiddenFiles = Paslėpti failai ir aplankai -Toolbar.ShowSystemFiles = Sistemos failai -Toolbar.ShowExtensions = Failų vardų plėtiniai -Status.FreeSpace = %s (Diske laisvos vietos: %s) -Status.Item = %s elementas -Status.Items = %s elementai -Status.ItemSelected = %s pažymėtas elementas -Status.ItemsSelected = Pažymėta elementų: %s - - -[lv-LV] - Latvian (Latvia) -Copy.Cancel = Atcelt -Copy.More = Vēl... -Copy.CopyHere = &Kopēt šeit -Copy.MoveHere = &Pārvietot šeit -Copy.Title = Failu aizstāšanas apstiprināšana -Copy.Subtitle = Šajā mapē jau ir fails '%s'. -Copy.SubtitleRO = Šajā mapē jau ir tikai lasāms fails '%s'. -Copy.SubtitleSys = Šajā mapē jau ir sistēmas fails '%s'. -Copy.Prompt1 = Vai vēlaties aizstāt esošo failu -Copy.Prompt2 = ar šo? -Copy.Yes = &Jā -Copy.No = &Nē -Copy.YesAll = Jā, &visus -Folder.Title = Mapju aizstāšanas apstiprināšana -Folder.Prompt = Vai tiešām vēlaties pārvietot vai kopēt šo mapi? -Toolbar.GoUp = Vienu līmeni augstāk -Toolbar.Cut = Izgriezt -Toolbar.Copy = Kopēt -Toolbar.Paste = Ielīmēt -Toolbar.PasteShortcut = Ielīmēt saīsni -Toolbar.Delete = Dzēst -Toolbar.Email = Nosūtīt atlasītos vienumus pa e-pastu -Toolbar.Properties = Rekvizīti -Toolbar.NewFolder = Jauna mape -Toolbar.ZipFolder = Jauna saspiestā (tilpsaspiestā) mape -Toolbar.ExtraLarge = Ļoti lielas ikonas -Toolbar.Large = Lielas ikonas -Toolbar.Medium = Vidējas ikonas -Toolbar.Small = Mazas ikonas -Toolbar.List = Saraksts -Toolbar.Details = Detaļas -Toolbar.Tiles = Mozaīka -Toolbar.Content = Saturs -Toolbar.Undo = Atsaukt -Toolbar.Redo = Atcelt atsaukšanu -Toolbar.Refresh = Atsvaidzināt -Toolbar.Back = Atpakaļ -Toolbar.Forward = Uz priekšu -Toolbar.Stop = Apturēt -Toolbar.Rename = Pārdēvēt -Toolbar.SelectAll = Atlasīt visus -Toolbar.CustomizeFolder = Pielāgot šo mapi -Toolbar.MapDrive = Kartēt tīkla disku -Toolbar.DisconnectDrive = Atvienot tīkla disku -Toolbar.NavigationPane = Navigācijas rūts -Toolbar.DetailsPane = Detalizētas informācijas rūts -Toolbar.PreviewPane = Priekšskatījuma rūts -Toolbar.CopyTo = Kopēt uz -Toolbar.MoveTo = Pārvietot uz -Toolbar.Deselect = Neatlasīt neko -Toolbar.InvertSelection = Mainīt atlasi uz pretējo -Toolbar.FolderOptions = Mapes opcijas -Toolbar.ShowHiddenFiles = Slēptie faili un mapes -Toolbar.ShowSystemFiles = Sistēmas faili -Toolbar.ShowExtensions = Failu nosaukumu paplašinājumi -Status.FreeSpace = %s (brīvā vieta diskā: %s) -Status.Item = %s vienums -Status.Items = %s vienumi -Status.ItemSelected = Atlasīts %s vienums -Status.ItemsSelected = Atlasīti %s vienumi - - -[mk-MK] - Macedonian (Macedonia) -Copy.Cancel = Откажи -Copy.More = Повеќе... -Copy.CopyHere = Копирај тука -Copy.MoveHere = Премести тука -Copy.Title = Потврди замена на фајл -Copy.Subtitle = Тој фолдер веќе содржи фајл со име '%s'. -Copy.SubtitleRO = Тој фолдер веќе содржи фајл само за читање со име '%s'. -Copy.SubtitleSys = Тој фолдер веќе содржи системски фајл со име '%s'. -Copy.Prompt1 = Дали сакате да замените постоечкиот фајл -Copy.Prompt2 = а тој? -Copy.Yes = Да -Copy.No = Не -Copy.YesAll = "Да" за сите -Folder.Title = Потврда за промена на фолдерот -Folder.Prompt = Сеуште ли сакате да го преместите или копирате фолдерот? -Toolbar.GoUp = Едно ниво нагоре -Toolbar.Cut = Исечи -Toolbar.Copy = Копирај -Toolbar.Paste = Стави -Toolbar.PasteShortcut = Стави краток пат -Toolbar.Delete = Избриши -Toolbar.Email = Испрати ги селектираните фајлови по електронска пошта -Toolbar.Properties = Својства -Toolbar.NewFolder = Нов фолдер -Toolbar.ZipFolder = Нова компресирана (зипувана) папка -Toolbar.ExtraLarge = Многу големи икони -Toolbar.Large = Големи икони -Toolbar.Medium = Средни икони -Toolbar.Small = Мали икони -Toolbar.List = Список -Toolbar.Details = Детали -Toolbar.Tiles = Мозаик -Toolbar.Content = Содржина -Toolbar.Undo = врати -Toolbar.Redo = повтори -Toolbar.Refresh = Обнови -Toolbar.Back = Назад -Toolbar.Forward = Напред -Toolbar.Stop = Застани -Toolbar.Rename = Преименување -Toolbar.SelectAll = Селектирај ги сите -Toolbar.CustomizeFolder = Персонализирање на тој фолдер -Toolbar.MapDrive = Назначување на мрежен уред -Toolbar.DisconnectDrive = Исклучи го мрежниот уред -Toolbar.NavigationPane = Навигационен екран -Toolbar.DetailsPane = Екран за подетални податоци -Toolbar.PreviewPane = Прозорец за визуализација -Toolbar.CopyTo = Копирај во -Toolbar.MoveTo = Премести во -Toolbar.Deselect = Не избирај ништо -Toolbar.InvertSelection = Преврти го изборот -Toolbar.FolderOptions = Опции за папка -Toolbar.ShowHiddenFiles = Сокриени датотеки и папки -Toolbar.ShowSystemFiles = Системски датотеки -Toolbar.ShowExtensions = Датотечни наставки -Status.FreeSpace = %s (Слободно место на дискот: %s) -Status.Item = %s фајл -Status.Items = %s фајлови -Status.ItemSelected = %s селектиран фајл -Status.ItemsSelected = %s селектирани фајлови - - -[nb-NO] - Norwegian, Bokmål (Norway) -Copy.Cancel = Avbryt -Copy.More = Mer... -Copy.CopyHere = &Kopier hit -Copy.MoveHere = &Flytt hit -Copy.Title = Bekreft erstatting av fil -Copy.Subtitle = Mappen inneholder allerede filen %s. -Copy.SubtitleRO = Mappen inneholder allerede den skrivebeskyttede filen %s. -Copy.SubtitleSys = Mappen inneholder allerede systemfilen %s. -Copy.Prompt1 = Vil du erstatte den eksisterende filen -Copy.Prompt2 = med denne? -Copy.Yes = &Ja -Copy.No = &Nei -Copy.YesAll = J&a til alt -Folder.Title = Bekreft erstatting av mappe -Folder.Prompt = Vil du likevel flytte eller kopiere mappen? -Toolbar.GoUp = Opp ett nivå -Toolbar.Cut = Klipp ut -Toolbar.Copy = Kopier -Toolbar.Paste = Lim inn -Toolbar.PasteShortcut = Lim inn snarvei -Toolbar.Delete = Slett -Toolbar.Email = Send valgte elementer via e-post -Toolbar.Properties = Egenskaper -Toolbar.NewFolder = Ny mappe -Toolbar.ZipFolder = Ny komprimert (zippet) mappe -Toolbar.ExtraLarge = Ekstra store ikoner -Toolbar.Large = Store ikoner -Toolbar.Medium = Middels store ikoner -Toolbar.Small = Små ikoner -Toolbar.List = Liste -Toolbar.Details = Detaljer -Toolbar.Tiles = Side ved side -Toolbar.Content = Innhold -Toolbar.Undo = Angre -Toolbar.Redo = Gjør om -Toolbar.Refresh = Oppdater -Toolbar.Back = Tilbake -Toolbar.Forward = Fremover -Toolbar.Stop = Stopp -Toolbar.Rename = Gi nytt navn -Toolbar.SelectAll = Merk alt -Toolbar.CustomizeFolder = Tilpass denne mappen -Toolbar.MapDrive = Koble til nettverksstasjon -Toolbar.DisconnectDrive = Koble fra nettverksstasjon -Toolbar.NavigationPane = Navigasjonsrute -Toolbar.DetailsPane = Detaljrute -Toolbar.PreviewPane = Forhåndsvisningsrute -Toolbar.CopyTo = Kopier til -Toolbar.MoveTo = Flytt til -Toolbar.Deselect = Merk ingenting -Toolbar.InvertSelection = Inverter utvalg -Toolbar.FolderOptions = Mappealternativer -Toolbar.ShowHiddenFiles = Skjulte filer og mapper -Toolbar.ShowSystemFiles = Systemfiler -Toolbar.ShowExtensions = Filtyper -Status.FreeSpace = %s (Ledig plass på disken: %s) -Status.Item = %s element -Status.Items = %s elementer -Status.ItemSelected = %s element er merket -Status.ItemsSelected = %s elementer er merket - - -[nl-NL] - Dutch (Netherlands) -Copy.Cancel = Annuleren -Copy.More = Meer... -Copy.CopyHere = Hierheen &kopiëren -Copy.MoveHere = Hi&erheen verplaatsen -Copy.Title = Vervangen van bestand bevestigen -Copy.Subtitle = In deze map bevindt zich al een bestand met de naam %s. -Copy.SubtitleRO = In deze map bevindt zich al een bestand met het kenmerk Alleen-lezen en de naam %s. -Copy.SubtitleSys = In deze map bevindt zich al een systeembestand met de naam %s. -Copy.Prompt1 = Wilt u het bestaande bestand: -Copy.Prompt2 = vervangen door het onderstaande bestand? -Copy.Yes = &Ja -Copy.No = &Nee -Copy.YesAll = J&a op alles -Folder.Title = Vervangen van map bevestigen -Folder.Prompt = Wilt u de bestanden in de bestaande map vervangen door de bestanden in de map die u verplaatst of kopieert, als de bestanden dezelfde naam hebben? -Toolbar.GoUp = Bovenliggende map -Toolbar.Cut = Knippen -Toolbar.Copy = Kopiëren -Toolbar.Paste = Plakken -Toolbar.PasteShortcut = Snelkoppeling plakken -Toolbar.Delete = Verwijderen -Toolbar.Email = De geselecteerde items per e-mail verzenden -Toolbar.Properties = Eigenschappen -Toolbar.NewFolder = Nieuwe map -Toolbar.ZipFolder = Nieuwe gecomprimeerde (gezipte) map -Toolbar.ExtraLarge = Extra grote pictogrammen -Toolbar.Large = Grote pictogrammen -Toolbar.Medium = Normale pictogrammen -Toolbar.Small = Kleine pictogrammen -Toolbar.List = Lijst -Toolbar.Details = Details -Toolbar.Tiles = Tegels -Toolbar.Content = Inhoud -Toolbar.Undo = Ongedaan maken -Toolbar.Redo = Opnieuw -Toolbar.Refresh = Vernieuwen -Toolbar.Back = Vorige -Toolbar.Forward = Volgende -Toolbar.Stop = Stoppen -Toolbar.Rename = Naam wijzigen -Toolbar.SelectAll = Alles selecteren -Toolbar.CustomizeFolder = Deze map aanpassen -Toolbar.MapDrive = Netwerkverbinding maken -Toolbar.DisconnectDrive = Netwerkverbinding verbreken -Toolbar.NavigationPane = Navigatievenster -Toolbar.DetailsPane = Detailvenster -Toolbar.PreviewPane = Voorbeeldvenster -Toolbar.CopyTo = Kopiëren naar -Toolbar.MoveTo = Verplaatsen naar -Toolbar.Deselect = Niets selecteren -Toolbar.InvertSelection = Selectie omkeren -Toolbar.FolderOptions = Mapopties -Toolbar.ShowHiddenFiles = Verborgen bestanden en mappen -Toolbar.ShowSystemFiles = Systeembestanden -Toolbar.ShowExtensions = Bestandsnaamextensies -Status.FreeSpace = %s (beschikbare schijfruimte: %s) -Status.Item = %s item -Status.Items = %s items -Status.ItemSelected = %s item geselecteerd -Status.ItemsSelected = %s items geselecteerd - - -[pl-PL] - Polish (Poland) -Copy.Cancel = Anuluj -Copy.More = Więcej... -Copy.CopyHere = &Kopiuj tutaj -Copy.MoveHere = Prze&nieś tutaj -Copy.Title = Potwierdź zamianę pliku -Copy.Subtitle = Ten folder zawiera już plik o nazwie „%s”. -Copy.SubtitleRO = Ten folder zawiera już plik tylko do odczytu o nazwie „%s”. -Copy.SubtitleSys = Ten folder zawiera już plik systemowy o nazwie „%s”. -Copy.Prompt1 = Czy chcesz zamienić istniejący plik -Copy.Prompt2 = na następujący? -Copy.Yes = &Tak -Copy.No = &Nie -Copy.YesAll = Tak na &wszystkie -Folder.Title = Potwierdź zamianę folderu -Folder.Prompt = Czy nadal chcesz przenieść lub skopiować ten folder? -Toolbar.GoUp = Do góry o jeden poziom -Toolbar.Cut = Wytnij -Toolbar.Copy = Kopiuj -Toolbar.Paste = Wklej -Toolbar.PasteShortcut = Wklej skrót -Toolbar.Delete = Usuń -Toolbar.Email = Wyślij zaznaczone elementy pocztą e-mail -Toolbar.Properties = Właściwości -Toolbar.NewFolder = Nowy folder -Toolbar.ZipFolder = Nowy folder skompresowany (zip) -Toolbar.ExtraLarge = Bardzo duże ikony -Toolbar.Large = Duże ikony -Toolbar.Medium = Średnie ikony -Toolbar.Small = Małe ikony -Toolbar.List = Lista -Toolbar.Details = Szczegóły -Toolbar.Tiles = Kafelki -Toolbar.Content = Zawartość -Toolbar.Undo = Cofnij -Toolbar.Redo = Wykonaj ponownie -Toolbar.Refresh = Odśwież -Toolbar.Back = Wstecz -Toolbar.Forward = Dalej -Toolbar.Stop = Zatrzymaj -Toolbar.Rename = Zmień nazwę -Toolbar.SelectAll = Zaznacz wszystko -Toolbar.CustomizeFolder = Dostosuj ten folder -Toolbar.MapDrive = Mapuj dysk sieciowy -Toolbar.DisconnectDrive = Odłącz dysk sieciowy -Toolbar.NavigationPane = Okienko nawigacji -Toolbar.DetailsPane = Okienko szczegółów -Toolbar.PreviewPane = Okienko podglądu -Toolbar.CopyTo = Kopiuj do -Toolbar.MoveTo = Przenieś do -Toolbar.Deselect = Nie zaznaczaj nic -Toolbar.InvertSelection = Odwróć zaznaczenie -Toolbar.FolderOptions = Opcje folderów -Toolbar.ShowHiddenFiles = Ukryte pliki i foldery -Toolbar.ShowSystemFiles = Pliki systemowe -Toolbar.ShowExtensions = Rozszerzenia nazw plików -Status.FreeSpace = %s (Wolne miejsce: %s) -Status.Item = %s element -Status.Items = Elementów: %s -Status.ItemSelected = Wybranych elementów: %s -Status.ItemsSelected = Wybranych elementów: %s - - -[pt-BR] - Portuguese (Brazil) -Copy.Cancel = Cancelar -Copy.More = Mais... -Copy.CopyHere = &Copiar Aqui -Copy.MoveHere = Mov&er para Cá -Copy.Title = Confirmar substituição de arquivo -Copy.Subtitle = Esta pasta já contém um arquivo chamado '%s'. -Copy.SubtitleRO = Esta pasta já contém um arquivo somente leitura chamado '%s'. -Copy.SubtitleSys = Esta pasta já contém um arquivo de sistema chamado '%s'. -Copy.Prompt1 = Deseja substituir o arquivo existente -Copy.Prompt2 = por este? -Copy.Yes = &Sim -Copy.No = &Não -Copy.YesAll = Sim para &todos -Folder.Title = Confirmar substituição de pasta -Folder.Prompt = Deseja mover a pasta mesmo assim? -Toolbar.GoUp = Um Nível Acima -Toolbar.Cut = Recortar -Toolbar.Copy = Copiar -Toolbar.Paste = Colar -Toolbar.PasteShortcut = Colar Atalho -Toolbar.Delete = Excluir -Toolbar.Email = Enviar os itens selecionados por email -Toolbar.Properties = Propriedades -Toolbar.NewFolder = Nova Pasta -Toolbar.ZipFolder = Nova Pasta Compactada -Toolbar.ExtraLarge = Ícones Extra Grandes -Toolbar.Large = Ícones Grandes -Toolbar.Medium = Ícones Médios -Toolbar.Small = Ícones Pequenos -Toolbar.List = Lista -Toolbar.Details = Detalhes -Toolbar.Tiles = Lado a Lado -Toolbar.Content = Conteúdo -Toolbar.Undo = Desfazer -Toolbar.Redo = Refazer -Toolbar.Refresh = Atualizar -Toolbar.Back = Voltar -Toolbar.Forward = Avançar -Toolbar.Stop = Parar -Toolbar.Rename = Renomear -Toolbar.SelectAll = Selecionar tudo -Toolbar.CustomizeFolder = Personalizar esta pasta -Toolbar.MapDrive = Mapear unidade de rede -Toolbar.DisconnectDrive = Desconectar unidade de rede -Toolbar.NavigationPane = Painel de navegação -Toolbar.DetailsPane = Painel de detalhes -Toolbar.PreviewPane = Painel de visualização -Toolbar.CopyTo = Copiar para -Toolbar.MoveTo = Mover para -Toolbar.Deselect = Selecionar nenhum -Toolbar.InvertSelection = Inverter seleção -Toolbar.FolderOptions = Opções de pasta -Toolbar.ShowHiddenFiles = Pastas e arquivos ocultos -Toolbar.ShowSystemFiles = Arquivos do sistema -Toolbar.ShowExtensions = Extensões de nomes de arquivos -Status.FreeSpace = %s (espaço livre em disco: %s) -Status.Item = %s item -Status.Items = %s itens -Status.ItemSelected = %s item selecionado -Status.ItemsSelected = %s itens selecionados - - -[pt-PT] - Portuguese (Portugal) -Copy.Cancel = Cancelar -Copy.More = Mais... -Copy.CopyHere = &Copiar para aqui -Copy.MoveHere = &Mover para aqui -Copy.Title = Confirmar substituição de ficheiro(s) -Copy.Subtitle = Esta pasta já contém um ficheiro com o nome '%s'. -Copy.SubtitleRO = Esta pasta já contém um ficheiro só de leitura com o nome '%s'. -Copy.SubtitleSys = Esta pasta já contém um ficheiro de sistema com o nome '%s'. -Copy.Prompt1 = Pretende substituir o ficheiro existente -Copy.Prompt2 = por este? -Copy.Yes = &Sim -Copy.No = &Não -Copy.YesAll = Sim p&ara todos -Folder.Title = Confirmar substituição de pasta(s) -Folder.Prompt = Pretende continuar a mover ou copiar a pasta? -Toolbar.GoUp = Um nível acima -Toolbar.Cut = Cortar -Toolbar.Copy = Copiar -Toolbar.Paste = Colar -Toolbar.PasteShortcut = Colar atalho -Toolbar.Delete = Eliminar -Toolbar.Email = Enviar os itens seleccionados por correio electrónico -Toolbar.Properties = Propriedades -Toolbar.NewFolder = Nova pasta -Toolbar.ZipFolder = Nova Pasta Comprimida (zipada) -Toolbar.ExtraLarge = Ícones muito grandes -Toolbar.Large = Ícones grandes -Toolbar.Medium = Ícones médios -Toolbar.Small = Ícones pequenos -Toolbar.List = Lista -Toolbar.Details = Detalhes -Toolbar.Tiles = Mosaicos -Toolbar.Content = Conteúdo -Toolbar.Undo = Anular -Toolbar.Redo = Refazer -Toolbar.Refresh = Actualizar -Toolbar.Back = Anterior -Toolbar.Forward = Avançar -Toolbar.Stop = Parar -Toolbar.Rename = Mudar o nome -Toolbar.SelectAll = Seleccionar tudo -Toolbar.CustomizeFolder = Personalizar esta pasta -Toolbar.MapDrive = Mapear unidade de rede -Toolbar.DisconnectDrive = Desligar unidade de rede -Toolbar.NavigationPane = Painel de navegação -Toolbar.DetailsPane = Painel de detalhes -Toolbar.PreviewPane = Painel de pré-visualização -Toolbar.CopyTo = Copiar para -Toolbar.MoveTo = Mover para -Toolbar.Deselect = Desmarcar tudo -Toolbar.InvertSelection = Inverter seleção -Toolbar.FolderOptions = Opções de pastas -Toolbar.ShowHiddenFiles = Ficheiros e pastas ocultos -Toolbar.ShowSystemFiles = Ficheiros de sistema -Toolbar.ShowExtensions = Extensões de nome de ficheiro -Status.FreeSpace = %s (Espaço livre em disco: %s) -Status.Item = %s item -Status.Items = %s itens -Status.ItemSelected = %s item seleccionado -Status.ItemsSelected = %s itens seleccionados - - -[ro-RO] - Romanian (Romania) -Copy.Cancel = Revocare -Copy.More = Mai multe... -Copy.CopyHere = &Copiere în acest loc -Copy.MoveHere = &Mutare în acest loc -Copy.Title = Confirmare înlocuire fişier -Copy.Subtitle = Acest folder conţine deja un fişier cu numele '%s'. -Copy.SubtitleRO = Acest folder conţine deja un fişier doar în citire cu numele '%s'. -Copy.SubtitleSys = Acest folder conţine deja un fişier de sistem cu numele '%s'. -Copy.Prompt1 = Înlocuiţi fişierul existent -Copy.Prompt2 = cu acesta? -Copy.Yes = &Da -Copy.No = &Nu -Copy.YesAll = D&a pentru tot -Folder.Title = Confirmare înlocuire folder -Folder.Prompt = Totuşi, mutaţi sau copiaţi folderul? -Toolbar.GoUp = Mai sus cu un nivel -Toolbar.Cut = Decupare -Toolbar.Copy = Copiere -Toolbar.Paste = Lipire -Toolbar.PasteShortcut = Lipire comandă rapidă -Toolbar.Delete = Ștergere -Toolbar.Email = Se trimit prin poştă electronică elementele selectate -Toolbar.Properties = Proprietăți -Toolbar.NewFolder = Folder nou -Toolbar.ZipFolder = Folder comprimat (ZIP) nou -Toolbar.ExtraLarge = Pictograme foarte mari -Toolbar.Large = Pictograme mari -Toolbar.Medium = Pictograme medii -Toolbar.Small = Pictograme mici -Toolbar.List = Listă -Toolbar.Details = Detalii -Toolbar.Tiles = Cadre -Toolbar.Content = Cuprins -Toolbar.Undo = Anulare -Toolbar.Redo = Refacere -Toolbar.Refresh = Reîmprospătare -Toolbar.Back = Înapoi -Toolbar.Forward = Înainte -Toolbar.Stop = Oprire -Toolbar.Rename = Redenumire -Toolbar.SelectAll = Selectare totală -Toolbar.CustomizeFolder = Particularizare folder -Toolbar.MapDrive = Conectare unitate de rețea -Toolbar.DisconnectDrive = Deconectare unitate de rețea -Toolbar.NavigationPane = Panou de navigare -Toolbar.DetailsPane = Panou detalii -Toolbar.PreviewPane = Panou de examinare -Toolbar.CopyTo = Copiere în -Toolbar.MoveTo = Mutare la -Toolbar.Deselect = Deselectare totală -Toolbar.InvertSelection = Inversare selecție -Toolbar.FolderOptions = Opțiuni folder -Toolbar.ShowHiddenFiles = Fișiere și foldere ascunse -Toolbar.ShowSystemFiles = Fișiere de sistem -Toolbar.ShowExtensions = Extensii nume de fișier -Status.FreeSpace = %s (Spațiu liber pe disc: %s) -Status.Item = Element %s -Status.Items = %s elemente -Status.ItemSelected = %s element selectat -Status.ItemsSelected = %s elemente selectate - - -[ru-RU] - Russian (Russia) -Copy.Cancel = Отмена -Copy.More = Подробнее... -Copy.CopyHere = &Копировать -Copy.MoveHere = П&ереместить -Copy.Title = Подтверждение замены файла -Copy.Subtitle = Папка уже содержит файл "%s". -Copy.SubtitleRO = Папка уже содержит доступный только для чтения файл "%s". -Copy.SubtitleSys = Папка уже содержит системный файл "%s". -Copy.Prompt1 = Заменить имеющийся файл -Copy.Prompt2 = следующим файлом? -Copy.Yes = &Да -Copy.No = &Нет -Copy.YesAll = Да - для &всех -Folder.Title = Подтверждение замены папки -Folder.Prompt = Заменить существующие в ней файлы перемещаемыми при совпадении имен? -Toolbar.GoUp = На один уровень вверх -Toolbar.Cut = Вырезать -Toolbar.Copy = Копировать -Toolbar.Paste = Вставить -Toolbar.PasteShortcut = Вставить ярлык -Toolbar.Delete = Удалить -Toolbar.Email = Отправка выбранных объектов по электронной почте -Toolbar.Properties = Свойства -Toolbar.NewFolder = Новая папка -Toolbar.ZipFolder = Новая сжатая ZIP-папка -Toolbar.ExtraLarge = Огромные значки -Toolbar.Large = Крупные значки -Toolbar.Medium = Обычные значки -Toolbar.Small = Мелкие значки -Toolbar.List = Список -Toolbar.Details = Таблица -Toolbar.Tiles = Плитка -Toolbar.Content = Содержимое -Toolbar.Undo = Отменить -Toolbar.Redo = Вернуть -Toolbar.Refresh = Обновить -Toolbar.Back = Назад -Toolbar.Forward = Вперед -Toolbar.Stop = Остановить -Toolbar.Rename = Переименовать -Toolbar.SelectAll = Выделить все -Toolbar.CustomizeFolder = Настроить папку -Toolbar.MapDrive = Подключить сетевой диск -Toolbar.DisconnectDrive = Отключить сетевой диск -Toolbar.NavigationPane = Область переходов -Toolbar.DetailsPane = Область сведений -Toolbar.PreviewPane = Область предпросмотра -Toolbar.CopyTo = Копировать в -Toolbar.MoveTo = Переместить в -Toolbar.Deselect = Снять выделение -Toolbar.InvertSelection = Обратить выделение -Toolbar.FolderOptions = Параметры папок -Toolbar.ShowHiddenFiles = Скрытые файлы и папки -Toolbar.ShowSystemFiles = Системные файлы -Toolbar.ShowExtensions = Расширения имен файлов -Status.FreeSpace = %s (свободно на диске: %s) -Status.Item = %s элемент -Status.Items = Элементов: %s -Status.ItemSelected = Выбран элемент: %s -Status.ItemsSelected = Выбрано элементов: %s - - -[sk-SK] - Slovak (Slovakia) -Copy.Cancel = Zrušiť -Copy.More = Ďalšie... -Copy.CopyHere = &Kopírovať sem -Copy.MoveHere = &Premiestniť sem -Copy.Title = Potvrdenie nahradenia súboru -Copy.Subtitle = Tento priečinok už obsahuje súbor s názvom %s. -Copy.SubtitleRO = Tento priečinok už obsahuje súbor s názvom %s, ktorý je iba na čítanie. -Copy.SubtitleSys = Tento priečinok už obsahuje systémový súbor s názvom %s. -Copy.Prompt1 = Chcete nahradiť existujúci súbor -Copy.Prompt2 = týmto súborom? -Copy.Yes = Án&o -Copy.No = &Nie -Copy.YesAll = Áno pre &všetky -Folder.Title = Potvrdenie nahradenia priečinka -Folder.Prompt = Naozaj chcete premiestniť alebo skopírovať priečinok? -Toolbar.GoUp = O úroveň vyššie -Toolbar.Cut = Vystrihnúť -Toolbar.Copy = Kopírovať -Toolbar.Paste = Prilepiť -Toolbar.PasteShortcut = Prilepiť odkaz -Toolbar.Delete = Odstrániť -Toolbar.Email = Vybraté položky odoslať e-mailom -Toolbar.Properties = Vlastnosti -Toolbar.NewFolder = Nový priečinok -Toolbar.ZipFolder = Nový komprimovaný priečinok (ZIP) -Toolbar.ExtraLarge = Veľmi veľké ikony -Toolbar.Large = Veľké ikony -Toolbar.Medium = Stredne veľké ikony -Toolbar.Small = Malé ikony -Toolbar.List = Zoznam -Toolbar.Details = Podrobnosti -Toolbar.Tiles = Dlaždice -Toolbar.Content = Obsah -Toolbar.Undo = Späť -Toolbar.Redo = Znova -Toolbar.Refresh = Obnoviť -Toolbar.Back = Dozadu -Toolbar.Forward = Dopredu -Toolbar.Stop = Zastaviť -Toolbar.Rename = Premenovať -Toolbar.SelectAll = Vybrať všetko -Toolbar.CustomizeFolder = Prispôsobiť priečinok -Toolbar.MapDrive = Pripojiť sieťovú jednotku -Toolbar.DisconnectDrive = Odpojiť sieťovú jednotku -Toolbar.NavigationPane = Navigačná tabla -Toolbar.DetailsPane = Tabla podrobností -Toolbar.PreviewPane = Tabla ukážky -Toolbar.CopyTo = Kopírovať do -Toolbar.MoveTo = Premiestniť do -Toolbar.Deselect = Zrušiť výber -Toolbar.InvertSelection = Invertovať výber -Toolbar.FolderOptions = Možnosti priečinka -Toolbar.ShowHiddenFiles = Skryté súbory a priečinky -Toolbar.ShowSystemFiles = Systémové súbory -Toolbar.ShowExtensions = Prípony názvov súborov -Status.FreeSpace = %s (voľné miesto na disku: %s) -Status.Item = %s položka -Status.Items = Počet položiek: %s -Status.ItemSelected = Počet vybratých položiek: %s -Status.ItemsSelected = Počet vybratých položiek: %s - - -[sl-SI] - Slovenian (Slovenia) -Copy.Cancel = Prekliči -Copy.More = Dodatno ... -Copy.CopyHere = &Kopiraj sem -Copy.MoveHere = &Premakni sem -Copy.Title = Potrditev zamenjave datoteke -Copy.Subtitle = Ta mapa že vsebuje datoteko z imenom »%s«. -Copy.SubtitleRO = Ta mapa že vsebuje datoteko samo za branje z imenom »%s«. -Copy.SubtitleSys = Ta mapa že vsebuje sistemsko datoteko z imenom »%s«. -Copy.Prompt1 = Ali želite zamenjati obstoječo datoteko -Copy.Prompt2 = s to datoteko? -Copy.Yes = &Da -Copy.No = &Ne -Copy.YesAll = Da za &vse -Folder.Title = Potrditev zamenjave mape -Folder.Prompt = Ali še vedno želite premakniti ali kopirati mapo? -Toolbar.GoUp = V nadrejeno mapo -Toolbar.Cut = Izreži -Toolbar.Copy = Kopiraj -Toolbar.Paste = Prilepi -Toolbar.PasteShortcut = Prilepi bližnjico -Toolbar.Delete = Izbriši -Toolbar.Email = Pošlji izbrane elemente prek e-pošte -Toolbar.Properties = Lastnosti -Toolbar.NewFolder = Nova mapa -Toolbar.ZipFolder = Nova stisnjena mapa -Toolbar.ExtraLarge = Izredno velike ikone -Toolbar.Large = Velike ikone -Toolbar.Medium = Srednje velike ikone -Toolbar.Small = Male ikone -Toolbar.List = Seznam -Toolbar.Details = Podrobnosti -Toolbar.Tiles = Ploščice -Toolbar.Content = Vsebina -Toolbar.Undo = Razveljavi -Toolbar.Redo = Uveljavi -Toolbar.Refresh = Osveži -Toolbar.Back = Nazaj -Toolbar.Forward = Naprej -Toolbar.Stop = Ustavi -Toolbar.Rename = Preimenuj -Toolbar.SelectAll = Izberi vse -Toolbar.CustomizeFolder = Prilagodi mapo -Toolbar.MapDrive = Preslikaj omrežni pogon -Toolbar.DisconnectDrive = Prekini povezavo z omrežnim pogonom -Toolbar.NavigationPane = Podokno za krmarjenje -Toolbar.DetailsPane = Podokno s podrobnostmi -Toolbar.PreviewPane = Podokno za predogled -Toolbar.CopyTo = Kopiraj v -Toolbar.MoveTo = Premakni v -Toolbar.Deselect = Ne izberi ničesar -Toolbar.InvertSelection = Preobrni izbor -Toolbar.FolderOptions = Možnosti mape -Toolbar.ShowHiddenFiles = Skrite datoteke in mape -Toolbar.ShowSystemFiles = Sistemske datoteke -Toolbar.ShowExtensions = Datotečne pripone -Status.FreeSpace = %s (Nezaseden prostor na disku: %s) -Status.Item = %s predmet -Status.Items = Št. predmetov: %s -Status.ItemSelected = Izbrano je to število elementov: %s -Status.ItemsSelected = Izbrano je to število elementov: %s - - -[sr-Latn-CS] - Serbian (Latin, Serbia) -Copy.Cancel = Otkaži -Copy.More = Više... -Copy.CopyHere = &Kopiraj ovde -Copy.MoveHere = &Premesti ovde -Copy.Title = Potvrdite zamenu datoteke -Copy.Subtitle = Ova fascikla već sadrži datoteku po imenu '%s'. -Copy.SubtitleRO = Ova fascikla već sadrži datoteku samo za čitanje po imenu '%s'. -Copy.SubtitleSys = Ova fascikla već sadrži sistemsku datoteku po imenu '%s'. -Copy.Prompt1 = Želite li da zamenite postojeću datoteku -Copy.Prompt2 = ovom? -Copy.Yes = &Da -Copy.No = &Ne -Copy.YesAll = Da za &sve -Folder.Title = Potvrdite zamenu fascikle -Folder.Prompt = Želite li zaista da premestite ili kopirate ovu fasciklu? -Toolbar.GoUp = Jedan nivo nagore -Toolbar.Cut = Iseci -Toolbar.Copy = Kopiraj -Toolbar.Paste = Nalepi -Toolbar.PasteShortcut = Nalepi prečicu -Toolbar.Delete = Izbriši -Toolbar.Email = Pošalji izabrane stavke e-poštom -Toolbar.Properties = Svojstva -Toolbar.NewFolder = Nova fascikla -Toolbar.ZipFolder = Nova komprimovana (zipovana) fascikla -Toolbar.ExtraLarge = Veoma velike ikone -Toolbar.Large = Velike ikone -Toolbar.Medium = Srednje ikone -Toolbar.Small = Male ikone -Toolbar.List = Lista -Toolbar.Details = Detalji -Toolbar.Tiles = Naporedno slaganje -Toolbar.Content = Sadržaj -Toolbar.Undo = Opozovi radnju -Toolbar.Redo = Ponovi radnju -Toolbar.Refresh = Osveži -Toolbar.Back = Nazad -Toolbar.Forward = Napred -Toolbar.Stop = Zaustavi -Toolbar.Rename = Preimenuj -Toolbar.SelectAll = Izaberi sve -Toolbar.CustomizeFolder = Prilagođavanje fascikle -Toolbar.MapDrive = Mapiraj mrežni disk -Toolbar.DisconnectDrive = Prekini vezu sa mrežnim diskom -Toolbar.NavigationPane = Okno za navigaciju -Toolbar.DetailsPane = Okno sa detaljima -Toolbar.PreviewPane = Okno za pregled -Toolbar.CopyTo = Kopiraj u -Toolbar.MoveTo = Premesti u -Toolbar.Deselect = Nemoj da izabereš nijedno -Toolbar.InvertSelection = Obrni izbor -Toolbar.FolderOptions = Opcije fascikle -Toolbar.ShowHiddenFiles = Skrivene datoteke i fascikle -Toolbar.ShowSystemFiles = Sistemske datoteke -Toolbar.ShowExtensions = Oznake tipa datoteke -Status.FreeSpace = %s (slobodan prostor na disku: %s) -Status.Item = %s stavka -Status.Items = %s stavki -Status.ItemSelected = %s izabrana stavka -Status.ItemsSelected = %s izabranih stavki - - -[sv-SE] - Swedish (Sweden) -Copy.Cancel = Avbryt -Copy.More = Mer... -Copy.CopyHere = K&opiera hit -Copy.MoveHere = &Flytta hit -Copy.Title = Bekräfta ersättning av fil -Copy.Subtitle = Den här mappen innehåller redan en fil med namnet %s. -Copy.SubtitleRO = Den här mappen innehåller redan en skrivskyddad fil med namnet %s. -Copy.SubtitleSys = Den här mappen innehåller redan en systemfil med namnet %s. -Copy.Prompt1 = Vill du ersätta den befintliga filen -Copy.Prompt2 = med följande fil? -Copy.Yes = &Ja -Copy.No = &Nej -Copy.YesAll = Ersätt &alla -Folder.Title = Bekräfta ersättning av mapp -Folder.Prompt = Vill du ersätta filerna i den mappen om de har samma namn som filerna i mappen som flyttas eller kopieras? -Toolbar.GoUp = Upp en nivå -Toolbar.Cut = Klipp ut -Toolbar.Copy = Kopiera -Toolbar.Paste = Klistra in -Toolbar.PasteShortcut = Klistra in genväg -Toolbar.Delete = Ta bort -Toolbar.Email = Skicka de markerade objekten i e-postmeddelanden -Toolbar.Properties = Egenskaper -Toolbar.NewFolder = Ny mapp -Toolbar.ZipFolder = Ny komprimerad mapp -Toolbar.ExtraLarge = Extra stora ikoner -Toolbar.Large = Stora ikoner -Toolbar.Medium = Medelstora ikoner -Toolbar.Small = Små ikoner -Toolbar.List = Lista -Toolbar.Details = Detaljerad lista -Toolbar.Tiles = Sammanfattning -Toolbar.Content = Innehåll -Toolbar.Undo = Ångra -Toolbar.Redo = Gör om -Toolbar.Refresh = Uppdatera -Toolbar.Back = Bakåt -Toolbar.Forward = Framåt -Toolbar.Stop = Stoppa -Toolbar.Rename = Byt namn -Toolbar.SelectAll = Markera alla -Toolbar.CustomizeFolder = Anpassa den här mappen -Toolbar.MapDrive = Anslut nätverksenhet -Toolbar.DisconnectDrive = Koppla från nätverksenhet -Toolbar.NavigationPane = Navigeringsfönstret -Toolbar.DetailsPane = Informationsfönstret -Toolbar.PreviewPane = Förhandsgranskningsfönstret -Toolbar.CopyTo = Kopiera till -Toolbar.MoveTo = Flytta till -Toolbar.Deselect = Avmarkera alla -Toolbar.InvertSelection = Invertera markering -Toolbar.FolderOptions = Mappalternativ -Toolbar.ShowHiddenFiles = Dolda filer och mappar -Toolbar.ShowSystemFiles = Systemfiler -Toolbar.ShowExtensions = Filnamnstillägg -Status.FreeSpace = %s (Ledigt utrymme: %s) -Status.Item = %s objekt -Status.Items = %s objekt -Status.ItemSelected = %s objekt markerat -Status.ItemsSelected = %s objekt markerade - - -[th-TH] - Thai (Thailand) -Copy.Cancel = ยกเลิก -Copy.More = เพิ่มเติม... -Copy.CopyHere = คัด&ลอกมาที่นี่ -Copy.MoveHere = ย้&ายมาที่นี่ -Copy.Title = ยืนยันการแทนที่แฟ้ม -Copy.Subtitle = โฟลเดอร์นี้มีแฟ้มชื่อ '%s' อยู่แล้ว -Copy.SubtitleRO = โฟลเดอร์นี้มีแฟ้มแบบอ่านอย่างเดียวที่ชื่อ '%s' อยู่แล้ว -Copy.SubtitleSys = โฟลเดอร์นี้มีแฟ้มระบบที่ชื่อ '%s' อยู่แล้ว -Copy.Prompt1 = คุณต้องการแทนที่แฟ้มที่มีอยู่ -Copy.Prompt2 = ด้วยแฟ้มนี้หรือไม่ -Copy.Yes = ใ&ช่ -Copy.No = ไ&ม่ใช่ -Copy.YesAll = ใช่&ทั้งหมด -Folder.Title = การยืนยันการแทนที่โฟลเดอร์ -Folder.Prompt = ถ้าแฟ้มในโฟลเดอร์ที่มีอยู่มีชื่อเดียวกันกับแฟ้มในโฟลเดอร์ที่คุณกำลังย้ายหรือคัดลอก แฟ้มเหล่านั้นจะถูกแทนที่ คุณยังต้องการที่จะย้ายหรือคัดลอกโฟลเดอร์หรือไม่ -Toolbar.GoUp = เลื่อนขึ้นหนึ่งระดับ -Toolbar.Cut = ตัด -Toolbar.Copy = คัดลอก -Toolbar.Paste = วาง -Toolbar.PasteShortcut = วางทางลัด -Toolbar.Delete = ลบ -Toolbar.Email = ส่งอีเมลรายการที่เลือก -Toolbar.Properties = คุณสมบัติ -Toolbar.NewFolder = สร้างโฟลเดอร์ -Toolbar.ZipFolder = โฟลเดอร์ที่บีบอัดใหม่ -Toolbar.ExtraLarge = ไอคอนขนาดใหญ่พิเศษ -Toolbar.Large = ไอคอนขนาดใหญ่ -Toolbar.Medium = ไอคอนขนาดกลาง -Toolbar.Small = ไอคอนขนาดเล็ก -Toolbar.List = รายการ -Toolbar.Details = รายละเอียด -Toolbar.Tiles = เรียงต่อกัน -Toolbar.Content = เนื้อหา -Toolbar.Undo = เลิกทำ -Toolbar.Redo = ทำซ้ำ -Toolbar.Refresh = ฟื้นฟู -Toolbar.Back = ย้อนกลับ -Toolbar.Forward = ไปข้างหน้า -Toolbar.Stop = หยุด -Toolbar.Rename = เปลี่ยนชื่อ -Toolbar.SelectAll = เลือกทั้งหมด -Toolbar.CustomizeFolder = กำหนดโฟลเดอร์นี้เอง -Toolbar.MapDrive = แมปไดรฟ์เครือข่าย -Toolbar.DisconnectDrive = ยกเลิกการเชื่อมต่อไดรฟ์เครือข่าย -Toolbar.NavigationPane = บานหน้าต่างนำทาง -Toolbar.DetailsPane = บานหน้าต่างแสดงรายละเอียด -Toolbar.PreviewPane = บานหน้าต่างแสดงตัวอย่าง -Toolbar.CopyTo = คัดลอกไปที่ -Toolbar.MoveTo = ย้ายไปที่ -Toolbar.Deselect = ไม่เลือกเลย -Toolbar.InvertSelection = สลับส่วนที่เลือก -Toolbar.FolderOptions = ตัวเลือกโฟลเดอร์ -Toolbar.ShowHiddenFiles = แฟ้มและโฟลเดอร์ที่ซ่อนไว้ -Toolbar.ShowSystemFiles = แฟ้มระบบ -Toolbar.ShowExtensions = ส่วนขยายของแฟ้ม -Status.FreeSpace = %s (เนื้อที่ว่างดิสก์: %s) -Status.Item = %s รายการ -Status.Items = %s รายการ -Status.ItemSelected = เลือก %s รายการ -Status.ItemsSelected = เลือก %s รายการ - - -[tr-TR] - Turkish (Turkey) -Copy.Cancel = İptal -Copy.More = Tümü... -Copy.CopyHere = Buraya &Kopyala -Copy.MoveHere = Buraya &Taşı -Copy.Title = Dosya Değişimini Onayla -Copy.Subtitle = Bu klasörde zaten '%s' adlı bir dosya var. -Copy.SubtitleRO = Bu klasörde zaten '%s' adlı salt okunur bir dosya var. -Copy.SubtitleSys = Bu klasörde zaten '%s' adlı bir sistem dosyası var. -Copy.Prompt1 = Varolan dosyayı -Copy.Prompt2 = aşağıdaki dosya ile değiştirmek istiyor musunuz? -Copy.Yes = &Evet -Copy.No = &Hayır -Copy.YesAll = &Tümüne Evet -Folder.Title = Klasör Değişimini Onayla -Folder.Prompt = Klasörü taşımak ya da kopyalamak istiyor musunuz? -Toolbar.GoUp = Bir Düzey Yukarı -Toolbar.Cut = Kes -Toolbar.Copy = Kopyala -Toolbar.Paste = Yapıştır -Toolbar.PasteShortcut = Kısayol Yapıştır -Toolbar.Delete = Sil -Toolbar.Email = Seçili öğeleri e-postayla gönder -Toolbar.Properties = Özellikler -Toolbar.NewFolder = Yeni Klasör -Toolbar.ZipFolder = Yeni Sıkıştırılmış Klasör -Toolbar.ExtraLarge = Çok Büyük Simgeler -Toolbar.Large = Büyük Simgeler -Toolbar.Medium = Orta Boy Simgeler -Toolbar.Small = Küçük Simgeler -Toolbar.List = Listele -Toolbar.Details = Ayrıntılar -Toolbar.Tiles = Döşemeler -Toolbar.Content = İçerik -Toolbar.Undo = Geri Al -Toolbar.Redo = Yinele -Toolbar.Refresh = Yenile -Toolbar.Back = Geri -Toolbar.Forward = İleri -Toolbar.Stop = Durdur -Toolbar.Rename = Yeniden Adlandır -Toolbar.SelectAll = Tümünü seç -Toolbar.CustomizeFolder = Bu klasörü özelleştir -Toolbar.MapDrive = Ağ sürücüsüne bağlan -Toolbar.DisconnectDrive = Ağ sürücüsü bağlantısını kes -Toolbar.NavigationPane = Gezinti bölmesi -Toolbar.DetailsPane = Ayrıntılar bölmesi -Toolbar.PreviewPane = Önizleme bölmesi -Toolbar.CopyTo = Kopyalama hedefi -Toolbar.MoveTo = Taşıma hedefi -Toolbar.Deselect = Hiçbirini seçme -Toolbar.InvertSelection = Diğerlerini seç -Toolbar.FolderOptions = Klasör seçenekleri -Toolbar.ShowHiddenFiles = Gizli dosya ve klasörler -Toolbar.ShowSystemFiles = Sistem dosyaları -Toolbar.ShowExtensions = Dosya adı uzantıları -Status.FreeSpace = %s (Boş disk boş alanı: %s) -Status.Item = %s öğe -Status.Items = %s öğe -Status.ItemSelected = %s öğe seçili -Status.ItemsSelected = %s öğe seçili - - -[uk-UA] - Ukrainian (Ukraine) -Copy.Cancel = Скасувати -Copy.More = Додатково... -Copy.CopyHere = &Копіювати сюди -Copy.MoveHere = П&еремістити -Copy.Title = Підтвердження заміни файлу -Copy.Subtitle = Ця папка вже містить файл з ім'ям "%s". -Copy.SubtitleRO = Ця папка вже містить доступний лише для читання файл з ім'ям "%s". -Copy.SubtitleSys = Ця папка вже містить системний файл з ім'ям "%s". -Copy.Prompt1 = Замінити наявний файл -Copy.Prompt2 = на цей файл? -Copy.Yes = &Так -Copy.No = &Ні -Copy.YesAll = Так для &всіх -Folder.Title = Підтвердження заміни папки -Folder.Prompt = Розпочати переміщення або копіювання папки? -Toolbar.GoUp = На один рівень вгору -Toolbar.Cut = Вирізати -Toolbar.Copy = Копіювати -Toolbar.Paste = Вставити -Toolbar.PasteShortcut = Вставити ярлик -Toolbar.Delete = Видалити -Toolbar.Email = Надіслати виділені об'єкти електронною поштою -Toolbar.Properties = Властивості -Toolbar.NewFolder = Створити папку -Toolbar.ZipFolder = Нова стиснута ZIP-папка -Toolbar.ExtraLarge = Величезні піктограми -Toolbar.Large = Великі піктограми -Toolbar.Medium = Середні піктограми -Toolbar.Small = Дрібні піктограми -Toolbar.List = Список -Toolbar.Details = Таблиця -Toolbar.Tiles = Мозаїка -Toolbar.Content = Вміст -Toolbar.Undo = Скасувати -Toolbar.Redo = Повторити -Toolbar.Refresh = Оновити -Toolbar.Back = Назад -Toolbar.Forward = Вперед -Toolbar.Stop = Зупинити -Toolbar.Rename = Перейменувати -Toolbar.SelectAll = Вибрати всі -Toolbar.CustomizeFolder = Настроїти папку -Toolbar.MapDrive = Підключити мережний диск -Toolbar.DisconnectDrive = Відключити мережний диск -Toolbar.NavigationPane = Область переходів -Toolbar.DetailsPane = Область відомостей -Toolbar.PreviewPane = Область перегляду -Toolbar.CopyTo = Копіювати -Toolbar.MoveTo = Перемістити -Toolbar.Deselect = Скасувати виділення -Toolbar.InvertSelection = Обернути виділення -Toolbar.FolderOptions = Параметри папки -Toolbar.ShowHiddenFiles = Приховані файли й папки -Toolbar.ShowSystemFiles = Системні файли -Toolbar.ShowExtensions = Розширення імен файлів -Status.FreeSpace = %s (Доступно на диску: %s) -Status.Item = %s елемент -Status.Items = %s елементів -Status.ItemSelected = Вибрано елемент: %s -Status.ItemsSelected = Вибрано елементів: %s - - -[zh-CN] - Chinese (Simplified) -Copy.Cancel = 取消 -Copy.More = 其他... -Copy.CopyHere = 复制到当前位置(&C) -Copy.MoveHere = 移动到当前位置(&M) -Copy.Title = 确认文件替换 -Copy.Subtitle = 此文件夹已包含一个名为“%s”的文件。 -Copy.SubtitleRO = 此文件夹已包括一个名为“%s”的只读文件。 -Copy.SubtitleSys = 此文件夹已包括一个名为“%s”的系统文件。 -Copy.Prompt1 = 是否将现有文件 -Copy.Prompt2 = 替换为 -Copy.Yes = 是(&Y) -Copy.No = 否(&N) -Copy.YesAll = 全部(&A) -Folder.Title = 确认文件夹替换 -Folder.Prompt = 是否移动或复制文件夹? -Toolbar.GoUp = 向上一级 -Toolbar.Cut = 剪切 -Toolbar.Copy = 复制 -Toolbar.Paste = 粘贴 -Toolbar.PasteShortcut = 粘贴快捷方式 -Toolbar.Delete = 删除 -Toolbar.Email = 以电子邮件形式发送所选项目 -Toolbar.Properties = 属性 -Toolbar.NewFolder = 新文件夹 -Toolbar.ZipFolder = 新建压缩的(zipped)文件夹 -Toolbar.ExtraLarge = 超大图标 -Toolbar.Large = 大图标 -Toolbar.Medium = 中等图标 -Toolbar.Small = 小图标 -Toolbar.List = 列表 -Toolbar.Details = 详细信息 -Toolbar.Tiles = 平铺 -Toolbar.Content = 内容 -Toolbar.Undo = 撤消 -Toolbar.Redo = 恢复 -Toolbar.Refresh = 刷新 -Toolbar.Back = 后退 -Toolbar.Forward = 前进 -Toolbar.Stop = 停止 -Toolbar.Rename = 重命名 -Toolbar.SelectAll = 全选 -Toolbar.CustomizeFolder = 自定义文件夹 -Toolbar.MapDrive = 映射网络驱动器 -Toolbar.DisconnectDrive = 断开网络驱动器 -Toolbar.NavigationPane = 导航窗格 -Toolbar.DetailsPane = 细节窗格 -Toolbar.PreviewPane = 预览窗格 -Toolbar.CopyTo = 复制到​​ -Toolbar.MoveTo = 移动到​​ -Toolbar.Deselect = 全部取消 -Toolbar.InvertSelection = 反向选择 -Toolbar.FolderOptions = 文件夹选项 -Toolbar.ShowHiddenFiles = 隐藏文件和文件夹 -Toolbar.ShowSystemFiles = 系统文件 -Toolbar.ShowExtensions = 文件扩展名 -Status.FreeSpace = %s (磁盘可用空间: %s) -Status.Item = %s 项 -Status.Items = %s 个项目 -Status.ItemSelected = 已选择 %s 项 -Status.ItemsSelected = 已选择 %s 个项 - - -[zh-HK] - Chinese (Traditional) -Copy.Cancel = 取消 -Copy.More = 其他... -Copy.CopyHere = 複製到這裡(&C) -Copy.MoveHere = 移動到這裡(&M) -Copy.Title = 確認取代檔案 -Copy.Subtitle = 這個資料夾已經有一個名稱為 '%s' 的檔案。 -Copy.SubtitleRO = 這個資料夾已經有一個名稱為 '%s' 的唯讀檔。 -Copy.SubtitleSys = 這個資料夾已經有一個名稱為 '%s' 的系統檔。 -Copy.Prompt1 = 您要將目前的檔案 -Copy.Prompt2 = 取代成這個檔案嗎? -Copy.Yes = 是(&Y) -Copy.No = 否(&N) -Copy.YesAll = 全部取代(&A) -Folder.Title = 確認取代資料夾 -Folder.Prompt = 仍然要移動或複製資料夾? -Toolbar.GoUp = 上移一層 -Toolbar.Cut = 剪下 -Toolbar.Copy = 複製 -Toolbar.Paste = 貼上 -Toolbar.PasteShortcut = 貼上捷徑 -Toolbar.Delete = 刪除 -Toolbar.Email = 以電子郵件傳送選取的項目 -Toolbar.Properties = 內容 -Toolbar.NewFolder = 新增資料夾 -Toolbar.ZipFolder = 新壓縮 (zipped) 資料夾 -Toolbar.ExtraLarge = 特大圖示 -Toolbar.Large = 大圖示 -Toolbar.Medium = 中圖示 -Toolbar.Small = 小圖示 -Toolbar.List = 清單 -Toolbar.Details = 詳細資料 -Toolbar.Tiles = 並排 -Toolbar.Content = 內容 -Toolbar.Undo = 復原 -Toolbar.Redo = 重做 -Toolbar.Refresh = 重新整理 -Toolbar.Back = 上一頁 -Toolbar.Forward = 下一頁 -Toolbar.Stop = 停止 -Toolbar.Rename = 重新命名 -Toolbar.SelectAll = 全選 -Toolbar.CustomizeFolder = 自訂此資料夾 -Toolbar.MapDrive = 連線網路磁碟機 -Toolbar.DisconnectDrive = 中斷網路磁碟機 -Toolbar.NavigationPane = 瀏覽窗格 -Toolbar.DetailsPane = 詳細資料窗格 -Toolbar.PreviewPane = 預覽窗格 -Toolbar.CopyTo = 複製到​​ -Toolbar.MoveTo = 移至​​ -Toolbar.Deselect = 全部不選 -Toolbar.InvertSelection = 反向選擇 -Toolbar.FolderOptions = 資料夾選項 -Toolbar.ShowHiddenFiles = 隱藏的檔案和資料夾 -Toolbar.ShowSystemFiles = 系統檔 -Toolbar.ShowExtensions = 副檔名 -Status.FreeSpace = %s (磁碟可用空間: %s) -Status.Item = %s 個項目 -Status.Items = %s 個項目 -Status.ItemSelected = 選取了 %s 個項目 -Status.ItemsSelected = 選取了 %s 個項目 - - -[zh-TW] - Chinese (Traditional) -Copy.Cancel = 取消 -Copy.More = 其他... -Copy.CopyHere = 複製到這裡(&C) -Copy.MoveHere = 移動到這裡(&M) -Copy.Title = 確認取代檔案 -Copy.Subtitle = 這個資料夾已經有一個名稱為 '%s' 的檔案。 -Copy.SubtitleRO = 這個資料夾已經有一個名稱為 '%s' 的唯讀檔。 -Copy.SubtitleSys = 這個資料夾已經有一個名稱為 '%s' 的系統檔。 -Copy.Prompt1 = 您要將目前的檔案 -Copy.Prompt2 = 取代成這個檔案嗎? -Copy.Yes = 是(&Y) -Copy.No = 否(&N) -Copy.YesAll = 全部取代(&A) -Folder.Title = 確認取代資料夾 -Folder.Prompt = 仍然要移動或複製資料夾? -Toolbar.GoUp = 上移一層 -Toolbar.Cut = 剪下 -Toolbar.Copy = 複製 -Toolbar.Paste = 貼上 -Toolbar.PasteShortcut = 貼上捷徑 -Toolbar.Delete = 刪除 -Toolbar.Email = 以電子郵件傳送選取的項目 -Toolbar.Properties = 內容 -Toolbar.NewFolder = 新增資料夾 -Toolbar.ZipFolder = 新壓縮 (zipped) 資料夾 -Toolbar.ExtraLarge = 特大圖示 -Toolbar.Large = 大圖示 -Toolbar.Medium = 中圖示 -Toolbar.Small = 小圖示 -Toolbar.List = 清單 -Toolbar.Details = 詳細資料 -Toolbar.Tiles = 並排 -Toolbar.Content = 內容 -Toolbar.Undo = 復原 -Toolbar.Redo = 重做 -Toolbar.Refresh = 重新整理 -Toolbar.Back = 上一頁 -Toolbar.Forward = 下一頁 -Toolbar.Stop = 停止 -Toolbar.Rename = 重新命名 -Toolbar.SelectAll = 全選 -Toolbar.CustomizeFolder = 自訂此資料夾 -Toolbar.MapDrive = 連線網路磁碟機 -Toolbar.DisconnectDrive = 中斷網路磁碟機 -Toolbar.NavigationPane = 瀏覽窗格 -Toolbar.DetailsPane = 詳細資料窗格 -Toolbar.PreviewPane = 預覽窗格 -Toolbar.CopyTo = 複製到​​ -Toolbar.MoveTo = 移至​​ -Toolbar.Deselect = 全部不選 -Toolbar.InvertSelection = 反向選擇 -Toolbar.FolderOptions = 資料夾選項 -Toolbar.ShowHiddenFiles = 隱藏的檔案和資料夾 -Toolbar.ShowSystemFiles = 系統檔 -Toolbar.ShowExtensions = 副檔名 -Status.FreeSpace = %s (磁碟可用空間: %s) -Status.Item = %s 個項目 -Status.Items = %s 個項目 -Status.ItemSelected = 選取了 %s 個項目 -Status.ItemsSelected = 選取了 %s 個項目 diff --git a/Localization/StartMenuHelperL10N.ini b/Localization/StartMenuHelperL10N.ini deleted file mode 100644 index 14aef2a..0000000 Binary files a/Localization/StartMenuHelperL10N.ini and /dev/null differ diff --git a/Localization/StartMenuL10N.ini b/Localization/StartMenuL10N.ini deleted file mode 100644 index d483f5c..0000000 --- a/Localization/StartMenuL10N.ini +++ /dev/null @@ -1,5596 +0,0 @@ -; This file contains all localized text for Open-Shell Menu. There is one section per language. -; Every section contains text lines in the form of = . -; Which section is used depends on the current OS setting. If a key is missing from the language section -; it will be searched in the [default] section. In some cases more than one language can be used. -; For example a Japanese system may use English as a secondary language. In that case the search order -; will be [ja-JP] -> [en-US] -> [default]. -; -; ============================================================================= - - -[default] -Menu.ClassicSettings = Open-Shell &Menu -Menu.SettingsTip = Settings for Open-Shell Menu - - -[ar-SA] - Arabic (Saudi Arabia) -Menu.Programs = البرا&مج -Menu.Apps = التطبيقات -Menu.AllPrograms = كافة البرامج -Menu.Back = الخلف -Menu.Favorites = المف&ضلة -Menu.Documents = المستن&دات -Menu.Settings = إ&عدادات -Menu.Search = بح&ث -Menu.SearchBox = بحث -Menu.SearchPrograms = البحث في البرامج والملفات -Menu.SearchInternet = بحث في إنترنت -Menu.Searching = يتم الآن البحث... -Menu.NoMatch = لا توجد أية عناصر تطابق البحث. -Menu.MoreResults = الاطلاع على مزيد من النتائج -Menu.Help = التع&ليمات والدعم -Menu.Run = تش&غيل... -Menu.Logoff = ت&سجيل خروج %s‎ -Menu.SwitchUser = تبديل المست&خدم -Menu.Lock = تأ&مين -Menu.LogOffShort = ت&سجيل الخروج -Menu.Undock = إلغاء إرساء ال&كمبيوتر -Menu.Disconnect = &قطع الاتصال -Menu.ShutdownBox = إيقا&ف التشغيل... -Menu.Shutdown = إيقاف الت&شغيل -Menu.Restart = إعادة التش&غيل -Menu.ShutdownUpdate = التحديث وإيقاف التشغيل -Menu.RestartUpdate = تثبيت التحديثات وإعادة التشغيل -Menu.Sleep = &سكون -Menu.Hibernate = إ&سبات -Menu.ControlPanel = لوحة التح&كم -Menu.PCSettings = إعدادات الكمبيوتر -Menu.Security = أمان Windows -Menu.Network = ا&تصالات الشبكة -Menu.Printers = &طابعات -Menu.Taskbar = &شريط المهام والقائمة "ابدأ" -Menu.SearchFiles = عن &ملفات أو مجلدات... -Menu.SearchPrinter = عن &طابعة -Menu.SearchComputers = عن أجهزة &كمبيوتر -Menu.UserFilesTip = يحتوي على مجلدات للمستندات والصور والموسيقى وغير ذلك من الملفات الخاصة بك. -Menu.UserDocumentsTip = يحتوي على خطابات وتقارير ومستندات وملفات أخرى. -Menu.UserPicturesTip = يحتوي على صور فوتوغرافية رقمية وصور وملفات رسومية. -Menu.UserMusicTip = يحتوي على ملفات الموسيقى والصوت الأخرى. -Menu.UserVideosTip = يحتوي على أفلام وملفات فيديو أخرى. -Menu.NetworkTip = ‏‏عرض اتصالات الشبكة الموجودة على هذا الكمبيوتر والمساعدة في إنشاء اتصالات جديدة -Menu.PrintersTip = إضافة الطابعات المحلية وطابعات الشبكة وإزالتها وتكوينها. -Menu.TaskbarTip = ‏‏تخصيص القائمة "ابدأ" وشريط المهام مثل أنواع العناصر التي سيتم عرضها وطريقة عرضها -Menu.ControlPanelTip = ‏‏تغيير الإعدادات وتخصيص وظائف الكمبيوتر. -Menu.DocumentsLibTip = الوصول إلى الخطابات والتقارير والملاحظات وغير ذلك من أنواع المستندات. -Menu.MusicLibTip = تشغيل ملفات الموسيقى وملفات الصوت الأخرى. -Menu.PicturesLibTip = عرض الصور الرقمية وتنظيمها. -Menu.VideosLibTip = مشاهدة الأفلام المنزلية ومقاطع الفيديو الرقمية الأخرى. -Menu.RecordingsLibTip = مشاهدة برامج التلفزيون المسجلة على الكمبيوتر. -Menu.DownloadTip = البحث عن تنزيلات إنترنت والارتباطات بمواقع ويب المفضلة. -Menu.HomegroupTip = الوصول إلى المكتبات والمجلدات المشتركة من قِبل أشخاص آخرين في مجموعة المشاركة المنزلية. -Menu.RunTip = فتح برنامج أو مجلد أو مستند أو موقع على ويب. -Menu.HelpTip = العثور على مواضيع "التعليمات"، والبرامج التعليمية واستكشاف الأخطاء وإصلاحها وخدمات الدعم الأخرى. -Menu.ProgramsTip = فتح قائمة من البرامج. -Menu.SearchFilesTip = البحث عن المستندات والموسيقى والصور والبريد الإلكتروني وغير ذلك. -Menu.GamesTip = تشغيل الألعاب وإدارتها على الكمبيوتر. -Menu.SecurityTip = بدء تشغيل خيارات أمان Windows لتغيير كلمة المرور أو تبديل المستخدم أو بدء إدارة المهام. -Menu.SearchComputersTip = البحث عن أجهزة كمبيوتر على الشبكة -Menu.SearchPrintersTip = البحث عن طابعة -Menu.AdminToolsTip = تكوين الإعدادات الإدارية للكمبيوتر -Menu.ShutdownTip = إغلاق كافة البرامج المفتوحة وإيقاف تشغيل Windows، ثم إيقاف تشغيل الكمبيوتر. -Menu.RestartTip = إغلاق كافة البرامج المفتوحة وإيقاف تشغيل Windows، ثم تشغيله مرة أخرى. -Menu.SleepTip = حفظ جلسة العمل في الذاكرة ووضع الكمبيوتر في حالة الطاقة المنخفضة حتى يمكن استئناف العمل بسرعة. -Menu.HibernateTip = حفظ جلسة العمل وإيقاف تشغيل الكمبيوتر. وعند تشغيل الكمبيوتر يقوم Windows باستعادة الجلسة. -Menu.LogOffTip = ‏‏أغلق البرامج وقم بتسجيل الخروج. -Menu.DisconnectTip = قطع الاتصال بجلسة العمل. يمكنك إعادة الاتصال بجلسة العمل هذه عند تسجيل الدخول مرة أخرى. -Menu.LockTip = تأمين هذا الكمبيوتر. -Menu.UndockTip = إزالة الكمبيوتر المحمول من محطة إرساء. -Menu.SwitchUserTip = تبديل المستخدمين بدون إغلاق البرامج. -Menu.Empty = (فارغ) -Menu.Features = البرامج والميزات -Menu.FeaturesTip = إزالة تثبيت البرامج الموجودة على الكمبيوتر أو تغييرها. -Menu.SearchPeople = عن أ&شخاص... -Menu.SortByName = فرز &حسب الاسم -Menu.Open = ف&تح -Menu.OpenAll = &فتح كافة المستخدمين -Menu.Explore = ا&ستكشاف -Menu.ExploreAll = است&كشاف كافة المستخدمين -Menu.MenuSettings = إعدادات -Menu.MenuHelp = تعليمات -Menu.MenuExit = إنهاء -Menu.LogoffTitle = تسجيل الخروج من Windows -Menu.LogoffPrompt = هل تريد بالتأكيد تسجيل الخروج؟ -Menu.LogoffYes = &تسجيل الخروج -Menu.LogoffNo = &لا -Menu.RenameTitle = إعادة تسمية -Menu.RenamePrompt = الاسم الج&ديد: -Menu.RenameOK = حسنا -Menu.RenameCancel = إلغاء الأمر -Menu.Organize = تنظيم قائمة "ابدأ" -Menu.Expand = تو&سيع -Menu.Collapse = &طي -Menu.NewFolder = مجلد جديد -Menu.NewShortcut = اختصار جديد -Menu.AutoArrange = ترتيب تل&قائي -Menu.ActionOpen = فتح -Menu.ActionClose = إغلاق -Menu.ActionExecute = تنفيذ -Menu.RemoveList = إزالة من هذه ال&قائمة -Menu.RemoveAll = م&سح قائمة العناصر الحديثة -Menu.Explorer = مستكشف Windows -Menu.Start = ابدأ -Menu.StartScreen = شاشة البدء -Menu.StartMenu = القائمة "ابدأ" (Windows) -Menu.PinStart = تثبيت بالقائمة "ابدأ". -Menu.PinStartCs = تثبيت بالقائمة "ابدأ". (Open-Shell) -Menu.UnpinStartCs = إزالة التثبيت من القائمة "ابدأ" (Open-Shell) -Menu.MonitorOff = إيقاف تشغيل شاشة العرض -Menu.RemoveHighlight = إزالة التمييز -Menu.Uninstall = إز&الة التثبيت -Menu.UninstallTitle = إزالة التثبيت -Menu.UninstallPrompt = ‏‏هل تريد بالتأكيد إزالة تثبيت %s؟ -Search.CategorySettings = الإعدادات -Search.CategoryPCSettings = إعدادات الكمبيوتر -Search.CategoryPrograms = البرامج -Search.CategoryDocuments = المستندات -Search.CategoryMusic = الموسيقى -Search.CategoryPictures = الصور -Search.CategoryVideos = ملفات فيديو -Search.CategoryFiles = الملفات -Search.CategoryInternet = إنترنت -JumpList.Recent = حديث -JumpList.Frequent = متكرر -JumpList.Tasks = المهام -JumpList.Pinned = مثبت -JumpList.Pin = ت&ثبيت بهذه القائمة -JumpList.Unpin = إزا&لة التثبيت من هذه القائمة -JumpList.Remove = إزالة من ه&ذه القائمة -JumpList.PinTip = تثبيت بهذه القائمة -JumpList.UnpinTip = إزالة التثبيت من هذه القائمة - - -[bg-BG] - Bulgarian (Bulgaria) -Menu.Programs = &Програми -Menu.Apps = Приложения -Menu.AllPrograms = Всички програми -Menu.Back = Назад -Menu.Favorites = Пре&дпочитани -Menu.Documents = Док&ументи -Menu.Settings = &Настройки -Menu.Search = &Търсене -Menu.SearchBox = Търсене -Menu.SearchPrograms = Търсене на програми и файлове -Menu.SearchInternet = Търсене в интернет -Menu.Searching = Търсене... -Menu.NoMatch = Няма елементи, отговарящи на вашето търсене. -Menu.MoreResults = Показване на повече резултати -Menu.Help = Помо&щ и поддръжка -Menu.Run = &Изпълнение... -Menu.Logoff = Изли&зане на %s -Menu.SwitchUser = Смяна на потр&ебител -Menu.Lock = З&аключване -Menu.LogOffShort = Из&лизане -Menu.Undock = Откачи компют&ъра -Menu.Disconnect = Пр&екъсване на връзката -Menu.ShutdownBox = Изк&лючване... -Menu.Shutdown = Изк&лючване -Menu.Restart = &Рестартиране -Menu.ShutdownUpdate = Актуализиране и изключване -Menu.RestartUpdate = Актуализиране и рестартиране -Menu.Sleep = &Заспиване -Menu.Hibernate = &Хибернация -Menu.ControlPanel = &Контролен панел -Menu.PCSettings = Настройки на компютъра -Menu.Security = Защита на Windows -Menu.Network = &Мрежови връзки -Menu.Printers = Принт&ери -Menu.Taskbar = &Лента на задачите и меню "Старт" -Menu.SearchFiles = За &файловете или папките... -Menu.SearchPrinter = За &принтер -Menu.SearchComputers = За &компютри -Menu.UserFilesTip = Съдържа папки за документи, изображения, музика и други ваши файлове. -Menu.UserDocumentsTip = Съдържа писма, отчети и други документи и файлове. -Menu.UserPicturesTip = Съдържа цифрови снимки, изображения и графични файлове. -Menu.UserMusicTip = Съдържа музика и други аудио файлове. -Menu.UserVideosTip = Съдържа филми и други видео файлове. -Menu.NetworkTip = Показва съществуващи връзки на мрежата в този компютър и ви помага да създадете нови -Menu.PrintersTip = Добавяне, премахване и конфигуриране на локални и мрежови принтери. -Menu.TaskbarTip = Персонализиране на менюто "Старт" и лентата на задачите, като напр. типовете елементи, които ще бъдат показани, както и начина на тяхната поява. -Menu.ControlPanelTip = Промяна на настройките и персонализиране на функционалността на компютъра. -Menu.DocumentsLibTip = Достъп до писма, отчети, бележки и други видове документи. -Menu.MusicLibTip = Възпроизвеждане на музика и други аудио файлове. -Menu.PicturesLibTip = Преглед и организиране на цифрови картини. -Menu.VideosLibTip = Гледане на домашни филми и други цифрови видеозаписи. -Menu.RecordingsLibTip = Гледане на записани на компютъра ТВ програми. -Menu.DownloadTip = Търсене на изтеглени файлове от интернет и връзки към предпочитани връзки. -Menu.HomegroupTip = Достъп до библиотеки и папки, споделени от други хора в домашната ви мрежа. -Menu.RunTip = Отваря програма, папка, документ или уеб сайт. -Menu.HelpTip = Намерете теми от "Помощ", уроци, отстраняване на неизправности и други поддържащи услуги. -Menu.ProgramsTip = Отваря списък на програмите. -Menu.SearchFilesTip = Търсете документи, музика, картини, електронна поща и др. -Menu.GamesTip = Играйте и управлявайте игрите на своя компютър. -Menu.SecurityTip = Стартирайте опциите за защита на Windows, за да смените парола, да смените потребител или да стартирате диспечера на задачите. -Menu.SearchComputersTip = Търсене на компютри в мрежата -Menu.SearchPrintersTip = Търсене на принтер -Menu.AdminToolsTip = Конфигуриране на административните настройки на компютъра. -Menu.ShutdownTip = Затваря всички отворени програми, изключва Windows и изключва компютъра. -Menu.RestartTip = Затваря всички отворени програми, изключва Windows и после отново стартира Windows. -Menu.SleepTip = Запазва сесията ви в паметта и поставя компютъра в състояние на ниско енергопотребление, така че да можете бързо да възобновите работа. -Menu.HibernateTip = Запазва сесията ви в паметта и изключва компютъра. Когато включите компютъра, Windows възстановява сесията ви. -Menu.LogOffTip = Затваряне на програмите и излизане. -Menu.DisconnectTip = Прекратява връзката с вашата сесия. Можете да се свържете с тази сесия отново, когато влезете отново. -Menu.LockTip = Заключване на този компютър. -Menu.UndockTip = Премахва вашия лаптоп или ноутбук компютър от базова станция. -Menu.SwitchUserTip = Смяна на потребителите потребители без да се затварят програмите. -Menu.Empty = (Празно) -Menu.Features = Програми и компоненти -Menu.FeaturesTip = Деинсталиране или промяна на програми на компютъра. -Menu.SearchPeople = За хо&ра... -Menu.SortByName = &Сортирай по име -Menu.Open = &Отвори -Menu.OpenAll = О&твори "Всички потребители" -Menu.Explore = &Преглед -Menu.ExploreAll = Пре&глед на "Всички потребители" -Menu.MenuSettings = Настройки -Menu.MenuHelp = Помощ -Menu.MenuExit = Изход -Menu.LogoffTitle = Излизане от Windows -Menu.LogoffPrompt = Наистина ли искате да излезете? -Menu.LogoffYes = &Излизане -Menu.LogoffNo = &Не -Menu.RenameTitle = Преименуване -Menu.RenamePrompt = &Ново име: -Menu.RenameOK = OK -Menu.RenameCancel = Отказ -Menu.Organize = Организиране на менюто "Старт" -Menu.Expand = &Разгъни -Menu.Collapse = С&вий -Menu.NewFolder = Нова папка -Menu.NewShortcut = Нов пряк път -Menu.AutoArrange = &Автоматично подреждане -Menu.ActionOpen = Отвори -Menu.ActionClose = Затвори -Menu.ActionExecute = Изпълнение -Menu.RemoveList = Премахни &от този списък -Menu.RemoveAll = И&зчисти списъка с последни програми -Menu.Explorer = Windows Explorer -Menu.Start = Старт -Menu.StartScreen = Стартов екран -Menu.StartMenu = Меню "Старт" (Windows) -Menu.PinStart = Закачи към менюто "Старт" -Menu.PinStartCs = Закачи към менюто "Старт" (Open-Shell) -Menu.UnpinStartCs = Откачи от менюто "Старт" (Open-Shell) -Menu.MonitorOff = Изключване на дисплея -Menu.RemoveHighlight = Премахни осветяването -Menu.Uninstall = &Деинсталирай -Menu.UninstallTitle = Деинсталиране -Menu.UninstallPrompt = Наистина ли искате да деинсталирате %s? -Search.CategorySettings = Настройки -Search.CategoryPCSettings = Настройки на компютъра -Search.CategoryPrograms = Програми -Search.CategoryDocuments = Документи -Search.CategoryMusic = Музика -Search.CategoryPictures = Картини -Search.CategoryVideos = Видеозаписи -Search.CategoryFiles = Файлове -Search.CategoryInternet = Интернет -JumpList.Recent = Последни -JumpList.Frequent = Често Използвани -JumpList.Tasks = Задачи -JumpList.Pinned = Закачени -JumpList.Pin = За&качи към този списък -JumpList.Unpin = &Откачи от този списък -JumpList.Remove = Према&хни от този списък -JumpList.PinTip = Закачи към този списък -JumpList.UnpinTip = Откачи от този списък - - -[ca-ES] - Catalan (Catalan) -Menu.Programs = &Programes -Menu.Apps = Aplicacions -Menu.AllPrograms = Tots els programes -Menu.Back = Enrera -Menu.Favorites = Fa&vorits -Menu.Documents = Docu&ments -Menu.Settings = Con&figuració -Menu.Search = &Cercar -Menu.SearchBox = Cercar -Menu.SearchPrograms = Cercar programes i arxius -Menu.SearchInternet = Cercar a Internet -Menu.Searching = Cercant... -Menu.NoMatch = Ningún element coincideix amb el criteri de cerca. -Menu.MoreResults = Veure més resultats -Menu.Help = &Ajuda i suport técnic -Menu.Run = &Executar... -Menu.Logoff = &Tancar sessió de %s -Menu.SwitchUser = Canviar d'usuari -Menu.Lock = Bloquejar -Menu.LogOffShort = Tancar sessió -Menu.Undock = De&sacoblar equip -Menu.Disconnect = &Desconectar -Menu.ShutdownBox = Apaga&r... -Menu.Shutdown = &Apagar -Menu.Restart = &Reiniciar -Menu.ShutdownUpdate = Actualitzar i apagar -Menu.RestartUpdate = Actualitzar i reiniciar -Menu.Sleep = &Suspendre -Menu.Hibernate = &Hibernar -Menu.ControlPanel = &Panell de control -Menu.PCSettings = Configuració de l'ordinador -Menu.Security = Seguretat de Windows -Menu.Network = &Conexions de xarxa -Menu.Printers = &Impressores -Menu.Taskbar = &Barra de tasques i Menú Inicia -Menu.SearchFiles = &Arxius o carpetes... -Menu.SearchPrinter = I&mpressores -Menu.SearchComputers = Equip&s -Menu.UserFilesTip = Conté carpetes per a Documents, Imatges, Música i altres arxius que li pertanyen. -Menu.UserDocumentsTip = Conté cartes, informes, i altres documents i arxius. -Menu.UserPicturesTip = Conté fotos digitals, imatges i arxius de gràfics. -Menu.UserMusicTip = Conté música i altres arxius d'àudio. -Menu.UserVideosTip = Conté pel·lícules i altres arxius de vídeo. -Menu.NetworkTip = Mostra les conexions de xarxa existents a aquest equip i ajuda a crear altres noves -Menu.PrintersTip = Agrega, treu i configura impressores locals i de xarxa. -Menu.TaskbarTip = Personalitza el Menú Inicia i la barra de tasques, el tipus d'elements que es mostren i la forma en que tenen que mostrar-se. -Menu.ControlPanelTip = Canviï la configuració i personalitzi la funcionalitat del seu equip. -Menu.DocumentsLibTip = Obtengui accés a cartes, informes, notes i altra classe de documents. -Menu.MusicLibTip = Reprodueixi música i altres arxius d'àudio. -Menu.PicturesLibTip = Vegi i organitzi imatges digitals. -Menu.VideosLibTip = Vegi pel·lícules doméstiques i altres vídeos digitals. -Menu.RecordingsLibTip = Vegi programes de televisió gravats a l'equip. -Menu.DownloadTip = Cerqui descàrregues de Internet i vincles als seus llocs web favorits. -Menu.HomegroupTip = Obtengui accés a les biblioteques i carpetes que comparteixen altres usuaris del seu grup a la llar. -Menu.RunTip = Obre un programa, una carpeta, un document o un lloc web. -Menu.HelpTip = Cerqui temes d'Ajuda, tutorials, resoldre problemes i altres serveis de suport tècnic. -Menu.ProgramsTip = Obre una llista dels seus programes. -Menu.SearchFilesTip = Cercar documents, música, imatges, correu electrònic i més. -Menu.GamesTip = Jugui i administri els jocs a l'equip. -Menu.SecurityTip = Iniciï Opcions de seguretat de Windows per a canviar la contrasenya, canviar d'usuari o iniciar l'Administrador de tasques. -Menu.SearchComputersTip = Cercar equips a la xarxa -Menu.SearchPrintersTip = Cercar una impressora -Menu.AdminToolsTip = Faci configuracions administratives a l'equip -Menu.ShutdownTip = Tanca tots els programes oberts, tanca Windows i, després, apaga l'equip. -Menu.RestartTip = Tanca tots els programes oberts, tanca Windows i després inicia Windows de nou. -Menu.SleepTip = Manté la memoria de la sessió i posa l'equip en un estat de baixa energia per a que pugui continuar treballant ràpidament al reanudar. -Menu.HibernateTip = Guarda la sessió i apaga l'equip. Quan iniciï l'equip, Windows restaurarà la sessió. -Menu.LogOffTip = Tancar els programes i la sessió. -Menu.DisconnectTip = Desconnecta sessió. Pots reconectar-se a aquesta sessió quan torni a iniciar sessió. -Menu.LockTip = Bloquejar aquest equip. -Menu.UndockTip = Treu un equip portàtil o de mà de l'estació de acoblament. -Menu.SwitchUserTip = Canviar d'usuari sense tancar els programes. -Menu.Empty = (Buit) -Menu.Features = Programes i característiques -Menu.FeaturesTip = Desinstal·li o canviï programes a l'equip. -Menu.SearchPeople = &Persones... -Menu.SortByName = Ordenar per &Nom -Menu.Open = &Obrir -Menu.OpenAll = Ob&rir tots els usuaris -Menu.Explore = E&xplorar -Menu.ExploreAll = &Explorar tots els usuaris -Menu.MenuSettings = Configuració -Menu.MenuHelp = Ajuda -Menu.MenuExit = Sortir -Menu.LogoffTitle = Tancar la sessió a Windows -Menu.LogoffPrompt = Està segur de que desitja tancar la sessió? -Menu.LogoffYes = &Tancar sessió -Menu.LogoffNo = &No -Menu.RenameTitle = Canviar nom -Menu.RenamePrompt = &Nou nom: -Menu.RenameOK = Acceptar -Menu.RenameCancel = Cancel·lar -Menu.Organize = Organitzar el Menú Inicia -Menu.Expand = &Expandir -Menu.Collapse = &Contraure -Menu.NewFolder = Nova carpeta -Menu.NewShortcut = Nou accés directe -Menu.AutoArrange = Organi&tzació automàtica -Menu.ActionOpen = Obrir -Menu.ActionClose = Tancar -Menu.ActionExecute = Executar -Menu.RemoveList = &Treure d'aquesta llista -Menu.RemoveAll = &Borrar llista d'elements recents -Menu.Explorer = Explorador de Windows -Menu.Start = Inicia -Menu.StartScreen = Pantalla Inicia -Menu.StartMenu = Menú Inicia (Windows) -Menu.PinStart = Ancorar al Menú Inicia -Menu.PinStartCs = Ancorar al Menú Inicia (Open-Shell) -Menu.UnpinStartCs = Desancorar del Menú Inicia (Open-Shell) -Menu.MonitorOff = Apaga la pantalla -Menu.RemoveHighlight = Suprimeix la marca -Menu.Uninstall = &Desinstal·la -Menu.UninstallTitle = Desinstal·la -Menu.UninstallPrompt = Esteu segur que voleu desinstal·lar el %s? -Menu.ClassicSettings = Open-Shell &Menú -Menu.SettingsTip = Ajustaments del Open-Shell Menú -Search.CategorySettings = Configuració -Search.CategoryPCSettings = Configuració de l'ordinador -Search.CategoryPrograms = Programes -Search.CategoryDocuments = Documents -Search.CategoryMusic = Música -Search.CategoryPictures = Imatges -Search.CategoryVideos = Vídeos -Search.CategoryFiles = Arxius -Search.CategoryInternet = Internet -JumpList.Recent = Recent -JumpList.Frequent = Freqüent -JumpList.Tasks = Tasques -JumpList.Pinned = Ancorat -JumpList.Pin = &Ancorar a aquesta llista -JumpList.Unpin = &Desancorar d'aquesta llista -JumpList.Remove = &Treure d'aquesta llista -JumpList.PinTip = Ancorar a aquesta llista -JumpList.UnpinTip = Desancorar d'aquesta llista - - -[cs-CZ] - Czech (Czech Republic) -Menu.Programs = &Programy -Menu.Apps = Aplikace -Menu.AllPrograms = Všechny programy -Menu.Back = Zpět -Menu.Favorites = Oblíbené položk&y -Menu.Documents = Doku&menty -Menu.Settings = N&astavení -Menu.Search = &Hledat -Menu.SearchBox = Hledat -Menu.SearchPrograms = Prohledat programy a soubory -Menu.SearchInternet = Vyhledat v Internetu -Menu.Searching = Vyhledávání... -Menu.NoMatch = Hledání neodpovídají žádné položky. -Menu.MoreResults = Zobrazit další výsledky -Menu.Help = &Nápověda a podpora -Menu.Run = Spus&tit... -Menu.Logoff = Odhlásit &uživatele %s -Menu.SwitchUser = &Přepnout uživatele -Menu.Lock = &Uzamknout -Menu.LogOffShort = Odh&lásit se -Menu.Undock = Vyjmout z dokova&cí stanice -Menu.Disconnect = O&dpojit -Menu.ShutdownBox = &Vypnout... -Menu.Shutdown = &Vypnout -Menu.Restart = &Restartovat -Menu.ShutdownUpdate = Aktualizovat a vypnout -Menu.RestartUpdate = Aktualizovat a restartovat -Menu.Sleep = &Režim spánku -Menu.Hibernate = &Hibernace -Menu.ControlPanel = Ovláda&cí panely -Menu.PCSettings = Nastavení počítače -Menu.Security = Zabezpečení systému Windows -Menu.Network = &Síťová připojení -Menu.Printers = &Tiskárny -Menu.Taskbar = &Hlavní panel a nabídka Start -Menu.SearchFiles = &Soubory či složky... -Menu.SearchPrinter = &Tiskárnu -Menu.SearchComputers = &Počítače -Menu.UserFilesTip = Obsahuje složky pro Dokumenty, Obrázky, Hudbu a další vaše soubory. -Menu.UserDocumentsTip = Obsahuje dopisy, hlášení a další soubory a dokumenty. -Menu.UserPicturesTip = Obsahuje digitální fotografie, obrázky a grafické soubory. -Menu.UserMusicTip = Obsahuje hudební a další zvukové soubory. -Menu.UserVideosTip = Obsahuje filmy a další video soubory. -Menu.NetworkTip = Zobrazí existující síťová připojení a usnadňuje vytvoření nových připojení. -Menu.PrintersTip = Slouží k přidávání, odebírání a konfigurování místních a síťových tiskáren. -Menu.TaskbarTip = Umožňuje upravit nabídku start a hlavní panel (například typy a způsob zobrazení položek). -Menu.ControlPanelTip = Změňte nastavení a přizpůsobte funkčnost svého počítače. -Menu.DocumentsLibTip = Umožňuje přístup k dopisům, zprávám, poznámkám a jiným druhům dokumentů. -Menu.MusicLibTip = Umožňuje přehrávat hudební a jiné zvukové soubory. -Menu.PicturesLibTip = Umožňuje prohlížet a organizovat digitální obrázky. -Menu.VideosLibTip = Umožňuje sledování domácích videí a dalších digitálních videozáznamů. -Menu.RecordingsLibTip = Umožňuje sledování televizních programů nahraných v počítači. -Menu.DownloadTip = Umožňuje hledání položek ke stažení na Internetu a odkazů na oblíbené weby. -Menu.HomegroupTip = Přistupujte ke knihovnám a složkám sdíleným dalšími uživateli v domácí skupině. -Menu.RunTip = Otevře složku, program, dokument nebo webovou stránku. -Menu.HelpTip = Umožní vyhledávat témata nápovědy, kurzy, řešení problémů a další služby podpory. -Menu.ProgramsTip = Zobrazí seznam programů v počítači. -Menu.SearchFilesTip = Umožňuje vyhledávat dokumenty, hudbu, obrázky, e-maily a další. -Menu.GamesTip = Umožňuje hrát a spravovat hry v počítači. -Menu.SecurityTip = Spustí možnosti zabezpečení systému Windows, ve kterých lze změnit heslo, přepnout uživatele nebo spustit Správce úloh. -Menu.SearchComputersTip = Hledat počítače v síti -Menu.SearchPrintersTip = Hledat tiskárnu -Menu.AdminToolsTip = Konfiguruje nastavení počítače pro správu. -Menu.ShutdownTip = Ukončí všechny spuštěné programy, ukončí systém Windows a potom vypne počítač. -Menu.RestartTip = Ukončí všechny spuštěné programy, ukončí systém Windows a potom znovu spustí systém Windows. -Menu.SleepTip = Ponechá relaci v paměti a uvede počítač do režimu nízké spotřeby, takže je možné rychle pokračovat v práci. -Menu.HibernateTip = Uloží relaci a vypne počítač. Po zapnutí počítače systém Windows relaci obnoví. -Menu.LogOffTip = Umožňuje ukončit programy a odhlásit uživatele. -Menu.DisconnectTip = Odpojí vaši relaci. K relaci se můžete opět připojit při dalším přihlášení. -Menu.LockTip = Uzamkne počítač. -Menu.UndockTip = Vyjme přenosný počítač z dokovací stanice. -Menu.SwitchUserTip = Přepne uživatele bez ukončování programů. -Menu.Empty = (prázdné) -Menu.Features = Programy a funkce -Menu.FeaturesTip = Odinstaluje nebo změní programy v počítači. -Menu.SearchPeople = Oso&by... -Menu.SortByName = Seřadit podle &názvu -Menu.Open = &Otevřít -Menu.OpenAll = Ot&evřít položky všech uživatele -Menu.Explore = Proz&koumat -Menu.ExploreAll = P&rocházet položky všech uživatelů -Menu.MenuSettings = Nastavení -Menu.MenuHelp = Nápověda -Menu.MenuExit = Ukončit -Menu.LogoffTitle = Odhlásit se od systému Windows -Menu.LogoffPrompt = Opravdu se chcete odhlásit? -Menu.LogoffYes = &Odhlásit se -Menu.LogoffNo = &Ne -Menu.RenameTitle = Přejmenovat -Menu.RenamePrompt = &Nový název: -Menu.RenameOK = OK -Menu.RenameCancel = Storno -Menu.Organize = Uspořádat nabídku Start -Menu.Expand = Ro&zbalit -Menu.Collapse = S&balit -Menu.NewFolder = Nová složka -Menu.NewShortcut = Nový zástupce -Menu.AutoArrange = &Rovnat automaticky -Menu.ActionOpen = Otevřít -Menu.ActionClose = Zavřít -Menu.ActionExecute = Spouštět -Menu.RemoveList = &Odebrat z tohoto seznamu -Menu.RemoveAll = Smazat seznam pos&ledních položek -Menu.Explorer = Průzkumník Windows -Menu.Start = Start -Menu.StartScreen = Úvodní obrazovka -Menu.StartMenu = Nabídka Start (Windows) -Menu.PinStart = Připnout k nabídce Start -Menu.PinStartCs = Připnout k nabídce Start (Open-Shell) -Menu.UnpinStartCs = Odepnout z nabídky Start (Open-Shell) -Menu.MonitorOff = Vypnout zobrazení -Menu.RemoveHighlight = Odebrat nejzajímavější místo -Menu.Uninstall = &Odinstalovat -Menu.UninstallTitle = Odinstalovat -Menu.UninstallPrompt = Opravdu chcete odinstalovat položku %s? -Search.CategorySettings = Nastavení -Search.CategoryPCSettings = Nastavení počítače -Search.CategoryPrograms = Programy -Search.CategoryDocuments = Dokumenty -Search.CategoryMusic = Hudba -Search.CategoryPictures = Obrázky -Search.CategoryVideos = Videa -Search.CategoryFiles = Soubory -Search.CategoryInternet = Internet -JumpList.Recent = Poslední -JumpList.Frequent = Nejčastěji používané -JumpList.Tasks = Úlohy -JumpList.Pinned = Připnuté -JumpList.Pin = &Připnout do tohoto seznamu -JumpList.Unpin = &Odepnout z tohoto seznamu -JumpList.Remove = O&debrat z tohoto seznamu -JumpList.PinTip = Připnout do tohoto seznamu -JumpList.UnpinTip = Odepnout z tohoto seznamu - - -[da-DK] - Danish (Denmark) -Menu.Programs = &Programmer -Menu.Apps = Apps -Menu.AllPrograms = Alle programmer -Menu.Back = Tilbage -Menu.Favorites = &Favoritter -Menu.Documents = &Dokumenter -Menu.Settings = &Indstillinger -Menu.Search = S&øg -Menu.SearchBox = Søg -Menu.SearchPrograms = Søg i alle programmer og filer -Menu.SearchInternet = Søg på internettet -Menu.Searching = Søger... -Menu.NoMatch = Ingen elementer svarede til dine søgekriterier. -Menu.MoreResults = Se flere resultater -Menu.Help = &Hjælp og support -Menu.Run = &Kør... -Menu.Logoff = L&og %s af -Menu.SwitchUser = S&kift bruger -Menu.Lock = &Lås -Menu.LogOffShort = Log &af -Menu.Undock = Fradock &computer -Menu.Disconnect = &Afbryd forbindelsen -Menu.ShutdownBox = &Luk computeren... -Menu.Shutdown = &Luk computeren -Menu.Restart = &Genstart -Menu.ShutdownUpdate = Opdater og luk -Menu.RestartUpdate = Opdater og genstart -Menu.Sleep = Sl&umre -Menu.Hibernate = &Dvale -Menu.ControlPanel = &Kontrolpanel -Menu.PCSettings = Pc-indstillinger -Menu.Security = Windows Sikkerhed -Menu.Network = &Netværksforbindelser -Menu.Printers = &Printere -Menu.Taskbar = &Proceslinje og menuen Start -Menu.SearchFiles = efter &Filer eller mapper... -Menu.SearchPrinter = efter &Printer -Menu.SearchComputers = efter &Computere -Menu.UserFilesTip = Indeholder mapper for Dokumenter, Billeder, Musik og andre filer, der tilhører dig. -Menu.UserDocumentsTip = Indeholder breve, rapporter og andre dokumenter og filer -Menu.UserPicturesTip = Indeholder digitale fotos, billeder og grafikfiler -Menu.UserMusicTip = Indeholder musik og andre lydfiler -Menu.UserVideosTip = Indeholder film og andre videofiler -Menu.NetworkTip = Viser eksisterende netværksforbindelser på computeren og hjælper dig med at oprette nye forbindelser -Menu.PrintersTip = Tilføjer, fjerner og konfigurerer printere lokalt og på netværket -Menu.TaskbarTip = Tilpas menuen Start og proceslinjen f.eks. hvilken type elementer, der skal vises, og hvordan de skal vises -Menu.ControlPanelTip = Rediger indstillinger, og tilpas computerens funktioner. -Menu.DocumentsLibTip = Få adgang til breve, rapporter, notater og andre slags dokumenter. -Menu.MusicLibTip = Afspil musik og andre lydfiler. -Menu.PicturesLibTip = Få vist og organiser digitale billeder. -Menu.VideosLibTip = Se film og andre digitale videoer. -Menu.RecordingsLibTip = Se tv-programmer optaget på computeren. -Menu.DownloadTip = Find internetoverførsler og links til yndlingswebsteder. -Menu.HomegroupTip = Få adgang til biblioteker og mapper, der deles af andre i hjemmegruppen. -Menu.RunTip = Åbner et program, en mappe, et dokument eller et websted -Menu.HelpTip = Find emner i Hjælp, selvstudier, fejlfinding og andre supporttjenester -Menu.ProgramsTip = Åbner en liste over dine programmer -Menu.SearchFilesTip = Søg efter dokumenter, musik, billeder, e-mails m.m. -Menu.GamesTip = Spil og administrer spil på computeren -Menu.SecurityTip = Start sikkerhedsindstillingerne i Windows for at skifte adgangskode, ændre bruger eller starte Jobliste. -Menu.SearchComputersTip = Søg efter computere på netværket -Menu.SearchPrintersTip = Søg efter en printer -Menu.AdminToolsTip = Konfigurerer administrative indstillinger for computeren -Menu.ShutdownTip = Lukker alle åbne programmer, lukker Windows og slukker derefter for computeren. -Menu.RestartTip = Lukker alle åbne programmer, lukker Windows og starter derefter Windows igen. -Menu.SleepTip = Bevarer sessionen i hukommelsen og sætter computeren i strømbesparelsestilstand, så du hurtigt kan fortsætte dit arbejde. -Menu.HibernateTip = Gemmer sessionen og slukker for computeren. Når du tænder for computeren, gendanner Windows sessionen. -Menu.LogOffTip = Luk programmer, og log af. -Menu.DisconnectTip = Afbryder sessionen. Du kan genoprette forbindelsen til sessionen, når du logger på igen. -Menu.LockTip = Lås denne computer -Menu.UndockTip = Fjerner din bærbare computer fra en dockingstation. -Menu.SwitchUserTip = Skift brugere uden at lukke programmer. -Menu.Empty = (Tom) -Menu.Features = Installerede programmer og funktioner -Menu.FeaturesTip = Fjern eller rediger programmer på din computer. -Menu.SearchPeople = Efter &personer... -Menu.SortByName = So&rter efter navn -Menu.Open = Å&bn -Menu.OpenAll = &Åbn mappen Alle brugere -Menu.Explore = &Stifinder -Menu.ExploreAll = &Gennemse mappen Alle brugere -Menu.MenuSettings = Indstillinger -Menu.MenuHelp = Hjælp -Menu.MenuExit = Afslut -Menu.LogoffTitle = Log af Windows -Menu.LogoffPrompt = Vil du logge af? -Menu.LogoffYes = &Log af -Menu.LogoffNo = &Nej -Menu.RenameTitle = Omdøb -Menu.RenamePrompt = &Nyt navn: -Menu.RenameOK = OK -Menu.RenameCancel = Annuller -Menu.Organize = Organiser menuen Start -Menu.Expand = &Udvid -Menu.Collapse = S&kjul -Menu.NewFolder = Ny mappe -Menu.NewShortcut = Ny genvej -Menu.AutoArrange = &Arranger automatisk -Menu.ActionOpen = Åbn -Menu.ActionClose = Luk -Menu.ActionExecute = Kør -Menu.RemoveList = Fjern &fra denne liste -Menu.RemoveAll = &Ryd listen over seneste elementer -Menu.Explorer = Windows Stifinder -Menu.Start = Start -Menu.StartScreen = Startskærm -Menu.StartMenu = Menuen Start (Windows) -Menu.PinStart = Fastgør til menuen Start -Menu.PinStartCs = Fastgør til menuen Start (Open-Shell) -Menu.UnpinStartCs = Frigør fra menuen Start (Open-Shell) -Menu.MonitorOff = Sluk skærmen -Menu.RemoveHighlight = Fjern centralt punkt -Menu.Uninstall = &Fjern -Menu.UninstallTitle = Fjern -Menu.UninstallPrompt = Er du sikker på, at du vil fjerne %s? -Search.CategorySettings = Indstillinger -Search.CategoryPCSettings = Pc-indstillinger -Search.CategoryPrograms = Programmer -Search.CategoryDocuments = Dokumenter -Search.CategoryMusic = Musik -Search.CategoryPictures = Billeder -Search.CategoryVideos = Videoer -Search.CategoryFiles = Filer -Search.CategoryInternet = Internet -JumpList.Recent = Seneste -JumpList.Frequent = Ofte -JumpList.Tasks = Opgaver -JumpList.Pinned = Fastgjort -JumpList.Pin = F&astgør til listen -JumpList.Unpin = &Frigør fra listen -JumpList.Remove = Fje&rn fra denne liste -JumpList.PinTip = Fastgør til listen -JumpList.UnpinTip = Frigør fra listen - - -[de-DE] - German (Germany) -Menu.Programs = &Programme -Menu.Apps = Apps -Menu.AllPrograms = Alle Programme -Menu.Back = Zurück -Menu.Favorites = &Favoriten -Menu.Documents = &Dokumente -Menu.Settings = &Einstellungen -Menu.Search = &Suchen -Menu.SearchBox = Suchen -Menu.SearchPrograms = Programme/Dateien durchsuchen -Menu.SearchInternet = Internet durchsuchen -Menu.Searching = Suchvorgang... -Menu.NoMatch = Es wurden keine Suchergebnisse gefunden. -Menu.MoreResults = Weitere Ergebnisse anzeigen -Menu.Help = &Hilfe und Support -Menu.Run = A&usführen... -Menu.Logoff = "%s" ab&melden -Menu.SwitchUser = &Benutzer wechseln -Menu.Lock = &Sperren -Menu.LogOffShort = &Abmelden -Menu.Undock = Abd&ocken -Menu.Disconnect = &Trennen -Menu.ShutdownBox = He&runterfahren... -Menu.Shutdown = &Herunterfahren -Menu.Restart = &Neu starten -Menu.ShutdownUpdate = Aktualisieren und herunterfahren -Menu.RestartUpdate = Aktualisieren und neu starten -Menu.Sleep = &Energie sparen -Menu.Hibernate = &Ruhezustand -Menu.ControlPanel = S&ystemsteuerung -Menu.PCSettings = PC-Einstellungen -Menu.Security = Windows-Sicherheit -Menu.Network = &Netzwerkverbindungen -Menu.Printers = &Drucker -Menu.Taskbar = &Taskleiste und Startmenü -Menu.SearchFiles = Nach &Dateien oder Ordnern... -Menu.SearchPrinter = Nach &Druckern -Menu.SearchComputers = Nach &Computern -Menu.UserFilesTip = Enthält Ordner für Dokumente, Bilder, Musik und andere Dateien, die Ihnen gehören. -Menu.UserDocumentsTip = Enthält Briefe, Berichte und andere Dokumente und Dateien. -Menu.UserPicturesTip = Enthält digitale Fotos, Bilder und Grafikdateien. -Menu.UserMusicTip = Enthält Musik- und andere Audiodateien. -Menu.UserVideosTip = Enthält Filme und andere Videodateien. -Menu.NetworkTip = Zeigt vorhandene Netzwerkverbindungen an und hilft bei der Erstellung von neuen Verbindungen. -Menu.PrintersTip = Fügt lokale und Netzwerkdrucker hinzu, entfernt und konfiguriert diese. -Menu.TaskbarTip = Passt das Startmenü und die Taskleiste an, z.B. die Auswahl anzuzeigender Elementtypen und deren Darstellung. -Menu.ControlPanelTip = Ändert Einstellungen, und passt die Funktionalität des Computers an. -Menu.DocumentsLibTip = Greift auf Briefe, Berichte, Notizen und andere Dokumente zu. -Menu.MusicLibTip = Gibt Musik und andere Audiodateien wieder. -Menu.PicturesLibTip = Zeigt digitale Bilder an und verwaltet sie. -Menu.VideosLibTip = Sehen Sie sich private Filme und andere digitale Videos an. -Menu.RecordingsLibTip = Sehen Sie sich auf dem Computer aufgezeichnete TV-Programme an. -Menu.DownloadTip = Sucht nach Internetdownloads und Links zu bevorzugten Websites. -Menu.HomegroupTip = Greift auf Bibliotheken und Ordner zu, die von anderen Personen in der Heimnetzgruppe freigegeben werden. -Menu.RunTip = Öffnet ein Programm, einen Ordner, ein Dokument oder eine Website. -Menu.HelpTip = Sucht Hilfethemen, Lernprogramme, Problembehandlung und andere Supportdienste. -Menu.ProgramsTip = Öffnet eine Liste der Programme. -Menu.SearchFilesTip = Sucht nach Dokumenten, Musik, Bildern, E-Mail und mehr. -Menu.GamesTip = Verwaltet Spiele auf dem Computer. -Menu.SecurityTip = Öffnet die Windows-Sicherheitsoptionen, um Kennwörter zu ändern, sich als anderer Benutzer anzumelden oder den Task-Manager zu starten. -Menu.SearchComputersTip = Nach Computern im Netzwerk suchen -Menu.SearchPrintersTip = Nach einem Drucker suchen -Menu.AdminToolsTip = Konfigurieren Sie Verwaltungseinstellungen für den Computer. -Menu.ShutdownTip = Schließt alle offenen Programme, fährt Windows herunter, und schaltet den Computer aus. -Menu.RestartTip = Schließt alle offenen Programme, fährt Windows herunter, und führt einen Neustart durch. -Menu.SleepTip = Speichert die Sitzung im Arbeitsspeicher und versetzt den Computer in einen Energiesparmodus, so dass die Sitzung schnell wiederhergestellt werden kann. -Menu.HibernateTip = Speichert die Sitzung und schaltet den Computer aus. Wenn Sie den Computer einschalten, wird die Sitzung wiederhergestellt. -Menu.LogOffTip = Schließt Programme und führt die Abmeldung aus. -Menu.DisconnectTip = Trennt diese Sitzung. Sie können eine Verbindung mit dieser Sitzung erneut herstellen, wenn Sie sich das nächste Mal anmelden. -Menu.LockTip = Sperrt diesen Computer. -Menu.UndockTip = Entfernt den Laptop- bzw. Notebookcomputer aus der Dockingstation. -Menu.SwitchUserTip = Wechselt Benutzer, ohne Programme zu schließen. -Menu.Empty = (Leer) -Menu.Features = Programme und Funktionen -Menu.FeaturesTip = Deinstalliert oder ändert Programme auf dem Computer. -Menu.SearchPeople = &Nach Personen... -Menu.SortByName = &Nach Namen sortieren -Menu.Open = Ö&ffnen -Menu.OpenAll = Öffnen - &Alle Benutzer -Menu.Explore = &Explorer -Menu.ExploreAll = E&xplorer - Alle Benutzer -Menu.MenuSettings = Einstellungen -Menu.MenuHelp = Hilfe -Menu.MenuExit = Beenden -Menu.LogoffTitle = Windows-Abmeldung -Menu.LogoffPrompt = Möchten Sie sich wirklich abmelden? -Menu.LogoffYes = &Abmelden -Menu.LogoffNo = &Nein -Menu.RenameTitle = Umbenennen -Menu.RenamePrompt = &Neuer Name: -Menu.RenameOK = OK -Menu.RenameCancel = Abbrechen -Menu.Organize = Startmenü organisieren -Menu.Expand = &Erweitern -Menu.Collapse = &Reduzieren -Menu.NewFolder = Neuer Ordner -Menu.NewShortcut = Neue Verknüpfung -Menu.AutoArrange = Automatisch a&nordnen -Menu.ActionOpen = Öffnen -Menu.ActionClose = Schließen -Menu.ActionExecute = Ausführen -Menu.RemoveList = &Aus Liste entfernen -Menu.RemoveAll = &Liste zuletzt verwendeter Elemente löschen -Menu.Explorer = Windows-Explorer -Menu.Start = Start -Menu.StartScreen = Startseite -Menu.StartMenu = Startmenü (Windows) -Menu.PinStart = An Startmenü anheften -Menu.PinStartCs = An Startmenü anheften (Open-Shell) -Menu.UnpinStartCs = Vom Startmenü lösen (Open-Shell) -Menu.MonitorOff = Bildschirm ausschalten -Menu.RemoveHighlight = Haupttreffer entfernen -Menu.Uninstall = &Deinstallieren -Menu.UninstallTitle = Deinstallieren -Menu.UninstallPrompt = Möchten Sie %s wirklich deinstallieren? -Search.CategorySettings = Einstellungen -Search.CategoryPCSettings = PC-Einstellungen -Search.CategoryPrograms = Programme -Search.CategoryDocuments = Dokumente -Search.CategoryMusic = Musik -Search.CategoryPictures = Bilder -Search.CategoryVideos = Videos -Search.CategoryFiles = Dateien -Search.CategoryInternet = Internet -JumpList.Recent = Zuletzt verwendet -JumpList.Frequent = Häufig -JumpList.Tasks = Aufgaben -JumpList.Pinned = Angeheftet -JumpList.Pin = An diese Liste an&heften -JumpList.Unpin = V&on dieser Liste lösen -JumpList.Remove = &Aus Liste entfernen -JumpList.PinTip = An diese Liste anheften -JumpList.UnpinTip = Von dieser Liste lösen - - -[el-GR] - Greek (Greece) -Menu.Programs = &Προγράμματα -Menu.Apps = Εφαρμογές -Menu.AllPrograms = Όλα τα προγράμματα -Menu.Back = Πίσω -Menu.Favorites = Αγαπ&ημένα -Menu.Documents = Έ&γγραφα -Menu.Settings = Ρυ&θμίσεις -Menu.Search = &Αναζήτηση -Menu.SearchBox = Αναζήτηση -Menu.SearchPrograms = Αναζήτηση προγραμμάτων και αρχείων -Menu.SearchInternet = Αναζήτηση στο Internet -Menu.Searching = Αναζήτηση... -Menu.NoMatch = Δεν βρέθηκαν αποτελέσματα για την αναζήτησή σας. -Menu.MoreResults = Περισσότερα αποτελέσματα -Menu.Help = &Βοήθεια και υποστήριξη -Menu.Run = Εκτέ&λεση... -Menu.Logoff = Αποσύν&δεση %s -Menu.SwitchUser = Α&λλαγή χρήστη -Menu.Lock = &Κλείδωμα -Menu.LogOffShort = &Αποσύνδεση -Menu.Undock = Απαγκύρωση &υπολογιστή -Menu.Disconnect = Απο&σύνδεση -Menu.ShutdownBox = &Τερματισμός... -Menu.Shutdown = &Τερματισμός λειτουργίας -Menu.Restart = &Επανεκκίνηση -Menu.ShutdownUpdate = Ενημέρωση και τερματισμός λειτουργίας -Menu.RestartUpdate = Ενημέρωση και επανεκκίνηση -Menu.Sleep = Αναστολή &λειτουργίας -Menu.Hibernate = &Αδρανοποίηση -Menu.ControlPanel = Πί&νακας Ελέγχου -Menu.PCSettings = Ρυθμίσεις υπολογιστή -Menu.Security = Ασφάλεια των Windows -Menu.Network = &Συνδέσεις Δικτύου -Menu.Printers = Εκτυπ&ωτές -Menu.Taskbar = &Γραμμή εργασιών και μενού "Έναρξη" -Menu.SearchFiles = Για αρ&χεία ή φακέλους... -Menu.SearchPrinter = Για &Εκτυπωτή -Menu.SearchComputers = Για υ&πολογιστές -Menu.UserFilesTip = Περιέχει φακέλους για έγγραφα, εικόνες, μουσική και άλλα αρχεία που σας ανήκουν. -Menu.UserDocumentsTip = Περιέχει επιστολές, αναφορές και άλλα έγγραφα και αρχεία. -Menu.UserPicturesTip = Περιέχει ψηφιακές φωτογραφίες, εικόνες και αρχεία γραφικών. -Menu.UserMusicTip = Περιέχει μουσική και άλλα αρχεία ήχου. -Menu.UserVideosTip = Περιέχει ταινίες και άλλα αρχεία βίντεο. -Menu.NetworkTip = Εμφανίζει τις επίκαιρες συνδέσεις δικτύου σε αυτόν τον υπολογιστή και σας βοηθά στη δημιουργία νέων συνδέσεων -Menu.PrintersTip = Προσθήκη, κατάργηση και ρύθμιση παραμέτρων των τοπικών εκτυπωτών και των εκτυπωτών δικτύου. -Menu.TaskbarTip = Προσαρμογή του μενού "Έναρξη" και της γραμμής εργασιών, όπως των τύπων των προς εμφάνιση στοιχείων και πώς πρέπει να εμφανίζονται. -Menu.ControlPanelTip = Αλλάξτε τις ρυθμίσεις και προσαρμόστε τη λειτουργικότητα του υπολογιστή. -Menu.DocumentsLibTip = Πρόσβαση σε επιστολές, αναφορές, σημειώσεις και άλλους τύπους εγγράφων. -Menu.MusicLibTip = Αναπαραγωγή μουσικής και άλλων αρχείων ήχου. -Menu.PicturesLibTip = Προβολή και οργάνωση ψηφιακών εικόνων. -Menu.VideosLibTip = Παρακολούθηση οικιακών ταινιών και άλλων ψηφιακών βίντεο. -Menu.RecordingsLibTip = Παρακολούθηση τηλεοπτικών προγραμμάτων που έχουν εγγραφεί στον υπολογιστή σας. -Menu.DownloadTip = Εύρεση λήψεων Internet και συνδέσεων προς αγαπημένες τοποθεσίες Web. -Menu.HomegroupTip = Η πρόσβαση σε βιβλιοθήκες και φακέλους είναι κοινή από άλλα άτομα στην οικιακή ομάδα σας. -Menu.RunTip = Ανοίγει ένα πρόγραμμα, φάκελο, έγγραφο ή τοποθεσία Web. -Menu.HelpTip = Βρείτε θέματα Βοήθειας, εγχειρίδια εκμάθησης, λύσεις αντιμετώπισης προβλημάτων και άλλες υπηρεσίες υποστήριξης. -Menu.ProgramsTip = Ανοίγει μια λίστα των προγραμμάτων σας. -Menu.SearchFilesTip = Αναζητήστε έγγραφα, μουσική, εικόνες, αλληλογραφία και πολλά άλλα. -Menu.GamesTip = Χρήση και διαχείριση παιχνιδιών στον υπολογιστή σας. -Menu.SecurityTip = Εκκίνηση Επιλογών ασφαλείας των Windows για αλλαγή κωδικού πρόσβασης, αλλαγή χρήστη ή έναρξη της διαχείρισης εργασιών. -Menu.SearchComputersTip = Αναζήτηση υπολογιστή στο δίκτυο -Menu.SearchPrintersTip = Αναζήτηση ενός εκτυπωτή -Menu.AdminToolsTip = Ρύθμιση των παραμέτρων διαχείρισης του υπολογιστή σας. -Menu.ShutdownTip = Κλείνει όλα τα ανοικτά προγράμματα, τερματίζει τα Windows και, στη συνέχεια, τερματίζει τη λειτουργία του υπολογιστή. -Menu.RestartTip = Κλείνει όλα τα ανοικτά προγράμματα, τερματίζει τα Windows και, στη συνέχεια, πραγματοποιεί επανεκκίνηση των Windows. -Menu.SleepTip = Διατηρεί την περίοδο λειτουργίας στη μνήμη και θέτει τον υπολογιστή σε κατάσταση χαμηλής ενέργειας, ώστε να μπορείτε να συνεχίσετε γρήγορα την εργασία σας. -Menu.HibernateTip = Αποθηκεύει την περίοδο λειτουργίας και απενεργοποιεί τον υπολογιστή. Όταν ενεργοποιήσετε τον υπολογιστή, τα Windows θα επαναφέρουν την περίοδο λειτουργίας σας. -Menu.LogOffTip = Κλείστε τα προγράμματα και αποσυνδεθείτε. -Menu.DisconnectTip = Αποσυνδέει την περίοδο λειτουργίας σας. Μπορείτε να συνδεθείτε ξανά σε αυτήν την περίοδο λειτουργίας την επόμενη φορά που θα εισέλθετε. -Menu.LockTip = Κλείδωμα αυτού του υπολογιστή. -Menu.UndockTip = Αφαιρεί τον φορητό υπολογιστή σας από ένα σταθμό αγκύρωσης. -Menu.SwitchUserTip = Αλλαγή χρηστών χωρίς κλείσιμο των προγραμμάτων. -Menu.Empty = (Κενό) -Menu.Features = Προγράμματα και δυνατότητες -Menu.FeaturesTip = Κατάργηση εγκατάστασης ή αλλαγή των προγραμμάτων του υπολογιστή σας. -Menu.SearchPeople = Για ά&τομα... -Menu.SortByName = Ταξι&νόμηση κατά όνομα -Menu.Open = Άν&οιγμα -Menu.OpenAll = Άνοιγμα ό&λων των χρηστών -Menu.Explore = Ε&ξερεύνηση -Menu.ExploreAll = &Εξερεύνηση όλων των χρηστών -Menu.MenuSettings = Ρυθμίσεις -Menu.MenuHelp = Βοήθεια -Menu.MenuExit = Έξοδος -Menu.LogoffTitle = Αποσύνδεση των Windows -Menu.LogoffPrompt = Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε; -Menu.LogoffYes = Αποσύ&νδεση -Menu.LogoffNo = Ό&χι -Menu.RenameTitle = Μετονομασία -Menu.RenamePrompt = &Νέο όνομα: -Menu.RenameOK = ΟΚ -Menu.RenameCancel = Άκυρο -Menu.Organize = Οργάνωση μενού "Έναρξη" -Menu.Expand = Ανάπτυ&ξη -Menu.Collapse = Σύμπτ&υξη -Menu.NewFolder = Νέος φάκελος -Menu.NewShortcut = Νέα συντόμευση -Menu.AutoArrange = &Αυτόματη τακτοποίηση -Menu.ActionOpen = Άνοιγμα -Menu.ActionClose = Kλείσιμο -Menu.ActionExecute = Εκτέλεση -Menu.RemoveList = Κατά&ργηση από τη λίστα -Menu.RemoveAll = &Εκκαθάριση λίστας πρόσφατων στοιχείων -Menu.Explorer = Εξερεύνηση των Windows -Menu.Start = Έναρξη -Menu.StartScreen = Οθόνη Έναρξης -Menu.StartMenu = Μενού "Έναρξη" (Windows) -Menu.PinStart = Καρφίτσωμα στο μενού "Έναρξη" -Menu.PinStartCs = Καρφίτσωμα στο μενού "Έναρξη" (Open-Shell) -Menu.UnpinStartCs = Ξεκαρφίτσωμα από το μενού "Έναρξη" (Open-Shell) -Menu.MonitorOff = Απενεργοποίηση της οθόνης -Menu.RemoveHighlight = Κατάργηση επισήμανσης -Menu.Uninstall = &Κατάργηση εγκατάστασης -Menu.UninstallTitle = Κατάργηση εγκατάστασης -Menu.UninstallPrompt = Είστε βέβαιοι ότι θέλετε να καταργήσετε την εγκατάσταση του %s; -Search.CategorySettings = Ρυθμίσεις -Search.CategoryPCSettings = Ρυθμίσεις υπολογιστή -Search.CategoryPrograms = Προγράμματα -Search.CategoryDocuments = Έγγραφα -Search.CategoryMusic = Μουσική -Search.CategoryPictures = Εικόνες -Search.CategoryVideos = Βίντεο -Search.CategoryFiles = Αρχεία -Search.CategoryInternet = Ιnternet -JumpList.Recent = Πρόσφατα -JumpList.Frequent = Στοιχεία που επιλέγονται συχνότερα -JumpList.Tasks = Εργασίες -JumpList.Pinned = Καρφιτσωμένα -JumpList.Pin = &Καρφίτσωμα σε αυτήν τη λίστα -JumpList.Unpin = &Ξεκαρφίτσωμα από αυτήν τη λίστα -JumpList.Remove = Κατά&ργηση από τη λίστα -JumpList.PinTip = Καρφίτσωμα σε αυτήν τη λίστα -JumpList.UnpinTip = Ξεκαρφίτσωμα από αυτήν τη λίστα - - -[en-US] - English (United States) -Menu.Programs = &Programs -Menu.Apps = Apps -Menu.AllPrograms = All Programs -Menu.Back = Back -Menu.Favorites = F&avorites -Menu.Documents = &Documents -Menu.Settings = &Settings -Menu.Search = Sear&ch -Menu.SearchBox = Search -Menu.SearchPrograms = Search programs and files -Menu.SearchInternet = Search the Internet -Menu.Searching = Searching... -Menu.NoMatch = No items match your search. -Menu.MoreResults = See more results -Menu.Help = &Help and Support -Menu.Run = &Run... -Menu.Logoff = &Log Off %s -Menu.SwitchUser = S&witch user -Menu.Lock = L&ock -Menu.LogOffShort = &Log off -Menu.Undock = Undock Comput&er -Menu.Disconnect = D&isconnect -Menu.ShutdownBox = Sh&ut Down... -Menu.Shutdown = Sh&ut Down -Menu.Restart = &Restart -Menu.ShutdownUpdate = Update and shut down -Menu.RestartUpdate = Update and restart -Menu.Sleep = &Sleep -Menu.Hibernate = &Hibernate -Menu.ControlPanel = &Control Panel -Menu.PCSettings = Settings -Menu.Security = Windows Security -Menu.Network = &Network Connections -Menu.Printers = &Printers -Menu.Taskbar = &Taskbar and Start Menu -Menu.SearchFiles = For &Files or Folders... -Menu.SearchPrinter = For &Printer -Menu.SearchComputers = For &Computers -Menu.UserFilesTip = Contains folders for Documents, Pictures, Music, and other files that belong to you. -Menu.UserDocumentsTip = Contains letters, reports, and other documents and files. -Menu.UserPicturesTip = Contains digital photos, images, and graphic files. -Menu.UserMusicTip = Contains music and other audio files. -Menu.UserVideosTip = Contains movies and other video files. -Menu.NetworkTip = Displays existing network connections on this computer and helps you create new ones -Menu.PrintersTip = Add, remove, and configure local and network printers. -Menu.TaskbarTip = Customize the Start Menu and the taskbar, such as the types of items to be displayed and how they should appear. -Menu.ControlPanelTip = Change settings and customize the functionality of your computer. -Menu.DocumentsLibTip = Access letters, reports, notes, and other kinds of documents. -Menu.MusicLibTip = Play music and other audio files. -Menu.PicturesLibTip = View and organize digital pictures. -Menu.VideosLibTip = Watch home movies and other digital videos. -Menu.RecordingsLibTip = Watch TV programs recorded on your computer. -Menu.DownloadTip = Find Internet downloads and links to favorite websites. -Menu.HomegroupTip = Access libraries and folders shared by other people in your homegroup. -Menu.RunTip = Opens a program, folder, document, or web site. -Menu.HelpTip = Find Help topics, tutorials, troubleshooting, and other support services. -Menu.ProgramsTip = Opens a list of your programs. -Menu.SearchFilesTip = Search for documents, music, pictures, email and more. -Menu.GamesTip = Play and manage games on your computer. -Menu.SecurityTip = Launch Windows Security Options to Change Password, Switch User, or Start Task Manager. -Menu.SearchComputersTip = Search for computers on the network -Menu.SearchPrintersTip = Search for a printer -Menu.AdminToolsTip = Configure administrative settings for your computer. -Menu.ShutdownTip = Closes all open programs, shuts down Windows, and then turns off your computer. -Menu.RestartTip = Closes all open programs, shuts down Windows, and then starts Windows again. -Menu.SleepTip = Keeps your session in memory and puts the computer in a low-power state so that you can quickly resume working. -Menu.HibernateTip = Saves your session and turns off the computer. When you turn on the computer, Windows restores your session. -Menu.LogOffTip = Close programs and log off. -Menu.DisconnectTip = Disconnects your session. You can reconnect to this session when you log on again. -Menu.LockTip = Lock this computer. -Menu.UndockTip = Removes your laptop or notebook computer from a docking station. -Menu.SwitchUserTip = Switch users without closing programs. -Menu.Empty = (Empty) -Menu.Features = Programs and Features -Menu.FeaturesTip = Uninstall or change programs on your computer. -Menu.SearchPeople = For &People... -Menu.SortByName = Sort &by Name -Menu.Open = &Open -Menu.OpenAll = O&pen All Users -Menu.Explore = &Explore -Menu.ExploreAll = E&xplore All Users -Menu.MenuSettings = Settings -Menu.MenuHelp = Help -Menu.MenuExit = Exit -Menu.LogoffTitle = Log Off Windows -Menu.LogoffPrompt = Are you sure you want to log off? -Menu.LogoffYes = &Log Off -Menu.LogoffNo = &No -Menu.RenameTitle = Rename -Menu.RenamePrompt = &New name: -Menu.RenameOK = OK -Menu.RenameCancel = Cancel -Menu.Organize = Organize Start menu -Menu.Expand = Exp&and -Menu.Collapse = Coll&apse -Menu.NewFolder = New Folder -Menu.NewShortcut = New Shortcut -Menu.AutoArrange = &Auto Arrange -Menu.ActionOpen = Open -Menu.ActionClose = Close -Menu.ActionExecute = Execute -Menu.RemoveList = Remove &from this list -Menu.RemoveAll = C&lear recent items list -Menu.Explorer = Windows Explorer -Menu.Start = Start -Menu.StartScreen = Start Screen -Menu.StartMenu = Start Menu (Windows) -Menu.PinStart = Pin to Start menu -Menu.PinStartCs = Pin to Start menu (Open-Shell) -Menu.UnpinStartCs = Unpin from Start menu (Open-Shell) -Menu.MonitorOff = Turn the display off -Menu.RemoveHighlight = Remove highlight -Menu.Uninstall = &Uninstall -Menu.UninstallTitle = Uninstall -Menu.UninstallPrompt = Are you sure you want to uninstall %s? -Search.CategorySettings = Settings -Search.CategoryPCSettings = Modern Settings -Search.CategoryPrograms = Programs -Search.CategoryDocuments = Documents -Search.CategoryMusic = Music -Search.CategoryPictures = Pictures -Search.CategoryVideos = Videos -Search.CategoryFiles = Files -Search.CategoryInternet = Internet -JumpList.Recent = Recent -JumpList.Frequent = Frequent -JumpList.Tasks = Tasks -JumpList.Pinned = Pinned -JumpList.Pin = P&in to this list -JumpList.Unpin = &Unpin from this list -JumpList.Remove = Remove &from this list -JumpList.PinTip = Pin to this list -JumpList.UnpinTip = Unpin from this list - - -[es-ES] - Spanish (Spain) -Menu.Programs = &Programas -Menu.Apps = Aplicaciones -Menu.AllPrograms = Todos los programas -Menu.Back = Atrás -Menu.Favorites = Fa&voritos -Menu.Documents = Docu&mentos -Menu.Settings = Con&figuración -Menu.Search = &Buscar -Menu.SearchBox = Buscar -Menu.SearchPrograms = Buscar programas y archivos -Menu.SearchInternet = Buscar en Internet -Menu.Searching = Buscando... -Menu.NoMatch = Ningún elemento coincide con el criterio de búsqueda. -Menu.MoreResults = Ver más resultados -Menu.Help = &Ayuda y soporte técnico -Menu.Run = &Ejecutar... -Menu.Logoff = &Cerrar sesión de %s -Menu.SwitchUser = Cam&biar de usuario -Menu.Lock = Bl&oquear -Menu.LogOffShort = C&errar sesión -Menu.Undock = De&sacoplar equipo -Menu.Disconnect = &Desconectar -Menu.ShutdownBox = Apaga&r... -Menu.Shutdown = &Apagar -Menu.Restart = &Reiniciar -Menu.ShutdownUpdate = Actualizar y apagar -Menu.RestartUpdate = Actualizar y reiniciar -Menu.Sleep = &Suspender -Menu.Hibernate = &Hibernar -Menu.ControlPanel = &Panel de control -Menu.PCSettings = Configuración de tu PC -Menu.Security = Seguridad de Windows -Menu.Network = &Conexiones de red -Menu.Printers = &Impresoras -Menu.Taskbar = &Barra de tareas y menú Inicio -Menu.SearchFiles = &Archivos o carpetas... -Menu.SearchPrinter = I&mpresoras -Menu.SearchComputers = Equip&os -Menu.UserFilesTip = Contiene carpetas para Documentos, Imágenes, Música y otros archivos que le pertenecen. -Menu.UserDocumentsTip = Contiene cartas, informes, y otros documentos y archivos. -Menu.UserPicturesTip = Contiene fotos digitales, imágenes y archivos de gráficos. -Menu.UserMusicTip = Contiene música y otros archivos de audio. -Menu.UserVideosTip = Contiene películas y otros archivos de vídeo. -Menu.NetworkTip = Muestra las conexiones de red existentes en este equipo y ayuda a crear otras nuevas -Menu.PrintersTip = Agrega, quita y configura impresoras locales y de red. -Menu.TaskbarTip = Personaliza el menú Inicio y la barra de tareas, el tipo de elementos que se muestra y la forma en que deben aparecer. -Menu.ControlPanelTip = Cambie la configuración y personalice la funcionalidad de su equipo. -Menu.DocumentsLibTip = Obtenga acceso a cartas, informes, notas y otra clase de documentos. -Menu.MusicLibTip = Reproduzca música y otros archivos de audio. -Menu.PicturesLibTip = Vea y organice imágenes digitales. -Menu.VideosLibTip = Vea películas domésticas y otros vídeos digitales. -Menu.RecordingsLibTip = Vea programas de televisión grabados en el equipo. -Menu.DownloadTip = Busque descargas de Internet y vínculos a sus sitios web favoritos. -Menu.HomegroupTip = Obtenga acceso a las bibliotecas y carpetas que comparten otros usuarios de su grupo en el hogar. -Menu.RunTip = Abre un programa, una carpeta, un documento o un sitio web. -Menu.HelpTip = Busque temas de Ayuda, tutoriales, solucionar problemas y otros servicios de soporte técnico. -Menu.ProgramsTip = Abre una lista de sus programas. -Menu.SearchFilesTip = Buscar documentos, música, imágenes, correo electrónico y más. -Menu.GamesTip = Juegue y administre los juegos en el equipo. -Menu.SecurityTip = Inicie Opciones de seguridad de Windows para cambiar la contraseña, cambiar de usuario o iniciar el Administrador de tareas. -Menu.SearchComputersTip = Buscar equipos en la red -Menu.SearchPrintersTip = Buscar una impresora -Menu.AdminToolsTip = Haga configuraciones administrativas en el equipo -Menu.ShutdownTip = Cierra todos los programas abiertos, cierra Windows y, después, apaga el equipo. -Menu.RestartTip = Cierra todos los programas abiertos, cierra Windows y después inicia Windows de nuevo. -Menu.SleepTip = Mantiene la memoria de la sesión y pone el equipo en un estado de baja energía para que pueda continuar trabajando rápidamente. -Menu.HibernateTip = Guarda la sesión y apaga el equipo. Cuando inicie el equipo, Windows restaurará la sesión. -Menu.LogOffTip = Cerrar los programas y la sesión. -Menu.DisconnectTip = Desconecta su sesión. Puede reconectarse a esta sesión cuando vuelva a iniciar sesión. -Menu.LockTip = Bloquear este equipo. -Menu.UndockTip = Quita un equipo portátil o de mano de la estación de acoplamiento. -Menu.SwitchUserTip = Cambiar de usuario sin cerrar los programas. -Menu.Empty = (Vacío) -Menu.Features = Programas y características -Menu.FeaturesTip = Desinstale o cambie programas en el equipo. -Menu.SearchPeople = &Personas... -Menu.SortByName = Ordenar por &Nombre -Menu.Open = &Abrir -Menu.OpenAll = Ab&rir todos los usuarios -Menu.Explore = E&xplorar -Menu.ExploreAll = &Explorar todos los usuarios -Menu.MenuSettings = Configuración -Menu.MenuHelp = Ayuda -Menu.MenuExit = Salir -Menu.LogoffTitle = Cerrar la sesión en Windows -Menu.LogoffPrompt = ¿Está seguro de que desea cerrar la sesión? -Menu.LogoffYes = &Cerrar sesión -Menu.LogoffNo = &No -Menu.RenameTitle = Cambiar nombre -Menu.RenamePrompt = &Nuevo nombre: -Menu.RenameOK = Aceptar -Menu.RenameCancel = Cancelar -Menu.Organize = Organizar el menú Inicio -Menu.Expand = &Expandir -Menu.Collapse = &Contraer -Menu.NewFolder = Nueva carpeta -Menu.NewShortcut = Nuevo acceso directo -Menu.AutoArrange = Organi&zación automática -Menu.ActionOpen = Abrir -Menu.ActionClose = Cerrar -Menu.ActionExecute = Ejecutar -Menu.RemoveList = &Quitar de esta lista -Menu.RemoveAll = &Borrar lista de elementos recientes -Menu.Explorer = Explorador de Windows -Menu.Start = Inicio -Menu.StartScreen = Pantalla Inicio -Menu.StartMenu = Menú Inicio (Windows) -Menu.PinStart = Anclar al menú Inicio -Menu.PinStartCs = Anclar al menú Inicio (Open-Shell) -Menu.UnpinStartCs = Desanclar del menú Inicio (Open-Shell) -Menu.MonitorOff = Apagar pantalla -Menu.RemoveHighlight = Quitar como elemento destacado -Menu.Uninstall = &Desinstalar -Menu.UninstallTitle = Desinstalar -Menu.UninstallPrompt = ¿Está seguro de que desea desinstalar %s? -Search.CategorySettings = Configuración -Search.CategoryPCSettings = Configuración de tu PC -Search.CategoryPrograms = Programas -Search.CategoryDocuments = Documentos -Search.CategoryMusic = Música -Search.CategoryPictures = Imágenes -Search.CategoryVideos = Vídeos -Search.CategoryFiles = Archivos -Search.CategoryInternet = Internet -JumpList.Recent = Reciente -JumpList.Frequent = Frecuente -JumpList.Tasks = Tareas -JumpList.Pinned = Anclado -JumpList.Pin = &Anclar a esta lista -JumpList.Unpin = &Desanclar de esta lista -JumpList.Remove = &Quitar de esta lista -JumpList.PinTip = Anclar a esta lista -JumpList.UnpinTip = Desanclar de esta lista - - -[et-EE] - Estonian (Estonia) -Menu.Programs = &Programmid -Menu.Apps = Rakendused -Menu.AllPrograms = Kõik programmid -Menu.Back = Tagasi -Menu.Favorites = &Lemmikud -Menu.Documents = &Dokumendid -Menu.Settings = &Sätted -Menu.Search = O&tsi -Menu.SearchBox = Otsi -Menu.SearchPrograms = Programmide ja failide otsing -Menu.SearchInternet = Otsi Internetist -Menu.Searching = Otsimine... -Menu.NoMatch = Teie otsingule ei vasta ükski üksus. -Menu.MoreResults = Kuva rohkem tulemeid -Menu.Help = Sp&ikker ja tugi -Menu.Run = &Käivita... -Menu.Logoff = L&ogi välja kasutaja %s -Menu.SwitchUser = V&aheta kasutajat -Menu.Lock = &Lukusta -Menu.LogOffShort = &Logi välja -Menu.Undock = Doki a&rvuti lahti -Menu.Disconnect = K&atkesta ühendus -Menu.ShutdownBox = S&ule arvuti... -Menu.Shutdown = &Sule arvuti -Menu.Restart = &Taaskäivita -Menu.ShutdownUpdate = Värskenda ja sule -Menu.RestartUpdate = Värskenda ja taaskäivita -Menu.Sleep = &Unerežiim -Menu.Hibernate = &Talveunerežiim -Menu.ControlPanel = &Juhtpaneel -Menu.PCSettings = Arvutisätted -Menu.Security = Windowsi turvalisus -Menu.Network = Võrguühe&ndused -Menu.Printers = &Printerid -Menu.Taskbar = &Tegumiriba ja menüü Start -Menu.SearchFiles = &Failid või kaustad... -Menu.SearchPrinter = &Printer -Menu.SearchComputers = &Arvutitele -Menu.UserFilesTip = Sisaldab dokumentide, piltide, muusika ning teiste teile kuuluvate failide kaustu. -Menu.UserDocumentsTip = Sisaldab kirju, aruandeid ja muid dokumente ning faile. -Menu.UserPicturesTip = Sisaldab digitaalfotosid, pilte ja graafikafaile. -Menu.UserMusicTip = Sisaldab muusikat ja muid helifaile. -Menu.UserVideosTip = Sisaldab filme ja muid videofaile. -Menu.NetworkTip = Kuvab selles arvutis olemasolevad võrguühendused ja aitab luua uusi -Menu.PrintersTip = Lisa, eemalda ja konfigureeri kohalikke ning võrguprintereid. -Menu.TaskbarTip = Saate kohandada menüüd Start ja tegumiriba, näiteks seal kuvatavate üksuste tüüpe ja kuvamisviisi. -Menu.ControlPanelTip = Arvuti sätete muutmine ja funktsioonide kohandamine. -Menu.DocumentsLibTip = Juurdepääs kirjadele, aruannetele, märkmetele ja muudele dokumentidele. -Menu.MusicLibTip = Muusika ja muude helifailide esitamine. -Menu.PicturesLibTip = Digipiltide vaatamine ja korraldamine. -Menu.VideosLibTip = Kodu- ja muude digivideote vaatamine. -Menu.RecordingsLibTip = Arvutisse salvestatud telesaadete vaatamine. -Menu.DownloadTip = Internetist allalaaditavate failide ja lemmikveebisaidi linkide otsimine. -Menu.HomegroupTip = Juurdepääs teiste kodurühma inimeste ühiskasutusse antud teekidele ja kaustadele. -Menu.RunTip = Avab programmi, kausta, dokumendi või veebisaidi. -Menu.HelpTip = Otsige spikriteemasid, õpikuid, tõrkeotsinguid ja muid tugiteenuseid. -Menu.ProgramsTip = Kuvab programmide loendi. -Menu.SearchFilesTip = Otsige dokumente, muusikat, pilte, meile ja muud. -Menu.GamesTip = Mängige ja hallake oma arvutis mänge. -Menu.SecurityTip = Parooli muutmiseks, kasutaja vahetamiseks või tegumihalduri käivitamiseks avage Windowsi turbe suvandid. -Menu.SearchComputersTip = Otsi võrgus olevaid arvuteid -Menu.SearchPrintersTip = Otsi printerit -Menu.AdminToolsTip = Arvuti haldussätete konfigureerimine. -Menu.ShutdownTip = Suleb kõik avatud programmid, suleb Windowsi ja lülitab arvuti välja. -Menu.RestartTip = Suleb kõik avatud programmid, sulgeb Windowsi ning seejärel käivitab Windowsi uuesti. -Menu.SleepTip = Säilitab teie seansi mälus ja lülitab arvuti energiasäästurežiimi, et saaksite kiiresti töötamist jätkata. -Menu.HibernateTip = Salvestab teie seansi ning lülitab arvuti välja. Kui lülitate arvuti sisse, taastab Windows teie seansi. -Menu.LogOffTip = Programmide sulgemine ja väljalogimine. -Menu.DisconnectTip = Katkestab teie seansi. Saate selle seansiga ühenduse taastada, kui uuesti sisse logite. -Menu.LockTip = Selle arvuti lukustamine. -Menu.UndockTip = Eemaldab teie sülearvuti dokkimisjaamast. -Menu.SwitchUserTip = Kasutaja vahetamine ilma programme sulgemata. -Menu.Empty = (Tühi) -Menu.Features = Programmid ja funktsioonid -Menu.FeaturesTip = Desinstallige või muutke programme oma arvutis. -Menu.SearchPeople = &Inimesi... -Menu.SortByName = Sor&di nime järgi -Menu.Open = &Ava -Menu.OpenAll = A&va kaust Kõik kasutajad -Menu.Explore = Uu&ri -Menu.ExploreAll = Uur&i kausta Kõik kasutajad -Menu.MenuSettings = Sätted -Menu.MenuHelp = Spikker -Menu.MenuExit = Välju -Menu.LogoffTitle = Windowsist väljalogimine -Menu.LogoffPrompt = Kas soovite kindlasti välja logida? -Menu.LogoffYes = Lo&gi välja -Menu.LogoffNo = &Ei -Menu.RenameTitle = Ümbernimetamine -Menu.RenamePrompt = &Uus nimi: -Menu.RenameOK = OK -Menu.RenameCancel = Loobu -Menu.Organize = Korralda menüü Start -Menu.Expand = &Laienda -Menu.Collapse = A&henda -Menu.NewFolder = Uus kaust -Menu.NewShortcut = Uus otsetee -Menu.AutoArrange = &Korralda automaatselt -Menu.ActionOpen = Ava -Menu.ActionClose = Sule -Menu.ActionExecute = Täida -Menu.RemoveList = Eemal&da sellest loendist -Menu.RemoveAll = Tü&hjenda hiljutiste üksuste loend -Menu.Explorer = Windows Explorer -Menu.Start = Start -Menu.StartScreen = Avakuva -Menu.StartMenu = Menüü Start (Windows) -Menu.PinStart = Kinnita menüüsse Start -Menu.PinStartCs = Kinnita menüüsse Start (Open-Shell) -Menu.UnpinStartCs = Eemalda menüüst Start (Open-Shell) -Menu.MonitorOff = Lülitage kuvar välja -Menu.RemoveHighlight = Eemalda esiletõst -Menu.Uninstall = &Desinstalli -Menu.UninstallTitle = Desinstalli -Menu.UninstallPrompt = Kas soovite kindlasti desinstallida %s? -Search.CategorySettings = Sätted -Search.CategoryPCSettings = Arvutisätted -Search.CategoryPrograms = Programmid -Search.CategoryDocuments = Dokumendid -Search.CategoryMusic = Muusika -Search.CategoryPictures = Pildid -Search.CategoryVideos = Videod -Search.CategoryFiles = Failid -Search.CategoryInternet = Internet -JumpList.Recent = Hiljutised -JumpList.Frequent = Sagedased -JumpList.Tasks = Toimingud -JumpList.Pinned = Kinnitatud -JumpList.Pin = &Kinnita sellesse loendisse -JumpList.Unpin = &Eemalda sellest loendist -JumpList.Remove = Eemal&da sellest loendist -JumpList.PinTip = Kinnita sellesse loendisse -JumpList.UnpinTip = Eemalda sellest loendist - - -[fa-IR] - Persian -Menu.Programs = &برنامه‌ها -Menu.Apps = برنامه‌ها -Menu.AllPrograms = همه برنامه‌ها -Menu.Back = عقب -Menu.Favorites = علا&قه‌مندی‌ها -Menu.Documents = ا&سناد -Menu.Settings = تن&ظیمات -Menu.Search = &جستجو -Menu.SearchBox = جستجو -Menu.SearchPrograms = جستجوی برنامه‌ها و پرونده‌ها -Menu.SearchInternet = جستجوی اینترنت -Menu.Searching = در حال جستجو... -Menu.NoMatch = ‏‏هیچ موردی با جستجوی شما مطابقت ندارد. -Menu.MoreResults = دیدن نتایج بیشتر -Menu.Help = را&هنمایی و پشتیبانی -Menu.Run = &اجرا... -Menu.Logoff = &خروج از سیستم %s -Menu.SwitchUser = تعویض کاربر -Menu.Lock = قفل کردن -Menu.LogOffShort = خروج از سیستم -Menu.Undock = جداسازی را&یانه از محل استقرار -Menu.Disconnect = ق&طع ارتباط -Menu.ShutdownBox = خامو&ش کردن... -Menu.Shutdown = خامو&ش کردن... -Menu.Restart = &راه‌اندازی مجدد -Menu.ShutdownUpdate = به‌روزرسانی و خاموش کردن -Menu.RestartUpdate = به‌روزرسانی و راه‌اندازی مجدد -Menu.Sleep = خ&واب -Menu.Hibernate = خاموشی &موقت -Menu.ControlPanel = &صفحه کنترل -Menu.PCSettings = تنظیمات رایانه -Menu.Security = امنیت ویندوز -Menu.Network = اتصالات شب&که -Menu.Printers = &چاپگرها -Menu.Taskbar = &نوار وظیفه و منوی شروع -Menu.SearchFiles = برای &پرونده‌ها و پوشه‌ها... -Menu.SearchPrinter = برای &چاپگر -Menu.SearchComputers = برای &رایانه‌ها -Menu.UserFilesTip = شامل پوشه‌های اسناد، تصاویر، موسیقی‌ها و پرونده‌های دیگری است که به شما تعلق دارد. -Menu.UserDocumentsTip = شامل نامه‌ها، اخبار و اسناد و پرونده‌های دیگر است. -Menu.UserPicturesTip = شامل عکس‌های دیجیتالی، تصاویر و پرونده‌های گرافیکی است. -Menu.UserMusicTip = شامل موسیقی‌ها و دیگر پرونده‌های صوتی است. -Menu.UserVideosTip = شامل فیلم‌ها و دیگر پرونده‌های ویدئویی است. -Menu.NetworkTip = ‏‏اتصالات شبکه موجود روی رایانه را نمایش می‌دهد و به شما در ایجاد اتصالات جدید کمک می کند -Menu.PrintersTip = چاپگرهای محلی و شبکه را اضافه، حذف و پیکربندی کنید. -Menu.TaskbarTip = ‏‏منوی "شروع" و نوار وظیفه را سفارشی می کند، مانند انواع موارد و نحوه نمایش آنها. -Menu.ControlPanelTip = تنظیمات را تغییر داده و عملکرد رایانه را سفارشی کنید. -Menu.DocumentsLibTip = دسترسی به نامه‌ها، گزارش‌ها، یادداشت‌ها، و انواع دیگر مدارک. -Menu.MusicLibTip = پخش موسیقی و پرونده‌های صوتی دیگر. -Menu.PicturesLibTip = مشاهده و سازماندهی تصاویر دیجیتالی. -Menu.VideosLibTip = تماشای فیلم‌های خانوادگی و سایر فیلم‌های دیجیتالی. -Menu.RecordingsLibTip = تماشای برنامه‌های تلویزیونی ضبط شده در رایانه شما. -Menu.DownloadTip = یافتن بارگیری‌های اینترنتی و پیوند به وب‌سایت‌های دلخواه. -Menu.HomegroupTip = به کتابخانه‌ها و پوشه‌هایی که دیگران به اشتراک گذاشته‌اند در گروه خانگی خود دسترسی پیدا کنید. -Menu.RunTip = یک برنامه، پوشه، سند یا وب‌سایت را باز می‌کند. -Menu.HelpTip = پیدا کردن عناوین راهنما، آموزش، رفع اشکال، و خدمات پشتیبانی دیگر. -Menu.ProgramsTip = فهرستی از برنامه‌های شما را باز می‌کند. -Menu.SearchFilesTip = جستجو برای سندها، موسیقی‌ها، تصاویر، پست الکترونیکی و موارد دیگر. -Menu.GamesTip = بازی کردن و مدیریت بازی‌های رایانه شما. -Menu.SecurityTip = راه‌اندازی گزینه‌های امنیتی ویندوز برای تغییر رمز ورود، تعویض کاربر یا شروع کنترل‌گر فعالیت‌ها. -Menu.SearchComputersTip = جستجو برای رایانه‌ها در شبکه -Menu.SearchPrintersTip = جستجو برای چاپگر -Menu.AdminToolsTip = پیکربندی تنظیمات مدیریت برای رایانه شما. -Menu.ShutdownTip = همه برنامه‌های باز را می‌بندد، ویندوز را خاموش می‌کند و سپس رایانه شما را خاموش می‌کند. -Menu.RestartTip = همه برنامه‌های باز را می‌بندد، ویندوز را خاموش می‌کند و سپس ویندوز را مجدداً راه‌اندازی می‌کند. -Menu.SleepTip = جلسه شما را در حافظه نگه می‌دارد و رایانه را در حالت مصرف برق کمتر قرار می‌دهد تا شما سریعاً بتوانید به کار خود برگردید. -Menu.HibernateTip = جلسه شما را ذخیره و رایانه را خاموش می‌کند. وقتی که رایانه را روشن می‌کنید، ویندوز جلسه شما را باز می‌گرداند. -Menu.LogOffTip = ‏‏برنامه‌ها را ببندید و از سیستم خارج شوید. -Menu.DisconnectTip = جلسه شما را قطع می‌کند. می‌توانید هنگامی که دوباره به سیستم وارد می‌شوید مجدداً به این جلسه وصل شوید. -Menu.LockTip = این رایانه را قفل کنید. -Menu.UndockTip = رایانه کیفی یا نوت‌بوک خود را از محل استقرار جدا کنید. -Menu.SwitchUserTip = تعویض کاربران بدون بستن برنامه‌ها. -Menu.Empty = (خالی) -Menu.Features = برنامه‌ها و ویژگی‌ها -Menu.FeaturesTip = برنامه‌های رایانه خود را تغییر داده یا پاک کنید. -Menu.SearchPeople = برای ا&فراد... -Menu.SortByName = &ترتیب بر اساس نام -Menu.Open = با&ز کردن -Menu.OpenAll = باز کردن تمام &کاربرها -Menu.Explore = کاو&ش -Menu.ExploreAll = کاوش ت&مام کاربرها -Menu.MenuSettings = تنظیمات -Menu.MenuHelp = راهنما -Menu.MenuExit = خروج -Menu.LogoffTitle = خروج از ویندوز -Menu.LogoffPrompt = آیا برای خروج از سیستم مطمئن هستید؟ -Menu.LogoffYes = خروج از س&یستم -Menu.LogoffNo = &خیر -Menu.RenameTitle = تغییر نام -Menu.RenamePrompt = نام &جدید: -Menu.RenameOK = تایید -Menu.RenameCancel = لغو -Menu.Organize = سازماندهی منوی شروع -Menu.Expand = با&ز شدن -Menu.Collapse = جمع &شدن -Menu.NewFolder = پوشه جدید -Menu.NewShortcut = میانبر جدید -Menu.AutoArrange = ترتیب خو&دکار -Menu.ActionOpen = باز کردن -Menu.ActionClose = بستن -Menu.ActionExecute = اجرا -Menu.RemoveList = حذف از این &لیست -Menu.RemoveAll = &پاک کردن لیست موارد اخیر -Menu.Explorer = کاوشگر ویندوز -Menu.Start = شروع -Menu.StartScreen = صفحه شروع -Menu.StartMenu = منوی آغاز (Windows) -Menu.PinStart = سنجاق کردن به منوی شروع -Menu.PinStartCs = سنجاق کردن به منوی شروع (Open-Shell) -Menu.UnpinStartCs = برداشتن از منوی شروع (Open-Shell) -Menu.MonitorOff = خاموش کردن صفحه نمایش -Menu.RemoveHighlight = حذف هایلایت -Menu.Uninstall = ل&غو نصب -Menu.UninstallTitle = لغو نصب -Menu.UninstallPrompt = ‏‏آیا مطمئنید می خواهید %s را لغو نصب کنید؟ -Menu.ClassicSettings = منوی ش&روع کلاسیک -Menu.SettingsTip = تنظیمات منوی شروع کلاسیک -Search.CategorySettings = تنظیمات -Search.CategoryPCSettings = تنظیمات رایانه -Search.CategoryPrograms = برنامه‌ها -Search.CategoryDocuments = اسناد -Search.CategoryMusic = موسیقی -Search.CategoryPictures = تصاویر -Search.CategoryVideos = فیلم‌ها -Search.CategoryFiles = پرونده‌ها -Search.CategoryInternet = اینترنت -JumpList.Recent = اخیر -JumpList.Frequent = مکرر -JumpList.Tasks = وظایف -JumpList.Pinned = سنجاق شده -JumpList.Pin = سن&جاق کردن به این لیست -JumpList.Unpin = &برداشتن از این لیست -JumpList.Remove = ح&ذف از این لیست -JumpList.PinTip = سننجاق کردن به این لیست -JumpList.UnpinTip = برداشتن از این لیست - - -[fi-FI] - Finnish (Finland) -Menu.Programs = O&hjelmat -Menu.Apps = Sovellukset -Menu.AllPrograms = Kaikki ohjelmat -Menu.Back = Takaisin -Menu.Favorites = &Suosikit -Menu.Documents = &Tiedostot -Menu.Settings = &Asetukset -Menu.Search = &Etsi -Menu.SearchBox = Etsi -Menu.SearchPrograms = Hae ohjelmista ja tiedostoista -Menu.SearchInternet = Etsi Internetistä -Menu.Searching = Etsitään... -Menu.NoMatch = Hakuehtoja täyttäviä kohteita ei löytynyt. -Menu.MoreResults = Näytä lisää tuloksia -Menu.Help = &Ohje ja tuki -Menu.Run = Suo&rita... -Menu.Logoff = Kirjaa &ulos: %s -Menu.SwitchUser = &Vaihda käyttäjää -Menu.Lock = Luk&itse -Menu.LogOffShort = &Kirjaudu ulos -Menu.Undock = &Poista tietokone -Menu.Disconnect = &Katkaise yhteys -Menu.ShutdownBox = Sa&mmuta... -Menu.Shutdown = &Sammuta -Menu.Restart = Käynnistä &uudelleen -Menu.ShutdownUpdate = Päivitä ja sammuta -Menu.RestartUpdate = Päivitä ja käynnistä uudelleen -Menu.Sleep = L&epotila -Menu.Hibernate = &Horrostila -Menu.ControlPanel = &Ohjauspaneeli -Menu.PCSettings = Tietokoneen asetukset -Menu.Security = Windowsin suojaus -Menu.Network = &Verkkoyhteydet -Menu.Printers = T&ulostimet -Menu.Taskbar = &Tehtäväpalkki ja Käynnistä-valikko -Menu.SearchFiles = &Tiedostoja tai kansioita... -Menu.SearchPrinter = &Tulostimia -Menu.SearchComputers = Tiet&okoneita -Menu.UserFilesTip = Sisältää kansiot asiakirjoille, kuville, musiikille ja muille tiedostoillesi. -Menu.UserDocumentsTip = Sisältää asiakirjoja, tekstitiedostoja ja muita tiedostoja. -Menu.UserPicturesTip = Sisältää digitaalisia kuvia ja grafiikkatiedostoja. -Menu.UserMusicTip = Musiikki- ja äänitiedostojen tallennuspaikka. -Menu.UserVideosTip = Videotiedostojen tallennuspaikka. -Menu.NetworkTip = Näyttää tämän tietokoneen verkkoyhteydet ja auttaa uusien luomisessa -Menu.PrintersTip = Lisää, poistaa ja määrittää paikallisia ja verkossa olevia tulostimia. -Menu.TaskbarTip = Mukauttaa Käynnistä-valikon ja tehtäväpalkin asetuksia, kuten ilmaisinalueen kohteiden näyttötapaa. -Menu.ControlPanelTip = Muuta asetuksia ja muokkaa tietokoneen toimintaa. -Menu.DocumentsLibTip = Käytä kirjeitä, raportteja, muistiinpanoja ja muunlaisia asiakirjoja. -Menu.MusicLibTip = Toista musiikkia ja muita äänitiedostoja. -Menu.PicturesLibTip = Katsele digitaalisia kuvia ja järjestä niitä. -Menu.VideosLibTip = Katsele kotivideoita ja muita digitaalisia videoita. -Menu.RecordingsLibTip = Katsele tietokoneeseen tallennettuja TV-ohjelmia. -Menu.DownloadTip = Löydä ladattavia Internet-tiedostoja ja suosikkisivustojen linkkejä. -Menu.HomegroupTip = Käytä kotiryhmäsi muiden jäsenien jakamia kirjastoja ja kansioita. -Menu.RunTip = Avaa kansion, tiedoston tai WWW-sivun. -Menu.HelpTip = Etsi ohjeaiheita, opetusohjelmia, vianmääritystietoja ja muita tukipalveluja. -Menu.ProgramsTip = Avaa ohjelmaluettelon. -Menu.SearchFilesTip = Etsi asiakirjoja, musiikkia, kuvia, sähköpostiviestejä ja muita tiedostoja. -Menu.GamesTip = Pelaa ja käsittele tietokoneessa olevia pelejä. -Menu.SecurityTip = Avaa Windowsin suojausasetukset, jotta voit vaihtaa salasanan, vaihtaa käyttäjää tai käynnistää Tehtävienhallinnan. -Menu.SearchComputersTip = Etsi tietokoneita verkosta -Menu.SearchPrintersTip = Etsi tulostimia -Menu.AdminToolsTip = Määritä tietokoneen hallinta-asetukset. -Menu.ShutdownTip = Sulkee kaikki ohjelmat ja Windowsin sekä sammuttaa tietokoneen. -Menu.RestartTip = Sulkee kaikki avoimet ohjelmat ja Windowsin ja käynnistää sitten Windowsin uudelleen. -Menu.SleepTip = Säilyttää istunnon muistissa ja siirtää tietokoneen virransäästötilaan, jotta voit nopeasti jatkaa työskentelyä. -Menu.HibernateTip = Tallentaa istunnon ja sammuttaa tietokoneen. Kun käynnistät tietokoneen, Windows jatkaa istuntoa. -Menu.LogOffTip = Sulje ohjelmat ja kirjaudu ulos. -Menu.DisconnectTip = Katkaisee yhteyden istuntoon. Voit muodostaa yhteyden tähän istuntoon uudelleen kirjauduttaessa uudelleen. -Menu.LockTip = Lukitse tämä tietokone. -Menu.UndockTip = Poistaa kannettavan tietokoneen telakointiasemasta. -Menu.SwitchUserTip = Vaihda käyttäjiä sulkematta ohjelmia. -Menu.Empty = (Tyhjä) -Menu.Features = Ohjelmat ja toiminnot -Menu.FeaturesTip = Poista tai muuta tietokoneessa olevia ohjelmia. -Menu.SearchPeople = &Henkilöitä... -Menu.SortByName = &Lajittele nimen mukaan -Menu.Open = &Avaa -Menu.OpenAll = Avaa &kaikki käyttäjät -Menu.Explore = &Resurssienhallinta -Menu.ExploreAll = &Selaa kaikkia käyttäjiä -Menu.MenuSettings = Asetukset -Menu.MenuHelp = Ohje -Menu.MenuExit = Lopeta -Menu.LogoffTitle = Kirjaudu ulos Windowsista -Menu.LogoffPrompt = Haluatko varmasti kirjautua ulos? -Menu.LogoffYes = &Kirjaudu ulos -Menu.LogoffNo = E&i -Menu.RenameTitle = Nimeä uudelleen -Menu.RenamePrompt = &Uusi nimi: -Menu.RenameOK = OK -Menu.RenameCancel = Peruuta -Menu.Organize = Järjestä Käynnistä-valikko -Menu.Expand = &Laajenna -Menu.Collapse = &Kutista -Menu.NewFolder = Uusi kansio -Menu.NewShortcut = Uusi pikakuvake -Menu.AutoArrange = &Järjestä automaattisesti -Menu.ActionOpen = Avaa -Menu.ActionClose = Sulje -Menu.ActionExecute = Suorita -Menu.RemoveList = &Poista luettelosta -Menu.RemoveAll = &Tyhjennä viimeisimpien tiedostojen luettelo -Menu.Explorer = Resurssienhallinta -Menu.Start = Käynnistä -Menu.StartScreen = Aloitusnäyttö -Menu.StartMenu = Käynnistä-valikko (Windows) -Menu.PinStart = Kiinnitä Käynnistä-valikkoon -Menu.PinStartCs = Kiinnitä Käynnistä-valikkoon (Open-Shell) -Menu.UnpinStartCs = Poista kiinnitys Käynnistä-valikosta (Open-Shell) -Menu.MonitorOff = Sammuta näyttö -Menu.RemoveHighlight = Poista tärkeä kohde -Menu.Uninstall = &Poista asennus -Menu.UninstallTitle = Poista asennus -Menu.UninstallPrompt = Haluatko varmasti poistaa kohteen %s asennuksen? -Search.CategorySettings = Asetukset -Search.CategoryPCSettings = Tietokoneen asetukset -Search.CategoryPrograms = Ohjelmat -Search.CategoryDocuments = Tiedostot -Search.CategoryMusic = Musiikki -Search.CategoryPictures = Kuvat -Search.CategoryVideos = Videot -Search.CategoryFiles = Tiedostoja -Search.CategoryInternet = Internet -JumpList.Recent = Viimeksi käytetyt tiedostot -JumpList.Frequent = Usein käytetty -JumpList.Tasks = Tehtävät -JumpList.Pinned = Kiinnitetty -JumpList.Pin = Kiinnitä &tähän luetteloon -JumpList.Unpin = Poista &kiinnitys tästä luettelosta -JumpList.Remove = &Poista luettelosta -JumpList.PinTip = Kiinnitä tähän luetteloon -JumpList.UnpinTip = Poista kiinnitys tästä luettelosta - - -[fr-FR] - French (France) -Menu.Programs = Progra&mmes -Menu.Apps = Applications -Menu.AllPrograms = Tous les programmes -Menu.Back = Précédent -Menu.Favorites = Fa&voris -Menu.Documents = Doc&uments -Menu.Settings = &Paramètres -Menu.Search = Rec&hercher -Menu.SearchBox = Rechercher -Menu.SearchPrograms = Rechercher les programmes et fichiers -Menu.SearchInternet = Rechercher sur Internet -Menu.Searching = Recherche… -Menu.NoMatch = Aucun élément ne correspond à la recherche. -Menu.MoreResults = Voir plus de résultats -Menu.Help = &Aide et support -Menu.Run = E&xécuter… -Menu.Logoff = Fermer la sessi&on %s… -Menu.SwitchUser = &Changer d’utilisateur -Menu.Lock = Verr&ouiller -Menu.LogOffShort = &Fermer la session -Menu.Undock = R&etirer l’ordinateur -Menu.Disconnect = &Déconnecter -Menu.ShutdownBox = Arrê&ter… -Menu.Shutdown = A&rrêter -Menu.Restart = &Redémarrer -Menu.ShutdownUpdate = Mettre à jour et arrêter -Menu.RestartUpdate = Mettre à jour et redémarrer -Menu.Sleep = Mettre en &veille -Menu.Hibernate = &Mettre en veille prolongée -Menu.ControlPanel = &Panneau de configuration -Menu.PCSettings = Paramètres du PC -Menu.Security = Sécurité de Windows -Menu.Network = &Connexions réseau -Menu.Printers = &Imprimantes -Menu.Taskbar = &Barre des tâches et menu Démarrer -Menu.SearchFiles = Des &fichiers ou des dossiers… -Menu.SearchPrinter = Une i&mprimante -Menu.SearchComputers = Des &ordinateurs -Menu.UserFilesTip = Contient des dossiers pour les documents, les images, la musique et d’autres fichiers utilisateur. -Menu.UserDocumentsTip = Ouvrir des lettres, rapports et autres documents et fichiers. -Menu.UserPicturesTip = Contient des photos numériques, des images et des fichiers graphiques. -Menu.UserMusicTip = Contient de la musique et des fichiers audio. -Menu.UserVideosTip = Contient des films et des fichiers vidéo. -Menu.NetworkTip = Affiche les connexions réseau existantes sur cet ordinateur et vous aide à en créer de nouvelles -Menu.PrintersTip = Ajouter, supprimer ou configurer des imprimantes locales ou en réseau. -Menu.TaskbarTip = Personnalise le menu Démarrer et la barre des tâches, notamment les types d’éléments à afficher et l’aspect à leur donner. -Menu.ControlPanelTip = Modifier les paramètres et personnaliser la fonctionnalité de l’ordinateur. -Menu.DocumentsLibTip = Accéder aux lettres, rapports et notes et à d’autres types de documents. -Menu.MusicLibTip = Écouter de la musique et des fichiers audio. -Menu.PicturesLibTip = Afficher et organiser les images. -Menu.VideosLibTip = Regarder des films et d’autres vidéos numériques à la maison. -Menu.RecordingsLibTip = Regarder les programmes TV enregistrés sur cet ordinateur. -Menu.DownloadTip = Rechercher des téléchargements Internet et des liens vers les sites Web favoris. -Menu.HomegroupTip = Accéder aux bibliothèques et aux dossiers partagés par les autres membres du groupe résidentiel. -Menu.RunTip = Ouvrir un programme, un dossier, un document ou un site Web. -Menu.HelpTip = Rechercher des rubriques d’aide, des didacticiels, des informations de dépannage et d’autres services d’assistance. -Menu.ProgramsTip = Afficher tous les programmes présents sur cet ordinateur. -Menu.SearchFilesTip = Rechercher des documents, des morceaux de musique, des images, des messages et bien plus encore. -Menu.GamesTip = Jouer des parties et gérer les jeux de cet ordinateur. -Menu.SecurityTip = Lancer les Options de sécurité Windows pour modifier le mot de passe, changer d’utilisateur ou ouvrir le gestionnaire des tâches. -Menu.SearchComputersTip = Rechercher des ordinateurs sur le réseau -Menu.SearchPrintersTip = Rechercher une imprimante -Menu.AdminToolsTip = Configurer les paramètres d’administration de cet ordinateur. -Menu.ShutdownTip = Fermer tous les programmes ouverts, arrêter Windows et éteindre cet ordinateur. -Menu.RestartTip = Fermer tous les programmes ouverts, arrêter Windows puis redémarrer Windows. -Menu.SleepTip = Conserver cette session en mémoire en plaçant l’ordinateur en mode de consommation réduite, pour permettre de reprendre rapidement le travail. -Menu.HibernateTip = Enregistrer cette session et éteindre l’ordinateur. Lors du redémarrage de l’ordinateur, la session sera restaurée. -Menu.LogOffTip = Fermer les programmes et cette session. -Menu.DisconnectTip = Se déconnecter de cette session. Il sera possible de se reconnecter à cette session à l’ouverture d’une nouvelle session. -Menu.LockTip = Verrouiller cet ordinateur. -Menu.UndockTip = Retirer l’ordinateur portable de sa station d’accueil. -Menu.SwitchUserTip = Changer d’utilisateur sans fermer les programmes. -Menu.Empty = (Vide) -Menu.Features = Programmes et fonctionnalités -Menu.FeaturesTip = Désinstaller ou modifier des programmes sur cet ordinateur. -Menu.SearchPeople = Des &personnes… -Menu.SortByName = Trier par &nom -Menu.Open = &Ouvrir -Menu.OpenAll = Ouvrir &tous les utilisateurs -Menu.Explore = E&xplorer -Menu.ExploreAll = &Explorer Tous les utilisateurs -Menu.MenuSettings = Paramètres -Menu.MenuHelp = Aide -Menu.MenuExit = Quitter -Menu.LogoffTitle = Fermeture de session Windows -Menu.LogoffPrompt = Faut-il vraiment fermer cette session ? -Menu.LogoffYes = &Fermer la session -Menu.LogoffNo = &Non -Menu.RenameTitle = Renommer -Menu.RenamePrompt = &Nouveau nom : -Menu.RenameOK = OK -Menu.RenameCancel = Annuler -Menu.Organize = Organiser le menu Démarrer -Menu.Expand = &Développer -Menu.Collapse = &Réduire -Menu.NewFolder = Nouveau dossier -Menu.NewShortcut = Nouveau raccourci -Menu.AutoArrange = &Réorganisation automatique -Menu.ActionOpen = Ouvrir -Menu.ActionClose = Fermer -Menu.ActionExecute = Exécuter -Menu.RemoveList = &Supprimer de cette liste -Menu.RemoveAll = Effacer les é&léments récents -Menu.Explorer = Explorateur Windows -Menu.Start = Démarrer -Menu.StartScreen = Écran d’accueil -Menu.StartMenu = Menu Démarrer (Windows) -Menu.PinStart = Épingler au menu Démarrer -Menu.PinStartCs = Épingler au menu Démarrer (Open-Shell) -Menu.UnpinStartCs = Détacher du menu Démarrer (Open-Shell) -Menu.MonitorOff = Éteindre l’affichage -Menu.RemoveHighlight = Supprimer la recommandation -Menu.Uninstall = &Désinstaller -Menu.UninstallTitle = Désinstaller -Menu.UninstallPrompt = Faut-il vraiment désinstaller %s ? -Search.CategorySettings = Paramètres -Search.CategoryPCSettings = Paramètres du PC -Search.CategoryPrograms = Programmes -Search.CategoryDocuments = Documents -Search.CategoryMusic = Musique -Search.CategoryPictures = Images -Search.CategoryVideos = Vidéos -Search.CategoryFiles = Fichiers -Search.CategoryInternet = Internet -JumpList.Recent = Récent -JumpList.Frequent = Fréquent -JumpList.Tasks = Tâches -JumpList.Pinned = Épinglé -JumpList.Pin = Ép&ingler à cette liste -JumpList.Unpin = &Détacher de cette liste -JumpList.Remove = Suppri&mer de cette liste -JumpList.PinTip = Épingler à cette liste -JumpList.UnpinTip = Détacher de cette liste - - -[gd-GB] - Scottish Gaelic (United Kingdom) -Menu.Programs = &Prògraman -Menu.Apps = Aplacaidean -Menu.AllPrograms = Na h-uile prògram -Menu.Back = Air ais -Menu.Favorites = &Annsachdan -Menu.Documents = &Sgrìobhainnean -Menu.Settings = R&oghainnean -Menu.Search = &Lorg -Menu.SearchBox = Lorg -Menu.SearchPrograms = Lorg prògraman is faidhlichean -Menu.SearchInternet = Lorg air an eadar-lìon -Menu.Searching = Ga lorg... -Menu.NoMatch = Chan eil dad a' freagairt ris na lorg thu. -Menu.MoreResults = Faic barrachd thoraidhean -Menu.Help = Cob&hair is taic -Menu.Run = &Ruith... -Menu.Logoff = C&làraich %s a-mach -Menu.SwitchUser = Gearr leum gu cleachdaiche eile -Menu.Lock = Glais -Menu.LogOffShort = Clàraich a-mach -Menu.Undock = N&eo-dhocaich an coimpiutair -Menu.Disconnect = Dì-cheanga&il -Menu.ShutdownBox = &Dùin sìos... -Menu.Shutdown = &Dùin sìos -Menu.Restart = &Ath-thòisich -Menu.ShutdownUpdate = Ùraich is dùin sìos -Menu.RestartUpdate = Ùraich is ath-thòisich -Menu.Sleep = C&uir na chadal -Menu.Hibernate = &Geamhraich -Menu.ControlPanel = A' &phanail-smachd -Menu.PCSettings = Roghainnean a' PC -Menu.Security = Tèarainteachd Windows -Menu.Network = Cea&nglaichean lìonraidh -Menu.Printers = Clò-&bhualadairean -Menu.Taskbar = Bàr nan sao&thair is an clàr-taice tòiseachaidh -Menu.SearchFiles = Airson &faidhlichean no pasganan... -Menu.SearchPrinter = Airson clò-&bhualadair -Menu.SearchComputers = Airson &coimpiutairean -Menu.UserFilesTip = Tha pasgain airson sgrìobhainnean, dealbhan, ceòl is na faidhlichean eile agad ann. -Menu.UserDocumentsTip = Tha litrichean, aithisgean, sgrìobhainnean is faidhlichean eile ann. -Menu.UserPicturesTip = Tha dealbhan digiteach, ìomhaighean is faidhlichean grafaigeach ann. -Menu.UserMusicTip = Tha faidhlichean ciùil is fuaime ann. -Menu.UserVideosTip = Tha filmichean is faidhlichean video eile ann. -Menu.NetworkTip = Seallaidh e ceanglaichean lìonraidh a tha air a' choimpiutair seo 's cuidichidh e a' cruthachadh feadhainn ùra -Menu.PrintersTip = Cuir ris, thoir air falbh is rèitich clò-bhualadairean ionadail is lìonraidh. -Menu.TaskbarTip = Gnàthaich an clàr-taice tòiseachaidh agus bàr nan saothair, can seòrsa nan nithean a chithear agus mar a nochdas iad. -Menu.ControlPanelTip = Atharraich na roghainnean is gnàthaich comas-gnìomh a' choimpiutair agad. -Menu.DocumentsLibTip = Dèan inntrigeadh do litrichean, aithisgean, nòtaichean is sgrìobhainnean eile. -Menu.MusicLibTip = Cluich ceòl is faidhlichean fuaime eile. -Menu.PicturesLibTip = Faic is cuir air dòigh dealbhan digiteach. -Menu.VideosLibTip = Coimhead air filmichean dachaigh is videothan digiteach eile. -Menu.RecordingsLibTip = Coimhead air prògraman TBh a chlàraich thu air a' choimpiutair agad. -Menu.DownloadTip = Lorg rudan ri luchdadh a-nuas on eadar-lìon is ceanglaichean ris na làraichean-lìn as fhearr leat. -Menu.HomegroupTip = Dèan inntrigeadh do leabharlannan is pasgain air an co-roinneadh le daoine eile sa bhuidhinn dachaigh agad. -Menu.RunTip = Fosglaidh seo prògram, pasgan, sgrìobhainn no làrach-lìn. -Menu.HelpTip = Lorg cuspairean na cobharach, treòirean, fuasgladh dhuilgheadasan is seirbheisean taice eile. -Menu.ProgramsTip = Fosglaidh seo liosta nam prògraman agad. -Menu.SearchFilesTip = Lorg sgrìobhainnean, ceòl, dealbhan, puist-d is mòran a bharrachd. -Menu.GamesTip = Cluich is stiùir geamannan air a' choimpiutair agad. -Menu.SecurityTip = Tòisich roghainnean tèarainteachd Windows gus facal-faire atharrachadh, suidseadh eadar cleachdaichean no manaidsear nan saothair a thòiseachadh. -Menu.SearchComputersTip = Lorg coimpiutairean air an lìonra -Menu.SearchPrintersTip = Lorg clò-bhualadair -Menu.AdminToolsTip = Rèitich roghainnean rianaire air a' choimpiutair agad. -Menu.ShutdownTip = Dùinidh seo a h-uile prògram fosgailte, dùinidh e sìos Windows agus cuiridh e dheth an coimpiutair agad. -Menu.RestartTip = Dùinidh seo a h-uile prògram fosgailte, dùinidh e sìos Windows agus tòisichidh e Windows às ùr. -Menu.SleepTip = Cumaidh seo an seisean agad na chuimhne agus cuiridh e an coimpiutair na staid nach cleachd ach beagan cumhachd airson 's gun urrainn dhut tòiseachadh air d' obair a-rithist gu luath. -Menu.HibernateTip = Sàbhailidh seo an seisean agad is cuiridh e dheth an coimpiutair. Nuair a chuireas tu air an coimpiutair a-rithist, aisigidh Windows an seisean dhut. -Menu.LogOffTip = Dùin na prògraman is clàraich a-mach. -Menu.DisconnectTip = Dì-cheanglaidh seo an seisean agad. 'S urrainn dhut ceangal ris an t-seisean seo às ùr nuair a chlàraicheas tu a-steach a-rithist. -Menu.LockTip = Glais an coimpiutair seo. -Menu.UndockTip = Bheir seo an laptop no notebook agad air falbh on stèisean docaidh. -Menu.SwitchUserTip = Gearr leum eadar cleachdaichean gun na prògraman a dhùnadh. -Menu.Empty = (Falamh) -Menu.Features = Prògraman is feartan -Menu.FeaturesTip = Dì-stàlaich no atharraich prògraman air a' choimpiutair agad. -Menu.SearchPeople = Airson &daoine... -Menu.SortByName = Seòrsaich a-rèir ain&m -Menu.Open = F&osgail -Menu.OpenAll = &Fosgail a h-uile cleachdaiche -Menu.Explore = &Rùraich -Menu.ExploreAll = Rùraic&h a h-uile cleachdaiche -Menu.MenuSettings = Roghainnean -Menu.MenuHelp = Cobhair -Menu.MenuExit = Fàg an-seo -Menu.LogoffTitle = Clàraich a-mach à Windows -Menu.LogoffPrompt = A bheil thu cinnteach gu bheil thu airson clàradh a-mach? -Menu.LogoffYes = &Clàraich a-mach -Menu.LogoffNo = Cha&n eil -Menu.RenameTitle = Thoir ainm ùr air -Menu.RenamePrompt = An &t-ainm ùr: -Menu.RenameOK = Ceart ma-thàa -Menu.RenameCancel = Sguir dheth -Menu.Organize = Cuir air dòigh an clàr-taice tòiseachaidh -Menu.Expand = Leud&aich -Menu.Collapse = Co-the&annaich -Menu.NewFolder = Pasgan ùr -Menu.NewShortcut = Ath-ghoirid ùr -Menu.AutoArrange = C&uir air dòigh gu fèin-obrachail -Menu.ActionOpen = Fosgail -Menu.ActionClose = Dùin -Menu.ActionExecute = Cuir an gnìomh -Menu.RemoveList = Thoir air &falbh on liosta seo -Menu.RemoveAll = Fa&lamhaich liosta nan nithean a bha fosgailte o chionn goirid -Menu.Explorer = Windows Explorer -Menu.Start = Tòisich -Menu.StartScreen = An sgrìn-tòiseachaidh -Menu.StartMenu = Start Menu (Windows) -Menu.PinStart = Prìnich ris a' chlàr-taice tòiseachaidh -Menu.PinStartCs = Prìnich ris a' chlàr-taice tòiseachaidh (Open-Shell) -Menu.UnpinStartCs = Dì-phrìnich on chlàr-taice tòiseachaidh (Open-Shell) -Menu.MonitorOff = Cuir an t-uidheam-taisbeanaidh dheth -Menu.RemoveHighlight = Remove highlight -Menu.Uninstall = &Dì-stàlaich -Menu.UninstallTitle = Dì-stàlaich -Menu.UninstallPrompt = A bheil thu cinnteach gu bheil thu airson %s a dhì-stàladh? -Search.CategorySettings = Roghainnean -Search.CategoryPCSettings = Roghainnean a' PC -Search.CategoryPrograms = Prògraman -Search.CategoryDocuments = Sgrìobhainnean -Search.CategoryMusic = Ceòl -Search.CategoryPictures = Dealbhan -Search.CategoryVideos = Videothan -Search.CategoryFiles = Faidhlichean -Search.CategoryInternet = An t-eadar-lìon -JumpList.Recent = O chionn goirid -JumpList.Frequent = Gu tric -JumpList.Tasks = Saothraichean -JumpList.Pinned = Prìnichte -JumpList.Pin = Prìn&ich ris an liosta seo -JumpList.Unpin = Dì-phrìnich &on liosta seo -JumpList.Remove = Thoir air &falbh on liosta seo -JumpList.PinTip = Prìnich ris an liosta seo -JumpList.UnpinTip = Dì-phrìnich on liosta seo - - -[he-IL] - Hebrew (Israel) -Menu.Programs = &תוכניות -Menu.Apps = אפליקציות -Menu.AllPrograms = כל התוכניות -Menu.Back = הקודם -Menu.Favorites = מו&עדפים -Menu.Documents = מסמכ&ים -Menu.Settings = &הגדרות -Menu.Search = &חפש -Menu.SearchBox = חפש -Menu.SearchPrograms = חפש בתוכניות ובקבצים -Menu.SearchInternet = חפש באינטרנט -Menu.Searching = מחפש... -Menu.NoMatch = ‏‏אין פריטים התואמים לחיפוש שלך. -Menu.MoreResults = הצג תוצאות נוספות -Menu.Help = ע&זרה ותמיכה -Menu.Run = הפע&לה... -Menu.Logoff = י&ציאת %s -Menu.SwitchUser = החלף מש&תמש -Menu.Lock = נ&על -Menu.LogOffShort = &צא -Menu.Undock = &בטל עיגון מחשב -Menu.Disconnect = התנת&קות -Menu.ShutdownBox = &כיבוי... -Menu.Shutdown = &כיבוי -Menu.Restart = &הפעלה מחדש -Menu.ShutdownUpdate = עדכן וכבה -Menu.RestartUpdate = עדכן והפעל מחדש -Menu.Sleep = &שינה -Menu.Hibernate = &מצב שינה -Menu.ControlPanel = &לוח הבקרה -Menu.PCSettings = הגדרות מחשב -Menu.Security = אבטחת Windows -Menu.Network = חיבורי &רשת -Menu.Printers = &מדפסות -Menu.Taskbar = שורת המ&שימות ותפריט התחלה -Menu.SearchFiles = עבור &קבצים או תיקיות... -Menu.SearchPrinter = עבור מ&דפסת -Menu.SearchComputers = עבור &מחשבים -Menu.UserFilesTip = מכיל תיקיות עבור מסמכים, תמונות, מוסיקה וקבצים אחרים השייכים לך. -Menu.UserDocumentsTip = מכיל מכתבים, דוחות ומסמכים וקבצים אחרים. -Menu.UserPicturesTip = תיקיה זו מכילה צילומים דיגיטליים, תמונות וקבצי גרפיקה. -Menu.UserMusicTip = תיקיה זו מכילה קבצי מוסיקה וקבצי שמע אחרים. -Menu.UserVideosTip = תיקיה זו מכילה סרטים וקבצי וידאו אחרים. -Menu.NetworkTip = הצגת חיבורי רשת קיימים במחשב זה ועזרה ביצירת חיבורים חדשים -Menu.PrintersTip = הוסף, הסר והגדר מדפסות מקומיות ומדפסות רשת. -Menu.TaskbarTip = התאם אישית את תפריט התחלה ואת שורת המשימות, כגון סוגי הפריטים שיוצגו ואופן התצוגה שלהם. -Menu.ControlPanelTip = שנה הגדרות והתאם אישית את הפונקציונליות של המחשב שלך. -Menu.DocumentsLibTip = גש למכתבים, דוחות, פתקים וסוגי מסמכים אחרים. -Menu.MusicLibTip = השמע קבצי מוסיקה וקבצי שמע אחרים. -Menu.PicturesLibTip = הצג וארגן תמונות דיגיטליות. -Menu.VideosLibTip = צפה בסרטים ביתיים ובסרטי וידאו דיגיטליים אחרים. -Menu.RecordingsLibTip = צפה בתוכניות טלוויזיה שהוקלטו במחשב שלך. -Menu.DownloadTip = מצא הורדות באינטרנט וקישורים לאתרי אינטרנט מועדפים. -Menu.HomegroupTip = גש לספריות ותיקיות שמשתפים אנשים אחרים בקבוצה הביתית שלך. -Menu.RunTip = פתיחת תוכנית, תיקיה, מסמך או אתר אינטרנט. -Menu.HelpTip = חפש נושאי עזרה, ערכות לימוד, כלי פתרון בעיות ושירותי תמיכה נוספים. -Menu.ProgramsTip = פתיחת רשימה של התוכניות שלך. -Menu.SearchFilesTip = חפש מסמכים, מוסיקה, תמונות, דואר אלקטרוני ועוד. -Menu.GamesTip = שחק ונהל משחקים במחשב. -Menu.SecurityTip = הפעל אפשרויות אבטחה של Windows ל'שנה סיסמה', 'החלף משתמש' או 'הפעל את מנהל המשימות'. -Menu.SearchComputersTip = חפש מחשבים ברשת -Menu.SearchPrintersTip = חפש מדפסת -Menu.AdminToolsTip = קבע תצורה של הגדרות ניהול עבור המחשב. -Menu.ShutdownTip = סגירת כל התוכניות הפתוחות, יציאה מ- Windows ולאחר מכן כיבוי המחשב שלך. -Menu.RestartTip = סגירת כל התוכניות הפתוחות, יציאה מ- Windows ולאחר מכן הפעלה מחדש של Windows. -Menu.SleepTip = שמירת ההפעלה שלך בזיכרון והעברת המחשב למצב צריכת חשמל נמוכה כדי שתוכל לחדש במהירות את העבודה. -Menu.HibernateTip = שמירת ההפעלה שלך וכיבוי המחשב. כאשר תפעיל את המחשב, Windows ישחזר את ההפעלה. -Menu.LogOffTip = סגור תוכניות וצא. -Menu.DisconnectTip = ניתוק ההפעלה שלך. באפשרותך להתחבר מחדש להפעלה זו כשתיכנס שוב. -Menu.LockTip = נעל מחשב זה. -Menu.UndockTip = הסרת המחשב הנישא או מחשב המחברת שלך מתחנת עגינה. -Menu.SwitchUserTip = החלף משתמשים מבלי לסגור תוכניות. -Menu.Empty = (ריק) -Menu.Features = תוכניות ותכונות -Menu.FeaturesTip = הסר התקנה או שנה תוכניות במחשב שלך. -Menu.SearchPeople = עבור &אנשים... -Menu.SortByName = מיין לפי &שם -Menu.Open = &פתח -Menu.OpenAll = פתח את &כל המשתמשים -Menu.Explore = &סייר -Menu.ExploreAll = סיי&ר בכל המשתמשים -Menu.MenuSettings = הגדרות -Menu.MenuHelp = עזרה -Menu.MenuExit = יציאה -Menu.LogoffTitle = יציאה מ- Windows -Menu.LogoffPrompt = האם אתה בטוח שברצונך לצאת? -Menu.LogoffYes = &צא -Menu.LogoffNo = &לא -Menu.RenameTitle = שינוי שם -Menu.RenamePrompt = &שם חדש: -Menu.RenameOK = אישור -Menu.RenameCancel = ביטול -Menu.Organize = ארגן את תפריט התחלה -Menu.Expand = &הרחב -Menu.Collapse = &כווץ -Menu.NewFolder = תיקיה חדשה -Menu.NewShortcut = קיצור דרך חדש -Menu.AutoArrange = סדר &אוטומטית -Menu.ActionOpen = פתח -Menu.ActionClose = סגור -Menu.ActionExecute = בצע -Menu.RemoveList = &הסר מרשימה זו -Menu.RemoveAll = &נקה את רשימת הפריטים האחרונים -Menu.Explorer = סייר Windows -Menu.Start = התחל -Menu.StartScreen = מסך התחל -Menu.StartMenu = תפריט התחלה (Windows) -Menu.PinStart = הצמד לתפריט התחלה -Menu.PinStartCs = הצמד לתפריט התחלה (Open-Shell) -Menu.UnpinStartCs = בטל הצמדה לתפריט התחלה (Open-Shell) -Menu.MonitorOff = כבה את התצוגה -Menu.RemoveHighlight = הסר הבלטה -Menu.Uninstall = ה&סר התקנה -Menu.UninstallTitle = הסר התקנה -Menu.UninstallPrompt = ‏‏האם אתה בטוח שברצונך להסיר את התקנת %s? -Search.CategorySettings = הגדרות -Search.CategoryPCSettings = הגדרות מחשב -Search.CategoryPrograms = תוכניות -Search.CategoryDocuments = מסמכים -Search.CategoryMusic = מוסיקה -Search.CategoryPictures = תמונות -Search.CategoryVideos = סרטי וידאו -Search.CategoryFiles = קבצים -Search.CategoryInternet = אינטרנט -JumpList.Recent = לאחרונה -JumpList.Frequent = תכוף -JumpList.Tasks = משימות -JumpList.Pinned = מוצמד -JumpList.Pin = ה&צמד לרשימה זו -JumpList.Unpin = ב&טל הצמדה לרשימה זו -JumpList.Remove = &הסר מרשימה זו -JumpList.PinTip = הצמד לרשימה זו -JumpList.UnpinTip = בטל הצמדה לרשימה זו - - -[hr-HR] - Croatian (Croatia) -Menu.Programs = Pro&grami -Menu.Apps = Aplikacije -Menu.AllPrograms = Svi programi -Menu.Back = Natrag -Menu.Favorites = &Favoriti -Menu.Documents = &Dokumenti -Menu.Settings = Postav&ke -Menu.Search = T&raži -Menu.SearchBox = Traži -Menu.SearchPrograms = Pretraži programe i datoteke -Menu.SearchInternet = Pretraži internet -Menu.Searching = Pretraživanje... -Menu.NoMatch = Pretraživanje nije dalo rezultata. -Menu.MoreResults = Prikaži još rezultata -Menu.Help = Po&moć i podrška -Menu.Run = &Pokreni... -Menu.Logoff = &Odjava korisnika %s -Menu.SwitchUser = P&romijeni korisnika -Menu.Lock = &Zaključaj -Menu.LogOffShort = &Odjava -Menu.Undock = Ukloni r&ačunalo iz ležišta -Menu.Disconnect = Prekini &vezu -Menu.ShutdownBox = Isklj&uči računalo... -Menu.Shutdown = I&sključi računalo -Menu.Restart = &Ponovo pokreni -Menu.ShutdownUpdate = Ažuriraj i isključi -Menu.RestartUpdate = Ažuriraj i ponovno pokreni -Menu.Sleep = &Spavaj -Menu.Hibernate = &Hibernacija -Menu.ControlPanel = &Upravljačka ploča -Menu.PCSettings = Postavke PC-ja -Menu.Security = Sigurnost sustava Windows -Menu.Network = &Mrežne veze -Menu.Printers = &Pisači -Menu.Taskbar = Programska traka i izbornik &Start -Menu.SearchFiles = Za &datoteke i mape... -Menu.SearchPrinter = Za &pisač -Menu.SearchComputers = Za &računala -Menu.UserFilesTip = Sadrži mape za dokumente, slike, glazbu i druge datoteke koje vam pripadaju. -Menu.UserDocumentsTip = Sadrži digitalne fotografije, slike i grafičke datoteke. -Menu.UserPicturesTip = Sadrži digitalne fotografije, slike i grafičke datoteke. -Menu.UserMusicTip = Sadrži glazbene i druge audio datoteke. -Menu.UserVideosTip = Sadrži filmove i druge videodatoteke. -Menu.NetworkTip = Prikazuje postojeće mrežne veze u računalu i pomaže vam u stvaranju novih -Menu.PrintersTip = Dodajte, uklonite i konfigurirajte lokalne i mrežne pisače. -Menu.TaskbarTip = Prilagodite izbornik Start i programsku traku (npr. odaberite stavke koje će biti prikazane i njihov izgled). -Menu.ControlPanelTip = Promijenite postavke i prilagodite funkcije svog računala. -Menu.DocumentsLibTip = Pristupajte pismima, izvješćima, bilješkama i drugim vrstama dokumenata. -Menu.MusicLibTip = Reproducirajte glazbu i druge audiodatoteke. -Menu.PicturesLibTip = Pregledavajte i organizirajte digitalne slike. -Menu.VideosLibTip = Gledanje kućnih snimki i drugih digitalnih videozapisa. -Menu.RecordingsLibTip = Gledanje TV programa snimljenog na računalu. -Menu.DownloadTip = Traženje internetskih preuzimanja i veza do omiljenih web-mjesta. -Menu.HomegroupTip = Pristupajte bibliotekama i mapama koje zajednički koriste druge osobe u osnovnoj grupi. -Menu.RunTip = Otvara program, mapu, dokument ili web-mjesto. -Menu.HelpTip = Potražite teme Pomoći, vodiče za korisnike, upute za otklanjanje poteškoća i druge servise podrške. -Menu.ProgramsTip = Otvara popis vaših programa. -Menu.SearchFilesTip = Tražite dokumente, glazbu, slike, poruke e-pošte i štošta drugo. -Menu.GamesTip = Igranje i upravljanje igrama na računalu. -Menu.SecurityTip = Pokretanje mogućnosti sigurnosti sustava Windows radi promjene lozinke ili korisnika, odnosno pokretanja Upravitelja zadataka. -Menu.SearchComputersTip = Traži računala u mreži -Menu.SearchPrintersTip = Traži pisač -Menu.AdminToolsTip = Konfigurirajte administrativne postavke računala. -Menu.ShutdownTip = Zatvara sve otvorene programe i isključuje sustav Windows, a zatim i računalo. -Menu.RestartTip = Zatvara sve otvorene programe i isključuje sustav Windows, a zatim ga ponovno pokreće. -Menu.SleepTip = Čuva sesiju u memoriji, a računalo stavlja u stanje male potrošnje radi mogućnosti što bržeg nastavka s radom. -Menu.HibernateTip = Sprema sesiju i gasi računalo. Kada uključite računalo, Windows vraća vašu sesiju. -Menu.LogOffTip = Zatvaranje programa i odjava korisnika. -Menu.DisconnectTip = Prekida vašu sesiju. Možete nastaviti rad u istoj sesiji kada se ponovno prijavite. -Menu.LockTip = Zaključavanje ovog računala. -Menu.UndockTip = Uklanja prijenosno računalo sa stanice za spajanje. -Menu.SwitchUserTip = Promjena korisnika bez zatvaranja programa. -Menu.Empty = (Prazno) -Menu.Features = Programi i značajke -Menu.FeaturesTip = Deinstaliranje ili uklanjanje programa s računala. -Menu.SearchPeople = Za &osobe... -Menu.SortByName = Poredaj po i&menu -Menu.Open = &Otvori -Menu.OpenAll = Ot&vori sve korisnike -Menu.Explore = Ist&raži -Menu.ExploreAll = Istr&aži sve korisnike -Menu.MenuSettings = Postavke -Menu.MenuHelp = Pomoć -Menu.MenuExit = Izlaz -Menu.LogoffTitle = Odjava iz sustava Windows -Menu.LogoffPrompt = Jeste li sigurni da se želite odjaviti? -Menu.LogoffYes = &Odjava -Menu.LogoffNo = &Ne -Menu.RenameTitle = Preimenovanje -Menu.RenamePrompt = &Novi naziv: -Menu.RenameOK = U redu -Menu.RenameCancel = Odustani -Menu.Organize = Organiziranje izbornika Start -Menu.Expand = &Proširi -Menu.Collapse = Saž&mi -Menu.NewFolder = Nova mapa -Menu.NewShortcut = Novi prečac -Menu.AutoArrange = &Posloži automatski -Menu.ActionOpen = Otvori -Menu.ActionClose = Zatvori -Menu.ActionExecute = Izvrši -Menu.RemoveList = Ukloni s &ovog popisa -Menu.RemoveAll = Oč&isti popis nedavnih stavki -Menu.Explorer = Windows Explorer -Menu.Start = Start -Menu.StartScreen = Početni zaslon -Menu.StartMenu = Izbornik Start (Windows) -Menu.PinStart = Prikvači na izbornik Start -Menu.PinStartCs = Prikvači na izbornik Start (Open-Shell) -Menu.UnpinStartCs = Otkvači s izbornika Start (Open-Shell) -Menu.MonitorOff = Isključi prikaz -Menu.RemoveHighlight = Ukloni isticanje -Menu.Uninstall = &Deinstaliraj -Menu.UninstallTitle = Deinstaliraj -Menu.UninstallPrompt = Jeste li sigurni da želite deinstalirati %s iz računala? -Search.CategorySettings = Postavke -Search.CategoryPCSettings = Postavke PC-ja -Search.CategoryPrograms = Programi -Search.CategoryDocuments = Dokumenti -Search.CategoryMusic = Glazba -Search.CategoryPictures = Slike -Search.CategoryVideos = Videozapisi -Search.CategoryFiles = Datoteke -Search.CategoryInternet = Internet -JumpList.Recent = Nedavni -JumpList.Frequent = Učestali -JumpList.Tasks = Zadaci -JumpList.Pinned = Prikvačeni -JumpList.Pin = &Prikvači na ovaj popis -JumpList.Unpin = &Otkvači s ovog popisa -JumpList.Remove = &Ukloni s ovog popisa -JumpList.PinTip = Prikvači na ovaj popis -JumpList.UnpinTip = Otkvači s ovog popisa - - -[hu-HU] - Hungarian (Hungary) -Menu.Programs = &Programok -Menu.Apps = Alkalmazások -Menu.AllPrograms = Minden program -Menu.Back = Vissza -Menu.Favorites = K&edvencek -Menu.Documents = &Dokumentumok -Menu.Settings = &Beállítások -Menu.Search = &Keresés -Menu.SearchBox = Keresés -Menu.SearchPrograms = Keresés programokban és fájlokban -Menu.SearchInternet = Keresés az interneten -Menu.Searching = Keresés... -Menu.NoMatch = Nincs a keresésnek megfelelő elem. -Menu.MoreResults = További eredmények -Menu.Help = &Súgó és támogatás -Menu.Run = F&uttatás... -Menu.Logoff = Ki&jelentkezés - %s -Menu.SwitchUser = &Felhasználóváltás -Menu.Lock = &Zárolás -Menu.LogOffShort = &Kijelentkezés -Menu.Undock = &A számítógép dokkolásának megszüntetése -Menu.Disconnect = Kap&csolat bontása -Menu.ShutdownBox = &Leállítás... -Menu.Shutdown = &Leállítás -Menu.Restart = Új&raindítás -Menu.ShutdownUpdate = Frissítés és leállítás -Menu.RestartUpdate = Frissítés és újraindítás -Menu.Sleep = &Alvó állapot -Menu.Hibernate = &Hibernálás -Menu.ControlPanel = &Vezérlőpult -Menu.PCSettings = Gépház -Menu.Security = Windows rendszerbiztonság -Menu.Network = &Hálózati kapcsolatok -Menu.Printers = &Nyomtatók -Menu.Taskbar = &Tálca és Start menü -Menu.SearchFiles = &Fájlok és mappák... -Menu.SearchPrinter = &Nyomtatók -Menu.SearchComputers = &Számítógépek -Menu.UserFilesTip = A Dokumentumok, a Képek és a Zene mappát, illetve egyéb saját fájljait tartalmazó mappák találhatók itt. -Menu.UserDocumentsTip = Levelek, jelentések és egyéb dokumentumok. -Menu.UserPicturesTip = Digitális fényképek, képek és grafikai fájlok. -Menu.UserMusicTip = Zenéket és egyéb audiofájlokat tartalmaz. -Menu.UserVideosTip = Filmeket és egyéb videofájlokat tartalmaz. -Menu.NetworkTip = A számítógépen már létező hálózati kapcsolatok megjelenítése, segítségével új kapcsolatok hozhatók létre -Menu.PrintersTip = Helyi és hálózati nyomtatók hozzáadása, eltávolítása és konfigurálása. -Menu.TaskbarTip = A Start menü és a tálca elemei megjelenésének testreszabása - pl. milyen típusú elemek jelenjenek meg, és hogyan. -Menu.ControlPanelTip = Beállítások módosítása és a számítógép működésének testreszabása. -Menu.DocumentsLibTip = Levelek, jelentések, feljegyzések és egyéb dokumentumok megnyitása. -Menu.MusicLibTip = Zeneszámok és egyéb hangfájlok lejátszása. -Menu.PicturesLibTip = Digitális képek megjelenítése és rendezése. -Menu.VideosLibTip = Saját készítésű filmek és egyéb digitális videók lejátszása. -Menu.RecordingsLibTip = A számítógépre felvett televízióműsorok lejátszása. -Menu.DownloadTip = Internetes letöltések és kedvenc webhelyekre mutató hivatkozások keresése. -Menu.HomegroupTip = Az otthoni csoport más felhasználói által megosztott könyvtárak és mappák elérése. -Menu.RunTip = Program, mappa, dokumentum vagy webhely megnyitása. -Menu.HelpTip = Súgótémakörök, oktatóanyagok, hibaelhárító anyagok és más támogatási szolgáltatások keresése. -Menu.ProgramsTip = A telepített programok listájának megjelenítése. -Menu.SearchFilesTip = Dokumentumok, zenék, képek, levelek és más elemek keresése. -Menu.GamesTip = A számítógépen található játékok elindítása és kezelése. -Menu.SecurityTip = A Windows biztonsági beállításainak megnyitása a jelszó módosítása, felhasználóváltás vagy a Feladatkezelő indítása céljából. -Menu.SearchComputersTip = Számítógépek keresése a hálózaton -Menu.SearchPrintersTip = Nyomtatók keresése -Menu.AdminToolsTip = Felügyeleti beállítások konfigurálása. -Menu.ShutdownTip = Minden futó program bezárása, a Windows leállítása, majd a számítógép kikapcsolása. -Menu.RestartTip = Minden futó program bezárása, a Windows leállítása, majd a Windows rendszer újraindítása. -Menu.SleepTip = Megőrzi a munkamenetet a memóriában, és kis energiafogyasztású állapotba helyezi a számítógépet, hogy gyorsan lehessen folytatni a munkát. -Menu.HibernateTip = A munkamenet mentése és a számítógép kikapcsolása. A számítógép bekapcsolásakor a Windows visszaállítja a munkamenetet. -Menu.LogOffTip = A programok bezárása és kijelentkezés. -Menu.DisconnectTip = A munkamenet leválasztása. Ismét csatlakozhat ehhez a munkamenethez, ha újra bejelentkezik. -Menu.LockTip = A számítógép zárolása. -Menu.UndockTip = A laptop vagy notebook számítógép dokkolásának megszüntetése. -Menu.SwitchUserTip = Felhasználóváltás a programok bezárása nélkül. -Menu.Empty = (Üres) -Menu.Features = Programok és szolgáltatások -Menu.FeaturesTip = A számítógép programjainak eltávolítása vagy módosítása. -Menu.SearchPeople = &Személyek... -Menu.SortByName = &Név szerinti rendezés -Menu.Open = &Megnyitás -Menu.OpenAll = M&egnyitás - All Users -Menu.Explore = T&allózás -Menu.ExploreAll = Ta&llózás - All Users -Menu.MenuSettings = Beállítások -Menu.MenuHelp = Súgó -Menu.MenuExit = Kilépés -Menu.LogoffTitle = Kijelentkezés a Windowsból -Menu.LogoffPrompt = Biztosan kijelentkezik? -Menu.LogoffYes = &Kijelentkezés -Menu.LogoffNo = &Nem -Menu.RenameTitle = Átnevezés -Menu.RenamePrompt = &Új név: -Menu.RenameOK = OK -Menu.RenameCancel = Mégse -Menu.Organize = A Start menü rendezése -Menu.Expand = K&ibontás -Menu.Collapse = Össze&csukás -Menu.NewFolder = Új mappa -Menu.NewShortcut = Új parancsikon -Menu.AutoArrange = Automatikus &elrendezés -Menu.ActionOpen = Megnyitás -Menu.ActionClose = Bezárás -Menu.ActionExecute = Végrehajtás -Menu.RemoveList = Eltá&volítás a listáról -Menu.RemoveAll = &Legutóbbi elemek listájának törlése -Menu.Explorer = Windows Intéző -Menu.Start = Start -Menu.StartScreen = Kezdőképernyő -Menu.StartMenu = Start menü (Windows) -Menu.PinStart = Rögzítés a Start menün -Menu.PinStartCs = Rögzítés a Start menün (Open-Shell) -Menu.UnpinStartCs = Rögzítés feloldása a Start menün (Open-Shell) -Menu.MonitorOff = Kijelző kikapcsolása -Menu.RemoveHighlight = Kiemelés eltávolítása -Menu.Uninstall = Eltá&volítás -Menu.UninstallTitle = Eltávolítás -Menu.UninstallPrompt = Biztosan el kívánja távolítani a következőt: %s? -Search.CategorySettings = Beállítások -Search.CategoryPCSettings = Gépház -Search.CategoryPrograms = Programs -Search.CategoryDocuments = Dokumentumok -Search.CategoryMusic = Zene -Search.CategoryPictures = Képek -Search.CategoryVideos = Videók -Search.CategoryFiles = Fájl -Search.CategoryInternet = Internet -JumpList.Recent = Legutóbbi -JumpList.Frequent = Gyakori -JumpList.Tasks = Feladatok -JumpList.Pinned = Rögzített -JumpList.Pin = &Rögzítés ebbe a listába -JumpList.Unpin = Rögzítés &feloldása ebben a listában -JumpList.Remove = Eltá&volítás a listáról -JumpList.PinTip = Rögzítés ebbe a listába -JumpList.UnpinTip = Rögzítés feloldása ebben a listában - - -[is-IS] - Icelandic (Iceland) -Menu.ClassicSettings = Open-Shell &Menu -Menu.SettingsTip = Stillingar fyrir Open-Shell Menu -Menu.Programs = &Forrit -Menu.Apps = Snjallforrit -Menu.AllPrograms = Öll forrit -Menu.Back = Til baka -Menu.Favorites = &Eftirlæti -Menu.Documents = &Skjöl -Menu.Settings = S&tillingar -Menu.Search = &Leita -Menu.SearchBox = Leita -Menu.SearchPrograms = Leita í forritum og skrám -Menu.SearchInternet = Leita á vefnum -Menu.Searching = Leita... -Menu.NoMatch = Engin atriði samsvara leitinni. -Menu.MoreResults = Sjá fleiri niðurstöður -Menu.Help = &Hjálp og stuðningur -Menu.Run = &Keyra... -Menu.Logoff = Sk&rá út %s -Menu.SwitchUser = &Skipta um notanda -Menu.Lock = &Læsa -Menu.LogOffShort = Sk&rá út -Menu.Undock = A&ftengja tölvuna -Menu.Disconnect = Afteng&jast -Menu.ShutdownBox = &Ganga frá... -Menu.Shutdown = &Ganga frá -Menu.Restart = &Endurræsa -Menu.ShutdownUpdate = Uppfæra og ganga frá -Menu.RestartUpdate = Uppfæra og endurræsa -Menu.Sleep = &Hvíldarstaða -Menu.Hibernate = Í &dvala -Menu.ControlPanel = Stjórn&borð -Menu.PCSettings = PC stillingar -Menu.Security = Windows öryggi -Menu.Network = &Nettengingar -Menu.Printers = &Prentarar -Menu.Taskbar = &Verkstika og ræsivalmynd -Menu.SearchFiles = Að &skrám eða möppum... -Menu.SearchPrinter = Að &prentara -Menu.SearchComputers = Að &tölvum -Menu.UserFilesTip = Inniheldur möppur fyrir skjöl, myndir, tónlist, og aðrar skrár sem tilheyra þér. -Menu.UserDocumentsTip = Inniheldur bréf, skýrslur, og önnur skjöl og skrár. -Menu.UserPicturesTip = Inniheldur stafrænar ljósmyndir, myndir, og grafískar skrár. -Menu.UserMusicTip = Inniheldur tónlist og aðrar hljóðskrár. -Menu.UserVideosTip = Inniheldur kvikmyndir og aðrar myndbandaskrár. -Menu.NetworkTip = Sýnir tiltækar nettengingar á þessari tölvu og hjálpar þér að búa til nýjar -Menu.PrintersTip = Bæta við, fjarlægja, og grunnstilla staðbundna og samnýtta prentara. -Menu.TaskbarTip = Sérstilla ræsivalmyndina og verkstikuna, svo sem tegundir atriða til að birta og hvernig þau eiga að birtast. -Menu.ControlPanelTip = Breyta stillingum og sérstilla virkni tölvunnar þinnar. -Menu.DocumentsLibTip = Nálgast bréf, skýrslur, minnispunkta, og annars konar skjöl. -Menu.MusicLibTip = Spila tónlist og aðrar hljóðskrár. -Menu.PicturesLibTip = Skoða og raða stafrænum ljósmyndum. -Menu.VideosLibTip = Horfa á heimatilbúnar kvikmyndir og önnur stafræn myndbönd. -Menu.RecordingsLibTip = Horfa á sjónvarpsþáttaupptökur á tölvunni þinni. -Menu.DownloadTip = Finna vefniðurhöl og vefföng eftirlætis vefsvæða. -Menu.HomegroupTip = Nálgast forritasöfn og möppur samnýttar af öðru fólki í heimahópnum þínum. -Menu.RunTip = Opnar forrit, möppu, skjal, eða vefsvæði. -Menu.HelpTip = Finna hjálparefni, kennslu, bilanagreiningu, og aðrar stuðningsþjónustur. -Menu.ProgramsTip = Opnar lista yfir forritin þín. -Menu.SearchFilesTip = Leita að skjölum, tónlist, myndum, tölvupósti og fleiru. -Menu.GamesTip = Spila og stjórna leikjum á tölvunni þinni. -Menu.SecurityTip = Ræsa Windows öryggi til að breyta lykilorði, skipta um notanda, eða ræsa verkstjórnun. -Menu.SearchComputersTip = Leita að tölvum á netinu -Menu.SearchPrintersTip = Leita að prentara -Menu.AdminToolsTip = Grunnstilla stjórnunarstillingar fyrir tölvuna þína. -Menu.ShutdownTip = Lokar öllum opnum forritum, gengur frá Windows, og slekkur svo á tölvunni þinni. -Menu.RestartTip = Lokar öllum opnum forritum, gengur frá Windows, og ræsir síðan Windows að nýju. -Menu.SleepTip = Geymir innskráningu þína í minni og setur tölvuna í orkusparnaðarstöðu svo þú getir snögglega byrjað aftur að vinna. -Menu.HibernateTip = Vistar innskráningu þína og slekkur á tölvunni. Þegar þú kveikir á tölvunni, sækir Windows innskráninguna þína aftur. -Menu.LogOffTip = Loka forritum og skrá út. -Menu.DisconnectTip = Aftengir innskráningu þína. Þú getur tengst þessari innskráningu aftur með því að skrá inn að nýju. -Menu.LockTip = Læsa þessari tölvu. -Menu.UndockTip = Fjarlægir fartölvuna þína úr tengikví. -Menu.SwitchUserTip = Skipta milli notenda án þess að loka forritum. -Menu.Empty = (Tómt) -Menu.Features = Forrit og eiginleikar -Menu.FeaturesTip = Fjarlægja eða breyta forritum á tölvunni þinni. -Menu.SearchPeople = Að &fólki... -Menu.SortByName = Raða &eftir heiti -Menu.Open = &Opna -Menu.OpenAll = O&pna Allir notendur -Menu.Explore = Opna &möppu -Menu.ExploreAll = Opna m&öppu Allir notendur -Menu.MenuSettings = Stillingar -Menu.MenuHelp = Hjálp -Menu.MenuExit = Hætta -Menu.LogoffTitle = Skrá út úr Windows -Menu.LogoffPrompt = Ertu viss um að þú viljir skrá út? -Menu.LogoffYes = &Skrá út -Menu.LogoffNo = &Nei -Menu.RenameTitle = Endurnefna -Menu.RenamePrompt = &Nýtt heiti: -Menu.RenameOK = Í lagi -Menu.RenameCancel = Hætta við -Menu.Organize = Sérstilla ræsivalmynd -Menu.Expand = Þenj&a út -Menu.Collapse = Dr&aga saman -Menu.NewFolder = Ný mappa -Menu.NewShortcut = Ný flýtileið -Menu.AutoArrange = R&aða sjálfkrafa -Menu.ActionOpen = Opna -Menu.ActionClose = Loka -Menu.ActionExecute = Keyra -Menu.RemoveList = &Fjarlægja &úr þessum lista -Menu.RemoveAll = Hreinsa &lista yfir nýlegt -Menu.Explorer = Skráarvafri -Menu.Start = Ræsa -Menu.StartScreen = Ræsiskjár -Menu.StartMenu = Ræsivalmynd (Windows) -Menu.PinStart = Festa við ræsivalmynd -Menu.PinStartCs = Festa við ræsivalmynd (Open-Shell) -Menu.UnpinStartCs = Losa af ræsivalmynd (Open-Shell) -Menu.MonitorOff = Slökkva á skjánum -Menu.RemoveHighlight = Fjarlægja auðkenningu -Menu.Uninstall = Fjarlægja -Menu.UninstallTitle = Fjarlægja -Menu.UninstallPrompt = Ertu viss um að það eigi að fjarlægja %s? -Search.CategorySettings = Stillingar -Search.CategoryPCSettings = Sérstillingar tölvunnar -Search.CategoryPrograms = Forrit -Search.CategoryDocuments = Skjöl -Search.CategoryMusic = Tónlist -Search.CategoryPictures = Myndir -Search.CategoryVideos = Myndbönd -Search.CategoryFiles = Skrár -Search.CategoryInternet = Vefurinn -JumpList.Recent = Nýlegt -JumpList.Frequent = Algengt -JumpList.Tasks = Verk -JumpList.Pinned = Fest -JumpList.Pin = Festa v&ið þennan lista -JumpList.Unpin = L&osa af þessum lista -JumpList.Remove = &Fjarlægja úr þessum lista -JumpList.PinTip = Festa við þennan lista -JumpList.UnpinTip = Losa af þessum lista - - -[it-IT] - Italian (Italy) -Menu.Programs = &Programmi -Menu.Apps = App -Menu.AllPrograms = Tutti i programmi -Menu.Back = Indietro -Menu.Favorites = Pre&feriti -Menu.Documents = &Dati recenti -Menu.Settings = &Impostazioni -Menu.Search = Ce&rca -Menu.SearchBox = Cerca -Menu.SearchPrograms = Cerca programmi e file -Menu.SearchInternet = Cerca in Internet -Menu.Searching = Ricerca in corso... -Menu.NoMatch = Nessun elemento corrisponde ai criteri di ricerca. -Menu.MoreResults = Ulteriori risultati -Menu.Help = &Guida e supporto tecnico -Menu.Run = &Esegui... -Menu.Logoff = Disc&onnetti %s -Menu.SwitchUser = &Cambia utente -Menu.Lock = Bl&occa -Menu.LogOffShort = &Disconnetti -Menu.Undock = Disinseri&sci computer -Menu.Disconnect = Disco&nnetti -Menu.ShutdownBox = &Chiudi sessione... -Menu.Shutdown = &Arresta il sistema -Menu.Restart = &Riavvia il sistema -Menu.ShutdownUpdate = Aggiorna e arresta -Menu.RestartUpdate = Aggiorna e riavvia -Menu.Sleep = &Sospendi -Menu.Hibernate = Metti in &ibernazione -Menu.ControlPanel = &Pannello di controllo -Menu.PCSettings = Impostazioni PC -Menu.Security = Protezione di Windows -Menu.Network = Connessioni di &rete -Menu.Printers = &Stampanti -Menu.Taskbar = &Barra delle applicazioni e menu Start -Menu.SearchFiles = &File o cartelle... -Menu.SearchPrinter = &Per stampante -Menu.SearchComputers = Per &Computer -Menu.UserFilesTip = Contiene cartelle per documenti, immagini, musica e altri file dell'utente. -Menu.UserDocumentsTip = Contiene lettere, rapporti e altri documenti e file. -Menu.UserPicturesTip = Contiene foto digitali, immagini e file di grafica. -Menu.UserMusicTip = Contiene file musicali e audio. -Menu.UserVideosTip = Contiene filmati e altri file video. -Menu.NetworkTip = Visualizza le connessioni di rete del computer e consente di crearne nuove -Menu.PrintersTip = Aggiunge, rimuove e configura stampanti locali e di rete. -Menu.TaskbarTip = Personalizza la visualizzazione degli elementi nel menu Start, barra delle applicazioni e area di notifica. -Menu.ControlPanelTip = Modificare le impostazioni e personalizzare la funzionalità del computer. -Menu.DocumentsLibTip = Accedere a lettere, rapporti, note e ad altri tipi di documenti. -Menu.MusicLibTip = Consente di riprodurre musica e altri file audio. -Menu.PicturesLibTip = Consente di visualizzare e organizzare immagini. -Menu.VideosLibTip = Consente di vedere i propri filmati e altri video digitali. -Menu.RecordingsLibTip = Consente di assistere ai programmi TV registrati nel computer. -Menu.DownloadTip = Consente di trovare i collegamenti ai siti Web preferiti per il download. -Menu.HomegroupTip = Consente di accedere a raccolte e cartelle condivise da altri utenti nel gruppo home. -Menu.RunTip = Consente di aprire un programma, una cartella, un documento o un sito. -Menu.HelpTip = Trovare argomenti della Guida, esercitazioni, risoluzione problemi, e altri servizi di supporto tecnico. -Menu.ProgramsTip = Apre l'elenco dei programmi. -Menu.SearchFilesTip = Cercare documenti, musica, immagini, posta elettronica e altro. -Menu.GamesTip = Consente di giocare e gestire i giochi installati nel computer. -Menu.SecurityTip = Avvia le opzioni di Sicurezza di Windows per modificare la password, cambiare utente o avviare Gestione attività. -Menu.SearchComputersTip = Cerca computer sulla rete -Menu.SearchPrintersTip = Cerca stampante -Menu.AdminToolsTip = Configura le impostazioni amministrative del computer. -Menu.ShutdownTip = Chiude tutti i programmi aperti, arresta Windows e spegne il computer. -Menu.RestartTip = Chiude tutti i programmi aperti e riavvia Windows. -Menu.SleepTip = Mantiene la sessione in memoria e imposta la modalità basso consumo che consente di riprendere rapidamente il lavoro. -Menu.HibernateTip = Salva la sessione e spegne il computer. Quando si riaccende il computer, la sessione verrà ripristinata. -Menu.LogOffTip = Chiude i programmi e disconnette l'utente. -Menu.DisconnectTip = Disconnette la sessione. È possibile riconnettersi a questa sessione al prossimo accesso. -Menu.LockTip = Blocca il computer. -Menu.UndockTip = Consente di rimuovere il computer portatile o il notebook dall'alloggiamento di espansione. -Menu.SwitchUserTip = Consente di cambiare utente senza chiudere i programmi. -Menu.Empty = (vuoto) -Menu.Features = Programmi e funzionalità -Menu.FeaturesTip = Disinstalla o modifica i programmi nel computer. -Menu.SearchPeople = &Contatti... -Menu.SortByName = Or&dina per nome -Menu.Open = &Apri -Menu.OpenAll = Apri &cartella Utenti -Menu.Explore = &Esplora -Menu.ExploreAll = Esplora cartella &Utenti -Menu.MenuSettings = Impostazioni -Menu.MenuHelp = Guida -Menu.MenuExit = Esci -Menu.LogoffTitle = Disconnessione da Windows -Menu.LogoffPrompt = Disconnettersi? -Menu.LogoffYes = &Disconnetti -Menu.LogoffNo = &No -Menu.RenameTitle = Rinomina -Menu.RenamePrompt = &Nuovo nome: -Menu.RenameOK = OK -Menu.RenameCancel = Annulla -Menu.Organize = Organizza menu Start -Menu.Expand = &Espandi -Menu.Collapse = Comp&rimi -Menu.NewFolder = Nuova cartella -Menu.NewShortcut = Nuovo collegamento -Menu.AutoArrange = &Disposizione automatica -Menu.ActionOpen = Apri -Menu.ActionClose = Chiudi -Menu.ActionExecute = Esegui -Menu.RemoveList = &Rimuovi da questo elenco -Menu.RemoveAll = Cancella elenco Ogge&tti recenti -Menu.Explorer = Esplora risorse -Menu.Start = Start -Menu.StartScreen = Schermata Start -Menu.StartMenu = Menu Start (Windows) -Menu.PinStart = Aggiungi al menu Start -Menu.PinStartCs = Aggiungi al menu Start (Open-Shell) -Menu.UnpinStartCs = Rimuovi dal menu Start (Open-Shell) -Menu.MonitorOff = Spegne lo schermo -Menu.RemoveHighlight = Rimuovi elemento di rilievo -Menu.Uninstall = &Disinstalla -Menu.UninstallTitle = Disinstalla -Menu.UninstallPrompt = Disinstallare %s? -Search.CategorySettings = Impostazioni -Search.CategoryPCSettings = Impostazioni PC -Search.CategoryPrograms = Programmi -Search.CategoryDocuments = Documenti -Search.CategoryMusic = Musica -Search.CategoryPictures = Immagini -Search.CategoryVideos = Video -Search.CategoryFiles = File -Search.CategoryInternet = Internet -JumpList.Recent = Recenti -JumpList.Frequent = Frequente -JumpList.Tasks = Attività -JumpList.Pinned = Bloccato -JumpList.Pin = Agg&iungi all'elenco -JumpList.Unpin = Rim&uovi dall'elenco -JumpList.Remove = &Rimuovi da questo elenco -JumpList.PinTip = Aggiungi all'elenco -JumpList.UnpinTip = Rimuovi dall'elenco - - -[ja-JP] - Japanese (Japan) -Menu.Programs = プログラム(&P) -Menu.Apps = アプリ -Menu.AllPrograms = すべてのプログラム -Menu.Back = 前に戻る -Menu.Favorites = お気に入り(&A) -Menu.Documents = 最近使った項目(&D) -Menu.Settings = 設定(&S) -Menu.Search = 検索(&C) -Menu.SearchBox = 検索 -Menu.SearchPrograms = プログラムとファイルの検索 -Menu.SearchInternet = インターネットの検索 -Menu.Searching = 検索しています... -Menu.NoMatch = 検索条件に一致する項目はありません。 -Menu.MoreResults = 検索結果の続きを表示 -Menu.Help = ヘルプとサポート(&H) -Menu.Run = ファイル名を指定して実行(&R)... -Menu.Logoff = %s のログオフ(&L) -Menu.SwitchUser = ユーザーの切り替え(&W) -Menu.Lock = ロック(&O) -Menu.LogOffShort = ログオフ(&L) -Menu.Undock = コンピューターの装着解除(&E) -Menu.Disconnect = 切断(&I) -Menu.ShutdownBox = シャットダウン(&U)... -Menu.Shutdown = シャットダウン(&U) -Menu.Restart = 再起動(&R) -Menu.ShutdownUpdate = 更新してシャットダウン -Menu.RestartUpdate = 更新して再起動 -Menu.Sleep = スリープ(&S) -Menu.Hibernate = 休止状態(&H) -Menu.ControlPanel = コントロール パネル(&C) -Menu.PCSettings = 設定 -Menu.Security = Windows セキュリティ -Menu.Network = ネットワーク接続(&N) -Menu.Printers = プリンター(&P) -Menu.Taskbar = タスク バーと [スタート] メニュー(&T) -Menu.SearchFiles = ファイルやフォルダー(&F)... -Menu.SearchPrinter = プリンターの検索(&P) -Menu.SearchComputers = コンピューターの検索(&C) -Menu.UserFilesTip = ユーザーが所有しているドキュメント、画像、音楽などのフォルダーが含まれています。 -Menu.UserDocumentsTip = 手紙、レポート、およびそのほかのドキュメントやファイルが含まれます。 -Menu.UserPicturesTip = デジタル写真、イメージ、および画像ファイルが含まれます。 -Menu.UserMusicTip = 音楽およびそのほかのオーディオ ファイルが含まれます。 -Menu.UserVideosTip = ムービーおよびそのほかのビデオ ファイルが含まれます。 -Menu.NetworkTip = このコンピューターにあるネットワーク接続を表示し、新しい接続の作成をお手伝いします -Menu.PrintersTip = ローカルおよびネットワークのプリンターの追加、削除、および構成を行います。 -Menu.TaskbarTip = [スタート] メニューおよびタスク バーに表示される項目の種類や表示方法をカスタマイズします。 -Menu.ControlPanelTip = 設定を変更し、このコンピューターの機能をカスタマイズします。 -Menu.DocumentsLibTip = 手紙、レポート、メモなどのドキュメントにアクセスします。 -Menu.MusicLibTip = 音楽ファイルやオーディオ ファイルを再生します。 -Menu.PicturesLibTip = デジタル画像を表示および整理します。 -Menu.VideosLibTip = ホーム ビデオとその他のデジタル ビデオを視聴します。 -Menu.RecordingsLibTip = コンピューター上に録画されたテレビ番組を視聴します。 -Menu.DownloadTip = インターネット ダウンロードおよびお気に入りの Web サイトへのリンクを検索します。 -Menu.HomegroupTip = ホームグループ内の他のメンバーが共有するライブラリとフォルダーにアクセスします。 -Menu.RunTip = プログラム、フォルダー、ドキュメントまたは Web サイトを開きます。 -Menu.HelpTip = ヘルプのトピック、チュートリアル、トラブルシューティング、サポート サービスなどを検索します。 -Menu.ProgramsTip = プログラムの一覧を表示します。 -Menu.SearchFilesTip = ドキュメント、音楽ファイル、画像、電子メールなどを検索します。 -Menu.GamesTip = コンピューターにあるゲームのプレイと管理を行います。 -Menu.SecurityTip = Windows セキュリティ オプションを起動して [パスワードの変更]、[ユーザーの切り替え]、[タスク マネージャーの起動] を行います。 -Menu.SearchComputersTip = ネットワークのコンピューターを検索します -Menu.SearchPrintersTip = プリンターを検索します -Menu.AdminToolsTip = コンピューターの管理に関する設定を構成します。 -Menu.ShutdownTip = 開いているプログラムをすべて閉じて、Windows をシャットダウンしてからコンピューターの電源を切ります。 -Menu.RestartTip = 開いているプログラムをすべて閉じて、Windows をシャットダウンしてから、Windows を再起動します。 -Menu.SleepTip = すばやく作業を再開できるように、セッションをメモリに保持してコンピューターを低電力の状態にします。 -Menu.HibernateTip = セッションを保存してコンピューターの電源を切ります。コンピューターの電源を入れたときに、セッションは復元されます。 -Menu.LogOffTip = プログラムを閉じて、ログオフします。 -Menu.DisconnectTip = セッションを切断します。ログオンし直すと、このセッションに再接続できます。 -Menu.LockTip = このコンピューターをロックします。 -Menu.UndockTip = ドッキング ステーションからラップトップやノートブック コンピューターを取り外します。 -Menu.SwitchUserTip = プログラムを閉じずに、ユーザーを切り替えます。 -Menu.Empty = (なし) -Menu.Features = プログラムと機能 -Menu.FeaturesTip = コンピューター上のプログラムをアンインストールまたは変更します。 -Menu.SearchPeople = 人(&P)... -Menu.SortByName = 名前順で並べ替え(&B) -Menu.Open = 開く(&O) -Menu.OpenAll = 開く - All Users(&P) -Menu.Explore = エクスプローラー(&E) -Menu.ExploreAll = エクスプローラー - All Users(&X) -Menu.MenuSettings = 設定 -Menu.MenuHelp = ヘルプ -Menu.MenuExit = 終了 -Menu.LogoffTitle = Windows のログオフ -Menu.LogoffPrompt = ログオフしますか? -Menu.LogoffYes = ログオフ(&L) -Menu.LogoffNo = いいえ(&N) -Menu.RenameTitle = 名前の変更 -Menu.RenamePrompt = 新しい名前(&N): -Menu.RenameOK = OK -Menu.RenameCancel = キャンセル -Menu.Organize = スタート メニューの管理 -Menu.Expand = 展開(&A) -Menu.Collapse = 折りたたみ(&A) -Menu.NewFolder = 新しいフォルダー -Menu.NewShortcut = 新しいショートカット -Menu.AutoArrange = 自動整列(&A) -Menu.ActionOpen = 開く -Menu.ActionClose = 閉じる -Menu.ActionExecute = 実行 -Menu.RemoveList = この一覧から削除(&F) -Menu.RemoveAll = 最近使った項目の一覧のクリア(&L) -Menu.Explorer = エクスプローラー -Menu.Start = スタート -Menu.StartScreen = スタート画面 -Menu.StartMenu = スタート メニュー (Windows) -Menu.PinStart = スタート メニューに表示する -Menu.PinStartCs = スタート メニューに表示する (Open-Shell) -Menu.UnpinStartCs = スタート メニューに表示しない (Open-Shell) -Menu.MonitorOff = 画面をオフにする -Menu.RemoveHighlight = ハイライトの削除 -Menu.Uninstall = アンインストール(&U) -Menu.UninstallTitle = アンインストール -Menu.UninstallPrompt = %s をアンインストールしますか? -Search.CategorySettings = 設定 -Search.CategoryPCSettings = 設定 -Search.CategoryPrograms = プログラム -Search.CategoryDocuments = ドキュメント -Search.CategoryMusic = ミュージック -Search.CategoryPictures = ピクチャ -Search.CategoryVideos = ビデオ -Search.CategoryFiles = ファイル -Search.CategoryInternet = インターネット -JumpList.Recent = 最近使ったもの -JumpList.Frequent = よく使うもの -JumpList.Tasks = タスク -JumpList.Pinned = いつも表示 -JumpList.Pin = いつも表示する(&I) -JumpList.Unpin = いつも表示するものから外す(&U) -JumpList.Remove = この一覧から削除(&F) -JumpList.PinTip = いつも表示する -JumpList.UnpinTip = いつも表示するものから外す - - -[ko-KR] - Korean (Korea) -Menu.Programs = 프로그램(&P) -Menu.Apps = 앱 -Menu.AllPrograms = 모든 프로그램 -Menu.Back = 뒤로 -Menu.Favorites = 즐겨찾기(&A) -Menu.Documents = 문서(&D) -Menu.Settings = 설정(&S) -Menu.Search = 검색(&C) -Menu.SearchBox = 검색 -Menu.SearchPrograms = 프로그램 및 파일 검색 -Menu.SearchInternet = 인터넷 검색 -Menu.Searching = 검색 중... -Menu.NoMatch = 일치하는 항목이 없습니다. -Menu.MoreResults = 자세한 결과 보기 -Menu.Help = 도움말 및 지원(&H) -Menu.Run = 실행(&R)... -Menu.Logoff = %s 로그오프(&L) -Menu.SwitchUser = 사용자 전환(&W) -Menu.Lock = 잠금(&O) -Menu.LogOffShort = 로그오프(&L) -Menu.Undock = 컴퓨터 도킹 해제(&E) -Menu.Disconnect = 연결 끊기(&I) -Menu.ShutdownBox = 시스템 종료(&U)... -Menu.Shutdown = 시스템 종료(&U) -Menu.Restart = 다시 시작(&R) -Menu.ShutdownUpdate = 업데이트 및 종료 -Menu.RestartUpdate = 업데이트 및 다시 시작 -Menu.Sleep = 절전(&S) -Menu.Hibernate = 최대 절전 모드(&H) -Menu.ControlPanel = 제어판(&C) -Menu.PCSettings = PC 설정 -Menu.Security = Windows 보안 -Menu.Network = 네트워크 연결(&N) -Menu.Printers = 프린터(&P) -Menu.Taskbar = 작업 표시줄 및 시작 메뉴(&T) -Menu.SearchFiles = 파일 또는 폴더(&F)... -Menu.SearchPrinter = 프린터(&P) -Menu.SearchComputers = 컴퓨터(&C) -Menu.UserFilesTip = 사용자가 소유한 문서, 사진, 음악 및 기타 파일의 폴더가 있습니다. -Menu.UserDocumentsTip = 편지, 보고서, 기타 문서나 파일이 들어 있습니다. -Menu.UserPicturesTip = 디지털 사진, 이미지 및 그래픽 파일이 들어 있습니다. -Menu.UserMusicTip = 음악 및 기타 오디오 파일이 들어 있습니다. -Menu.UserVideosTip = 음악 및 기타 비디오 파일이 들어 있습니다. -Menu.NetworkTip = 이 컴퓨터의 기존 네트워크 연결을 표시하거나 새로 만드는 것을 도와줍니다. -Menu.PrintersTip = 로컬 및 네트워크 프린터를 추가, 제거, 구성합니다. -Menu.TaskbarTip = 표시되는 항목의 유형 및 표시 방법 등과 같은 시작 메뉴 및 작업 표시줄 설정을 사용자 지정합니다. -Menu.ControlPanelTip = 설정을 변경하고 컴퓨터의 기능을 사용자 지정합니다. -Menu.DocumentsLibTip = 편지, 보고서, 메모 및 기타 문서에 액세스합니다. -Menu.MusicLibTip = 음악 및 기타 오디오 파일을 재생합니다. -Menu.PicturesLibTip = 디지털 사진을 보고 정리합니다. -Menu.VideosLibTip = 홈 동영상 및 기타 디지털 비디오를 시청합니다. -Menu.RecordingsLibTip = 컴퓨터에 녹화된 TV 프로그램을 시청합니다. -Menu.DownloadTip = 인터넷 다운로드 및 즐겨 찾는 웹 사이트에 대한 링크를 찾습니다. -Menu.HomegroupTip = 홈 그룹의 다른 사용자가 공유한 라이브러리 및 폴더에 액세스합니다. -Menu.RunTip = 프로그램, 폴더, 문서 또는 웹 사이트를 엽니다. -Menu.HelpTip = 도움말 항목, 자습서, 문제 해결 및 기타 지원 서비스를 찾습니다. -Menu.ProgramsTip = 프로그램의 목록을 표시합니다. -Menu.SearchFilesTip = 문서, 음악, 사진, 전자 메일 등을 검색합니다. -Menu.GamesTip = 컴퓨터에 있는 게임을 실행 및 관리합니다. -Menu.SecurityTip = 암호를 변경하거나, 사용자를 전환하거나, 작업 관리자를 시작하려면 Windows 보안 옵션을 시작합니다. -Menu.SearchComputersTip = 네트워크에서 컴퓨터 찾기 -Menu.SearchPrintersTip = 프린터 찾기 -Menu.AdminToolsTip = 사용자 컴퓨터의 관리 설정을 구성합니다. -Menu.ShutdownTip = 열려 있는 프로그램을 모두 닫고 Windows를 종료한 다음 컴퓨터를 끕니다. -Menu.RestartTip = 열려 있는 프로그램을 모두 닫고 Windows를 종료한 다음 Windows를 다시 시작합니다. -Menu.SleepTip = 작업을 빠르게 다시 시작할 수 있도록 사용자 세션을 메모리에 저장하고 컴퓨터를 절전 상태로 전환합니다. -Menu.HibernateTip = 사용자 세션을 저장하고 컴퓨터를 끕니다. 컴퓨터를 켜면 Windows에 사용자 세션이 복원됩니다. -Menu.LogOffTip = 프로그램을 닫고 로그오프합니다. -Menu.DisconnectTip = 세션 연결을 끊습니다. 다시 로그온할 때 이 세션에 연결할 수 있습니다. -Menu.LockTip = 이 컴퓨터를 잠급니다. -Menu.UndockTip = 도킹 스테이션에서 랩톱 또는 노트북 컴퓨터를 제거합니다. -Menu.SwitchUserTip = 프로그램을 닫지 않고 사용자를 전환합니다. -Menu.Empty = (비어 있음) -Menu.Features = 프로그램 및 기능 -Menu.FeaturesTip = 컴퓨터의 프로그램을 제거하거나 변경합니다. -Menu.SearchPeople = 사람 찾기(&P)... -Menu.SortByName = 이름순 정렬(&B) -Menu.Open = 열기(&O) -Menu.OpenAll = 열기 - All Users(&P) -Menu.Explore = 탐색(&E) -Menu.ExploreAll = 탐색 - All Users(&X) -Menu.MenuSettings = 설정 -Menu.MenuHelp = 도움말 -Menu.MenuExit = 끝내기 -Menu.LogoffTitle = Windows 로그오프 -Menu.LogoffPrompt = 로그오프하시겠습니까? -Menu.LogoffYes = 로그오프(&L) -Menu.LogoffNo = 아니요(&N) -Menu.RenameTitle = 이름 바꾸기 -Menu.RenamePrompt = 새 이름(&N): -Menu.RenameOK = 확인 -Menu.RenameCancel = 취소 -Menu.Organize = 시작 메뉴 구성 -Menu.Expand = 확장(&A) -Menu.Collapse = 축소(&A) -Menu.NewFolder = 새 폴더 -Menu.NewShortcut = 새 바로 가기 -Menu.AutoArrange = 자동 정렬(&A) -Menu.ActionOpen = 열기 -Menu.ActionClose = 닫기 -Menu.ActionExecute = 실행 -Menu.RemoveList = 이 목록에서 제거(&F) -Menu.RemoveAll = 최근 항목 목록 지우기(&L) -Menu.Explorer = Windows 탐색기 -Menu.Start = 시작 -Menu.StartScreen = 시작 화면 -Menu.StartMenu = 시작 메뉴 (Windows) -Menu.PinStart = 시작 메뉴에 고정 -Menu.PinStartCs = 시작 메뉴에 고정 (Open-Shell) -Menu.UnpinStartCs = 시작 메뉴에서 제거 (Open-Shell) -Menu.MonitorOff = 디스플레이 끄기 -Menu.RemoveHighlight = 추천 취소 -Menu.Uninstall = 제거(&U) -Menu.UninstallTitle = 제거 -Menu.UninstallPrompt = %s 설치를 제거하시겠습니까? -Search.CategorySettings = 설정 -Search.CategoryPCSettings = PC 설정 -Search.CategoryPrograms = 프로그램 -Search.CategoryDocuments = 문서 -Search.CategoryMusic = 음악 -Search.CategoryPictures = 사진 -Search.CategoryVideos = 비디오 -Search.CategoryFiles = 파일 -Search.CategoryInternet = 인터넷 -JumpList.Recent = 최근 항목 -JumpList.Frequent = 자주 사용하는 항목 -JumpList.Tasks = 작업 -JumpList.Pinned = 고정됨 -JumpList.Pin = 이 목록에 고정(&I) -JumpList.Unpin = 이 목록에서 제거(&U) -JumpList.Remove = 이 목록에서 제거(&F) -JumpList.PinTip = 이 목록에 고정 -JumpList.UnpinTip = 이 목록에서 제거 - - -[lt-LT] - Lithuanian (Lithuania) -Menu.Programs = &Programos -Menu.Apps = Programėlės -Menu.AllPrograms = Visos programos -Menu.Back = Atgal -Menu.Favorites = P&arankiniai -Menu.Documents = &Dokumentai -Menu.Settings = Para&metrai -Menu.Search = I&eškoti -Menu.SearchBox = Ieškoti -Menu.SearchPrograms = Ieškoti tarp programų ir failų -Menu.SearchInternet = Ieškoti internete -Menu.Searching = Ieškoma... -Menu.NoMatch = Nėra iešką atitinkančių elementų. -Menu.MoreResults = Rodyti daugiau rezultatų -Menu.Help = &Žinynas ir palaikymas -Menu.Run = &Vykdyti... -Menu.Logoff = I&šeiti %s -Menu.SwitchUser = Perjungti &vartotoją -Menu.Lock = Už&rakinti -Menu.LogOffShort = &Išeiti -Menu.Undock = Kompi&uterį atjungti nuo doko -Menu.Disconnect = A&tsijungti -Menu.ShutdownBox = Išjun>i... -Menu.Shutdown = &Baigti darbą -Menu.Restart = &Paleisti iš naujo -Menu.ShutdownUpdate = Naujinti ir išjungti -Menu.RestartUpdate = Naujinti ir paleisti iš naujo -Menu.Sleep = &Miego būsena -Menu.Hibernate = &Užmigdyti -Menu.ControlPanel = &Valdymo skydas -Menu.PCSettings = PC parametrai -Menu.Security = Windows sauga -Menu.Network = &Tinklo ryšiai -Menu.Printers = &Spausdintuvai -Menu.Taskbar = &Užduočių juosta ir meniu Pradėti -Menu.SearchFiles = Fa&ilams ir aplankams... -Menu.SearchPrinter = S&pausdintuvui -Menu.SearchComputers = &Kompiuteriams -Menu.UserFilesTip = Čia yra aplankai, skirti Dokumentams, Paveikslėliams, Muzikai ir kitoms jums priklausantiems failams. -Menu.UserDocumentsTip = Yra laiškų, ataskaitų ir kitų dokumentų, bei failų. -Menu.UserPicturesTip = Yra skaitmeninių nuotraukų, vaizdų ir grafinių failų. -Menu.UserMusicTip = Yra muzikos ir kitų garso failų. -Menu.UserVideosTip = Yra filmų ir kitų vaizdo failų. -Menu.NetworkTip = Rodomi esantys tinklo ryšiai kompiuteryje ir padedama kurti naujus -Menu.PrintersTip = Įtraukti, šalinti ir konfigūruoti vietinius ir tinklo spausdintuvus. -Menu.TaskbarTip = Tinkinkite meniu Pradėti ir užduočių juostą, pvz., rodyti skirtų elementų tipus ir jų išvaizdą. -Menu.ControlPanelTip = Keiskite parametrus ir tinkinkite savo kompiuterio funkcionalumą. -Menu.DocumentsLibTip = Pasiekite laiškus, ataskaitas, pastabas ir kitų tipų dokumentus. -Menu.MusicLibTip = Leiskite muzikos įrašus ir kitus garso failus. -Menu.PicturesLibTip = Peržiūrėkite ir tvarkykite skaitmeninius paveikslėlius. -Menu.VideosLibTip = Žiūrėkite namų kinus ir kitus skaitmeninius vaizdo įrašus. -Menu.RecordingsLibTip = Žiūrėkite TV programas, įrašytas jūsų kompiuteryje. -Menu.DownloadTip = Ieškokite siūlomų atsisiųsti failų internete ir nuorodų į mėgstamas svetaines. -Menu.HomegroupTip = Pasiekite bibliotekas ir aplankus, kuriuos bendrina kiti jūsų namų grupės nariai. -Menu.RunTip = Atidaro programą, aplanką, dokumentą ar svetainę. -Menu.HelpTip = Ieškokite Žinyno temų, vadovėlių, trikčių šalinimo ir kitų palaikymo paslaugų. -Menu.ProgramsTip = Atidaro programų sąrašą. -Menu.SearchFilesTip = Ieškokite dokumentų, muzikos įrašų, paveikslėlių, el. pašto ir t. t. -Menu.GamesTip = Paleiskite ir valdykite žaidimus kompiuteryje. -Menu.SecurityTip = Paleiskite Windows saugos parinktis, kad pakeistumėte slaptažodį, perjungtumėte vartotoją arba paleistumėte užduočių tvarkytuvą. -Menu.SearchComputersTip = Tinkle ieškoti kompiuterių -Menu.SearchPrintersTip = Ieškoti spausdintuvo -Menu.AdminToolsTip = Konfigūruokite kompiuterio administracinius parametrus. -Menu.ShutdownTip = Uždaro visas atidarytas programas, baigia darbą su Windows ir išjungia kompiuterį. -Menu.RestartTip = Uždaro visas atidarytas programas, Windows ir dar kartą paleidžia Windows. -Menu.SleepTip = Palieka seansą atmintyje ir perjungia kompiuterį veikti eikvojant mažai energijos, kad galėtumėte greitai tęsti darbą. -Menu.HibernateTip = Įrašo seansą ir išjungia kompiuterį. Įjungus kompiuterį, Windows atkuria seansą. -Menu.LogOffTip = Uždaro programas ir išeina. -Menu.DisconnectTip = Atjungiamas seansas. Pakartotinai prisijungti prie šio seanso galėsite dar kartą įėję. -Menu.LockTip = Užrakina šį kompiuterį. -Menu.UndockTip = Iš doko šalinamas nešiojamasis kompiuteris. -Menu.SwitchUserTip = Pakeičia vartotojus neuždarant programų. -Menu.Empty = (Tuščia) -Menu.Features = Programos ir funkcijos -Menu.FeaturesTip = Pašalinkite arba keiskite kompiuterio programas. -Menu.SearchPeople = &Asmenims... -Menu.SortByName = &Rūšiuoti pagal vardus -Menu.Open = &Atidaryti -Menu.OpenAll = A&tidaryti aplanką Visi vartotojai -Menu.Explore = Naršyt&i -Menu.ExploreAll = Na&ršyti visus vartotojus -Menu.MenuSettings = Parametrai -Menu.MenuHelp = Žinynas -Menu.MenuExit = Išeiti -Menu.LogoffTitle = Išeiti iš Windows -Menu.LogoffPrompt = Ar tikrai norite išeiti? -Menu.LogoffYes = I&šeiti -Menu.LogoffNo = &Ne -Menu.RenameTitle = Pervardyti -Menu.RenamePrompt = Naujas &pavadinimas: -Menu.RenameOK = Gerai -Menu.RenameCancel = Atšaukti -Menu.Organize = Tvarkyti pradžios meniu -Menu.Expand = P&lėsti -Menu.Collapse = Su&traukti -Menu.NewFolder = Naujas aplankas -Menu.NewShortcut = Nauja nuoroda -Menu.AutoArrange = Autom&atinis išdėstymas -Menu.ActionOpen = Atidaryti -Menu.ActionClose = Uždaryti -Menu.ActionExecute = Vykdyti -Menu.RemoveList = Šal&inti iš šio sąrašo -Menu.RemoveAll = &Valyti naujausių elementų sąrašą -Menu.Explorer = Windows naršyklė -Menu.Start = Pradėti -Menu.StartScreen = Pradžios ekranas -Menu.StartMenu = Meniu Pradėti (Windows) -Menu.PinStart = Padaryti prieinamą meniu Pradėti -Menu.PinStartCs = Padaryti prieinamą meniu Pradėti (Open-Shell) -Menu.UnpinStartCs = Padaryti neprieinamą meniu Pradėti (Open-Shell) -Menu.MonitorOff = Išjungti ekraną -Menu.RemoveHighlight = Šalinti paryškinimą -Menu.Uninstall = &Pašalinti -Menu.UninstallTitle = Pašalinti -Menu.UninstallPrompt = Ar tikrai norite pašalinti %s? -Search.CategorySettings = Parametrai -Search.CategoryPCSettings = PC parametrai -Search.CategoryPrograms = Programos -Search.CategoryDocuments = Dokumentai -Search.CategoryMusic = Muzika -Search.CategoryPictures = Paveikslėliai -Search.CategoryVideos = Vaizdo įrašai -Search.CategoryFiles = Failai -Search.CategoryInternet = Internetas -JumpList.Recent = Paskutiniai -JumpList.Frequent = Dažniausi -JumpList.Tasks = Užduotys -JumpList.Pinned = Susegta -JumpList.Pin = Į&traukti į šį sąrašą -JumpList.Unpin = P&ašalinti iš šio sąrašo -JumpList.Remove = Pašal&inti iš šio sąrašo -JumpList.PinTip = Įtraukti į šį sąrašą -JumpList.UnpinTip = Pašalinti iš šio sąrašo - - -[lv-LV] - Latvian (Latvia) -Menu.Programs = Pro&grammas -Menu.Apps = Programmas -Menu.AllPrograms = Visas programmas -Menu.Back = Atpakaļ -Menu.Favorites = Mana i&zlase -Menu.Documents = &Dokumenti -Menu.Settings = &Iestatījumi -Menu.Search = &Meklēt -Menu.SearchBox = Meklēt -Menu.SearchPrograms = Meklēt programmas un failus -Menu.SearchInternet = Meklēt internetā -Menu.Searching = Notiek meklēšana... -Menu.NoMatch = Nav vienumu, kas atbilstu meklēšanas kritērijiem. -Menu.MoreResults = Skatīt citus rezultātus -Menu.Help = Pa&līdzība un atbalsts -Menu.Run = Iz&pildīt... -Menu.Logoff = &Atteikties ar vārdu %s -Menu.SwitchUser = Pār&slēgt lietotāju -Menu.Lock = Ai&zslēgt -Menu.LogOffShort = &Atteikties -Menu.Undock = Atdokot dat&oru -Menu.Disconnect = At&vienoties -Menu.ShutdownBox = &Beidzēt... -Menu.Shutdown = &Beidzēšana -Menu.Restart = &Restartēšana -Menu.ShutdownUpdate = Atjaunināt un izslēgt -Menu.RestartUpdate = Atjaunināt un restartēt -Menu.Sleep = &Miega režīms -Menu.Hibernate = &Hibernācija -Menu.ControlPanel = Vadības &panelis -Menu.PCSettings = Datora iestatījumi -Menu.Security = Windows drošība -Menu.Network = &Tīkla savienojumi -Menu.Printers = P&rinteri -Menu.Taskbar = &Uzdevumjosla un izvēlne Sākt -Menu.SearchFiles = &Failus vai mapes... -Menu.SearchPrinter = &Printeri -Menu.SearchComputers = &Datorus -Menu.UserFilesTip = Ietver sadaļu Mani dokumenti, Mani attēli, Mana mūzika mapes un citus failus, kas jums pieder. -Menu.UserDocumentsTip = Satur vēstules, atskaites un citus dokumentus un failus. -Menu.UserPicturesTip = Satur ciparu fotogrāfijas, attēlus un grafikas failus. -Menu.UserMusicTip = Satur mūziku un citus audio failus. -Menu.UserVideosTip = Satur filmas un citus video failus. -Menu.NetworkTip = Parāda šajā datorā esošos tīkla savienojumus un palīdz izveidot jaunus -Menu.PrintersTip = Pievienojiet, noņemiet un konfigurējiet lokālos un tīkla printerus. -Menu.TaskbarTip = Pielāgot izvēlni Sākt un uzdevumjoslu, piemēram, kāda tipa vienumus rādīt un kā tiem ir jāizskatās. -Menu.ControlPanelTip = Mainīt iestatījumus un pielāgot datora funkcionalitāti. -Menu.DocumentsLibTip = Piekļūt vēstulēm, atskaitēm, piezīmēm un cita veida dokumentiem. -Menu.MusicLibTip = Atskaņot mūzikas un citus audio failus. -Menu.PicturesLibTip = Skatīt un organizēt digitālos attēlus. -Menu.VideosLibTip = Skatiet amatieru filmas un citu ciparvideo. -Menu.RecordingsLibTip = Skatiet datorā ierakstītās TV programmas. -Menu.DownloadTip = Atrodiet interneta lejupielādes un saites uz iecienītajām vietnēm. -Menu.HomegroupTip = Piekļūstiet bibliotēkām un mapēm, ko kopīgojušas citas personas mājas grupā. -Menu.RunTip = Atver programmu, mapi, dokumentu vai tīmekļa vietni. -Menu.HelpTip = Atrast palīdzības tēmas, apmācības, problēmu novēršanu un citus atbalsta pakalpojumus. -Menu.ProgramsTip = Atver programmu sarakstu. -Menu.SearchFilesTip = Meklēt dokumentus, mūziku, attēlus, e-pastu un citu. -Menu.GamesTip = Spēlēt un pārvaldīt spēles datorā. -Menu.SecurityTip = Palaist Windows drošības opcijas, lai mainītu paroli, pārslēgtu lietotāju vai startētu Uzdevumu pārvaldnieku. -Menu.SearchComputersTip = Meklēt datorus tīklā -Menu.SearchPrintersTip = Meklēt printeri -Menu.AdminToolsTip = Konfigurēt datora administratīvos iestatījumus. -Menu.ShutdownTip = Aizver visas atvērtās programmas, izslēdz sistēmu Windows un pēc tam izslēdz datoru. -Menu.RestartTip = Aizver visas atvērtās programmas, izslēdz sistēmu Windows un pēc tam to atkal startē. -Menu.SleepTip = Saglabā sesiju atmiņā un pārslēdz datoru mazas jaudas režīmā, lai pēc tam varētu ātri atsākt darbu. -Menu.HibernateTip = Saglabā sesiju un izslēdz datoru. Ieslēdzot datoru, sistēma Windows atjauno sesiju. -Menu.LogOffTip = Aizvērt programmas un atteikties. -Menu.DisconnectTip = Atvieno sesiju. Atkārtoti izveidot savienojumu ar šo sesiju var, vēlreiz piesakoties sistēmā. -Menu.LockTip = Aizslēgt datoru. -Menu.UndockTip = Noņem klēpjdatoru vai piezīmjdatoru no dokstacijas. -Menu.SwitchUserTip = Pārslēgt lietotājus, neaizverot programmas. -Menu.Empty = (Tukšs) -Menu.Features = Programmas un līdzekļi -Menu.FeaturesTip = Noņemt programmu instalāciju vai mainīt programmas datorā. -Menu.SearchPeople = &Personām... -Menu.SortByName = &Kārtot pēc nosaukuma -Menu.Open = A&tvērt -Menu.OpenAll = &Atvērt visus lietotājus -Menu.Explore = &Pārlūkot -Menu.ExploreAll = Pār&lūkot visus lietotājus -Menu.MenuSettings = Iestatījumi -Menu.MenuHelp = Palīdzība -Menu.MenuExit = Iziet -Menu.LogoffTitle = Atteikšanās sistēmā Windows -Menu.LogoffPrompt = Vai tiešām vēlaties atteikties? -Menu.LogoffYes = &Atteikties -Menu.LogoffNo = &Nē -Menu.RenameTitle = Pārdēvēšana -Menu.RenamePrompt = Jaunais &nosaukums: -Menu.RenameOK = Labi -Menu.RenameCancel = Atcelt -Menu.Organize = Organizēt izvēlni Sākt -Menu.Expand = Izv&ērst -Menu.Collapse = Sakļ&aut -Menu.NewFolder = Jauna mape -Menu.NewShortcut = Jauna saīsne -Menu.AutoArrange = &Automātiski sakārtot -Menu.ActionOpen = Atvērt -Menu.ActionClose = Aizvērt -Menu.ActionExecute = Izpildīt -Menu.RemoveList = &Noņemt no šī saraksta -Menu.RemoveAll = &Notīrīt nesen pievienoto vienumu sarakstu -Menu.Explorer = Windows Explorer -Menu.Start = Sākt -Menu.StartScreen = Sākuma ekrāns -Menu.StartMenu = Izvēlne Sākt (Windows) -Menu.PinStart = Piespraust izvēlnei Sākt -Menu.PinStartCs = Piespraust izvēlnei Sākt (Open-Shell) -Menu.UnpinStartCs = Atspraust no izvēlnes Sākt (Open-Shell) -Menu.MonitorOff = Izslēgt displeju -Menu.RemoveHighlight = Noņemt marķējumu -Menu.Uninstall = &Atinstalēt -Menu.UninstallTitle = Atinstalēt -Menu.UninstallPrompt = Vai esat pārliecināts, ka vēlaties atinstalēt %s? -Search.CategorySettings = Iestatījumi -Search.CategoryPCSettings = Datora iestatījumi -Search.CategoryPrograms = Programmas -Search.CategoryDocuments = Dokumenti -Search.CategoryMusic = Mūzika -Search.CategoryPictures = Attēli -Search.CategoryVideos = Video -Search.CategoryFiles = Faili -Search.CategoryInternet = Internets -JumpList.Recent = Nesen izmantotie -JumpList.Frequent = Biežāk atvērtie -JumpList.Tasks = Uzdevumi -JumpList.Pinned = Piesprausts -JumpList.Pin = Pie&spraust šim sarakstam -JumpList.Unpin = &Atspraust no šī saraksta -JumpList.Remove = &Noņemt no šī saraksta -JumpList.PinTip = Piespraust šim sarakstam -JumpList.UnpinTip = Atspraust no šī saraksta - - -[mk-MK] - Macedonian (Macedonia) -Menu.Programs = Програми -Menu.Apps = Апликации -Menu.AllPrograms = Сите програми -Menu.Back = Назад -Menu.Favorites = Омилени -Menu.Documents = Документи -Menu.Settings = Подесувања -Menu.Search = Пребарување -Menu.SearchBox = Поле за пребарување -Menu.SearchPrograms = Барање на програми и фајлови -Menu.SearchInternet = Пребарување на интернет -Menu.Searching = Пребарување... -Menu.NoMatch = Не е пронајдено ништо. -Menu.MoreResults = Дај повеќе резултати -Menu.Help = Помош и поддршка -Menu.Run = Стартувај... -Menu.Logoff = Излегување од -Menu.SwitchUser = Смени го корисникот -Menu.Lock = Заклучување -Menu.LogOffShort = Кратко излегување -Menu.Undock = Откачи го компјутерот -Menu.Disconnect = Прекини ја врската -Menu.ShutdownBox = Исклучи... -Menu.Shutdown = Исклучување -Menu.Restart = Рестартирај -Menu.ShutdownUpdate = Надградба и исклучување -Menu.RestartUpdate = Надградба и рестартирање -Menu.Sleep = Заспивање -Menu.Hibernate = Хибернација -Menu.ControlPanel = Контрол панел -Menu.PCSettings = Параметри на компјутерот -Menu.Security = Заштита на Windows -Menu.Network = Компјутерска Мрежа -Menu.Printers = Принтери -Menu.Taskbar = Таскбар и мени “Старт“ -Menu.SearchFiles = За фајлови или фолдери... -Menu.SearchPrinter = За печатар -Menu.SearchComputers = За компјутери -Menu.UserFilesTip = Содржи фолдери за документи, музика и други ваши фајлови. -Menu.UserDocumentsTip = Содржи документи, слики, фајлови и друго. -Menu.UserPicturesTip = Содржи документи, слики и фајлови. -Menu.UserMusicTip = Содржи музика и други аудио фајлови. -Menu.UserVideosTip = Содржи филмови и други видео фајлови. -Menu.NetworkTip = Покажува постоечки врски на мрежата на тој компјутер и ви овозможува да направите нови -Menu.PrintersTip = Додавање, отстранување и конфигурирање на локални мрежини принтери. -Menu.TaskbarTip = Персонализирање на менито "Старт" и таскбарот на задачите, како на прим. типови на елементи коишто ќе бидат покажани. -Menu.ControlPanelTip = Промена на подесување и пресонализирање на функционалноста на компјутерот. -Menu.DocumentsLibTip = Пристап до писма, белешки и други видови на документи. -Menu.MusicLibTip = Репродукција на музика и други аудио фајлови. -Menu.PicturesLibTip = Преглед и организирање на дигитални слики. -Menu.VideosLibTip = Гледање на домашни филмови и други дигитални видеозаписи. -Menu.RecordingsLibTip = Гледање на снимени на компјутер ТВ програми. -Menu.DownloadTip = Барање на даунлоадирани фајлови од интернет и кон напосакуваните врски. -Menu.HomegroupTip = Достап до директориуми и фолдери, споделени од други луѓе во вашата домашна мрежа. -Menu.RunTip = Отвара програма, фолдер, документ или веб сајт. -Menu.HelpTip = Лоцирајте теми од "Помош", туторијали, отстранување на неисправности и други услуги за поддршка. -Menu.ProgramsTip = Го отвора списокот на програмите. -Menu.SearchFilesTip = Барање на документи, музика, слики,и електронска пошта и друго. -Menu.GamesTip = Играјте и управувајте со игрите на својот компјутер. -Menu.SecurityTip = Стартирајте ги опциите за заштита на Windows, за да промените лозинка, да смените корисник или да стартирате таск менаџер. -Menu.SearchComputersTip = Барање на компјутери во мрежата -Menu.SearchPrintersTip = Барање на печатари -Menu.AdminToolsTip = Конфигурирање на административните подесувања на компјутерот. -Menu.ShutdownTip = Ги затвора сите отворени програми, исклучува Windows и исклучува компјутер. -Menu.RestartTip = Ги затвора сите отворени програми, исклучува Windows и после одново се стартува Windows. -Menu.SleepTip = Ја запазува сесијата во меморија и го поставува компјутерот во систем на штедење на енергија, за да можете брзо да продолжите со работа. -Menu.HibernateTip = Ја запазува сесијата во меморија и исклучува компјутерот. Кога ќе го вклучите компјутерот, Windows ја продолжува вашата сесија. -Menu.LogOffTip = Затварање на програмите и излегување. -Menu.DisconnectTip = Ја прекинува врската со вашата сесија. Можете да се поврзете со таа сесија повторно, кога ќе влезете повторно. -Menu.LockTip = Заклупување на компјутерот. -Menu.UndockTip = Го отстранува вашиот лаптоп или ноутбук комјутер од базната станица. -Menu.SwitchUserTip = Смена на корисниците без да се затвораат програмите. -Menu.Empty = (Празно) -Menu.Features = Програми и компоненти -Menu.FeaturesTip = Деинсталација или промена на програми на компјутерот. -Menu.SearchPeople = За луѓе... -Menu.SortByName = Сортирај по име -Menu.Open = Отвори -Menu.OpenAll = Отвори "Сите корисници" -Menu.Explore = Преглед -Menu.ExploreAll = Преглед на "Сите корисници" -Menu.MenuSettings = Подесувања -Menu.MenuHelp = Помош -Menu.MenuExit = Излез -Menu.LogoffTitle = Излегување од Windows -Menu.LogoffPrompt = Навистина сакате да излезете? -Menu.LogoffYes = Излегување -Menu.LogoffNo = Не -Menu.RenameTitle = Преименување -Menu.RenamePrompt = Ново име: -Menu.RenameOK = OK -Menu.RenameCancel = Откажи -Menu.Organize = Организирање на менито "Старт" -Menu.Expand = Прошири -Menu.Collapse = Собери -Menu.NewFolder = Нов фолдер -Menu.NewShortcut = Нов краток пат -Menu.AutoArrange = Автоматско подредување -Menu.ActionOpen = Отвори -Menu.ActionClose = Затвори -Menu.ActionExecute = Изврши -Menu.RemoveList = Отстрани од тој список -Menu.RemoveAll = Исчисти го списокот од последните програми -Menu.Explorer = Windows Explorer -Menu.Start = Старт -Menu.StartScreen = Почетен екран -Menu.StartMenu = Мени "Старт" (Windows) -Menu.PinStart = Закачи кон менито "Старт" -Menu.PinStartCs = Закачи го кон менито "Старт" (Open-Shell) -Menu.UnpinStartCs = Откачи го од менито "Старт" (Open-Shell) -Menu.MonitorOff = Исклучување на дисплејот -Menu.RemoveHighlight = Remove highlight -Menu.Uninstall = &Деинсталирај -Menu.UninstallTitle = Деинсталирај -Menu.UninstallPrompt = Дали сте сигурни дека сакате да го деинсталирате %s? -Search.CategorySettings = Подесувања -Search.CategoryPCSettings = Параметри на компјутерот -Search.CategoryPrograms = Програми -Search.CategoryDocuments = Документи -Search.CategoryMusic = Музика -Search.CategoryPictures = Слики -Search.CategoryVideos = Видеозаписи -Search.CategoryFiles = Фајлови -Search.CategoryInternet = Интернет -JumpList.Recent = Последни -JumpList.Frequent = Често Користени -JumpList.Tasks = Задачи -JumpList.Pinned = Закачени -JumpList.Pin = Закачи кон тој список -JumpList.Unpin = Откачи од тој список -JumpList.Remove = Отстрани од тој список -JumpList.PinTip = Закачи кон тој список -JumpList.UnpinTip = Откачи од тој список - - -[nb-NO] - Norwegian, Bokmål (Norway) -Menu.Programs = &Programmer -Menu.Apps = Apper -Menu.AllPrograms = Alle programmer -Menu.Back = Tilbake -Menu.Favorites = &Favoritter -Menu.Documents = &Dokumenter -Menu.Settings = &Innstillinger -Menu.Search = &Søk -Menu.SearchBox = Søk -Menu.SearchPrograms = Søk i programmer og filer -Menu.SearchInternet = Søk på Internett -Menu.Searching = Søker... -Menu.NoMatch = Ingen elementer stemmer med søket. -Menu.MoreResults = Se flere resultater -Menu.Help = &Hjelp og støtte -Menu.Run = &Kjør... -Menu.Logoff = &Logg av %s -Menu.SwitchUser = &Bytt bruker -Menu.Lock = L&ås -Menu.LogOffShort = &Logg av -Menu.Undock = Koble fra P&C -Menu.Disconnect = K&oble fra -Menu.ShutdownBox = &Avslutt... -Menu.Shutdown = &Avslutt -Menu.Restart = &Start på nytt -Menu.ShutdownUpdate = Oppdater og slå av -Menu.RestartUpdate = Oppdater og start på nytt -Menu.Sleep = &Hvilemodus -Menu.Hibernate = &Dvalemodus -Menu.ControlPanel = &Kontrollpanel -Menu.PCSettings = PC-innstillinger -Menu.Security = Windows-sikkerhet -Menu.Network = &Nettverkstilkoblinger -Menu.Printers = &Skrivere -Menu.Taskbar = &Oppgavelinje og Start-meny -Menu.SearchFiles = Etter &filer eller mapper... -Menu.SearchPrinter = Etter &skriver -Menu.SearchComputers = Etter &datamaskiner -Menu.UserFilesTip = Inneholder mapper for dokumenter, bilder, musikk og andre filer som tilhører deg. -Menu.UserDocumentsTip = Inneholder brev, rapporter og andre dokumenter og filer. -Menu.UserPicturesTip = Inneholder digitale fotografier, bilder og grafikkfiler. -Menu.UserMusicTip = Inneholder musikk- og andre lydfiler. -Menu.UserVideosTip = Inneholder filmer og andre videofiler. -Menu.NetworkTip = Viser eksisterende tilkoblinger på denne datamaskinen, og hjelper deg med å opprette nye -Menu.PrintersTip = Legg til, fjern og konfigurer lokale skrivere. -Menu.TaskbarTip = Tilpass Start-menyen og oppgavelinjen, for eksempel typen elementer som skal vises, og hvordan de skal vises. -Menu.ControlPanelTip = Endre innstillinger og tilpass funksjonaliteten på datamaskinen. -Menu.DocumentsLibTip = Lagre brev, rapporter, notater og andre typer dokumenter. -Menu.MusicLibTip = Spill av musikk og andre lydfiler. -Menu.PicturesLibTip = Vis og ordne digitale bilder. -Menu.VideosLibTip = Se hjemmefilmer og andre digitale videoer. -Menu.RecordingsLibTip = Se TV-programmer lagret på datamaskinen. -Menu.DownloadTip = Finn Internett-nedlastinger og koblinger til favorittsteder på nettet. -Menu.HomegroupTip = Få tilgang til biblioteker og mapper delt med andre i hjemmegruppen. -Menu.RunTip = Åpner et program, en mappe, et dokument eller et webområde. -Menu.HelpTip = Finn hjelpeemner, opplæring, feilsøking og andre støttetjenester. -Menu.ProgramsTip = Åpner en liste over programmer. -Menu.SearchFilesTip = Søk etter dokumenter, musikk, bilder, e-post og mer. -Menu.GamesTip = Spill og administrer spill på datamaskinen. -Menu.SecurityTip = Start Windows sikkerhetsalternativer for å endre Passord, Bytte bruker eller starte Oppgavebehandling. -Menu.SearchComputersTip = Søk etter datamaskiner på nettverket -Menu.SearchPrintersTip = Søk etter en skriver -Menu.AdminToolsTip = Konfigurer administrative innstillinger for datamaskinen. -Menu.ShutdownTip = Lukker alle åpne programmer, avslutter Windows og slår deretter av datamaskinen. -Menu.RestartTip = Lukker alle åpne programmer, avslutter Windows, og starter deretter Windows på nytt. -Menu.SleepTip = Beholder økten i minnet, og setter datamaskinen i en status med lavt strømforbruk så du raskt kan gjenoppta arbeidet. -Menu.HibernateTip = Lagrer økten, og slår av datamaskinen. Windows gjenoppretter økten når du slår på datamaskinen. -Menu.LogOffTip = Lukk programmer og logg av. -Menu.DisconnectTip = Kobler fra økten. Du kan koble til denne økten når du logger på igjen. -Menu.LockTip = Lås denne datamaskinen. -Menu.UndockTip = Fjerner den bærbare datamaskinen fra en forankringsstasjon. -Menu.SwitchUserTip = Bytt brukere uten å lukke programmer. -Menu.Empty = (Tom) -Menu.Features = Programmer og funksjoner -Menu.FeaturesTip = Avinstaller eller endre programmer på datamaskinen. -Menu.SearchPeople = Etter &personer... -Menu.SortByName = Sorter etter &navn -Menu.Open = Å&pne -Menu.OpenAll = &Åpne mappen All users -Menu.Explore = &Utforsk -Menu.ExploreAll = Utforsk &mappen All users -Menu.MenuSettings = Innstillinger -Menu.MenuHelp = Hjelp -Menu.MenuExit = Avslutt -Menu.LogoffTitle = Logg av Windows -Menu.LogoffPrompt = Er du sikker på at du vil logge av? -Menu.LogoffYes = &Logg av -Menu.LogoffNo = &Nei -Menu.RenameTitle = Gi nytt navn -Menu.RenamePrompt = &Nytt navn: -Menu.RenameOK = OK -Menu.RenameCancel = Avbryt -Menu.Organize = Organiser Start-meny -Menu.Expand = &Utvid -Menu.Collapse = &Minimer -Menu.NewFolder = Ny mappe -Menu.NewShortcut = Ny snarvei -Menu.AutoArrange = O&rdne automatisk -Menu.ActionOpen = Åpne -Menu.ActionClose = Lukk -Menu.ActionExecute = Utføre -Menu.RemoveList = &Fjern fra denne listen -Menu.RemoveAll = &Tøm listen over nylig brukte elementer -Menu.Explorer = Windows Utforsker -Menu.Start = Start -Menu.StartScreen = Startskjerm -Menu.StartMenu = Start-meny (Windows) -Menu.PinStart = Fest til Start-menyen -Menu.PinStartCs = Fest til Start-menyen (Open-Shell) -Menu.UnpinStartCs = Løsne fra Start-menyen (Open-Shell) -Menu.MonitorOff = Slå av skjermen -Menu.RemoveHighlight = Fjern høydepunkt -Menu.Uninstall = &Avinstaller -Menu.UninstallTitle = Avinstaller -Menu.UninstallPrompt = Er du sikker på at du vil avinstallere %s? -Search.CategorySettings = Innstillinger -Search.CategoryPCSettings = PC-innstillinger -Search.CategoryPrograms = Programmer -Search.CategoryDocuments = Dokumenter -Search.CategoryMusic = Musikk -Search.CategoryPictures = Bilder -Search.CategoryVideos = Videoer -Search.CategoryFiles = Filer -Search.CategoryInternet = Internett -JumpList.Recent = Siste -JumpList.Frequent = Ofte -JumpList.Tasks = Oppgaver -JumpList.Pinned = Låst -JumpList.Pin = &Fest til denne listen -JumpList.Unpin = &Løsne fra denne listen -JumpList.Remove = Fjer&n fra denne listen -JumpList.PinTip = Fest til denne listen -JumpList.UnpinTip = Løsne fra denne listen - - -[nl-NL] - Dutch (Netherlands) -Menu.Programs = &Programma's -Menu.Apps = Apps -Menu.AllPrograms = Alle programma's -Menu.Back = Vorige weergave -Menu.Favorites = &Favorieten -Menu.Documents = &Documenten -Menu.Settings = &Instellingen -Menu.Search = &Zoeken -Menu.SearchBox = Zoeken -Menu.SearchPrograms = Programma's en bestanden zoeken -Menu.SearchInternet = Op internet zoeken -Menu.Searching = Zoeken... -Menu.NoMatch = Geen zoekresultaten. -Menu.MoreResults = Meer resultaten weergeven -Menu.Help = &Help en ondersteuning -Menu.Run = &Uitvoeren... -Menu.Logoff = %s af&melden -Menu.SwitchUser = An&dere gebruiker -Menu.Lock = &Vergrendelen -Menu.LogOffShort = Afmel&den -Menu.Undock = &Laptop loskoppelen -Menu.Disconnect = Ver&binding verbreken -Menu.ShutdownBox = &Afsluiten... -Menu.Shutdown = A&fsluiten -Menu.Restart = &Opnieuw opstarten -Menu.ShutdownUpdate = Bijwerken en afsluiten -Menu.RestartUpdate = Bijwerken en opnieuw opstarten -Menu.Sleep = &Slaapstand -Menu.Hibernate = Slui&merstand -Menu.ControlPanel = &Configuratiescherm -Menu.PCSettings = Pc-instellingen -Menu.Security = Windows-beveiliging -Menu.Network = &Netwerkverbindingen -Menu.Printers = &Printers -Menu.Taskbar = &Taakbalk en menu Start -Menu.SearchFiles = Naar &bestanden of mappen... -Menu.SearchPrinter = &Naar printer -Menu.SearchComputers = Naar &computers -Menu.UserFilesTip = Bevat mappen voor documenten, afbeeldingen, muziek en andere bestanden die van u zijn. -Menu.UserDocumentsTip = Dit is de locatie waar u brieven, rapporten, documenten en andere bestanden kunt opslaan -Menu.UserPicturesTip = Dit is de locatie waar u digitale foto's, afbeeldingen en andere grafische bestanden kunt opslaan -Menu.UserMusicTip = Dit is de locatie waar u muziek en andere audiobestanden kunt opslaan -Menu.UserVideosTip = Dit is de locatie waar u filmfragmenten en andere videobestanden kunt opslaan -Menu.NetworkTip = Hiermee worden netwerkverbindingen op deze computer weergegeven en krijgt u hulp bij het maken van nieuwe verbindingen -Menu.PrintersTip = Hiermee kunt u lokale en netwerkprinters toevoegen, verwijderen en configureren -Menu.TaskbarTip = Hiermee kunt u de weergave wijzigen van onderdelen die in het menu Start of op de taakbalk staan -Menu.ControlPanelTip = De instellingen en functionaliteit van uw computer wijzigen -Menu.DocumentsLibTip = Brieven, rapporten, notities en andere soorten documenten openen -Menu.MusicLibTip = Muziek en andere audiobestanden afspelen -Menu.PicturesLibTip = Digitale foto's weergeven en rangschikken -Menu.VideosLibTip = Bekijk zelfgemaakte films en andere digitale video's. -Menu.RecordingsLibTip = Bekijk televisieprogramma's die op de computer zijn opgenomen. -Menu.DownloadTip = Zoek internetdownloads en koppelingen naar favoriete websites. -Menu.HomegroupTip = Toegang krijgen tot bibliotheken en maken die gedeeld worden door andere gebruikers in uw thuisgroep. -Menu.RunTip = Hiermee kunt u een programma starten, map openen of een website bezoeken -Menu.HelpTip = Help-onderwerpen, zelfstudies, probleemoplossingen en andere ondersteuningsdiensten zoeken -Menu.ProgramsTip = Hiermee kunt u een lijst met beschikbare programma's weergeven -Menu.SearchFilesTip = Documenten, muziek, afbeeldingen, e-mailberichten en meer zoeken -Menu.GamesTip = Spellen op uw computer spelen en beheren -Menu.SecurityTip = Start Windows-beveiligingsopties om het wachtwoord te wijzigen, van gebruiker te veranderen of Taakbeheer te starten. -Menu.SearchComputersTip = Computers in het netwerk zoeken -Menu.SearchPrintersTip = Een printer zoeken -Menu.AdminToolsTip = Hiermee kunt u beheerinstellingen voor deze computer configureren -Menu.ShutdownTip = Alle geopende programma's sluiten, Windows afsluiten en vervolgens de computer uitschakelen -Menu.RestartTip = Alle geopende programma's sluiten en vervolgens Windows opnieuw starten -Menu.SleepTip = Uw sessie wordt in het geheugen bewaard en de computer wordt in een toestand van laag energieverbruik gezet, zodat u uw werk snel kunt hervatten. -Menu.HibernateTip = Uw sessie wordt opgeslagen en de computer wordt uitgeschakeld. Als u de computer inschakelt, wordt uw sessie hersteld. -Menu.LogOffTip = Alle programma's sluiten en u afmelden -Menu.DisconnectTip = De sessie beëindigen. U kunt de sessie hervatten door u opnieuw aan te melden. -Menu.LockTip = Deze computer vergrendelen -Menu.UndockTip = Uw draagbare computer loskoppelen van het basisstation -Menu.SwitchUserTip = Een andere gebruiker in staat stellen zich aan te melden zonder programma's te sluiten -Menu.Empty = (leeg) -Menu.Features = Programma's en onderdelen -Menu.FeaturesTip = Programma's op uw computer wijzigen of van uw computer verwijderen -Menu.SearchPeople = &Personen... -Menu.SortByName = S&orteren op naam -Menu.Open = &Openen -Menu.OpenAll = &Alle gebruikers weergeven -Menu.Explore = Ve&rkennen -Menu.ExploreAll = Alle &gebruikers verkennen -Menu.MenuSettings = Instellingen -Menu.MenuHelp = Help -Menu.MenuExit = Afsluiten -Menu.LogoffTitle = Afmelden bij Windows -Menu.LogoffPrompt = Weet u zeker dat u zich wilt afmelden? -Menu.LogoffYes = A&fmelden -Menu.LogoffNo = &Nee -Menu.RenameTitle = Naam wijzigen -Menu.RenamePrompt = &Nieuwe naam: -Menu.RenameOK = OK -Menu.RenameCancel = Annuleren -Menu.Organize = Menu Start organiseren -Menu.Expand = &Uitvouwen -Menu.Collapse = Samen&vouwen -Menu.NewFolder = Nieuwe map -Menu.NewShortcut = Nieuwe snelkoppeling -Menu.AutoArrange = Automatisch sc&hikken -Menu.ActionOpen = Openen -Menu.ActionClose = Sluiten -Menu.ActionExecute = Uitvoeren -Menu.RemoveList = Uit deze lijst &verwijderen -Menu.RemoveAll = Lijst met recente items &wissen -Menu.Explorer = Windows Verkenner -Menu.Start = Start -Menu.StartScreen = Startscherm -Menu.StartMenu = Menu Start (Windows) -Menu.PinStart = Vastmaken aan menu Start -Menu.PinStartCs = Vastmaken aan menu Start (Open-Shell) -Menu.UnpinStartCs = Losmaken van menu Start (Open-Shell) -Menu.MonitorOff = Het beeldscherm uitschakelen -Menu.RemoveHighlight = Aandachtspunt verwijderen -Menu.Uninstall = V&erwijderen -Menu.UninstallTitle = Verwijderen -Menu.UninstallPrompt = Weet u zeker dat u %s wilt verwijderen? -Search.CategorySettings = Instellingen -Search.CategoryPCSettings = Pc-instellingen -Search.CategoryPrograms = Programma's -Search.CategoryDocuments = Documenten -Search.CategoryMusic = Muziek -Search.CategoryPictures = Afbeeldingen -Search.CategoryVideos = Video's -Search.CategoryFiles = Bestanden -Search.CategoryInternet = Internet -JumpList.Recent = Recent -JumpList.Frequent = Vaak gebruikte items -JumpList.Tasks = Taken -JumpList.Pinned = Gepind -JumpList.Pin = &Aan deze lijst vastmaken -JumpList.Unpin = &Van deze lijst losmaken -JumpList.Remove = Uit deze lijst &verwijderen -JumpList.PinTip = Aan deze lijst vastmaken -JumpList.UnpinTip = Van deze lijst losmaken - - -[pl-PL] - Polish (Poland) -Menu.Programs = &Programy -Menu.Apps = Aplikacje -Menu.AllPrograms = Wszystkie programy -Menu.Back = Wstecz -Menu.Favorites = Ulu&bione -Menu.Documents = &Dokumenty -Menu.Settings = &Ustawienia -Menu.Search = &Wyszukaj -Menu.SearchBox = Wyszukaj -Menu.SearchPrograms = Wyszukaj programy i pliki -Menu.SearchInternet = Przeszukaj Internet -Menu.Searching = Trwa wyszukiwanie... -Menu.NoMatch = Żadne elementy nie pasują do kryteriów wyszukiwania. -Menu.MoreResults = Wyświetl więcej wyników -Menu.Help = Pomo&c i obsługa techniczna -Menu.Run = Urucho&m... -Menu.Logoff = Wy&loguj: %s -Menu.SwitchUser = &Przełącz użytkownika -Menu.Lock = &Zablokuj -Menu.LogOffShort = Wy&loguj -Menu.Undock = Oddokuj kompu&ter -Menu.Disconnect = &Rozłącz -Menu.ShutdownBox = Zam&knij... -Menu.Shutdown = &Zamknij -Menu.Restart = &Uruchom ponownie -Menu.ShutdownUpdate = Zaktualizuj i zamknij -Menu.RestartUpdate = Zaktualizuj i uruchom ponownie -Menu.Sleep = &Wstrzymaj -Menu.Hibernate = &Hibernacja -Menu.ControlPanel = Panel &sterowania -Menu.PCSettings = Ustawienia komputera -Menu.Security = Zabezpieczenia systemu Windows -Menu.Network = &Połączenia sieciowe -Menu.Printers = &Drukarki -Menu.Taskbar = Pasek zadań i &menu Start -Menu.SearchFiles = &Pliki lub foldery... -Menu.SearchPrinter = &Drukarki -Menu.SearchComputers = &Komputery -Menu.UserFilesTip = Zawiera foldery na dokumenty, obrazy, muzykę i inne Twoje pliki. -Menu.UserDocumentsTip = Zawiera listy, raporty i inne dokumenty i pliki. -Menu.UserPicturesTip = Zawiera fotografie cyfrowe, obrazy i pliki graficzne. -Menu.UserMusicTip = Zawiera muzykę i inne pliki audio. -Menu.UserVideosTip = Zawiera filmy i inne pliki wideo. -Menu.NetworkTip = Wyświetla istniejące połączenia sieciowe na tym komputerze, oraz ułatwia tworzenie nowych. -Menu.PrintersTip = Dodawaj, usuwaj i konfiguruj drukarki lokalne i sieciowe. -Menu.TaskbarTip = Dostosuj menu Start i pasek zadań, na przykład typy wyświetlanych elementów i sposób ich wyświetlania. -Menu.ControlPanelTip = Zmień ustawienia i dostosuj funkcjonalność tego komputera. -Menu.DocumentsLibTip = Przechowuj listy, raporty, notatki i inne rodzaje dokumentów. -Menu.MusicLibTip = Odtwarzaj muzykę i inne pliki audio. -Menu.PicturesLibTip = Wyświetlaj i organizuj obrazy cyfrowe. -Menu.VideosLibTip = Oglądaj filmy i inne cyfrowe materiały wideo. -Menu.RecordingsLibTip = Oglądaj programy telewizyjne nagrane na komputerze. -Menu.DownloadTip = Znajdź pliki pobrane z Internetu i łącza do ulubionych witryn sieci Web. -Menu.HomegroupTip = Uzyskaj dostęp do bibliotek i folderów udostępnionych w grupie domowej przez inne osoby. -Menu.RunTip = Otwiera program, folder, dokument lub witrynę sieci web. -Menu.HelpTip = Znajdź tematy Pomocy, samouczki, narzędzia do rozwiązywania problemów i inne usługi pomocnicze. -Menu.ProgramsTip = Otwiera listę programów. -Menu.SearchFilesTip = Wyszukuj dokumenty, muzykę, obrazy, wiadomości e-mail i inne elementy. -Menu.GamesTip = Graj i zarządzaj grami na komputerze. -Menu.SecurityTip = Otwórz opcje zabezpieczeń systemu Windows, aby zmienić hasło, przełączyć użytkownika lub uruchomić Menedżera zadań. -Menu.SearchComputersTip = Wyszukiwanie komputerów w sieci -Menu.SearchPrintersTip = Wyszukiwanie drukarki -Menu.AdminToolsTip = Konfiguruje ustawienia administracyjne dla tego komputera. -Menu.ShutdownTip = Zamyka wszystkie otwarte programy, zamyka system Windows, a następnie wyłącza komputer. -Menu.RestartTip = Zamyka wszystkie otwarte programy, zamyka system Windows, a następnie ponownie go uruchamia. -Menu.SleepTip = Zachowuje sesję w pamięci i przełącza komputer w stan niskiego poboru energii, umożliwiając szybkie wznowienie pracy. -Menu.HibernateTip = Zapisuje sesję i wyłącza komputer. Gdy włączysz komputer, system Windows przywróci sesję. -Menu.LogOffTip = Zamknij programy i wyloguj się. -Menu.DisconnectTip = Rozłącza sesję. Po ponownym zalogowaniu można ponownie połączyć się z tą samą sesją. -Menu.LockTip = Zablokuj ten komputer. -Menu.UndockTip = Odłącza komputer przenośny od stacji dokowania. -Menu.SwitchUserTip = Przełącz użytkowników bez zamykania programów. -Menu.Empty = (Puste) -Menu.Features = Programy i funkcje -Menu.FeaturesTip = Odinstaluj lub zmień programy na komputerze. -Menu.SearchPeople = &Do osób... -Menu.SortByName = Sortuj w&edług nazw -Menu.Open = &Otwórz -Menu.OpenAll = Otwórz &wszystkich użytkowników -Menu.Explore = &Eksploruj -Menu.ExploreAll = E&ksploruj wszystkich użytkowników -Menu.MenuSettings = Ustawienia -Menu.MenuHelp = Pomoc -Menu.MenuExit = Zakończ -Menu.LogoffTitle = Wylogowywanie z systemu Windows -Menu.LogoffPrompt = Czy na pewno chcesz się wylogować? -Menu.LogoffYes = &Wyloguj -Menu.LogoffNo = &Nie -Menu.RenameTitle = Zmienianie nazwy -Menu.RenamePrompt = &Nowa nazwa: -Menu.RenameOK = OK -Menu.RenameCancel = Anuluj -Menu.Organize = Organizuj menu Start -Menu.Expand = &Rozwiń -Menu.Collapse = &Zwiń -Menu.NewFolder = Nowy folder -Menu.NewShortcut = Nowy skrót -Menu.AutoArrange = &Autorozmieszczanie -Menu.ActionOpen = Otwórz -Menu.ActionClose = Zamknij -Menu.ActionExecute = Wykonaj -Menu.RemoveList = &Usuń z tej listy -Menu.RemoveAll = &Wyczyść listę niedawno używanych elementów -Menu.Explorer = Eksplorator Windows -Menu.Start = Start -Menu.StartScreen = Ekran startowy -Menu.StartMenu = Menu Start (Windows) -Menu.PinStart = Przypnij do menu Start -Menu.PinStartCs = Przypnij do menu Start (Open-Shell) -Menu.UnpinStartCs = Odepnij od menu Start (Open-Shell) -Menu.MonitorOff = Wyłącz ekran -Menu.RemoveHighlight = Usuń wyróżnienie -Menu.Uninstall = &Odinstaluj -Menu.UninstallTitle = Odinstaluj -Menu.UninstallPrompt = Czy na pewno chcesz odinstalować program %s? -Search.CategorySettings = Ustawienia -Search.CategoryPCSettings = Ustawienia komputera -Search.CategoryPrograms = Programy -Search.CategoryDocuments = Dokumenty -Search.CategoryMusic = Muzyka -Search.CategoryPictures = Obrazy -Search.CategoryVideos = Wideo -Search.CategoryFiles = Pliki -Search.CategoryInternet = Internet -JumpList.Recent = Najnowsze -JumpList.Frequent = Częste -JumpList.Tasks = Zadania -JumpList.Pinned = Zakotwiczony -JumpList.Pin = &Przypnij do tej listy -JumpList.Unpin = &Odepnij od tej listy -JumpList.Remove = U&suń z tej listy -JumpList.PinTip = Przypnij do tej listy -JumpList.UnpinTip = Odepnij od tej listy - - -[pt-BR] - Portuguese (Brazil) -Menu.Programs = &Programas -Menu.Apps = Aplicativos -Menu.AllPrograms = Todos os Programas -Menu.Back = Voltar -Menu.Favorites = &Favoritos -Menu.Documents = Docu&mentos -Menu.Settings = &Configurações -Menu.Search = Pe&squisar -Menu.SearchBox = Pesquisar -Menu.SearchPrograms = Pesquisar programas e arquivos -Menu.SearchInternet = Pesquisar na Internet -Menu.Searching = Pesquisando... -Menu.NoMatch = Nenhum item corresponde à pesquisa. -Menu.MoreResults = Ver mais resultados -Menu.Help = &Ajuda e Suporte -Menu.Run = Execu&tar... -Menu.Logoff = Fa&zer Logoff de %s -Menu.SwitchUser = &Trocar usuário -Menu.Lock = Bl&oquear -Menu.LogOffShort = Faz&er logoff -Menu.Undock = Desencai&xar -Menu.Disconnect = &Desconectar -Menu.ShutdownBox = Desliga&r... -Menu.Shutdown = &Desligar -Menu.Restart = &Reiniciar -Menu.ShutdownUpdate = Atualizar e desligar -Menu.RestartUpdate = Atualizar e reiniciar -Menu.Sleep = &Dormir -Menu.Hibernate = &Hibernar -Menu.ControlPanel = &Painel de controle -Menu.PCSettings = Configurações do computador -Menu.Security = Segurança do Windows -Menu.Network = Co&nexões de Rede -Menu.Printers = &Impressoras -Menu.Taskbar = &Barra de Tarefas e menu Iniciar -Menu.SearchFiles = &Arquivos ou Pastas... -Menu.SearchPrinter = Imp&ressora -Menu.SearchComputers = &Computadores -Menu.UserFilesTip = Contém pastas de Documentos, Imagens, Músicas e outros arquivos pertencentes a você. -Menu.UserDocumentsTip = Contém cartas, relatórios e outros documentos e arquivos. -Menu.UserPicturesTip = Contém fotos digitais, imagens e arquivos gráficos. -Menu.UserMusicTip = Contém música e outros arquivos de áudio. -Menu.UserVideosTip = Contém filmes e outros arquivos de vídeo. -Menu.NetworkTip = Exibe as conexões de rede existentes neste computador e ajuda a criar novas conexões -Menu.PrintersTip = Adicione, remova e configure impressoras e locais e de rede. -Menu.TaskbarTip = Personaliza o menu Iniciar e a barra de ferramentas: tipos de itens a exibir e a maneira como aparecem. -Menu.ControlPanelTip = Altere as configurações e personalize a funcionalidade do seu computador. -Menu.DocumentsLibTip = Acesse cartas, relatórios, anotações e outros tipos de documentos. -Menu.MusicLibTip = Toque música e outros arquivos de áudio. -Menu.PicturesLibTip = Veja e organize imagens digitais. -Menu.VideosLibTip = Assistir a filmes caseiros e outros vídeos digitais. -Menu.RecordingsLibTip = Assistir programas de TV gravados no seu computador. -Menu.DownloadTip = Localizar downloads da Internet e links para sites favoritos. -Menu.HomegroupTip = Acesse bibliotecas e pastas compartilhadas por outras pessoas em seu grupo doméstico. -Menu.RunTip = Abre um programa, uma pasta, um documento ou um site. -Menu.HelpTip = Localizar tópicos da Ajuda, tutoriais, soluções de problemas e outros serviços de suporte. -Menu.ProgramsTip = Abre uma lista dos programas. -Menu.SearchFilesTip = Pesquisar documentos, músicas, imagens, emails e muito mais. -Menu.GamesTip = Jogar e gerenciar jogos no computador. -Menu.SecurityTip = Iniciar Opções de Segurança do Windows para Alterar Senha, Alternar Usuário ou Iniciar o Gerenciador de Tarefas. -Menu.SearchComputersTip = Procurar computadores na rede -Menu.SearchPrintersTip = Procurar uma impressora -Menu.AdminToolsTip = Definir configurações administrativas para o computador. -Menu.ShutdownTip = Fecha todos os programas, desliga o Windows e desliga o computador. -Menu.RestartTip = Fecha todos os programas, desliga o Windows e o reinicia. -Menu.SleepTip = Mantém a sua sessão na memória e coloca o computador em um estado de baixa energia para que você possa reiniciar rapidamente o trabalho. -Menu.HibernateTip = Salva sua sessão e desliga o computador. Quando você liga o computador novamente, o Windows restaura a sessão. -Menu.LogOffTip = Fechar todos os programas e fazer logoff. -Menu.DisconnectTip = Desconecta a sessão. Você pode reconectá-la quando fizer logon novamente. -Menu.LockTip = Bloquear este computador. -Menu.UndockTip = Remove o laptop ou notebook de uma base de encaixe. -Menu.SwitchUserTip = Alternar os usuários sem fechar os programas. -Menu.Empty = (Vazio) -Menu.Features = Programas e Recursos -Menu.FeaturesTip = Desinstalar ou alterar programas do computador. -Menu.SearchPeople = Para &Pessoas... -Menu.SortByName = C&lassificar por nome -Menu.Open = &Abrir -Menu.OpenAll = A&brir a pasta All Users -Menu.Explore = E&xplorar -Menu.ExploreAll = Expl&orar a pasta All Users -Menu.MenuSettings = Configurações -Menu.MenuHelp = Ajuda -Menu.MenuExit = Sair -Menu.LogoffTitle = Fazer Logoff do Windows -Menu.LogoffPrompt = Tem certeza de que deseja fazer logoff? -Menu.LogoffYes = Faz&er Logoff -Menu.LogoffNo = &Não -Menu.RenameTitle = Renomear -Menu.RenamePrompt = &Novo nome: -Menu.RenameOK = OK -Menu.RenameCancel = Cancelar -Menu.Organize = Organizar o menu Iniciar -Menu.Expand = E&xpandir -Menu.Collapse = &Recolher -Menu.NewFolder = Nova Pasta -Menu.NewShortcut = Novo Atalho -Menu.AutoArrange = Organi&zar Automaticamente -Menu.ActionOpen = Abrir -Menu.ActionClose = Fechar -Menu.ActionExecute = Executar -Menu.RemoveList = Remover desta &lista -Menu.RemoveAll = &Limpar lista de itens recentes -Menu.Explorer = Windows Explorer -Menu.Start = Iniciar -Menu.StartScreen = Tela Inicial -Menu.StartMenu = Menu Iniciar (Windows) -Menu.PinStart = Fixar no Menu Iniciar -Menu.PinStartCs = Fixar no Menu Iniciar (Open-Shell) -Menu.UnpinStartCs = Desafixar do Menu Iniciar (Open-Shell) -Menu.MonitorOff = Desativar o vídeo -Menu.RemoveHighlight = Remover Destaque -Menu.Uninstall = &Desinstalar -Menu.UninstallTitle = Desinstalar -Menu.UninstallPrompt = Tem certeza de que deseja desinstalar %s? -Search.CategorySettings = Configurações -Search.CategoryPCSettings = Configurações do computador -Search.CategoryPrograms = Programas -Search.CategoryDocuments = Documentos -Search.CategoryMusic = Músicas -Search.CategoryPictures = Imagens -Search.CategoryVideos = Vídeos -Search.CategoryFiles = Arquivos -Search.CategoryInternet = Internet -JumpList.Recent = Recentes -JumpList.Frequent = Frequente -JumpList.Tasks = Tarefas -JumpList.Pinned = Fixo -JumpList.Pin = In&cluir nesta lista -JumpList.Unpin = &Tirar desta lista -JumpList.Remove = Remover desta &lista -JumpList.PinTip = Incluir nesta lista -JumpList.UnpinTip = Tirar desta lista - - -[pt-PT] - Portuguese (Portugal) -Menu.Programs = &Programas -Menu.Apps = Aplicações -Menu.AllPrograms = Todos os Programas -Menu.Back = Anterior -Menu.Favorites = &Favoritos -Menu.Documents = &Documentos -Menu.Settings = Defi&nições -Menu.Search = Pro&curar -Menu.SearchBox = Procurar -Menu.SearchPrograms = Procurar programas e ficheiros -Menu.SearchInternet = Procurar na Internet -Menu.Searching = A procurar... -Menu.NoMatch = Nenhum item corresponde à pesquisa. -Menu.MoreResults = Ver mais resultados -Menu.Help = &Ajuda e suporte -Menu.Run = E&xecutar... -Menu.Logoff = &Terminar sessão de %s -Menu.SwitchUser = M&udar de utilizador -Menu.Lock = &Bloquear -Menu.LogOffShort = &Terminar sessão -Menu.Undock = D&esancorar -Menu.Disconnect = Des&ligar -Menu.ShutdownBox = Ence&rrar... -Menu.Shutdown = &Encerrar -Menu.Restart = &Reiniciar -Menu.ShutdownUpdate = Atualizar e encerrar -Menu.RestartUpdate = Atualizar e reiniciar -Menu.Sleep = &Suspender -Menu.Hibernate = &Hibernar -Menu.ControlPanel = &Painel de controlo -Menu.PCSettings = Definições do PC -Menu.Security = Segurança do Windows -Menu.Network = &Ligações de rede -Menu.Printers = &Impressoras -Menu.Taskbar = &Barra de tarefas e menu Iniciar -Menu.SearchFiles = &Ficheiros ou Pastas... -Menu.SearchPrinter = &Impressora -Menu.SearchComputers = &Computadores -Menu.UserFilesTip = Contém pastas de Documentos, Imagens, Música e outros ficheiros que lhe pertençam. -Menu.UserDocumentsTip = Contém cartas, relatórios e outros documentos e ficheiros. -Menu.UserPicturesTip = Contém fotografias digitais, imagens e ficheiros gráficos. -Menu.UserMusicTip = Contém música e outros ficheiros de áudio. -Menu.UserVideosTip = Contém filmes e outros ficheiros de vídeo. -Menu.NetworkTip = Mostra as ligações de rede existentes neste computador e ajuda a criar novas ligações -Menu.PrintersTip = Adiciona, remove e configura impressoras locais e de rede. -Menu.TaskbarTip = Personalize o menu Iniciar e a barra de tarefas, por exemplo, o tipo de itens a apresentar e o modo como devem ser apresentados. -Menu.ControlPanelTip = Alterar as definições e personalizar a funcionalidade do computador. -Menu.DocumentsLibTip = Aceder a cartas, relatórios, notas e outros tipos de documentos. -Menu.MusicLibTip = Reproduzir música e outros ficheiros de áudio. -Menu.PicturesLibTip = Ver e organizar imagens digitais. -Menu.VideosLibTip = Assistir a filmes domésticos e a outros vídeos digitais. -Menu.RecordingsLibTip = Assistir a programas de TV gravados no computador. -Menu.DownloadTip = Localizar transferências e hiperligações para Web sites favoritos. -Menu.HomegroupTip = Aceda a bibliotecas e pastas partilhadas por outras pessoas no grupo doméstico. -Menu.RunTip = Abre um programa, pasta, documento ou Web site. -Menu.HelpTip = Localizar tópicos de Ajuda, iniciações, resolução de problemas e outros serviços de suporte. -Menu.ProgramsTip = Abre uma lista dos seus programas. -Menu.SearchFilesTip = Procurar documentos, música, imagens, correio electrónico e muito mais. -Menu.GamesTip = Jogar e gerir os jogos existentes no computador. -Menu.SecurityTip = Iniciar Opções de Segurança do Windows para Alterar Palavra-passe, Mudar de Utilizador ou Iniciar o Gestor de Tarefas. -Menu.SearchComputersTip = Procurar computadores na rede -Menu.SearchPrintersTip = Procurar impressora -Menu.AdminToolsTip = Configura definições administrativas para o computador. -Menu.ShutdownTip = Fecha todos os programas abertos, encerra o Windows e, em seguida, desliga o computador. -Menu.RestartTip = Fecha todos os programas abertos, encerra o Windows e, em seguida, inicia novamente o Windows. -Menu.SleepTip = Mantém a sessão em memória e coloca o computador num estado de baixo consumo para poder retomar o trabalho rapidamente. -Menu.HibernateTip = Guarda a sessão e desliga o computador. Quando ligar o computador, o Windows vai restaurar a sessão. -Menu.LogOffTip = Fecha programas e termina sessão. -Menu.DisconnectTip = Desliga a sua sessão. Pode religar a esta sessão quando iniciar sessão novamente. -Menu.LockTip = Bloqueia este computador. -Menu.UndockTip = Remove o computador portátil de uma estação de ancoragem. -Menu.SwitchUserTip = Muda de utilizadores sem fechar os programas. -Menu.Empty = (Vazio) -Menu.Features = Programas e Funcionalidades -Menu.FeaturesTip = Desinstale ou altere programas no computador. -Menu.SearchPeople = &Pessoas... -Menu.SortByName = Ordenar pelo &nome -Menu.Open = &Abrir -Menu.OpenAll = A&brir All Users -Menu.Explore = E&xplorar -Menu.ExploreAll = Explorar All &Users -Menu.MenuSettings = Definições -Menu.MenuHelp = Ajuda -Menu.MenuExit = Sair -Menu.LogoffTitle = Terminar sessão no Windows -Menu.LogoffPrompt = Tem a certeza de que pretende terminar a sessão? -Menu.LogoffYes = &Terminar sessão -Menu.LogoffNo = &Não -Menu.RenameTitle = Mudar o nome -Menu.RenamePrompt = &Novo nome: -Menu.RenameOK = OK -Menu.RenameCancel = Cancelar -Menu.Organize = Organizar o menu Iniciar -Menu.Expand = E&xpandir -Menu.Collapse = &Fechar -Menu.NewFolder = Nova pasta -Menu.NewShortcut = Novo atalho -Menu.AutoArrange = Dispor au&tomaticamente -Menu.ActionOpen = Abrir -Menu.ActionClose = Fechar -Menu.ActionExecute = Executar -Menu.RemoveList = Remover &desta lista -Menu.RemoveAll = &Limpar lista de itens recentes -Menu.Explorer = Explorador do Windows -Menu.Start = Iniciar -Menu.StartScreen = Ecrã Iniciar -Menu.StartMenu = Menu Iniciar (Windows) -Menu.PinStart = Afixar no menu Iniciar -Menu.PinStartCs = Afixar no menu Iniciar (Open-Shell) -Menu.UnpinStartCs = Remover do menu Iniciar (Open-Shell) -Menu.MonitorOff = Desligar a visualização -Menu.RemoveHighlight = Remover destaque -Menu.Uninstall = D&esinstalar -Menu.UninstallTitle = Desinstalar -Menu.UninstallPrompt = Tem a certeza de que pretende desinstalar %s? -Search.CategorySettings = Definições -Search.CategoryPCSettings = Definições do PC -Search.CategoryPrograms = Programas -Search.CategoryDocuments = Documentos -Search.CategoryMusic = Música -Search.CategoryPictures = Imagens -Search.CategoryVideos = Vídeos -Search.CategoryFiles = Ficheiros -Search.CategoryInternet = Internet -JumpList.Recent = Recente -JumpList.Frequent = Frequente -JumpList.Tasks = Tarefas -JumpList.Pinned = Fixado -JumpList.Pin = Afi&xar nesta lista -JumpList.Unpin = &Remover desta lista -JumpList.Remove = Remover &desta lista -JumpList.PinTip = Afixar nesta lista -JumpList.UnpinTip = Remover desta lista - - -[ro-RO] - Romanian (Romania) -Menu.Programs = &Programe -Menu.Apps = Aplicații -Menu.AllPrograms = Toate programele -Menu.Back = Înapoi -Menu.Favorites = Pre&ferințe -Menu.Documents = D&ocumente -Menu.Settings = &Setări -Menu.Search = &Căutare -Menu.SearchBox = Căutare -Menu.SearchPrograms = Căutare programe și fișiere -Menu.SearchInternet = Căutare pe Internet -Menu.Searching = Se caută... -Menu.NoMatch = Niciun element nu corespunde căutării. -Menu.MoreResults = Mai multe rezultate -Menu.Help = &Ajutor și asistență -Menu.Run = E&xecutare... -Menu.Logoff = &Log off %s -Menu.SwitchUser = &Comutare utilizatori -Menu.Lock = &Blocare -Menu.LogOffShort = &Log off -Menu.Undock = De&tașare computer -Menu.Disconnect = D&econectare -Menu.ShutdownBox = Î&nchidere... -Menu.Shutdown = Î&nchidere -Menu.Restart = &Repornire -Menu.ShutdownUpdate = Actualizare și închidere -Menu.RestartUpdate = Actualizare și repornire -Menu.Sleep = &Repaus -Menu.Hibernate = &Hibernare -Menu.ControlPanel = Pano&u de control -Menu.PCSettings = Setări PC -Menu.Security = Securitate Windows -Menu.Network = &Conexiuni în rețea -Menu.Printers = &Imprimante -Menu.Taskbar = Ba&ra de activități și meniu Start -Menu.SearchFiles = &Fișiere sau foldere... -Menu.SearchPrinter = I&mprimantă -Menu.SearchComputers = &Computere -Menu.UserFilesTip = Conține foldere pentru Documente, Imagini, Muzică și alte fișiere care vă aparțin. -Menu.UserDocumentsTip = Conține scrisori, rapoarte și alte documente și fișiere. -Menu.UserPicturesTip = Conține fotografii digitale, imagini și fișiere grafice. -Menu.UserMusicTip = Conține muzică și alte fișiere audio. -Menu.UserVideosTip = Conține filme și alte fișiere video. -Menu.NetworkTip = Afișează conexiunile existente în rețea și ajută la crearea unora noi -Menu.PrintersTip = Adăugare, eliminare și configurare imprimante locale și în rețea. -Menu.TaskbarTip = Se particularizează meniul Start și bara de stare, cum ar fi tipurile de elemente și modul lor de afișare. -Menu.ControlPanelTip = Modificați setările și particularizați funcționalitățile computerului. -Menu.DocumentsLibTip = Accesați scrisori, rapoarte, note și alte tipuri de documente. -Menu.MusicLibTip = Redați muzică și alte fișiere audio. -Menu.PicturesLibTip = Vizualizați și organizați imaginile digitale. -Menu.VideosLibTip = Vizionați filme făcute în casă și alte materiale video digitale. -Menu.RecordingsLibTip = Vizionați programe TV înregistrate pe computer. -Menu.DownloadTip = Găsiți descărcări Internet și linkuri la site-urile Web preferate. -Menu.HomegroupTip = Accesați bibliotecile și folderele partajate de alte persoane din grupul de domiciliu. -Menu.RunTip = Se deschide un program, un folder, un document sau un site Web. -Menu.HelpTip = Găsiți subiecte de ajutor, asistenți de instruire, depanare și alte servicii de asistență. -Menu.ProgramsTip = Se deschide o listă de programe. -Menu.SearchFilesTip = Se caută documente, muzică, imagini, mesaje de poștă electronică și altele. -Menu.GamesTip = Jucați și gestionați jocuri pe computer. -Menu.SecurityTip = Lansați Opțiuni de securitate Windows pentru a modifica parola, pentru a comuta la alt utilizator sau pentru a porni Manager activități. -Menu.SearchComputersTip = Căutare computere în rețea -Menu.SearchPrintersTip = Căutare imprimantă -Menu.AdminToolsTip = Configurare setări de administrare pe acest computer. -Menu.ShutdownTip = Închide toate programele deschise, închide Windows, apoi oprește computerul. -Menu.RestartTip = Închide toate programele deschise, închide Windows, apoi pornește din nou Windows. -Menu.SleepTip = Păstrează sesiunea în memorie și pune computerul într-o stare cu alimentare redusă, astfel încât aveți posibilitatea să reluați rapid lucrul. -Menu.HibernateTip = Salvează sesiunea și închide computerul. Când deschideți computerul, Windows restaurează sesiunea. -Menu.LogOffTip = Închide programele și face logoff. -Menu.DisconnectTip = Sesiunea se deconectează. Aveți posibilitatea să vă reconectați la această sesiune atunci când faceți din nou Log on. -Menu.LockTip = Blochează acest computer. -Menu.UndockTip = Deconectează laptopul sau computerul portabil dintr-o stație de andocare. -Menu.SwitchUserTip = Comută între utilizatori fără a închide programele. -Menu.Empty = (Gol) -Menu.Features = Programe și caracteristici -Menu.FeaturesTip = Dezinstalează sau modifică programe de pe computer. -Menu.SearchPeople = &Persoane... -Menu.SortByName = &Sortare după nume -Menu.Open = &Deschidere -Menu.OpenAll = Desc&hidere Toți utilizatorii -Menu.Explore = &Explorare -Menu.ExploreAll = E&xplorare Toți utilizatorii -Menu.MenuSettings = Setări -Menu.MenuHelp = Ajutor -Menu.MenuExit = Ieșire -Menu.LogoffTitle = Log off din Windows -Menu.LogoffPrompt = Sigur faceți logoff? -Menu.LogoffYes = &Log off -Menu.LogoffNo = &Nu -Menu.RenameTitle = Redenumire -Menu.RenamePrompt = &Nume nou: -Menu.RenameOK = OK -Menu.RenameCancel = Revocare -Menu.Organize = Organizare meniu Start -Menu.Expand = E&xtindere -Menu.Collapse = &Restrângere -Menu.NewFolder = Folder nou -Menu.NewShortcut = Comandă rapidă nouă -Menu.AutoArrange = Aran&jare automată -Menu.ActionOpen = Deschidere -Menu.ActionClose = Închidere -Menu.ActionExecute = Executare -Menu.RemoveList = Eliminare &din această listă -Menu.RemoveAll = &Golire Listă elemente recente -Menu.Explorer = Windows Explorer -Menu.Start = Start -Menu.StartScreen = Ecranul de Start -Menu.StartMenu = Meniu Start (Windows) -Menu.PinStart = Fixare la meniul Start -Menu.PinStartCs = Fixare la meniul Start (Open-Shell) -Menu.UnpinStartCs = Anulare fixare la meniul Start (Open-Shell) -Menu.MonitorOff = Dezactivare ecranului -Menu.RemoveHighlight = Eliminare evidențiere -Menu.Uninstall = &Dezinstalare -Menu.UninstallTitle = Dezinstalare -Menu.UninstallPrompt = Sigur dezinstalați %s? -Search.CategorySettings = Setări -Search.CategoryPCSettings = Setări PC -Search.CategoryPrograms = Programe -Search.CategoryDocuments = Documente -Search.CategoryMusic = Muzică -Search.CategoryPictures = Imagini -Search.CategoryVideos = Video -Search.CategoryFiles = Fișiere -Search.CategoryInternet = Internet -JumpList.Recent = Recent -JumpList.Frequent = Frecvent -JumpList.Tasks = Activități -JumpList.Pinned = Fixat -JumpList.Pin = F&ixare la această listă -JumpList.Unpin = An&ulare fixare la această listă -JumpList.Remove = Eliminare &din această listă -JumpList.PinTip = Fixare la această listă -JumpList.UnpinTip = Anulare fixare la această listă - - -[ru-RU] - Russian (Russia) -Menu.Programs = &Программы -Menu.Apps = Приложения -Menu.AllPrograms = Все программы -Menu.Back = Назад -Menu.Favorites = &Избранное -Menu.Documents = &Документы -Menu.Settings = Н&астройка -Menu.Search = &Найти -Menu.SearchBox = Найти -Menu.SearchPrograms = Найти программы и файлы -Menu.SearchInternet = Поиск в Интернете -Menu.Searching = Идет поиск... -Menu.NoMatch = Нет элементов, удовлетворяющих условиям поиска. -Menu.MoreResults = Ознакомиться с другими результатами -Menu.Help = &Справка и поддержка -Menu.Run = &Выполнить... -Menu.Logoff = Завер&шение сеанса %s -Menu.SwitchUser = См&енить пользователя -Menu.Lock = &Блокировать -Menu.LogOffShort = Завер&шение сеанса -Menu.Undock = Отстыковать &компьютер -Menu.Disconnect = Отклю&чить -Menu.ShutdownBox = &Завершение работы... -Menu.Shutdown = &Завершение работы -Menu.Restart = &Перезагрузка -Menu.ShutdownUpdate = Обновить и завершить работу -Menu.RestartUpdate = Обновить и перезагрузить -Menu.Sleep = &Сон -Menu.Hibernate = &Гибернация -Menu.ControlPanel = П&анель управления -Menu.PCSettings = Параметры ПК -Menu.Security = Безопасность Windows -Menu.Network = С&етевые подключения -Menu.Printers = &Принтеры -Menu.Taskbar = Панель &задач и меню "Пуск" -Menu.SearchFiles = &Файлы и папки... -Menu.SearchPrinter = &Принтер -Menu.SearchComputers = &Компьютеры -Menu.UserFilesTip = Содержит папки для документов, фотографий и изображений, музыки и других принадлежащих вам файлов. -Menu.UserDocumentsTip = Содержит письма, отчеты и другие документы и файлы. -Menu.UserPicturesTip = Содержит цифровые фотографии, рисунки, графические файлы. -Menu.UserMusicTip = Содержит музыкальные и звуковые файлы. -Menu.UserVideosTip = Содержит фильмы и видеофайлы. -Menu.NetworkTip = Отображение сетевых подключений для этого компьютера и создание новых подключений -Menu.PrintersTip = Добавление, удаление и настройка локальных и сетевых принтеров -Menu.TaskbarTip = Настройка меню ''Пуск'' и панели задач, например, изменение списка отображаемых элементов и внешнего вида. -Menu.ControlPanelTip = Изменение параметров и настройка функциональных возможностей компьютера. -Menu.DocumentsLibTip = Доступ к письмам, отчетам, заметкам и другим видам документов. -Menu.MusicLibTip = Проигрывание музыки и других аудиофайлов. -Menu.PicturesLibTip = Просмотр и упорядочение цифровых изображений. -Menu.VideosLibTip = Просмотр фильмов и другого цифрового видео. -Menu.RecordingsLibTip = Просмотр записанных на компьютере телевизионных передач. -Menu.DownloadTip = Поиск ссылок на избранные веб-узлы и загрузка файлов из Интернета. -Menu.HomegroupTip = Доступ к библиотекам и папкам, общий доступ к которым предоставлен другими участниками домашней группы. -Menu.RunTip = Открытие программы, папки, документа или веб-сайта. -Menu.HelpTip = Поиск разделов справки, учебников, средств устранения неисправностей и других служб поддержки. -Menu.ProgramsTip = Отображение списка программ, установленных на этом компьютере. -Menu.SearchFilesTip = Поиск документов, музыки, изображений, писем и многое другое. -Menu.GamesTip = Играть в игры и управлять ими на этом компьютере. -Menu.SecurityTip = Открыть параметры безопасности Windows для смены пароля или пользователя, а также запуска диспетчера задач. -Menu.SearchComputersTip = Поиск компьютеров в сети -Menu.SearchPrintersTip = Поиск принтера -Menu.AdminToolsTip = Настройка параметров управления этого компьютера -Menu.ShutdownTip = Закрытие всех открытых программ, завершение работы Windows и выключение компьютера. -Menu.RestartTip = Закрытие всех открытых программ, завершение работы Windows и повторный запуск Windows. -Menu.SleepTip = Перевод компьютера в состояние пониженного энергопотребления и сохранение текущего сеанса в памяти, что позволяет быстро возобновить работу. -Menu.HibernateTip = Сохранение сеанса на диске и выключение компьютера. При включении компьютера Windows восстанавливает текущий сеанс. -Menu.LogOffTip = Закрытие программ и выход из системы. -Menu.DisconnectTip = Отключение текущего сеанса. Можно вновь подключиться к этому сеансу при выполнении входа. -Menu.LockTip = Блокировка этого компьютера. -Menu.UndockTip = Извлечение ноутбука из стыковочного узла. -Menu.SwitchUserTip = Смена пользователей без закрытия программ. -Menu.Empty = (пусто) -Menu.Features = Программы и компоненты -Menu.FeaturesTip = Удаление или изменение программ на этом компьютере. -Menu.SearchPeople = &Людей... -Menu.SortByName = &Сортировать по имени -Menu.Open = &Открыть -Menu.OpenAll = Открыть о&бщее для всех меню -Menu.Explore = &Проводник -Menu.ExploreAll = Проводни&к в общее для всех меню -Menu.MenuSettings = Настройка -Menu.MenuHelp = Справка -Menu.MenuExit = Выход -Menu.LogoffTitle = Выход из Windows -Menu.LogoffPrompt = Вы действительно хотите выйти из системы? -Menu.LogoffYes = В&ыход -Menu.LogoffNo = Н&ет -Menu.RenameTitle = Переименование -Menu.RenamePrompt = &Новое имя: -Menu.RenameOK = ОК -Menu.RenameCancel = Отмена -Menu.Organize = Упорядочение меню "Пуск" -Menu.Expand = &Развернуть -Menu.Collapse = &Свернуть -Menu.NewFolder = Новая папка -Menu.NewShortcut = Новый ярлык -Menu.AutoArrange = Выравнивать &автоматически -Menu.ActionOpen = Открыть -Menu.ActionClose = Закрыть -Menu.ActionExecute = Выполнить -Menu.RemoveList = Удалить &из этого списка -Menu.RemoveAll = &Очистить список последних элементов -Menu.Explorer = Проводник -Menu.Start = Пуск -Menu.StartScreen = Начальный экран -Menu.StartMenu = Меню "Пуск" (Windows) -Menu.PinStart = Закрепить в меню "Пуск" -Menu.PinStartCs = Закрепить в меню "Пуск" (Open-Shell) -Menu.UnpinStartCs = Изъять из меню "Пуск" (Open-Shell) -Menu.MonitorOff = Выключение экрана -Menu.RemoveHighlight = Выключить пометку -Menu.Uninstall = &Удалить -Menu.UninstallTitle = Удалить -Menu.UninstallPrompt = Вы действительно хотите удалить "%s"? -Search.CategorySettings = Параметры -Search.CategoryPCSettings = Параметры ПК -Search.CategoryPrograms = Программы -Search.CategoryDocuments = Документы -Search.CategoryMusic = Музыка -Search.CategoryPictures = Изображения -Search.CategoryVideos = Видео -Search.CategoryFiles = Файлы -Search.CategoryInternet = Интернет -JumpList.Recent = Последние -JumpList.Frequent = Часто используемые -JumpList.Tasks = Задачи -JumpList.Pinned = Закреплено -JumpList.Pin = &Закрепить в списке -JumpList.Unpin = &Изъять из списка -JumpList.Remove = Удалить &из этого списка -JumpList.PinTip = Закрепить в списке -JumpList.UnpinTip = Изъять из списка - - -[sk-SK] - Slovak (Slovakia) -Menu.Programs = Progra&my -Menu.Apps = Aplikácie -Menu.AllPrograms = Všetky programy -Menu.Back = Naspäť -Menu.Favorites = O&bľúbené položky -Menu.Documents = Do&kumenty -Menu.Settings = Nastav&enie -Menu.Search = &Hľadať -Menu.SearchBox = Hľadať -Menu.SearchPrograms = Prehľadať programy a súbory -Menu.SearchInternet = Hľadať na Internete -Menu.Searching = Hľadá sa... -Menu.NoMatch = Kritériám vyhľadávania nevyhovujú žiadne položky. -Menu.MoreResults = Zobraziť ďalšie výsledky -Menu.Help = &Pomoc a technická podpora -Menu.Run = Sp&ustiť... -Menu.Logoff = O&dhlásiť používateľa %s -Menu.SwitchUser = &Prepnúť používateľa -Menu.Lock = &Zamknúť -Menu.LogOffShort = Odh&lásiť -Menu.Undock = Vybr&ať počítač z doku -Menu.Disconnect = &Odpojiť -Menu.ShutdownBox = &Vypnúť... -Menu.Shutdown = &Vypnúť -Menu.Restart = &Reštartovať -Menu.ShutdownUpdate = Aktualizovať a vypnúť -Menu.RestartUpdate = Aktualizovať a reštartovať -Menu.Sleep = &Uspať -Menu.Hibernate = &Prepnúť do režimu dlhodobého spánku -Menu.ControlPanel = &Ovládací panel -Menu.PCSettings = Nastavenie PC -Menu.Security = Zabezpečenie systému Windows -Menu.Network = Sieťové pripoje&nia -Menu.Printers = &Tlačiarne -Menu.Taskbar = P&anel úloh a ponuka Štart -Menu.SearchFiles = &Súbory alebo priečinky... -Menu.SearchPrinter = &Tlačiarne -Menu.SearchComputers = &Počítače -Menu.UserFilesTip = Obsahuje priečinky pre dokumenty, obrázky, hudbu a ďalšie vaše súbory. -Menu.UserDocumentsTip = Obsahuje priečinok s listami, zostavami a inými dokumentmi a súbormi. -Menu.UserPicturesTip = Obsahuje digitálne fotografie, obrázky a grafické súbory. -Menu.UserMusicTip = Obsahuje hudbu a iné zvukové súbory. -Menu.UserVideosTip = Obsahuje filmy a iné videosúbory. -Menu.NetworkTip = Zobrazí existujúce sieťové pripojenia na tomto počítači a pomôže vytvoriť nové pripojenia. -Menu.PrintersTip = Pridá, odstráni a nakonfiguruje lokálne alebo sieťové tlačiarne. -Menu.TaskbarTip = Prispôsobí ponuku Štart a panel úloh, ako napríklad typy zobrazených položiek a spôsob ich zobrazenia. -Menu.ControlPanelTip = Umožňuje zmeniť nastavenia a prispôsobiť funkcie počítača. -Menu.DocumentsLibTip = Umožňuje získať prístup k listom, zostavám, poznámkam a ďalším typom dokumentov. -Menu.MusicLibTip = Umožňuje prehrávať hudbu a ďalšie zvukové súbory. -Menu.PicturesLibTip = Umožňuje zobraziť a usporiadať digitálne obrázky. -Menu.VideosLibTip = Umožňuje sledovať domáce filmy a ďalšie digitálne videá. -Menu.RecordingsLibTip = Umožňuje sledovať nahrané televízne programy v počítači. -Menu.DownloadTip = Umožňuje vyhľadať položky na prevzatie na Internete a prepojenia na obľúbené webové lokality. -Menu.HomegroupTip = Získajte prístup ku knižniciam a priečinkom, ktoré zdieľanú ostatné osoby v domácej skupine. -Menu.RunTip = Spustí program alebo otvorí priečinok, dokument alebo webovú lokalitu. -Menu.HelpTip = Umožňuje vyhľadať témy Pomocníka, kurzy, informácie pre riešenie problémov a ďalšie služby technickej podpory. -Menu.ProgramsTip = Zobrazí zoznam programov. -Menu.SearchFilesTip = Umožňuje vyhľadať dokumenty, hudbu, obrázky, e-maily a ďalšie položky. -Menu.GamesTip = Umožňuje hrať a spravovať hry v počítači. -Menu.SecurityTip = Ak chcete zmeniť heslo, prepnúť používateľa alebo spustiť Správcu úloh, otvorte okno Možnosti zabezpečenia systému Windows. -Menu.SearchComputersTip = Hľadať počítače v sieti -Menu.SearchPrintersTip = Hľadať tlačiareň -Menu.AdminToolsTip = Umožní konfigurovať nastavenia na správu počítača. -Menu.ShutdownTip = Zatvorí všetky otvorené programy, vypne systém Windows a vypne počítač. -Menu.RestartTip = Zatvorí všetky otvorené programy, vypne systém Windows a znovu ho spustí. -Menu.SleepTip = Uloží reláciu do pamäte a prepne počítač do režimu nízkej spotreby energie, z ktorého možno počítač kedykoľvek rýchlo zapnúť do pôvodného stavu. -Menu.HibernateTip = Uloží reláciu a vypne počítač. Keď ho zapnete, systém Windows obnoví reláciu. -Menu.LogOffTip = Zavrie programy a odhlási používateľa. -Menu.DisconnectTip = Odpojí reláciu. K relácii sa môžete opäť pripojiť pri ďalšom prihlásení. -Menu.LockTip = Zamkne tento počítač. -Menu.UndockTip = Odstráni prenosný počítač z doku. -Menu.SwitchUserTip = Prepne používateľov bez zatvorenia programov. -Menu.Empty = (Prázdne) -Menu.Features = Programy a súčasti -Menu.FeaturesTip = Odinštaluje alebo zmení programy v počítači. -Menu.SearchPeople = Ľu&dia... -Menu.SortByName = &Usporiadať podľa názvov -Menu.Open = &Otvoriť -Menu.OpenAll = Ot&voriť profil All Users -Menu.Explore = &Preskúmať -Menu.ExploreAll = P&reskúmať profil All Users -Menu.MenuSettings = Nastavenie -Menu.MenuHelp = Pomocník -Menu.MenuExit = Skončiť -Menu.LogoffTitle = Odhlásenie zo systému Windows -Menu.LogoffPrompt = Naozaj sa chcete odhlásiť? -Menu.LogoffYes = &Odhlásiť -Menu.LogoffNo = &Nie -Menu.RenameTitle = Premenovanie -Menu.RenamePrompt = &Nový názov: -Menu.RenameOK = OK -Menu.RenameCancel = Zrušiť -Menu.Organize = Usporiadanie ponuky Štart -Menu.Expand = &Rozbaliť -Menu.Collapse = Zb&aliť -Menu.NewFolder = Nový priečinok -Menu.NewShortcut = Nový odkaz -Menu.AutoArrange = Usporiadať &automaticky -Menu.ActionOpen = Otvoriť -Menu.ActionClose = Zavrieť -Menu.ActionExecute = Vykonať -Menu.RemoveList = Odstrániť &z tohto zoznamu -Menu.RemoveAll = &Vymazať zoznam naposledy použitých položiek -Menu.Explorer = Windows Prieskumník -Menu.Start = Štart -Menu.StartScreen = Domovská obrazovka -Menu.StartMenu = Ponuka Štart (Windows) -Menu.PinStart = Pripnúť položku do ponuky Štart -Menu.PinStartCs = Pripnúť položku do ponuky Štart (Open-Shell) -Menu.UnpinStartCs = Zrušiť pripnutie položky v ponuke Štart (Open-Shell) -Menu.MonitorOff = Vypnúť displej -Menu.RemoveHighlight = Odstrániť zvýraznenie -Menu.Uninstall = &Odinštalovať -Menu.UninstallTitle = Odinštalovať -Menu.UninstallPrompt = Naozaj chcete odinštalovať program %s? -Search.CategorySettings = Nastavenia -Search.CategoryPCSettings = Nastavenie PC -Search.CategoryPrograms = Programy -Search.CategoryDocuments = Dokumenty -Search.CategoryMusic = Hudba -Search.CategoryPictures = Obrázky -Search.CategoryVideos = Videá -Search.CategoryFiles = Súbory -Search.CategoryInternet = Internet -JumpList.Recent = Naposledy použité -JumpList.Frequent = Najčastejšie používané -JumpList.Tasks = Úlohy -JumpList.Pinned = Pripnuté -JumpList.Pin = Pr&ipnúť do tohto zoznamu -JumpList.Unpin = Zr&ušiť pripnutie v tomto zozname -JumpList.Remove = Odstrániť &z tohto zoznamu -JumpList.PinTip = Pripnúť do tohto zoznamu -JumpList.UnpinTip = Zrušiť pripnutie v tomto zozname - - -[sl-SI] - Slovenian (Slovenia) -Menu.Programs = Progr&ami -Menu.Apps = Programi -Menu.AllPrograms = Vsi programi -Menu.Back = Nazaj -Menu.Favorites = P&riljubljene -Menu.Documents = &Dokumenti -Menu.Settings = Nas&tavitve -Menu.Search = Is&kanje -Menu.SearchBox = Iskanje -Menu.SearchPrograms = Iskanje programov in datotek -Menu.SearchInternet = Preišči internet -Menu.Searching = Iskanje ... -Menu.NoMatch = Vašemu iskanju ne ustreza noben element. -Menu.MoreResults = Pokaži več rezultatov -Menu.Help = &Pomoč in podpora -Menu.Run = &Zaženi ... -Menu.Logoff = &Odjavi %s -Menu.SwitchUser = P&reklopi med uporabniki -Menu.Lock = Z&akleni -Menu.LogOffShort = &Odjava -Menu.Undock = Razdr&uži računalnik -Menu.Disconnect = Pr&ekini povezavo -Menu.ShutdownBox = Zaustavitev &sistema ... -Menu.Shutdown = &Zaustavitev sistema -Menu.Restart = &Vnovični zagon -Menu.ShutdownUpdate = Posodobi in zaustavi -Menu.RestartUpdate = Posodobi in zaženi znova -Menu.Sleep = &Mirovanje -Menu.Hibernate = &Hibernacija -Menu.ControlPanel = &Nadzorna plošča -Menu.PCSettings = Nastavitve računalnika -Menu.Security = Varnost sistema Windows -Menu.Network = &Omrežne povezave -Menu.Printers = &Tiskalniki -Menu.Taskbar = Op&ravilna vrstica in meni »Start« -Menu.SearchFiles = &Datotek ali map ... -Menu.SearchPrinter = &Tiskalnika -Menu.SearchComputers = &Računalnikov -Menu.UserFilesTip = Vsebuje mape za dokumente, slike, glasbo in druge datoteke v vaši lasti. -Menu.UserDocumentsTip = Vsebuje pisma, poročila in druge dokumente ter datoteke. -Menu.UserPicturesTip = Vsebuje digitalne fotografije, slike in grafične datoteke. -Menu.UserMusicTip = Vsebuje glasbo in druge zvočne datoteke. -Menu.UserVideosTip = Vsebuje filme in druge videodatoteke. -Menu.NetworkTip = Prikaže obstoječe omrežne povezave v tem računalniku in vam pomaga ustvarjati nove -Menu.PrintersTip = Doda, odstrani in konfigurira lokalne ter omrežne tiskalnike. -Menu.TaskbarTip = Prilagodi meni »Start« in opravilno vrstico, kot so vrste elementov, ki naj se prikažejo, ter način njihovega prikaza. -Menu.ControlPanelTip = Spremenite nastavitve in prilagodite način delovanja računalnika. -Menu.DocumentsLibTip = Dostopajte do pisem, poročil, obvestil in drugih vrst dokumentov. -Menu.MusicLibTip = Predvajajte glasbene in druge zvočne datoteke. -Menu.PicturesLibTip = Oglejte si digitalne slike in jih razvrstite. -Menu.VideosLibTip = Glejte domače filme in druge digitalne videe. -Menu.RecordingsLibTip = Glejte TV-programe, posnete v računalniku. -Menu.DownloadTip = Poiščite prenose iz interneta in povezave do priljubljenih spletnih mest. -Menu.HomegroupTip = Dostop do knjižnic in map, za katere skupno rabo omogočijo druge osebe v domači skupini. -Menu.RunTip = Odpre program, mapo, dokument ali spletno mesto. -Menu.HelpTip = Poiščite teme pomoči, vadnice, odpravljanje težav in druge storitve za podporo. -Menu.ProgramsTip = Prikaže seznam vaših programov. -Menu.SearchFilesTip = Poiščite dokumente, glasbo, slike, e-pošto in še kaj. -Menu.GamesTip = Igranje in upravljanje nameščenih iger v računalniku. -Menu.SecurityTip = Zaženite možnosti varnosti sistema Windows, če želite spremeniti geslo, preklopiti med uporabniki ali zagnati upravitelja opravil. -Menu.SearchComputersTip = Iskanje računalnikov v omrežju -Menu.SearchPrintersTip = Iskanje tiskalnika -Menu.AdminToolsTip = Konfigurira računalnikove skrbniške nastavitve. -Menu.ShutdownTip = Zapre vse odprte programe, zaustavi sistem Windows in nato izklopi računalnik. -Menu.RestartTip = Zapre vse odprte programe, zaustavi sistem Windows in ga nato znova zažene. -Menu.SleepTip = Ohrani vašo sejo v pomnilniku in postavi računalnik v stanje nizke porabe, tako da lahko hitro nadaljujete delo. -Menu.HibernateTip = Shrani vašo sejo in izklopi računalnik. Ko računalnik vklopite, sistem Windows obnovi vašo sejo. -Menu.LogOffTip = Zapri programe in se odjavi. -Menu.DisconnectTip = Prekine povezavo s sejo. Znova jo lahko vzpostavite po prijavi. -Menu.LockTip = Zakleni ta računalnik. -Menu.UndockTip = Odstrani prenosni računalnik iz združitvene postaje. -Menu.SwitchUserTip = Preklop med uporabniki, ne da bi se programi zaprli. -Menu.Empty = (Prazno) -Menu.Features = Programi in funkcije -Menu.FeaturesTip = Odstranitev ali spreminjanje programov v računalniku. -Menu.SearchPeople = &Za osebe ... -Menu.SortByName = &Razvrsti po imenih -Menu.Open = &Odpri -Menu.OpenAll = O&dpri mapo »All users« -Menu.Explore = R&azišči -Menu.ExploreAll = &Razišči mapo »All users« -Menu.MenuSettings = Nastavitve -Menu.MenuHelp = Pomoč -Menu.MenuExit = Izhod -Menu.LogoffTitle = Odjava iz sistema Windows -Menu.LogoffPrompt = Ali ste prepričani, da se želite odjaviti? -Menu.LogoffYes = &Odjavi se -Menu.LogoffNo = &Ne -Menu.RenameTitle = Preimenuj -Menu.RenamePrompt = &Novo ime: -Menu.RenameOK = V redu -Menu.RenameCancel = Prekliči -Menu.Organize = Organiziraj meni Start -Menu.Expand = R&azširi -Menu.Collapse = &Strni -Menu.NewFolder = Nova mapa -Menu.NewShortcut = Nova bližnjica -Menu.AutoArrange = Samod&ejno razporedi -Menu.ActionOpen = Odpri -Menu.ActionClose = Zapri -Menu.ActionExecute = Izvedi -Menu.RemoveList = Od&strani s tega seznama -Menu.RemoveAll = &Izbriši seznam nedavnih elementov -Menu.Explorer = Raziskovalec -Menu.Start = Start -Menu.StartScreen = Začetni zaslon -Menu.StartMenu = Meni »Start« (Windows) -Menu.PinStart = Pripni v meni »Start« -Menu.PinStartCs = Pripni v meni »Start«. (Open-Shell) -Menu.UnpinStartCs = Odpni iz menija »Start«. (Open-Shell) -Menu.MonitorOff = Izklopi prikaz -Menu.RemoveHighlight = Odstrani označitev -Menu.Uninstall = &Odstrani -Menu.UninstallTitle = Odstrani -Menu.UninstallPrompt = Ali ste prepričani, da želite odstraniti %s? -Search.CategorySettings = Nastavitve -Search.CategoryPCSettings = Nastavitve računalnika -Search.CategoryPrograms = Programi -Search.CategoryDocuments = Dokumenti -Search.CategoryMusic = Glasba -Search.CategoryPictures = Slike -Search.CategoryVideos = Videi -Search.CategoryFiles = Datoteke -Search.CategoryInternet = Internet -JumpList.Recent = Nedavno -JumpList.Frequent = Pogosto -JumpList.Tasks = Opravila -JumpList.Pinned = Pripeto -JumpList.Pin = &Pripni na ta seznam -JumpList.Unpin = &Odpni s tega seznama -JumpList.Remove = Od&strani s tega seznama -JumpList.PinTip = Pripni na ta seznam -JumpList.UnpinTip = Odpni s tega seznama - - -[sr-Latn-CS] - Serbian (Latin, Serbia) -Menu.Programs = &Programi -Menu.Apps = Aplikacije -Menu.AllPrograms = Svi programi -Menu.Back = Nazad -Menu.Favorites = Omiljene& lokacije -Menu.Documents = &Dokumenti -Menu.Settings = Postavk&e -Menu.Search = Pre&traži -Menu.SearchBox = Pretraži -Menu.SearchPrograms = Pretraži programe i datoteke -Menu.SearchInternet = Pretraži Internet -Menu.Searching = Pretraživanje... -Menu.NoMatch = Nijedna stavka se ne podudara sa pretragom. -Menu.MoreResults = Pogledajte više rezultata -Menu.Help = Po&moć i podrška -Menu.Run = Po&kreni... -Menu.Logoff = &Odjavi se sa %s -Menu.SwitchUser = P&romeni korisnika -Menu.Lock = Z&aključaj -Menu.LogOffShort = &Odjavi se -Menu.Undock = Odvoji računar od &bazne stanice -Menu.Disconnect = Prekini &vezu -Menu.ShutdownBox = &Isključi... -Menu.Shutdown = &Isključi -Menu.Restart = &Ponovo pokreni -Menu.ShutdownUpdate = Ažuriraj i isključi -Menu.RestartUpdate = Ažuriraj i ponovo pokreni -Menu.Sleep = &Stanje spavanja -Menu.Hibernate = &U stanju hibernacije -Menu.ControlPanel = &Kontrolna tabla -Menu.PCSettings = Postavke računara -Menu.Security = Windows bezbednost -Menu.Network = &Mrežne veze -Menu.Printers = Št&ači -Menu.Taskbar = &Traka zadataka i „Start“ meni -Menu.SearchFiles = &Za datoteke i fascikle... -Menu.SearchPrinter = &Za štampač -Menu.SearchComputers = &Za računare -Menu.UserFilesTip = Sadrži fascikle za dokumente, slike, muziku i druge datoteke koje vam pripadaju. -Menu.UserDocumentsTip = Sadrži pisma, izveštaje i druge dokumente i datoteke. -Menu.UserPicturesTip = Sadrži digitalne fotografije, slike i grafičke datoteke. -Menu.UserMusicTip = Sadrži muziku i druge audio datoteke. -Menu.UserVideosTip = Sadrži filmove i druge video datoteke. -Menu.NetworkTip = Prikazuje postojeće mrežne veze ovog računara i pomaže pri kreiranju novih -Menu.PrintersTip = Dodajte, uklonite i konfigurišite lokalne i mrežne štampače. -Menu.TaskbarTip = Prilagodite „Start“ meni i traku zadataka, npr. tipove stavki koje će biti prikazane i način njihovog pojavljivanja. -Menu.ControlPanelTip = Promenite postavke i prilagodite funkcionalnost računara. -Menu.DocumentsLibTip = Pristupajte pismima, izveštajima, beleškama i drugim vrstama dokumenata. -Menu.MusicLibTip = Reprodukujte muziku i druge zvučne datoteke. -Menu.PicturesLibTip = Prikazujte i organizujte digitalne slike. -Menu.VideosLibTip = Gledajte kućne filmove i druge digitalne video zapise. -Menu.RecordingsLibTip = Gledajte TV programe snimljene na računaru. -Menu.DownloadTip = Pronađite Internet preuzimanja i veze ka omiljenim Veb lokacijama. -Menu.HomegroupTip = Pristupite bibliotekama i fasciklama koje dele druge osobe u matičnoj grupi. -Menu.RunTip = Otvara program, fasciklu, dokument ili Veb lokaciju. -Menu.HelpTip = Pronađite teme pomoći, podučavanja, rešavanje problema i druge usluge podrške. -Menu.ProgramsTip = Otvara listu programa. -Menu.SearchFilesTip = Tražite dokumente, muziku, slike, e-poštu i još mnogo toga. -Menu.GamesTip = Igrajte i upravljajte igrama na računaru. -Menu.SecurityTip = Pokrenite Windows opcije bezbednosti da biste promenili lozinku, promenili korisnika ili pokrenuli upravljač zadacima. -Menu.SearchComputersTip = Pronađi računare u mreži -Menu.SearchPrintersTip = Pronađi štampač -Menu.AdminToolsTip = Konfigurišite administrativne postavke na svom računaru. -Menu.ShutdownTip = Zatvara sve otvorene programe, isključuje Windows i zatim isključuje računar. -Menu.RestartTip = Zatvara sve otvorene programe, isključuje Windows i zatim ponovo pokreće Windows. -Menu.SleepTip = Čuva sesiju u memoriji i stavlja računar u stanje niske potrošnje tako da možete brzo da nastavite sa radom. -Menu.HibernateTip = Čuva sesiju i isključuje računar. Kada uključite računar, Windows vraća sesiju u prethodno stanje. -Menu.LogOffTip = Zatvori programe i odjavi se. -Menu.DisconnectTip = Prekida vezu sesije. Možete se ponovo povezati sa sesijom kad se ponovo prijavite. -Menu.LockTip = Zaključaj ovaj računar. -Menu.UndockTip = Uklanja laptop ili notebook računar sa bazne stanice. -Menu.SwitchUserTip = Promeni korisnike bez zatvaranja programa. -Menu.Empty = (Prazno) -Menu.Features = Programi i funkcije -Menu.FeaturesTip = Deinstalirajte ili promenite programe na računaru. -Menu.SearchPeople = &Za osobe... -Menu.SortByName = &Sortiraj po imenu -Menu.Open = &Otvori -Menu.OpenAll = O&tvori sve korisnike -Menu.Explore = &Istraži -Menu.ExploreAll = Istraži sve &korisnike -Menu.MenuSettings = Postavke -Menu.MenuHelp = Pomoć -Menu.MenuExit = Izađi -Menu.LogoffTitle = Odjava iz Windowsa -Menu.LogoffPrompt = Želite li zaista da se odjavite? -Menu.LogoffYes = &Odjavi se -Menu.LogoffNo = &Ne -Menu.RenameTitle = Preimenovanje -Menu.RenamePrompt = &Novo ime: -Menu.RenameOK = U redu -Menu.RenameCancel = Otkaži -Menu.Organize = Organizovanje menija „Start“ -Menu.Expand = R&azvij -Menu.Collapse = Sk&upi -Menu.NewFolder = Nova fascikla -Menu.NewShortcut = Nova prečica -Menu.AutoArrange = Rasporedi &automatski -Menu.ActionOpen = Otvori -Menu.ActionClose = Zatvori -Menu.ActionExecute = Izvrši -Menu.RemoveList = &Ukloni sa ovog spiska -Menu.RemoveAll = O&briši listu nedavno korišćenih stavki -Menu.Explorer = Windows Explorer -Menu.Start = Pokreni -Menu.StartScreen = Početni ekran -Menu.StartMenu = „Start“ meni (Windows) -Menu.PinStart = Dodaj u „Start“ meni -Menu.PinStartCs = Dodaj u „Start“ meni (Open-Shell) -Menu.UnpinStartCs = Ukloni iz „Start“ menija (Open-Shell) -Menu.MonitorOff = Isključi displej -Menu.RemoveHighlight = Ukloni istaknuti sadržaj -Menu.Uninstall = &Deinstaliraj -Menu.UninstallTitle = Deinstaliraj -Menu.UninstallPrompt = Želite li zaista da deinstalirate %s? -Search.CategorySettings = Postavke -Search.CategoryPCSettings = Postavke računara -Search.CategoryPrograms = Programs -Search.CategoryDocuments = Dokumenti -Search.CategoryMusic = Muzika -Search.CategoryPictures = Slike -Search.CategoryVideos = Video zapisi -Search.CategoryFiles = Datoteke -Search.CategoryInternet = Internet -JumpList.Recent = Nedavno -JumpList.Frequent = Često -JumpList.Tasks = Zadaci -JumpList.Pinned = Dodato -JumpList.Pin = Zakač&i na ovu listu -JumpList.Unpin = &Otkači sa ove liste -JumpList.Remove = U&kloni sa ovog spiska -JumpList.PinTip = Zakači na ovu listu -JumpList.UnpinTip = Otkači sa ove liste - - -[sv-SE] - Swedish (Sweden) -Menu.Programs = &Program -Menu.Apps = Appar -Menu.AllPrograms = Alla program -Menu.Back = Föregående -Menu.Favorites = &Favoriter -Menu.Documents = &Dokument -Menu.Settings = &Inställningar -Menu.Search = &Sök -Menu.SearchBox = Sök -Menu.SearchPrograms = Sök bland program och filer -Menu.SearchInternet = Sök på Internet -Menu.Searching = Söker... -Menu.NoMatch = Inga objekt matchade sökningen. -Menu.MoreResults = Visa fler resultat -Menu.Help = &Hjälp och support -Menu.Run = K&ör... -Menu.Logoff = &Logga ut %s -Menu.SwitchUser = &Växla användare -Menu.Lock = L&ås -Menu.LogOffShort = &Logga ut -Menu.Undock = K&oppla från datorn -Menu.Disconnect = Koppla fr&ån -Menu.ShutdownBox = &Avsluta... -Menu.Shutdown = Stäng &av -Menu.Restart = &Starta om -Menu.ShutdownUpdate = Uppdatera och stäng av -Menu.RestartUpdate = Uppdatera och starta om -Menu.Sleep = &Vila -Menu.Hibernate = &Viloläge -Menu.ControlPanel = &Kontrollpanelen -Menu.PCSettings = Datorinställningar -Menu.Security = Windows-säkerhet -Menu.Network = &Nätverksanslutningar -Menu.Printers = &Skrivare -Menu.Taskbar = &Aktivitetsfältet och Start-menyn -Menu.SearchFiles = E&fter filer eller mappar... -Menu.SearchPrinter = Efter &skrivare -Menu.SearchComputers = &Efter datorer -Menu.UserFilesTip = Innehåller mappar för dokument, bilder, musik och andra filer som tillhör dig. -Menu.UserDocumentsTip = Innehåller brev, rapporter och andra dokument och filer. -Menu.UserPicturesTip = Innehåller digitala foton, bilder och grafikfiler. -Menu.UserMusicTip = Innehåller musik och andra ljudfiler. -Menu.UserVideosTip = Innehåller filmer och andra videofiler. -Menu.NetworkTip = Visar befintliga nätverks- och fjärranslutningar på den här datorn samt hjälper dig att skapa nya -Menu.PrintersTip = Lägg till, ta bort och konfigurera lokala och nätverksskrivare. -Menu.TaskbarTip = Anpassa Start-menyn och Aktivitetsfältet, som exempelvis vilka objekt som ska synas och hur de ska visas. -Menu.ControlPanelTip = Ändra inställningar och anpassa datorns funktioner. -Menu.DocumentsLibTip = Använd brev, rapporter, anteckningar och andra dokument. -Menu.MusicLibTip = Spela musik och andra ljudfiler. -Menu.PicturesLibTip = Visa och ordna digitala bilder. -Menu.VideosLibTip = Titta på egna filmer och andra digitala videofilmer. -Menu.RecordingsLibTip = Titta på TV-program som har spelats in på datorn. -Menu.DownloadTip = Sök efter filer som du har hämtat från Internet och länkar till favoritwebbplatser. -Menu.HomegroupTip = Få åtkomst till bibliotek och mappar som delas ut av andra personer i hemgruppen. -Menu.RunTip = Öppnar ett program, en mapp, ett dokument eller en webbplats. -Menu.HelpTip = Hitta hjälpavsnitt, självstudier, felsökning och andra supporttjänster. -Menu.ProgramsTip = Öppnar en lista över program på datorn. -Menu.SearchFilesTip = Sök efter dokument, musik, bilder, e-post och mycket mer. -Menu.GamesTip = Spela och hantera spel på datorn. -Menu.SecurityTip = Visa Windows-säkerhetsalternativ om du vill ändra lösenord, växla användare eller starta Aktivitetshanteraren. -Menu.SearchComputersTip = Sök efter datorer på nätverket -Menu.SearchPrintersTip = Sök efter en skrivare -Menu.AdminToolsTip = Konfigurera administrationsinställningar för datorn. -Menu.ShutdownTip = Stänger alla öppna program, avslutar Windows och stänger sedan av datorn. -Menu.RestartTip = Stänger alla öppna program, avslutar Windows och startar sedan Windows igen. -Menu.SleepTip = Behåller sessionen i minnet och försätter datorn i energisparläge så att du snabbt kan återgå till arbetet. -Menu.HibernateTip = Sparar sessionen och stänger av datorn. Sessionen återställs när du startar datorn. -Menu.LogOffTip = Stänger alla program och loggar ut. -Menu.DisconnectTip = Kopplar från sessionen. Du kan ansluta till den här sessionen på nytt när du loggar in igen. -Menu.LockTip = Låser den här datorn. -Menu.UndockTip = Kopplar från din bärbara dator från dockningsstationen. -Menu.SwitchUserTip = Växlar användare utan att stänga program. -Menu.Empty = (Tom) -Menu.Features = Program och funktioner -Menu.FeaturesTip = Avinstallera eller ändra program på datorn. -Menu.SearchPeople = Efter &personer... -Menu.SortByName = Sortera efter &namn -Menu.Open = &Öppna -Menu.OpenAll = Öppna &delade Start-menyn -Menu.Explore = &Utforska -Menu.ExploreAll = Utf&orska delade Start-menyn -Menu.MenuSettings = Inställningar -Menu.MenuHelp = Hjälp -Menu.MenuExit = Avsluta -Menu.LogoffTitle = Logga ut -Menu.LogoffPrompt = Vill du logga ut? -Menu.LogoffYes = &Logga ut -Menu.LogoffNo = N&ej -Menu.RenameTitle = Byt namn -Menu.RenamePrompt = &Nytt namn: -Menu.RenameOK = OK -Menu.RenameCancel = Avbryt -Menu.Organize = Organisera Start-menyn -Menu.Expand = Exp&andera -Menu.Collapse = &Dölj -Menu.NewFolder = Ny mapp -Menu.NewShortcut = Ny genväg -Menu.AutoArrange = &Ordna automatiskt -Menu.ActionOpen = Öppna -Menu.ActionClose = Stäng -Menu.ActionExecute = Kör -Menu.RemoveList = &Ta bort från den här listan -Menu.RemoveAll = &Rensa listan Tidigare -Menu.Explorer = Utforskaren -Menu.Start = Start -Menu.StartScreen = Startskärmen -Menu.StartMenu = Startmenyn (Windows) -Menu.PinStart = Fäst på Start-menyn -Menu.PinStartCs = Fäst på Start-menyn (Open-Shell) -Menu.UnpinStartCs = Ta bort från Start-menyn (Open-Shell) -Menu.MonitorOff = Stänga av bildskärmen -Menu.RemoveHighlight = Ta bort fokus -Menu.Uninstall = &Avinstallera -Menu.UninstallTitle = Avinstallera -Menu.UninstallPrompt = Vill du avinstallera %s? -Search.CategorySettings = Inställningar -Search.CategoryPCSettings = Datorinställningar -Search.CategoryPrograms = Program -Search.CategoryDocuments = Dokument -Search.CategoryMusic = Musik -Search.CategoryPictures = Bilder -Search.CategoryVideos = Filmer -Search.CategoryFiles = Filer -Search.CategoryInternet = Internet -JumpList.Recent = Senast använda -JumpList.Frequent = Ofta använda -JumpList.Tasks = Aktiviteter -JumpList.Pinned = Fastnålat -JumpList.Pin = &Fäst i den här listan -JumpList.Unpin = &Ta bort från den här listan -JumpList.Remove = &Ta bort från den här listan -JumpList.PinTip = Fäst i den här listan -JumpList.UnpinTip = Ta bort från den här listan - - -[th-TH] - Thai (Thailand) -Menu.Programs = โ&ปรแกรม -Menu.Apps = โปรแกรม -Menu.AllPrograms = โปรแกรมทั้งหมด -Menu.Back = ย้อนกลับ -Menu.Favorites = ร&ายการโปรด -Menu.Documents = เอก&สาร -Menu.Settings = &การตั้งค่า -Menu.Search = &ค้นหา -Menu.SearchBox = ค้นหา -Menu.SearchPrograms = ค้นหาโปรแกรมและแฟ้ม -Menu.SearchInternet = ค้นหาอินเทอร์เน็ต -Menu.Searching = กำลังค้นหา... -Menu.NoMatch = ไม่มีรายการที่ตรงกับการค้นหาของคุณ -Menu.MoreResults = ดูผลลัพธ์เพิ่มเติม -Menu.Help = &บริการช่วยเหลือและวิธีใช้ -Menu.Run = เรียก&ใช้... -Menu.Logoff = ออก&จากระบบ %s -Menu.SwitchUser = สลับ&ผู้ใช้ -Menu.Lock = &ล็อก -Menu.LogOffShort = &ออกจากระบบ -Menu.Undock = ปล&ดชุดต่ออุปกรณ์ -Menu.Disconnect = &ยกเลิกการเชื่อมต่อ -Menu.ShutdownBox = ปิดเครื่&อง... -Menu.Shutdown = ปิ&ดเครื่อง -Menu.Restart = เริ่มการทำงานใ&หม่ -Menu.ShutdownUpdate = ปรับปรุงและปิดเครื่อง -Menu.RestartUpdate = ปรับปรุงและเริ่มระบบของคอมพิวเตอร์ใหม่ -Menu.Sleep = &สลีป -Menu.Hibernate = ไฮเบอร์เ&นต -Menu.ControlPanel = แ&ผงควบคุม -Menu.PCSettings = การตั้งค่าพีซี -Menu.Security = การรักษาความปลอดภัยของ Windows -Menu.Network = การเชื่อมต่อเค&รือข่าย -Menu.Printers = เ&ครื่องพิมพ์ -Menu.Taskbar = แ&ถบงานและเมนู 'เริ่ม' -Menu.SearchFiles = แ&ฟ้มหรือโฟลเดอร์... -Menu.SearchPrinter = เ&ครื่องพิมพ์ -Menu.SearchComputers = &คอมพิวเตอร์ -Menu.UserFilesTip = ประกอบด้วยโฟลเดอร์สำหรับเอกสาร รูปภาพ เพลง และแฟ้มอื่นๆ ที่เป็นของคุณ -Menu.UserDocumentsTip = เก็บจดหมาย รายงาน รวมทั้งเอกสารและแฟ้มอื่นๆ -Menu.UserPicturesTip = เก็บรูปถ่ายดิจิทัล รูป และแฟ้มกราฟิกต่างๆ -Menu.UserMusicTip = มีเพลงและแฟ้มเสียงอื่นๆ -Menu.UserVideosTip = มีภาพยนตร์และแฟ้มวิดีโออื่นๆ -Menu.NetworkTip = แสดงการเชื่อมต่อเครือข่ายที่มีอยู่บนคอมพิวเตอร์นี้ และช่วยคุณสร้างการเชื่อมต่อเครือข่ายใหม่ -Menu.PrintersTip = เพิ่ม เอาออก และกำหนดค่าเครื่องพิมพ์เฉพาะที่และเครื่องพิมพ์เครือข่าย -Menu.TaskbarTip = กำหนดเมนู 'เริ่ม' และแถบเครื่องมือเอง เช่น ชนิดของรายการที่จะแสดงและลักษณะที่จะปรากฏของเมนู 'เริ่ม' และแถบเครื่องมือ -Menu.ControlPanelTip = เปลี่ยนแปลงการตั้งค่าและกำหนดฟังก์ชันของคอมพิวเตอร์ของคุณ -Menu.DocumentsLibTip = เข้าถึงจดหมาย รายงาน บันทึกย่อ และเอกสารประเภทอื่นๆ -Menu.MusicLibTip = เล่นดนตรีและแฟ้มเสียงอื่นๆ -Menu.PicturesLibTip = ดูและจัดระเบียบรูปภาพดิจิทัล -Menu.VideosLibTip = ดูภาพยนตร์ถ่ายทำเองและวิดีโอดิจิทัลอื่นๆ -Menu.RecordingsLibTip = ดูรายการทีวีที่บันทึกบนคอมพิวเตอร์ -Menu.DownloadTip = ค้นหารายการดาวน์โหลดบนอินเทอร์เน็ตและการเชื่อมโยงไปยังเว็บไซต์โปรด -Menu.HomegroupTip = เข้าถึงไลบรารีและโฟลเดอร์ต่างๆ ที่ผู้อื่นเปิดให้ใช้ร่วมกันในโฮมกรุ๊ปของคุณ -Menu.RunTip = เปิดโปรแกรม โฟลเดอร์ เอกสาร หรือเว็บไซต์ -Menu.HelpTip = ค้นหาแหล่งข้อมูลสำหรับหัวข้อวิธีใช้ บทช่วยสอน การแก้ไขปัญหา และบริการช่วยเหลืออื่นๆ -Menu.ProgramsTip = เปิดรายชื่อของโปรแกรมของคุณ -Menu.SearchFilesTip = ค้นหาเอกสาร ดนตรี รูปภาพ อีเมล และอื่นๆอีกมาก -Menu.GamesTip = เล่นและจัดการกับเกมบนเครื่องคอมพิวเตอร์ของคุณ -Menu.SecurityTip = เปิดใช้ตัวเลือก 'การรักษาความปลอดภัยของ Windows' เพื่อเปลี่ยนรหัสผ่าน สลับผู้ใช้ หรือเริ่ม 'ตัวจัดการงาน' -Menu.SearchComputersTip = ค้นหาคอมพิวเตอร์บนเครือข่าย -Menu.SearchPrintersTip = ค้นหาเครื่องพิมพ์ -Menu.AdminToolsTip = กำหนดค่าการตั้งค่าเกี่ยวกับการจัดการ -สำหรับคอมพิวเตอร์ของคุณ -Menu.ShutdownTip = ปิดโปรแกรมที่เปิดอยู่ทั้งหมด ปิดระบบ Windows แล้วปิดคอมพิวเตอร์ของคุณ -Menu.RestartTip = ปิดโปรแกรมที่เปิดอยู่ทั้งหมด ปิดระบบ Windows แล้วเริ่มการทำงานของ Windows อีกครั้ง -Menu.SleepTip = รักษาเซสชันของคุณในหน่วยความจำ และทำให้คอมพิวเตอร์อยู่ในสถานะที่ใช้พลังงานต่ำ เพื่อให้คุณสามารถกลับมาดำเนินการต่อได้อย่างรวดเร็ว -Menu.HibernateTip = บันทึกเซสชันของคุณ และปิดเครื่องคอมพิวเตอร์ เมื่อคุณเปิดคอมพิวเตอร์ Windows จะคืนค่าเซสชันของคุณ -Menu.LogOffTip = ปิดโปรแกรมและออกจากระบบ -Menu.DisconnectTip = ยกเลิกการเชื่อมต่อเซสชันของคุณ คุณสามารถเชื่อมต่อใหม่ไปยังเซสชันนี้ได้เมื่อคุณเข้าสู่ระบบอีกครั้ง -Menu.LockTip = ล็อกคอมพิวเตอร์นี้ -Menu.UndockTip = เอาคอมพิวเตอร์แล็ปท็อปหรือโน้ตบุ๊กของคุณออกจากที่วางเทียบ -Menu.SwitchUserTip = สลับผู้ใช้โดยไม่ปิดโปรแกรม -Menu.Empty = (ว่าง) -Menu.Features = โปรแกรมและคุณลักษณะ -Menu.FeaturesTip = ถอนการติดตั้งหรือเปลี่ยนแปลงโปรแกรมบนคอมพิวเตอร์ของคุณ -Menu.SearchPeople = สำหรับ&บุคคล... -Menu.SortByName = เรียงลำดั&บตามชื่อ -Menu.Open = เ&ปิด -Menu.OpenAll = &เปิดโฟลเดอร์ All Users -Menu.Explore = สำรว&จ -Menu.ExploreAll = &สำรวจโฟลเดอร์ All Users -Menu.MenuSettings = การตั้งค่า -Menu.MenuHelp = วิธีใช้ -Menu.MenuExit = ออก -Menu.LogoffTitle = ออกจากระบบ Windows -Menu.LogoffPrompt = คุณแน่ใจหรือไม่ว่าคุณต้องการออกจากระบบ -Menu.LogoffYes = &ออกจากระบบ -Menu.LogoffNo = ไ&ม่ใช่ -Menu.RenameTitle = เปลี่ยนชื่อ -Menu.RenamePrompt = &ชื่อใหม่: -Menu.RenameOK = ตกลง -Menu.RenameCancel = ยกเลิก -Menu.Organize = จัดระเบียบเมนู 'เริ่ม' -Menu.Expand = &ขยาย -Menu.Collapse = &ยุบ -Menu.NewFolder = สร้างโฟลเดอร์ -Menu.NewShortcut = ทางลัดใหม่ -Menu.AutoArrange = จัดเรียงอัต&โนมัติ -Menu.ActionOpen = เปิด -Menu.ActionClose = ปิด -Menu.ActionExecute = ปฏิบัติการ -Menu.RemoveList = เอาออก&จากรายชื่อนี้ -Menu.RemoveAll = &ล้างรายการล่าสุด -Menu.Explorer = Windows Explorer -Menu.Start = เริ่ม -Menu.StartScreen = หน้าจอเริ่ม -Menu.StartMenu = เมนูเริ่ม (Windows) -Menu.PinStart = ตรึงกับเมนูเริ่ม -Menu.PinStartCs = ตรึงกับเมนูเริ่ม (Open-Shell) -Menu.UnpinStartCs = ถอนการตรึงออกจากเมนูเริ่ม (Open-Shell) -Menu.MonitorOff = ปิดจอแสดงผล -Menu.RemoveHighlight = เอาไฮไลท์ออก -Menu.Uninstall = &ถอนการติดตั้ง -Menu.UninstallTitle = ถอนการติดตั้ง -Menu.UninstallPrompt = คุณแน่ใจหรือไม่ว่าคุณต้องการถอนการติดตั้ง %s -Search.CategorySettings = การตั้งค่า -Search.CategoryPCSettings = การตั้งค่าพีซี -Search.CategoryPrograms = โปรแกรม -Search.CategoryDocuments = เอกสาร -Search.CategoryMusic = เพลง -Search.CategoryPictures = รูปภาพ -Search.CategoryVideos = วิดีโอ -Search.CategoryFiles = แฟ้ม -Search.CategoryInternet = อินเทอร์เน็ต -JumpList.Recent = ล่าสุด -JumpList.Frequent = ที่ใช้บ่อย -JumpList.Tasks = งาน -JumpList.Pinned = ตรึงไว้ -JumpList.Pin = &ตรึงเข้ากับรายการนี้ -JumpList.Unpin = &ถอนการตรึงออกจากรายการนี้ -JumpList.Remove = เอาออก&จากรายการนี้ -JumpList.PinTip = ตรึงเข้ากับรายการนี้ -JumpList.UnpinTip = ถอนการตรึงออกจากรายการนี้ - - -[tr-TR] - Turkish (Turkey) -Menu.Programs = Progra&mlar -Menu.Apps = Uygulamalar -Menu.AllPrograms = Tüm Programlar -Menu.Back = Geri -Menu.Favorites = &Sık Kullanılanlar -Menu.Documents = &Belgeler -Menu.Settings = Ayar&lar -Menu.Search = &Ara -Menu.SearchBox = Ara -Menu.SearchPrograms = Programları ve dosyaları ara -Menu.SearchInternet = Internet'te ara -Menu.Searching = Arıyor... -Menu.NoMatch = Aramanızla eşleşen öğe yok. -Menu.MoreResults = Diğer sonuçlar -Menu.Help = &Yardım ve Destek -Menu.Run = Çal&ıştır... -Menu.Logoff = %s Oturumunu &Kapat -Menu.SwitchUser = &Kullanıcı değiştir -Menu.Lock = Kili&tle -Menu.LogOffShort = &Oturumu Kapat -Menu.Undock = Bilgisaya&rı Çıkar -Menu.Disconnect = Ba&ğlantıyı Kes -Menu.ShutdownBox = B&ilgisayarı Kapat... -Menu.Shutdown = &Bilgisayarı Kapat -Menu.Restart = &Yeniden Başlat -Menu.ShutdownUpdate = Güncelleştir ve kapat -Menu.RestartUpdate = Güncelleştir ve yeniden başlat -Menu.Sleep = &Uyku -Menu.Hibernate = &Hazırda Beklet -Menu.ControlPanel = &Denetim Masası -Menu.PCSettings = Bilgisayar ayarları -Menu.Security = Windows Güvenliği -Menu.Network = &Ağ Bağlantıları -Menu.Printers = &Yazıcılar -Menu.Taskbar = &Görev Çubuğu ve Başlat Menüsü -Menu.SearchFiles = &Dosya ya da Klasör... -Menu.SearchPrinter = &Yazıcı için -Menu.SearchComputers = &Bilgisayar için -Menu.UserFilesTip = Size ait Belge, Resim, Müzik dosyalarının ve diğer dosyaların klasörlerini içerir. -Menu.UserDocumentsTip = Mektup, rapor ve benzeri belge ve dosyaları içerir. -Menu.UserPicturesTip = Dijital foto, resim ve grafik dosyaları içerir. -Menu.UserMusicTip = Müzik ve diğer ses dosyalarını içerir. -Menu.UserVideosTip = Film ve diğer video dosyalarını içerir. -Menu.NetworkTip = Bu bilgisayar üzerindeki ağ bağlantılarını görüntüleyip yenilerini oluşturmanıza yardımcı olur -Menu.PrintersTip = Yerel yazıcıları ve ağ yazıcılarını ekler, kaldırır ve yapılandırır. -Menu.TaskbarTip = Görüntülenecek öğeler ve ve nasıl görünmeleri gerektiği gibi konularda Başlat Menüsünü ve görev çubuğunu özelleştir. -Menu.ControlPanelTip = Bilgisayarınızın ayarlarını değiştirin ve işlevlerini özelleştirin. -Menu.DocumentsLibTip = Mektuplara, raporlara, notlara ve diğer belge türlerine erişin. -Menu.MusicLibTip = Müzik ve diğer ses dosyalarını çalın. -Menu.PicturesLibTip = Dijital resimleri görüntüleyin ve düzenleyin. -Menu.VideosLibTip = Ev filmlerini ve diğer dijital videoları izleyin. -Menu.RecordingsLibTip = Bilgisayarınızda kayıtlı TV programlarını izleyin. -Menu.DownloadTip = Internet yüklemelerini ve sık kullanılan web siteleri bağlantılarını bulun. -Menu.HomegroupTip = Ev grubunuzdaki diğer kişiler tarafından paylaşılan kitaplıklara ve klasörlere erişin. -Menu.RunTip = Bir program, klasör, belge veya Web sitesi açar. -Menu.HelpTip = Yardım konularını, bilgilendirici rehberleri ve diğer destek hizmetlerini bulun. -Menu.ProgramsTip = Programlarınızın listesini açar. -Menu.SearchFilesTip = Belge, müzik, resim, e-posta ve pek çok başka öğeyi arayın. -Menu.GamesTip = Bilgisayarınızda oyun oynayın ve oyunları yönetin. -Menu.SecurityTip = Parola Değiştirmek, Kullanıcı Değiştirmek veya Görev Yöneticisini Başlatmak için Windows Güvenlik Seçenekleri'ni başlatın. -Menu.SearchComputersTip = Ağda bilgisayarlar ara -Menu.SearchPrintersTip = Yazıcı arayın -Menu.AdminToolsTip = Bilgisayarınızın yönetimle ilgili ayarlarını yapılandırır. -Menu.ShutdownTip = Tüm açık programları kapatır, Windows'u kapatır ve sonra bilgisayarınızı kapatır. -Menu.RestartTip = Tüm açık programları kapatır, Windows'u kapatır ve sonra Windows'u yeniden başlatır. -Menu.SleepTip = Çalışmanızı kolayca devam ettirebilmeniz için oturumunuzu bellekte tutar ve bilgisayarı düşük güçte çalışma durumuna geçirir. -Menu.HibernateTip = Oturumunuzu kaydeder ve bilgisayarı kapatır. Bilgisayarı açtığınızda, Windows oturumunuzu geri yükler. -Menu.LogOffTip = Programları kapatın ve oturumdan çıkın. -Menu.DisconnectTip = Oturum bağlantınız kesilir. Oturum açtığınızda yeniden bağlanabilirsiniz. -Menu.LockTip = Bu bilgisayarı kilitleyin. -Menu.UndockTip = Dizüstü veya notebook bilgisayarınızı takma biriminden çıkartır. -Menu.SwitchUserTip = Kullanıcıları, programları kapatmadan değiştirin. -Menu.Empty = (Boş) -Menu.Features = Programlar ve Özellikler -Menu.FeaturesTip = Bilgisayarınızdaki programları kaldırın veya değiştirin. -Menu.SearchPeople = &Kişiler... -Menu.SortByName = A&da Göre Sırala -Menu.Open = &Aç -Menu.OpenAll = Tü&m Kullanıcıları Aç -Menu.Explore = A&raştır -Menu.ExploreAll = &Tüm Kullanıcıları Araştır -Menu.MenuSettings = Ayarlar -Menu.MenuHelp = Yardım -Menu.MenuExit = Çıkış -Menu.LogoffTitle = Windows Oturumunu Kapat -Menu.LogoffPrompt = Oturumu kapatmayı gerçekten istiyor musunuz? -Menu.LogoffYes = Oturumu &Kapat -Menu.LogoffNo = &Hayır -Menu.RenameTitle = Yeniden Adlandır -Menu.RenamePrompt = &Yeni ad: -Menu.RenameOK = Tamam -Menu.RenameCancel = İptal -Menu.Organize = Başlat menüsünü düzenle -Menu.Expand = &Genişlet -Menu.Collapse = &Daralt -Menu.NewFolder = Yeni Klasör -Menu.NewShortcut = Yeni Kısayol -Menu.AutoArrange = &Otomatik Düzenle -Menu.ActionOpen = Aç -Menu.ActionClose = Kapat -Menu.ActionExecute = Çalıştır -Menu.RemoveList = &Bu listeden kaldır -Menu.RemoveAll = &Son kullanılan öğeler listesini temizle -Menu.Explorer = Windows Gezgini -Menu.Start = Başlat -Menu.StartScreen = Başlangıç Ekranı -Menu.StartMenu = Başlat menüsü (Windows) -Menu.PinStart = Başlat menüsüne sabitle -Menu.PinStartCs = Başlat menüsüne sabitle (Open-Shell) -Menu.UnpinStartCs = Başlat menüsünden ayır (Open-Shell) -Menu.MonitorOff = Ekranı kapat -Menu.RemoveHighlight = Önemli Noktayı Kaldır -Menu.Uninstall = &Kaldır -Menu.UninstallTitle = Kaldır -Menu.UninstallPrompt = %s programını kaldırmak istediğinizden emin misiniz? -Search.CategorySettings = Ayarlar -Search.CategoryPCSettings = Bilgisayar ayarları -Search.CategoryPrograms = Programlar -Search.CategoryDocuments = Belgeler -Search.CategoryMusic = Müzik -Search.CategoryPictures = Resimler -Search.CategoryVideos = Videolar -Search.CategoryFiles = Dosyalar -Search.CategoryInternet = Internet -JumpList.Recent = En Son -JumpList.Frequent = Sık Kullanılanlar -JumpList.Tasks = Görevler -JumpList.Pinned = Sabitlendi -JumpList.Pin = Bu listeye &sabitle -JumpList.Unpin = Bu listeden çı&kar -JumpList.Remove = &Bu listeden kaldır -JumpList.PinTip = Bu listeye sabitle -JumpList.UnpinTip = Bu listeden çıkar - - -[uk-UA] - Ukrainian (Ukraine) -Menu.Programs = &Програми -Menu.Apps = Застосунки -Menu.AllPrograms = Усі програми -Menu.Back = Назад -Menu.Favorites = &Уподобання -Menu.Documents = До&кументи -Menu.Settings = Н&астройки -Menu.Search = З&найти -Menu.SearchBox = Знайти -Menu.SearchPrograms = Пошук програм та файлів -Menu.SearchInternet = Пошук в Інтернеті -Menu.Searching = Триває пошук... -Menu.NoMatch = Пошук не дав результатів. -Menu.MoreResults = Інші результати -Menu.Help = &Довідка та підтримка -Menu.Run = Запуск про&грами... -Menu.Logoff = Завер&шення сеансу %s -Menu.SwitchUser = З&мінити користувача -Menu.Lock = Б&локувати -Menu.LogOffShort = &Вийти з системи -Menu.Undock = Відстикувати комп'&ютер -Menu.Disconnect = В&ідключити -Menu.ShutdownBox = &Завершення роботи... -Menu.Shutdown = &Завершення роботи -Menu.Restart = &Перезавантаження -Menu.ShutdownUpdate = Інсталювати оновлення та завершити роботу -Menu.RestartUpdate = Інсталювати оновлення та перезавантажити -Menu.Sleep = &Сон -Menu.Hibernate = &Режим глибокого сну -Menu.ControlPanel = П&анель керування -Menu.PCSettings = Параметри ПК -Menu.Security = Безпека Windows -Menu.Network = &Мережні підключення -Menu.Printers = Пр&интери -Menu.Taskbar = Панель &завдань і меню "Пуск" -Menu.SearchFiles = &Файли й папки... -Menu.SearchPrinter = &Принтер -Menu.SearchComputers = &Комп'ютери -Menu.UserFilesTip = Містить папки для документів, зображень, музики та інших ваших файлів. -Menu.UserDocumentsTip = Містить листи, звіти та інші документи й файли. -Menu.UserPicturesTip = Містить цифрові фотографії, малюнки, графічні файли. -Menu.UserMusicTip = Містить музичні та інші звукові файли. -Menu.UserVideosTip = Містить фільми та відеофайли. -Menu.NetworkTip = Показ наявних мережних підключень для цього комп’ютера та створення нових підключень -Menu.PrintersTip = Додати, видалити або настроїти локальні чи мережні принтери. -Menu.TaskbarTip = Настройка меню "Пуск" і панелі завдань, наприклад, установка типів і зовнішнього вигляду елементів, які буде показано. -Menu.ControlPanelTip = Змінити параметри та настроїти функціональність системи. -Menu.DocumentsLibTip = Отримайте доступ до листів, звітів, приміток та документів інших видів. -Menu.MusicLibTip = Відтворюйте музику та інші звукові файли. -Menu.PicturesLibTip = Переглядайте та організовуйте цифрові зображення. -Menu.VideosLibTip = Переглядати домашнє та інше цифрове відео. -Menu.RecordingsLibTip = Переглядати ТВ-програми, записані на комп'ютер. -Menu.DownloadTip = Знайти завантаження Інтернету і посилання на улюблені веб-сайти. -Menu.HomegroupTip = Спільний доступ до бібліотек і папок інших користувачів із домашньої групи. -Menu.RunTip = Відкриття програми, папки, документа або веб-сайту. -Menu.HelpTip = Пошук довідкових матеріалів, навчальних програм, засобів виправлення неполадок та інших служб технічної підтримки. -Menu.ProgramsTip = Відкрити список програм. -Menu.SearchFilesTip = Пошук документів, музики, зображень, адрес електронної пошти та іншого. -Menu.GamesTip = Гра та керування іграми, інстальованими на цьому комп’ютері. -Menu.SecurityTip = Запустити Параметри безпеки Windows для зміни пароля, переключення користувача або запуску диспетчера завдань. -Menu.SearchComputersTip = Пошук комп’ютерів у мережі -Menu.SearchPrintersTip = Пошук принтера -Menu.AdminToolsTip = Настройка параметрів адміністрування для цього комп'ютера. -Menu.ShutdownTip = Закриває всі відкриті програми, завершує роботу системи та вимикає комп’ютер. -Menu.RestartTip = Закриває всі відкриті програми, завершує роботу системи та запускає систему знову. -Menu.SleepTip = Зберігає сеанс роботи в пам’яті та переводить комп’ютер до режиму зниженого енергоспоживання, що надає змогу швидко відновити роботу. -Menu.HibernateTip = Зберігає дані сеансу та вимикає комп’ютер. Після увімкнення комп’ютера система відновлює сеанс. -Menu.LogOffTip = Закрити програми та вийти з системи. -Menu.DisconnectTip = Відключає ваш сеанс. Можна знову підключитися до сеансу, повторно увійшовши до системи. -Menu.LockTip = Заблокувати комп'ютер. -Menu.UndockTip = Видалення ноутбука із пристрою стаціонарного підключення. -Menu.SwitchUserTip = Переключення користувачів без закриття програм. -Menu.Empty = (пусто) -Menu.Features = Програми та засоби -Menu.FeaturesTip = Змінити або видалити програми на комп’ютері. -Menu.SearchPeople = Л&юдей... -Menu.SortByName = Сортувати за &іменем -Menu.Open = &Відкрити -Menu.OpenAll = В&ідкрити спільне для всіх меню -Menu.Explore = &Провідник -Menu.ExploreAll = Пр&овідник до спільного для всіх меню -Menu.MenuSettings = Настройки -Menu.MenuHelp = Довідка -Menu.MenuExit = Вихід -Menu.LogoffTitle = Вихід із Windows -Menu.LogoffPrompt = Ви дійсно бажаєте вийти із системи? -Menu.LogoffYes = В&ихід -Menu.LogoffNo = &Ні -Menu.RenameTitle = Перейменування -Menu.RenamePrompt = &Нове ім'я: -Menu.RenameOK = ОК -Menu.RenameCancel = Скасувати -Menu.Organize = Упорядкування меню "Пуск" -Menu.Expand = &Розгорнути -Menu.Collapse = &Згорнути -Menu.NewFolder = Створити папку -Menu.NewShortcut = Новий ярлик -Menu.AutoArrange = &Автоматично -Menu.ActionOpen = Відкрити -Menu.ActionClose = Закрити -Menu.ActionExecute = Виконати -Menu.RemoveList = Видалити &з цього списку -Menu.RemoveAll = О&чистити список останніх елементів -Menu.Explorer = Провідник -Menu.Start = Запустити -Menu.StartScreen = Початковий екран -Menu.StartMenu = Меню "Пуск" (Windows) -Menu.PinStart = Прикріпити до меню "Пуск" -Menu.PinStartCs = Прикріпити до меню "Пуск" (Open-Shell) -Menu.UnpinStartCs = Відкріпити від меню "Пуск" (Open-Shell) -Menu.MonitorOff = Вимкнути дисплей -Menu.RemoveHighlight = Видалити виділення -Menu.Uninstall = &Видалити -Menu.UninstallTitle = Видалити -Menu.UninstallPrompt = Дійсно видалити %s? -Search.CategorySettings = Настройки -Search.CategoryPCSettings = Параметри ПК -Search.CategoryPrograms = Програми -Search.CategoryDocuments = Документи -Search.CategoryMusic = Музика -Search.CategoryPictures = Зображення -Search.CategoryVideos = Відео -Search.CategoryFiles = Файли -Search.CategoryInternet = Інтернет -JumpList.Recent = Недавні -JumpList.Frequent = Часто використовувані -JumpList.Tasks = Завдання -JumpList.Pinned = Зафіксовано -JumpList.Pin = &Прикріпити до списку -JumpList.Unpin = &Відкріпити від списку -JumpList.Remove = Видали&ти з цього списку -JumpList.PinTip = Прикріпити до списку -JumpList.UnpinTip = Відкріпити від списку - - -[zh-CN] - Chinese (Simplified) -Menu.Programs = 程序(&P) -Menu.Apps = 应用 -Menu.AllPrograms = 所有程序 -Menu.Back = 返回 -Menu.Favorites = 收藏夹(&A) -Menu.Documents = 文档(&D) -Menu.Settings = 设置(&S) -Menu.Search = 搜索(&C) -Menu.SearchBox = 搜索 -Menu.SearchPrograms = 搜索程序和文件 -Menu.SearchInternet = 搜索 Internet -Menu.Searching = 正在搜索... -Menu.NoMatch = 没有与搜索条件匹配的项。 -Menu.MoreResults = 查看更多结果 -Menu.Help = 帮助和支持(&H) -Menu.Run = 运行(&R)... -Menu.Logoff = 注销 %s(&L) -Menu.SwitchUser = 切换用户(&W) -Menu.Lock = 锁定(&O) -Menu.LogOffShort = 注销(&L) -Menu.Undock = 弹出 PC(&E) -Menu.Disconnect = 断开(&I) -Menu.ShutdownBox = 关机(&U)... -Menu.Shutdown = 关机(&U) -Menu.Restart = 重新启动(&R) -Menu.ShutdownUpdate = 更新并关机 -Menu.RestartUpdate = 更新并重启 -Menu.Sleep = 睡眠(&S) -Menu.Hibernate = 休眠(&H) -Menu.ControlPanel = 控制面板(&C) -Menu.PCSettings = 电脑设置 -Menu.Security = Windows 安全 -Menu.Network = 网络连接(&N) -Menu.Printers = 打印机(&P) -Menu.Taskbar = 任务栏和「开始」菜单(&T) -Menu.SearchFiles = 文件或文件夹(&F)... -Menu.SearchPrinter = 打印机(&P) -Menu.SearchComputers = 计算机(&C) -Menu.UserFilesTip = 包含文档文件、图片文件、音乐文件及您拥有的其他文件的文件夹。 -Menu.UserDocumentsTip = 包含信件,报告和其它文档以及文件。 -Menu.UserPicturesTip = 包含数字照片,图片和图形文件。 -Menu.UserMusicTip = 包含音乐和其他音频文件。 -Menu.UserVideosTip = 包含音乐和其他视频文件。 -Menu.NetworkTip = 显示此计算机上现有的网络连接并帮助您创建新的 -Menu.PrintersTip = 添加、删除和配置本地及网络打印机。 -Menu.TaskbarTip = 自定义「开始」菜单和任务栏,例如要显示项目的类型及如何显示。 -Menu.ControlPanelTip = 更改您的计算机设置并自定义其功能。 -Menu.DocumentsLibTip = 访问信件、报告、便笺以及其他类型的文档。 -Menu.MusicLibTip = 播放音乐和其他音频文件。 -Menu.PicturesLibTip = 查看和组织数字图片。 -Menu.VideosLibTip = 观看家庭电影和其他数字视频。 -Menu.RecordingsLibTip = 在计算机上观看录制的电视节目。 -Menu.DownloadTip = 查找 Internet 下载以及最喜欢的网站链接。 -Menu.HomegroupTip = 访问家庭组中其他人员共享的库和文件夹。 -Menu.RunTip = 打开一个程序、文件夹、文档或网站。 -Menu.HelpTip = 查找帮助主题、教程、疑难解答和其他支持服务。 -Menu.ProgramsTip = 打开您的程序列表。 -Menu.SearchFilesTip = 搜索文档、音乐、图片、电子邮件等等。 -Menu.GamesTip = 在计算机上运行和管理游戏。 -Menu.SecurityTip = 启动 Windows 安全选项以更改密码、切换用户或启动任务管理器。 -Menu.SearchComputersTip = 搜索网络计算机 -Menu.SearchPrintersTip = 搜索打印机 -Menu.AdminToolsTip = 配置您计算机的管理设置。 -Menu.ShutdownTip = 关闭所有打开的程序,关闭 Windows,然后关闭计算机。 -Menu.RestartTip = 关闭所有打开的程序,关闭 Windows,然后重新启动 Windows。 -Menu.SleepTip = 将会话保存在内存中并将计算机置于低功耗状态,这样即可快速恢复工作状态。 -Menu.HibernateTip = 保存会话并关闭计算机。打开计算机时,Windows 会还原会话。 -Menu.LogOffTip = 关闭程序并注销。 -Menu.DisconnectTip = 断开会话。再次登录时可以重新连接到该会话。 -Menu.LockTip = 锁定该计算机。 -Menu.UndockTip = 将您的便携式和笔记本计算机从扩展坞中移除。 -Menu.SwitchUserTip = 不关闭程序切换用户。 -Menu.Empty = (空) -Menu.Features = 程序和功能 -Menu.FeaturesTip = 卸载或更改计算机上的程序。 -Menu.SearchPeople = 个人(&P)... -Menu.SortByName = 按名称排序(&B) -Menu.Open = 打开(&O) -Menu.OpenAll = 打开所有用户(&P) -Menu.Explore = 浏览(&E) -Menu.ExploreAll = 浏览所有用户(&X) -Menu.MenuSettings = 设置 -Menu.MenuHelp = 帮助 -Menu.MenuExit = 退出 -Menu.LogoffTitle = 注销 Windows -Menu.LogoffPrompt = 确实要注销吗? -Menu.LogoffYes = 注销(&L) -Menu.LogoffNo = 否(&N) -Menu.RenameTitle = 重命名 -Menu.RenamePrompt = 新名称(&N): -Menu.RenameOK = 确定 -Menu.RenameCancel = 取消 -Menu.Organize = 组织「开始」菜单 -Menu.Expand = 展开(&A) -Menu.Collapse = 折叠(&A) -Menu.NewFolder = 新文件夹 -Menu.NewShortcut = 新快捷方式 -Menu.AutoArrange = 自动排列(&A) -Menu.ActionOpen = 打开 -Menu.ActionClose = 关闭 -Menu.ActionExecute = 执行 -Menu.RemoveList = 从列表中删除(&F) -Menu.RemoveAll = 清除最近的项目列表(&L) -Menu.Explorer = Windows 资源管理器 -Menu.Start = 开始 -Menu.StartScreen = “开始”屏幕 -Menu.StartMenu = 「开始」菜单 (Windows) -Menu.PinStart = 锁定到「开始」菜单 -Menu.PinStartCs = 锁定到「开始」菜单 (Open-Shell) -Menu.UnpinStartCs = 从「开始」菜单解锁 (Open-Shell) -Menu.MonitorOff = 关闭显示器 -Menu.RemoveHighlight = 删除突出显示 -Menu.Uninstall = 卸载(&U) -Menu.UninstallTitle = 卸载 -Menu.UninstallPrompt = 确实要卸载 %s 吗? -Search.CategorySettings = 设置 -Search.CategoryPCSettings = 电脑设置 -Search.CategoryPrograms = 程序 -Search.CategoryDocuments = 文档 -Search.CategoryMusic = 音乐 -Search.CategoryPictures = 图片 -Search.CategoryVideos = 视频 -Search.CategoryFiles = 文件 -Search.CategoryInternet = Internet -JumpList.Recent = 最近 -JumpList.Frequent = 常用 -JumpList.Tasks = 任务 -JumpList.Pinned = 已固定 -JumpList.Pin = 锁定到此列表(&I) -JumpList.Unpin = 从此列表解锁(&U) -JumpList.Remove = 从列表中删除(&F) -JumpList.PinTip = 锁定到此列表 -JumpList.UnpinTip = 从此列表解锁 - - -[zh-HK] - Chinese (Traditional) -Menu.Programs = 程式集(&P) -Menu.Apps = 應用程式 -Menu.AllPrograms = 所有程式 -Menu.Back = 上一頁 -Menu.Favorites = 我的最愛(&A) -Menu.Documents = 文件(&D) -Menu.Settings = 設定(&S) -Menu.Search = 搜尋(&C) -Menu.SearchBox = 搜尋 -Menu.SearchPrograms = 搜尋程式及檔案 -Menu.SearchInternet = 搜尋網際網路 -Menu.Searching = 正在搜尋... -Menu.NoMatch = 沒有符合搜尋的項目。 -Menu.MoreResults = 查看更多結果 -Menu.Help = 說明及支援(&H) -Menu.Run = 執行(&R)... -Menu.Logoff = 登出 %s(&L) -Menu.SwitchUser = 切換使用者(&W) -Menu.Lock = 鎖定(&O) -Menu.LogOffShort = 登出(&L) -Menu.Undock = 卸除 PC(&E) -Menu.Disconnect = 中斷連線(&I) -Menu.ShutdownBox = 關機(&U)... -Menu.Shutdown = 關機(&U) -Menu.Restart = 重新啟動(&R) -Menu.ShutdownUpdate = 更新並關機 -Menu.RestartUpdate = 更新並重新啟動 -Menu.Sleep = 睡眠(&S) -Menu.Hibernate = 休眠(&H) -Menu.ControlPanel = 控制台(&C) -Menu.PCSettings = 電腦設定 -Menu.Security = Windows 安全性 -Menu.Network = 網路連線(&N) -Menu.Printers = 印表機(&P) -Menu.Taskbar = 工作列及 [開始] 功能表(&T) -Menu.SearchFiles = 檔案或資料夾(&F)... -Menu.SearchPrinter = 印表機(&P) -Menu.SearchComputers = 電腦(&C) -Menu.UserFilesTip = 包含 [文件]、[圖片]、[音樂] 資料夾,以及其他屬於您的檔案。 -Menu.UserDocumentsTip = 包含信件、報告、其他文件和檔案。 -Menu.UserPicturesTip = 包含數位相片、影像和圖形檔案。 -Menu.UserMusicTip = 包含音樂和其他音訊檔案。 -Menu.UserVideosTip = 包含影片和其他視訊檔案。 -Menu.NetworkTip = 顯示這台電腦目前的網路連線,並協助您建立新連線。 -Menu.PrintersTip = 新增、移除和設定本機及網路印表機。 -Menu.TaskbarTip = 自訂開始功能表和工作列,例如要顯示的項目類型和顯示的方式。 -Menu.ControlPanelTip = 變更設定和自訂電腦的功能。 -Menu.DocumentsLibTip = 存取信件、報告、筆記及其他類型的文件。 -Menu.MusicLibTip = 播放音樂及其他音訊檔案。 -Menu.PicturesLibTip = 檢視及管理數位圖片。 -Menu.VideosLibTip = 觀看家庭影片及其他數位視訊。 -Menu.RecordingsLibTip = 觀看電腦上錄製的電視節目。 -Menu.DownloadTip = 尋找網際網路下載與我的最愛網站的連結。 -Menu.HomegroupTip = 存取家用群組中其他人共用的媒體櫃與資料夾。 -Menu.RunTip = 開啟程式、資料夾、文件或網站。 -Menu.HelpTip = 尋找說明主題、教學課程、疑難排解和其他支援服務。 -Menu.ProgramsTip = 開啟程式清單。 -Menu.SearchFilesTip = 搜尋文件、音樂、圖片及電子郵件等等。 -Menu.GamesTip = 玩和管理您電腦上的遊戲。 -Menu.SecurityTip = 啟動 [Windows 安全性選項] 以變更密碼、切換使用者或啟動工作管理員。 -Menu.SearchComputersTip = 搜尋網路上的電腦 -Menu.SearchPrintersTip = 搜尋印表機 -Menu.AdminToolsTip = 設定電腦的系統管理設定。 -Menu.ShutdownTip = 關閉所有開啟的程式、關閉 Windows,然後關閉您的電腦。 -Menu.RestartTip = 關閉所有開啟的程式、關閉 Windows,然後重新啟動 Windows。 -Menu.SleepTip = 將您的工作階段保留在記憶體中,並且讓電腦處於低電源狀態,如此您就能夠快速地恢復工作。 -Menu.HibernateTip = 儲存您的工作階段,並且關閉電腦。當您開啟電腦時,Windows 會還原您的工作階段。 -Menu.LogOffTip = 關閉程式並登出。 -Menu.DisconnectTip = 中斷您的工作階段連線。下次重新登入時,可以重新連線。 -Menu.LockTip = 鎖定此電腦。 -Menu.UndockTip = 將筆記型電腦從船塢中卸除。 -Menu.SwitchUserTip = 切換使用者 (不關閉程式)。 -Menu.Empty = (空白) -Menu.Features = 程式和功能 -Menu.FeaturesTip = 解除安裝或變更您電腦上的程式。 -Menu.SearchPeople = 人員(&P)... -Menu.SortByName = 依名稱排序(&B) -Menu.Open = 開啟(&O) -Menu.OpenAll = 開啟所有使用者(&P) -Menu.Explore = 檔案總管(&E) -Menu.ExploreAll = 瀏覽所有使用者(&X) -Menu.MenuSettings = 設定 -Menu.MenuHelp = 說明 -Menu.MenuExit = 結束 -Menu.LogoffTitle = 登出 Windows -Menu.LogoffPrompt = 您確定要登出? -Menu.LogoffYes = 登出(&L) -Menu.LogoffNo = 否(&N) -Menu.RenameTitle = 重新命名 -Menu.RenamePrompt = 新名稱(&N): -Menu.RenameOK = 確定 -Menu.RenameCancel = 取消 -Menu.Organize = 組織 [開始] 功能表 -Menu.Expand = 展開(&A) -Menu.Collapse = 摺疊(&A) -Menu.NewFolder = 新增資料夾 -Menu.NewShortcut = 新增捷徑 -Menu.AutoArrange = 自動排列(&A) -Menu.ActionOpen = 開啟 -Menu.ActionClose = 關閉 -Menu.ActionExecute = 執行 -Menu.RemoveList = 從清單中移除(&F) -Menu.RemoveAll = 清除最近使用的項目清單(&L) -Menu.Explorer = Windows 檔案總管 -Menu.Start = 開始 -Menu.StartScreen = [開始] 畫面 -Menu.StartMenu = [開始] 功能表 (Windows) -Menu.PinStart = 釘選到 [開始] 功能表 -Menu.PinStartCs = 釘選到 [開始] 功能表 (Open-Shell) -Menu.UnpinStartCs = 從 [開始] 功能表取消釘選 (Open-Shell) -Menu.MonitorOff = 關閉顯示 -Menu.RemoveHighlight = 移除醒目提示 -Menu.Uninstall = 解除安裝(&U) -Menu.UninstallTitle = 解除安裝 -Menu.UninstallPrompt = 您確定要從電腦解除安裝 %s 嗎? -Search.CategorySettings = 設定 -Search.CategoryPCSettings = 電腦設定 -Search.CategoryPrograms = 程式 -Search.CategoryDocuments = 文件 -Search.CategoryMusic = 音樂 -Search.CategoryPictures = 圖片 -Search.CategoryVideos = 影片 -Search.CategoryFiles = 檔案 -Search.CategoryInternet = 網際網路 -JumpList.Recent = 最近 -JumpList.Frequent = 常用 -JumpList.Tasks = 工作 -JumpList.Pinned = 已釘選 -JumpList.Pin = 釘選到這個清單(&I) -JumpList.Unpin = 從這個清單取消釘選(&U) -JumpList.Remove = 從清單中移除(&F) -JumpList.PinTip = 釘選到這個清單 -JumpList.UnpinTip = 從這個清單取消釘選 - - -[zh-TW] - Chinese (Traditional) -Menu.Programs = 程式集(&P) -Menu.Apps = 應用程式 -Menu.AllPrograms = 所有程式 -Menu.Back = 上一頁 -Menu.Favorites = 我的最愛(&A) -Menu.Documents = 文件(&D) -Menu.Settings = 設定(&S) -Menu.Search = 搜尋(&C) -Menu.SearchBox = 搜尋 -Menu.SearchPrograms = 搜尋程式及檔案 -Menu.SearchInternet = 搜尋網際網路 -Menu.Searching = 正在搜尋... -Menu.NoMatch = 沒有符合搜尋的項目。 -Menu.MoreResults = 查看更多結果 -Menu.Help = 說明及支援(&H) -Menu.Run = 執行(&R)... -Menu.Logoff = 登出 %s(&L) -Menu.SwitchUser = 切換使用者(&W) -Menu.Lock = 鎖定(&O) -Menu.LogOffShort = 登出(&L) -Menu.Undock = 卸除 PC(&E) -Menu.Disconnect = 中斷連線(&I) -Menu.ShutdownBox = 關機(&U)... -Menu.Shutdown = 關機(&U) -Menu.Restart = 重新啟動(&R) -Menu.ShutdownUpdate = 更新並關機 -Menu.RestartUpdate = 更新並重新啟動 -Menu.Sleep = 睡眠(&S) -Menu.Hibernate = 休眠(&H) -Menu.ControlPanel = 控制台(&C) -Menu.PCSettings = 電腦設定 -Menu.Security = Windows 安全性 -Menu.Network = 網路連線(&N) -Menu.Printers = 印表機(&P) -Menu.Taskbar = 工作列及 [開始] 功能表(&T) -Menu.SearchFiles = 檔案或資料夾(&F)... -Menu.SearchPrinter = 印表機(&P) -Menu.SearchComputers = 電腦(&C) -Menu.UserFilesTip = 包含 [文件]、[圖片]、[音樂] 資料夾,以及其他屬於您的檔案。 -Menu.UserDocumentsTip = 包含信件、報告、其他文件和檔案。 -Menu.UserPicturesTip = 包含數位相片、影像和圖形檔案。 -Menu.UserMusicTip = 包含音樂和其他音訊檔案。 -Menu.UserVideosTip = 包含影片和其他視訊檔案。 -Menu.NetworkTip = 顯示這台電腦目前的網路連線,並協助您建立新連線。 -Menu.PrintersTip = 新增、移除和設定本機及網路印表機。 -Menu.TaskbarTip = 自訂開始功能表和工作列,例如要顯示的項目類型和顯示的方式。 -Menu.ControlPanelTip = 變更設定和自訂電腦的功能。 -Menu.DocumentsLibTip = 存取信件、報告、筆記及其他類型的文件。 -Menu.MusicLibTip = 播放音樂及其他音訊檔案。 -Menu.PicturesLibTip = 檢視及管理數位圖片。 -Menu.VideosLibTip = 觀看家庭影片及其他數位視訊。 -Menu.RecordingsLibTip = 觀看電腦上錄製的電視節目。 -Menu.DownloadTip = 尋找網際網路下載與我的最愛網站的連結。 -Menu.HomegroupTip = 存取家用群組中其他人共用的媒體櫃與資料夾。 -Menu.RunTip = 開啟程式、資料夾、文件或網站。 -Menu.HelpTip = 尋找說明主題、教學課程、疑難排解和其他支援服務。 -Menu.ProgramsTip = 開啟程式清單。 -Menu.SearchFilesTip = 搜尋文件、音樂、圖片及電子郵件等等。 -Menu.GamesTip = 玩和管理您電腦上的遊戲。 -Menu.SecurityTip = 啟動 [Windows 安全性選項] 以變更密碼、切換使用者或啟動工作管理員。 -Menu.SearchComputersTip = 搜尋網路上的電腦 -Menu.SearchPrintersTip = 搜尋印表機 -Menu.AdminToolsTip = 設定電腦的系統管理設定。 -Menu.ShutdownTip = 關閉所有開啟的程式、關閉 Windows,然後關閉您的電腦。 -Menu.RestartTip = 關閉所有開啟的程式、關閉 Windows,然後重新啟動 Windows。 -Menu.SleepTip = 將您的工作階段保留在記憶體中,並且讓電腦處於低電源狀態,如此您就能夠快速地恢復工作。 -Menu.HibernateTip = 儲存您的工作階段,並且關閉電腦。當您開啟電腦時,Windows 會還原您的工作階段。 -Menu.LogOffTip = 關閉程式並登出。 -Menu.DisconnectTip = 中斷您的工作階段連線。下次重新登入時,可以重新連線。 -Menu.LockTip = 鎖定此電腦。 -Menu.UndockTip = 將筆記型電腦從船塢中卸除。 -Menu.SwitchUserTip = 切換使用者 (不關閉程式)。 -Menu.Empty = (空白) -Menu.Features = 程式和功能 -Menu.FeaturesTip = 解除安裝或變更您電腦上的程式。 -Menu.SearchPeople = 人員(&P)... -Menu.SortByName = 依名稱排序(&B) -Menu.Open = 開啟(&O) -Menu.OpenAll = 開啟所有使用者(&P) -Menu.Explore = 檔案總管(&E) -Menu.ExploreAll = 瀏覽所有使用者(&X) -Menu.MenuSettings = 設定 -Menu.MenuHelp = 說明 -Menu.MenuExit = 結束 -Menu.LogoffTitle = 登出 Windows -Menu.LogoffPrompt = 您確定要登出? -Menu.LogoffYes = 登出(&L) -Menu.LogoffNo = 否(&N) -Menu.RenameTitle = 重新命名 -Menu.RenamePrompt = 新名稱(&N): -Menu.RenameOK = 確定 -Menu.RenameCancel = 取消 -Menu.Organize = 組織 [開始] 功能表 -Menu.Expand = 展開(&A) -Menu.Collapse = 摺疊(&A) -Menu.NewFolder = 新增資料夾 -Menu.NewShortcut = 新增捷徑 -Menu.AutoArrange = 自動排列(&A) -Menu.ActionOpen = 開啟 -Menu.ActionClose = 關閉 -Menu.ActionExecute = 執行 -Menu.RemoveList = 從清單中移除(&F) -Menu.RemoveAll = 清除最近使用的項目清單(&L) -Menu.Explorer = Windows 檔案總管 -Menu.Start = 開始 -Menu.StartScreen = [開始] 畫面 -Menu.StartMenu = [開始] 功能表 (Windows) -Menu.PinStart = 釘選到 [開始] 功能表 -Menu.PinStartCs = 釘選到 [開始] 功能表 (Open-Shell) -Menu.UnpinStartCs = 從 [開始] 功能表取消釘選 (Open-Shell) -Menu.MonitorOff = 關閉顯示 -Menu.RemoveHighlight = 移除醒目提示 -Menu.Uninstall = 解除安裝(&U) -Menu.UninstallTitle = 解除安裝 -Menu.UninstallPrompt = 您確定要從電腦解除安裝 %s 嗎? -Search.CategorySettings = 設定 -Search.CategoryPCSettings = 電腦設定 -Search.CategoryPrograms = 程式 -Search.CategoryDocuments = 文件 -Search.CategoryMusic = 音樂 -Search.CategoryPictures = 圖片 -Search.CategoryVideos = 影片 -Search.CategoryFiles = 檔案 -Search.CategoryInternet = 網際網路 -JumpList.Recent = 最近 -JumpList.Frequent = 常用 -JumpList.Tasks = 工作 -JumpList.Pinned = 已釘選 -JumpList.Pin = 釘選到這個清單(&I) -JumpList.Unpin = 從這個清單取消釘選(&U) -JumpList.Remove = 從清單中移除(&F) -JumpList.PinTip = 釘選到這個清單 -JumpList.UnpinTip = 從這個清單取消釘選 diff --git a/README.md b/README.md deleted file mode 100644 index 9682100..0000000 --- a/README.md +++ /dev/null @@ -1,29 +0,0 @@ -## Open-Shell ![Open-Shell](/Src/Setup/OpenShell.ico) - -*Originally* **[Classic Shell](http://www.classicshell.net)** *by [Ivo Beltchev](https://sourceforge.net/u/ibeltchev/profile/)* - -[![GitHub Release](https://img.shields.io/github/release/Open-Shell/Open-Shell-Menu.svg)](https://github.com/Open-Shell/Open-Shell-Menu/releases) [![GitHub Pre-Release](https://img.shields.io/github/release/Open-Shell/Open-Shell-Menu/all.svg)](https://github.com/Open-Shell/Open-Shell-Menu/releases) [![Build status](https://ci.appveyor.com/api/projects/status/2wj5x5qoypfjj0tr/branch/master?svg=true)](https://ci.appveyor.com/project/passionate-coder/open-shell-menu/branch/master) [![GitQ](https://gitq.com/badge.svg)](https://gitq.com/passionate-coder/Classic-Start) [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/open-shell/Lobby) - -[Home Page](https://open-shell.github.io/Open-Shell-Menu) - -[Discussion room](https://gitter.im/Open-Shell) - -[Latest nightly build](https://ci.appveyor.com/project/passionate-coder/open-shell-menu/branch/master/artifacts) - -### Features - -- Classic style Start Menu for Windows 7, 8, 8.1, 10 -- Toolbar for Windows Explorer -- Classic copy UI (Windows 7 only) -- Show file size in Explorer status bar -- Title bar and status bar for Internet Explorer - ---- - -*For archival reasons, we have a mirror of `www.classicshell.net` [here](https://coddec.github.io/Classic-Shell/www.classicshell.net/).* - -[How To Skin a Start Menu](https://coddec.github.io/Classic-Shell/www.classicshell.net/tutorials/skintutorial.html) - -[Classic Shell - Custom Start Buttons](https://coddec.github.io/Classic-Shell/www.classicshell.net/tutorials/buttontutorial.html) - -[Report a bug/issue or submit a feature request](https://github.com/Open-Shell/Open-Shell-Menu/issues) diff --git a/Src/BUILDME.txt b/Src/BUILDME.txt deleted file mode 100644 index 95b9034..0000000 --- a/Src/BUILDME.txt +++ /dev/null @@ -1,19 +0,0 @@ -To build Open-Shell, navigate to the Setup folder and run __MakeFinal.bat. -It will compile the binaries, produce installer for English, and create the final archives. -Then you can run the individual language files like _BuildFrench.bat to create the installers -for other languages. -The final files (installers, archives) are saved to the Setup\Final folder. - -You need the following tools: -Visual Studio 2017 (Community Edition is enough) - - Desktop development with C++ workload - - Windows 10 SDK (10.0.17134.0) for Desktop C++ - - Visual C++ ATL support -HTML Help Workshop -WiX 3.7 -7-Zip -It is possible to convert the projects to newer versions of Visual Studio and newer SDKs. -Newer versions of WiX will probably work fine. - -Note: Unlike the official release, the source code does not contain digital certificate and -produces unsigned binaries. diff --git a/Src/ClassicExplorer/ClassicCopy.cpp b/Src/ClassicExplorer/ClassicCopy.cpp deleted file mode 100644 index 8ce6982..0000000 --- a/Src/ClassicExplorer/ClassicCopy.cpp +++ /dev/null @@ -1,776 +0,0 @@ -// 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 -#include -#include -#include -#include -#include "Translations.h" -#include "Settings.h" -#include "ResourceHelper.h" -#include "ComHelper.h" -#include "dllmain.h" - -static wchar_t g_TitleMove[256]; -static wchar_t g_TitleCopy[256]; -static wchar_t g_TitleFolder[256]; -static wchar_t g_ButtonMove[256]; -static wchar_t g_ButtonDontMove[256]; -static wchar_t g_ButtonCopy[256]; -static wchar_t g_ButtonDontCopy[256]; -static wchar_t g_ButtonCancel[256]; -static wchar_t g_ButtonMore[256]; -static HMODULE g_hShell32; - -static void LogPrint( CString *pLog, const wchar_t *format, ... ) -{ - wchar_t buf[256]; - va_list args; - va_start(args,format); - int len=Vsprintf(buf,_countof(buf),format,args); - va_end(args); - *pLog+=buf; -} - -// CClassicCopyFile - this is the implementation of the Copy UI dialog box for files - -class CClassicCopyFile -{ -public: - CClassicCopyFile( void ); - ~CClassicCopyFile( void ); - - bool Run( HWND hWnd, IAccessible *pAcc, CString *pLog ); - -private: - void EnumAccChildren( IAccessible *pAcc, CString *pLog ); - void AddAccChild( IAccessible *pAcc, const VARIANT &id, CString *pLog ); - void GetFileInfo( IAccessible *pAcc, bool bSrc ); - - CString m_FileName; - bool m_bSystem; - bool m_bReadOnly; - HICON m_Icon; - - CString m_SrcSize; - CString m_SrcTime; - HICON m_SrcIcon; - - CString m_DstSize; - CString m_DstTime; - HICON m_DstIcon; - - typedef std::pair,int> CControl; - CControl m_YesButton; - CControl m_NoButton; - CControl m_CheckBox; - CControl m_Cancel; - bool m_bCopyMultiLast; // the last of a series of multi-file boxes - - static INT_PTR CALLBACK DialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); - - static void PumpMessages( void ); -}; - -CClassicCopyFile::CClassicCopyFile( void ) -{ - m_Icon=m_SrcIcon=m_DstIcon=NULL; - m_bCopyMultiLast=false; - m_bSystem=m_bReadOnly=false; -} - -CClassicCopyFile::~CClassicCopyFile( void ) -{ - if (m_Icon) DestroyIcon(m_Icon); - if (m_SrcIcon) DestroyIcon(m_SrcIcon); - if (m_DstIcon) DestroyIcon(m_DstIcon); -} - -// Show the dialog box. Returns true to suppress the original task dialog box -bool CClassicCopyFile::Run( HWND hWnd, IAccessible *pAcc, CString *pLog ) -{ - // find all interesting controls - EnumAccChildren(pAcc,pLog); - - if (!m_YesButton.first || m_YesButton.second!=CHILDID_SELF || !m_NoButton.first || m_NoButton.second!=CHILDID_SELF || !m_Cancel.first) - return false; // something is wrong, do nothing - - if (pLog) pLog->Empty(); // success - no need to log anything - - // get the info for the source and the destination file (file name, icon, properties) - m_bReadOnly=false; - m_bSystem=false; - GetFileInfo(m_YesButton.first,true); - GetFileInfo(m_NoButton.first,false); - - TlsData *pTlsData=GetTlsData(); - if (m_CheckBox.first) - pTlsData->bCopyMultiFile=true; - else if (pTlsData->bCopyMultiFile) - m_bCopyMultiLast=true; - - // pick the correct dialog template (for single and multiple files, for LTR and RTL) - int dlg=pTlsData->bCopyMultiFile?(IsLanguageRTL()?IDD_FILEMULTIR:IDD_FILEMULTI):(IsLanguageRTL()?IDD_FILER:IDD_FILE); - - HWND parent=GetWindow(GetAncestor(hWnd,GA_ROOT),GW_OWNER); - - int res=(int)DialogBoxParam(g_Instance,MAKEINTRESOURCE(dlg),parent,DialogProc,(LPARAM)this); - - if (res==IDOK || (res==IDYES && m_bCopyMultiLast)) - { - // Yes was pressed, proceed with the operation - m_YesButton.first->accDoDefaultAction(CComVariant(CHILDID_SELF)); - } - else if (res==IDNO) - { - // No - if (m_CheckBox.first && GetKeyState(VK_SHIFT)<0) - m_CheckBox.first->accDoDefaultAction(CComVariant(CHILDID_SELF)); // Shift+No = No to All - PumpMessages(); // messages need to be pumped after every accessibility action. otherwise the next action doesn't work - m_NoButton.first->accDoDefaultAction(CComVariant(CHILDID_SELF)); - } - else if (res==IDYES) - { - // Yes to All - m_CheckBox.first->accDoDefaultAction(CComVariant(CHILDID_SELF)); - PumpMessages(); // messages need to be pumped after every accessibility action. otherwise the next action doesn't work - m_YesButton.first->accDoDefaultAction(CComVariant(CHILDID_SELF)); - } - if (res==IDCANCEL) - { - // Cancel - if (GetKeyState(VK_SHIFT)<0 || GetKeyState(VK_CONTROL)<0) - return false; // // Shift+Cancel or Ctrl+Cancel was clicked - show the original dialog box - m_Cancel.first->accDoDefaultAction(CComVariant(CHILDID_SELF)); - } - if (res==IDC_LINKMORE) - { - // More... was clicked - show the original dialog box - return false; - } - return true; -} - -void CClassicCopyFile::PumpMessages( void ) -{ - MSG msg; - while (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } -} - -void CClassicCopyFile::AddAccChild( IAccessible *pAcc, const VARIANT &id, CString *pLog ) -{ - CComVariant state; - pAcc->get_accState(id,&state); - if (state.intVal&(STATE_SYSTEM_UNAVAILABLE|STATE_SYSTEM_INVISIBLE)) return; - CComVariant role; - pAcc->get_accRole(id,&role); - if (role.intVal==ROLE_SYSTEM_PUSHBUTTON) - { - CComBSTR name; - if (SUCCEEDED(pAcc->get_accName(id,&name)) && name) - { - if (pLog) - LogPrint(pLog,L"button found: '%s', %d\r\n",name,id.intVal); - if (_wcsicmp(name,g_ButtonCopy)==0 || _wcsicmp(name,g_ButtonMove)==0) - { - m_YesButton.first=pAcc; - m_YesButton.second=id.intVal; - if (pLog) - LogPrint(pLog,L"YES button: %p, %d\r\n",pAcc,id.intVal); - } - else if (_wcsicmp(name,g_ButtonDontCopy)==0 || _wcsicmp(name,g_ButtonDontMove)==0) - { - m_NoButton.first=pAcc; - m_NoButton.second=id.intVal; - if (pLog) - LogPrint(pLog,L"NO button: %p, %d\r\n",pAcc,id.intVal); - } - else if (_wcsicmp(name,g_ButtonCancel)==0) - { - m_Cancel.first=pAcc; - m_Cancel.second=id.intVal; - if (pLog) - LogPrint(pLog,L"CANCEL button: %p, %d\r\n",pAcc,id.intVal); - } - } - } - if (role.intVal==ROLE_SYSTEM_CHECKBUTTON) - { - // hopefully there is only one checkbox - m_CheckBox.first=pAcc; - m_CheckBox.second=id.intVal; - } -} - -void CClassicCopyFile::EnumAccChildren( IAccessible *pAcc, CString *pLog ) -{ - AddAccChild(pAcc,CComVariant(CHILDID_SELF),pLog); - long count; - pAcc->get_accChildCount(&count); - CComVariant children[20]; - AccessibleChildren(pAcc,0,count,children,&count); - for (int i=0;i pChild=children[i].pdispVal; - if (pChild) - EnumAccChildren(pChild,pLog); - } - else - AddAccChild(pAcc,children[i],pLog); - } -} - -void CClassicCopyFile::GetFileInfo( IAccessible *pAcc, bool bSrc ) -{ - long count; - pAcc->get_accChildCount(&count); - CComVariant children[20]; - AccessibleChildren(pAcc,0,count,children,&count); - - wchar_t fname[_MAX_PATH]=L""; - wchar_t dir[_MAX_PATH]=L""; - CString size; - CString date; - - // get the file name, directory, size and date - for (int i=0;i pChild=children[i].pdispVal; - if (pChild) - pChild->get_accName(CComVariant(CHILDID_SELF),&name); - } - else - { - pAcc->get_accName(children[i],&name); - } - switch (i) - { - case 2: if (wcslen(name)<_countof(fname)) wcscpy_s(fname,name); break; - case 3: if (wcslen(name)<_countof(dir)) wcscpy_s(dir,name); break; - case 4: size=name; break; - case 5: date=name; break; - } - } - - if (bSrc) - { - m_FileName=fname; - m_SrcSize=size; - m_SrcTime=date; - } - else - { - m_DstSize=size; - m_DstTime=date; - } - - if (!fname[0] || !dir[0]) return; - - wchar_t fname2[_MAX_PATH]; - memcpy(fname2,fname,sizeof(fname2)); - *PathFindExtension(fname2)=0; - - int len1=Strlen(fname2); - // the directory text is something like "filename (directory)". we need to parse out the real directory name - int len2=Strlen(dir); - if (dir[0]==0x202A) len1++; // for Arabic the first character is some RTL marker. needs to be skipped - if (dir[len1]==0x1E) len1++; // for Hebrew there is an extra control character after the file name - if (len1+1>=len2 || dir[len1]!=L' ' || dir[len1+1]!=L'(' || dir[len2-1]!=L')') return; - if (dir[len1+2]==0x202A) len1++; // for Hebrew the first character is some RTL marker. needs to be skipped - if (dir[len2-2]==0x202C) len2--; // for Hebrew the last character is some RTL marker. needs to be skipped - dir[len2-1]=0; - - // construct the full file name - wchar_t path[_MAX_PATH]; - _wmakepath_s(path,NULL,dir+len1+2,fname,NULL); - - if (!bSrc) - { - DWORD attrib=GetFileAttributes(path); - if (attrib!=INVALID_FILE_ATTRIBUTES) - { - if (attrib&FILE_ATTRIBUTE_READONLY) m_bReadOnly=true; - if (attrib&FILE_ATTRIBUTE_SYSTEM) m_bSystem=true; - } - } - - // get file icon - HICON hIcon=NULL; - CAbsolutePidl pidl; - if (SUCCEEDED(SHParseDisplayName(path,NULL,&pidl,0,NULL)) && pidl) - { - int iconSize=GetSystemMetrics(SM_CXICON); - HBITMAP hBitmap=NULL; - CComPtr pFactory; - if (SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItemImageFactory,(void**)&pFactory)) && pFactory) - { - SIZE size={iconSize,iconSize}; - if (FAILED(pFactory->GetImage(size,SIIGBF_ICONONLY,&hBitmap))) - hBitmap=NULL; - } - - if (hBitmap) - { - HBITMAP hMonoBitmap=CreateBitmap(iconSize,iconSize,1,1,NULL); - ICONINFO info={TRUE,0,0,hMonoBitmap,hBitmap}; - hIcon=CreateIconIndirect(&info); - DeleteObject(hMonoBitmap); - DeleteObject(hBitmap); - } - } - if (!hIcon) return; - - if (bSrc) - m_SrcIcon=hIcon; - else - m_DstIcon=hIcon; -} - -const int WM_BRINGFOREGROUND=WM_USER+11; - -INT_PTR CALLBACK CClassicCopyFile::DialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - if (uMsg==WM_INITDIALOG) - { - SetWindowText(hwndDlg,FindTranslation(L"Copy.Title",L"Confirm File Replace")); - CClassicCopyFile *pThis=(CClassicCopyFile*)lParam; - wchar_t text[_MAX_PATH*2]; - if (pThis->m_bSystem) - { - Sprintf(text,_countof(text),FindTranslation(L"Copy.SubtitleSys",L"This folder already contains a system file named '%s'."),pThis->m_FileName); - if (GetSettingInt(L"OverwriteAlertLevel")>=1) - PlaySound(L".Default",NULL,SND_APPLICATION|SND_ALIAS|SND_ASYNC|SND_NODEFAULT|SND_SYSTEM); - } - else if (pThis->m_bReadOnly) - { - Sprintf(text,_countof(text),FindTranslation(L"Copy.SubtitleRO",L"This folder already contains a read-only file named '%s'."),pThis->m_FileName); - if (GetSettingInt(L"OverwriteAlertLevel")>=2) - PlaySound(L".Default",NULL,SND_APPLICATION|SND_ALIAS|SND_ASYNC|SND_NODEFAULT|SND_SYSTEM); - } - else - Sprintf(text,_countof(text),FindTranslation(L"Copy.Subtitle",L"This folder already contains a file named '%s'."),pThis->m_FileName); - SetDlgItemText(hwndDlg,IDC_STATICFNAME,text); - - // load icon for file conflict (146) from Shell32.dll - HMODULE hShell32=GetModuleHandle(L"Shell32.dll"); - pThis->m_Icon=LoadIcon(hShell32,MAKEINTRESOURCE(146)); - if (pThis->m_Icon) - SendDlgItemMessage(hwndDlg,IDC_STATICICON1,STM_SETICON,(LPARAM)pThis->m_Icon,0); - - // set the localized text - SetDlgItemText(hwndDlg,IDC_STATICPROMPT1,FindTranslation(L"Copy.Prompt1",L"Do you want to replace the existing file:")); - SetDlgItemText(hwndDlg,IDC_STATICDSTSIZE,pThis->m_DstSize); - SetDlgItemText(hwndDlg,IDC_STATICDSTTIME,pThis->m_DstTime); - SetDlgItemText(hwndDlg,IDC_STATICPROMPT2,FindTranslation(L"Copy.Prompt2",L"with this one?")); - SendDlgItemMessage(hwndDlg,IDC_STATICDSTICON,STM_SETICON,(LPARAM)pThis->m_DstIcon,0); - SetDlgItemText(hwndDlg,IDC_STATICSRCSIZE,pThis->m_SrcSize); - SetDlgItemText(hwndDlg,IDC_STATICSRCTIME,pThis->m_SrcTime); - SendDlgItemMessage(hwndDlg,IDC_STATICSRCICON,STM_SETICON,(LPARAM)pThis->m_SrcIcon,0); - SetDlgItemText(hwndDlg,IDOK,FindTranslation(L"Copy.Yes",L"&Yes")); - SetDlgItemText(hwndDlg,IDNO,FindTranslation(L"Copy.No",L"&No")); - if (GetDlgItem(hwndDlg,IDYES)) - SetDlgItemText(hwndDlg,IDYES,FindTranslation(L"Copy.YesAll",L"Yes to &All")); - if (GetDlgItem(hwndDlg,IDCANCEL)) - SetDlgItemText(hwndDlg,IDCANCEL,FindTranslation(L"Copy.Cancel",L"Cancel")); - Sprintf(text,_countof(text),L"%s",FindTranslation(L"Copy.More",L"&More...")); - SetDlgItemText(hwndDlg,IDC_LINKMORE,text); - PostMessage(hwndDlg,WM_BRINGFOREGROUND,0,0); - return TRUE; - } - if (uMsg==WM_BRINGFOREGROUND) - { - // bring window to front (sometimes on Windows7 it shows up behind Explorer) - SetForegroundWindow(hwndDlg); - return TRUE; - } - if (uMsg==WM_COMMAND && (wParam==IDOK || wParam==IDYES || wParam==IDNO || wParam==IDCANCEL)) - { - EndDialog(hwndDlg,wParam); - return TRUE; - } - if (uMsg==WM_NOTIFY) - { - NMHDR *pHdr=(NMHDR*)lParam; - if (pHdr->idFrom==IDC_LINKMORE && (pHdr->code==NM_CLICK || pHdr->code==NM_RETURN)) - { - EndDialog(hwndDlg,IDC_LINKMORE); - return TRUE; - } - } - return FALSE; -} - -/////////////////////////////////////////////////////////////////////////////// - -// CClassicCopyFolder - this is the implementation of the Copy UI dialog box for folders - -class CClassicCopyFolder -{ -public: - CClassicCopyFolder( void ) { m_Icon=NULL; m_Original=NULL; } - ~CClassicCopyFolder( void ); - - bool Run( HWND hWnd ); - -private: - HICON m_Icon; - HWND m_Original; - - static INT_PTR CALLBACK DialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); -}; - -CClassicCopyFolder::~CClassicCopyFolder( void ) -{ - if (m_Icon) DestroyIcon(m_Icon); -} - -// Show the dialog box. Returns true to suppress the original task dialog box -bool CClassicCopyFolder::Run( HWND hWnd ) -{ - m_Original=hWnd; - const int ID_ALLCHECK=16663; - HWND check=GetDlgItem(hWnd,ID_ALLCHECK); - bool bMulti=(check && (GetWindowLong(check,GWL_STYLE)&WS_VISIBLE)); - // pick the correct dialog template (for single and multiple files, for LTR and RTL) - int dlg=bMulti?(IsLanguageRTL()?IDD_FOLDERMULTIR:IDD_FOLDERMULTI):(IsLanguageRTL()?IDD_FOLDERR:IDD_FOLDER); - - HWND parent=GetWindow(GetAncestor(hWnd,GA_ROOT),GW_OWNER); - - int res=(int)DialogBoxParam(g_Instance,MAKEINTRESOURCE(dlg),parent,DialogProc,(LPARAM)this); - - if (res==IDOK) // Yes button for single folder - { - // Yes was pressed, proceed with the operation - PostMessage(hWnd,WM_COMMAND,IDYES,(LPARAM)GetDlgItem(hWnd,IDYES)); - } - else if (res==IDNO) - { - // No - if (bMulti) - { - if (GetKeyState(VK_SHIFT)<0) - { - CheckDlgButton(hWnd,ID_ALLCHECK,BST_CHECKED); - SendMessage(hWnd,WM_COMMAND,ID_ALLCHECK,(LPARAM)check); - } - PostMessage(hWnd,WM_COMMAND,IDNO,(LPARAM)GetDlgItem(hWnd,IDNO)); // Skip - } - else - PostMessage(hWnd,WM_COMMAND,IDCANCEL,(LPARAM)GetDlgItem(hWnd,IDCANCEL)); // No - } - else if (res==IDYES) - { - // Yes to All - CheckDlgButton(hWnd,ID_ALLCHECK,BST_CHECKED); - SendMessage(hWnd,WM_COMMAND,ID_ALLCHECK,(LPARAM)check); - PostMessage(hWnd,WM_COMMAND,IDYES,(LPARAM)GetDlgItem(hWnd,IDYES)); - } - if (res==IDCANCEL) - { - // Cancel - if (GetKeyState(VK_SHIFT)<0 || GetKeyState(VK_CONTROL)<0) - return false; // // Shift+Cancel or Ctrl+Cancel was clicked - show the original dialog box - PostMessage(hWnd,WM_COMMAND,IDCANCEL,(LPARAM)GetDlgItem(hWnd,IDCANCEL)); // No - } - if (res==IDC_LINKMORE) - { - // More... was clicked - show the original dialog box - return false; - } - return true; -} - -INT_PTR CALLBACK CClassicCopyFolder::DialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - if (uMsg==WM_INITDIALOG) - { - SetWindowText(hwndDlg,FindTranslation(L"Folder.Title",L"Confirm Folder Replace")); - CClassicCopyFolder *pThis=(CClassicCopyFolder*)lParam; - wchar_t text[2048]; - // find the link control and get its text - HWND link=FindWindowEx(pThis->m_Original,NULL,WC_LINK,NULL); - if (link) - GetWindowText(link,text,_countof(text)); - else - text[0]=0; - Strcat(text,_countof(text),L"\r\n\r\n"); - Strcat(text,_countof(text),FindTranslation(L"Folder.Prompt",L"Do you still want to move or copy the folder?")); - SetDlgItemText(hwndDlg,IDC_STATICFNAME,text); - - // load icon for file conflict (146) from Shell32.dll - HMODULE hShell32=GetModuleHandle(L"Shell32.dll"); - pThis->m_Icon=LoadIcon(hShell32,MAKEINTRESOURCE(146)); - if (pThis->m_Icon) - SendDlgItemMessage(hwndDlg,IDC_STATICICON1,STM_SETICON,(LPARAM)pThis->m_Icon,0); - - // set the localized text - SetDlgItemText(hwndDlg,IDOK,FindTranslation(L"Copy.Yes",L"&Yes")); - SetDlgItemText(hwndDlg,IDNO,FindTranslation(L"Copy.No",L"&No")); - if (GetDlgItem(hwndDlg,IDYES)) - SetDlgItemText(hwndDlg,IDYES,FindTranslation(L"Copy.YesAll",L"Yes to &All")); - if (GetDlgItem(hwndDlg,IDCANCEL)) - SetDlgItemText(hwndDlg,IDCANCEL,FindTranslation(L"Copy.Cancel",L"Cancel")); - Sprintf(text,_countof(text),L"%s",FindTranslation(L"Copy.More",L"&More...")); - SetDlgItemText(hwndDlg,IDC_LINKMORE,text); - PostMessage(hwndDlg,WM_BRINGFOREGROUND,0,0); - return TRUE; - } - if (uMsg==WM_BRINGFOREGROUND) - { - // bring window to front (sometimes on Windows7 it shows up behind Explorer) - SetForegroundWindow(hwndDlg); - return TRUE; - } - if (uMsg==WM_COMMAND && (wParam==IDOK || wParam==IDYES || wParam==IDNO || wParam==IDCANCEL)) - { - EndDialog(hwndDlg,wParam); - return TRUE; - } - if (uMsg==WM_NOTIFY) - { - NMHDR *pHdr=(NMHDR*)lParam; - if (pHdr->idFrom==IDC_LINKMORE && (pHdr->code==NM_CLICK || pHdr->code==NM_RETURN)) - { - EndDialog(hwndDlg,IDC_LINKMORE); - return TRUE; - } - } - return FALSE; -} - -/////////////////////////////////////////////////////////////////////////////// - -static CComPtr FindMoreButton( IAccessible *pAcc ) -{ - CComVariant state; - CComVariant self(CHILDID_SELF); - pAcc->get_accState(self,&state); - if (!(state.intVal&(STATE_SYSTEM_UNAVAILABLE|STATE_SYSTEM_INVISIBLE))) - { - CComVariant role; - pAcc->get_accRole(self,&role); - if (role.intVal==ROLE_SYSTEM_PUSHBUTTON) - { - CComBSTR name; - if (SUCCEEDED(pAcc->get_accName(self,&name)) && name && _wcsicmp(name,g_ButtonMore)==0) - return pAcc; - } - } - - CComVariant children[30]; - long count; - AccessibleChildren(pAcc,0,_countof(children),children,&count); - for (int i=0;i pChild=children[i].pdispVal; - if (pChild) - { - CComPtr pRes=FindMoreButton(pChild); - if (pRes) return pRes; - } - } - } - return NULL; -} - -/////////////////////////////////////////////////////////////////////////////// - -static LRESULT CALLBACK WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_WINDOWPOSCHANGING) - { - WINDOWPOS *pos=(WINDOWPOS*)lParam; - if (pos->flags&SWP_SHOWWINDOW) - { - wchar_t title[256]; - GetWindowText(hWnd,title,_countof(title)); - - if (_wcsicmp(title,g_TitleMove)==0 || _wcsicmp(title,g_TitleCopy)==0) - { - // file UI - if (GetSettingBool(L"ReplaceFileUI")) - { - CString log; - CComPtr pAcc; - HRESULT h=AccessibleObjectFromWindow(hWnd,OBJID_WINDOW,IID_IAccessible,(void**)&pAcc); - if (SUCCEEDED(h) && pAcc) - { - CClassicCopyFile copy; - if (copy.Run(hWnd,pAcc,g_bLogLevel?&log:NULL)) - { - pos->x=pos->y=-20000; - pos->flags&=~(SWP_SHOWWINDOW|SWP_NOMOVE); - } - } - else if (g_bLogLevel) - LogPrint(&log,L"AccessibleObjectFromWindow: error=0x%X, hWnd=0x%p",h,hWnd); - - if (g_bLogLevel) - { - wchar_t fname[_MAX_PATH]=L"%LOCALAPPDATA%\\OpenShell"; - DoEnvironmentSubst(fname,_MAX_PATH); - SHCreateDirectory(NULL,fname); - Strcat(fname,_countof(fname),L"\\ExplorerLog.txt"); - if (!log.IsEmpty()) - { - FILE *f; - if (_wfopen_s(&f,fname,L"wb")==0) - { - fwprintf(f,L"\xFEFF"); - - OSVERSIONINFOEX ver={sizeof(ver)}; - #pragma warning(suppress:4996) - GetVersionEx((OSVERSIONINFO*)&ver); - fwprintf(f,L"version = %d.%d.%d - %d.%d\r\n\r\n",ver.dwMajorVersion,ver.dwMinorVersion,ver.dwBuildNumber,ver.wServicePackMajor,ver.wServicePackMinor); - - wchar_t languages[100]={0}; - ULONG size=4; // up to 4 languages - ULONG len=_countof(languages); - GetUserPreferredUILanguages(MUI_LANGUAGE_NAME,&size,languages,&len); - for (const wchar_t *lang=languages;*lang;lang+=wcslen(lang)+1) - fwprintf(f,L"language = %s\r\n",lang); - - fwprintf(f,L"\r\n"); - fwprintf(f,L"g_ButtonMove = '%s'\r\n",g_ButtonMove); - fwprintf(f,L"g_ButtonDontMove = '%s'\r\n",g_ButtonDontMove); - fwprintf(f,L"g_ButtonCopy = '%s'\r\n",g_ButtonCopy); - fwprintf(f,L"g_ButtonDontCopy = '%s'\r\n",g_ButtonDontCopy); - fwprintf(f,L"g_ButtonCancel = '%s'\r\n",g_ButtonCancel); - fwprintf(f,L"\r\n"); - - fwrite((const wchar_t*)log,log.GetLength(),2,f); - fclose(f); - } - } - else - DeleteFile(fname); - } - } - } - else if (_wcsicmp(title,g_TitleFolder)==0) - { - // folder UI - if (GetSettingBool(L"ReplaceFolderUI")) - { - CClassicCopyFolder copy; - if (copy.Run(hWnd)) - { - pos->x=pos->y=-20000; - pos->flags&=~(SWP_SHOWWINDOW|SWP_NOMOVE); - } - } - } - else - { - // look for progress bar - if (GetSettingBool(L"EnableMore")) - { - HWND progress=FindChildWindow(hWnd,PROGRESS_CLASS); - if (progress) - { - bool bDef; - int delay=GetSettingInt(L"MoreProgressDelay",bDef); - if (bDef) - { - delay=0; - if (GetWinVersion()>=WIN_VER_WIN7) - { - BOOL comp; - if (SUCCEEDED(DwmIsCompositionEnabled(&comp)) && comp) - delay=500; - } - } - SetTimer(hWnd,'CLEX',delay,NULL); - return DefSubclassProc(hWnd,uMsg,wParam,lParam); - } - } - } - LRESULT res=DefSubclassProc(hWnd,uMsg,wParam,lParam); - RemoveWindowSubclass(hWnd,WindowProc,uIdSubclass); - return res; - } - } - if (uMsg==WM_TIMER && wParam=='CLEX') - { - KillTimer(hWnd,wParam); - - CComPtr pAcc; - HRESULT h=AccessibleObjectFromWindow(hWnd,OBJID_WINDOW,IID_IAccessible,(void**)&pAcc); - if (SUCCEEDED(h) && pAcc) - { - CComPtr pMore=FindMoreButton(pAcc); - if (pMore) pMore->accDoDefaultAction(CComVariant(CHILDID_SELF)); - } - - LRESULT res=DefSubclassProc(hWnd,uMsg,wParam,lParam); - RemoveWindowSubclass(hWnd,WindowProc,uIdSubclass); - return res; - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CALLBACK ClassicCopyHook( int nCode, WPARAM wParam, LPARAM lParam ) -{ - if (nCode==HCBT_CREATEWND) - { - HWND hWnd=(HWND)wParam; - CBT_CREATEWND *create=(CBT_CREATEWND*)lParam; - HINSTANCE hInst=(HINSTANCE)GetWindowLongPtr(hWnd,GWLP_HINSTANCE); - if (create->lpcs->lpszName && (intptr_t)create->lpcs->lpszClass==32770 && hInst==g_hShell32) - { - WaitDllInitThread(); - static LONG id; - int i=InterlockedIncrement(&id); - SetWindowSubclass(hWnd,WindowProc,i,0); - } - } - TlsData *pTlsData=GetTlsData(); - return CallNextHookEx(pTlsData->copyHook,nCode,wParam,lParam); -} - -void InitClassicCopyProcess( void ) -{ - // load UI text from shell32.dll - // the text is used to locate controls in the copy dialog by name - g_hShell32=GetModuleHandle(L"shell32.dll"); - LoadString(g_hShell32,17027,g_TitleMove,256); - LoadString(g_hShell32,17024,g_TitleCopy,256); - LoadString(g_hShell32,16705,g_TitleFolder,256); - LoadString(g_hShell32,13610,g_ButtonMove,256); - LoadString(g_hShell32,13623,g_ButtonDontMove,256); - LoadString(g_hShell32,13604,g_ButtonCopy,256); - LoadString(g_hShell32,13606,g_ButtonDontCopy,256); - LoadString(g_hShell32,13588,g_ButtonCancel,256); - LoadString(g_hShell32,32992,g_ButtonMore,256); -} - -void InitClassicCopyThread( void ) -{ - TlsData *pTlsData=GetTlsData(); - if (!pTlsData->copyHook) - pTlsData->copyHook=SetWindowsHookEx(WH_CBT,ClassicCopyHook,g_Instance,GetCurrentThreadId()); -} - -void FreeClassicCopyThread( void ) -{ - TlsData *pTlsData=GetTlsData(); - if (pTlsData->copyHook) - { - UnhookWindowsHookEx(pTlsData->copyHook); - pTlsData->copyHook=NULL; - } -} diff --git a/Src/ClassicExplorer/ClassicCopyExt.cpp b/Src/ClassicExplorer/ClassicCopyExt.cpp deleted file mode 100644 index 1254490..0000000 --- a/Src/ClassicExplorer/ClassicCopyExt.cpp +++ /dev/null @@ -1,44 +0,0 @@ -// 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 - -// ClassicCopyExt.cpp : Implementation of CClassicCopyExt - -#include "stdafx.h" -#include "ClassicCopyExt.h" -#include "ResourceHelper.h" -#include "dllmain.h" - - -// CClassicCopyExt - this is a dummy drag and drop handler. Its purpose is to get Explorer to load the DLL when -// a file is being copied or moved. - -void InitClassicCopyThread( void ); - -STDMETHODIMP CClassicCopyExt::Initialize( PCIDLIST_ABSOLUTE pidlFolder, LPDATAOBJECT pDataObj, HKEY hProgID ) -{ - InitClassicCopyThread(); - return S_OK; -} - -STDMETHODIMP CClassicCopyExt::QueryContextMenu( HMENU hmenu, UINT uMenuIndex, UINT uidFirstCmd, UINT uidLastCmd, UINT uFlags ) -{ - return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,0); -} - -STDMETHODIMP CClassicCopyExt::GetCommandString( UINT_PTR idCmd, UINT uFlags, UINT* pwReserved, LPSTR pszName, UINT cchMax ) -{ - return E_INVALIDARG; -} - -STDMETHODIMP CClassicCopyExt::InvokeCommand( LPCMINVOKECOMMANDINFO pCmdInfo ) -{ - return E_INVALIDARG; -} - -HRESULT WINAPI CClassicCopyExt::UpdateRegistry( BOOL bRegister ) -{ - if (GetWinVersion()>=WIN_VER_WIN8) - return S_OK; - return _AtlModule.UpdateRegistryFromResource(IDR_CLASSICCOPYEXT,bRegister); -} diff --git a/Src/ClassicExplorer/ClassicCopyExt.h b/Src/ClassicExplorer/ClassicCopyExt.h deleted file mode 100644 index 9b02cbd..0000000 --- a/Src/ClassicExplorer/ClassicCopyExt.h +++ /dev/null @@ -1,59 +0,0 @@ -// 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 - -// ClassicCopyExt.h : Declaration of the CClassicCopyExt - -#pragma once -#include "resource.h" // main symbols - -#include "ClassicExplorer_i.h" -#include - -// CClassicCopyExt - -class ATL_NO_VTABLE CClassicCopyExt : - public CComObjectRootEx, - public CComCoClass, - public IShellExtInit, - public IContextMenu - -{ -public: - CClassicCopyExt() - { - } - - static HRESULT WINAPI UpdateRegistry( BOOL bRegister ); - -DECLARE_NOT_AGGREGATABLE(CClassicCopyExt) - -BEGIN_COM_MAP(CClassicCopyExt) - COM_INTERFACE_ENTRY(IShellExtInit) - COM_INTERFACE_ENTRY(IContextMenu) -END_COM_MAP() - - - - DECLARE_PROTECT_FINAL_CONSTRUCT() - - HRESULT FinalConstruct() - { - return S_OK; - } - - void FinalRelease() - { - } - -public: - // IShellExtInit - STDMETHODIMP Initialize(PCIDLIST_ABSOLUTE, LPDATAOBJECT, HKEY); - - // IContextMenu - STDMETHODIMP GetCommandString(UINT_PTR, UINT, UINT*, LPSTR, UINT); - STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO); - STDMETHODIMP QueryContextMenu(HMENU, UINT, UINT, UINT, UINT); -}; - -OBJECT_ENTRY_AUTO(__uuidof(ClassicCopyExt), CClassicCopyExt) diff --git a/Src/ClassicExplorer/ClassicCopyExt.rgs b/Src/ClassicExplorer/ClassicCopyExt.rgs deleted file mode 100644 index 4a09c1c..0000000 --- a/Src/ClassicExplorer/ClassicCopyExt.rgs +++ /dev/null @@ -1,58 +0,0 @@ -HKCR -{ - ClassicExplorer.ClassicCopyExt.1 = s 'ClassicCopyExt Class' - { - CLSID = s '{8C83ACB1-75C3-45D2-882C-EFA32333491C}' - } - ClassicExplorer.ClassicCopyExt = s 'ClassicCopyExt Class' - { - CLSID = s '{8C83ACB1-75C3-45D2-882C-EFA32333491C}' - CurVer = s 'ClassicExplorer.ClassicCopyExt.1' - } - NoRemove CLSID - { - ForceRemove {8C83ACB1-75C3-45D2-882C-EFA32333491C} = s 'ClassicCopyExt Class' - { - ProgID = s 'ClassicExplorer.ClassicCopyExt.1' - VersionIndependentProgID = s 'ClassicExplorer.ClassicCopyExt' - ForceRemove 'Programmable' - InprocServer32 = s '%MODULE%' - { - val ThreadingModel = s 'Apartment' - } - 'TypeLib' = s '{BF8D124A-A4E0-402F-8152-4EF377E62586}' - } - } - - NoRemove Directory - { - NoRemove shellex - { - NoRemove DragDropHandlers - { - ForceRemove ClassicCopyExt = s '{8C83ACB1-75C3-45D2-882C-EFA32333491C}' - } - } - } - NoRemove Drive - { - NoRemove shellex - { - NoRemove DragDropHandlers - { - ForceRemove ClassicCopyExt = s '{8C83ACB1-75C3-45D2-882C-EFA32333491C}' - } - } - } - - NoRemove Folder - { - NoRemove shellex - { - NoRemove DragDropHandlers - { - ForceRemove ClassicCopyExt = s '{8C83ACB1-75C3-45D2-882C-EFA32333491C}' - } - } - } -} diff --git a/Src/ClassicExplorer/ClassicExplorer.cpp b/Src/ClassicExplorer/ClassicExplorer.cpp deleted file mode 100644 index 0288912..0000000 --- a/Src/ClassicExplorer/ClassicExplorer.cpp +++ /dev/null @@ -1,91 +0,0 @@ -// 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 - -// ClassicExplorer.cpp : Implementation of DLL Exports. - -#include "stdafx.h" -#include "resource.h" -#include "ClassicExplorer_i.h" -#include "dllmain.h" - -// Used to determine whether the DLL can be unloaded by OLE -STDAPI DllCanUnloadNow(void) -{ - return _AtlModule.DllCanUnloadNow(); -} - -extern bool g_bExplorerExe; - -// Returns a class factory to create an object of the requested type -STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) -{ - WaitDllInitThread(); - if (!g_bExplorerExe && rclsid!=CLSID_ShareOverlay) - return CLASS_E_CLASSNOTAVAILABLE; - return _AtlModule.DllGetClassObject(rclsid, riid, ppv); -} - - -// DllRegisterServer - Adds entries to the system registry -STDAPI DllRegisterServer(void) -{ - WaitDllInitThread(); - // registers object, typelib and all interfaces in typelib - HRESULT res=_AtlModule.DllRegisterServer(); - if (SUCCEEDED(res)) - { - // mark the extensions as compatible with the enhanced protected mode of IE10 - // they are not technically IE extensions, but it complains about them as - // being incompatible - CComPtr catRegister; - catRegister.CoCreateInstance(CLSID_StdComponentCategoriesMgr); - if (catRegister) - { - CATID CATID_AppContainerCompatible={0x59fb2056,0xd625,0x48d0,{0xa9,0x44,0x1a,0x85,0xb5,0xab,0x26,0x40}}; - catRegister->RegisterClassImplCategories(CLSID_ExplorerBHO,1,&CATID_AppContainerCompatible); - catRegister->RegisterClassImplCategories(CLSID_ExplorerBand,1,&CATID_AppContainerCompatible); - } - } - return res; -} - - -// DllUnregisterServer - Removes entries from the system registry -STDAPI DllUnregisterServer(void) -{ - WaitDllInitThread(); - return _AtlModule.DllUnregisterServer(); -} - -// 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[] = L"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; -} diff --git a/Src/ClassicExplorer/ClassicExplorer.idl b/Src/ClassicExplorer/ClassicExplorer.idl deleted file mode 100644 index a457dc4..0000000 --- a/Src/ClassicExplorer/ClassicExplorer.idl +++ /dev/null @@ -1,90 +0,0 @@ -// ClassicExplorer.idl : IDL source for ClassicExplorer -// - -// This file will be processed by the MIDL tool to -// produce the type library (ClassicExplorer.tlb) and marshalling code. - -import "oaidl.idl"; -import "ocidl.idl"; - -[ - object, - uuid(BC4C1B8F-0BDE-4E42-9583-E072B2A28E0D), - dual, - nonextensible, - helpstring("IExplorerBand Interface"), - pointer_default(unique) -] -interface IExplorerBand : IDispatch{ -}; -[ - object, - uuid(6E00B97F-A4D4-4062-98E4-4F66FC96F32F), - dual, - nonextensible, - helpstring("IClassicCopyExt Interface"), - pointer_default(unique) -] -interface IClassicCopyExt : IDispatch{ -}; -[ - object, - uuid(A1678625-A011-4B7C-A1FA-D691E4CDDB79), - dual, - nonextensible, - helpstring("IExplorerBHO Interface"), - pointer_default(unique) -] -interface IExplorerBHO : IDispatch{ -}; -[ - object, - uuid(2576496C-B58A-4995-8878-8B68F9E8D1FC), - dual, - nonextensible, - helpstring("IShareOverlay Interface"), - pointer_default(unique) -] -interface IShareOverlay : IDispatch{ -}; -[ - uuid(BF8D124A-A4E0-402F-8152-4EF377E62586), - version(1.0), - helpstring("ClassicExplorer 1.0 Type Library") -] -library ClassicExplorerLib -{ - importlib("stdole2.tlb"); - [ - uuid(553891B7-A0D5-4526-BE18-D3CE461D6310), - helpstring("ExplorerBand Class") - ] - coclass ExplorerBand - { - [default] interface IExplorerBand; - }; - [ - uuid(8C83ACB1-75C3-45D2-882C-EFA32333491C), - helpstring("ClassicCopyExt Class") - ] - coclass ClassicCopyExt - { - [default] interface IClassicCopyExt; - }; - [ - uuid(449D0D6E-2412-4E61-B68F-1CB625CD9E52), - helpstring("ExplorerBHO Class") - ] - coclass ExplorerBHO - { - [default] interface IExplorerBHO; - }; - [ - uuid(594D4122-1F87-41E2-96C7-825FB4796516), - helpstring("ShareOverlay Class") - ] - coclass ShareOverlay - { - [default] interface IShareOverlay; - }; -}; diff --git a/Src/ClassicExplorer/ClassicExplorer.rc b/Src/ClassicExplorer/ClassicExplorer.rc deleted file mode 100644 index e670bed..0000000 --- a/Src/ClassicExplorer/ClassicExplorer.rc +++ /dev/null @@ -1,676 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "windows.h" -#include "winres.h" -#include "..\Lib\resource.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" - "#include ""..\\Lib\\resource.h""\0" -END - -3 TEXTINCLUDE -BEGIN - "#include ""..\\Lib\\resource.h""\r\n" - "#include ""..\\Lib\\Lib.rc""\r\n" - "1 TYPELIB ""ClassicExplorer.tlb""\r\0" -END - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "#include ""..\\Lib\\resource.h""\r\n" - "#include ""..\\Lib\\Lib.rc""\r\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\0" -END - -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\n" - "#include ""..\\Lib\\resource.h""\r\n" - "#include ""..\\Lib\\Lib.rc""\r\0" -END - -3 TEXTINCLUDE -BEGIN - "1 TYPELIB ""ClassicExplorer.tlb""\r\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_FILE DIALOGEX 0, 0, 266, 136 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Confirm File Replace" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - DEFPUSHBUTTON "&Yes",IDOK,149,115,53,14 - PUSHBUTTON "&No",IDNO,206,115,53,14 - ICON "",IDC_STATICICON1,7,7,20,20 - LTEXT "This folder already contains a file called 'blah.txt'.",IDC_STATICFNAME,35,7,224,23,SS_NOPREFIX - LTEXT "Do you want to replace the existing file:",IDC_STATICPROMPT1,35,34,224,8,SS_NOPREFIX - ICON "",IDC_STATICDSTICON,43,46,20,20 - LTEXT "Static",IDC_STATICDSTSIZE,69,47,190,8,SS_NOPREFIX - LTEXT "Static",IDC_STATICDSTTIME,69,57,190,8,SS_NOPREFIX - LTEXT "with this one?",IDC_STATICPROMPT2,35,74,224,8,SS_NOPREFIX - ICON "",IDC_STATICSRCICON,43,86,20,20 - LTEXT "Static",IDC_STATICSRCSIZE,69,87,190,8,SS_NOPREFIX - LTEXT "Static",IDC_STATICSRCTIME,69,97,190,8,SS_NOPREFIX - CONTROL "&More...",IDC_LINKMORE,"SysLink",WS_TABSTOP,7,120,57,10 -END - -IDD_FILEMULTI DIALOGEX 0, 0, 285, 136 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Confirm File Replace" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - DEFPUSHBUTTON "&Yes",IDOK,55,115,53,14 - PUSHBUTTON "Yes to &All",IDYES,112,115,53,14 - PUSHBUTTON "&No",IDNO,169,115,53,14 - PUSHBUTTON "Cancel",IDCANCEL,226,115,53,14 - ICON "",IDC_STATICICON1,7,7,20,20 - LTEXT "This folder already contains a file called 'blah.txt'.",IDC_STATICFNAME,35,7,243,23,SS_NOPREFIX - LTEXT "Do you want to replace the existing file:",IDC_STATICPROMPT1,35,34,243,8,SS_NOPREFIX - ICON "",IDC_STATICDSTICON,43,46,20,20 - LTEXT "Static",IDC_STATICDSTSIZE,69,47,209,8,SS_NOPREFIX - LTEXT "Static",IDC_STATICDSTTIME,69,57,209,8,SS_NOPREFIX - LTEXT "with this one?",IDC_STATICPROMPT2,35,74,243,8,SS_NOPREFIX - ICON "",IDC_STATICSRCICON,43,86,20,20 - LTEXT "Static",IDC_STATICSRCSIZE,69,87,209,8,SS_NOPREFIX - LTEXT "Static",IDC_STATICSRCTIME,69,97,209,8,SS_NOPREFIX - CONTROL "&More...",IDC_LINKMORE,"SysLink",WS_TABSTOP,7,120,45,10 -END - -IDD_FILEMULTIR DIALOGEX 0, 0, 285, 136 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_LAYOUTRTL -CAPTION "Confirm File Replace" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - DEFPUSHBUTTON "&Yes",IDOK,55,115,53,14 - PUSHBUTTON "Yes to &All",IDYES,112,115,53,14 - PUSHBUTTON "&No",IDNO,169,115,53,14 - PUSHBUTTON "Cancel",IDCANCEL,226,115,53,14 - ICON "",IDC_STATICICON1,7,7,20,20 - LTEXT "This folder already contains a file called 'blah.txt'.",IDC_STATICFNAME,35,7,243,23,SS_NOPREFIX - LTEXT "Do you want to replace the existing file:",IDC_STATICPROMPT1,35,34,243,8,SS_NOPREFIX - ICON "",IDC_STATICDSTICON,43,46,20,20 - LTEXT "Static",IDC_STATICDSTSIZE,69,47,209,8,SS_NOPREFIX - LTEXT "Static",IDC_STATICDSTTIME,69,57,209,8,SS_NOPREFIX - LTEXT "with this one?",IDC_STATICPROMPT2,35,74,243,8,SS_NOPREFIX - ICON "",IDC_STATICSRCICON,43,86,20,20 - LTEXT "Static",IDC_STATICSRCSIZE,69,87,209,8,SS_NOPREFIX - LTEXT "Static",IDC_STATICSRCTIME,69,97,209,8,SS_NOPREFIX - CONTROL "&More...",IDC_LINKMORE,"SysLink",WS_TABSTOP,7,120,45,10 -END - -IDD_FILER DIALOGEX 0, 0, 266, 136 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_LAYOUTRTL -CAPTION "Confirm File Replace" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - DEFPUSHBUTTON "&Yes",IDOK,149,115,53,14 - PUSHBUTTON "&No",IDNO,206,115,53,14 - ICON "",IDC_STATICICON1,7,7,20,20 - LTEXT "This folder already contains a file called 'blah.txt'.",IDC_STATICFNAME,35,7,224,23,SS_NOPREFIX - LTEXT "Do you want to replace the existing file:",IDC_STATICPROMPT1,35,34,224,8,SS_NOPREFIX - ICON "",IDC_STATICDSTICON,43,46,20,20 - LTEXT "Static",IDC_STATICDSTSIZE,69,47,190,8,SS_NOPREFIX - LTEXT "Static",IDC_STATICDSTTIME,69,57,190,8,SS_NOPREFIX - LTEXT "with this one?",IDC_STATICPROMPT2,35,74,224,8,SS_NOPREFIX - ICON "",IDC_STATICSRCICON,43,86,20,20 - LTEXT "Static",IDC_STATICSRCSIZE,69,87,190,8,SS_NOPREFIX - LTEXT "Static",IDC_STATICSRCTIME,69,97,190,8,SS_NOPREFIX - CONTROL "&More...",IDC_LINKMORE,"SysLink",WS_TABSTOP,7,120,57,10 -END - -IDD_FOLDERMULTI DIALOGEX 0, 0, 285, 100 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Confirm Folder Replace" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - DEFPUSHBUTTON "&Yes",IDOK,55,79,53,14 - PUSHBUTTON "Yes to &All",IDYES,112,79,53,14 - PUSHBUTTON "&No",IDNO,169,79,53,14 - PUSHBUTTON "Cancel",IDCANCEL,226,79,53,14 - ICON "",IDC_STATICICON1,7,7,20,20 - LTEXT "This folder already contains a folder called 'blah'.",IDC_STATICFNAME,35,7,243,65,SS_NOPREFIX - CONTROL "&More...",IDC_LINKMORE,"SysLink",WS_TABSTOP,7,84,45,10 -END - -IDD_FOLDER DIALOGEX 0, 0, 266, 100 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Confirm Folder Replace" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - DEFPUSHBUTTON "&Yes",IDOK,149,79,53,14 - PUSHBUTTON "&No",IDNO,206,79,53,14 - ICON "",IDC_STATICICON1,7,7,20,20 - LTEXT "This folder already contains a folder called 'blah'.",IDC_STATICFNAME,35,7,224,65,SS_NOPREFIX - CONTROL "&More...",IDC_LINKMORE,"SysLink",WS_TABSTOP,7,84,57,10 -END - -IDD_FOLDERR DIALOGEX 0, 0, 266, 99 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_LAYOUTRTL -CAPTION "Confirm Folder Replace" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - DEFPUSHBUTTON "&Yes",IDOK,149,78,53,14 - PUSHBUTTON "&No",IDNO,206,78,53,14 - ICON "",IDC_STATICICON1,7,7,20,20 - LTEXT "This folder already contains a folder called 'blah'.",IDC_STATICFNAME,35,7,224,65,SS_NOPREFIX - CONTROL "&More...",IDC_LINKMORE,"SysLink",WS_TABSTOP,7,83,57,10 -END - -IDD_FOLDERMULTIR DIALOGEX 0, 0, 285, 100 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_LAYOUTRTL -CAPTION "Confirm Folder Replace" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - DEFPUSHBUTTON "&Yes",IDOK,55,79,53,14 - PUSHBUTTON "Yes to &All",IDYES,112,79,53,14 - PUSHBUTTON "&No",IDNO,169,79,53,14 - PUSHBUTTON "Cancel",IDCANCEL,226,79,53,14 - ICON "",IDC_STATICICON1,7,7,20,20 - LTEXT "This folder already contains a folder called 'blah'.",IDC_STATICFNAME,35,7,243,65,SS_NOPREFIX - CONTROL "&More...",IDC_LINKMORE,"SysLink",WS_TABSTOP,7,84,45,10 -END - -IDD_CUSTOMTOOLBAR DIALOGEX 0, 0, 249, 183 -STYLE DS_SETFONT | DS_CENTER | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME -CAPTION "Edit Toolbar Button (%s)" -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - LTEXT "Command:",IDC_STATICCOMMAND,7,7,35,12,SS_CENTERIMAGE - COMBOBOX IDC_COMBOCOMMAND,47,7,180,30,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_BUTTONCOMMAND,228,7,14,12 - LTEXT "Link:",IDC_STATICLINK,7,23,16,12,SS_CENTERIMAGE - COMBOBOX IDC_COMBOLINK,47,23,180,30,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_BUTTONLINK,228,23,14,12 - LTEXT "Label:",IDC_STATICTEXT,7,41,22,12,SS_CENTERIMAGE - EDITTEXT IDC_EDITLABEL,47,41,195,12,ES_AUTOHSCROLL - LTEXT "Tip:",IDC_STATICINFOTIP,7,58,13,12,SS_CENTERIMAGE - EDITTEXT IDC_EDITTIP,47,58,195,12,ES_AUTOHSCROLL - LTEXT "Icon:",IDC_STATICICON,7,74,18,12,SS_CENTERIMAGE - EDITTEXT IDC_EDITICON,47,74,180,12,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_BUTTONICON,228,74,14,12 - ICON "",IDC_ICONN,9,89,20,20 - LTEXT "Disabled:",IDC_STATICICOND,7,113,35,12,SS_CENTERIMAGE - EDITTEXT IDC_EDITICOND,47,113,180,12,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_BUTTONICOND,228,113,14,12 - ICON "",IDC_ICOND,9,127,20,20 - PUSHBUTTON "Restore defaults",IDC_BUTTONRESET,7,162,90,14 - DEFPUSHBUTTON "OK",IDOK,135,162,50,14 - PUSHBUTTON "Cancel",IDCANCEL,192,162,50,14 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION _PRODUCT_VERSION - PRODUCTVERSION _PRODUCT_VERSION - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "Open-Shell" - VALUE "FileDescription", "Adds classic Windows Explorer features" - VALUE "FileVersion", _PRODUCT_VERSION_STR - VALUE "InternalName", "ClassicExplorer.dll" - VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team" - VALUE "OriginalFilename", "ClassicExplorer.dll" - VALUE "ProductName", "Open-Shell" - VALUE "ProductVersion", _PRODUCT_VERSION_STR - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// REGISTRY -// - -IDR_CLASSICEXPLORER REGISTRY "ClassicExplorer.rgs" -IDR_EXPLORERBAND REGISTRY "ExplorerBand.rgs" -IDR_EXPLORERBHO REGISTRY "ExplorerBHO.rgs" -IDR_CLASSICCOPYEXT REGISTRY "ClassicCopyExt.rgs" -IDR_SHAREOVERLAY REGISTRY "ShareOverlay.rgs" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APPICON ICON "..\\Setup\\OpenShell.ico" -IDI_UP2DISABLED ICON "up2Disabled.ico" -IDI_UP2HOT ICON "up2Hot.ico" -IDI_UP2NORMAL ICON "up2Normal.ico" -IDI_UP2PRESSED ICON "up2Pressed.ico" -IDI_UP ICON "up.ico" -IDI_UPDISABLED ICON "upDisabled.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_CUSTOMTOOLBAR, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 242 - TOPMARGIN, 7 - BOTTOMMARGIN, 176 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_APP_TITLE "Classic Explorer" - IDS_NEW_SETTINGS1 "The new settings will take effect the next time you open an Explorer window." - IDS_NEW_SETTINGS2 "You need to log off and back on for the new settings to take effect." - IDS_SETTINGS_TITLE "Settings for Classic Explorer" - IDS_SETTINGS_TITLE_VER "Settings for Classic Explorer %d.%d.%d" - IDS_LANGUAGE_SETTINGS "Language" - IDS_TOOLBAR_SETTINGS "Toolbar Settings" - IDS_BIG_BUTTONS "Big buttons" - IDS_BIG_BUTTONS_TIP "Use big buttons in the toolbar" - IDS_SMALL_SIZE "Small icon size" - IDS_SMALL_SIZE_TIP "Set the icon size when 'Big buttons' is unchecked. By default it is 16 for DPI<120 and 24 for DPI>=120" -END - -STRINGTABLE -BEGIN - IDS_LARGE_SIZE "Large icon size" - IDS_LARGE_SIZE_TIP "Set the icon size when 'Big buttons' is checked. By default it is 24 for DPI<120 and 32 for DPI>=120" - IDS_MENU_SIZE "Menu icon size" - IDS_MENU_SIZE_TIP "Set the size of the icons in the dropdown menus" - IDS_SAME_SIZE "Same size buttons" - IDS_SAME_SIZE_TIP "When this is checked, all toolbar buttons are the same size, determined by the widest button. Cannot be combined with 'Text is on the side'" - IDS_LIST_MODE "Text is on the side" - IDS_LIST_MODE_TIP "When this is checked, the toolbar is in list mode. The button text shows next to the icon instead of under the icon" - IDS_RESIZEABLE "Resizeable toolbar" - IDS_RESIZEABLE_TIP "When this is checked, the toolbar can be resized to be smaller than its full size. The buttons that don't fit on screen can be accessed by clicking on the small chevron button" - IDS_BUTTONS_SETTINGS "Toolbar Buttons" - IDS_NAVIGATION_SETTINGS "Navigation Pane" - IDS_TREE_STYLE "Navigation pane style" - IDS_TREE_STYLE_TIP "Pick the style for the folder tree in the navigation pane" - IDS_XPCLASSIC "Windows XP Classic" - IDS_XPCLASSIC_TIP "The navigation pane has lines connecting the folders" -END - -STRINGTABLE -BEGIN - IDS_XPSIMPLE "Windows XP Simple" - IDS_XPSIMPLE_TIP "The navigation pane has no lines" - IDS_VISTA "Windows Vista" - IDS_VISTA_TIP "The navigation pane shows little triangles to expand the folders" - IDS_TREE_SPACING "Tree item spacing" - IDS_TREE_SPACING_TIP "This is a number for controlling the spacing between the items in the folder tree. Use positive numbers to increase the spacing, and negative numbers to reduce the spacing" - IDS_NO_FADE "Don't fade buttons" - IDS_NO_FADE_TIP "When this is checked, the small triangle buttons for expanding the folder will not fade out when the mouse moves away" - IDS_FULL_INDENT "Full-size offset for sub-folders" - IDS_FULL_INDENT_TIP "When this is checked, the sub-folders will be offset by the full size of the icon, instead of the half of the size" - IDS_NAVIGATE "Auto-navigate to the selected folder" - IDS_NAVIGATE_TIP "Select if the files on the right should update to show the current folder on the left" - IDS_NAV_DELAY "Auto-navigation delay" - IDS_NAV_DELAY_TIP "Enter the delay (in ms) for updating the files after selecting a new folder" - IDS_ALT_ENTER "Enable Alt+Enter in the navigation pane" - IDS_ALT_ENTER_TIP "When this is checked, pressing Alt+Enter will show the properties of the selected folder" -END - -STRINGTABLE -BEGIN - IDS_VIEWCONTENT_TIP "Shows the Content view" - IDS_VIEWICONS1_TIP "Shows the Small Icons view" - IDS_VIEWICONS2_TIP "Shows the Medium Icons view" - IDS_VIEWICONS3_TIP "Shows the Large Icons view" - IDS_VIEWICONS4_TIP "Shows the Extra Large Icons view" - IDS_OPEN_TIP "Opens a given folder in the current window" - IDS_CUSTOM_TIP "This is a custom button. Use the command property to launch a program, or the link property to show a folder as a drop-down menu" - IDS_NEWFOLDER_TIP "Creates a new folder" - IDS_SCROLLTIP "Hide scroll tooltips" - IDS_SCROLLTIP_TIP "When this is checked, there won't be a tooltip when you are dragging the vertical scrollbar" - IDS_NAV_DEFAULT "Default behavior" - IDS_NAV_DEFAULT_TIP "Don't change the default behavior of Explorer" - IDS_NAV_KBD "When using the keyboard" - IDS_NAV_KBD_TIP "The files will update only if you select a new folder with the keyboard" - IDS_NAV_ALWAYS "Always" - IDS_NAV_ALWAYS_TIP "The files will update every time the selected folder changes for any reason" -END - -STRINGTABLE -BEGIN - IDS_FIX_SCROLL "Fix folder scrolling" - IDS_FIX_SCROLL_TIP "This option fixes a bug in Windows 7 that moves a folder to the bottom of the screen after it is expanded" - IDS_TITLE_SETTINGS "Title Bar" - IDS_SHOW_CAPTION "Show caption in the title bar" - IDS_SHOW_CAPTION_TIP "Show the caption (the current path) in the title bar" - IDS_SHOW_ICON "Show icon in the title bar" - IDS_SHOW_ICON_TIP "Show the icon of the current folder in the title bar" - IDS_NO_BREADCRUMBS "Disable breadcrumbs" - IDS_NO_BREADCRUMBS_TIP "Disable breadcrumbs and show the full path in the address bar" - IDS_ADDRESS_HISTORY "Address bar history" - IDS_ADDRESS_HISTORY_TIP "Control the contents of the history dropdown" - IDS_NORMAL_HISTORY "Normal history" - IDS_NORMAL_HISTORY_TIP "Show the default contents as provided by Explorer (recently visited folders and websites)" - IDS_SIMPLE_PATH "Simple path" - IDS_SIMPLE_PATH_TIP "Show the parents of the current folder all the way to the Desktop" - IDS_EXTENDED_PATH "Extended path" -END - -STRINGTABLE -BEGIN - IDS_EXTENDED_PATH_TIP "Besides the parents, shows all immediate folders of the Desktop and Computer. This is how it works in Windows XP" - IDS_HIDE_SEARCH "Hide Search box" - IDS_HIDE_SEARCH_TIP "Hide the search box from the address bar" - IDS_UP_SETTINGS "Up Button" - IDS_SHOW_UP "Show Up button" - IDS_SHOW_UP_TIP "Controls how the Up button is displayed" - IDS_DONT_SHOW "Don't show" - IDS_DONT_SHOW_TIP "The Up button is not shown" - IDS_BEFORE_BACK "Before Back/Forward" - IDS_BEFORE_BACK_TIP "The Up button appears before the Back/Forward buttons" - IDS_AFTER_BACK "After Back/Forward" - IDS_AFTER_BACK_TIP "The Up button appears after the Back/Forward buttons" - IDS_UP_NORMAL "Normal Up button icon" - IDS_UP_NORMAL_TIP "Pick the icon to use for the normal Up button" - IDS_UP_HOT "Hot Up button icon" - IDS_UP_HOT_TIP "Pick the icon to use for the hot Up button (when the mouse is over the button)" -END - -STRINGTABLE -BEGIN - IDS_UP_PRESSED "Pressed Up button icon" - IDS_UP_PRESSED_TIP "Pick the icon to use for the pressed Up button" - IDS_UP_DISABLED "Disabled Up button icon" - IDS_UP_DISABLED_TIP "Pick the icon to use for the disabled Up button" - IDS_UP_SIZE "Up button size" - IDS_UP_SIZE_TIP "Set the size for the Up button. By default it is 30 for DPI<120 and 36 for DPI>=120" - IDS_STATUS_SETTINGS "Status Bar" - IDS_FREE_SPACE "Show free space and file size" - IDS_FREE_SPACE_TIP "The status bar will show the free space on the current drive and the total size of all selected files. If no files are selected, the total size of all files will be shown" - IDS_INFO_TIP "Show detailed info for single selection" - IDS_INFO_TIP_TIP "When a single file is selected, the status bar will show the detailed information for that file" - IDS_FORCE_REFRESH "Force status refresh" - IDS_FORCE_REFRESH_TIP "This is a workaround for a bug in Explorer for Windows 7. Sometimes when a new Explorer window is opened the status bar is blank. Check this option to enable the workaround" - IDS_FILE_SETTINGS "File Operation" - IDS_FILE_UI "Replace file conflict dialog" - IDS_FILE_UI_TIP "When this is checked, the dialog showing file conflicts during a copy or move operation will be replaced with the old-style dialog from Windows XP" -END - -STRINGTABLE -BEGIN - IDS_FOLDER_UI "Replace folder conflict dialog" - IDS_FOLDER_UI_TIP "When this is checked, the dialog showing folder conflicts during a copy or move operation will be replaced with the old-style dialog from Windows XP" - IDS_ALERT_LEVEL "Sound alert for file conflicts" - IDS_ALERT_LEVEL_TIP "This setting adds a sound alert to the copy confirmation dialog when a system or read-only file is about to be overwritten" - IDS_NO_ALERT "No alert" - IDS_NO_ALERT_TIP "No sound is played" - IDS_SYS_FILES "For system files" - IDS_SYS_FILES_TIP "A sound is played when a system file is about to be overwritten" - IDS_RO_FILES "For system and read-only files" - IDS_RO_FILES_TIP "A sound is played when a system or a read-only file is about to be overwritten" - IDS_MORE "Always show more details" - IDS_MORE_TIP "When this is checked, Explorer dialogs like Copy, Move or Delete will expand to show all details by default" - IDS_MORE_DELAY "Delay for more details" - IDS_MORE_DELAY_TIP "Delay (in ms) for showing more details in the progress dialog. On Windows 7 with Aero if the details are shown too soon the progress dialog flickers badly. Use a delay of at least 250 ms to avoid the flicker. The delay is also useful if you want to see the details only for longer operations" - IDS_FILE_EXPLORER "Enable only in Explorer (improves performance)" - IDS_FILE_EXPLORER_TIP "When this is checked, the file and folder conflict dialogs will be replaced only in Explorer. Otherwise they will be replaced for all processes" -END - -STRINGTABLE -BEGIN - IDS_FILEPANE_SETTINGS "File Pane" - IDS_SHARE "Add icon overlay for shared folders" - IDS_SHARE_TIP "When this is checked, the shared folders will get a small overlay icon" - IDS_SHARE_ICON "Share overlay icon" - IDS_SHARE_ICON_TIP "Set the icon to be used for the overlay" - IDS_SHARE_EXPLORER "Show overlay only in Explorer (improves performance)" - IDS_SHARE_EXPLORER_TIP "When this is checked, the overlay icon will be shown only in Explorer. Otherwise they will be shown in all processes" - IDS_HEADERS "Show sort headers in all views" - IDS_HEADERS_TIP "When this is checked, the sort headers will show in all views, not just Details" - IDS_SCROLLBAR "Show horizontal scrollbar" - IDS_SCROLLBAR_TIP "Select if the horizontal scrollbar will be enabled" - IDS_SCROLLBAR_DEFAULT "Default" - IDS_SCROLLBAR_DEFAULT_TIP - "The scrollbar will be disabled for the 'Windows Vista' navigation pane style, and enabled for the others" - IDS_SCROLLBAR_ON "Enabled" - IDS_SCROLLBAR_ON_TIP "The scrollbar will show up when it is needed" - IDS_SCROLLBAR_OFF "Disabled" -END - -STRINGTABLE -BEGIN - IDS_SCROLLBAR_OFF_TIP "The scrollbar will be hidden at all times" - IDS_COMMAND_TIP "Pick a command for the button. The command determines what the button does when clicked" - IDS_LINK_TIP "Type a full path of a file or a folder. The folder will open like a dropdown menu. The file will be executed when the button is clicked" - IDS_TEXT_TIP "Enter the text for the button. If the text starts with $ (like $Toolbar.Settings) it will be looked up in the file ExplorerL10N.ini" - IDS_TIP_TIP "Enter the tooltip for the button. If the text starts with $ (like $Toolbar.Settings) it will be looked up in the file ExplorerL10N.ini" - IDS_ICON_TIP "Enter the icon for the button. If the icon is blank, the default icon of the link will be used instead. Use either a path to a .ico file, or a combination of a .dll file and a icon ID. Use 'none' to get no icon at all" - IDS_ICOND_TIP "Enter the disabled icon for the button. If the setting is blank, the disabled icon will be generated from the normal icon" - IDS_RESTORE_TIP "Restores all properties (text, icon and more) to the defaults for the selected command" - IDS_SEPARATOR_TIP "This item separates buttons in the toolbar" - IDS_UP_TIP "Goes up to the parent folder" - IDS_CUT_TIP "Cuts the selected files" - IDS_COPY_TIP "Copies the selected files" - IDS_PASTE_TIP "Pastes files from the clipboard" - IDS_DELETE_TIP "Deletes the selected files" - IDS_PROPERTIES_TIP "Shows properties for the selection" - IDS_EMAIL_TIP "Emails the selected files" -END - -STRINGTABLE -BEGIN - IDS_SETTINGS_TIP "Shows the Classic Explorer settings" - IDS_REFRESH_TIP "Refreshes the Explorer view" - IDS_STOP_TIP "Stops the current operation" - IDS_RENAME_TIP "Renames the selected file" - IDS_MOVETO_TIP "Moves the selection to a new place" - IDS_COPYTO_TIP "Copies the selection to a new place" - IDS_UNDO_TIP "Undoes the last operation" - IDS_REDO_TIP "Redoes the last undo" - IDS_SELECTALL_TIP "Selects all files in the folder" - IDS_DESELECT_TIP "Deselects all" - IDS_INVERT_TIP "Inverts the selection" - IDS_BACK_TIP "Goes back to the previous location" - IDS_FORWARD_TIP "Goes to the next location" - IDS_VIEWTILES_TIP "Shows the Tiles view" - IDS_VIEWDEATAILS_TIP "Shows the Details view" - IDS_VIEWLIST_TIP "Shows the List view" -END - -STRINGTABLE -BEGIN - IDS_ALT_D "Additional shortcut for the address bar: Alt +" - IDS_ALT_D_TIP "Enter a letter 'A' to 'Z' to be a shortcut for the address bar. In some languages the default shortcut conflicts with a menu item" - IDS_SORT_TIP "Sorts the folder by the given property (name, type, size or date). Use '-' before the property to sort in descending order. Read the help for more options." - IDS_GROUP_TIP "Groups the folder by the given property (name, type, size or date). Use '-' before the property to group in descending order. Read the help for more options." - IDS_PASTE_SHORTCUT_TIP "Creates shortcuts for the files in the clipboard" - IDS_UP_HOTKEY "Additional shortcut for the Up button" - IDS_UP_HOTKEY_TIP "Select a shortcut for navigating to the parent folder" - IDS_MAP_DRIVE_TIP "Connects to a network drive" - IDS_DISCONNECT_DRIVE_TIP "Disconnects from a network drive" - IDS_CUSTOMIZEFOLDER_TIP "Customize this folder" - IDS_SEPARATOR_ITEM "SEPARATOR" - IDS_UP_ITEM "Up" - IDS_CUT_ITEM "Cut" - IDS_COPY_ITEM "Copy" - IDS_PASTE_ITEM "Paste" - IDS_PASTE_LNK_ITEM "Paste shortcut" -END - -STRINGTABLE -BEGIN - IDS_DELETE_ITEM "Delete" - IDS_PROPERTIES_ITEM "Properties" - IDS_EMAIL_ITEM "Email" - IDS_SETTINGS_ITEM "Settings" - IDS_REFRESH_ITEM "Refresh" - IDS_STOP_ITEM "Stop" - IDS_RENAME_ITEM "Rename" - IDS_NEWFOLDER_ITEM "New folder" - IDS_MOVETO_ITEM "Move to" - IDS_COPYTO_ITEM "Copy to" - IDS_UNDO_ITEM "Undo" - IDS_REDO_ITEM "Redo" - IDS_SELECTALL_ITEM "Select all" - IDS_DESELECT_ITEM "Deselect" - IDS_INVERT_ITEM "Invert selection" - IDS_BACK_ITEM "Back" -END - -STRINGTABLE -BEGIN - IDS_FORWARD_ITEM "Forward" - IDS_MAP_DRIVE_ITEM "Map network drive" - IDS_DISCONNECT_ITEM "Disconnect network drive" - IDS_CUSTOMIZE_ITEM "Customize folder" - IDS_VIEWTILES_ITEM "View Tiles" - IDS_VIEWDETAILS_ITEM "View Details" - IDS_VIEWLIST_ITEM "View List" - IDS_VIEWCONTENT_ITEM "View Content" - IDS_VIEWICONS1_ITEM "View Small icons" - IDS_VIEWICONS2_ITEM "View Medium icons" - IDS_VIEWICONS3_ITEM "View Large icons" - IDS_VIEWICONS4_ITEM "View Extra large icons" - IDS_OPEN_ITEM "Open" - IDS_SORYBY_ITEM "Sort by" - IDS_GROUPBY_ITEM "Group by" - IDS_CUSTOM_ITEM "Custom" -END - -STRINGTABLE -BEGIN - IDS_SHOWSTATUSBAR "Show status bar" - IDS_SHOWSTATUSBAR_TIP "When this is checked, Explorer will have a status bar that shows information about the total selection size, free disk space, and more" - IDS_SHOW_ZONE "Show zone" - IDS_SHOW_ZONE_TIP "When this is checked, the status bar will display the current security zone" - IDS_SHARE_HIDDEN "Show hidden shares" - IDS_SHARE_HIDDEN_TIP "When this is checked, the overlay will appear also for hidden shares ending with $" - IDS_NAVPANE_ITEM "Navigation pane" - IDS_NAVPANE_TIP "Toggles the navigation pane" - IDS_DETAILSPANE_ITEM "Details pane" - IDS_DETAILSPANE_TIP "Toggles the details pane" - IDS_PREVIEWPANE_ITEM "Preview pane" - IDS_PREVIEWPANE_TIP "Toggles the preview pane" - IDS_SHOW_EXTENSIONS "Show extensions" - IDS_SHOW_EXTENSIONS_TIP "Toggles the visibility of the file extensions" - IDS_HIDDEN_FILES "Hidden files" - IDS_HIDDEN_FILES_TIP "Toggles the visibility of the hidden files" -END - -STRINGTABLE -BEGIN - IDS_SYSTEM_FILES "System files" - IDS_SYSTEM_FILES_TIP "Toggles the visibility of the system files" - IDS_ZIP_ITEM "Create zip file" - IDS_ZIP_TIP "Creates a zip file from the selected items" - IDS_STATUS_FONT "Status bar font" - IDS_STATUS_FONT_TIP "Select the font to use for the status bar" - IDS_FOLDEROPTIONS "Folder options" - IDS_FOLDEROPTIONS_TIP "Opens the folder options dialog" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// -#include "..\Lib\resource.h" -#include "..\Lib\Lib.rc" -1 TYPELIB "ClassicExplorer.tlb" - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/ClassicExplorer/ClassicExplorer.rgs b/Src/ClassicExplorer/ClassicExplorer.rgs deleted file mode 100644 index 0fc7e1b..0000000 --- a/Src/ClassicExplorer/ClassicExplorer.rgs +++ /dev/null @@ -1,11 +0,0 @@ -HKCR -{ - NoRemove AppID - { - '%APPID%' = s 'ClassicExplorer' - 'ClassicExplorer.DLL' - { - val AppID = s '%APPID%' - } - } -} diff --git a/Src/ClassicExplorer/ClassicExplorer.vcxproj b/Src/ClassicExplorer/ClassicExplorer.vcxproj deleted file mode 100644 index 0587bfe..0000000 --- a/Src/ClassicExplorer/ClassicExplorer.vcxproj +++ /dev/null @@ -1,430 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - Setup - Win32 - - - Setup - x64 - - - - {9AF324B7-F786-4D85-B2E1-6E51720F874E} - ClassicExplorer - AtlProj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Static - Unicode - true - - - DynamicLibrary - v141 - Static - Unicode - true - - - DynamicLibrary - v141 - Static - Unicode - - - DynamicLibrary - v141 - Static - Unicode - true - - - DynamicLibrary - v141 - Static - Unicode - true - - - DynamicLibrary - v141 - Static - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(Configuration)\ - $(Configuration)\ - true - true - $(ProjectName)32 - - - $(Configuration)64\ - $(Configuration)64\ - true - true - $(ProjectName)64 - - - $(Configuration)\ - $(Configuration)\ - true - false - $(ProjectName)32 - - - $(Configuration)64\ - $(Configuration)64\ - true - false - $(ProjectName)64 - - - $(Configuration)\ - $(Configuration)\ - true - false - $(ProjectName)32 - - - $(Configuration)64\ - $(Configuration)64\ - true - false - $(ProjectName)64 - - - - _DEBUG;%(PreprocessorDefinitions) - false - true - ClassicExplorer_i.h - - ClassicExplorer_i.c - ClassicExplorer_p.c - true - - - Disabled - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions) - false - EnableFastChecks - MultiThreadedDebug - Use - Level3 - EditAndContinue - true - true - stdcpp17 - - - _DEBUG;%(PreprocessorDefinitions) - $(IntDir);..\Lib;%(AdditionalIncludeDirectories) - - - true - oleacc.lib;comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;Netapi32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - - - - - _DEBUG;%(PreprocessorDefinitions) - false - true - ClassicExplorer_i.h - - ClassicExplorer_i.c - ClassicExplorer_p.c - - - Disabled - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions) - false - EnableFastChecks - MultiThreadedDebug - Use - Level3 - ProgramDatabase - true - true - stdcpp17 - - - _DEBUG;%(PreprocessorDefinitions) - $(IntDir);..\Lib;%(AdditionalIncludeDirectories) - - - true - oleacc.lib;comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;Netapi32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - - - - - NDEBUG;%(PreprocessorDefinitions) - false - true - ClassicExplorer_i.h - - ClassicExplorer_i.c - ClassicExplorer_p.c - true - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions) - MultiThreaded - Use - Level3 - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);..\Lib;%(AdditionalIncludeDirectories) - - - true - oleacc.lib;comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;Netapi32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - true - true - - - - - NDEBUG;%(PreprocessorDefinitions) - false - true - ClassicExplorer_i.h - - ClassicExplorer_i.c - ClassicExplorer_p.c - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions) - MultiThreaded - Use - Level3 - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);..\Lib;%(AdditionalIncludeDirectories) - - - true - oleacc.lib;comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;Netapi32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - true - true - - - - - NDEBUG;%(PreprocessorDefinitions) - false - true - ClassicExplorer_i.h - - ClassicExplorer_i.c - ClassicExplorer_p.c - true - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;_USRDLL;BUILD_SETUP;%(PreprocessorDefinitions) - MultiThreaded - Use - Level3 - true - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);..\Lib;%(AdditionalIncludeDirectories) - - - oleacc.lib;comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;Netapi32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - true - true - - - - - NDEBUG;%(PreprocessorDefinitions) - false - true - ClassicExplorer_i.h - - ClassicExplorer_i.c - ClassicExplorer_p.c - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;_USRDLL;BUILD_SETUP;%(PreprocessorDefinitions) - MultiThreaded - Use - Level3 - true - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);..\Lib;%(AdditionalIncludeDirectories) - - - oleacc.lib;comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;Netapi32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - true - true - - - - - - - - NotUsing - - - - - - - - Create - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {d42fe717-485b-492d-884a-1999f6d51154} - false - - - - - - \ No newline at end of file diff --git a/Src/ClassicExplorer/ClassicExplorer.vcxproj.filters b/Src/ClassicExplorer/ClassicExplorer.vcxproj.filters deleted file mode 100644 index b6c1ead..0000000 --- a/Src/ClassicExplorer/ClassicExplorer.vcxproj.filters +++ /dev/null @@ -1,149 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - {5fffcfa3-305b-4c53-b51b-b387b5702497} - False - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Generated Files - - - - - Source Files - - - - - Source Files - - - Source Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Resource Files - - - Generated Files - - - - - Resource Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - diff --git a/Src/ClassicExplorer/ClassicExplorer32.def b/Src/ClassicExplorer/ClassicExplorer32.def deleted file mode 100644 index 9c00d51..0000000 --- a/Src/ClassicExplorer/ClassicExplorer32.def +++ /dev/null @@ -1,14 +0,0 @@ -; ClassicExplorer.def : Declares the module parameters. - -LIBRARY "ClassicExplorer32.DLL" - -EXPORTS - DllCanUnloadNow PRIVATE - DllGetClassObject PRIVATE - DllRegisterServer PRIVATE - DllUnregisterServer PRIVATE - DllInstall PRIVATE - ShowExplorerSettings - DllImportSettingsXml - DllExportSettingsXml - DllSaveAdmx diff --git a/Src/ClassicExplorer/ClassicExplorer64.def b/Src/ClassicExplorer/ClassicExplorer64.def deleted file mode 100644 index 5aaae4c..0000000 --- a/Src/ClassicExplorer/ClassicExplorer64.def +++ /dev/null @@ -1,13 +0,0 @@ -; ClassicExplorer.def : Declares the module parameters. - -LIBRARY "ClassicExplorer64.DLL" - -EXPORTS - DllCanUnloadNow PRIVATE - DllGetClassObject PRIVATE - DllRegisterServer PRIVATE - DllUnregisterServer PRIVATE - DllInstall PRIVATE - ShowExplorerSettings - DllImportSettingsXml - DllExportSettingsXml diff --git a/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.cpp b/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.cpp deleted file mode 100644 index 3133163..0000000 --- a/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.cpp +++ /dev/null @@ -1,140 +0,0 @@ -// 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 -#include -#include -#include -#include "StringUtils.h" - -// Find and activate the Settings window -static BOOL CALLBACK FindSettingsEnum( HWND hwnd, LPARAM lParam ) -{ - wchar_t className[256]; - if (!GetClassName(hwnd,className,_countof(className)) || _wcsicmp(className,L"#32770")!=0) - return TRUE; - DWORD process=0; - GetWindowThreadProcessId(hwnd,&process); - HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,process); - bool bFound=false; - if (hProcess!=INVALID_HANDLE_VALUE) - { - wchar_t path[_MAX_PATH]; - if (GetModuleFileNameEx(hProcess,NULL,path,_countof(path))) - { - if (_wcsicmp(PathFindFileName(path),L"ClassicExplorerSettings.exe")==0) - { - SetForegroundWindow(hwnd); - bFound=true; - } - } - CloseHandle(hProcess); - } - return !bFound; -} - -HMODULE LoadClassicExplorerDll( void ) -{ - wchar_t path[_MAX_PATH]; - GetModuleFileName(NULL,path,_countof(path)); - *PathFindFileName(path)=0; - PathAppend(path,L"ClassicExplorer32.dll"); - return LoadLibrary(path); -} - -// A simple program that loads ClassicExplorer32.dll and calls the ShowExplorerSettings function -// Why not use rundll32 instead? Because it doesn't include the correct manifest for comctl32.dll -int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrCmdLine, int nCmdShow ) -{ - INITCOMMONCONTROLSEX init={sizeof(init),ICC_STANDARD_CLASSES}; - InitCommonControlsEx(&init); - - { - const wchar_t *pXml=wcsstr(lpstrCmdLine,L"-xml "); - if (pXml) - { - wchar_t xml[_MAX_PATH]; - GetToken(pXml+5,xml,_countof(xml),L" "); - HMODULE dll=LoadClassicExplorerDll(); - if (!dll) return 1; - typedef bool (*tImportSettingsXml)( const wchar_t *fname ); - tImportSettingsXml DllImportSettingsXml=(tImportSettingsXml)GetProcAddress(dll,"DllImportSettingsXml"); - if (!DllImportSettingsXml) - return 1; - CoInitialize(NULL); - bool res=DllImportSettingsXml(xml); - CoUninitialize(); - return res?0:1; - } - } - - { - const wchar_t *pBackup=wcsstr(lpstrCmdLine,L"-backup "); - if (pBackup) - { - wchar_t xml[_MAX_PATH]; - GetToken(pBackup+8,xml,_countof(xml),L" "); - - HMODULE dll=LoadClassicExplorerDll(); - if (!dll) return 1; - typedef bool (*tExportSettingsXml)( const wchar_t *fname ); - tExportSettingsXml DllExportSettingsXml=(tExportSettingsXml)GetProcAddress(dll,"DllExportSettingsXml"); - if (!DllExportSettingsXml) - return 1; - - CoInitialize(NULL); - bool res=DllExportSettingsXml(xml); - CoUninitialize(); - return res?0:1; - } - } - -#ifndef _WIN64 - const wchar_t *pSaveAdmx=wcsstr(lpstrCmdLine,L"-saveadmx "); - if (pSaveAdmx) - { - wchar_t language[100]; - GetToken(pSaveAdmx+10,language,_countof(language),L" "); - - HMODULE dll=LoadClassicExplorerDll(); - if (!dll) return 1; - typedef bool (*tSaveAdmx)( const char *admxFile, const char *admlFile, const char *docFile, const wchar_t *language ); - tSaveAdmx SaveAdmx=(tSaveAdmx)GetProcAddress(dll,"DllSaveAdmx"); - if (!SaveAdmx || !SaveAdmx("ClassicExplorer.admx","ClassicExplorer.adml","ClassicExplorerADMX.txt",language)) - return 1; - 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); - - wchar_t mutexName[1024]; - Sprintf(mutexName,_countof(mutexName),L"ClassicExplorerSettings.Mutex.%s.%s",userName,deskName); - free(deskName); - - HANDLE hMutex=CreateMutex(NULL,TRUE,mutexName); - if (GetLastError()==ERROR_ALREADY_EXISTS || GetLastError()==ERROR_ACCESS_DENIED) - { - EnumWindows(FindSettingsEnum,0); - return 0; - } - - HMODULE dll=LoadClassicExplorerDll(); - if (!dll) return 1; - - FARPROC proc=GetProcAddress(dll,"ShowExplorerSettings"); - if (!proc) return 2; - - proc(); - return 0; -} diff --git a/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.manifest b/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.manifest deleted file mode 100644 index f9e4bb1..0000000 --- a/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.manifest +++ /dev/null @@ -1,41 +0,0 @@ - - - -Classic Explorer Settings - - - - - - - - true - - - - - - - - - - - - - - - - - diff --git a/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.rc b/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.rc deleted file mode 100644 index 923d1e1..0000000 --- a/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.rc +++ /dev/null @@ -1,111 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APPICON ICON "..\\..\\Setup\\OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -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", "Classic Explorer Settings" - VALUE "FileVersion", _PRODUCT_VERSION_STR - VALUE "InternalName", "ClassicExplorerSettings" - VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team" - VALUE "OriginalFilename", "ClassicExplorerSettings.exe" - VALUE "ProductName", "Open-Shell" - VALUE "ProductVersion", _PRODUCT_VERSION_STR - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.vcxproj b/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.vcxproj deleted file mode 100644 index 36f0b2f..0000000 --- a/Src/ClassicExplorer/ClassicExplorerSettings/ClassicExplorerSettings.vcxproj +++ /dev/null @@ -1,177 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Setup - Win32 - - - - {E93271C8-0252-4A08-8227-1978C64C2D34} - ClassicExplorerSettings - Win32Proj - 10.0.17134.0 - - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - - - - - - - - - - - - - - - - - - - ..\$(Configuration)\ - $(Configuration)\ - true - - - ..\$(Configuration)\ - $(Configuration)\ - false - - - ..\$(Configuration)\ - $(Configuration)\ - false - - - - Disabled - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - Level3 - true - EditAndContinue - true - true - stdcpp17 - - - _DEBUG;%(PreprocessorDefinitions) - - - shlwapi.lib;comctl32.lib;psapi.lib;%(AdditionalDependencies) - true - Windows - - - - - MaxSpeed - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - Level3 - true - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - - - shlwapi.lib;comctl32.lib;psapi.lib;%(AdditionalDependencies) - true - Windows - true - true - - - - - MaxSpeed - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;BUILD_SETUP;%(PreprocessorDefinitions) - MultiThreaded - true - Level3 - true - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - - - shlwapi.lib;comctl32.lib;psapi.lib;%(AdditionalDependencies) - true - Windows - true - true - - - - - - - - - - - - - - - - - - - - {d42fe717-485b-492d-884a-1999f6d51154} - false - - - {9af324b7-f786-4d85-b2e1-6e51720f874e} - false - - - - - - \ No newline at end of file diff --git a/Src/ClassicExplorer/ClassicExplorerSettings/resource.h b/Src/ClassicExplorer/ClassicExplorerSettings/resource.h deleted file mode 100644 index 82575d8..0000000 --- a/Src/ClassicExplorer/ClassicExplorerSettings/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by ClassicExplorerSettings.rc -// -#define IDI_APPICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/ClassicExplorer/ExplorerBHO.cpp b/Src/ClassicExplorer/ExplorerBHO.cpp deleted file mode 100644 index 7f78b7d..0000000 --- a/Src/ClassicExplorer/ExplorerBHO.cpp +++ /dev/null @@ -1,1573 +0,0 @@ -// 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 - -// ExplorerBHO.cpp : Implementation of CExplorerBHO - -#include "stdafx.h" -#include "ExplorerBHO.h" -#include "Settings.h" -#include "ResourceHelper.h" -#include "resource.h" -#include "SettingsUI.h" -#include "Translations.h" -#include "SettingsUIHelper.h" -#include "DownloadHelper.h" -#include "FNVHash.h" -#include "dllmain.h" -#include -#include -#include -#include - -// CExplorerBHO - a browser helper object that implements Alt+Enter for the folder tree - -const UINT_PTR TIMER_NAVIGATE='CLSH'; - -int CExplorerBHO::s_AutoNavDelay; - -static void GetTreeItemPidl( HTREEITEM hItem, HWND hwndTree, PIDLIST_ABSOLUTE *result ) -{ - // find the PIDL of the tree item (combine all child PIDLs from the current item and its parents) - CAbsolutePidl pidl; - while (hItem) - { - TVITEMEX info={TVIF_PARAM,hItem}; - TreeView_GetItem(hwndTree,&info); - PIDLIST_RELATIVE **pidl1=(PIDLIST_RELATIVE**)info.lParam; - if (!pidl1 || !*pidl1 || !**pidl1) - { - pidl.Clear(); - break; - } - pidl.Attach(pidl?ILCombine((PIDLIST_ABSOLUTE)**pidl1,pidl):(PIDLIST_ABSOLUTE)ILClone(**pidl1)); - hItem=TreeView_GetParent(hwndTree,hItem); - } - *result=pidl.Detach(); -} - -LRESULT CALLBACK CExplorerBHO::SubclassTreeParentProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - // when the tree selection changes start a timer to navigate to the new folder in 100ms - if (uMsg==WM_NOTIFY && ((NMHDR*)lParam)->code==TVN_SELCHANGED) - { - if (GetSettingInt(L"AutoNavigate")==2 || ((NMTREEVIEW*)lParam)->action==TVC_BYKEYBOARD) - SetTimer(((NMHDR*)lParam)->hwndFrom,TIMER_NAVIGATE,s_AutoNavDelay,NULL); - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -// Subclass the tree control to: -// - support Alt+Enter -// - navigate to the new folder when you go up/down with the keyboard -// - fix the random scrolling of the tree when a folder is expanded -// - change the tree styles to achieve different looks -LRESULT CALLBACK CExplorerBHO::SubclassTreeProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==TVM_ENSUREVISIBLE && (dwRefData&1)) - { - // HACK! there is a bug in Win7 Explorer and when the selected folder is expanded for the first time it sends TVM_ENSUREVISIBLE for - // the root tree item. This causes the navigation pane to scroll up. To work around the bug we ignore TVM_ENSUREVISIBLE if it tries - // to show the root item and it is not selected - HTREEITEM hItem=(HTREEITEM)lParam; - if (!TreeView_GetParent(hWnd,hItem) && !(TreeView_GetItemState(hWnd,hItem,TVIS_SELECTED)&TVIS_SELECTED)) - return 0; - } - if (uMsg==WM_TIMER && wParam==TIMER_NAVIGATE) - { - // time to navigate to the selected folder (only if different from the current folder) - KillTimer(hWnd,TIMER_NAVIGATE); - if (GetFocus()!=hWnd) - return 0; - CAbsolutePidl pidl; - GetTreeItemPidl(TreeView_GetSelection(hWnd),hWnd,&pidl); - if (pidl) - { - bool bSameFolder=false; - CExplorerBHO *pThis=GetTlsData()->bho; - CComPtr pView; - if (pThis->m_pBrowser && SUCCEEDED(pThis->m_pBrowser->QueryActiveShellView(&pView))) - { - CComQIPtr pView2(pView); - - CComPtr pFolder; - CAbsolutePidl pidl2; - if (pView2 && SUCCEEDED(pView2->GetFolder(IID_IPersistFolder2,(void**)&pFolder)) && SUCCEEDED(pFolder->GetCurFolder(&pidl2)) && pidl2) - { - if (ILIsEqual(pidl,pidl2)) - bSameFolder=true; - } - } - if (!bSameFolder) - SendMessage(hWnd,WM_KEYDOWN,VK_SPACE,0); - } - return 0; - } - - // ignore the Alt+Enter syscharacter (to stop the tree view from beeping) - if (uMsg==WM_SYSCHAR && wParam==VK_RETURN) - return 0; - - if (uMsg==WM_SYSKEYDOWN && wParam==VK_RETURN) - { - // Alt+Enter is pressed - // if this message was for the folder tree, show the properties of the selected item - if (GetSettingBool(L"AltEnter") && ShowTreeProperties(hWnd)) - return 0; - } - - if ((uMsg==WM_LBUTTONDOWN || uMsg==WM_LBUTTONDBLCLK) && (wParam&MK_CONTROL)) - { - TVHITTESTINFO test; - test.pt.x=(short)LOWORD(lParam); - test.pt.y=(short)HIWORD(lParam); - HTREEITEM hItem=TreeView_HitTest(hWnd,&test); - if (test.flags&TVHT_ONITEM) - { - CAbsolutePidl pidl; - GetTreeItemPidl(hItem,hWnd,&pidl); - if (pidl) - { - CExplorerBHO *pThis=GetTlsData()->bho; - if (pThis->m_pBrowser) - { - pThis->m_pBrowser->BrowseObject(pidl,SBSP_NEWBROWSER|SBSP_ABSOLUTE); - } - } - } - return 0; - } - - if (uMsg==TVM_SETEXTENDEDSTYLE && wParam==(TVS_EX_FADEINOUTEXPANDOS|TVS_EX_AUTOHSCROLL|0x80000000) && lParam==0) - { - wParam&=0x7FFFFFFF; - - if (GetSettingInt(L"AutoNavigate")>0) - SetWindowSubclass(GetParent(hWnd),SubclassTreeParentProc,'CLSH',0); - - if (!GetSettingBool(L"NoFadeButtons")) - wParam&=~TVS_EX_FADEINOUTEXPANDOS; - - int indent=-1; - if (GetSettingBool(L"FullIndent")) - indent=0; - - int treeStyle=GetSettingInt(L"TreeStyle"); - if (treeStyle==STYLE_CLASSIC && GetWinVersion()>=WIN_VER_WIN10) - treeStyle=STYLE_VISTA; - DWORD style=GetWindowLong(hWnd,GWL_STYLE); - if (treeStyle!=STYLE_VISTA) - { - SetWindowTheme(hWnd,NULL,NULL); - if (treeStyle==STYLE_SIMPLE) - { - style|=TVS_SINGLEEXPAND|TVS_TRACKSELECT; - style&=~TVS_HASLINES; - } - else - { - style|=TVS_HASLINES; - style&=~(TVS_SINGLEEXPAND|TVS_TRACKSELECT); - wParam|=TVS_EX_FADEINOUTEXPANDOS; - HIMAGELIST images=TreeView_GetImageList(hWnd,TVSIL_NORMAL); - int cx, cy; - ImageList_GetIconSize(images,&cx,&cy); - indent=cx+3; - } - } - int scroll=GetSettingInt(L"HScrollbar"); - - if ((scroll==0 && treeStyle==STYLE_VISTA) || scroll==1) - wParam&=~TVS_EX_AUTOHSCROLL; - if ((scroll==0 && treeStyle!=STYLE_VISTA) || scroll==2) - style&=~TVS_NOHSCROLL; - - SetWindowLong(hWnd,GWL_STYLE,style); - - if (indent>=0) - TreeView_SetIndent(hWnd,indent); - - int d=GetSettingInt(L"TreeItemSpacing"); - if (d) - { - CExplorerBHO *pThis=GetTlsData()->bho; - pThis->m_TreeItemHeight=TreeView_GetItemHeight(hWnd)+d; - TreeView_SetItemHeight(hWnd,pThis->m_TreeItemHeight); - } - - if (wParam==0) - return 0; - } - - if (uMsg==WM_SETTINGCHANGE) - { - LRESULT res=DefSubclassProc(hWnd,uMsg,wParam,lParam); - int indent=-1; - if (GetSettingBool(L"FullIndent")) - indent=0; - - if (GetSettingInt(L"TreeStyle")==STYLE_CLASSIC && GetWinVersion()=0) - TreeView_SetIndent(hWnd,indent); - return res; - } - if (uMsg==TVM_SETITEMHEIGHT) - { - CExplorerBHO *pThis=GetTlsData()->bho; - if (pThis->m_TreeItemHeight>0) - wParam=pThis->m_TreeItemHeight; - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CALLBACK CExplorerBHO::HookExplorer( int nCode, WPARAM wParam, LPARAM lParam ) -{ - // wait for the tree control to be created and subclass it - if (nCode==HCBT_CREATEWND) - { - HWND hWnd=(HWND)wParam; - CBT_CREATEWND *pCreate=(CBT_CREATEWND*)lParam; - if (pCreate->lpcs->lpszClass>(LPTSTR)0xFFFF && _wcsicmp(pCreate->lpcs->lpszClass,WC_TREEVIEW)==0) - { - HWND parent=GetAncestor(pCreate->lpcs->hwndParent,GA_ROOT); - wchar_t name[256]; - if (GetClassName(parent,name,_countof(name)) && _wcsicmp(name,L"CabinetWClass")==0) - { - DWORD_PTR settings=0; - if (GetWinVersion()==WIN_VER_WIN7 && GetSettingBool(L"FixFolderScroll")) - settings|=1; - SetWindowSubclass(hWnd,SubclassTreeProc,'CLSH',settings); - PostMessage(hWnd,TVM_SETEXTENDEDSTYLE,TVS_EX_FADEINOUTEXPANDOS|TVS_EX_AUTOHSCROLL|0x80000000,0); - } - } - else if (pCreate->lpcs->lpszClass>(LPTSTR)0xFFFF && _wcsicmp(pCreate->lpcs->lpszClass,L"DUIViewWndClassName")==0) - { - TlsData *pTlsData=GetTlsData(); - if (!pTlsData->bho->m_DUIView) - { - pTlsData->bho->m_DUIView=hWnd; - SetWindowSubclass(pTlsData->bho->m_DUIView,SubclassDUIViewProc,(UINT_PTR)pTlsData->bho,'CLSH'); - } - } - } - return CallNextHookEx(NULL,nCode,wParam,lParam); -} - -LRESULT CALLBACK CExplorerBHO::HookKeyboard( int nCode, WPARAM wParam, LPARAM lParam ) -{ - // wait for the tree control to be created and subclass it - if (nCode==HC_ACTION) - { - TlsData *pTlsData=GetTlsData(); - if (wParam==pTlsData->bho->m_AltD && (lParam&0x20000000)) - { - if (lParam&0x80000000) - { - return 0; - } - else - { - if (IsWindow(pTlsData->bho->m_Breadcrumbs) && IsWindowVisible(pTlsData->bho->m_Breadcrumbs)) - { - SetFocus(pTlsData->bho->m_Breadcrumbs); - SendMessage(pTlsData->bho->m_Breadcrumbs,WM_KEYDOWN,VK_SPACE,0); - SendMessage(pTlsData->bho->m_Breadcrumbs,WM_KEYUP,VK_SPACE,0); - return 0; - } - } - } - if (wParam==(pTlsData->bho->m_UpHotkey&255) && !(lParam&0x80000000)) - { - // Backspace goes to the parent folder, but only if no window has the caret - GUITHREADINFO info={sizeof(info)}; - if (GetGUIThreadInfo(GetCurrentThreadId(),&info) && !info.hwndCaret) - { - bool bShift1=(pTlsData->bho->m_UpHotkey&(HOTKEYF_SHIFT<<8))!=0; - bool bCtrl1=(pTlsData->bho->m_UpHotkey&(HOTKEYF_CONTROL<<8))!=0; - bool bAlt1=(pTlsData->bho->m_UpHotkey&(HOTKEYF_ALT<<8))!=0; - bool bShift2=GetKeyState(VK_SHIFT)<0; - bool bCtrl2=GetKeyState(VK_CONTROL)<0; - bool bAlt2=GetKeyState(VK_MENU)<0; - if (bShift1==bShift2 && bAlt1==bAlt2) - { - if (bCtrl1==bCtrl2) - { - pTlsData->bho->m_pBrowser->BrowseObject(NULL,SBSP_SAMEBROWSER|SBSP_PARENT); - return 1; - } - else if (bCtrl2) - { - pTlsData->bho->m_pBrowser->BrowseObject(NULL,SBSP_NEWBROWSER|SBSP_PARENT); - return 1; - } - } - } - } - } - return CallNextHookEx(NULL,nCode,wParam,lParam); -} - -bool CExplorerBHO::GetStatusText( wchar_t *buf, int size, const wchar_t *oldText, bool bShowTip, bool bShowSpace ) -{ - bool res=false; - CComPtr pView; - if (m_pBrowser && SUCCEEDED(m_pBrowser->QueryActiveShellView(&pView))) - { - CComQIPtr pView2(pView); - - CComPtr pFolder; - if (pView2 && SUCCEEDED(pView2->GetFolder(IID_IPersistFolder2,(void**)&pFolder))) - { - int count; - if (bShowTip && SUCCEEDED(pView2->ItemCount(SVGIO_SELECTION,&count)) && count==1) - { - // if only one item is selected, show its info in the status bar - CComPtr pEnum; - PITEMID_CHILD child; - if (SUCCEEDED(pView2->Items(SVGIO_SELECTION,IID_IEnumIDList,(void**)&pEnum)) && pEnum && pEnum->Next(1,&child,NULL)==S_OK) - { - CComQIPtr pFolder2(pFolder); - if (pFolder2) - { - CComPtr pQueryInfo; - if (SUCCEEDED(pFolder2->GetUIObjectOf(NULL,1,(PCUITEMID_CHILD*)&child,IID_IQueryInfo,NULL,(void**)&pQueryInfo))) - { - CComString pTip; - if (SUCCEEDED(pQueryInfo->GetInfoTip(QITIPF_DEFAULT|QITIPF_SINGLELINE,&pTip)) && pTip) - { - Strcpy(buf,size,pTip); - for (wchar_t *p=buf;*p;p++) - if (*p=='\t') - *p=' '; - res=true; - } - } - } - } - } - - if (!res) - { - wchar_t buf2[256]; - if (!oldText) - { - int count=-1; - const wchar_t *fmt=NULL; - if (SUCCEEDED(pView2->ItemCount(SVGIO_SELECTION,&count)) && count>0) - { - fmt=(count==1?FindTranslation(L"Status.ItemSelected",L"%s item selected"):FindTranslation(L"Status.ItemsSelected",L"%s items selected")); - } - else if (SUCCEEDED(pView2->ItemCount(SVGIO_ALLVIEW,&count)) && count>=0) - { - fmt=(count==1?FindTranslation(L"Status.Item",L"%s item"):FindTranslation(L"Status.Items",L"%s items")); - } - else - buf2[0]=0; - if (fmt) - { - wchar_t str1[100]; - wchar_t str2[100]; - Sprintf(str1,_countof(str1),L"%d",count); - NUMBERFMT numFmt; - wchar_t sep1[10], sep2[10]; - numFmt.NumDigits=0; - GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_ILZERO,sep1,10); - numFmt.LeadingZero=_wtol(buf); - GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_INEGNUMBER,sep1,10); - numFmt.NegativeOrder=_wtol(buf); - GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SGROUPING,sep1,10); - numFmt.Grouping=0; - for (const wchar_t *p=sep1;*p;p++) - if (*p>='1' && *p<='9') - numFmt.Grouping=numFmt.Grouping*10+(*p-'0'); - GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SDECIMAL,sep1,10); - numFmt.lpDecimalSep=sep1; - GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_STHOUSAND,sep2,10); - numFmt.lpThousandSep=sep2; - - if (GetNumberFormat(LOCALE_USER_DEFAULT,0,str1,&numFmt,str2,_countof(str2))) - Sprintf(buf2,_countof(buf2),fmt,str2); - else - Sprintf(buf2,_countof(buf2),fmt,str1); - } - res=true; - } - if (bShowSpace) - { - // show the free space of the drive containing the current folder - // also works for network locations - CAbsolutePidl pidl; - wchar_t path[_MAX_PATH]; - ULARGE_INTEGER diskSize; - if (SUCCEEDED(pFolder->GetCurFolder(&pidl)) && SHGetPathFromIDList(pidl,path) && GetDiskFreeSpaceEx(path,NULL,NULL,&diskSize)) - { - wchar_t str[100]; - StrFormatByteSize64(diskSize.QuadPart,str,_countof(str)); - Sprintf(buf,size,FindTranslation(L"Status.FreeSpace",L"%s (Disk free space: %s)"),oldText?oldText:buf2,str); - res=true; - } - else if (!oldText) - Strcpy(buf,size,buf2); - } - else if (!oldText) - Strcpy(buf,size,buf2); - } - } - } - return res; -} - -void CExplorerBHO::GetFileSize( wchar_t *buf, int size ) -{ - __int64 fileSize=-1; - CComPtr pView; - bool bMore=false; - int time0=GetTickCount(); - if (m_pBrowser && SUCCEEDED(m_pBrowser->QueryActiveShellView(&pView))) - { - CComQIPtr pView2(pView); - CComPtr pFolder; - CAbsolutePidl pidl; - if (pView2 && SUCCEEDED(pView2->GetFolder(IID_IPersistFolder2,(void**)&pFolder)) && SUCCEEDED(pFolder->GetCurFolder(&pidl))) - { - CComQIPtr pFolder2(pFolder); - UINT type=SVGIO_SELECTION; - int count, selCount; - if (SUCCEEDED(pView2->ItemCount(SVGIO_ALLVIEW,&count))) - { - if ((FAILED(pView2->ItemCount(SVGIO_SELECTION,&selCount)) || selCount==0)) - type=SVGIO_ALLVIEW; - CComPtr pEnum; - if ((count<10000 || selCount<1000) && SUCCEEDED(pView2->Items(type,IID_IEnumIDList,(void**)&pEnum)) && pEnum) - { - PITEMID_CHILD child; - SHCOLUMNID column={PSGUID_STORAGE,PID_STG_SIZE}; - int index=0; - while (pEnum->Next(1,&child,NULL)==S_OK) - { - index++; - if ((index%100)==0 && (GetTickCount()-time0)>500) - { - ILFree(child); - bMore=true; - break; - } - CComVariant var; - if (SUCCEEDED(pFolder2->GetDetailsEx(child,&column,&var)) && var.vt==VT_UI8) - { - if (fileSize<0) - fileSize=var.ullVal; - else - fileSize+=var.ullVal; - } - ILFree(child); - } - } - } - } - } - if (fileSize>=0) - { - // format the file size as KB, MB, etc - StrFormatByteSize64(fileSize,buf,size); - if (bMore) - Strcat(buf,size,L"+"); - } - else - buf[0]=0; -} - -// Subclass the statusbar to: -// - show free disk space -// - show the total size of the selected files -LRESULT CALLBACK CExplorerBHO::SubclassStatusProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - wchar_t buf[1024]; - if (uMsg==WM_CLEAR) - { - // recalculate the selection size on a timer. this way if the status text is changed frequently - // the recalculation will not happen every time - SetTimer(hWnd,uIdSubclass,10,NULL); - } - if (uMsg==WM_PAINT && ((CExplorerBHO*)uIdSubclass)->m_bForceRefresh) - { - // sometimes Explorer doesn't fully initialize the status bar on Windows 7 and leaves it with 1 part - // in such case force the view to refresh after the status bar is fully visible - ((CExplorerBHO*)uIdSubclass)->m_bForceRefresh=false; - if (SendMessage(hWnd,SB_GETPARTS,0,0)<=1) - PostMessage(GetParent(hWnd),WM_COMMAND,41504,0); // Refresh command - } - if (uMsg==SB_SETTEXT && LOWORD(wParam)==0) - { - // when the text of the first part is changing - if (dwRefData&SHOW_FREE_SPACE) - { - if (((CExplorerBHO*)uIdSubclass)->m_bResetStatus && SendMessage(hWnd,SB_GETPARTS,0,0)<=1) - { - // HACK! there is a bug in Win7 and when the Explorer window is created it doesn't correctly - // initialize the status bar to have 3 parts. as soon as the user resizes the window the - // 3 parts appear. so here we resize the parent of the status bar to create the 3 parts. - HWND parent=GetParent(hWnd); - RECT rc; - GetWindowRect(parent,&rc); - SetWindowPos(parent,NULL,0,0,rc.right-rc.left+1,rc.bottom-rc.top,SWP_NOZORDER|SWP_NOMOVE); - SetWindowPos(parent,NULL,0,0,rc.right-rc.left,rc.bottom-rc.top,SWP_NOZORDER|SWP_NOMOVE); - // the first time the status text is set it is too early. so we do this until we get at lest 2 parts - if (SendMessage(hWnd,SB_GETPARTS,0,0)>1) - ((CExplorerBHO*)uIdSubclass)->m_bResetStatus=false; - } - } - if (((CExplorerBHO*)uIdSubclass)->GetStatusText(buf,_countof(buf),(wchar_t*)lParam,(dwRefData&SHOW_INFOTIP)!=0,(dwRefData&SHOW_FREE_SPACE)!=0)) - lParam=(LPARAM)buf; - } - if (uMsg==SB_SETTEXT && LOWORD(wParam)==1) - { - return 0; - } - - if (uMsg==WM_TIMER && wParam==uIdSubclass) - { - // recalculate the total size of the selected files and show it in part 2 of the status bar - KillTimer(hWnd,wParam); - ((CExplorerBHO*)uIdSubclass)->GetFileSize(buf,_countof(buf)); - DefSubclassProc(hWnd,SB_SETTEXT,1,(LPARAM)buf); - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CALLBACK CExplorerBHO::SubclassStatusProc8( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - wchar_t buf[1024]; - if (uMsg==WM_CLEAR) - { - // recalculate the selection size on a timer. this way if the status text is changed frequently - // the recalculation will not happen every time - SetTimer(hWnd,uIdSubclass,10,NULL); - - if (!((CExplorerBHO*)uIdSubclass)->GetStatusText(buf,_countof(buf),NULL,(dwRefData&SHOW_INFOTIP)!=0,(dwRefData&SHOW_FREE_SPACE)!=0)) - buf[0]=0; - SendMessage(hWnd,SB_SETTEXT,PART_TEXT,(LPARAM)buf); - return 0; - } - if (uMsg==WM_TIMER && wParam==uIdSubclass) - { - // recalculate the total size of the selected files and show it in part 2 of the status bar - KillTimer(hWnd,wParam); - ((CExplorerBHO*)uIdSubclass)->GetFileSize(buf,_countof(buf)); - SendMessage(hWnd,SB_SETTEXT,PART_SIZE,(LPARAM)buf); - return 0; - } - if (uMsg==WM_LBUTTONDBLCLK) - { - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - RECT rc; - DefSubclassProc(hWnd,SB_GETRECT,PART_ZONE,(LPARAM)&rc); - if (PtInRect(&rc,pt)) - { - CExplorerBHO *pThis=(CExplorerBHO*)uIdSubclass; - CComBSTR url; - if (pThis->m_pWebBrowser && SUCCEEDED(pThis->m_pWebBrowser->get_LocationURL(&url))) - { - // use undocumented function 383 from shlwapi - typedef void (WINAPI* FZoneConfigureW)(HWND,LPCWSTR); - FZoneConfigureW ZoneConfigureW; - - HMODULE hShlwapi=LoadLibrary(L"shlwapi.dll"); - if(hShlwapi) - { - ZoneConfigureW=(FZoneConfigureW)GetProcAddress(hShlwapi,MAKEINTRESOURCEA(383)); - if(ZoneConfigureW) - ZoneConfigureW(GetAncestor(hWnd,GA_ROOT),url); - FreeLibrary(hShlwapi); - } - } - return 0; - } - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -// Subclass the DUIView to reduce its size and reposition the taskbar -LRESULT CALLBACK CExplorerBHO::SubclassDUIViewProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - CExplorerBHO *pThis=(CExplorerBHO*)uIdSubclass; - if (uMsg==WM_WINDOWPOSCHANGING && pThis->m_Status8) - { - WINDOWPOS *pPos=(WINDOWPOS*)lParam; - if (!(pPos->flags&SWP_NOSIZE)) - { - RECT rc; - GetWindowRect(pThis->m_Status8,&rc); - int height=rc.bottom-rc.top; - pPos->cy-=height; - SetWindowPos(pThis->m_Status8,NULL,pPos->x,pPos->y+pPos->cy,pPos->cx,rc.bottom-rc.top,SWP_NOZORDER); - int parts[]={pPos->cx-height-pThis->m_FileSizeWidth-pThis->m_ZoneWidth,pPos->cx-height-pThis->m_ZoneWidth,-1}; - SendMessage(pThis->m_Status8,SB_SETPARTS,pThis->m_ZoneWidth?3:2,(LPARAM)parts); - } - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -// Subclass the rebar in the title bar to handle the title bar Up button -LRESULT CALLBACK CExplorerBHO::SubclassRebarProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_NOTIFY && ((NMHDR*)lParam)->hwndFrom==(HWND)dwRefData && ((NMHDR*)lParam)->code==NM_CUSTOMDRAW) - { - // custom-draw the toolbar. just draw the correct icon and nothing else - NMTBCUSTOMDRAW *pDraw=(NMTBCUSTOMDRAW*)lParam; - if (pDraw->nmcd.dwDrawStage==CDDS_PREPAINT) - return CDRF_NOTIFYITEMDRAW; - if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPREPAINT) - { - CExplorerBHO *pThis=(CExplorerBHO*)uIdSubclass; - BOOL comp; - if (SUCCEEDED(DwmIsCompositionEnabled(&comp)) && comp) - FillRect(pDraw->nmcd.hdc,&pDraw->nmcd.rc,(HBRUSH)GetStockObject(BLACK_BRUSH)); - if (pDraw->nmcd.uItemState&CDIS_DISABLED) - { - if (pThis->m_IconDisabled) - DrawIconEx(pDraw->nmcd.hdc,0,0,pThis->m_IconDisabled,0,0,0,NULL,DI_NORMAL|DI_NOMIRROR); - else - DrawIconEx(pDraw->nmcd.hdc,0,0,pThis->m_IconNormal,0,0,0,NULL,DI_NORMAL|DI_NOMIRROR); - } - else if (pDraw->nmcd.uItemState&CDIS_SELECTED) - { - if (pThis->m_IconPressed) - DrawIconEx(pDraw->nmcd.hdc,0,0,pThis->m_IconPressed,0,0,0,NULL,DI_NORMAL|DI_NOMIRROR); - else - DrawIconEx(pDraw->nmcd.hdc,1,1,pThis->m_IconNormal,0,0,0,NULL,DI_NORMAL|DI_NOMIRROR); - } - else if (pDraw->nmcd.uItemState&CDIS_HOT) - { - if (pThis->m_IconHot) - DrawIconEx(pDraw->nmcd.hdc,0,0,pThis->m_IconHot,0,0,0,NULL,DI_NORMAL|DI_NOMIRROR); - else - DrawIconEx(pDraw->nmcd.hdc,0,0,pThis->m_IconNormal,0,0,0,NULL,DI_NORMAL|DI_NOMIRROR); - } - else - DrawIconEx(pDraw->nmcd.hdc,0,0,pThis->m_IconNormal,0,0,0,NULL,DI_NORMAL|DI_NOMIRROR); - return CDRF_SKIPDEFAULT; - } - } - - if (uMsg==WM_THEMECHANGED) - { - // the button size is reset when the theme changes. force the correct size again - HWND toolbar=(HWND)dwRefData; - RECT rc; - GetClientRect(toolbar,&rc); - PostMessage(toolbar,TB_SETBUTTONSIZE,0,MAKELONG(rc.right,rc.bottom)); - } - - if (uMsg==WM_NOTIFY && ((NMHDR*)lParam)->hwndFrom==(HWND)dwRefData && ((NMHDR*)lParam)->code==TBN_GETINFOTIP) - { - // show the tip for the up button - NMTBGETINFOTIP *pTip=(NMTBGETINFOTIP*)lParam; - Strcpy(pTip->pszText,pTip->cchTextMax,FindTranslation(L"Toolbar.GoUp",L"Up One Level")); - return 0; - } - - if (uMsg==WM_NOTIFY && ((NMHDR*)lParam)->hwndFrom==(HWND)dwRefData && ((NMHDR*)lParam)->code==NM_RCLICK) - { - NMMOUSE *pInfo=(NMMOUSE*)lParam; - POINT pt=pInfo->pt; - ClientToScreen(pInfo->hdr.hwndFrom,&pt); - ShowSettingsMenu(hWnd,pt.x,pt.y); - return TRUE; - } - - if (uMsg==WM_COMMAND && wParam==1) - { - UINT flags=(GetKeyState(VK_CONTROL)<0?SBSP_NEWBROWSER:SBSP_SAMEBROWSER); - ((CExplorerBHO*)uIdSubclass)->m_pBrowser->BrowseObject(NULL,flags|SBSP_PARENT); - } - - CExplorerBHO *pThis=(CExplorerBHO*)uIdSubclass; - if (pThis->m_bRemapBands) - { - // HACK! Explorer doesn't use RB_IDTOINDEX every time it needs to access a particular band. Since we insert the Up button in the second - // position, the rest of the bands get offset and comedy ensues (the search box is not sized properly). - // To fix the issue, we renumber the bands so that from the outside ours appears to be last. - static int remapNewOld[2][4]={{3,0,1,2},{0,3,1,2}}; - static int remapOldNew[2][4]={{1,2,3,0},{0,2,3,1}}; - - if (uMsg==RB_IDTOINDEX || uMsg==RB_HITTEST) - { - // remap the result from RB_IDTOINDEX and RB_HITTEST - LRESULT res=DefSubclassProc(hWnd,uMsg,wParam,lParam); - if (res<0 || res>3) return res; - res=remapNewOld[pThis->m_UpButtonIndex-1][res]; - if (lParam && uMsg==RB_HITTEST) ((RBHITTESTINFO*)lParam)->iBand=(int)res; - return res; - } - if (uMsg==RB_GETBANDBORDERS || uMsg==RB_GETBANDINFO || uMsg==RB_GETRECT || uMsg==RB_SETBANDINFO || uMsg==RB_SETBANDWIDTH) - { - // remap wParam for all GET/SET messages - if (wParam>=0 && wParam<=3) - wParam=remapOldNew[pThis->m_UpButtonIndex-1][wParam]; - } - } - - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -// Subclass the breadcrumbs to make them show the full path -LRESULT CALLBACK CExplorerBHO::SubclassBreadcrumbProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - CExplorerBHO *pThis=(CExplorerBHO*)uIdSubclass; - if (*pThis->m_CurPath) - { - if (uMsg==WM_SETFOCUS) - { - if (wParam) - { - // see if the focus comes from the combo box. if so, most likely Escape was pressed, so just focus the main frame - HWND from=(HWND)wParam; - HWND combo=FindChildWindow(GetParent(GetParent(hWnd)),WC_COMBOBOXEX); - if (combo && (combo==from || IsChild(combo,from))) - { - SetFocus(GetAncestor(hWnd,GA_ROOT)); - return 0; - } - } - // when the breadcrumbs are focused, switch to the combobox by simulating a mouse click - RECT rc; - GetClientRect(hWnd,&rc); - LPARAM pos=MAKELONG(rc.right-1,rc.bottom/2); - DefSubclassProc(hWnd,WM_LBUTTONDOWN,MK_LBUTTON,pos); - DefSubclassProc(hWnd,WM_LBUTTONUP,0,pos); - return 0; - } - if (uMsg==WM_LBUTTONDOWN || uMsg==WM_LBUTTONDBLCLK || uMsg==WM_LBUTTONUP) - { - // unless the mouse is clicked on the icon, replace the mouse position with a point on the far right. - // this will cause Explorer to switch to the combobox even when a breadcrumb is clicked - int iconSize=GetSystemMetrics(SM_CXSMICON); - if (!pThis->m_CurIcon || (short)LOWORD(lParam)>iconSize+3) - { - RECT rc; - GetClientRect(hWnd,&rc); - lParam=MAKELONG(rc.right-1,rc.bottom/2); - } - } - - if (uMsg==WM_PAINT) - { - // make the breadcrumbs control draw the full path like the XP address bar - RECT rc; - GetClientRect(hWnd,&rc); - - PAINTSTRUCT ps; - HDC hdc=BeginPaint(hWnd,&ps); - - // we need to use buffered painting because DrawThemeTextEx with DTT_COMPOSITED requires it - // on Vista DTT_COMPOSITED is required so that the black text doesn't get transparent. On Windows 7 regular DrawText seems to work fine - BP_PAINTPARAMS paintParams={sizeof(paintParams)}; - paintParams.dwFlags=BPPF_ERASE; - HDC hdcPaint=NULL; - HPAINTBUFFER hBufferedPaint=BeginBufferedPaint(hdc,&rc,BPBF_TOPDOWNDIB,&paintParams,&hdcPaint); - if (hdcPaint) - { - rc.top++; - SendMessage(GetParent(GetParent(hWnd)),WM_PRINTCLIENT,(WPARAM)hdcPaint,PRF_CLIENT); - - // draw icon - int iconSize=GetSystemMetrics(SM_CXSMICON); - if (pThis->m_CurIcon) - DrawIconEx(hdcPaint,rc.left+3,(rc.top+rc.bottom-iconSize)/2,pThis->m_CurIcon,iconSize,iconSize,0,NULL,DI_NORMAL); - rc.left+=iconSize+8; // Not a good idea to hard-code number of pixels, but seems to work fine for different DPI settings - - // draw path - HFONT font=(HFONT)SendMessage(hWnd,WM_GETFONT,0,0); - HGDIOBJ font0=SelectObject(hdcPaint,font); - SetBkMode(hdcPaint,TRANSPARENT); - SetTextColor(hdcPaint,GetSysColor(COLOR_WINDOWTEXT)); - HTHEME theme=GetWindowTheme(hWnd); - BOOL dwm; - if (theme && SUCCEEDED(DwmIsCompositionEnabled(&dwm)) && dwm) - { - DTTOPTS opts={sizeof(opts),DTT_COMPOSITED|DTT_TEXTCOLOR}; - opts.crText=GetSysColor(COLOR_WINDOWTEXT); - DrawThemeTextEx(theme,hdcPaint,0,0,pThis->m_CurPath,-1,DT_NOPREFIX|DT_VCENTER|DT_SINGLELINE,&rc,&opts); - } - else - { - DrawText(hdcPaint,pThis->m_CurPath,-1,&rc,DT_NOPREFIX|DT_VCENTER|DT_SINGLELINE); - } - SelectObject(hdcPaint,font0); - EndBufferedPaint(hBufferedPaint,TRUE); - } - EndPaint(hWnd,&ps); - return 0; - } - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -// Subclass the progress bar behind the address bar to remove the history and replace it with a list of parent folders -LRESULT CALLBACK CExplorerBHO::SubclassProgressProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - CExplorerBHO *pThis=(CExplorerBHO*)uIdSubclass; - - if (uMsg==WM_PARENTNOTIFY && LOWORD(wParam)==WM_CREATE && !pThis->m_ComboBox.m_hWnd) - { - // on Windows 7 the combobox is not created at startup. so listen for child windows being created and update pThis->m_ComboBox - HWND combo=(HWND)lParam; - wchar_t className[256]; - GetClassName(combo,className,_countof(className)); - if (_wcsicmp(className,WC_COMBOBOXEX)==0) - pThis->m_ComboBox=combo; - } - - if (uMsg==WM_COMMAND && (HWND)lParam==pThis->m_ComboBox.m_hWnd) - { - if (HIWORD(wParam)==CBN_DROPDOWN) - { - // on drop down refresh the list - pThis->ClearComboItems(); - - CComPtr pDesktop; - SHGetDesktopFolder(&pDesktop); - - { - // add desktop - ITEMIDLIST shEmpty={{0}}; - CComString pName; - if (SUCCEEDED(SHGetNameFromIDList((PIDLIST_ABSOLUTE)&shEmpty,SIGDN_DESKTOPABSOLUTEEDITING,&pName))) - { - ComboItem item={ILCloneFull((PIDLIST_ABSOLUTE)&shEmpty),0,CString(pName)}; - pThis->m_ComboItems.push_back(item); - } - } - - if (dwRefData==2) - { - // enumerate all desktop items - CComPtr pEnum; - if (SUCCEEDED(pDesktop->EnumObjects(NULL,SHCONTF_FOLDERS,&pEnum)) && pEnum) - { - PITEMID_CHILD child; - while (pEnum->Next(1,&child,NULL)==S_OK) - { - STRRET str; - if (SUCCEEDED(pDesktop->GetDisplayNameOf(child,SHGDN_INFOLDER|SHGDN_NORMAL,&str))) - { - CComString pName; - StrRetToStr(&str,child,&pName); - ComboItem item={(PIDLIST_ABSOLUTE)child,1,CString(pName)}; - item.sortName=item.name; - pThis->m_ComboItems.push_back(item); - } - else - ILFree(child); - } - } - - // sort desktop items - std::sort(pThis->m_ComboItems.begin()+1,pThis->m_ComboItems.end()); - } - - if (dwRefData==2) - { - // enumerate all computer items - CAbsolutePidl pidlComp; - SHGetKnownFolderIDList(FOLDERID_ComputerFolder,0,NULL,&pidlComp); - int index=1; - for (int i=1;i<(int)pThis->m_ComboItems.size();i++) - if (ILIsEqual(pidlComp,pThis->m_ComboItems[i].pidl)) - { - index=i+1; - break; - } - int index0=index; - CComPtr pComputer; - pDesktop->BindToObject(pidlComp,NULL,IID_IShellFolder,(void**)&pComputer); - - CComPtr pEnum; - if (pComputer && SUCCEEDED(pComputer->EnumObjects(NULL,SHCONTF_FOLDERS,&pEnum)) && pEnum) - { - PITEMID_CHILD child; - while (pEnum->Next(1,&child,NULL)==S_OK) - { - STRRET str; - if (SUCCEEDED(pComputer->GetDisplayNameOf(child,SHGDN_INFOLDER|SHGDN_NORMAL,&str))) - { - CComString pName; - StrRetToStr(&str,child,&pName); - ComboItem item={ILCombine(pidlComp,child),2,CString(pName)}; - pThis->m_ComboItems.insert(pThis->m_ComboItems.begin()+index,1,item); - index++; - } - ILFree(child); - } - } - - //sort computer items - std::sort(pThis->m_ComboItems.begin()+index0,pThis->m_ComboItems.begin()+index); - } - - if (pThis->m_CurPidl) - { - // enumerate all parent items - CAbsolutePidl pidl(pThis->m_CurPidl); - PIDLIST_ABSOLUTE pidlStart=pidl; - int index=0; - for (int i=0;i<(int)pThis->m_ComboItems.size();i++) - { - PIDLIST_ABSOLUTE p=(PIDLIST_ABSOLUTE)ILFindChild(pThis->m_ComboItems[i].pidl,pidl); - if (p) - { - index=i; - pidlStart=p; - } - } - int n=0; - for (PUIDLIST_RELATIVE child=pidl;!ILIsEmpty(child);child=ILGetNext(child)) - n++; - - int start=n; - for (PUIDLIST_RELATIVE child=pidlStart;!ILIsEmpty(child);child=ILGetNext(child)) - start--; - - for (int i=start;i pFolder; - PCITEMID_CHILD child; - if (SUCCEEDED(SHBindToParent(pidl,IID_IShellFolder,(void**)&pFolder,&child))) - { - STRRET str; - if (SUCCEEDED(pFolder->GetDisplayNameOf(child,SHGDN_INFOLDER|SHGDN_NORMAL,&str))) - { - CComString pName; - StrRetToStr(&str,child,&pName); - ComboItem item={ILCloneFull(pidl),n-(i-start),CString(pName)}; - pThis->m_ComboItems.insert(pThis->m_ComboItems.begin()+index+1,1,item); - } - } - ILRemoveLastID(pidl); - } - } - - // add all sorted items to the combobox - COMBOBOXEXITEM item={CBEIF_TEXT|CBEIF_IMAGE|CBEIF_SELECTEDIMAGE|CBEIF_INDENT|CBEIF_LPARAM}; - item.iItem=-1; - for (std::vector::const_iterator it=pThis->m_ComboItems.begin();it!=pThis->m_ComboItems.end();++it) - { - item.iImage=item.iSelectedImage=-1; - item.pszText=(LPWSTR)(LPCWSTR)it->name; - item.iIndent=it->indent; - item.lParam=(LPARAM)it->pidl; - SHFILEINFO info; - if (SHGetFileInfo((LPCTSTR)it->pidl,0,&info,sizeof(info),SHGFI_PIDL|SHGFI_SYSICONINDEX|SHGFI_SMALLICON)) - item.iImage=item.iSelectedImage=info.iIcon; - int idx=(int)pThis->m_ComboBox.SendMessage(CBEM_INSERTITEM,'CLSH',(LPARAM)&item); - if (pThis->m_CurPidl && ILIsEqual(it->pidl,pThis->m_CurPidl)) - pThis->m_ComboBox.SendMessage(CB_SETCURSEL,idx); - } - - return 0; - } - if (HIWORD(wParam)==CBN_CLOSEUP || HIWORD(wParam)==CBN_SELENDCANCEL) - { - // on close clear the list - if (!pThis->m_ComboItems.empty()) - { - pThis->m_ComboBox.SetWindowText(pThis->m_CurPath); - pThis->ClearComboItems(); - } - if (HIWORD(wParam)==CBN_SELENDCANCEL) - PostMessage(hWnd,pThis->m_NavigateMsg,1,0); - return 0; - } - if (HIWORD(wParam)==CBN_SELENDOK) - { - // when an item is selected, go to it and clear the list (selection with mouse) - int index=(int)pThis->m_ComboBox.SendMessage(CB_GETCURSEL); - if (index>=0) - { - COMBOBOXEXITEM item={CBEIF_LPARAM,index}; - pThis->m_ComboBox.SendMessage(CBEM_GETITEM,0,(LPARAM)&item); - pThis->m_NavigatePidl.Clone((PIDLIST_ABSOLUTE)item.lParam); - PostMessage(hWnd,pThis->m_NavigateMsg,0,0); - } - pThis->ClearComboItems(); - return 0; - } - } - - if (uMsg==WM_NOTIFY && ((NMHDR*)lParam)->code==CBEN_BEGINEDIT) - { - // ignore this, so Explorer doesn't add its history to the list - return 0; - } - - if (uMsg==WM_NOTIFY && ((NMHDR*)lParam)->code==CBEN_ENDEDIT) - { - if (pThis->m_ComboBox.SendMessage(CB_GETDROPPEDSTATE)) - { - // when an item is selected, go to it and clear the list (selection with keyboard) - NMCBEENDEDIT *pEdit=(NMCBEENDEDIT*)lParam; - int index=pEdit->iNewSelection; - if (index>=0) - { - COMBOBOXEXITEM item={CBEIF_LPARAM,index}; - pThis->m_ComboBox.SendMessage(CBEM_GETITEM,0,(LPARAM)&item); - pThis->m_NavigatePidl.Clone((PIDLIST_ABSOLUTE)item.lParam); - pThis->ClearComboItems(); - PostMessage(hWnd,pThis->m_NavigateMsg,0,0); - pThis->m_ComboBox.SendMessage(CB_SHOWDROPDOWN,FALSE); - } - return 0; - } - } - - if (uMsg==pThis->m_NavigateMsg) - { - // navigate to the selected item - if (wParam==0 && pThis->m_NavigatePidl && !(pThis->m_CurPidl && ILIsEqual(pThis->m_NavigatePidl,pThis->m_CurPidl))) - pThis->m_pBrowser->BrowseObject(pThis->m_NavigatePidl,SBSP_SAMEBROWSER|SBSP_ABSOLUTE); - else - SetFocus(hWnd); - pThis->m_NavigatePidl.Clear(); - } - - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -static void NewVersionCallback( VersionData &data ) -{ - wchar_t path[_MAX_PATH]; - GetModuleFileName(g_Instance,path,_countof(path)); - PathRemoveFileSpec(path); - PathAppend(path,L"Update.exe"); - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"\"%s\" -popup",path); - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - if (CreateProcess(path,cmdLine,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - CloseHandle(processInfo.hProcess); - } -} - -HRESULT STDMETHODCALLTYPE CExplorerBHO::SetSite( IUnknown *pUnkSite ) -{ - IObjectWithSiteImpl::SetSite(pUnkSite); - - if (pUnkSite) - { - // hook - GetTlsData()->bho=this; - if (!m_Hook) - { - m_Hook=SetWindowsHookEx(WH_CBT,HookExplorer,NULL,GetCurrentThreadId()); - } - CComQIPtr pProvider=pUnkSite; - - if (pProvider) - { - pProvider->QueryService(SID_SShellBrowser,IID_IShellBrowser,(void**)&m_pBrowser); - - // listen for web browser notifications. we only care about DISPID_NAVIGATECOMPLETE2 and DISPID_ONQUIT - pProvider->QueryService(SID_SWebBrowserApp,IID_IWebBrowser2,(void**)&m_pWebBrowser); - if (m_pWebBrowser) - { - if (DispEvent1::m_dwEventCookie==0xFEFEFEFE) // ATL's event cookie is 0xFEFEFEFE when the sink is not advised - DispEvent1::DispEventAdvise(m_pWebBrowser,&DIID_DWebBrowserEvents2); - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,GetSettingsRegPath())!=ERROR_SUCCESS) - regKey.Create(HKEY_CURRENT_USER,GetSettingsRegPath()); - - DWORD val; - if (regKey.QueryDWORDValue(L"ShowedToolbar",val)!=ERROR_SUCCESS || !val) - { - CComVariant name(L"{553891B7-A0D5-4526-BE18-D3CE461D6310}"); - CComVariant show(true); - if (GetSettingBool(L"NoInitialToolbar") || SUCCEEDED(m_pWebBrowser->ShowBrowserBar(&name,&show,NULL))) - regKey.SetDWORDValue(L"ShowedToolbar",1); - } - } - - HWND status; - if (m_pBrowser && SUCCEEDED(m_pBrowser->GetControlWindow(FCW_STATUS,&status))) - { - m_TopWindow=GetAncestor(status,GA_ROOT); - if (!GetProp(m_TopWindow,g_LoadedSettingsAtom)) - { - SetProp(m_TopWindow,g_LoadedSettingsAtom,(HANDLE)1); - LoadSettings(); - } - bool bWin8=(GetWinVersion()>=WIN_VER_WIN8); - - m_UpButtonIndex=bWin8?0:GetSettingInt(L"ShowUpButton"); - bool bShowCaption=!bWin8 && GetSettingBool(L"ShowCaption"); - bool bShowIcon=!bWin8 && GetSettingBool(L"ShowIcon"); - - if (m_TopWindow && (bShowCaption || bShowIcon)) - { - // show the title and the icon for the main Explorer window - DWORD flags=WTNCA_NODRAWCAPTION|WTNCA_NODRAWICON; - if (bShowCaption) flags&=~WTNCA_NODRAWCAPTION; - if (bShowIcon) flags&=~WTNCA_NODRAWICON; - SetWindowThemeNonClientAttributes(m_TopWindow,WTNCA_NODRAWCAPTION|WTNCA_NODRAWICON,flags); - } - - // find the TravelBand and the rebar - HWND band=NULL, rebar=NULL; - if (m_TopWindow) - band=FindChildWindow(m_TopWindow,L"TravelBand"); - if (band) - rebar=GetParent(band); - - bool bRedrawRebar=false; - - m_Rebar=rebar; - m_AltD=0; - if (rebar && GetSettingBool(L"HideSearch")) - { - // to remove the Search box, first find the band with ID=2 (or 4 for Win8). Then disable the child control and hide the band - int idx=(int)SendMessage(rebar,RB_IDTOINDEX,bWin8?4:2,0); - if (idx>=0) - { - REBARBANDINFO info={sizeof(info),RBBIM_CHILD}; - SendMessage(rebar,RB_GETBANDINFO,idx,(LPARAM)&info); - if (info.hwndChild) - EnableWindow(info.hwndChild,FALSE); - SendMessage(rebar,RB_SHOWBAND,idx,FALSE); - bRedrawRebar=true; - } - } - - if (rebar && m_UpButtonIndex) - { - // find the toolbar - HWND toolbar=FindWindowEx(band,NULL,TOOLBARCLASSNAME,NULL); - RECT rc; - GetClientRect(toolbar,&rc); - bool bDef; - int size=GetSettingInt(L"UpIconSize",bDef); - if (bDef) - size=rc.bottom; - m_Toolbar.Create(rebar,NULL,NULL,WS_CHILD|TBSTYLE_TOOLTIPS|TBSTYLE_FLAT|TBSTYLE_CUSTOMERASE|CCS_NODIVIDER|CCS_NOPARENTALIGN|CCS_NORESIZE); - m_Toolbar.SendMessage(TB_SETEXTENDEDSTYLE,0,TBSTYLE_EX_MIXEDBUTTONS); - m_Toolbar.SendMessage(TB_BUTTONSTRUCTSIZE,sizeof(TBBUTTON)); - m_Toolbar.SendMessage(TB_SETMAXTEXTROWS,1); - - std::vector modules; - CString str=GetSettingString(L"UpIconNormal"); - m_IconNormal=str?LoadIcon(size,str,modules):NULL; - if (m_IconNormal) - { - str=GetSettingString(L"UpIconHot"); - m_IconHot=LoadIcon(size,str,modules); - str=GetSettingString(L"UpIconPressed"); - m_IconPressed=LoadIcon(size,str,modules); - str=GetSettingString(L"UpIconDisabled"); - m_IconDisabled=LoadIcon(size,str,modules); - if (!m_IconDisabled) - m_IconDisabled=CreateDisabledIcon(m_IconNormal,size); - } - else - { - m_IconNormal=(HICON)LoadImage(g_Instance,MAKEINTRESOURCE(IDI_UP2NORMAL),IMAGE_ICON,size,size,LR_DEFAULTCOLOR); - m_IconHot=(HICON)LoadImage(g_Instance,MAKEINTRESOURCE(IDI_UP2HOT),IMAGE_ICON,size,size,LR_DEFAULTCOLOR); - m_IconPressed=(HICON)LoadImage(g_Instance,MAKEINTRESOURCE(IDI_UP2PRESSED),IMAGE_ICON,size,size,LR_DEFAULTCOLOR); - m_IconDisabled=(HICON)LoadImage(g_Instance,MAKEINTRESOURCE(IDI_UP2DISABLED),IMAGE_ICON,size,size,LR_DEFAULTCOLOR); - } - - for (std::vector::const_iterator it=modules.begin();it!=modules.end();++it) - FreeLibrary(*it); - - TBBUTTON button={I_IMAGENONE,1,TBSTATE_ENABLED}; - m_Toolbar.SendMessage(TB_ADDBUTTONS,1,(LPARAM)&button); - m_Toolbar.SendMessage(TB_SETBUTTONSIZE,0,MAKELONG(size,size)); - - m_bRemapBands=true; - SetWindowSubclass(rebar,SubclassRebarProc,(UINT_PTR)this,(DWORD_PTR)m_Toolbar.m_hWnd); - REBARBANDINFO info={sizeof(info),RBBIM_CHILD|RBBIM_ID|RBBIM_CHILDSIZE|RBBIM_IDEALSIZE|RBBIM_SIZE|RBBIM_STYLE}; - info.fStyle=RBBS_HIDETITLE|RBBS_NOGRIPPER|RBBS_FIXEDSIZE; - info.hwndChild=m_Toolbar.m_hWnd; - info.cxIdeal=info.cx=info.cxMinChild=size; - info.cyMinChild=size; - info.wID='UBTN'; - SendMessage(rebar,RB_INSERTBAND,m_UpButtonIndex-1,(LPARAM)&info); - bRedrawRebar=true; - } - - if (rebar) - { - int AddressBarHistory=GetSettingInt(L"AddressBarHistory"); - HWND progress=NULL; - HWND breadcrumbs=FindChildWindow(rebar,L"Breadcrumb Parent"); - if (breadcrumbs) - { - progress=GetParent(breadcrumbs); - breadcrumbs=FindWindowEx(breadcrumbs,NULL,TOOLBARCLASSNAME,NULL); - m_AltD=(char)GetSettingString(L"AddressAltD")[0]; - if (m_AltD>='a' && m_AltD<='z') - m_AltD+='A'-'a'; - if (m_AltD<'A' || m_AltD>'Z') - m_AltD=0; - } - m_Breadcrumbs=breadcrumbs; - if (GetSettingBool(L"DisableBreadcrumbs")) - { - // "hide" the breadcrumbs. no, not really. instead of hiding the breadcrumbs we just make them show the full path as text - if (breadcrumbs) - { - m_bNoBreadcrumbs=true; - SetWindowSubclass(breadcrumbs,SubclassBreadcrumbProc,(UINT_PTR)this,0); - } - } - if (progress && AddressBarHistory) - { - m_Progress=progress; - m_ComboBox=FindWindowEx(progress,NULL,WC_COMBOBOXEX,NULL); - SetWindowSubclass(progress,SubclassProgressProc,(UINT_PTR)this,AddressBarHistory); - m_NavigateMsg=RegisterWindowMessage(L"OpenShell.Navigate"); - } - } - - if (bRedrawRebar) - RedrawWindow(rebar,NULL,NULL,RDW_UPDATENOW|RDW_ALLCHILDREN); - - m_UpHotkey=GetSettingInt(L"UpHotkey"); - if ((m_AltD || m_UpHotkey) && !m_HookKbd) - { - m_HookKbd=SetWindowsHookEx(WH_KEYBOARD,HookKeyboard,NULL,GetCurrentThreadId()); - } - - if ((bWin8 && GetSettingBool(L"ShowStatusBar")) || (!bWin8 && GetSettingBool(L"ShowFreeSpace"))) - { - DWORD flags=(GetSettingBool(L"ShowInfoTip")?SHOW_INFOTIP:0)|(GetSettingBool(L"ShowFreeSpace")?SHOW_FREE_SPACE:0); - if (bWin8) - { - RECT rc; - GetWindowRect(status,&rc); - m_Status8=CreateWindow(STATUSCLASSNAME,NULL,WS_CHILD|WS_VISIBLE|SBARS_SIZEGRIP|SBARS_TOOLTIPS,0,0,rc.right-rc.left,rc.bottom-rc.top,GetParent(status),NULL,g_Instance,NULL); - HDC hdc=CreateCompatibleDC(NULL); - HGDIOBJ font0=SelectObject(hdc,(HFONT)SendMessage(m_Status8,WM_GETFONT,0,0)); - - HFONT font=CreateFontSetting(GetSettingString(L"StatusBarFont"),GetDeviceCaps(hdc,LOGPIXELSY)); - if (font) - { - SendMessage(m_Status8,WM_SETFONT,(WPARAM)font,0); - SelectObject(hdc,font); - TEXTMETRIC met; - GetTextMetrics(hdc,&met); - int height=GetSystemMetrics(SM_CXSMICON); - if (heightGetZoneAttributes(zone,&attributes))) - { - if (GetTextExtentPoint32(hdc,attributes.szDisplayName,Strlen(attributes.szDisplayName),&size) && m_ZoneWidthbho=NULL; - if (m_Hook) - UnhookWindowsHookEx(m_Hook); - m_Hook=NULL; - if (m_HookKbd) - UnhookWindowsHookEx(m_HookKbd); - m_HookKbd=NULL; - if (m_Status) - RemoveWindowSubclass(m_Status,SubclassStatusProc,(UINT_PTR)this); - m_Status=NULL; - if (m_Status8) - RemoveWindowSubclass(m_Status8,SubclassStatusProc8,(UINT_PTR)this); - m_Status8=NULL; - if (m_DUIView) - RemoveWindowSubclass(m_DUIView,SubclassDUIViewProc,(UINT_PTR)this); - m_DUIView=NULL; - if (m_Progress) - RemoveWindowSubclass(m_Progress,SubclassProgressProc,(UINT_PTR)this); - m_Progress=NULL; - if (m_bNoBreadcrumbs) - RemoveWindowSubclass(m_Breadcrumbs,SubclassBreadcrumbProc,(UINT_PTR)this); - m_Breadcrumbs=NULL; - m_bNoBreadcrumbs=false; - if (m_Rebar) - RemoveWindowSubclass(m_Rebar,SubclassRebarProc,(UINT_PTR)this); - m_pBrowser=NULL; - if (m_pWebBrowser && DispEvent1::m_dwEventCookie!=0xFEFEFEFE) - DispEvent1::DispEventUnadvise(m_pWebBrowser,&DIID_DWebBrowserEvents2); - m_pWebBrowser=NULL; - if (m_pWebDoc && DispEvent2::m_dwEventCookie!=0xFEFEFEFE) - DispEvent2::DispEventUnadvise(m_pWebDoc,&DIID_DShellFolderViewEvents); - m_pWebDoc=NULL; - if (m_Toolbar.m_hWnd) - m_Toolbar.DestroyWindow(); - if (m_IconNormal) DestroyIcon(m_IconNormal); m_IconNormal=NULL; - if (m_IconHot) DestroyIcon(m_IconHot); m_IconHot=NULL; - if (m_IconPressed) DestroyIcon(m_IconPressed); m_IconPressed=NULL; - if (m_IconDisabled) DestroyIcon(m_IconDisabled); m_IconDisabled=NULL; - if (m_CurIcon) DestroyIcon(m_CurIcon); m_CurIcon=NULL; - m_CurPidl.Clear(); - m_NavigatePidl.Clear(); - if (m_TopWindow) RemoveProp(m_TopWindow,g_LoadedSettingsAtom); - m_TopWindow=NULL; - if (m_Balloon) - { - DestroyWindow(m_Balloon); - m_Balloon=NULL; - } - for (std::map::iterator it=m_ZoneIconCache.begin();it!=m_ZoneIconCache.end();++it) - DestroyIcon(it->second); - } - ClearComboItems(); - return S_OK; -} - -void CExplorerBHO::ClearComboItems( void ) -{ - for (std::vector::iterator it=m_ComboItems.begin();it!=m_ComboItems.end();++it) - ILFree(it->pidl); - m_ComboItems.clear(); - if (m_ComboBox.m_hWnd) - { - for (int i=(int)m_ComboBox.SendMessage(CB_GETCOUNT)-1;i>=0;i--) - m_ComboBox.SendMessage(CBEM_DELETEITEM,i); - } -} - -STDMETHODIMP CExplorerBHO::OnDocumentComplete( IDispatch *pDisp, VARIANT *URL ) -{ - // this is called when the current folder changes. disable the Up button if this is the desktop folder - bool bDesktop=false; - m_CurPath[0]=0; - if (m_CurIcon) DestroyIcon(m_CurIcon); - m_CurIcon=NULL; - m_CurPidl.Clear(); - if (m_pWebBrowser && (m_Status || m_Status8)) - { - if (m_pWebDoc && DispEvent2::m_dwEventCookie!=0xFEFEFEFE) - DispEvent2::DispEventUnadvise(m_pWebDoc,&DIID_DShellFolderViewEvents); - m_pWebDoc=NULL; - m_pWebBrowser->get_Document(&m_pWebDoc); - if (m_pWebDoc && DispEvent2::m_dwEventCookie==0xFEFEFEFE) // ATL's event cookie is 0xFEFEFEFE when the sink is not advised - DispEvent2::DispEventAdvise(m_pWebDoc,&DIID_DShellFolderViewEvents); - if (DispEvent2::m_dwEventCookie!=0xFEFEFEFE) - { - if (m_Status) - SendMessage(m_Status,WM_CLEAR,0,0); - if (m_Status8) - SendMessage(m_Status8,WM_CLEAR,0,0); - } - } - if (m_pBrowser) - { - CComPtr pView; - m_pBrowser->QueryActiveShellView(&pView); - if (pView) - { - CComQIPtr pFolderView(pView); - if (pFolderView) - { - if (GetSettingBool(L"ShowHeaders")) - { - - // *********************************************************************** - - // The code to turn on the headers is borrowed from the Explorer7Fixes project under the terms of the MIT license: - // http://github.com/ijprest/Explorer7Fixes - Copyright (c) 2010 Ian Prest - - CComQIPtr pView2(pFolderView); - if (pView2) - { - // Turn on the sort header! - pView2->SetCurrentFolderFlags(FWF_NOHEADERINALLVIEWS,0); - // It seems the ItemsView doesn't respect the FWF_NOHEADERINALLVIEWS flag - // until the view has been refreshed. Rather than call Refresh, we just - // briefly change the view mode and change it back. - FOLDERVIEWMODE viewMode; - int itemSize=0; - pView2->GetViewModeAndIconSize(&viewMode,&itemSize); - if (viewMode!=FVM_DETAILS) - { - pView2->SetViewModeAndIconSize(viewMode==FVM_LIST?FVM_SMALLICON:FVM_LIST,itemSize); - pView2->SetViewModeAndIconSize(viewMode,itemSize); - } - } - // *********************************************************************** - - } - - CComPtr pFolder; - pFolderView->GetFolder(IID_IPersistFolder2,(void**)&pFolder); - if (pFolder && SUCCEEDED(pFolder->GetCurFolder(&m_CurPidl)) && m_CurPidl) - { - if (ILIsEmpty(m_CurPidl)) - bDesktop=true; // only the top level has empty PIDL - - // find path and icon - // it is possible to get the path and icon from the caption of the main window, but there are 2 problems: - // 1) on Vista the icon is wrong. after you navigate to a new folder the icon switches to some default image and doesn't change any more - // 2) if the user has not checked "display full path in title bar", the caption of the main window is just the current folder name and not the full path - // so do it the hard way and grab it from SHGetNameFromIDList and SHGetFileInfo - if (m_bNoBreadcrumbs) - { - CComString pPath; - if (SUCCEEDED(SHGetNameFromIDList(m_CurPidl,SIGDN_DESKTOPABSOLUTEEDITING,&pPath))) - Strcpy(m_CurPath,_countof(m_CurPath),pPath); - else if (SUCCEEDED(SHGetNameFromIDList(m_CurPidl,SIGDN_FILESYSPATH,&pPath))) - Strcpy(m_CurPath,_countof(m_CurPath),pPath); // just in case DESKTOPABSOLUTE fails let's try the FILESYSPATH. probably not needed - SHFILEINFO info; - if (SUCCEEDED(SHGetFileInfo((LPCTSTR)(PIDLIST_ABSOLUTE)m_CurPidl,0,&info,sizeof(info),SHGFI_ICON|SHGFI_SMALLICON|SHGFI_PIDL))) - m_CurIcon=info.hIcon; - } - } - } - } - if (GetSettingBool(L"HideScrollTip")) - { - CComQIPtr pOptions(m_pBrowser); - if (pOptions) - pOptions->SetFolderViewOptions(FVO_NOSCROLLTIPS,FVO_NOSCROLLTIPS); - } - } - if (m_Toolbar.m_hWnd) - m_Toolbar.SendMessage(TB_ENABLEBUTTON,1,bDesktop?0:1); - - if (m_pZoneManager && m_pSecurityManager) - { - wchar_t text[256]; - text[0]=0; - HICON hIcon=NULL; - if (URL && URL->vt==VT_BSTR) - { - DWORD zone; - if (FAILED(m_pSecurityManager->MapUrlToZone(URL->bstrVal,&zone,0))) - zone=URLZONE_LOCAL_MACHINE; - ZONEATTRIBUTES attributes={sizeof(attributes)}; - if (SUCCEEDED(m_pZoneManager->GetZoneAttributes(zone,&attributes))) - { - Strcpy(text,_countof(text),attributes.szDisplayName); - unsigned int key=CalcFNVHash(attributes.szIconPath); - std::map::const_iterator it=m_ZoneIconCache.find(key); - if (it!=m_ZoneIconCache.end()) - hIcon=it->second; - else - { - wchar_t path[_MAX_PATH]; - wchar_t *str=wcschr(attributes.szIconPath,'#'); - if (!str) str=wcschr(attributes.szIconPath,','); - int index=0; - if (str) - { - index=_wtol(str+1); - *str=0; - } - int iconSize=GetSystemMetrics(SM_CXSMICON); - Strcpy(path,_countof(path),attributes.szIconPath); - if (PathIsRelative(path)) - PathFindOnPath(path,NULL); - if (index==0) - hIcon=(HICON)LoadImage(NULL,path,IMAGE_ICON,iconSize,iconSize,LR_LOADFROMFILE); - else - { - HMODULE hModule=LoadLibraryEx(path,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (hModule) - { - hIcon=(HICON)LoadImage(hModule,MAKEINTRESOURCE(index),IMAGE_ICON,iconSize,iconSize,0); - FreeLibrary(hModule); - } - } - m_ZoneIconCache[key]=hIcon; - } - } - } - - SendMessage(m_Status8,SB_SETTEXT,PART_ZONE,(LPARAM)text); - SendMessage(m_Status8,SB_SETICON,PART_ZONE,(LPARAM)hIcon); - - } - return S_OK; -} - -STDMETHODIMP CExplorerBHO::OnQuit( void ) -{ - if (m_pWebBrowser && DispEvent1::m_dwEventCookie!=0xFEFEFEFE) // ATL's event cookie is 0xFEFEFEFE, when the sink is not advised - DispEvent1::DispEventUnadvise(m_pWebBrowser,&DIID_DWebBrowserEvents2); - if (m_pWebDoc && DispEvent2::m_dwEventCookie!=0xFEFEFEFE) - DispEvent2::DispEventUnadvise(m_pWebDoc,&DIID_DShellFolderViewEvents); - return S_OK; -} - -STDMETHODIMP CExplorerBHO::OnSelChanged( void ) -{ - if (m_Status) - SendMessage(m_Status,WM_CLEAR,0,0); - if (m_Status8) - SendMessage(m_Status8,WM_CLEAR,0,0); - return S_OK; -} - -bool ShowTreeProperties( HWND hwndTree ) -{ - CAbsolutePidl pidl; - GetTreeItemPidl(TreeView_GetSelection(hwndTree),hwndTree,&pidl); - if (pidl) - { - // show properties - SHELLEXECUTEINFO execute={sizeof(execute),SEE_MASK_IDLIST|SEE_MASK_INVOKEIDLIST,NULL,L"properties"}; - execute.lpIDList=pidl; - execute.nShow=SW_SHOWNORMAL; - ShellExecuteEx(&execute); - return true; - } - return false; -} diff --git a/Src/ClassicExplorer/ExplorerBHO.h b/Src/ClassicExplorer/ExplorerBHO.h deleted file mode 100644 index e76c184..0000000 --- a/Src/ClassicExplorer/ExplorerBHO.h +++ /dev/null @@ -1,191 +0,0 @@ -// 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 - -// ExplorerBHO.h : Declaration of the CExplorerBHO - -#pragma once -#include "resource.h" // main symbols -#include -#include - -#include "ClassicExplorer_i.h" -#include "ComHelper.h" -#include - - -// CExplorerBHO - -class ATL_NO_VTABLE CExplorerBHO : - public CComObjectRootEx, - public CComCoClass, - public IObjectWithSiteImpl, - public IDispatchImpl, - public IDispEventImpl<1,CExplorerBHO,&DIID_DWebBrowserEvents2,&LIBID_SHDocVw,1,1>, - public IDispEventImpl<2,CExplorerBHO,&DIID_DShellFolderViewEvents,&LIBID_Shell32,1,0> -{ -public: - typedef IDispEventImpl<1,CExplorerBHO,&DIID_DWebBrowserEvents2,&LIBID_SHDocVw,1,1> DispEvent1; - typedef IDispEventImpl<2,CExplorerBHO,&DIID_DShellFolderViewEvents,&LIBID_Shell32,1,0> DispEvent2; - CExplorerBHO() - { - m_bResetStatus=true; - m_bForceRefresh=false; - m_bRemapBands=false; - m_bNoBreadcrumbs=false; - m_TreeItemHeight=0; - m_CurIcon=NULL; - m_CurPath[0]=0; - m_Rebar=NULL; - m_TopWindow=NULL; - m_Breadcrumbs=NULL; - m_Progress=NULL; - m_Status=m_Status8=NULL; - m_DUIView=NULL; - m_Hook=m_HookKbd=NULL; - m_Balloon=NULL; - m_UpButtonIndex=0; - m_UpHotkey=0; - m_IconNormal=m_IconHot=m_IconPressed=m_IconDisabled=NULL; - m_NavigateMsg=0; - m_AltD=0; - m_FileSizeWidth=0; - m_ZoneWidth=0; - } - - DECLARE_REGISTRY_RESOURCEID(IDR_EXPLORERBHO) - - BEGIN_SINK_MAP( CExplorerBHO ) - SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE, OnDocumentComplete) - SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_ONQUIT, OnQuit) - SINK_ENTRY_EX(2, DIID_DShellFolderViewEvents, DISPID_SELECTIONCHANGED, OnSelChanged) - END_SINK_MAP() - - BEGIN_COM_MAP(CExplorerBHO) - COM_INTERFACE_ENTRY(IExplorerBHO) - COM_INTERFACE_ENTRY(IObjectWithSite) - COM_INTERFACE_ENTRY(IDispatch) - END_COM_MAP() - - - - DECLARE_PROTECT_FINAL_CONSTRUCT() - - HRESULT FinalConstruct() - { - return S_OK; - } - - void FinalRelease() - { - } - - // Navigation pane styles - enum - { - STYLE_CLASSIC=0, // use classic XP style - STYLE_SIMPLE=1, // use simple XP style - STYLE_VISTA=2, // no change - }; - - enum - { - SHOW_INFOTIP=1, - SHOW_FREE_SPACE=2, - SHOW_ZONE=4, - }; - - enum - { - PART_TEXT, - PART_SIZE, - PART_ZONE, - }; -public: - // IObjectWithSite - STDMETHOD(SetSite)(IUnknown *pUnkSite); - - // DWebBrowserEvents2 - STDMETHOD(OnDocumentComplete)( IDispatch *pDisp, VARIANT *URL ); - STDMETHOD(OnQuit)( void ); - - // DShellFolderViewEvents - STDMETHOD(OnSelChanged)( void ); - -private: - // Super-class the toolbar, so it has a different class name. A program called Folder Menu 3 looks for specific controls in Explorer, - // and our extra toolbar throws it off - class CToolbar: public CWindowImpl - { - public: - DECLARE_WND_SUPERCLASS(L"OpenShell.UpButton",TOOLBARCLASSNAME); - - BEGIN_MSG_MAP( CToolbar ) - END_MSG_MAP() - }; - - CComPtr m_pBrowser; - CComPtr m_pWebBrowser; - CComPtr m_pWebDoc; - CComPtr m_pZoneManager; - CComPtr m_pSecurityManager; - std::map m_ZoneIconCache; - bool m_bResetStatus; - bool m_bForceRefresh; - bool m_bNoBreadcrumbs; - bool m_bRemapBands; - int m_TreeItemHeight; - int m_UpButtonIndex; - int m_UpHotkey; - CToolbar m_Toolbar; - HWND m_TopWindow; - HWND m_Rebar; - HWND m_Balloon; - HICON m_IconNormal, m_IconHot, m_IconPressed, m_IconDisabled; - HICON m_CurIcon; - CAbsolutePidl m_CurPidl; - wchar_t m_CurPath[1024]; // the current path - CWindow m_ComboBox; - CAbsolutePidl m_NavigatePidl; - UINT m_NavigateMsg; // private message that is posted to the progress bar to navigate to m_NavigatePidl - HHOOK m_Hook; - HHOOK m_HookKbd; - HWND m_Breadcrumbs; - HWND m_Progress; - HWND m_Status, m_Status8; - HWND m_DUIView; - int m_FileSizeWidth; - int m_ZoneWidth; - char m_AltD; - - struct ComboItem - { - PIDLIST_ABSOLUTE pidl; - int indent; - CString name; - CString sortName; - - bool operator<( const ComboItem &item ) { return _wcsicmp(sortName,item.sortName)<0; } - }; - std::vector m_ComboItems; - void ClearComboItems( void ); - bool GetStatusText( wchar_t *buf, int size, const wchar_t *oldText, bool bShowTip, bool bShowSpace ); - void GetFileSize( wchar_t *buf, int size ); - - static int s_AutoNavDelay; - - static LRESULT CALLBACK HookExplorer( int code, WPARAM wParam, LPARAM lParam ); - static LRESULT CALLBACK HookKeyboard( int code, WPARAM wParam, LPARAM lParam ); - static LRESULT CALLBACK SubclassTreeParentProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static LRESULT CALLBACK SubclassTreeProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static LRESULT CALLBACK SubclassStatusProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static LRESULT CALLBACK SubclassStatusProc8( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static LRESULT CALLBACK SubclassDUIViewProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static LRESULT CALLBACK SubclassRebarProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static LRESULT CALLBACK SubclassBreadcrumbProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static LRESULT CALLBACK SubclassProgressProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); -}; - -OBJECT_ENTRY_AUTO(__uuidof(ExplorerBHO), CExplorerBHO) - -bool ShowTreeProperties( HWND hwndTree ); diff --git a/Src/ClassicExplorer/ExplorerBHO.rgs b/Src/ClassicExplorer/ExplorerBHO.rgs deleted file mode 100644 index c98fc25..0000000 --- a/Src/ClassicExplorer/ExplorerBHO.rgs +++ /dev/null @@ -1,59 +0,0 @@ -HKCR -{ - ClassicExplorer.ExplorerBHO.1 = s 'ExplorerBHO Class' - { - CLSID = s '{449D0D6E-2412-4E61-B68F-1CB625CD9E52}' - } - ClassicExplorer.ExplorerBHO = s 'ExplorerBHO Class' - { - CLSID = s '{449D0D6E-2412-4E61-B68F-1CB625CD9E52}' - CurVer = s 'ClassicExplorer.ExplorerBHO.1' - } - NoRemove CLSID - { - ForceRemove {449D0D6E-2412-4E61-B68F-1CB625CD9E52} = s 'ExplorerBHO Class' - { - ProgID = s 'ClassicExplorer.ExplorerBHO.1' - VersionIndependentProgID = s 'ClassicExplorer.ExplorerBHO' - ForceRemove 'Programmable' - InprocServer32 = s '%MODULE%' - { - val ThreadingModel = s 'Apartment' - } - 'TypeLib' = s '{BF8D124A-A4E0-402F-8152-4EF377E62586}' - } - } -} - -HKLM -{ - NoRemove SOFTWARE - { - NoRemove Microsoft - { - NoRemove Windows - { - NoRemove CurrentVersion - { - NoRemove Explorer - { - NoRemove 'Browser Helper Objects' - { - ForceRemove '{449D0D6E-2412-4E61-B68F-1CB625CD9E52}' - } - } - NoRemove Policies - { - NoRemove Ext - { - NoRemove CLSID - { - ForceRemove val {449D0D6E-2412-4E61-B68F-1CB625CD9E52} = s '2' - } - } - } - } - } - } - } -} diff --git a/Src/ClassicExplorer/ExplorerBand.cpp b/Src/ClassicExplorer/ExplorerBand.cpp deleted file mode 100644 index 61759ab..0000000 --- a/Src/ClassicExplorer/ExplorerBand.cpp +++ /dev/null @@ -1,2285 +0,0 @@ -// 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 - -// ExplorerBand.cpp : Implementation of CExplorerBand - -#include "stdafx.h" -#include "ExplorerBand.h" -#include "resource.h" -#include "ExplorerBHO.h" -#include "ResourceHelper.h" -#include "SettingsUI.h" -#include "Settings.h" -#include "SettingsParser.h" -#include "Translations.h" -#include "dllmain.h" -#include "SettingsUIHelper.h" -#include "FNVHash.h" -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// - -// CBandWindow - the parent window of the toolbar - -static struct -{ - const wchar_t *name; - int id; -} g_StdCommands[]={ - {L"up",CBandWindow::ID_GOUP}, - {L"cut",CBandWindow::ID_CUT}, - {L"copy",CBandWindow::ID_COPY}, - {L"paste",CBandWindow::ID_PASTE}, - {L"paste_shortcut",CBandWindow::ID_PASTE_SHORTCUT}, - {L"delete",CBandWindow::ID_DELETE}, - {L"properties",CBandWindow::ID_PROPERTIES}, - {L"email",CBandWindow::ID_EMAIL}, - {L"settings",CBandWindow::ID_SETTINGS}, - {L"moveto",CBandWindow::ID_MOVETO}, - {L"copyto",CBandWindow::ID_COPYTO}, - {L"undo",CBandWindow::ID_UNDO}, - {L"redo",CBandWindow::ID_REDO}, - {L"selectall",CBandWindow::ID_SELECTALL}, - {L"deselect",CBandWindow::ID_DESELECT}, - {L"invertselection",CBandWindow::ID_INVERT}, - {L"back",CBandWindow::ID_GOBACK}, - {L"forward",CBandWindow::ID_GOFORWARD}, - {L"refresh",CBandWindow::ID_REFRESH}, - {L"stop",CBandWindow::ID_STOP}, - {L"rename",CBandWindow::ID_RENAME}, - {L"newfolder",CBandWindow::ID_NEWFOLDER}, - {L"zipfolder",CBandWindow::ID_ZIPFOLDER}, - {L"nav_pane",CBandWindow::ID_NAVPANE}, - {L"details_pane",CBandWindow::ID_DETAILSPANE}, - {L"preview_pane",CBandWindow::ID_PREVIEWPANE}, - {L"mapdrive",CBandWindow::ID_MAP_DRIVE}, - {L"disconnect",CBandWindow::ID_DISCONNECT}, - {L"customizefolder",CBandWindow::ID_CUSTOMIZEFOLDER}, - {L"folderoptions",CBandWindow::ID_FOLDEROPTIONS}, - {L"viewtiles",CBandWindow::ID_VIEW_TILES}, - {L"viewdetails",CBandWindow::ID_VIEW_DETAILS}, - {L"viewlist",CBandWindow::ID_VIEW_LIST}, - {L"viewcontent",CBandWindow::ID_VIEW_CONTENT}, - {L"viewicons_small",CBandWindow::ID_VIEW_ICONS1}, - {L"viewicons_medium",CBandWindow::ID_VIEW_ICONS2}, - {L"viewicons_large",CBandWindow::ID_VIEW_ICONS3}, - {L"viewicons_extralarge",CBandWindow::ID_VIEW_ICONS4}, - {L"show_extensions",CBandWindow::ID_SHOW_EXTENSIONS}, - {L"hidden_files",CBandWindow::ID_HIDDEN_FILES}, - {L"system_files",CBandWindow::ID_SYSTEM_FILES}, -}; - -static GUID SID_FrameManager={0x31e4fa78,0x02b4,0x419f,{0x94,0x30,0x7b,0x75,0x85,0x23,0x7c,0x77}}; -static GUID SID_PerBrowserPropertyBag={0xa3b24a0a,0x7b68,0x448d,{0x99,0x79,0xc7,0x00,0x05,0x9c,0x3a,0xd1}}; -const wchar_t *g_NavPaneVisible=L"PageSpaceControlSizer_Visible"; -const wchar_t *g_DetailsPaneVisible=L"PreviewPaneSizer_Visible"; -const wchar_t *g_DetailsPaneEnabled=L"PreviewPaneSizer_Loaded"; -const wchar_t *g_PreviewPaneVisible=L"ReadingPaneSizer_Visible"; -const wchar_t *g_PreviewPaneEnabled=L"ReadingPaneSizer_Loaded"; -const wchar_t *g_ComboPaneEnabled=L"DetailsContainerSizer_Loaded"; - -typedef HRESULT (__stdcall *tBagWrite)( IPropertyBag *pThis, LPCOLESTR pszPropName, VARIANT *pVar ); -static volatile tBagWrite g_OldBagWrite; - -void CBandWindow::ParseToolbarItem( const wchar_t *name, StdToolbarItem &item ) -{ - wchar_t text[256]; - Sprintf(text,_countof(text),L"%s.Command",name); - const wchar_t *str=m_Parser.FindSetting(text); - - item.id=ID_CUSTOM; - if (str) - { - for (int i=0;i<_countof(g_StdCommands);i++) - if (_wcsicmp(str,g_StdCommands[i].name)==0) - { - item.id=g_StdCommands[i].id; - break; - } - } - - if (item.id==ID_CUSTOM) - { - item.command=str; - item.regName=name; - } - - Sprintf(text,_countof(text),L"%s.Link",name); - item.link=m_Parser.FindSetting(text); - if (item.link) - { - const wchar_t *c=wcschr(item.link,'|'); - if (c) - { - for (c++;*c==' ';) - c++; - item.link=c; - } - } - - Sprintf(text,_countof(text),L"%s.Icon",name); - item.iconPath=m_Parser.FindSetting(text); - - Sprintf(text,_countof(text),L"%s.IconDisabled",name); - item.iconPathD=m_Parser.FindSetting(text); - - Sprintf(text,_countof(text),L"%s.Label",name); - str=m_Parser.FindSetting(text); - if (str) - { - if (str[0]=='$') - item.label=FindTranslation(str+1,NULL); - else - item.label=str; - } - - Sprintf(text,_countof(text),L"%s.Tip",name); - str=m_Parser.FindSetting(text); - if (str) - { - if (str[0]=='$') - item.tip=FindTranslation(str+1,NULL); - else - item.tip=str; - } - -} - -void CBandWindow::ParseToolbar( void ) -{ - m_Items.clear(); - CString setting=GetSettingString(L"ToolbarItems"); - m_Parser.LoadText(setting,setting.GetLength()); - m_Parser.ParseText(); - std::vector items; - m_Parser.ParseTree(L"Items",items); - m_Items.resize(items.size()); - for (int i=0;i<(int)items.size();i++) - { - const wchar_t *name=items[i].name; - StdToolbarItem &item=m_Items[i]; - { - // can't use memset here because item is not a POD (there is a CString inside) - item.id=0; - item.tip=NULL; - item.label=NULL; - item.command=NULL; - item.link=NULL; - item.iconPath=NULL; - item.iconPathD=NULL; - item.submenu=NULL; - item.menuIcon=NULL; - item.menuIconD=NULL; - item.bIconLoaded=false; - item.bDisabled=false; - item.bChecked=false; - } - - // handle special names - if (!*name) - { - item.id=ID_LAST; - continue; - } - if (_wcsicmp(name,L"SEPARATOR")==0) - { - item.id=ID_SEPARATOR; - continue; - } - - ParseToolbarItem(name,item); - int idx=items[i].children; - if (idx>=0) - item.submenu=&m_Items[idx]; - } - if (m_Items.size()==1) - { - m_Items.resize(2); - m_Items[1]=m_Items[0]; - m_Items[0].id=ID_SETTINGS; - m_Items[0].tip=FindTranslation(L"$Toolbar.Settings",NULL); - m_Items[0].command=L"settings"; - m_Items[0].iconPath=L",1"; - } -} - -LRESULT CALLBACK CBandWindow::ToolbarSubclassProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_SETTINGCHANGE) - { - // HACK: Looks like WM_SETTINGCHANGE breaks the toolbar if it contains a split dropdown button (most likely something to do with metrics or themes) - // So we delete all buttons and post a message recreate them - int count=(int)SendMessage(hWnd,TB_BUTTONCOUNT,0,0); - CBandWindow *pThis=(CBandWindow*)uIdSubclass; - if (count>0) - { - for (int i=count-1;i>=0;i--) - { - TBBUTTON button; - SendMessage(hWnd,TB_GETBUTTON,i,(LPARAM)&button); - pThis->m_Buttons[i].fsState=button.fsState; - SendMessage(hWnd,TB_DELETEBUTTON,i,0); - } - ::PostMessage((HWND)dwRefData,CBandWindow::BWM_UPDATEBUTTONS,0,0); - } - - // Also refresh the buttons when the folder settings change - if (pThis->HasFolderSettings()) - ::PostMessage((HWND)dwRefData,CBandWindow::BWM_UPDATETOOLBAR,0,0); - } - if (uMsg==WM_PAINT) - { - CBandWindow *pThis=(CBandWindow*)uIdSubclass; - if (!pThis->m_pBrowserBag && pThis->HasPanes()) - pThis->UpdateBag(); - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CBandWindow::OnCreate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - ParseToolbar(); - - bool bLabels=false; - bool bList=GetSettingBool(L"ToolbarListMode"); - int mainCount=0; // number of the main items - for (std::vector::const_iterator it=m_Items.begin();it->id!=ID_LAST;++it,mainCount++) - if (it->label) - bLabels=true; - - // create the toolbar - if (bLabels && !bList) - m_Toolbar=CreateWindow(TOOLBARCLASSNAME,L"",WS_CHILD|TBSTYLE_TOOLTIPS|TBSTYLE_FLAT|CCS_NODIVIDER|CCS_NOPARENTALIGN|CCS_NORESIZE,0,0,10,10,m_hWnd,(HMENU)101,g_Instance,NULL); - else - m_Toolbar=CreateWindow(TOOLBARCLASSNAME,L"",WS_CHILD|TBSTYLE_TOOLTIPS|TBSTYLE_FLAT|TBSTYLE_LIST|CCS_NODIVIDER|CCS_NOPARENTALIGN|CCS_NORESIZE,0,0,10,10,m_hWnd,(HMENU)101,g_Instance,NULL); - - m_Toolbar.SendMessage(TB_SETEXTENDEDSTYLE,0,TBSTYLE_EX_MIXEDBUTTONS|TBSTYLE_EX_DRAWDDARROWS|TBSTYLE_EX_HIDECLIPPEDBUTTONS); - m_Toolbar.SendMessage(TB_BUTTONSTRUCTSIZE,sizeof(TBBUTTON)); - m_Toolbar.SendMessage(TB_SETMAXTEXTROWS,1); - SetWindowSubclass(m_Toolbar,ToolbarSubclassProc,(UINT_PTR)this,(DWORD_PTR)m_hWnd); - - int iconSize=GetSettingInt(GetSettingBool(L"UseBigButtons")?L"LargeIconSize":L"SmallIconSize"); - if (iconSize<8) iconSize=8; - else if (iconSize>128) iconSize=128; - - m_MenuIconSize=GetSettingInt(L"MenuIconSize"); - if (m_MenuIconSize<=0) m_MenuIconSize=0; - else if (m_MenuIconSize<8) m_MenuIconSize=8; - if (m_MenuIconSize>32) m_MenuIconSize=32; - - m_ImgEnabled=ImageList_Create(iconSize,iconSize,ILC_COLOR32|ILC_MASK|(IsLanguageRTL()?ILC_MIRROR:0),0,mainCount); - m_ImgDisabled=ImageList_Create(iconSize,iconSize,ILC_COLOR32|ILC_MASK|(IsLanguageRTL()?ILC_MIRROR:0),0,mainCount); - - HMODULE hShell32=GetModuleHandle(L"Shell32.dll"); - std::vector modules; - - bool bSame=GetSettingBool(L"SameSizeButtons"); - - // create buttons - m_Buttons.resize(mainCount); - for (int i=0;i pFactory; - if (SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItemImageFactory,(void**)&pFactory)) && pFactory) - { - SIZE size={iconSize,iconSize}; - if (FAILED(pFactory->GetImage(size,SIIGBF_ICONONLY,&hBitmap))) - hBitmap=NULL; - } - - } - } - - if (!hIcon && !hBitmap && !bNoIcon) - hIcon=(HICON)LoadImage(hShell32,MAKEINTRESOURCE(1),IMAGE_ICON,iconSize,iconSize,LR_DEFAULTCOLOR); - if (hIcon) - { - button.iBitmap=ImageList_AddIcon(m_ImgEnabled,hIcon); - HICON hIcon2=item.iconPathD?LoadIcon(iconSize,item.iconPathD,modules):NULL; - if (!hIcon2) - hIcon2=CreateDisabledIcon(hIcon,iconSize); - int idx=ImageList_AddIcon(m_ImgDisabled,hIcon2); - Assert(button.iBitmap==idx); - DestroyIcon(hIcon); - DestroyIcon(hIcon2); - } - else if (hBitmap) - { - button.iBitmap=ImageList_AddMasked(m_ImgEnabled,hBitmap,CLR_NONE); - int idx=ImageList_AddMasked(m_ImgDisabled,hBitmap,CLR_NONE); - Assert(button.iBitmap==idx); - DeleteObject(hBitmap); - } - - button.fsState=(item.id!=ID_SETTINGS || GetSettingBool(L"EnableSettings"))?TBSTATE_ENABLED:0; - button.fsStyle=BTNS_BUTTON|BTNS_NOPREFIX; - if (!bSame) - button.fsStyle|=BTNS_AUTOSIZE; - if (item.label) - { - button.fsStyle|=BTNS_SHOWTEXT; - button.iString=(INT_PTR)item.label; - } - - bool bFolder=false; - if (item.link) - { - wchar_t path[_MAX_PATH]; - Strcpy(path,_countof(path),item.link); - DoEnvironmentSubst(path,_countof(path)); - CAbsolutePidl pidl; - SFGAOF flags=0; - if (SUCCEEDED(ShParseDisplayName(path,&pidl,SFGAO_FOLDER,&flags))) - { - if (flags&SFGAO_FOLDER) - bFolder=true; - } - } - - if (item.submenu || bFolder) - button.fsStyle|=(item.id::const_iterator it=modules.begin();it!=modules.end();++it) - FreeLibrary(*it); - - // add buttons - HIMAGELIST old=(HIMAGELIST)m_Toolbar.SendMessage(TB_SETIMAGELIST,0,(LPARAM)m_ImgEnabled); - if (old) ImageList_Destroy(old); - old=(HIMAGELIST)m_Toolbar.SendMessage(TB_SETDISABLEDIMAGELIST,0,(LPARAM)m_ImgDisabled); - if (old) ImageList_Destroy(old); - if (!m_Buttons.empty()) - m_Toolbar.SendMessage(TB_ADDBUTTONS,(WPARAM)m_Buttons.size(),(LPARAM)&m_Buttons[0]); - SendMessage(WM_CLEAR); - return 0; -} - -LRESULT CBandWindow::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_ImgEnabled) ImageList_Destroy(m_ImgEnabled); m_ImgEnabled=NULL; - if (m_ImgDisabled) ImageList_Destroy(m_ImgDisabled); m_ImgDisabled=NULL; - for (std::vector::iterator it=m_Items.begin();it!=m_Items.end();++it) - { - if (it->menuIcon) DeleteObject(it->menuIcon); - if (it->menuIconD) DeleteObject(it->menuIconD); - } - m_Items.clear(); - bHandled=FALSE; - return 0; -} - -LRESULT CBandWindow::OnUpdateUI( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - // update the state of the custom buttons based on the registry settings - CRegKey regSettings; - if (regSettings.Open(HKEY_CURRENT_USER,GetSettingsRegPath())==ERROR_SUCCESS) - { - bool bMain=true; - for (int idx=0;idx<(int)m_Items.size();idx++) - { - if (m_Items[idx].id==ID_LAST) - bMain=false; - if (!m_Items[idx].regName.IsEmpty()) - { - DWORD val; - if (regSettings.QueryDWORDValue(m_Items[idx].regName,val)!=ERROR_SUCCESS) - val=0; - bool bDisabled=(val&1)!=0; - bool bChecked=(val&2)!=0; - if (bMain) - { - if (bDisabled!=m_Items[idx].bDisabled) m_Toolbar.SendMessage(TB_ENABLEBUTTON,idx+1,bDisabled?0:1); - if (bChecked!=m_Items[idx].bChecked) m_Toolbar.SendMessage(TB_CHECKBUTTON,idx+1,bChecked?1:0); - } - m_Items[idx].bDisabled=bDisabled; - m_Items[idx].bChecked=bChecked; - } - } - } - return 0; -} - -void CBandWindow::SendEmail( void ) -{ - const IID CLSID_SendMail={0x9E56BE60,0xC50F,0x11CF,{0x9A,0x2C,0x00,0xA0,0xC9,0x0A,0x90,0xCE}}; - - CComPtr pView; - if (FAILED(m_pBrowser->QueryActiveShellView(&pView))) return; - - // check if there is anything selected - CComQIPtr pView2(pView); - int count; - if (pView2 && SUCCEEDED(pView2->ItemCount(SVGIO_SELECTION,&count)) && count==0) - return; - - // get the data object - CComPtr pDataObj; - if (FAILED(pView->GetItemObject(SVGIO_SELECTION,IID_IDataObject,(void**)&pDataObj))) - return; - CComQIPtr pAsync(pDataObj); - if (pAsync) - pAsync->SetAsyncMode(FALSE); - - // drop into the SendMail handler - CComPtr pDropTarget; - if (SUCCEEDED(CoCreateInstance(CLSID_SendMail,NULL,CLSCTX_ALL,IID_IDropTarget,(void **)&pDropTarget))) - { - POINTL pt={0,0}; - DWORD dwEffect=DROPEFFECT_COPY; - pDropTarget->DragEnter(pDataObj,MK_LBUTTON,pt,&dwEffect); - pDropTarget->Drop(pDataObj,0,pt,&dwEffect); - } -} - -class CSendToZipHelper: public CComObjectRootEx, public IServiceProvider -{ -public: - BEGIN_COM_MAP(CSendToZipHelper) - COM_INTERFACE_ENTRY_IID( IID_IServiceProvider, IServiceProvider ) - END_COM_MAP() - - // from IServiceProvider - virtual HRESULT STDMETHODCALLTYPE QueryService( REFGUID guidService, REFIID riid, void **ppvObject ); - - CComPtr m_pFolderView; -}; - -HRESULT CSendToZipHelper::QueryService( REFGUID guidService, REFIID riid, void **ppvObject ) -{ - if (guidService==SID_SNewMenuClient) - { - return m_pFolderView->QueryInterface(riid,ppvObject); - } - return E_NOINTERFACE; -} - -void CBandWindow::SendToZip( void ) -{ - const IID CLSID_SendToZip={0x888DCA60, 0xFC0A, 0x11CF, {0x8F, 0x0F, 0x00, 0xC0, 0x4F, 0xD7, 0xD0, 0x62}}; - - CComPtr pView; - if (FAILED(m_pBrowser->QueryActiveShellView(&pView))) return; - - // check if there is anything selected - CComQIPtr pView2(pView); - - CComPtr pFolder; - if (FAILED(pView2->GetFolder(IID_IShellFolder,(void**)&pFolder)) || !pFolder) return; - - int count; - if (pView2 && SUCCEEDED(pView2->ItemCount(SVGIO_SELECTION,&count)) && count==0) - return; - - // get the data object - CComPtr pDataObj; - if (FAILED(pView->GetItemObject(SVGIO_SELECTION,IID_IDataObject,(void**)&pDataObj))) - return; - CComQIPtr pAsync(pDataObj); - if (pAsync) - pAsync->SetAsyncMode(FALSE); - - // drop into the SendMail handler - CComPtr pDropTarget; - if (SUCCEEDED(CoCreateInstance(CLSID_SendToZip,NULL,CLSCTX_ALL,IID_IDropTarget,(void **)&pDropTarget))) - { - CComQIPtr pDropWithSite(pDropTarget); - if (pDropWithSite) - { - CComObject *pHelper; - if (SUCCEEDED(CComObject::CreateInstance(&pHelper))) - { - pHelper->m_pFolderView=pView2; - pDropWithSite->SetSite(pHelper); - } - else - delete pHelper; - } - POINTL pt={0,0}; - DWORD dwEffect=DROPEFFECT_COPY; - pDropTarget->DragEnter(pDataObj,MK_LBUTTON,pt,&dwEffect); - pDropTarget->Drop(pDataObj,0,pt,&dwEffect); - } -} - -static bool GetPidlPath( PIDLIST_ABSOLUTE pidl, wchar_t *path ) -{ - path[0]=0; - if (SHGetPathFromIDList(pidl,path) && *path) - return true; - if (GetWinVersion()>=WIN_VER_WIN7) - { - // maybe it is a library - try the default save folder - CComPtr pShellItem; - if (SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pShellItem))) - { - CComPtr pLibrary; - if (SUCCEEDED(pLibrary.CoCreateInstance(CLSID_ShellLibrary)) && SUCCEEDED(pLibrary->LoadLibraryFromItem(pShellItem,STGM_READ))) - { - pShellItem=NULL; - if (SUCCEEDED(pLibrary->GetDefaultSaveFolder(DSFT_DETECT,IID_IShellItem,(void**)&pShellItem)) && pShellItem) - { - CComString pPath; - if (SUCCEEDED(pShellItem->GetDisplayName(SIGDN_FILESYSPATH,&pPath))) - { - Strcpy(path,_MAX_PATH,pPath); - return true; - } - } - } - } - } - return false; -} - -void CBandWindow::NewFolder( void ) -{ - CComPtr pView; - if (FAILED(m_pBrowser->QueryActiveShellView(&pView))) return; - CComQIPtr pView2(pView); - if (!pView2) return; - - { - // check if this is a filesystem folder (InvokeCommand may crash for non-folders) - CComPtr pFolder; - CAbsolutePidl pidl; - if (FAILED(pView2->GetFolder(IID_IPersistFolder2,(void**)&pFolder)) || FAILED(pFolder->GetCurFolder(&pidl))) - return; - wchar_t path[_MAX_PATH]; - bool bFolder=GetPidlPath(pidl,path); // it is a folder if it has a path - if (!bFolder) - return; - } - - CComPtr pFolder; - if (FAILED(pView2->GetFolder(IID_IShellFolder,(void**)&pFolder)) || !pFolder) return; - - std::vector items; - { - // remember the old folders - CComPtr pEnum; - if (pFolder->EnumObjects(NULL,SHCONTF_FOLDERS,&pEnum)!=S_OK) pEnum=NULL; - - PITEMID_CHILD child; - while (pEnum && pEnum->Next(1,&child,NULL)==S_OK) - { - STRRET str; - if (SUCCEEDED(pFolder->GetDisplayNameOf(child,SHGDN_INFOLDER|SHGDN_FORPARSING,&str))) - { - CComString pName; - StrRetToStr(&str,child,&pName); - items.push_back(CalcFNVHash(pName)); - } - ILFree(child); - } - } - - CComPtr pMenu; - HMENU menu=CreatePopupMenu(); - bool bRename=false; - if (SUCCEEDED(pFolder->CreateViewObject(m_hWnd,IID_IContextMenu,(void**)&pMenu))) - { - if (SUCCEEDED(pMenu->QueryContextMenu(menu,0,1,32767,CMF_NORMAL))) - { - CMINVOKECOMMANDINFOEX info={sizeof(info),CMIC_MASK_UNICODE}; - info.lpVerb="NewFolder"; - info.lpVerbW=L"NewFolder"; - info.nShow=SW_SHOWNORMAL; - info.fMask|=CMIC_MASK_NOASYNC; - info.hwnd=GetAncestor(m_hWnd,GA_ROOT); - // Note: InvokeCommand crashes if the item is "Computer". I don't know if this is a bug in Explorer - // or I am not supposed to give unsupported verbs to InvokeCommand. Unfortunately there is no way to - // check if "NewFolder" is a supported verb. It is not present in the menu no matter what I give to - // QueryContextMenu. So we verify if this is a filesystem folder, cross fingers and hope for the best - if (SUCCEEDED(pMenu->InvokeCommand((CMINVOKECOMMANDINFO*)&info))) - bRename=true; - } - } - DestroyMenu(menu); - - if (bRename) - { - // look for a new folder and rename it - CComPtr pEnum; - if (pFolder->EnumObjects(NULL,SHCONTF_FOLDERS,&pEnum)!=S_OK) pEnum=NULL; - - PITEMID_CHILD child; - while (pEnum && pEnum->Next(1,&child,NULL)==S_OK) - { - STRRET str; - if (SUCCEEDED(pFolder->GetDisplayNameOf(child,SHGDN_INFOLDER|SHGDN_FORPARSING,&str))) - { - CComString pName; - StrRetToStr(&str,child,&pName); - unsigned int hash=CalcFNVHash(pName); - if (std::find(items.begin(),items.end(),hash)==items.end()) - { - // found the new folder - pView->SelectItem(child,SVSI_SELECT|SVSI_EDIT|SVSI_DESELECTOTHERS|SVSI_ENSUREVISIBLE|SVSI_FOCUSED); - break; - } - } - ILFree(child); - } - } -} - -void CBandWindow::ExecuteCommandFile( const wchar_t *pText ) -{ - wchar_t command[256]; - pText=GetToken(pText,command,_countof(command),L" \t\r\n"); - if (_wcsicmp(command,L"open")==0) - { - // navigate to the given folder - wchar_t path[_MAX_PATH]; - GetToken(pText,path,_countof(path),L" \t\r\n"); - CAbsolutePidl pidl; - if (m_pBrowser && SUCCEEDED(ShParseDisplayName(path,&pidl,0,NULL))) - { - UINT flags=(GetKeyState(VK_CONTROL)<0?SBSP_NEWBROWSER:SBSP_SAMEBROWSER); - m_pBrowser->BrowseObject(pidl,flags|SBSP_ABSOLUTE); - } - } - else if (_wcsicmp(command,L"refresh")==0) - { - // refresh Explorer - SendShellTabCommand(41504); - } - else if (_wcsicmp(command,L"select")==0) - { - // select the given files, deselect all others - - std::vector selected; - wchar_t path[_MAX_PATH]; - while (*pText) - { - pText=GetToken(pText,path,_countof(path),L"\t\r\n"); - wchar_t *fname=PathFindFileName(path); - CharUpper(fname); - - // trim leading spaces - while (*fname==' ') - fname++; - // trim trailing spaces - wchar_t *end=fname+Strlen(fname); - while (end>fname && end[-1]==' ') - end--; - *end=0; - - if (*fname) - selected.push_back(CalcFNVHash(fname)); - } - - CComPtr pView; - if (SUCCEEDED(m_pBrowser->QueryActiveShellView(&pView))) - { - CComQIPtr pView2(pView); - if (!pView2) return; - CComPtr pFolder; - if (FAILED(pView2->GetFolder(IID_IShellFolder,(void**)&pFolder)) || !pFolder) return; - CComPtr pEnum; - if (SUCCEEDED(pView2->Items(SVGIO_ALLVIEW,IID_IEnumIDList,(void**)&pEnum)) && pEnum) - { - PITEMID_CHILD child; - bool bFirst=true; - while (pEnum->Next(1,&child,NULL)==S_OK) - { - STRRET str; - if (SUCCEEDED(pFolder->GetDisplayNameOf(child,SHGDN_FORPARSING|SHGDN_INFOLDER,&str))) - { - CComString pName; - StrRetToStr(&str,child,&pName); - - pName.MakeUpper(); - unsigned int hash=CalcFNVHash(pName); - - UINT flags=SVSI_DESELECT; - if (std::find(selected.begin(),selected.end(),hash)!=selected.end()) - { - // the file is in the list - flags=SVSI_SELECT; - if (bFirst) - { - flags|=SVSI_ENSUREVISIBLE|SVSI_FOCUSED; - bFirst=false; - } - } - pView->SelectItem(child,flags); - } - ILFree(child); - } - } - } - } -} - -void CBandWindow::SendShellTabCommand( int command ) -{ - // sends a command to the ShellTabWindowClass window - for (CWindow parent=GetParent();parent.m_hWnd;parent=parent.GetParent()) - { - // find a parent window with class ShellTabWindowClass - wchar_t name[256]; - GetClassName(parent.m_hWnd,name,_countof(name)); - if (_wcsicmp(name,L"ShellTabWindowClass")==0) - { - parent.SendMessage(WM_COMMAND,command); - break; - } - } -} - -void CBandWindow::ExecuteCustomCommand( const wchar_t *pCommand ) -{ - wchar_t buf[2048]; - Strcpy(buf,_countof(buf),pCommand); - // expand environment variables - DoEnvironmentSubst(buf,_countof(buf)); - wchar_t *pBuf=buf; - bool bArg1=wcsstr(buf,L"%1")!=NULL; - bool bArg2=wcsstr(buf,L"%2")!=NULL; - bool bArg3=wcsstr(buf,L"%3")!=NULL; - bool bArg4=wcsstr(buf,L"%4")!=NULL; - bool bArg5=wcsstr(buf,L"%5")!=NULL; - wchar_t path[_MAX_PATH]; - wchar_t file[_MAX_PATH]; - wchar_t input[_MAX_PATH]; - wchar_t output[_MAX_PATH]; - wchar_t temp[_MAX_PATH]; - path[0]=file[0]=input[0]=output[0]=temp[0]=0; - - CComPtr pView; - if (SUCCEEDED(m_pBrowser->QueryActiveShellView(&pView))) - { - CComPtr pFolder; - CAbsolutePidl pidl; - CComQIPtr pView2(pView); - if (pView2 && SUCCEEDED(pView2->GetFolder(IID_IPersistFolder2,(void**)&pFolder)) && SUCCEEDED(pFolder->GetCurFolder(&pidl))) - { - // get current path - GetPidlPath(pidl,path); - if (bArg2) - { - CComPtr pEnum; - int count; - // if only one file is selected get the file name (%2) - if (SUCCEEDED(pView2->ItemCount(SVGIO_SELECTION,&count)) && count==1 && SUCCEEDED(pView2->Items(SVGIO_SELECTION,IID_IEnumIDList,(void**)&pEnum)) && pEnum) - { - PITEMID_CHILD child; - if (pEnum->Next(1,&child,NULL)==S_OK) - { - CAbsolutePidl full; - full.Attach(ILCombine(pidl,child)); - SHGetPathFromIDList(full,file); - ILFree(child); - } - } - } - - if (bArg3 || bArg4) - { - GetTempPath(_countof(temp),temp); - if (GetTempFileName(temp,L"cei",0,input)) - { - // create a text file with the selected files - FILE *f; - if (_wfopen_s(&f,input,L"wb")==0 && f) - { - CComPtr pEnum; - if (SUCCEEDED(pView2->Items(SVGIO_SELECTION,IID_IEnumIDList,(void**)&pEnum)) && pEnum) - { - PITEMID_CHILD child; - while (pEnum->Next(1,&child,NULL)==S_OK) - { - wchar_t fname[_MAX_PATH]; - CAbsolutePidl full; - full.Attach(ILCombine(pidl,child)); - SHGetPathFromIDList(full,fname); - ILFree(child); - if (bArg3) - { - char fnameA[_MAX_PATH]; - WcsToMbs(fnameA,_countof(fnameA),fname); - fprintf_s(f,"%s\r\n",fnameA); - } - else - { - fwprintf_s(f,L"%s\r\n",fname); - } - } - } - fclose(f); - } - else - { - input[0]=0; - bArg3=false; - bArg4=false; - } - } - else - { - input[0]=0; - bArg3=false; - bArg4=false; - } - } - } - - if (bArg5) - { - if (!temp[0]) GetTempPath(_countof(temp),temp); - if (GetTempFileName(temp,L"ceo",0,output)) - { - FILE *f; - if (_wfopen_s(&f,output,L"wb")==0 && f) - { - fclose(f); - } - else - { - output[0]=0; - bArg5=false; - } - } - else - { - output[0]=0; - bArg5=false; - } - } - if (bArg1 || bArg2 || bArg3 || bArg4 || bArg5) - { - // expand %1, %2, %3, %4, %5 - DWORD_PTR args[100]={(DWORD_PTR)path,(DWORD_PTR)file,(DWORD_PTR)input,(DWORD_PTR)input,(DWORD_PTR)output}; - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_ARGUMENT_ARRAY|FORMAT_MESSAGE_FROM_STRING,buf,0,0,(LPWSTR)&pBuf,0,(va_list*)args); - } - - wchar_t exe[_MAX_PATH]; - const wchar_t *params=SeparateArguments(pBuf,exe); - if (_wcsicmp(exe,L"open")==0) - { - CAbsolutePidl pidl; - if (m_pBrowser && SUCCEEDED(ShParseDisplayName((LPWSTR)params,&pidl,0,NULL))) - { - UINT flags=(GetKeyState(VK_CONTROL)<0?SBSP_NEWBROWSER:SBSP_SAMEBROWSER); - m_pBrowser->BrowseObject(pidl,flags|SBSP_ABSOLUTE); - } - } - else if (_wcsicmp(exe,L"sortby")==0) - { - CComQIPtr pView2(pView); - if (pView2) - ViewByProperty(pView2,params,false); - } - else if (_wcsicmp(exe,L"groupby")==0) - { - CComQIPtr pView2(pView); - if (pView2) - ViewByProperty(pView2,params,true); - } - else if (bArg3 || bArg4 || bArg5) - { - // create a process instead of using ShellExecute - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - DWORD flags=CREATE_NO_WINDOW; - if (CreateProcess(exe,pBuf,NULL,NULL,TRUE,flags,NULL,*path?path:NULL,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - if (bArg5) - { - // wait for the process to finish so we can parse the output file - WaitForSingleObject(processInfo.hProcess,INFINITE); - } - CloseHandle(processInfo.hProcess); - } - if (bArg5) - { - // process output - FILE *f; - if (_wfopen_s(&f,output,L"rb")==0 && f) - { - // load output file - fseek(f,0,SEEK_END); - int size=ftell(f); - fseek(f,0,SEEK_SET); - std::vector text(size+2); - if (fread(&text[0],1,size,f)!=size) - text.clear(); - fclose(f); - if (!text.empty()) - { - text[size]=0; - text[size+1]=0; - std::vector textW; - if (size>=2 && text[0]==0xFF && text[1]==0xFE) - ExecuteCommandFile((wchar_t*)&text[2]); - else - { - int len=MbsToWcs(NULL,0,(char*)&text[0]); - textW.resize(len+1); - MbsToWcs(&textW[0],len+1,(char*)&text[0]); - ExecuteCommandFile(&textW[0]); - } - } - } - DeleteFile(output); - } - } - else - { - // simply execute - ShellExecute(NULL,NULL,exe,params,path,SW_SHOWNORMAL); - } - if (pBuf!=buf) - LocalFree(pBuf); - } -} - -void CBandWindow::ViewByProperty( IFolderView2 *pView, const wchar_t *pProperty, bool bGroup ) -{ - SORTCOLUMN column={0}; - column.direction=SORT_ASCENDING; - if (pProperty) - { - if (pProperty[0]=='-') - { - column.direction=SORT_DESCENDING; - pProperty++; - } - if (_wcsicmp(pProperty,L"name")==0) - column.propkey=PKEY_ItemNameDisplay; - else if (_wcsicmp(pProperty,L"type")==0) - column.propkey=PKEY_ItemTypeText; - else if (_wcsicmp(pProperty,L"size")==0) - column.propkey=PKEY_Size; - else if (_wcsicmp(pProperty,L"date")==0) - column.propkey=PKEY_DateModified; - else - { - wchar_t token[256]; - pProperty=GetToken(pProperty,token,_countof(token),L" ,"); - if (IIDFromString(token,&column.propkey.fmtid)!=S_OK) - return; - pProperty=GetToken(pProperty,token,_countof(token),L" ,"); - column.propkey.pid=_wtol(token); - } - } - - if (bGroup) - { - PROPERTYKEY prop; - BOOL ascending; - if (pProperty && SUCCEEDED(pView->GetGroupBy(&prop,&ascending))) - { - if (prop==column.propkey && ascending) - column.direction=SORT_DESCENDING; - } - pView->SetGroupBy(column.propkey,column.direction==SORT_ASCENDING); - } - else - { - int count; - if (pProperty && SUCCEEDED(pView->GetSortColumnCount(&count)) && count>0) - { - std::vector columns(count); - if (SUCCEEDED(pView->GetSortColumns(&columns[0],count))) - { - if (columns[0].propkey==column.propkey) - column.direction=-columns[0].direction; - } - } - pView->SetSortColumns(&column,1); - } -} - -LRESULT CBandWindow::OnUpdateButtons( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (!m_Buttons.empty() && m_Toolbar.SendMessage(TB_BUTTONCOUNT)==0) - m_Toolbar.SendMessage(TB_ADDBUTTONS,(WPARAM)m_Buttons.size(),(LPARAM)&m_Buttons[0]); - return 0; -} - -LRESULT CBandWindow::OnUpdateToolbar( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - UpdateToolbar(); - return 0; -} - -static BOOL CALLBACK RefreshExplorerWindows( HWND hwnd, LPARAM lParam ) -{ - wchar_t className[256]; - if (GetClassName(hwnd,className,_countof(className))) - { - if (_wcsicmp(className,L"CabinetWClass")==0 || _wcsicmp(className,L"Progman")==0) - PostMessage(hwnd,WM_COMMAND,41504,0); // post refresh command - } - return TRUE; -} - -static bool ToggleExplorerSetting( const wchar_t *setting, DWORD off, DWORD on ) -{ - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",KEY_READ|KEY_WRITE|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - DWORD val=off; - if (regKey.QueryDWORDValue(setting,val)!=ERROR_SUCCESS) - val=off; - regKey.SetDWORDValue(setting,val==on?off:on); - - EnumWindows(RefreshExplorerWindows,0); - return val==off; - } - return false; -} - -// Executes a cut/copy/paste/delete command -LRESULT CBandWindow::OnCommand( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - int idx=LOWORD(wParam)-1; - int id=m_Items[idx].id; - if (id>=ID_CUSTOM) - { - if (m_Items[idx].command) - { - ExecuteCustomCommand(m_Items[idx].command); - } - else if (m_Items[idx].link) - { - wchar_t path[_MAX_PATH]; - Strcpy(path,_countof(path),m_Items[idx].link); - DoEnvironmentSubst(path,_countof(path)); - CAbsolutePidl pidl; - if (m_pBrowser && SUCCEEDED(ShParseDisplayName(path,&pidl,0,NULL))) - { - UINT flags=(GetKeyState(VK_CONTROL)<0?SBSP_NEWBROWSER:SBSP_SAMEBROWSER); - m_pBrowser->BrowseObject(pidl,flags|SBSP_ABSOLUTE); - } - } - - return TRUE; - } - - if (id==ID_SETTINGS) - { -#ifndef BUILD_SETUP - if (GetKeyState(VK_SHIFT)<0) - *(int*)0=0; // force a crash if Shift is pressed. Makes it easy to restart explorer.exe -#endif - EditSettings(); - return TRUE; - } - - if (id==ID_GOUP || id==ID_GOBACK || id==ID_GOFORWARD) - { - if (m_pBrowser) - { - UINT flags=(GetKeyState(VK_CONTROL)<0?SBSP_NEWBROWSER:SBSP_SAMEBROWSER); - if (id==ID_GOUP) - m_pBrowser->BrowseObject(NULL,flags|SBSP_PARENT); - if (id==ID_GOBACK) - m_pBrowser->BrowseObject(NULL,flags|SBSP_NAVIGATEBACK); - if (id==ID_GOFORWARD) - m_pBrowser->BrowseObject(NULL,flags|SBSP_NAVIGATEFORWARD); - } - return TRUE; - } - if (id==ID_EMAIL) - { - SendEmail(); - return TRUE; - } - if (id==ID_RENAME) - { - CComPtr pView; - if (SUCCEEDED(m_pBrowser->QueryActiveShellView(&pView))) - { - CComQIPtr pView2(pView); - if (pView2) pView2->DoRename(); - } - return TRUE; - } - if (id==ID_NEWFOLDER) - { - NewFolder(); - return TRUE; - } - if (id==ID_ZIPFOLDER) - { - SendToZip(); - return TRUE; - } - if (id==ID_NAVPANE) - { - if (m_pBrowserBag) - { - VARIANT val={VT_EMPTY}; - bool bNavPane=SUCCEEDED(m_pBrowserBag->Read(g_NavPaneVisible,&val,NULL)) && val.vt==VT_BOOL && val.boolVal; - VariantClear(&val); - val.vt=VT_BOOL; - val.boolVal=bNavPane?VARIANT_FALSE:VARIANT_TRUE; - m_pBrowserBag->Write(g_NavPaneVisible,&val); - } - return TRUE; - } - if (id==ID_DETAILSPANE) - { - if (m_pBrowserBag) - { - VARIANT val={VT_EMPTY}; - bool bNavPane=SUCCEEDED(m_pBrowserBag->Read(g_DetailsPaneVisible,&val,NULL)) && val.vt==VT_BOOL && val.boolVal; - VariantClear(&val); - val.vt=VT_BOOL; - val.boolVal=bNavPane?VARIANT_FALSE:VARIANT_TRUE; - m_pBrowserBag->Write(g_DetailsPaneVisible,&val); - } - return TRUE; - } - if (id==ID_PREVIEWPANE) - { - if (m_pBrowserBag) - { - VARIANT val={VT_EMPTY}; - bool bNavPane=SUCCEEDED(m_pBrowserBag->Read(g_PreviewPaneVisible,&val,NULL)) && val.vt==VT_BOOL && val.boolVal; - VariantClear(&val); - val.vt=VT_BOOL; - val.boolVal=bNavPane?VARIANT_FALSE:VARIANT_TRUE; - m_pBrowserBag->Write(g_PreviewPaneVisible,&val); - } - return TRUE; - } - if (id==ID_SHOW_EXTENSIONS) - { - CheckButton(ID_SHOW_EXTENSIONS,ToggleExplorerSetting(L"HideFileExt",1,0)); - return TRUE; - } - if (id==ID_HIDDEN_FILES) - { - CheckButton(ID_HIDDEN_FILES,ToggleExplorerSetting(L"Hidden",2,1)); - return TRUE; - } - if (id==ID_SYSTEM_FILES) - { - CheckButton(ID_SYSTEM_FILES,ToggleExplorerSetting(L"ShowSuperHidden",0,1)); - return TRUE; - } - - // check if the focus is on the tree side or on the list side - CWindow focus=GetFocus(); - wchar_t name[256]; - GetClassName(focus,name,_countof(name)); - CWindow parent=focus.GetParent(); - if (_wcsicmp(name,WC_TREEVIEW)==0) - { - // send these commands to the parent of the tree view - if (id==ID_CUT) - parent.SendMessage(WM_COMMAND,41025); - if (id==ID_COPY) - parent.SendMessage(WM_COMMAND,41026); - if (id==ID_PASTE) - parent.SendMessage(WM_COMMAND,41027); - if (id==ID_DELETE) - parent.SendMessage(WM_COMMAND,40995); - if (id==ID_PROPERTIES) - ShowTreeProperties(focus.m_hWnd); - } - else - { - GetClassName(parent,name,_countof(name)); - if (_wcsicmp(name,L"SHELLDLL_DefView")==0) - { - // send these commands to the SHELLDLL_DefView window - if (id==ID_CUT) - { - parent.SendMessage(WM_COMMAND,28696); - focus.InvalidateRect(NULL); - } - if (id==ID_COPY) - parent.SendMessage(WM_COMMAND,28697); - if (id==ID_PASTE) - parent.SendMessage(WM_COMMAND,28698); - if (id==ID_DELETE) - parent.SendMessage(WM_COMMAND,28689); - if (id==ID_PROPERTIES) - parent.SendMessage(WM_COMMAND,28691); - if (id==ID_COPYTO) - parent.SendMessage(WM_COMMAND,28702); - if (id==ID_MOVETO) - parent.SendMessage(WM_COMMAND,28703); - } - } - - if (id==ID_UNDO) - SendShellTabCommand(28699); - if (id==ID_REDO) - SendShellTabCommand(28704); - if (id==ID_PASTE_SHORTCUT) - parent.SendMessage(WM_COMMAND,28700); - if (id==ID_MAP_DRIVE) - SendShellTabCommand(41089); - if (id==ID_DISCONNECT) - SendShellTabCommand(41090); - if (id==ID_CUSTOMIZEFOLDER) - SendShellTabCommand(28722); - if (id==ID_FOLDEROPTIONS) - SendShellTabCommand(41251); - - if (id==ID_VIEW_TILES) - SendShellTabCommand(28748); - if (id==ID_VIEW_DETAILS) - SendShellTabCommand(28747); - if (id==ID_VIEW_LIST) - SendShellTabCommand(28753); - if (id==ID_VIEW_CONTENT) - SendShellTabCommand(28754); - if (id==ID_VIEW_ICONS1) - SendShellTabCommand(28752); - if (id==ID_VIEW_ICONS2) - SendShellTabCommand(28750); - if (id==ID_VIEW_ICONS3) - SendShellTabCommand(28751); - if (id==ID_VIEW_ICONS4) - SendShellTabCommand(28749); - - if (id==ID_SELECTALL || id==ID_INVERT || id==ID_DESELECT) - { - // handle selection commands the hard way (instead of sending commands with SendShellTabCommand). - // some folders don't support selection and they crash if they get selection commands - CComPtr pView; - if (FAILED(m_pBrowser->QueryActiveShellView(&pView))) - return TRUE; - - CComQIPtr pView2(pView); - if (!pView2) return TRUE; - - // ID_DESELECT - if (id==ID_DESELECT) - { - pView2->SelectItem(-1,SVSI_DESELECTOTHERS); - return TRUE; - } - - int count; - if (FAILED(pView2->ItemCount(SVGIO_ALLVIEW,&count))) - return TRUE; - - // ID_SELECTALL - if (id==ID_SELECTALL) - { - for (int i=0;iSelectItem(i,SVSI_SELECT); - return TRUE; - } - - // ID_INVERT - // we can't use IFolderView2::GetSelectedItem to enumerate the selected items. there is a bug in it on Windows 7. when called - // with 0 or 1 it returns 0 for the next item, causing an infinite loop. we have to use Item + GetSelectionState instead. - // it allocates a PIDLs, so it is not ideal, but what can you do. stupid bugs - for (int i=0;iItem(i,&child)) && child) - { - DWORD state; - if (SUCCEEDED(pView2->GetSelectionState(child,&state))) - pView2->SelectItem(i,(state&SVSI_SELECT)?SVSI_DESELECT:SVSI_SELECT); - ILFree(child); - } - } - return TRUE; - } - if (id==ID_REFRESH) - SendShellTabCommand(41504); - if (id==ID_STOP && m_pWebBrowser) - m_pWebBrowser->Stop(); - - return TRUE; -} - -LRESULT CBandWindow::OnRClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMMOUSE *pInfo=(NMMOUSE*)pnmh; - POINT pt=pInfo->pt; - { - RECT rc; - int count=(int)m_Toolbar.SendMessage(TB_BUTTONCOUNT); - m_Toolbar.SendMessage(TB_GETITEMRECT,count-1,(LPARAM)&rc); - if (pt.x>rc.right) - return 0; - } - m_Toolbar.ClientToScreen(&pt); - ShowSettingsMenu(m_hWnd,pt.x,pt.y); - return 1; -} - -LRESULT CBandWindow::OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTBGETINFOTIP *pTip=(NMTBGETINFOTIP*)pnmh; - const StdToolbarItem &item=m_Items[pTip->lParam]; - if (item.tip && _wcsicmp(item.tip,L"none")!=0) - { - // show the tip for the standard item - Strcpy(pTip->pszText,pTip->cchTextMax,item.tip); - } - return 0; -} - -// Callback for IShellMenu. Executes the selected command -class CMenuCallback: public IShellMenuCallback -{ -public: - CMenuCallback( IShellBrowser *pBrowser ) { m_bExecuted=false; m_pBrowser=pBrowser; } - - virtual HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid, void **ppvObject ); - virtual ULONG STDMETHODCALLTYPE AddRef( void ) { return 1; } - virtual ULONG STDMETHODCALLTYPE Release( void ) { return 1; } - STDMETHOD(CallbackSM)( LPSMDATA psmd, UINT uMsg, WPARAM wParam, LPARAM lParam ); - -private: - bool m_bExecuted; - IShellBrowser *m_pBrowser; -}; - -HRESULT STDMETHODCALLTYPE CMenuCallback::QueryInterface( REFIID riid, void **ppvObject ) -{ - if (riid==IID_IUnknown || riid==IID_IShellMenuCallback) - { - *ppvObject=this; - return S_OK; - } - else - { - *ppvObject=NULL; - return E_NOINTERFACE; - } -} - -HRESULT STDMETHODCALLTYPE CMenuCallback::CallbackSM( LPSMDATA psmd, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - switch(uMsg) - { - case SMC_GETINFO: - { - SMINFO *pSmInfo=(SMINFO*)lParam; - - if (pSmInfo->dwMask&SMIM_FLAGS) - pSmInfo->dwFlags|=SMIF_DROPCASCADE|SMIF_TRACKPOPUP; - - if (pSmInfo->dwMask&SMIM_ICON) - pSmInfo->iIcon=-1; - } - return S_OK; - - case SMC_SFEXEC: - { - if (m_bExecuted) - return S_OK; - m_bExecuted=true; - SFGAOF flags=SFGAO_FOLDER|SFGAO_LINK; - - if (SUCCEEDED(psmd->psf->GetAttributesOf(1,&psmd->pidlItem,&flags))) - { - CAbsolutePidl pidl; - if (flags&SFGAO_LINK) - { - flags=0; - // resolve link - CComPtr pLink; - if (SUCCEEDED(psmd->psf->GetUIObjectOf(NULL,1,&psmd->pidlItem,IID_IShellLink,NULL,(void**)&pLink)) && pLink) - pLink->GetIDList(&pidl); - if (pidl) - { - CComPtr pFolder; - PCUITEMID_CHILD child; - SHBindToParent(pidl,IID_IShellFolder,(void**)&pFolder,&child); - SFGAOF flags2=SFGAO_FOLDER; - if (pFolder && SUCCEEDED(pFolder->GetAttributesOf(1,&child,&flags2)) && (flags2&SFGAO_FOLDER)) - flags=SFGAO_FOLDER; - else - pidl.Clear(); - } - } - - if (!pidl) - pidl.Attach(ILCombine(psmd->pidlFolder,psmd->pidlItem)); - - if (flags&SFGAO_FOLDER) - { - // navigate to folder - if (m_pBrowser) - { - UINT flags=(GetKeyState(VK_CONTROL)<0?SBSP_NEWBROWSER:SBSP_SAMEBROWSER); - m_pBrowser->BrowseObject(pidl,flags); - } - } - else - { - // execute file - SHELLEXECUTEINFO execute={sizeof(execute),SEE_MASK_IDLIST|SEE_MASK_FLAG_LOG_USAGE}; - execute.lpIDList=pidl; - execute.nShow=SW_SHOWNORMAL; - ShellExecuteEx(&execute); - } - } - return S_OK; - } - - case SMC_PROMOTE: - case SMC_EXITMENU: - case SMC_GETSFINFO: - case SMC_SFSELECTITEM: - case SMC_REFRESH: - case SMC_DEMOTE: - case SMC_DEFAULTICON: - case SMC_NEWITEM: - case SMC_CHEVRONEXPAND: - case SMC_DISPLAYCHEVRONTIP: - case SMC_SETSFOBJECT: - case SMC_SHCHANGENOTIFY: - case SMC_CHEVRONGETTIP: - case SMC_SFDDRESTRICTED: - return S_OK; - - default: - return S_FALSE; - } -} - -LRESULT CBandWindow::OnDropDown( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTOOLBAR *pButton=(NMTOOLBAR*)pnmh; - int idx=0; - const StdToolbarItem *pItem=NULL; - for (std::vector::const_iterator it=m_Items.begin();it->id!=ID_LAST;++it,idx++) - { - RECT rc; - if (m_Toolbar.SendMessage(TB_GETITEMRECT,idx,(LPARAM)&rc) && memcmp(&rc,&pButton->rcButton,sizeof(RECT))==0) - { - pItem=&*it; - break; - } - } - if (pItem && (pItem->submenu || pItem->link)) - { - if (pItem->submenu) - { - TPMPARAMS params={sizeof(params),pButton->rcButton}; - m_Toolbar.ClientToScreen(¶ms.rcExclude); // must not use MapWindowPoints because it produces wrong results in RTL cases - HMENU menu=CreateDropMenu(pItem->submenu); - int res=TrackPopupMenuEx(menu,TPM_RETURNCMD|TPM_VERTICAL,params.rcExclude.left,params.rcExclude.bottom,m_hWnd,¶ms); - DestroyMenu(menu); - if (res>0) - PostMessage(WM_COMMAND,res); - } - else if (pItem->link) - { - TPMPARAMS params={sizeof(params),pButton->rcButton}; - m_Toolbar.MapWindowPoints(NULL,¶ms.rcExclude); // must use MapWindowPoints to handle RTL correctly - - CAbsolutePidl pidl; - CComPtr pFolder; - wchar_t buf[1024]; - Strcpy(buf,_countof(buf),pItem->link); - DoEnvironmentSubst(buf,_countof(buf)); - if (SUCCEEDED(ShParseDisplayName(buf,&pidl,0,NULL))) - SHBindToObject(NULL,pidl,NULL,IID_IShellFolder,(void **)&pFolder); - if (pFolder) - { - HRESULT hr; - CComPtr pMenu; - - CoCreateInstance(CLSID_TrackShellMenu,NULL,CLSCTX_INPROC_SERVER,IID_ITrackShellMenu,(void**)&pMenu); - - if (pMenu) - { - CMenuCallback callback(m_pBrowser); - hr=pMenu->Initialize(&callback,-1,ANCESTORDEFAULT,SMINIT_TOPLEVEL|SMINIT_VERTICAL|SMINIT_RESTRICT_DRAGDROP); - if (SUCCEEDED(hr)) - { - CRegKey cRegOrder; - - CComString pFavs; - SHGetKnownFolderPath(FOLDERID_Favorites,0,NULL,&pFavs); - if (pFavs && SUCCEEDED(SHGetPathFromIDList(pidl,buf))) - { - // must compare strings and not pidls. sometimes pidls can be different but point to the same folder - pFavs.MakeUpper(); - CharUpper(buf); - if (wcscmp(pFavs,buf)==0) - cRegOrder.Open(HKEY_CURRENT_USER,_T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MenuOrder\\Favorites")); - } - - hr=pMenu->SetShellFolder(pFolder,pidl,cRegOrder.m_hKey,SMSET_BOTTOM|0x00000008); // SMSET_USEBKICONEXTRACTION=0x00000008 - if (SUCCEEDED(hr)) - { - cRegOrder.Detach(); - POINTL ptl={params.rcExclude.left,params.rcExclude.bottom}; - RECTL rcl={params.rcExclude.left,params.rcExclude.top,params.rcExclude.right,params.rcExclude.bottom}; - pMenu->Popup(GetAncestor(m_hWnd,GA_ROOT),&ptl,&rcl,MPPF_SETFOCUS|MPPF_BOTTOM); - } - } - } - } - } - - // remove the next mouse click if it is on the same button - MSG msg; - RECT rc=pButton->rcButton; - m_Toolbar.ClientToScreen(&rc); - if (PeekMessage(&msg,NULL,WM_LBUTTONDOWN,WM_LBUTTONDBLCLK,PM_NOREMOVE) && PtInRect(&rc,msg.pt)) - PeekMessage(&msg,NULL,WM_LBUTTONDOWN,WM_LBUTTONDBLCLK,PM_REMOVE); - } - return TBDDRET_DEFAULT; -} - -LRESULT CBandWindow::OnChevron( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMREBARCHEVRON *pChevron=(NMREBARCHEVRON*)pnmh; - REBARBANDINFO info={sizeof(info),RBBIM_CHILD}; - if (::SendMessage(pnmh->hwndFrom,RB_GETBANDINFO,pChevron->uBand,(LPARAM)&info) && info.hwndChild==m_Toolbar.m_hWnd) - { - RECT clientRect; - m_Toolbar.GetClientRect(&clientRect); - int idx=0; - for (std::vector::const_iterator it=m_Items.begin();it->id!=ID_LAST;++it,idx++) - { - RECT rc; - m_Toolbar.SendMessage(TB_GETITEMRECT,idx,(LPARAM)&rc); - if (rc.right>clientRect.right) - break; - } - while (m_Items[idx].id==ID_SEPARATOR) - idx++; - if (m_Items[idx].id==ID_LAST) return 1; - HMENU menu=CreateDropMenu(&m_Items[idx]); - TPMPARAMS params={sizeof(params),pChevron->rc}; - // use ClientToScreen instead of MapWindowPoints because it works better in RTL mode - ::ClientToScreen(pnmh->hwndFrom,(POINT*)¶ms.rcExclude); - ::ClientToScreen(pnmh->hwndFrom,((POINT*)¶ms.rcExclude)+1); - int res=TrackPopupMenuEx(menu,TPM_RETURNCMD|TPM_VERTICAL,params.rcExclude.left,params.rcExclude.bottom,m_hWnd,¶ms); - DestroyMenu(menu); - - if (res>0) - PostMessage(WM_COMMAND,res); - - // remove the next mouse click if it is on the chevron - MSG msg; - if (PeekMessage(&msg,NULL,WM_LBUTTONDOWN,WM_LBUTTONDBLCLK,PM_NOREMOVE) && PtInRect(¶ms.rcExclude,msg.pt)) - PeekMessage(&msg,NULL,WM_LBUTTONDOWN,WM_LBUTTONDBLCLK,PM_REMOVE); - - return 1; - } - return 0; -} - -HMENU CBandWindow::CreateDropMenu( const StdToolbarItem *pItem ) -{ - HMODULE hShell32=GetModuleHandle(L"Shell32.dll"); - std::vector modules; - HMENU menu=CreateDropMenuRec(pItem,modules,hShell32); - for (std::vector::const_iterator it=modules.begin();it!=modules.end();++it) - FreeLibrary(*it); - MENUINFO info={sizeof(info),MIM_STYLE,MNS_CHECKORBMP}; - SetMenuInfo(menu,&info); - return menu; -} - -HMENU CBandWindow::CreateDropMenuRec( const StdToolbarItem *pItem, std::vector &modules, HMODULE hShell32 ) -{ - HMENU menu=CreatePopupMenu(); - for (int idx=0;pItem->id!=ID_LAST;pItem++,idx++) - { - if (pItem->id==ID_SEPARATOR) - { - AppendMenu(menu,MF_SEPARATOR,0,0); - continue; - } - const wchar_t *name=pItem->label; - if (!name && pItem->tip && _wcsicmp(pItem->tip,L"none")!=0) - name=pItem->tip; - - if (!pItem->bIconLoaded) - { - pItem->bIconLoaded=true; - if (m_MenuIconSize>0) - { - if (pItem->iconPath) - { - if (_wcsicmp(pItem->iconPath,L"NONE")!=0) - { - HICON hIcon=LoadIcon(m_MenuIconSize,pItem->iconPath,modules); - if (!hIcon) - hIcon=(HICON)LoadImage(hShell32,MAKEINTRESOURCE(1),IMAGE_ICON,m_MenuIconSize,m_MenuIconSize,LR_DEFAULTCOLOR); - if (hIcon) - { - HICON hIcon2=pItem->iconPathD?LoadIcon(m_MenuIconSize,pItem->iconPathD,modules):NULL; - if (!hIcon2) - hIcon2=CreateDisabledIcon(hIcon,m_MenuIconSize); - pItem->menuIcon=BitmapFromIcon(hIcon,m_MenuIconSize,NULL,true); - pItem->menuIconD=BitmapFromIcon(hIcon2,m_MenuIconSize,NULL,true); - } - } - } - else if (pItem->link) - { - HICON hIcon=NULL; - CAbsolutePidl pidl; - wchar_t path[_MAX_PATH]; - Strcpy(path,_countof(path),pItem->link); - DoEnvironmentSubst(path,_countof(path)); - if (SUCCEEDED(ShParseDisplayName(path,&pidl,0,NULL))) - { - if (!name) - { - CComString pName; - if (SUCCEEDED(SHGetNameFromIDList(pidl,SIGDN_PARENTRELATIVEEDITING,&pName)) && pName) - { - pItem->menuText=pName; - } - } - hIcon=LoadIcon(m_MenuIconSize,pidl); - } - if (hIcon) - { - HICON hIcon2=pItem->iconPathD?LoadIcon(m_MenuIconSize,pItem->iconPathD,modules):NULL; - if (!hIcon2) - hIcon2=CreateDisabledIcon(hIcon,m_MenuIconSize); - pItem->menuIcon=BitmapFromIcon(hIcon,m_MenuIconSize,NULL,true); - pItem->menuIconD=BitmapFromIcon(hIcon2,m_MenuIconSize,NULL,true); - } - } - } - } - - if (!name) name=pItem->menuText; - - if (pItem->submenu) - { - HMENU menu2=CreateDropMenu(pItem->submenu); - AppendMenu(menu,MF_POPUP,(UINT_PTR)menu2,name); - } - else - { - int cmd=(int)(pItem-&m_Items[0]+1); - AppendMenu(menu,MF_STRING,cmd,name); - } - - if (pItem->menuIcon) - { - MENUITEMINFO mii={sizeof(mii)}; - mii.fMask=MIIM_BITMAP; - mii.hbmpItem=pItem->bDisabled?pItem->menuIconD:pItem->menuIcon; - SetMenuItemInfo(menu,idx,TRUE,&mii); - } - - if (pItem->bDisabled) - EnableMenuItem(menu,idx,MF_BYPOSITION|MF_GRAYED); - if (pItem->bChecked) - CheckMenuItem(menu,idx,MF_BYPOSITION|MF_CHECKED); - } - return menu; -} - -void CBandWindow::UpdateToolbar( void ) -{ - // disable the Up button if we are at the top level - bool bDesktop=false; - bool bNavPane=true; - bool bDisableNavPane=false; - bool bDetailsPane=true; - bool bDisableDetailsPane=false; - bool bPreviewPane=true; - bool bDisablePreviewPane=false; - if (m_pBrowser) - { - CComPtr pView; - m_pBrowser->QueryActiveShellView(&pView); - if (pView) - { - CComQIPtr pView2(pView); - if (pView2) - { - CComPtr pFolder; - pView2->GetFolder(IID_IPersistFolder2,(void**)&pFolder); - if (pFolder) - { - CAbsolutePidl pidl; - if (SUCCEEDED(pFolder->GetCurFolder(&pidl)) && pidl) - { - if (ILIsEmpty(pidl)) - bDesktop=true; // only the top level has empty PIDL - } - } - - if (m_pBrowserBag) - { - if (GetWinVersion()>=WIN_VER_WIN8) - { - VARIANT val={VT_EMPTY}; - if (SUCCEEDED(m_pBrowserBag->Read(g_ComboPaneEnabled,&val,NULL)) && val.vt==VT_BOOL && !val.boolVal) - { - bDisableDetailsPane=true; - bDetailsPane=false; - bDisablePreviewPane=true; - bPreviewPane=false; - } - VariantClear(&val); - } - else - { - VARIANT val={VT_EMPTY}; - if (SUCCEEDED(m_pBrowserBag->Read(g_DetailsPaneEnabled,&val,NULL)) && val.vt==VT_BOOL && !val.boolVal) - { - bDisableDetailsPane=true; - bDetailsPane=false; - } - VariantClear(&val); - if (SUCCEEDED(m_pBrowserBag->Read(g_PreviewPaneEnabled,&val,NULL)) && val.vt==VT_BOOL && !val.boolVal) - { - bDisablePreviewPane=true; - bPreviewPane=false; - } - VariantClear(&val); - } - CComPtr pVisibility; - if (SUCCEEDED(pView2->GetFolder(IID_IExplorerPaneVisibility,(void**)&pVisibility)) && pVisibility) - { - EXPLORERPANESTATE state=0; - if (SUCCEEDED(pVisibility->GetPaneState(EP_NavPane,&state))) - { - bDisableNavPane=(state&EPS_FORCE)!=0; - if (bDisableNavPane) - bNavPane=!(state&EPS_DEFAULT_OFF); - } - if (!bDisableDetailsPane) - { - state=0; - if (SUCCEEDED(pVisibility->GetPaneState(EP_DetailsPane,&state))) - { - bDisableDetailsPane=(state&EPS_FORCE)!=0; - if (bDisableDetailsPane) - bDetailsPane=!(state&EPS_DEFAULT_OFF); - } - } - if (!bDisablePreviewPane) - { - state=0; - if (SUCCEEDED(pVisibility->GetPaneState(EP_PreviewPane,&state))) - { - bDisablePreviewPane=(state&EPS_FORCE)!=0; - if (bDisablePreviewPane) - bPreviewPane=!(state&EPS_DEFAULT_OFF); - } - } - } - } - } - } - - if (m_pBrowserBag) - { - if (!bDisableNavPane) - { - VARIANT val={VT_EMPTY}; - bNavPane=SUCCEEDED(m_pBrowserBag->Read(g_NavPaneVisible,&val,NULL)) && val.vt==VT_BOOL && val.boolVal; - VariantClear(&val); - } - if (!bDisableDetailsPane) - { - VARIANT val={VT_EMPTY}; - bDetailsPane=SUCCEEDED(m_pBrowserBag->Read(g_DetailsPaneVisible,&val,NULL)) && val.vt==VT_BOOL && val.boolVal; - VariantClear(&val); - } - if (!bDisablePreviewPane) - { - VARIANT val={VT_EMPTY}; - bPreviewPane=SUCCEEDED(m_pBrowserBag->Read(g_PreviewPaneVisible,&val,NULL)) && val.vt==VT_BOOL && val.boolVal; - VariantClear(&val); - } - } - } - EnableButton(ID_GOUP,!bDesktop); - if (m_pBrowserBag) - { - EnableButton(ID_NAVPANE,!bDisableNavPane); - CheckButton(ID_NAVPANE,bNavPane); - EnableButton(ID_DETAILSPANE,!bDisableDetailsPane); - CheckButton(ID_DETAILSPANE,bDetailsPane); - EnableButton(ID_PREVIEWPANE,!bDisablePreviewPane); - CheckButton(ID_PREVIEWPANE,bPreviewPane); - } - - if (HasFolderSettings()) - UpdateFolderSettings(); -} - -void CBandWindow::UpdateFolderSettings( void ) -{ - bool bExtensions=false, bHidden=false, bSystem=false; - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - DWORD val; - if (regKey.QueryDWORDValue(L"HideFileExt",val)==ERROR_SUCCESS) - bExtensions=(val!=1); - if (regKey.QueryDWORDValue(L"Hidden",val)==ERROR_SUCCESS) - bHidden=(val==1); - if (regKey.QueryDWORDValue(L"ShowSuperHidden",val)==ERROR_SUCCESS) - bSystem=(val==1); - } - CheckButton(ID_SHOW_EXTENSIONS,bExtensions); - CheckButton(ID_HIDDEN_FILES,bHidden); - CheckButton(ID_SYSTEM_FILES,bSystem); -} - -void CBandWindow::EnableButton( int cmd, bool bEnable ) -{ - bool bMain=true; - bool bDisabled=!bEnable; - for (int idx=0;idx<(int)m_Items.size();idx++) - { - if (m_Items[idx].id==ID_LAST) - bMain=false; - if (m_Items[idx].id==cmd && m_Items[idx].bDisabled!=bDisabled) - { - m_Items[idx].bDisabled=bDisabled; - if (bMain) - m_Toolbar.SendMessage(TB_ENABLEBUTTON,idx+1,bDisabled?0:1); - } - } -} - -void CBandWindow::CheckButton( int cmd, bool bCheck ) -{ - bool bMain=true; - for (int idx=0;idx<(int)m_Items.size();idx++) - { - if (m_Items[idx].id==ID_LAST) - bMain=false; - if (m_Items[idx].id==cmd && m_Items[idx].bChecked!=bCheck) - { - m_Items[idx].bChecked=bCheck; - if (bMain) - m_Toolbar.SendMessage(TB_CHECKBUTTON,idx+1,bCheck?1:0); - } - } -} - -bool CBandWindow::HasPanes( void ) const -{ - for (int idx=0;idx<(int)m_Items.size();idx++) - { - if (m_Items[idx].id==ID_NAVPANE || m_Items[idx].id==ID_DETAILSPANE || m_Items[idx].id==ID_PREVIEWPANE) - return true; - } - return false; -} - -bool CBandWindow::HasFolderSettings( void ) const -{ - for (int idx=0;idx<(int)m_Items.size();idx++) - { - if (m_Items[idx].id==ID_SHOW_EXTENSIONS || m_Items[idx].id==ID_HIDDEN_FILES || m_Items[idx].id==ID_SYSTEM_FILES) - return true; - } - return false; -} - -void CBandWindow::UpdateBag( void ) -{ - if (!m_pBrowserBag) - { - CComPtr pFrame; - IUnknown_QueryService(m_pBrowser,SID_FrameManager,IID_IUnknown,(void**)&pFrame); - IUnknown_QueryService(pFrame,SID_PerBrowserPropertyBag,IID_IPropertyBag,(void**)&m_pBrowserBag); - if (m_pBrowserBag) - { - void **vtbl=*(void***)m_pBrowserBag.p+4; - if (InterlockedCompareExchangePointer((void**)&g_OldBagWrite,*vtbl,0)==0) - { - DWORD oldProtect; - VirtualProtect(vtbl,sizeof(void*),PAGE_READWRITE,&oldProtect); - *vtbl=BagWriteHook; - VirtualProtect(vtbl,sizeof(void*),oldProtect,&oldProtect); - - // prevent the DLL from being unloaded after we mess with the vtable, otherwise bad things happen - HMODULE q; - GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,(const wchar_t*)g_Instance,&q); - } - } - } - PostMessage(BWM_UPDATETOOLBAR); -} - -HRESULT __stdcall CBandWindow::BagWriteHook( IPropertyBag *pThis, LPCOLESTR pszPropName, VARIANT *pVar ) -{ - if (_wcsicmp(pszPropName,g_NavPaneVisible)==0 || - _wcsicmp(pszPropName,g_DetailsPaneVisible)==0 || - _wcsicmp(pszPropName,g_PreviewPaneVisible)==0 || - _wcsicmp(pszPropName,g_DetailsPaneEnabled)==0 || - _wcsicmp(pszPropName,g_PreviewPaneEnabled)==0 || - _wcsicmp(pszPropName,g_ComboPaneEnabled)==0 - ) - { - TlsData *pData=GetTlsData(); - if (pData && pData->band) - pData->band->m_BandWindow.PostMessage(BWM_UPDATETOOLBAR); - } - return g_OldBagWrite(pThis,pszPropName,pVar); -} - -void CBandWindow::Clear( void ) -{ - m_TreeParent=NULL; - m_pBrowser=NULL; - m_pWebBrowser=NULL; - m_pBrowserBag=NULL; -} - -void CBandWindow::SetBrowsers( IShellBrowser *pBrowser, IWebBrowser2 *pWebBrowser ) -{ - m_pBrowser=pBrowser; - m_pWebBrowser=pWebBrowser; - m_pBrowserBag=NULL; -} - -/////////////////////////////////////////////////////////////////////////////// - -// CExplorerBand - adds a toolbar band to Windows Explorer with 2 buttons - "Up" and "Settings" - -CExplorerBand::CExplorerBand( void ) -{ - m_bSubclassRebar=GetWinVersion()>=WIN_VER_WIN7; - m_bSubclassedRebar=false; - m_TopWindow=NULL; -} - -// Subclasses the rebar control on Windows 7. Makes sure the RBBS_BREAK style is properly set. Windows 7 has a bug -// that forces RBBS_BREAK for every rebar band -LRESULT CALLBACK CExplorerBand::RebarSubclassProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==RB_SETBANDINFO && ((CExplorerBand*)uIdSubclass)->m_bHandleSetInfo) - { - REBARBANDINFO *pInfo=(REBARBANDINFO*)lParam; - if ((pInfo->hwndChild==(HWND)dwRefData) && (pInfo->fMask&RBBIM_STYLE)) - { - if (((CExplorerBand*)uIdSubclass)->m_bBandNewLine) - pInfo->fStyle|=RBBS_BREAK; - else - pInfo->fStyle&=~RBBS_BREAK; - } - } - - if (uMsg==WM_CLEAR) - ((CExplorerBand*)uIdSubclass)->m_bHandleSetInfo=false; - - if (uMsg==RB_DELETEBAND) - { - int n=(int)SendMessage(hWnd,RB_GETBANDCOUNT,0,0); - CExplorerBand *pThis=(CExplorerBand*)uIdSubclass; - for (int i=0;im_bHandleSetInfo; - pThis->m_bHandleSetInfo=false; - SendMessage(hWnd,RB_SETBANDINFO,i,(LPARAM)&info); - pThis->m_bHandleSetInfo=old; - } - return res; - } - } - } - - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -// Subclasses the rebar's parent to catch RBN_CHEVRONPUSHED -LRESULT CALLBACK CExplorerBand::ParentSubclassProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_NOTIFY && ((NMHDR*)lParam)->code==RBN_CHEVRONPUSHED) - { - if (SendMessage((HWND)dwRefData,uMsg,wParam,lParam)) - return 0; - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -// IDeskBand -STDMETHODIMP CExplorerBand::GetBandInfo( DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi ) -{ - // initializes the band - if (!m_bSubclassedRebar) - { - HWND rebar=GetParent(m_BandWindow.GetToolbar()); - wchar_t className[256]; - GetClassName(rebar,className,_countof(className)); - if (_wcsicmp(className,REBARCLASSNAME)==0) - { - if (m_bSubclassRebar) - { - CRegKey regSettings; - m_bBandNewLine=false; - if (regSettings.Open(HKEY_CURRENT_USER,GetSettingsRegPath())==ERROR_SUCCESS) - { - DWORD NewLine; - if (regSettings.QueryDWORDValue(L"NewLine",NewLine)==ERROR_SUCCESS) - m_bBandNewLine=NewLine!=0; - } - - SetWindowSubclass(rebar,RebarSubclassProc,(UINT_PTR)this,(DWORD_PTR)m_BandWindow.GetToolbar()); - } - SetWindowSubclass(GetParent(rebar),ParentSubclassProc,(UINT_PTR)this,(DWORD_PTR)m_BandWindow.m_hWnd); - m_bSubclassedRebar=true; - } - } - RECT rc; - SendMessage(m_BandWindow.GetToolbar(),TB_GETITEMRECT,0,(LPARAM)&rc); - int minSize=rc.right; - int count=(int)SendMessage(m_BandWindow.GetToolbar(),TB_BUTTONCOUNT,0,0); - SendMessage(m_BandWindow.GetToolbar(),TB_GETITEMRECT,count-1,(LPARAM)&rc); - bool bChevron=GetSettingBool(L"ResizeableToolbar"); - - if (pdbi) - { - if (pdbi->dwMask&DBIM_MINSIZE) - { - pdbi->ptMinSize.x=bChevron?minSize:rc.right; - pdbi->ptMinSize.y=rc.bottom; - } - if (pdbi->dwMask&DBIM_MAXSIZE) - { - pdbi->ptMaxSize.x=0; // ignored - pdbi->ptMaxSize.y=-1; // unlimited - } - if (pdbi->dwMask&DBIM_INTEGRAL) - { - pdbi->ptIntegral.x=0; // not sizeable - pdbi->ptIntegral.y=0; // not sizeable - } - if (pdbi->dwMask&DBIM_ACTUAL) - { - pdbi->ptActual.x=rc.right; - pdbi->ptActual.y=rc.bottom; - } - if (pdbi->dwMask&DBIM_TITLE) - { - *pdbi->wszTitle=0; // no title - } - if (pdbi->dwMask&DBIM_BKCOLOR) - { - //Use the default background color by removing this flag. - pdbi->dwMask&=~DBIM_BKCOLOR; - } - if (pdbi->dwMask&DBIM_MODEFLAGS) - { - if (bChevron) - pdbi->dwModeFlags|=DBIMF_USECHEVRON; - } - } - return S_OK; -} - -// IOleWindow -STDMETHODIMP CExplorerBand::GetWindow( HWND* phwnd ) -{ - if (!phwnd) - return E_INVALIDARG; - *phwnd=m_BandWindow.GetToolbar(); - return S_OK; -} - -STDMETHODIMP CExplorerBand::ContextSensitiveHelp( BOOL fEnterMode ) -{ - return S_OK; -} - -// IDockingWindow -STDMETHODIMP CExplorerBand::CloseDW( unsigned long dwReserved ) -{ - ShowDW(FALSE); - return S_OK; -} - -STDMETHODIMP CExplorerBand::ResizeBorderDW( const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved ) -{ - // Not used by any band object. - return E_NOTIMPL; -} - -STDMETHODIMP CExplorerBand::ShowDW( BOOL fShow ) -{ - if (m_bSubclassRebar && m_bSubclassedRebar) - { - // on Windows 7 get the current RBBS_BREAK state and save it in the registry to be restored later - HWND rebar=GetParent(m_BandWindow.GetToolbar()); - m_bHandleSetInfo=true; - if (!fShow) - { - int n=(int)SendMessage(rebar,RB_GETBANDCOUNT,0,0); - for (int i=0;i::SetSite(pUnkSite); - - if (m_BandWindow.IsWindow()) - m_BandWindow.DestroyWindow(); - m_BandWindow.Clear(); - if (m_bSubclassedRebar) - { - HWND hwnd=GetParent(m_BandWindow.GetToolbar()); - if (m_bSubclassRebar) - RemoveWindowSubclass(hwnd,RebarSubclassProc,(UINT_PTR)this); - RemoveWindowSubclass(GetParent(hwnd),ParentSubclassProc,(UINT_PTR)this); - } - m_bSubclassedRebar=false; - m_bHandleSetInfo=true; - - if (m_pWebBrowser && m_dwEventCookie!=0xFEFEFEFE) - DispEventUnadvise(m_pWebBrowser,&DIID_DWebBrowserEvents2); - m_pWebBrowser=NULL; - - //If punkSite is not NULL, a new site is being set. - if (pUnkSite) - { - // hook - GetTlsData()->band=this; - - //Get the parent window. - HWND hWndParent=NULL; - - CComQIPtr pOleWindow=pUnkSite; - if (pOleWindow) - pOleWindow->GetWindow(&hWndParent); - - if (!IsWindow(hWndParent)) - return E_FAIL; - - m_TopWindow=GetAncestor(hWndParent,GA_ROOT); - if (!GetProp(m_TopWindow,g_LoadedSettingsAtom)) - { - SetProp(m_TopWindow,g_LoadedSettingsAtom,(HANDLE)1); - LoadSettings(); - } - - m_BandWindow.Create(hWndParent,NULL,NULL,WS_CHILD); - if (!m_BandWindow.IsWindow()) - return E_FAIL; - - CComQIPtr pProvider=pUnkSite; - - if (pProvider) - { - CComPtr pBrowser; - pProvider->QueryService(SID_SShellBrowser,IID_IShellBrowser,(void**)&pBrowser); - - // listen for web browser notifications. we only care about DISPID_NAVIGATECOMPLETE2 and DISPID_ONQUIT - pProvider->QueryService(SID_SWebBrowserApp,IID_IWebBrowser2,(void**)&m_pWebBrowser); - if (m_pWebBrowser) - { - if (m_dwEventCookie==0xFEFEFEFE) // ATL's event cookie is 0xFEFEFEFE when the sink is not advised - DispEventAdvise(m_pWebBrowser,&DIID_DWebBrowserEvents2); - } - m_BandWindow.SetBrowsers(pBrowser,m_pWebBrowser); - } - } - else - { - // unhook - GetTlsData()->band=NULL; - if (m_TopWindow) RemoveProp(m_TopWindow,g_LoadedSettingsAtom); - m_TopWindow=NULL; - } - return S_OK; -} - -STDMETHODIMP CExplorerBand::OnNavigateComplete( IDispatch *pDisp, VARIANT *URL ) -{ - // this is called when the current folder changes. disable the Up button if this is the desktop folder - m_BandWindow.UpdateToolbar(); - return S_OK; -} - -STDMETHODIMP CExplorerBand::OnCommandStateChange( long Command, VARIANT_BOOL Enable ) -{ - if (Command==CSC_NAVIGATEFORWARD) - { - m_BandWindow.EnableButton(CBandWindow::ID_GOFORWARD,Enable?true:false); - } - if (Command==CSC_NAVIGATEBACK) - { - m_BandWindow.EnableButton(CBandWindow::ID_GOBACK,Enable?true:false); - } - return S_OK; -} - -STDMETHODIMP CExplorerBand::OnQuit( void ) -{ - if (m_pWebBrowser && m_dwEventCookie!=0xFEFEFEFE) // ATL's event cookie is 0xFEFEFEFE, when the sink is not advised - return DispEventUnadvise(m_pWebBrowser,&DIID_DWebBrowserEvents2); - return S_OK; -} diff --git a/Src/ClassicExplorer/ExplorerBand.h b/Src/ClassicExplorer/ExplorerBand.h deleted file mode 100644 index 54f7998..0000000 --- a/Src/ClassicExplorer/ExplorerBand.h +++ /dev/null @@ -1,246 +0,0 @@ -// 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 - -// ExplorerBand.h : Declaration of the CExplorerBand - -#pragma once -#include "resource.h" -#include "ClassicExplorer_i.h" -#include "SettingsParser.h" -#include - -class CBandWindow: public CWindowImpl -{ -public: - - enum - { - ID_LAST=-1, - ID_SEPARATOR=0, - - // standard toolbar commands - ID_SETTINGS=1, - ID_GOUP, - ID_CUT, - ID_COPY, - ID_PASTE, - ID_PASTE_SHORTCUT, - ID_DELETE, - ID_PROPERTIES, - ID_EMAIL, - - ID_MOVETO, - ID_COPYTO, - ID_UNDO, - ID_REDO, - ID_SELECTALL, - ID_DESELECT, - ID_INVERT, - ID_GOBACK, - ID_GOFORWARD, - ID_REFRESH, - ID_STOP, - ID_RENAME, - ID_NEWFOLDER, - ID_ZIPFOLDER, - ID_NAVPANE, - ID_DETAILSPANE, - ID_PREVIEWPANE, - ID_MAP_DRIVE, - ID_DISCONNECT, - ID_CUSTOMIZEFOLDER, - ID_FOLDEROPTIONS, - ID_VIEW_TILES, - ID_VIEW_DETAILS, - ID_VIEW_LIST, - ID_VIEW_CONTENT, - ID_VIEW_ICONS1, - ID_VIEW_ICONS2, - ID_VIEW_ICONS3, - ID_VIEW_ICONS4, - ID_SHOW_EXTENSIONS, - ID_HIDDEN_FILES, - ID_SYSTEM_FILES, - - ID_CUSTOM=100, - }; - - DECLARE_WND_CLASS(L"OpenShell.CBandWindow") - - enum { - BWM_UPDATEBUTTONS=WM_USER, - BWM_UPDATETOOLBAR, - }; - - BEGIN_MSG_MAP( CBandWindow ) - MESSAGE_HANDLER( WM_CREATE, OnCreate ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_CLEAR, OnUpdateUI ) - MESSAGE_HANDLER( WM_COMMAND, OnCommand ) - MESSAGE_HANDLER( BWM_UPDATEBUTTONS, OnUpdateButtons ) - MESSAGE_HANDLER( BWM_UPDATETOOLBAR, OnUpdateToolbar ) - NOTIFY_CODE_HANDLER( NM_RCLICK, OnRClick ) - NOTIFY_CODE_HANDLER( TBN_GETINFOTIP, OnGetInfoTip ) - NOTIFY_CODE_HANDLER( TBN_DROPDOWN, OnDropDown ) - NOTIFY_CODE_HANDLER( RBN_CHEVRONPUSHED, OnChevron ) - END_MSG_MAP() - - CBandWindow( void ) { m_ImgEnabled=m_ImgDisabled=NULL; m_MenuIconSize=0; } - - HWND GetToolbar( void ) { return m_Toolbar.m_hWnd; } - void SetBrowsers( IShellBrowser *pBrowser, IWebBrowser2 *pWebBrowser ); - void Clear( void ); - void UpdateToolbar( void ); - void EnableButton( int cmd, bool bEnable ); - void CheckButton( int cmd, bool bCheck ); - bool HasPanes( void ) const; - bool HasFolderSettings( void ) const; - -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 OnCreate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnUpdateUI( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnCommand( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnUpdateButtons( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnUpdateToolbar( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnRClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnDropDown( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnChevron( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - -private: - CWindow m_Toolbar; - CWindow m_TreeParent; - CComPtr m_pBrowser; - CComPtr m_pWebBrowser; - CComPtr m_pBrowserBag; - HIMAGELIST m_ImgEnabled; - HIMAGELIST m_ImgDisabled; - int m_MenuIconSize; - - struct StdToolbarItem - { - int id; - const wchar_t *command; - const wchar_t *link; - const wchar_t *label; // text on the button - const wchar_t *tip; // default tooltip - const wchar_t *iconPath; - const wchar_t *iconPathD; - CString regName; // name of the registry value to check for enabled/checked state - CString labelString, tipString; // additional storage for the strings - const StdToolbarItem *submenu; - mutable HBITMAP menuIcon; - mutable HBITMAP menuIconD; - mutable CString menuText; - mutable bool bIconLoaded; // the menu icon is loaded - bool bDisabled; - bool bChecked; - }; - - std::vector m_Items; - std::vector m_Buttons; - CSettingsParser m_Parser; - - void ParseToolbar( void ); - void ParseToolbarItem( const wchar_t *name, StdToolbarItem &item ); - void SendShellTabCommand( int command ); - HMENU CreateDropMenu( const StdToolbarItem *pItem ); - HMENU CreateDropMenuRec( const StdToolbarItem *pItem, std::vector &modules, HMODULE hShell32 ); - void SendEmail( void ); - void SendToZip( void ); - void NewFolder( void ); - void ExecuteCommandFile( const wchar_t *pText ); - void ExecuteCustomCommand( const wchar_t *pCommand ); - void ViewByProperty( IFolderView2 *pView, const wchar_t *pProperty, bool bGroup ); - void UpdateBag( void ); - void UpdateFolderSettings( void ); - - static LRESULT CALLBACK ToolbarSubclassProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static HRESULT __stdcall BagWriteHook( IPropertyBag *pThis, LPCOLESTR pszPropName, VARIANT *pVar ); -}; - - -// CExplorerBand - -class ATL_NO_VTABLE CExplorerBand : - public CComObjectRootEx, - public CComCoClass, - public IObjectWithSiteImpl, - public IDeskBand, - public IDispEventImpl<1,CExplorerBand,&DIID_DWebBrowserEvents2,&LIBID_SHDocVw,1,1> -{ -public: - CExplorerBand( void ); - - DECLARE_REGISTRY_RESOURCEID(IDR_EXPLORERBAND) - - BEGIN_SINK_MAP( CExplorerBand ) - SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_NAVIGATECOMPLETE2, OnNavigateComplete) - SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_COMMANDSTATECHANGE, OnCommandStateChange) - SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_ONQUIT, OnQuit) - END_SINK_MAP() - - BEGIN_COM_MAP(CExplorerBand) - COM_INTERFACE_ENTRY( IOleWindow ) - COM_INTERFACE_ENTRY( IObjectWithSite ) - COM_INTERFACE_ENTRY_IID( IID_IDockingWindow, IDockingWindow ) - COM_INTERFACE_ENTRY_IID( IID_IDeskBand, IDeskBand ) - END_COM_MAP() - - - - DECLARE_PROTECT_FINAL_CONSTRUCT() - - HRESULT FinalConstruct() - { - return S_OK; - } - - void FinalRelease() - { - } - -public: - - // IDeskBand - STDMETHOD(GetBandInfo)( DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi ); - - // IObjectWithSite - STDMETHOD(SetSite)( IUnknown* pUnkSite ); - - // IOleWindow - STDMETHOD(GetWindow)( HWND* phwnd ); - STDMETHOD(ContextSensitiveHelp)( BOOL fEnterMode ); - - // IDockingWindow - STDMETHOD(CloseDW)( unsigned long dwReserved ); - STDMETHOD(ResizeBorderDW)( const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved ); - STDMETHOD(ShowDW)( BOOL fShow ); - - // DWebBrowserEvents2 - STDMETHOD(OnNavigateComplete)( IDispatch *pDisp, VARIANT *URL ); - STDMETHOD(OnCommandStateChange)( long Command, VARIANT_BOOL Enable ); - STDMETHOD(OnQuit)( void ); - -protected: - bool m_bSubclassRebar; // the rebar needs subclassing - bool m_bSubclassedRebar; // the rebar is subclassed - bool m_bBandNewLine; // our band is on a new line (has RBBS_BREAK style) - bool m_bHandleSetInfo; // mess with the RB_SETBANDINFO message - CBandWindow m_BandWindow; - CComPtr m_pWebBrowser; - HWND m_TopWindow; - - static LRESULT CALLBACK RebarSubclassProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static LRESULT CALLBACK ParentSubclassProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - - friend class CBandWindow; -}; - -OBJECT_ENTRY_AUTO(__uuidof(ExplorerBand), CExplorerBand) diff --git a/Src/ClassicExplorer/ExplorerBand.rgs b/Src/ClassicExplorer/ExplorerBand.rgs deleted file mode 100644 index 6cb18a3..0000000 --- a/Src/ClassicExplorer/ExplorerBand.rgs +++ /dev/null @@ -1,59 +0,0 @@ -HKCR -{ - ClassicExplorer.ExplorerBand.1 = s 'ExplorerBand Class' - { - CLSID = s '{553891B7-A0D5-4526-BE18-D3CE461D6310}' - } - ClassicExplorer.ExplorerBand = s 'ExplorerBand Class' - { - CLSID = s '{553891B7-A0D5-4526-BE18-D3CE461D6310}' - CurVer = s 'ClassicExplorer.ExplorerBand.1' - } - NoRemove CLSID - { - ForceRemove {553891B7-A0D5-4526-BE18-D3CE461D6310} = s 'Classic Explorer Bar' - { - ProgID = s 'ClassicExplorer.ExplorerBand.1' - VersionIndependentProgID = s 'ClassicExplorer.ExplorerBand' - ForceRemove 'Programmable' - InprocServer32 = s '%MODULE%' - { - val ThreadingModel = s 'Apartment' - } - 'TypeLib' = s '{BF8D124A-A4E0-402F-8152-4EF377E62586}' - } - } -} - -HKLM -{ - NoRemove Software - { - NoRemove Microsoft - { - NoRemove 'Internet Explorer' - { - NoRemove Toolbar - { - ForceRemove val {553891B7-A0D5-4526-BE18-D3CE461D6310} = b '' - } - } - NoRemove Windows - { - NoRemove CurrentVersion - { - NoRemove Policies - { - NoRemove Ext - { - NoRemove CLSID - { - ForceRemove val {553891B7-A0D5-4526-BE18-D3CE461D6310} = s '2' - } - } - } - } - } - } - } -} diff --git a/Src/ClassicExplorer/ExplorerL10N.ini b/Src/ClassicExplorer/ExplorerL10N.ini deleted file mode 100644 index 5676556..0000000 --- a/Src/ClassicExplorer/ExplorerL10N.ini +++ /dev/null @@ -1,2599 +0,0 @@ -; This file contains all localized text for Classic Explorer. There is one section per language. -; Every section contains text lines in the form of = . -; Which section is used depends on the current OS setting. If a key is missing from the language section -; it will be searched in the [default] section. In some cases more than one language can be used. -; For example a Japanese system may use English as a secondary language. In that case the search order -; will be [ja-JP] -> [en-US] -> [default]. -; -; ============================================================================= - - -[default] -Toolbar.Settings = Classic Explorer Settings - - -[ar-SA] - Arabic (Saudi Arabia) -Copy.Cancel = إلغاء الأمر -Copy.More = المزيد... -Copy.CopyHere = ن&سخ إلى هذا الموضع -Copy.MoveHere = ن&قل إلى هذا الموضع -Copy.Title = تأكيد استبدال الملف -Copy.Subtitle = يحتوي هذا المجلد على ملف باسم '%s'. -Copy.SubtitleRO = يحتوي هذا المجلد على ملف للقراءة فقط باسم '‎%s'. -Copy.SubtitleSys = يحتوي هذا المجلد مسبقاً على ملف نظام باسم '‎%s'. -Copy.Prompt1 = ‏‏هل تريد استبدال الملف الموجود -Copy.Prompt2 = بهذا؟ -Copy.Yes = &نعم -Copy.No = &لا -Copy.YesAll = نعم لل&كل -Folder.Title = تأكيد استبدال المجلد -Folder.Prompt = هل ما زلت تريد نقل المجلد أو نسخه؟ -Toolbar.GoUp = مستوى واحد لأعلى -Toolbar.Cut = قص -Toolbar.Copy = نسخ -Toolbar.Paste = لصق -Toolbar.PasteShortcut = لصق الاختصار -Toolbar.Delete = حذف -Toolbar.Email = إرسال العناصر المحددة بالبريد الإلكتروني -Toolbar.Properties = خصائص -Toolbar.NewFolder = مجلد جديد -Toolbar.ZipFolder = مجلد جديد مضغوط -Toolbar.ExtraLarge = رموز كبيرة جداً -Toolbar.Large = رموز كبيرة -Toolbar.Medium = رموز متوسطة -Toolbar.Small = رموز صغيرة -Toolbar.List = قائمة -Toolbar.Details = تفاصيل -Toolbar.Tiles = مربعات -Toolbar.Content = محتوى -Toolbar.Undo = تراجع -Toolbar.Redo = إعادة -Toolbar.Refresh = تحديث -Toolbar.Back = الخلف -Toolbar.Forward = الأمام -Toolbar.Stop = إيقاف -Toolbar.Rename = إعادة تسمية -Toolbar.SelectAll = تحديد الكل -Toolbar.CustomizeFolder = تخصيص هذا المجلد -Toolbar.MapDrive = تعيين محرك أقراص الشبكة -Toolbar.DisconnectDrive = قطع اتصال محرك أقراص الشبكة -Toolbar.NavigationPane = جزء التنقل -Toolbar.DetailsPane = جزء التفاصيل -Toolbar.PreviewPane = جزء المعاينة -Toolbar.CopyTo = نسخ إلى -Toolbar.MoveTo = نقل إلى -Toolbar.Deselect = بلا تحديد -Toolbar.InvertSelection = عكس التحديد -Toolbar.FolderOptions = خيارات المجلد -Toolbar.ShowHiddenFiles = الملفات والمجلدات المخفية -Toolbar.ShowSystemFiles = ملفات النظام -Toolbar.ShowExtensions = ملحقات أسماء الملفات -Status.FreeSpace = ‎%s (مساحة القرص الحرة: ‎%s) -Status.Item = عنصر %s -Status.Items = ‎‎%s عنصر/عناصر -Status.ItemSelected = %s عنصر محدد -Status.ItemsSelected = %s عنصر/عناصر محددة - - -[bg-BG] - Bulgarian (Bulgaria) -Copy.Cancel = Отказ -Copy.More = Още... -Copy.CopyHere = &Копирай тук -Copy.MoveHere = Пр&емести тук -Copy.Title = Потвърждаване на заместването на файл -Copy.Subtitle = Тази папка вече съдържа файл с име '%s'. -Copy.SubtitleRO = Тази папка вече съдържа файл само за четене с име '%s'. -Copy.SubtitleSys = Тази папка вече съдържа системен файл с име '%s'. -Copy.Prompt1 = Желаете ли да заместите съществуващия файл -Copy.Prompt2 = с този? -Copy.Yes = &Да -Copy.No = &Не -Copy.YesAll = "Да" за &всички -Folder.Title = Потвърждаване на заместването на папка -Folder.Prompt = Все още ли искате да преместите или копирате папката? -Toolbar.GoUp = Едно ниво нагоре -Toolbar.Cut = Изрежи -Toolbar.Copy = Копирай -Toolbar.Paste = Постави -Toolbar.PasteShortcut = Постави пряк път -Toolbar.Delete = Изтриване -Toolbar.Email = Изпрати избраните елементи по електронната поща -Toolbar.Properties = Свойства -Toolbar.NewFolder = Нова папка -Toolbar.ZipFolder = Нова компресирана със ZIP папка -Toolbar.ExtraLarge = Много големи икони -Toolbar.Large = Големи икони -Toolbar.Medium = Средни икони -Toolbar.Small = Малки икони -Toolbar.List = Списък -Toolbar.Details = Детайли -Toolbar.Tiles = Мозайка -Toolbar.Content = Съдържание -Toolbar.Undo = Отмени -Toolbar.Redo = Върни -Toolbar.Refresh = Обнови -Toolbar.Back = Назад -Toolbar.Forward = Напред -Toolbar.Stop = Спри -Toolbar.Rename = Преименуване -Toolbar.SelectAll = Избери всички -Toolbar.CustomizeFolder = Персонализиране на тази папка -Toolbar.MapDrive = Назначаване на мрежово устройство -Toolbar.DisconnectDrive = Изключване на мрежово устройство -Toolbar.NavigationPane = Навигационен екран -Toolbar.DetailsPane = Екран за подробни данни -Toolbar.PreviewPane = Прозорец за визуализация -Toolbar.CopyTo = Копирай в -Toolbar.MoveTo = Премести в -Toolbar.Deselect = Не избирай нищо -Toolbar.InvertSelection = Обърни селекцията -Toolbar.FolderOptions = Опции за папката -Toolbar.ShowHiddenFiles = Скрити файлове и папки -Toolbar.ShowSystemFiles = Системни файлове -Toolbar.ShowExtensions = Разширения на имената на файлове -Status.FreeSpace = %s (Свободно място на диска: %s) -Status.Item = %s елемент -Status.Items = %s елемента -Status.ItemSelected = %s избран елемент -Status.ItemsSelected = %s избрани елемента - - -[ca-ES] - Catalan (Catalan) -Copy.Cancel = Cancel·lar -Copy.More = Més... -Copy.CopyHere = &Copiar aquí -Copy.MoveHere = &Moure aquí -Copy.Title = Confirmar la substitució de l'arxiu -Copy.Subtitle = Aquesta carpeta ja conté un arxiu amb el nom "%s". -Copy.SubtitleRO = Aquesta carpeta ja conté un arxiu de sols lectura amb el nom "%s". -Copy.SubtitleSys = Aquesta carpeta ja conté un arxiu de sistema amb el nom "%s". -Copy.Prompt1 = Desitja substituir l'arxiu existent -Copy.Prompt2 = per aquest altre? -Copy.Yes = &Sí -Copy.No = &No -Copy.YesAll = Sí a &tot -Folder.Title = Confirmar la substitució de carpetes -Folder.Prompt = Desitja moure o copiar la carpeta de totes maneres? -Toolbar.GoUp = Pujar un nivell -Toolbar.Cut = Retallar -Toolbar.Copy = Copiar -Toolbar.Paste = Enganxar -Toolbar.PasteShortcut = Enganxar accés directe -Toolbar.Delete = Suprimeix -Toolbar.Email = Enviar per correu electrònic els elements següents -Toolbar.Properties = Propietats -Toolbar.NewFolder = Nova carpeta -Toolbar.ZipFolder = Carpeta comprimida (en zip) nova -Toolbar.ExtraLarge = Icones molt grans -Toolbar.Large = Icones grans -Toolbar.Medium = Icones mitjanes -Toolbar.Small = Icones petites -Toolbar.List = Llista -Toolbar.Details = Detalls -Toolbar.Tiles = Mosaics -Toolbar.Content = Contingut -Toolbar.Undo = Desfer -Toolbar.Redo = Refer -Toolbar.Refresh = Actualitzar -Toolbar.Back = Enrera -Toolbar.Forward = Endavant -Toolbar.Stop = Aturar -Toolbar.Rename = Cambiar nom -Toolbar.SelectAll = Seleccionar tot -Toolbar.CustomizeFolder = Personalitzar aquesta carpeta -Toolbar.MapDrive = Conectar a unitat de xarxa -Toolbar.DisconnectDrive = Desconectar unitat de xarxa -Toolbar.NavigationPane = Panell de navegació -Toolbar.DetailsPane = Panell de detalls -Toolbar.PreviewPane = Panell de vista prèvia -Toolbar.CopyTo = Copia a -Toolbar.MoveTo = Desplaça a -Toolbar.Deselect = No en seleccionis cap -Toolbar.InvertSelection = Inverteix la selecció -Toolbar.FolderOptions = Opcions de carpeta -Toolbar.ShowHiddenFiles = Fitxers i carpetes amagats -Toolbar.ShowSystemFiles = Fitxers del sistema -Toolbar.ShowExtensions = Extensions del nom de fitxer -Toolbar.Settings = Ajustaments del Classic Explorer -Status.FreeSpace = %s (espai disponible en disc: %s) -Status.Item = %s element -Status.Items = %s elements -Status.ItemSelected = %s element seleccionat -Status.ItemsSelected = %s elements seleccionats - - -[cs-CZ] - Czech (Czech Republic) -Copy.Cancel = Storno -Copy.More = Další... -Copy.CopyHere = &Kopírovat sem -Copy.MoveHere = &Přesunout sem -Copy.Title = Potvrdit nahrazení souboru -Copy.Subtitle = Tato složka již obsahuje soubor s názvem %s. -Copy.SubtitleRO = Tato složka již obsahuje soubor jen pro čtení s názvem %s. -Copy.SubtitleSys = Tato složka již obsahuje systémový soubor s názvem %s. -Copy.Prompt1 = Chcete nahradit stávající soubor -Copy.Prompt2 = tímto souborem? -Copy.Yes = &Ano -Copy.No = &Ne -Copy.YesAll = Ano vš&em -Folder.Title = Potvrdit nahrazení složky -Folder.Prompt = Opravdu chcete přesunout nebo zkopírovat tuto složku? -Toolbar.GoUp = O úroveň výš -Toolbar.Cut = Vyjmout -Toolbar.Copy = Kopírovat -Toolbar.Paste = Vložit -Toolbar.PasteShortcut = Vložit zástupce -Toolbar.Delete = Odstranit -Toolbar.Email = Odešle vybrané položky e-mailem -Toolbar.Properties = Vlastnosti -Toolbar.NewFolder = Nová složka -Toolbar.ZipFolder = Nová komprimovaná složka (metoda ZIP) -Toolbar.ExtraLarge = Největší ikony -Toolbar.Large = Velké ikony -Toolbar.Medium = Střední ikony -Toolbar.Small = Malé ikony -Toolbar.List = Seznam -Toolbar.Details = Podrobnosti -Toolbar.Tiles = Dlaždice -Toolbar.Content = Obsah -Toolbar.Undo = Zpět -Toolbar.Redo = Znovu -Toolbar.Refresh = Aktualizovat -Toolbar.Back = Zpět -Toolbar.Forward = Vpřed -Toolbar.Stop = Zastavit -Toolbar.Rename = Přejmenovat -Toolbar.SelectAll = Vybrat vše -Toolbar.CustomizeFolder = Vlastní nastavení této složky -Toolbar.MapDrive = Připojit síťovou jednotku -Toolbar.DisconnectDrive = Odpojit síťovou jednotku -Toolbar.NavigationPane = Navigační podokno -Toolbar.DetailsPane = Podokno podrobností -Toolbar.PreviewPane = Podokno náhledu -Toolbar.CopyTo = Kopírovat do -Toolbar.MoveTo = Přesunout do -Toolbar.Deselect = Zrušit výběr -Toolbar.InvertSelection = Invertovat výběr -Toolbar.FolderOptions = Možnosti složky -Toolbar.ShowHiddenFiles = Skryté soubory a složky -Toolbar.ShowSystemFiles = Systémové soubory -Toolbar.ShowExtensions = Přípony názvů souborů -Status.FreeSpace = %s (volné místo na disku: %s) -Status.Item = %s položka -Status.Items = Počet položek: %s -Status.ItemSelected = %s vybraná položka -Status.ItemsSelected = Vybrané položky: %s - - -[da-DK] - Danish (Denmark) -Copy.Cancel = Annuller -Copy.More = Flere... -Copy.CopyHere = &Kopier hertil -Copy.MoveHere = &Flyt hertil -Copy.Title = Bekræft erstatning af fil -Copy.Subtitle = Denne mappe indeholder allerede en fil med navnet '%s'. -Copy.SubtitleRO = Denne mappe indeholder allerede en skrivebeskyttet fil med navnet '%s'. -Copy.SubtitleSys = Denne mappe indeholder allerede en systemfil med navnet '%s'. -Copy.Prompt1 = Vil du erstatte den eksisterende fil -Copy.Prompt2 = med denne fil? -Copy.Yes = &Ja -Copy.No = &Nej -Copy.YesAll = J&a til alle -Folder.Title = Bekræft erstatning af mappe -Folder.Prompt = Vil du flytte mappen alligevel? -Toolbar.GoUp = Et niveau op -Toolbar.Cut = Klip -Toolbar.Copy = Kopier -Toolbar.Paste = Sæt ind -Toolbar.PasteShortcut = Indsæt genvej -Toolbar.Delete = Slet -Toolbar.Email = Send de markerede elementer med e-mail -Toolbar.Properties = Egenskaber -Toolbar.NewFolder = Ny mappe -Toolbar.ZipFolder = Ny ZIP-komprimeret mappe -Toolbar.ExtraLarge = Ekstra store ikoner -Toolbar.Large = Store ikoner -Toolbar.Medium = Mellemstore ikoner -Toolbar.Small = Små ikoner -Toolbar.List = Oversigt -Toolbar.Details = Detaljer -Toolbar.Tiles = Fliser -Toolbar.Content = Indhold -Toolbar.Undo = Fortryd -Toolbar.Redo = Annuller Fortryd -Toolbar.Refresh = Opdater -Toolbar.Back = Tilbage -Toolbar.Forward = Fremad -Toolbar.Stop = Stop -Toolbar.Rename = Omdøb -Toolbar.SelectAll = Marker alt -Toolbar.CustomizeFolder = Tilpas denne mappe -Toolbar.MapDrive = Tilknyt netværksdrev -Toolbar.DisconnectDrive = Afbryd forbindelsen til et netværksdrev -Toolbar.NavigationPane = Navigationsrude -Toolbar.DetailsPane = Detaljerude -Toolbar.PreviewPane = Indholdsrude -Toolbar.CopyTo = Kopiér til -Toolbar.MoveTo = Flyt til -Toolbar.Deselect = Vælg ingen -Toolbar.InvertSelection = Inverter markeringen -Toolbar.FolderOptions = Mappeindstillinger -Toolbar.ShowHiddenFiles = Skjulte filer og mapper -Toolbar.ShowSystemFiles = Systemfiler -Toolbar.ShowExtensions = Filtypenavne -Status.FreeSpace = %s (ledig diskplads: %s) -Status.Item = %s element -Status.Items = %s elementer -Status.ItemSelected = %s markeret element -Status.ItemsSelected = %s markerede elementer - - -[de-DE] - German (Germany) -Copy.Cancel = Abbrechen -Copy.More = Weitere... -Copy.CopyHere = Hierher &kopieren -Copy.MoveHere = Hierher &verschieben -Copy.Title = Ersetzen von Dateien bestätigen -Copy.Subtitle = Dieser Ordner enthält bereits eine Datei "%s". -Copy.SubtitleRO = Der Ordner enthält bereits eine schreibgeschützte Datei "%s". -Copy.SubtitleSys = Der Ordner enthält bereits eine Systemdatei "%s". -Copy.Prompt1 = Möchten Sie die existierende Datei -Copy.Prompt2 = mit dieser ersetzen? -Copy.Yes = &Ja -Copy.No = &Nein -Copy.YesAll = Ja, &alle -Folder.Title = Ersetzen von Ordnern bestätigen -Folder.Prompt = Soll der Ordner trotzdem verschoben bzw. kopiert werden? -Toolbar.GoUp = Eine Ebene nach oben -Toolbar.Cut = Ausschneiden -Toolbar.Copy = Kopieren -Toolbar.Paste = Einfügen -Toolbar.PasteShortcut = Verknüpfung einfügen -Toolbar.Delete = Löschen -Toolbar.Email = Ausgewählte Elemente in E-Mail senden -Toolbar.Properties = Eigenschaften -Toolbar.NewFolder = Neuer Ordner -Toolbar.ZipFolder = Neuer ZIP-komprimierter Ordner -Toolbar.ExtraLarge = Extra große Symbole -Toolbar.Large = Große Symbole -Toolbar.Medium = Mittelgroße Symbole -Toolbar.Small = Kleine Symbole -Toolbar.List = Liste -Toolbar.Details = Details -Toolbar.Tiles = Kacheln -Toolbar.Content = Inhalt -Toolbar.Undo = Rückgängig -Toolbar.Redo = Wiederholen -Toolbar.Refresh = Aktualisieren -Toolbar.Back = Zurück -Toolbar.Forward = Vorwärts -Toolbar.Stop = Beenden -Toolbar.Rename = Umbenennen -Toolbar.SelectAll = Alles auswählen -Toolbar.CustomizeFolder = Ordner anpassen -Toolbar.MapDrive = Netzlaufwerk verbinden -Toolbar.DisconnectDrive = Netzlaufwerk trennen -Toolbar.NavigationPane = Navigationsbereich -Toolbar.DetailsPane = Detailbereich -Toolbar.PreviewPane = Vorschaufenster -Toolbar.CopyTo = Kopieren nach -Toolbar.MoveTo = Verschieben nach -Toolbar.Deselect = Nichts auswählen -Toolbar.InvertSelection = Auswahl umkehren -Toolbar.FolderOptions = Ordneroptionen -Toolbar.ShowHiddenFiles = Versteckte Dateien und Ordner -Toolbar.ShowSystemFiles = Systemdateien -Toolbar.ShowExtensions = Dateinamenerweiterungen -Status.FreeSpace = %s (Freier Speicherplatz: %s) -Status.Item = %s Element -Status.Items = %s Elemente -Status.ItemSelected = %s Element ausgewählt -Status.ItemsSelected = %s Elemente ausgewählt - - -[el-GR] - Greek (Greece) -Copy.Cancel = Άκυρο -Copy.More = Περισσότερα... -Copy.CopyHere = &Αντιγραφή εδώ -Copy.MoveHere = &Μετακίνηση εδώ -Copy.Title = Επιβεβαίωση αντικατάστασης αρχείου -Copy.Subtitle = Αυτός ο φάκελος περιέχει ήδη ένα αρχείο με όνομα "%s". -Copy.SubtitleRO = Αυτός ο φάκελος περιέχει ήδη ένα αρχείο μόνο για ανάγνωση με όνομα "%s". -Copy.SubtitleSys = Αυτός ο φάκελος περιέχει ήδη ένα αρχείο συστήματος με όνομα "%s". -Copy.Prompt1 = Θέλετε να αντικατασταθεί το υπάρχον αρχείο -Copy.Prompt2 = με αυτό το αρχείο; -Copy.Yes = &Ναι -Copy.No = Ό&χι -Copy.YesAll = Ναι σε ό&λα -Folder.Title = Επιβεβαίωση αντικατάστασης φακέλου -Folder.Prompt = Είστε βέβαιοι ότι θέλετε να μετακινηθεί ή να αντιγραφεί ο φάκελος; -Toolbar.GoUp = Ένα επίπεδο επάνω -Toolbar.Cut = Αποκοπή -Toolbar.Copy = Αντιγραφή -Toolbar.Paste = Επικόλληση -Toolbar.PasteShortcut = Επικόλληση συντόμευσης -Toolbar.Delete = Διαγραφή -Toolbar.Email = Ηλεκτρονική ταχυδρόμηση των επιλεγμένων αντικειμένων -Toolbar.Properties = Ιδιότητες -Toolbar.NewFolder = Νέος φάκελος -Toolbar.ZipFolder = Νέος συμπιεσμένος (μορφή zip) φάκελος -Toolbar.ExtraLarge = Πολύ μεγάλα εικονίδια -Toolbar.Large = Μεγάλα εικονίδια -Toolbar.Medium = Μεσαία εικονίδια -Toolbar.Small = Μικρά εικονίδια -Toolbar.List = Λίστα -Toolbar.Details = Λεπτομέρειες -Toolbar.Tiles = Τίτλοι -Toolbar.Content = Περιεχόμενο -Toolbar.Undo = Αναίρεση -Toolbar.Redo = Επανάληψη -Toolbar.Refresh = Ανανέωση -Toolbar.Back = Πίσω -Toolbar.Forward = Εμπρός -Toolbar.Stop = Τέλος -Toolbar.Rename = Μετονομασία -Toolbar.SelectAll = Επιλογή όλων -Toolbar.CustomizeFolder = Προσαρμογή φακέλου -Toolbar.MapDrive = Αντιστοίχιση δίσκου δικτύου -Toolbar.DisconnectDrive = Αποσύνδεση δίσκου δικτύου -Toolbar.NavigationPane = Παράθυρο περιήγησης -Toolbar.DetailsPane = Παράθυρο λεπτομερειών -Toolbar.PreviewPane = Παράθυρο προεπισκόπησης -Toolbar.CopyTo = Αντιγραφή σε -Toolbar.MoveTo = Μετακίνηση σε -Toolbar.Deselect = Καμία επιλογή -Toolbar.InvertSelection = Αναστροφή επιλογής -Toolbar.FolderOptions = Επιλογές φακέλων -Toolbar.ShowHiddenFiles = Κρυφά αρχεία και φάκελοι -Toolbar.ShowSystemFiles = Αρχεία συστήματος -Toolbar.ShowExtensions = Επεκτάσεις ονόματος αρχείων -Status.FreeSpace = %s (Ελεύθερος χώρος στο δίσκο: %s) -Status.Item = %s στοιχείο -Status.Items = %s στοιχεία -Status.ItemSelected = %s επιλεγμένο στοιχείο -Status.ItemsSelected = %s επιλεγμένα στοιχεία - - -[en-US] - English (United States) -Copy.Cancel = Cancel -Copy.More = More... -Copy.CopyHere = &Copy Here -Copy.MoveHere = &Move Here -Copy.Title = Confirm File Replacement -Copy.Subtitle = This folder already contains a file named '%s'. -Copy.SubtitleRO = This folder already contains a read-only file named '%s'. -Copy.SubtitleSys = This folder already contains a system file named '%s'. -Copy.Prompt1 = Would you like to replace the existing file -Copy.Prompt2 = with this one? -Copy.Yes = &Yes -Copy.No = &No -Copy.YesAll = Yes to &All -Folder.Title = Confirm Folder Replace -Folder.Prompt = Do you still want to move or copy the folder? -Toolbar.GoUp = Up One Level -Toolbar.Cut = Cut -Toolbar.Copy = Copy -Toolbar.Paste = Paste -Toolbar.PasteShortcut = Paste Shortcut -Toolbar.Delete = Delete -Toolbar.Email = E-mail the selected items -Toolbar.Properties = Properties -Toolbar.NewFolder = New Folder -Toolbar.ZipFolder = New Compressed (zipped) Folder -Toolbar.ExtraLarge = Extra Large Icons -Toolbar.Large = Large Icons -Toolbar.Medium = Medium Icons -Toolbar.Small = Small Icons -Toolbar.List = List -Toolbar.Details = Details -Toolbar.Tiles = Tiles -Toolbar.Content = Content -Toolbar.Undo = Undo -Toolbar.Redo = Redo -Toolbar.Refresh = Refresh -Toolbar.Back = Back -Toolbar.Forward = Forward -Toolbar.Stop = Stop -Toolbar.Rename = Rename -Toolbar.SelectAll = Select all -Toolbar.CustomizeFolder = Customize this folder -Toolbar.MapDrive = Map network drive -Toolbar.DisconnectDrive = Disconnect network drive -Toolbar.NavigationPane = Navigation pane -Toolbar.DetailsPane = Details pane -Toolbar.PreviewPane = Preview pane -Toolbar.CopyTo = Copy to -Toolbar.MoveTo = Move to -Toolbar.Deselect = Select none -Toolbar.InvertSelection = Invert selection -Toolbar.FolderOptions = Folder options -Toolbar.ShowHiddenFiles = Hidden files and folders -Toolbar.ShowSystemFiles = System files -Toolbar.ShowExtensions = File name extensions -Status.FreeSpace = %s (Disk free space: %s) -Status.Item = %s item -Status.Items = %s items -Status.ItemSelected = %s item selected -Status.ItemsSelected = %s items selected - - -[es-ES] - Spanish (Spain) -Copy.Cancel = Cancelar -Copy.More = Mas... -Copy.CopyHere = &Copiar aquí -Copy.MoveHere = &Mover aquí -Copy.Title = Confirmar el reemplazo de archivo -Copy.Subtitle = Esta carpeta ya contiene un archivo con el nombre "%s". -Copy.SubtitleRO = Esta carpeta ya contiene un archivo de sólo lectura con el nombre "%s". -Copy.SubtitleSys = Esta carpeta ya contiene un archivo de sistema con el nombre "%s". -Copy.Prompt1 = ¿Desea reemplazar el archivo existente -Copy.Prompt2 = por este otro? -Copy.Yes = &Sí -Copy.No = &No -Copy.YesAll = Sí a &todo -Folder.Title = Confirmar el reemplazo de carpetas -Folder.Prompt = ¿Desea mover o copiar la carpeta de todas formas? -Toolbar.GoUp = Subir un nivel -Toolbar.Cut = Cortar -Toolbar.Copy = Copiar -Toolbar.Paste = Pegar -Toolbar.PasteShortcut = Pegar acceso directo -Toolbar.Delete = Eliminar -Toolbar.Email = Enviar por correo electrónico los elementos siguientes -Toolbar.Properties = Propiedades -Toolbar.NewFolder = Nueva carpeta -Toolbar.ZipFolder = Nueva carpeta comprimida (en zip) -Toolbar.ExtraLarge = Iconos muy grandes -Toolbar.Large = Iconos grandes -Toolbar.Medium = Iconos medianos -Toolbar.Small = Iconos pequeños -Toolbar.List = Lista -Toolbar.Details = Detalles -Toolbar.Tiles = Mosaicos -Toolbar.Content = Contenido -Toolbar.Undo = Deshacer -Toolbar.Redo = Rehacer -Toolbar.Refresh = Actualizar -Toolbar.Back = Atrás -Toolbar.Forward = Adelante -Toolbar.Stop = Detener -Toolbar.Rename = Cambiar nombre -Toolbar.SelectAll = Seleccionar todo -Toolbar.CustomizeFolder = Personalizar esta carpeta -Toolbar.MapDrive = Conectar a unidad de red -Toolbar.DisconnectDrive = Desconectar unidad de red -Toolbar.NavigationPane = Panel de navegación -Toolbar.DetailsPane = Panel de detalles -Toolbar.PreviewPane = Panel de vista previa -Toolbar.CopyTo = Copiar a -Toolbar.MoveTo = Mover a -Toolbar.Deselect = No seleccionar ninguno -Toolbar.InvertSelection = Invertir selección -Toolbar.FolderOptions = Opciones de carpeta -Toolbar.ShowHiddenFiles = Archivos y carpetas ocultos -Toolbar.ShowSystemFiles = Archivos de sistema -Toolbar.ShowExtensions = Extensiones de nombre de archivo -Status.FreeSpace = %s (espacio disponible en disco: %s) -Status.Item = %s elemento -Status.Items = %s elementos -Status.ItemSelected = %s elemento seleccionado -Status.ItemsSelected = %s elementos seleccionados - - -[et-EE] - Estonian (Estonia) -Copy.Cancel = Loobu -Copy.More = Veel... -Copy.CopyHere = &Kopeeri siia -Copy.MoveHere = &Teisalda siia -Copy.Title = Kinnitage failiasendus -Copy.Subtitle = See kaust sisaldab juba faili nimega %s. -Copy.SubtitleRO = See kaust sisaldab juba kirjutuskaitstud faili nimega %s. -Copy.SubtitleSys = See kaust sisaldab juba süsteemifaili nimega %s. -Copy.Prompt1 = Kas soovite asendada olemasoleva faili -Copy.Prompt2 = sellega? -Copy.Yes = &Jah -Copy.No = &Ei -Copy.YesAll = &Kõigile jah -Folder.Title = Kinnitage kausta asendamine -Folder.Prompt = Kas soovite kausta ikkagi teisaldada või kopeerida? -Toolbar.GoUp = Taseme võrra üles -Toolbar.Cut = Lõika -Toolbar.Copy = Kopeeri -Toolbar.Paste = Kleebi -Toolbar.PasteShortcut = Kleebi otsetee -Toolbar.Delete = Kustuta -Toolbar.Email = Saada valitud üksused e-postiga -Toolbar.Properties = Atribuudid -Toolbar.NewFolder = Uus kaust -Toolbar.ZipFolder = Uus tihendatud (zip) kaust -Toolbar.ExtraLarge = Eriti suured ikoonid -Toolbar.Large = Suured ikoonid -Toolbar.Medium = Keskmise suurusega ikoonid -Toolbar.Small = Väikesed ikoonid -Toolbar.List = Loend -Toolbar.Details = Üksikasjad -Toolbar.Tiles = Paanid -Toolbar.Content = Sisu -Toolbar.Undo = Võta tagasi -Toolbar.Redo = Tee uuesti -Toolbar.Refresh = Värskenda -Toolbar.Back = Tagasi -Toolbar.Forward = Edasi -Toolbar.Stop = Lõpeta -Toolbar.Rename = Nimeta ümber -Toolbar.SelectAll = Vali kõik -Toolbar.CustomizeFolder = Kohanda seda kausta -Toolbar.MapDrive = Ühenda võrgudraiv -Toolbar.DisconnectDrive = Katkesta võrgudraivi ühendus -Toolbar.NavigationPane = Navigeerimispaan -Toolbar.DetailsPane = Üksikasjapaan -Toolbar.PreviewPane = Eelvaatepaan -Toolbar.CopyTo = Kopeeri asukohta -Toolbar.MoveTo = Teisalda asukohta -Toolbar.Deselect = Ära vali midagi -Toolbar.InvertSelection = Pööra valik -Toolbar.FolderOptions = Kaustasuvandid -Toolbar.ShowHiddenFiles = Peitfailid ja -kaustad -Toolbar.ShowSystemFiles = Süsteemifailid -Toolbar.ShowExtensions = Failinimede laiendid -Status.FreeSpace = %s (vaba kettaruumi: %s) -Status.Item = %s üksus -Status.Items = %s üksust -Status.ItemSelected = Valitud on %s üksus -Status.ItemsSelected = Valitud on %s üksust - - -[fa-IR] - Persian -Copy.Cancel = لغو -Copy.More = بیشتر... -Copy.CopyHere = &کپی به اینجا -Copy.MoveHere = &انتقال به اینجا -Copy.Title = تأیید جایگزینی پرونده -Copy.Subtitle = ‏‏در حال حاضر این پوشه حاوی پرونده‌ای به نام "%s" است. -Copy.SubtitleRO = ‏‏در حال حاضر این پوشه حاوی پرونده‌ای فقط خواندنی به نام "%s" است. -Copy.SubtitleSys = ‏‏در حال حاضر این پوشه حاوی پرونده‌ای سیستمی به نام "%s" است. -Copy.Prompt1 = آیا می‌خواهید پرونده‌ی موجود را جایگزین کنید -Copy.Prompt2 = با این یکی؟ -Copy.Yes = &بله -Copy.No = &خیر -Copy.YesAll = بله برای &همه -Folder.Title = تأیید جایگزینی پوشه -Folder.Prompt = آیا هنوز می‌خواهید پوشه را کپی یا منتقل کنید؟ -Toolbar.GoUp = یک سطح بالاتر -Toolbar.Cut = برش -Toolbar.Copy = کپی -Toolbar.Paste = جایگذاری -Toolbar.PasteShortcut = جایگذاری میانبر -Toolbar.Delete = حذف -Toolbar.Email = مورد انتخابی را با پست الکترونیکی بفرستید -Toolbar.Properties = خصوصیات -Toolbar.NewFolder = پوشه جدید -Toolbar.ZipFolder = پوشه فشرده ‏(زیپ شده)‏ جدید‫ -Toolbar.ExtraLarge = نمادهای خیلی بزرگ -Toolbar.Large = نمادهای بزرگ -Toolbar.Medium = نمادهای متوسط -Toolbar.Small = نمادهای کوچک -Toolbar.List = لیست -Toolbar.Details = جزئیات -Toolbar.Tiles = موزائیک‌ها -Toolbar.Content = محتوا -Toolbar.Undo = لغو عمل -Toolbar.Redo = انجام مجدد -Toolbar.Refresh = تازه‌کردن -Toolbar.Back = عقب -Toolbar.Forward = جلو -Toolbar.Stop = توقف -Toolbar.Rename = تغییر نام -Toolbar.SelectAll = انتخاب همه -Toolbar.CustomizeFolder = سفارشی کردن این پوشه -Toolbar.MapDrive = نگاشت درایو شبکه -Toolbar.DisconnectDrive = قطع اتصال درایو شبکه -Toolbar.NavigationPane = چارچوب پیمایش -Toolbar.DetailsPane = چارچوب جزئیات -Toolbar.PreviewPane = چارچوب پیش‌نمایش -Toolbar.CopyTo = ‏‏کپی در -Toolbar.MoveTo = انتقال به -Toolbar.Deselect = هیچکدام انتخاب نشود -Toolbar.InvertSelection = معکوس کردن انتخاب -Toolbar.FolderOptions = گزینه های پوشه -Toolbar.ShowHiddenFiles = پرونده و پوشه های پنهان -Toolbar.ShowSystemFiles = پرونده های سیستم -Toolbar.ShowExtensions = پسوندهای نام پرونده ها -Toolbar.Settings = تنظیمات کاوشگر کلاسیک -Status.FreeSpace = %s (فضای خالی دیسک: %s) -Status.Item = %s مورد -Status.Items = %s مورد -Status.ItemSelected = %s مورد انتخاب شده -Status.ItemsSelected = %s مورد انتخاب شده - - -[fi-FI] - Finnish (Finland) -Copy.Cancel = Peruuta -Copy.More = Lisää... -Copy.CopyHere = &Kopioi tähän -Copy.MoveHere = &Siirrä tähän -Copy.Title = Vahvista tiedoston korvaus -Copy.Subtitle = Tämä kansio sisältää jo tiedoston %s. -Copy.SubtitleRO = Tämä kansio sisältää jo vain luku -tiedoston %s. -Copy.SubtitleSys = Tämä kansio sisältää jo järjestelmätiedoston %s. -Copy.Prompt1 = Haluatko korvata tiedoston -Copy.Prompt2 = tällä tiedostolla? -Copy.Yes = &Kyllä -Copy.No = &Ei -Copy.YesAll = Kyllä k&aikkiin -Folder.Title = Vahvista kansion korvaus -Folder.Prompt = Haluatko korvata järjestelmässä jo olevan kansion tiedostot siirrettävän tai kopioitavan kansion samannimisillä tiedostoilla? -Toolbar.GoUp = Yksi taso ylöspäin -Toolbar.Cut = Leikkaa -Toolbar.Copy = Kopioi -Toolbar.Paste = Liitä -Toolbar.PasteShortcut = Liitä pikakuvake -Toolbar.Delete = Poista -Toolbar.Email = Lähetä valitut kohteet sähköpostilla -Toolbar.Properties = Ominaisuudet -Toolbar.NewFolder = Uusi kansio -Toolbar.ZipFolder = Uusi pakattu (zip) kansio -Toolbar.ExtraLarge = Suurimmat kuvakkeet -Toolbar.Large = Suuret kuvakkeet -Toolbar.Medium = Keskikokoiset kuvakkeet -Toolbar.Small = Pienet kuvakkeet -Toolbar.List = Luettelo -Toolbar.Details = Tiedot -Toolbar.Tiles = Kuvakkeet ja tiedot -Toolbar.Content = Sisältö -Toolbar.Undo = Kumoa -Toolbar.Redo = Tee uudelleen -Toolbar.Refresh = Päivitä -Toolbar.Back = Edellinen -Toolbar.Forward = Seuraava -Toolbar.Stop = Pysäytä -Toolbar.Rename = Nimeä uudelleen -Toolbar.SelectAll = Valitse kaikki -Toolbar.CustomizeFolder = Mukauta kansiota -Toolbar.MapDrive = Yhdistä verkkoasemaan -Toolbar.DisconnectDrive = Katkaise yhteys verkkoasemaan -Toolbar.NavigationPane = Siirtymisruutu -Toolbar.DetailsPane = Tiedot-ruutu -Toolbar.PreviewPane = Esikatseluruutu -Toolbar.CopyTo = Kopioi kohteeseen -Toolbar.MoveTo = Siirrä kohteeseen -Toolbar.Deselect = Poista valinnat -Toolbar.InvertSelection = Käänteinen valinta -Toolbar.FolderOptions = Kansion asetukset -Toolbar.ShowHiddenFiles = Piilotetut tiedostot ja kansiot -Toolbar.ShowSystemFiles = Järjestelmätiedostot -Toolbar.ShowExtensions = Tiedostotunnisteet -Status.FreeSpace = %s (levyn vapaa tila: %s) -Status.Item = %s kohde -Status.Items = %s kohdetta -Status.ItemSelected = %s kohde valittu -Status.ItemsSelected = %s kohdetta valittu - - -[fr-FR] - French (France) -Copy.Cancel = Annuler -Copy.More = Autres… -Copy.CopyHere = &Copier ici -Copy.MoveHere = &Déplacer ici -Copy.Title = Confirmer le remplacement du fichier -Copy.Subtitle = Ce dossier contient déjà un fichier nommé « %s ». -Copy.SubtitleRO = Ce dossier contient déjà un fichier en lecture seule nommé « %s ». -Copy.SubtitleSys = Ce dossier contient déjà un fichier système nommé « %s ». -Copy.Prompt1 = Faut-il remplacer le fichier existant -Copy.Prompt2 = par celui-ci ? -Copy.Yes = &Oui -Copy.No = &Non -Copy.YesAll = &Tous -Folder.Title = Confirmation du remplacement du dossier -Folder.Prompt = Faut-il vraiment déplacer ou copier le dossier ? -Toolbar.GoUp = Dossier parent -Toolbar.Cut = Couper -Toolbar.Copy = Copier -Toolbar.Paste = Coller -Toolbar.PasteShortcut = Coller le raccourci -Toolbar.Delete = Supprimer -Toolbar.Email = Envoyer les éléments sélectionnés par courrier électronique -Toolbar.Properties = Propriétés -Toolbar.NewFolder = Nouveau dossier -Toolbar.ZipFolder = Nouveau dossier compressé -Toolbar.ExtraLarge = Très grandes icônes -Toolbar.Large = Grandes icônes -Toolbar.Medium = Icônes moyennes -Toolbar.Small = Petites icônes -Toolbar.List = Liste -Toolbar.Details = Détails -Toolbar.Tiles = Mosaïques -Toolbar.Content = Contenu -Toolbar.Undo = Annuler -Toolbar.Redo = Rétablir -Toolbar.Refresh = Actualiser -Toolbar.Back = Précédent -Toolbar.Forward = Suivant -Toolbar.Stop = Arrêter -Toolbar.Rename = Renommer -Toolbar.SelectAll = Sélectionner tout -Toolbar.CustomizeFolder = Personnaliser ce dossier -Toolbar.MapDrive = Connecter un lecteur réseau -Toolbar.DisconnectDrive = Déconnecter un lecteur réseau -Toolbar.NavigationPane = Volet de navigation -Toolbar.DetailsPane = Volet des détails -Toolbar.PreviewPane = Volet de visualisation -Toolbar.CopyTo = Copier vers -Toolbar.MoveTo = Déplacer vers -Toolbar.Deselect = Aucun -Toolbar.InvertSelection = Inverser la sélection -Toolbar.FolderOptions = Options des dossiers -Toolbar.ShowHiddenFiles = Fichiers et dossiers cachés -Toolbar.ShowSystemFiles = Fichiers système -Toolbar.ShowExtensions = Extensions de noms de fichiers -Status.FreeSpace = %s (espace libre : %s) -Status.Item = %s élément -Status.Items = %s éléments -Status.ItemSelected = %s élément sélectionné -Status.ItemsSelected = %s éléments sélectionnés - - -[gd-GB] - Scottish Gaelic (United Kingdom) -Copy.Cancel = Sguir dheth -Copy.More = Barrachd... -Copy.CopyHere = &Cuir an lethbhreac an-seo -Copy.MoveHere = &Gluais an-seo -Copy.Title = Dearbh an cur an àite -Copy.Subtitle = Tha faidhle air a bheil "%s" sa phasgan seo mu thràth. -Copy.SubtitleRO = Tha faidhle air a bheil "%s" sa phasgan seo mu thràth a tha ri leughadh a-mhàin. -Copy.SubtitleSys = Tha faidhle siostaim air a bheil "%s" sa phasgan seo mu thràth. -Copy.Prompt1 = A bheil thu airson am faidhle seo a chur -Copy.Prompt2 = an àite an fhir làithrich? -Copy.Yes = &Tha -Copy.No = &Chan eil -Copy.YesAll = Th&a ris a h-uile -Folder.Title = Dearbh an cur an àite -Folder.Prompt = A bheil thu airson am pasgan a ghluasad fhathast no airson lethbhreac a dhèanamh dheth? -Toolbar.GoUp = Suas aon ìre -Toolbar.Cut = Gearr -Toolbar.Copy = Dàn lethbhreac -Toolbar.Paste = Cuir ann -Toolbar.PasteShortcut = Cuir ann an ath-ghoirid -Toolbar.Delete = Sguab às -Toolbar.Email = Cuir na thagh thu ann am post-d -Toolbar.Properties = Roghainnean -Toolbar.NewFolder = Pasgan ùr -Toolbar.ZipFolder = Pasgan dùmhlaichte (air a shiopadh) ùr -Toolbar.ExtraLarge = Ìomhaigheagan anabarrach mòr -Toolbar.Large = Ìomhaigheagan mòra -Toolbar.Medium = Ìomhaigheagan meadhanach -Toolbar.Small = Ìomhaigheagan beaga -Toolbar.List = Liosta -Toolbar.Details = Mion-fhiosrachadh -Toolbar.Tiles = Leacagan -Toolbar.Content = Susbaint -Toolbar.Undo = Neo-dhèan -Toolbar.Redo = Ath-dhèan -Toolbar.Refresh = Ath-nuadhaich -Toolbar.Back = Air ais -Toolbar.Forward = Air adhart -Toolbar.Stop = Sguir dheth -Toolbar.Rename = Thoir ainm eile air -Toolbar.SelectAll = Tagh na h-uile -Toolbar.CustomizeFolder = Gnàthaich am pasgan seo -Toolbar.MapDrive = Mapaich draibh an lìonraidh -Toolbar.DisconnectDrive = Dì-cheangail draibh an lìonraidh -Toolbar.NavigationPane = Leòsan na seòladaireachd -Toolbar.DetailsPane = Leòsan a' mhion-fhiosrachaidh -Toolbar.PreviewPane = Leòsan an ro-sheallaidh -Toolbar.CopyTo = Cuir lethbhreac gu -Toolbar.MoveTo = Gluais gu -Toolbar.Deselect = Na tagh gin -Toolbar.InvertSelection = Ais-thionndaidh an taghadh -Toolbar.FolderOptions = Roghainnean a' phasgain -Toolbar.ShowHiddenFiles = Faidhlichean is pasgain fhalaichte -Toolbar.ShowSystemFiles = Faidhlichean an t-siostaim -Toolbar.ShowExtensions = Leudachain ainmean nam faidhle -Status.FreeSpace = %s (Àire saor air an diosga: %s) -Status.Item = %s nì -Status.Items = %s nithean -Status.ItemSelected = %s nì air a thaghadh -Status.ItemsSelected = %s nithean air a thaghadh - - -[he-IL] - Hebrew (Israel) -Copy.Cancel = ביטול -Copy.More = עוד... -Copy.CopyHere = הע&תק לכאן -Copy.MoveHere = הע&בר לכאן -Copy.Title = אישור החלפת קובץ -Copy.Subtitle = תיקיה זו מכילה כבר קובץ בשם '‎‎%s‎‏'‏.‏ -Copy.SubtitleRO = תיקיה זו מכילה כבר קובץ המוגדר לקריאה בלבד בשם '‎‎%s‎‏'.‏ -Copy.SubtitleSys = תיקיה זו מכילה כבר קובץ מערכת בשם '‎‎%s‎'‏.‏ -Copy.Prompt1 = ‏‏האם ברצונך להחליף את הקובץ הקיים -Copy.Prompt2 = בקובץ זה? -Copy.Yes = &כן -Copy.No = &לא -Copy.YesAll = כ&ן לכל -Folder.Title = אישור החלפת תיקיה -Folder.Prompt = האם ברצונך להעביר או להעתיק את התיקיה בכל זאת? -Toolbar.GoUp = רמה אחת למעלה -Toolbar.Cut = גזור -Toolbar.Copy = העתק -Toolbar.Paste = הדבק -Toolbar.PasteShortcut = הדבק קיצור דרך -Toolbar.Delete = מחק -Toolbar.Email = שלח את הפריטים הנבחרים בדואר אלקטרוני -Toolbar.Properties = מאפיינים -Toolbar.NewFolder = תיקיה חדשה -Toolbar.ZipFolder = ‫תיקיה ‫דחוסה ‫(מכווצת) ‫חדשה -Toolbar.ExtraLarge = סמלים גדולים מאוד -Toolbar.Large = סמלים גדולים -Toolbar.Medium = סמלים בינוניים -Toolbar.Small = סמלים קטנים -Toolbar.List = רשימה -Toolbar.Details = פרטים -Toolbar.Tiles = משבצות -Toolbar.Content = תוכן -Toolbar.Undo = בטל -Toolbar.Redo = בצע שוב -Toolbar.Refresh = רענן -Toolbar.Back = אחורה -Toolbar.Forward = קדימה -Toolbar.Stop = עצור -Toolbar.Rename = שינוי שם -Toolbar.SelectAll = בחר הכל -Toolbar.CustomizeFolder = התאמה אישית של תיקיה זו -Toolbar.MapDrive = מיפוי כונן רשת -Toolbar.DisconnectDrive = ניתוק כונן רשת -Toolbar.NavigationPane = חלונית ניווט -Toolbar.DetailsPane = חלונית פרטים -Toolbar.PreviewPane = חלונית תצוגה מקדימה -Toolbar.CopyTo = העתק אל -Toolbar.MoveTo = העבר אל -Toolbar.Deselect = אל תבחר -Toolbar.InvertSelection = הפוך בחירה -Toolbar.FolderOptions = אפשרויות תיקיה -Toolbar.ShowHiddenFiles = קבצים ותיקיות מוסתרים -Toolbar.ShowSystemFiles = קבצי מערכת -Toolbar.ShowExtensions = סיומות שמות קבצים -Status.FreeSpace = %s (שטח פנוי בדיסק: %s) -Status.Item = ‏‏%s פריט -Status.Items = %s פריטים -Status.ItemSelected = פריט %s נבחר -Status.ItemsSelected = %s פריטים נבחרו - - -[hr-HR] - Croatian (Croatia) -Copy.DoForAll = Učini to za sljedećih -Copy.Cancel = Odustani -Copy.More = Više... -Copy.CopyHere = &Kopiraj ovdje -Copy.MoveHere = Pr&emjesti ovdje -Copy.Title = Potvrda zamjene datoteke -Copy.Subtitle = Ova mapa već sadrži datoteku naziva '%s'. -Copy.SubtitleRO = Ova mapa već sadrži datoteku samo za čitanje, nazvanu '%s'. -Copy.SubtitleSys = Ova mapa već sadrži sistemsku datoteku, nazvanu '%s'. -Copy.Prompt1 = Želite li zamijeniti postojeću datoteku -Copy.Prompt2 = s ovom? -Copy.Yes = &Da -Copy.No = &Ne -Copy.YesAll = Da za &sve -Folder.Title = Potvrda zamjene mape -Folder.Prompt = Želite li još uvijek premjestiti ili kopirati mapu? -Toolbar.GoUp = Jednu razinu gore -Toolbar.Cut = Izreži -Toolbar.Copy = Kopiraj -Toolbar.Paste = Zalijepi -Toolbar.PasteShortcut = Zalijepi prečac -Toolbar.Delete = Izbriši -Toolbar.Email = Odabrane stavke pošalji e-poštom -Toolbar.Properties = Svojstva -Toolbar.NewFolder = Nova mapa -Toolbar.ZipFolder = Nova komprimirana (zipana) mapa -Toolbar.ExtraLarge = Vrlo velike ikone -Toolbar.Large = Velike ikone -Toolbar.Medium = Srednje ikone -Toolbar.Small = Male ikone -Toolbar.List = Popis -Toolbar.Details = Detalji -Toolbar.Tiles = Pločice -Toolbar.Content = Sadržaj -Toolbar.Undo = Poništi -Toolbar.Redo = Ponovi -Toolbar.Refresh = Osvježi -Toolbar.Back = Natrag -Toolbar.Forward = Naprijed -Toolbar.Stop = Prekini -Toolbar.Rename = Preimenuj -Toolbar.SelectAll = Odaberi sve -Toolbar.CustomizeFolder = Prilagodi ovu mapu -Toolbar.MapDrive = Mapiranje mrežnog pogona -Toolbar.DisconnectDrive = Prekid veze s mrežnim pogonom -Toolbar.NavigationPane = Navigacijsko okno -Toolbar.DetailsPane = Okno s detaljima -Toolbar.PreviewPane = Okno pretpregleda -Toolbar.CopyTo = Kopiraj u -Toolbar.MoveTo = Premjesti u -Toolbar.Deselect = Bez odabira -Toolbar.InvertSelection = Obrni odabir -Toolbar.FolderOptions = Mogućnosti mapa -Toolbar.ShowHiddenFiles = Skrivene datoteke i mape -Toolbar.ShowSystemFiles = Sistemske datoteke -Toolbar.ShowExtensions = Datotečni nastavci -Status.FreeSpace = %s (slobodan prostor na disku: %s) -Status.Item = %s stavka -Status.Items = Broj stavki: %s -Status.ItemSelected = Odabrano stavki: %s -Status.ItemsSelected = Odabrano stavki: %s - - -[hu-HU] - Hungarian (Hungary) -Copy.Cancel = Mégse -Copy.More = Egyebek... -Copy.CopyHere = Más&olás ide -Copy.MoveHere = Át&helyezés ide -Copy.Title = Fájlcsere megerősítése -Copy.Subtitle = A mappa már tartalmaz egy '%s' nevű fájlt. -Copy.SubtitleRO = Ez a mappa már tartalmaz egy '%s' nevű írásvédett fájlt. -Copy.SubtitleSys = Ez a mappa már tartalmaz egy '%s' nevű rendszerfájlt. -Copy.Prompt1 = Kicseréli a létező fájlt -Copy.Prompt2 = ezzel? -Copy.Yes = &Igen -Copy.No = &Nem -Copy.YesAll = Igen, &mindet -Folder.Title = Mappacsere megerősítése -Folder.Prompt = Folytatja a műveletet? -Toolbar.GoUp = Egy szinttel feljebb -Toolbar.Cut = Kivágás -Toolbar.Copy = Másolás -Toolbar.Paste = Beillesztés -Toolbar.PasteShortcut = Parancsikon beillesztése -Toolbar.Delete = Törlés -Toolbar.Email = A kijelölt elemek elküldése e-mailben -Toolbar.Properties = Tulajdonságok -Toolbar.NewFolder = Új mappa -Toolbar.ZipFolder = Új tömörített mappa -Toolbar.ExtraLarge = Extra nagy ikonok -Toolbar.Large = Nagy ikonok -Toolbar.Medium = Közepes ikonok -Toolbar.Small = Kis ikonok -Toolbar.List = Lista -Toolbar.Details = Részletek -Toolbar.Tiles = Mozaik -Toolbar.Content = Tartalom -Toolbar.Undo = Visszavonás -Toolbar.Redo = Mégis -Toolbar.Refresh = Frissítés -Toolbar.Back = Vissza -Toolbar.Forward = Előre -Toolbar.Stop = Leállítás -Toolbar.Rename = Átnevezés -Toolbar.SelectAll = Az összes kijelölése -Toolbar.CustomizeFolder = Mappa testreszabása -Toolbar.MapDrive = Hálózati meghajtó csatlakoztatása -Toolbar.DisconnectDrive = Hálózati meghajtó leválasztása -Toolbar.NavigationPane = Navigációs ablak -Toolbar.DetailsPane = Részletek ablaktábla -Toolbar.PreviewPane = Betekintő ablaktábla -Toolbar.CopyTo = Másolási cél -Toolbar.MoveTo = Áthelyezési cél -Toolbar.Deselect = Kijelölés megszüntetése -Toolbar.InvertSelection = Kijelölés megfordítása -Toolbar.FolderOptions = Mappa beállításai -Toolbar.ShowHiddenFiles = Rejtett fájlok és mappák -Toolbar.ShowSystemFiles = Rendszerfájlok -Toolbar.ShowExtensions = Fájlnévkiterjesztések -Status.FreeSpace = %s (szabad lemezterület: %s) -Status.Item = %s elem -Status.Items = %s elem -Status.ItemSelected = %s kijelölt elem -Status.ItemsSelected = %s kijelölt elem - - -[is-IS] - Icelandic (Iceland) -Toolbar.Settings = Classic Explorer stillingar -Copy.Cancel = Hætta við -Copy.More = Meira... -Copy.CopyHere = &Afrita hingað -Copy.MoveHere = &Færa hingað -Copy.Title = Skipta út skrá -Copy.Subtitle = Endastaðurinn inniheldur þegar skrá með heitinu '%s'. -Copy.SubtitleRO = Endastaðurinn inniheldur þegar skrifvarða skrá með heitinu '%s'. -Copy.SubtitleSys = Endastaðurinn inniheldur þegar stýrikerfisskrá með heitinu '%s'. -Copy.Prompt1 = Viltu skipta út skránni á endastaðnum -Copy.Prompt2 = fyrir þessa skrá? -Copy.Yes = &Já -Copy.No = &Nei -Copy.YesAll = Já við &öllu -Folder.Title = Skipta út möppu -Folder.Prompt = Ertu viss um að þú viljir færa eða afrita möppuna? -Toolbar.GoUp = Upp um eitt þrep -Toolbar.Cut = Klippa -Toolbar.Copy = Afrita -Toolbar.Paste = Líma -Toolbar.PasteShortcut = Líma flýtileið -Toolbar.Delete = Eyða -Toolbar.Email = Senda valin atriði með tölvupósti -Toolbar.Properties = Eiginleikar -Toolbar.NewFolder = Ný mappa -Toolbar.ZipFolder = Ný þjöppuð (zip-þjöppuð) mappa -Toolbar.ExtraLarge = Mjög stór tákn -Toolbar.Large = Stór tákn -Toolbar.Medium = Meðalstór tákn -Toolbar.Small = Lítil tákn -Toolbar.List = Listi -Toolbar.Details = Upplýsingar -Toolbar.Tiles = Reitir -Toolbar.Content = Efni -Toolbar.Undo = Afturkalla -Toolbar.Redo = Endurgera -Toolbar.Refresh = Endurhlaða -Toolbar.Back = Til baka -Toolbar.Forward = Áfram -Toolbar.Stop = Stöðva -Toolbar.Rename = Endurnefna -Toolbar.SelectAll = Velja allt -Toolbar.CustomizeFolder = Sérstilla þessa möppu -Toolbar.MapDrive = Tengja netdrif -Toolbar.DisconnectDrive = Aftengja netdrif -Toolbar.NavigationPane = Yfirlitssvæði -Toolbar.DetailsPane = Upplýsingasvæði -Toolbar.PreviewPane = Forskoðunarsvæði -Toolbar.CopyTo = Afrita til -Toolbar.MoveTo = Færa til -Toolbar.Deselect = Velja ekkert -Toolbar.InvertSelection = Umsnúa vali -Toolbar.FolderOptions = Möppuvalkostir -Toolbar.ShowHiddenFiles = Faldar skrár og möppur -Toolbar.ShowSystemFiles = Kerfisskrár -Toolbar.ShowExtensions = Skráarendingar -Status.FreeSpace = %s (laust pláss: %s) -Status.Item = %s atriði -Status.Items = %s atriði -Status.ItemSelected = %s atriði valin -Status.ItemsSelected = %s atriði valin - - -[it-IT] - Italian (Italy) -Copy.Cancel = Annulla -Copy.More = Altro... -Copy.CopyHere = &Copia qui -Copy.MoveHere = &Sposta qui -Copy.Title = Conferma sostituzione file -Copy.Subtitle = La cartella contiene già un file di nome "%s". -Copy.SubtitleRO = La cartella contiene già un file di sola lettura di nome "%s". -Copy.SubtitleSys = La cartella contiene già un file di sistema di nome "%s". -Copy.Prompt1 = Sostituire il file esistente -Copy.Prompt2 = con questo file? -Copy.Yes = &Sì -Copy.No = &No -Copy.YesAll = Sì t&utti -Folder.Title = Conferma sostituzione cartella -Folder.Prompt = Continuare? -Toolbar.GoUp = Livello superiore -Toolbar.Cut = Taglia -Toolbar.Copy = Copia -Toolbar.Paste = Incolla -Toolbar.PasteShortcut = Incolla collegamento -Toolbar.Delete = Elimina -Toolbar.Email = Invia per posta elettronica gli elementi selezionati -Toolbar.Properties = Proprietà -Toolbar.NewFolder = Nuova cartella -Toolbar.ZipFolder = Nuova cartella compressa -Toolbar.ExtraLarge = Icone molto grandi -Toolbar.Large = Icone grandi -Toolbar.Medium = Icone medie -Toolbar.Small = Icone piccole -Toolbar.List = Elenco -Toolbar.Details = Dettagli -Toolbar.Tiles = Titoli -Toolbar.Content = Contenuto -Toolbar.Undo = Annulla -Toolbar.Redo = Ripeti -Toolbar.Refresh = Aggiorna -Toolbar.Back = Indietro -Toolbar.Forward = Avanti -Toolbar.Stop = Termina -Toolbar.Rename = Rinomina -Toolbar.SelectAll = Seleziona tutto -Toolbar.CustomizeFolder = Personalizza cartella -Toolbar.MapDrive = Connetti unità di rete -Toolbar.DisconnectDrive = Disconnetti unità di rete -Toolbar.NavigationPane = Riquadro di spostamento -Toolbar.DetailsPane = Riquadro dettagli -Toolbar.PreviewPane = Riquadro di anteprima -Toolbar.CopyTo = Copia in -Toolbar.MoveTo = Sposta in -Toolbar.Deselect = Deseleziona tutto -Toolbar.InvertSelection = Inverti selezione -Toolbar.FolderOptions = Opzioni cartella -Toolbar.ShowHiddenFiles = Cartelle e file nascosti -Toolbar.ShowSystemFiles = File di sistema -Toolbar.ShowExtensions = Estensioni nomi file -Status.FreeSpace = %s (Spazio disponibile: %s) -Status.Item = %s elemento -Status.Items = Elementi: %s -Status.ItemSelected = %s elemento selezionato -Status.ItemsSelected = %s elementi selezionati - - -[ja-JP] - Japanese (Japan) -Copy.Cancel = キャンセル -Copy.More = その他... -Copy.CopyHere = ここにコピー(&C) -Copy.MoveHere = ここに移動(&M) -Copy.Title = ファイルの上書きの確認 -Copy.Subtitle = このフォルダーには既に '%s' ファイルが存在します。 -Copy.SubtitleRO = このフォルダーには既に読み取り専用ファイル '%s' が含まれています。 -Copy.SubtitleSys = このフォルダーには既にシステム ファイル '%s' が含まれています。 -Copy.Prompt1 = 現在のファイル -Copy.Prompt2 = を次の新しいファイルで置き換えますか? -Copy.Yes = はい(&Y) -Copy.No = いいえ(&N) -Copy.YesAll = すべて上書き(&A) -Folder.Title = フォルダーの上書きの確認 -Folder.Prompt = フォルダーを移動またはコピーしますか? -Toolbar.GoUp = 1 つ上のフォルダーへ -Toolbar.Cut = 切り取り -Toolbar.Copy = コピー -Toolbar.Paste = 貼り付け -Toolbar.PasteShortcut = ショートカットの貼り付け -Toolbar.Delete = 削除 -Toolbar.Email = 選択した項目を電子メールで送信する -Toolbar.Properties = プロパティ -Toolbar.NewFolder = 新しいフォルダー -Toolbar.ZipFolder = 新しい圧縮された (ZIP) フォルダー -Toolbar.ExtraLarge = 特大アイコン -Toolbar.Large = 大アイコン -Toolbar.Medium = 中アイコン -Toolbar.Small = 小アイコン -Toolbar.List = 一覧 -Toolbar.Details = 詳細 -Toolbar.Tiles = 並べて表示 -Toolbar.Content = コンテンツ -Toolbar.Undo = 元に戻す -Toolbar.Redo = やり直し -Toolbar.Refresh = 最新の情報に更新 -Toolbar.Back = 戻る -Toolbar.Forward = 進む -Toolbar.Stop = 中止 -Toolbar.Rename = 名前の変更 -Toolbar.SelectAll = すべて選択 -Toolbar.CustomizeFolder = このフォルダーのカスタマイズ -Toolbar.MapDrive = ネットワーク ドライブの割り当て -Toolbar.DisconnectDrive = ネットワーク ドライブの切断 -Toolbar.NavigationPane = ナビゲーション ウィンドウ -Toolbar.DetailsPane = 詳細ウィンドウ -Toolbar.PreviewPane = プレビュー ウィンドウ -Toolbar.CopyTo = コピー先​​ -Toolbar.MoveTo = 移動先​​ -Toolbar.Deselect = 選択解除 -Toolbar.InvertSelection = 選択の切り替え -Toolbar.FolderOptions = フォルダー オプション -Toolbar.ShowHiddenFiles = ファイルとフォルダーの表示 -Toolbar.ShowSystemFiles = システム ファイル -Toolbar.ShowExtensions = ファイル名拡張子 -Status.FreeSpace = %s (空きディスク領域: %s) -Status.Item = %s 個 -Status.Items = %s 個の項目 -Status.ItemSelected = %s 個の項目を選択 -Status.ItemsSelected = %s 個の項目を選択 - - -[ko-KR] - Korean (Korea) -Copy.Cancel = 취소 -Copy.More = 자세히... -Copy.CopyHere = 여기에 복사(&C) -Copy.MoveHere = 여기로 이동(&M) -Copy.Title = 파일 바꾸기 확인 -Copy.Subtitle = 이 폴더에 이미 '%s' 파일이 있습니다. -Copy.SubtitleRO = 이 폴더에 이미 '%s' 읽기 전용 파일이 있습니다. -Copy.SubtitleSys = 이 폴더에 이미 '%s' 시스템 파일이 있습니다. -Copy.Prompt1 = 기존 파일을 -Copy.Prompt2 = 이 파일로 바꾸시겠습니까? -Copy.Yes = 예(&Y) -Copy.No = 아니오(&N) -Copy.YesAll = 모두 예(&A) -Folder.Title = 폴더 바꾸기 확인 -Folder.Prompt = 폴더를 이동하거나 복사하시겠습니까? -Toolbar.GoUp = 한 수준 위로 -Toolbar.Cut = 잘라내기 -Toolbar.Copy = 복사 -Toolbar.Paste = 붙여넣기 -Toolbar.PasteShortcut = 바로 가기 붙여넣기 -Toolbar.Delete = 삭제 -Toolbar.Email = 항목을 전자 메일로 보내기 -Toolbar.Properties = 속성 -Toolbar.NewFolder = 새 폴더 -Toolbar.ZipFolder = 새 압축(ZIP) 폴더 -Toolbar.ExtraLarge = 아주 큰 아이콘 -Toolbar.Large = 큰 아이콘 -Toolbar.Medium = 보통 아이콘 -Toolbar.Small = 작은 아이콘 -Toolbar.List = 목록 -Toolbar.Details = 자세히 -Toolbar.Tiles = 나란히 보기 -Toolbar.Content = 내용 -Toolbar.Undo = 실행 취소 -Toolbar.Redo = 다시 실행 -Toolbar.Refresh = 새로 고침 -Toolbar.Back = 뒤로 -Toolbar.Forward = 앞으로 -Toolbar.Stop = 중지 -Toolbar.Rename = 이름 바꾸기 -Toolbar.SelectAll = 모두 선택 -Toolbar.CustomizeFolder = 현재 폴더 사용자 지정 -Toolbar.MapDrive = 네트워크 드라이브 연결 -Toolbar.DisconnectDrive = 네트워크 드라이브 연결 끊기 -Toolbar.NavigationPane = 탐색 창 -Toolbar.DetailsPane = 세부 정보 창 -Toolbar.PreviewPane = 미리 보기 창 -Toolbar.CopyTo = 복사 위치 -Toolbar.MoveTo = 이동 위치 -Toolbar.Deselect = 선택 안 함 -Toolbar.InvertSelection = 선택 영역 반전 -Toolbar.FolderOptions = 폴더 옵션 -Toolbar.ShowHiddenFiles = 숨김 파일 및 폴더 -Toolbar.ShowSystemFiles = 시스템 파일 -Toolbar.ShowExtensions = 파일 확장명 -Status.FreeSpace = %s (빈 디스크 공간: %s) -Status.Item = %s 항목 -Status.Items = %s 항목 -Status.ItemSelected = %s개 항목을 선택했습니다. -Status.ItemsSelected = %s개 항목을 선택했습니다. - - -[lt-LT] - Lithuanian (Lithuania) -Copy.Cancel = Atšaukti -Copy.More = Daugiau... -Copy.CopyHere = &Kopijuoti čia -Copy.MoveHere = &Perkelti čia -Copy.Title = Patvirtinti failo pakeitimą -Copy.Subtitle = Šiame aplanke jau yra failas, pavadintas '%s'. -Copy.SubtitleRO = Aplanke jau yra failas, skirtas tik skaityti, pavadintas '%s'. -Copy.SubtitleSys = Aplanke jau yra sistemos failas, pavadintas '%s'. -Copy.Prompt1 = Ar pakeisti esamą failą -Copy.Prompt2 = šiuo? -Copy.Yes = &Taip -Copy.No = &Ne -Copy.YesAll = Taip &viskam -Folder.Title = Patvirtinti aplanko pakeitimą -Folder.Prompt = Ar vis tiek perkelti, ar kopijuoti aplanką? -Toolbar.GoUp = Vienu lygiu aukščiau -Toolbar.Cut = Iškirpti -Toolbar.Copy = Kopijuoti -Toolbar.Paste = Įklijuoti -Toolbar.PasteShortcut = Įklijuoti nuorodą -Toolbar.Delete = Naikinti -Toolbar.Email = Pažymėtus elementus siųsti el. paštu -Toolbar.Properties = Ypatybės -Toolbar.NewFolder = Naujas aplankas -Toolbar.ZipFolder = Naujas suglaudintas (zip) aplankas -Toolbar.ExtraLarge = Padidintos piktogramos -Toolbar.Large = Didelės piktogramos -Toolbar.Medium = Vidutinės piktogramos -Toolbar.Small = Mažos piktogramos -Toolbar.List = Sąrašas -Toolbar.Details = Išsami informacija -Toolbar.Tiles = Išklotinės -Toolbar.Content = Turinys -Toolbar.Undo = Anuliuoti -Toolbar.Redo = Perdaryti -Toolbar.Refresh = Atnaujinti -Toolbar.Back = Atgal į: -Toolbar.Forward = Pirmyn -Toolbar.Stop = Stabdyti -Toolbar.Rename = Pervardyti -Toolbar.SelectAll = Žymėti viską -Toolbar.CustomizeFolder = Tinkinti šį aplanką -Toolbar.MapDrive = Susieti tinklo diską -Toolbar.DisconnectDrive = Atjungti tinklo diską -Toolbar.NavigationPane = Naršymo sritis -Toolbar.DetailsPane = Išsamios informacijos sritis -Toolbar.PreviewPane = Peržiūros sritis -Toolbar.CopyTo = Kopijuoti į -Toolbar.MoveTo = Perkelti į -Toolbar.Deselect = Nieko nežymėti -Toolbar.InvertSelection = Žymėti priešingai -Toolbar.FolderOptions = Aplanko parinktys -Toolbar.ShowHiddenFiles = Paslėpti failai ir aplankai -Toolbar.ShowSystemFiles = Sistemos failai -Toolbar.ShowExtensions = Failų vardų plėtiniai -Status.FreeSpace = %s (Diske laisvos vietos: %s) -Status.Item = %s elementas -Status.Items = %s elementai -Status.ItemSelected = %s pažymėtas elementas -Status.ItemsSelected = Pažymėta elementų: %s - - -[lv-LV] - Latvian (Latvia) -Copy.Cancel = Atcelt -Copy.More = Vēl... -Copy.CopyHere = &Kopēt šeit -Copy.MoveHere = &Pārvietot šeit -Copy.Title = Failu aizstāšanas apstiprināšana -Copy.Subtitle = Šajā mapē jau ir fails '%s'. -Copy.SubtitleRO = Šajā mapē jau ir tikai lasāms fails '%s'. -Copy.SubtitleSys = Šajā mapē jau ir sistēmas fails '%s'. -Copy.Prompt1 = Vai vēlaties aizstāt esošo failu -Copy.Prompt2 = ar šo? -Copy.Yes = &Jā -Copy.No = &Nē -Copy.YesAll = Jā, &visus -Folder.Title = Mapju aizstāšanas apstiprināšana -Folder.Prompt = Vai tiešām vēlaties pārvietot vai kopēt šo mapi? -Toolbar.GoUp = Vienu līmeni augstāk -Toolbar.Cut = Izgriezt -Toolbar.Copy = Kopēt -Toolbar.Paste = Ielīmēt -Toolbar.PasteShortcut = Ielīmēt saīsni -Toolbar.Delete = Dzēst -Toolbar.Email = Nosūtīt atlasītos vienumus pa e-pastu -Toolbar.Properties = Rekvizīti -Toolbar.NewFolder = Jauna mape -Toolbar.ZipFolder = Jauna saspiestā (tilpsaspiestā) mape -Toolbar.ExtraLarge = Ļoti lielas ikonas -Toolbar.Large = Lielas ikonas -Toolbar.Medium = Vidējas ikonas -Toolbar.Small = Mazas ikonas -Toolbar.List = Saraksts -Toolbar.Details = Detaļas -Toolbar.Tiles = Mozaīka -Toolbar.Content = Saturs -Toolbar.Undo = Atsaukt -Toolbar.Redo = Atcelt atsaukšanu -Toolbar.Refresh = Atsvaidzināt -Toolbar.Back = Atpakaļ -Toolbar.Forward = Uz priekšu -Toolbar.Stop = Apturēt -Toolbar.Rename = Pārdēvēt -Toolbar.SelectAll = Atlasīt visus -Toolbar.CustomizeFolder = Pielāgot šo mapi -Toolbar.MapDrive = Kartēt tīkla disku -Toolbar.DisconnectDrive = Atvienot tīkla disku -Toolbar.NavigationPane = Navigācijas rūts -Toolbar.DetailsPane = Detalizētas informācijas rūts -Toolbar.PreviewPane = Priekšskatījuma rūts -Toolbar.CopyTo = Kopēt uz -Toolbar.MoveTo = Pārvietot uz -Toolbar.Deselect = Neatlasīt neko -Toolbar.InvertSelection = Mainīt atlasi uz pretējo -Toolbar.FolderOptions = Mapes opcijas -Toolbar.ShowHiddenFiles = Slēptie faili un mapes -Toolbar.ShowSystemFiles = Sistēmas faili -Toolbar.ShowExtensions = Failu nosaukumu paplašinājumi -Status.FreeSpace = %s (brīvā vieta diskā: %s) -Status.Item = %s vienums -Status.Items = %s vienumi -Status.ItemSelected = Atlasīts %s vienums -Status.ItemsSelected = Atlasīti %s vienumi - - -[mk-MK] - Macedonian (Macedonia) -Copy.Cancel = Откажи -Copy.More = Повеќе... -Copy.CopyHere = Копирај тука -Copy.MoveHere = Премести тука -Copy.Title = Потврди замена на фајл -Copy.Subtitle = Тој фолдер веќе содржи фајл со име '%s'. -Copy.SubtitleRO = Тој фолдер веќе содржи фајл само за читање со име '%s'. -Copy.SubtitleSys = Тој фолдер веќе содржи системски фајл со име '%s'. -Copy.Prompt1 = Дали сакате да замените постоечкиот фајл -Copy.Prompt2 = а тој? -Copy.Yes = Да -Copy.No = Не -Copy.YesAll = "Да" за сите -Folder.Title = Потврда за промена на фолдерот -Folder.Prompt = Сеуште ли сакате да го преместите или копирате фолдерот? -Toolbar.GoUp = Едно ниво нагоре -Toolbar.Cut = Исечи -Toolbar.Copy = Копирај -Toolbar.Paste = Стави -Toolbar.PasteShortcut = Стави краток пат -Toolbar.Delete = Избриши -Toolbar.Email = Испрати ги селектираните фајлови по електронска пошта -Toolbar.Properties = Својства -Toolbar.NewFolder = Нов фолдер -Toolbar.ZipFolder = Нова компресирана (зипувана) папка -Toolbar.ExtraLarge = Многу големи икони -Toolbar.Large = Големи икони -Toolbar.Medium = Средни икони -Toolbar.Small = Мали икони -Toolbar.List = Список -Toolbar.Details = Детали -Toolbar.Tiles = Мозаик -Toolbar.Content = Содржина -Toolbar.Undo = врати -Toolbar.Redo = повтори -Toolbar.Refresh = Обнови -Toolbar.Back = Назад -Toolbar.Forward = Напред -Toolbar.Stop = Застани -Toolbar.Rename = Преименување -Toolbar.SelectAll = Селектирај ги сите -Toolbar.CustomizeFolder = Персонализирање на тој фолдер -Toolbar.MapDrive = Назначување на мрежен уред -Toolbar.DisconnectDrive = Исклучи го мрежниот уред -Toolbar.NavigationPane = Навигационен екран -Toolbar.DetailsPane = Екран за подетални податоци -Toolbar.PreviewPane = Прозорец за визуализација -Toolbar.CopyTo = Копирај во -Toolbar.MoveTo = Премести во -Toolbar.Deselect = Не избирај ништо -Toolbar.InvertSelection = Преврти го изборот -Toolbar.FolderOptions = Опции за папка -Toolbar.ShowHiddenFiles = Сокриени датотеки и папки -Toolbar.ShowSystemFiles = Системски датотеки -Toolbar.ShowExtensions = Датотечни наставки -Status.FreeSpace = %s (Слободно место на дискот: %s) -Status.Item = %s фајл -Status.Items = %s фајлови -Status.ItemSelected = %s селектиран фајл -Status.ItemsSelected = %s селектирани фајлови - - -[nb-NO] - Norwegian, Bokmål (Norway) -Copy.Cancel = Avbryt -Copy.More = Mer... -Copy.CopyHere = &Kopier hit -Copy.MoveHere = &Flytt hit -Copy.Title = Bekreft erstatting av fil -Copy.Subtitle = Mappen inneholder allerede filen %s. -Copy.SubtitleRO = Mappen inneholder allerede den skrivebeskyttede filen %s. -Copy.SubtitleSys = Mappen inneholder allerede systemfilen %s. -Copy.Prompt1 = Vil du erstatte den eksisterende filen -Copy.Prompt2 = med denne? -Copy.Yes = &Ja -Copy.No = &Nei -Copy.YesAll = J&a til alt -Folder.Title = Bekreft erstatting av mappe -Folder.Prompt = Vil du likevel flytte eller kopiere mappen? -Toolbar.GoUp = Opp ett nivå -Toolbar.Cut = Klipp ut -Toolbar.Copy = Kopier -Toolbar.Paste = Lim inn -Toolbar.PasteShortcut = Lim inn snarvei -Toolbar.Delete = Slett -Toolbar.Email = Send valgte elementer via e-post -Toolbar.Properties = Egenskaper -Toolbar.NewFolder = Ny mappe -Toolbar.ZipFolder = Ny komprimert (zippet) mappe -Toolbar.ExtraLarge = Ekstra store ikoner -Toolbar.Large = Store ikoner -Toolbar.Medium = Middels store ikoner -Toolbar.Small = Små ikoner -Toolbar.List = Liste -Toolbar.Details = Detaljer -Toolbar.Tiles = Side ved side -Toolbar.Content = Innhold -Toolbar.Undo = Angre -Toolbar.Redo = Gjør om -Toolbar.Refresh = Oppdater -Toolbar.Back = Tilbake -Toolbar.Forward = Fremover -Toolbar.Stop = Stopp -Toolbar.Rename = Gi nytt navn -Toolbar.SelectAll = Merk alt -Toolbar.CustomizeFolder = Tilpass denne mappen -Toolbar.MapDrive = Koble til nettverksstasjon -Toolbar.DisconnectDrive = Koble fra nettverksstasjon -Toolbar.NavigationPane = Navigasjonsrute -Toolbar.DetailsPane = Detaljrute -Toolbar.PreviewPane = Forhåndsvisningsrute -Toolbar.CopyTo = Kopier til -Toolbar.MoveTo = Flytt til -Toolbar.Deselect = Merk ingenting -Toolbar.InvertSelection = Inverter utvalg -Toolbar.FolderOptions = Mappealternativer -Toolbar.ShowHiddenFiles = Skjulte filer og mapper -Toolbar.ShowSystemFiles = Systemfiler -Toolbar.ShowExtensions = Filtyper -Status.FreeSpace = %s (Ledig plass på disken: %s) -Status.Item = %s element -Status.Items = %s elementer -Status.ItemSelected = %s element er merket -Status.ItemsSelected = %s elementer er merket - - -[nl-NL] - Dutch (Netherlands) -Copy.Cancel = Annuleren -Copy.More = Meer... -Copy.CopyHere = Hierheen &kopiëren -Copy.MoveHere = Hi&erheen verplaatsen -Copy.Title = Vervangen van bestand bevestigen -Copy.Subtitle = In deze map bevindt zich al een bestand met de naam %s. -Copy.SubtitleRO = In deze map bevindt zich al een bestand met het kenmerk Alleen-lezen en de naam %s. -Copy.SubtitleSys = In deze map bevindt zich al een systeembestand met de naam %s. -Copy.Prompt1 = Wilt u het bestaande bestand: -Copy.Prompt2 = vervangen door het onderstaande bestand? -Copy.Yes = &Ja -Copy.No = &Nee -Copy.YesAll = J&a op alles -Folder.Title = Vervangen van map bevestigen -Folder.Prompt = Wilt u de bestanden in de bestaande map vervangen door de bestanden in de map die u verplaatst of kopieert, als de bestanden dezelfde naam hebben? -Toolbar.GoUp = Bovenliggende map -Toolbar.Cut = Knippen -Toolbar.Copy = Kopiëren -Toolbar.Paste = Plakken -Toolbar.PasteShortcut = Snelkoppeling plakken -Toolbar.Delete = Verwijderen -Toolbar.Email = De geselecteerde items per e-mail verzenden -Toolbar.Properties = Eigenschappen -Toolbar.NewFolder = Nieuwe map -Toolbar.ZipFolder = Nieuwe gecomprimeerde (gezipte) map -Toolbar.ExtraLarge = Extra grote pictogrammen -Toolbar.Large = Grote pictogrammen -Toolbar.Medium = Normale pictogrammen -Toolbar.Small = Kleine pictogrammen -Toolbar.List = Lijst -Toolbar.Details = Details -Toolbar.Tiles = Tegels -Toolbar.Content = Inhoud -Toolbar.Undo = Ongedaan maken -Toolbar.Redo = Opnieuw -Toolbar.Refresh = Vernieuwen -Toolbar.Back = Vorige -Toolbar.Forward = Volgende -Toolbar.Stop = Stoppen -Toolbar.Rename = Naam wijzigen -Toolbar.SelectAll = Alles selecteren -Toolbar.CustomizeFolder = Deze map aanpassen -Toolbar.MapDrive = Netwerkverbinding maken -Toolbar.DisconnectDrive = Netwerkverbinding verbreken -Toolbar.NavigationPane = Navigatievenster -Toolbar.DetailsPane = Detailvenster -Toolbar.PreviewPane = Voorbeeldvenster -Toolbar.CopyTo = Kopiëren naar -Toolbar.MoveTo = Verplaatsen naar -Toolbar.Deselect = Niets selecteren -Toolbar.InvertSelection = Selectie omkeren -Toolbar.FolderOptions = Mapopties -Toolbar.ShowHiddenFiles = Verborgen bestanden en mappen -Toolbar.ShowSystemFiles = Systeembestanden -Toolbar.ShowExtensions = Bestandsnaamextensies -Status.FreeSpace = %s (beschikbare schijfruimte: %s) -Status.Item = %s item -Status.Items = %s items -Status.ItemSelected = %s item geselecteerd -Status.ItemsSelected = %s items geselecteerd - - -[pl-PL] - Polish (Poland) -Copy.Cancel = Anuluj -Copy.More = Więcej... -Copy.CopyHere = &Kopiuj tutaj -Copy.MoveHere = Prze&nieś tutaj -Copy.Title = Potwierdź zamianę pliku -Copy.Subtitle = Ten folder zawiera już plik o nazwie „%s”. -Copy.SubtitleRO = Ten folder zawiera już plik tylko do odczytu o nazwie „%s”. -Copy.SubtitleSys = Ten folder zawiera już plik systemowy o nazwie „%s”. -Copy.Prompt1 = Czy chcesz zamienić istniejący plik -Copy.Prompt2 = na następujący? -Copy.Yes = &Tak -Copy.No = &Nie -Copy.YesAll = Tak na &wszystkie -Folder.Title = Potwierdź zamianę folderu -Folder.Prompt = Czy nadal chcesz przenieść lub skopiować ten folder? -Toolbar.GoUp = Do góry o jeden poziom -Toolbar.Cut = Wytnij -Toolbar.Copy = Kopiuj -Toolbar.Paste = Wklej -Toolbar.PasteShortcut = Wklej skrót -Toolbar.Delete = Usuń -Toolbar.Email = Wyślij zaznaczone elementy pocztą e-mail -Toolbar.Properties = Właściwości -Toolbar.NewFolder = Nowy folder -Toolbar.ZipFolder = Nowy folder skompresowany (zip) -Toolbar.ExtraLarge = Bardzo duże ikony -Toolbar.Large = Duże ikony -Toolbar.Medium = Średnie ikony -Toolbar.Small = Małe ikony -Toolbar.List = Lista -Toolbar.Details = Szczegóły -Toolbar.Tiles = Kafelki -Toolbar.Content = Zawartość -Toolbar.Undo = Cofnij -Toolbar.Redo = Wykonaj ponownie -Toolbar.Refresh = Odśwież -Toolbar.Back = Wstecz -Toolbar.Forward = Dalej -Toolbar.Stop = Zatrzymaj -Toolbar.Rename = Zmień nazwę -Toolbar.SelectAll = Zaznacz wszystko -Toolbar.CustomizeFolder = Dostosuj ten folder -Toolbar.MapDrive = Mapuj dysk sieciowy -Toolbar.DisconnectDrive = Odłącz dysk sieciowy -Toolbar.NavigationPane = Okienko nawigacji -Toolbar.DetailsPane = Okienko szczegółów -Toolbar.PreviewPane = Okienko podglądu -Toolbar.CopyTo = Kopiuj do -Toolbar.MoveTo = Przenieś do -Toolbar.Deselect = Nie zaznaczaj nic -Toolbar.InvertSelection = Odwróć zaznaczenie -Toolbar.FolderOptions = Opcje folderów -Toolbar.ShowHiddenFiles = Ukryte pliki i foldery -Toolbar.ShowSystemFiles = Pliki systemowe -Toolbar.ShowExtensions = Rozszerzenia nazw plików -Status.FreeSpace = %s (Wolne miejsce: %s) -Status.Item = %s element -Status.Items = Elementów: %s -Status.ItemSelected = Wybranych elementów: %s -Status.ItemsSelected = Wybranych elementów: %s - - -[pt-BR] - Portuguese (Brazil) -Copy.Cancel = Cancelar -Copy.More = Mais... -Copy.CopyHere = &Copiar Aqui -Copy.MoveHere = Mov&er para Cá -Copy.Title = Confirmar substituição de arquivo -Copy.Subtitle = Esta pasta já contém um arquivo chamado '%s'. -Copy.SubtitleRO = Esta pasta já contém um arquivo somente leitura chamado '%s'. -Copy.SubtitleSys = Esta pasta já contém um arquivo de sistema chamado '%s'. -Copy.Prompt1 = Deseja substituir o arquivo existente -Copy.Prompt2 = por este? -Copy.Yes = &Sim -Copy.No = &Não -Copy.YesAll = Sim para &todos -Folder.Title = Confirmar substituição de pasta -Folder.Prompt = Deseja mover a pasta mesmo assim? -Toolbar.GoUp = Um Nível Acima -Toolbar.Cut = Recortar -Toolbar.Copy = Copiar -Toolbar.Paste = Colar -Toolbar.PasteShortcut = Colar Atalho -Toolbar.Delete = Excluir -Toolbar.Email = Enviar os itens selecionados por email -Toolbar.Properties = Propriedades -Toolbar.NewFolder = Nova Pasta -Toolbar.ZipFolder = Nova Pasta Compactada -Toolbar.ExtraLarge = Ícones Extra Grandes -Toolbar.Large = Ícones Grandes -Toolbar.Medium = Ícones Médios -Toolbar.Small = Ícones Pequenos -Toolbar.List = Lista -Toolbar.Details = Detalhes -Toolbar.Tiles = Lado a Lado -Toolbar.Content = Conteúdo -Toolbar.Undo = Desfazer -Toolbar.Redo = Refazer -Toolbar.Refresh = Atualizar -Toolbar.Back = Voltar -Toolbar.Forward = Avançar -Toolbar.Stop = Parar -Toolbar.Rename = Renomear -Toolbar.SelectAll = Selecionar tudo -Toolbar.CustomizeFolder = Personalizar esta pasta -Toolbar.MapDrive = Mapear unidade de rede -Toolbar.DisconnectDrive = Desconectar unidade de rede -Toolbar.NavigationPane = Painel de navegação -Toolbar.DetailsPane = Painel de detalhes -Toolbar.PreviewPane = Painel de visualização -Toolbar.CopyTo = Copiar para -Toolbar.MoveTo = Mover para -Toolbar.Deselect = Selecionar nenhum -Toolbar.InvertSelection = Inverter seleção -Toolbar.FolderOptions = Opções de pasta -Toolbar.ShowHiddenFiles = Pastas e arquivos ocultos -Toolbar.ShowSystemFiles = Arquivos do sistema -Toolbar.ShowExtensions = Extensões de nomes de arquivos -Status.FreeSpace = %s (espaço livre em disco: %s) -Status.Item = %s item -Status.Items = %s itens -Status.ItemSelected = %s item selecionado -Status.ItemsSelected = %s itens selecionados - - -[pt-PT] - Portuguese (Portugal) -Copy.Cancel = Cancelar -Copy.More = Mais... -Copy.CopyHere = &Copiar para aqui -Copy.MoveHere = &Mover para aqui -Copy.Title = Confirmar substituição de ficheiro(s) -Copy.Subtitle = Esta pasta já contém um ficheiro com o nome '%s'. -Copy.SubtitleRO = Esta pasta já contém um ficheiro só de leitura com o nome '%s'. -Copy.SubtitleSys = Esta pasta já contém um ficheiro de sistema com o nome '%s'. -Copy.Prompt1 = Pretende substituir o ficheiro existente -Copy.Prompt2 = por este? -Copy.Yes = &Sim -Copy.No = &Não -Copy.YesAll = Sim p&ara todos -Folder.Title = Confirmar substituição de pasta(s) -Folder.Prompt = Pretende continuar a mover ou copiar a pasta? -Toolbar.GoUp = Um nível acima -Toolbar.Cut = Cortar -Toolbar.Copy = Copiar -Toolbar.Paste = Colar -Toolbar.PasteShortcut = Colar atalho -Toolbar.Delete = Eliminar -Toolbar.Email = Enviar os itens seleccionados por correio electrónico -Toolbar.Properties = Propriedades -Toolbar.NewFolder = Nova pasta -Toolbar.ZipFolder = Nova Pasta Comprimida (zipada) -Toolbar.ExtraLarge = Ícones muito grandes -Toolbar.Large = Ícones grandes -Toolbar.Medium = Ícones médios -Toolbar.Small = Ícones pequenos -Toolbar.List = Lista -Toolbar.Details = Detalhes -Toolbar.Tiles = Mosaicos -Toolbar.Content = Conteúdo -Toolbar.Undo = Anular -Toolbar.Redo = Refazer -Toolbar.Refresh = Actualizar -Toolbar.Back = Anterior -Toolbar.Forward = Avançar -Toolbar.Stop = Parar -Toolbar.Rename = Mudar o nome -Toolbar.SelectAll = Seleccionar tudo -Toolbar.CustomizeFolder = Personalizar esta pasta -Toolbar.MapDrive = Mapear unidade de rede -Toolbar.DisconnectDrive = Desligar unidade de rede -Toolbar.NavigationPane = Painel de navegação -Toolbar.DetailsPane = Painel de detalhes -Toolbar.PreviewPane = Painel de pré-visualização -Toolbar.CopyTo = Copiar para -Toolbar.MoveTo = Mover para -Toolbar.Deselect = Desmarcar tudo -Toolbar.InvertSelection = Inverter seleção -Toolbar.FolderOptions = Opções de pastas -Toolbar.ShowHiddenFiles = Ficheiros e pastas ocultos -Toolbar.ShowSystemFiles = Ficheiros de sistema -Toolbar.ShowExtensions = Extensões de nome de ficheiro -Status.FreeSpace = %s (Espaço livre em disco: %s) -Status.Item = %s item -Status.Items = %s itens -Status.ItemSelected = %s item seleccionado -Status.ItemsSelected = %s itens seleccionados - - -[ro-RO] - Romanian (Romania) -Copy.Cancel = Revocare -Copy.More = Mai multe... -Copy.CopyHere = &Copiere în acest loc -Copy.MoveHere = &Mutare în acest loc -Copy.Title = Confirmare înlocuire fişier -Copy.Subtitle = Acest folder conţine deja un fişier cu numele '%s'. -Copy.SubtitleRO = Acest folder conţine deja un fişier doar în citire cu numele '%s'. -Copy.SubtitleSys = Acest folder conţine deja un fişier de sistem cu numele '%s'. -Copy.Prompt1 = Înlocuiţi fişierul existent -Copy.Prompt2 = cu acesta? -Copy.Yes = &Da -Copy.No = &Nu -Copy.YesAll = D&a pentru tot -Folder.Title = Confirmare înlocuire folder -Folder.Prompt = Totuşi, mutaţi sau copiaţi folderul? -Toolbar.GoUp = Mai sus cu un nivel -Toolbar.Cut = Decupare -Toolbar.Copy = Copiere -Toolbar.Paste = Lipire -Toolbar.PasteShortcut = Lipire comandă rapidă -Toolbar.Delete = Ștergere -Toolbar.Email = Se trimit prin poştă electronică elementele selectate -Toolbar.Properties = Proprietăți -Toolbar.NewFolder = Folder nou -Toolbar.ZipFolder = Folder comprimat (ZIP) nou -Toolbar.ExtraLarge = Pictograme foarte mari -Toolbar.Large = Pictograme mari -Toolbar.Medium = Pictograme medii -Toolbar.Small = Pictograme mici -Toolbar.List = Listă -Toolbar.Details = Detalii -Toolbar.Tiles = Cadre -Toolbar.Content = Cuprins -Toolbar.Undo = Anulare -Toolbar.Redo = Refacere -Toolbar.Refresh = Reîmprospătare -Toolbar.Back = Înapoi -Toolbar.Forward = Înainte -Toolbar.Stop = Oprire -Toolbar.Rename = Redenumire -Toolbar.SelectAll = Selectare totală -Toolbar.CustomizeFolder = Particularizare folder -Toolbar.MapDrive = Conectare unitate de rețea -Toolbar.DisconnectDrive = Deconectare unitate de rețea -Toolbar.NavigationPane = Panou de navigare -Toolbar.DetailsPane = Panou detalii -Toolbar.PreviewPane = Panou de examinare -Toolbar.CopyTo = Copiere în -Toolbar.MoveTo = Mutare la -Toolbar.Deselect = Deselectare totală -Toolbar.InvertSelection = Inversare selecție -Toolbar.FolderOptions = Opțiuni folder -Toolbar.ShowHiddenFiles = Fișiere și foldere ascunse -Toolbar.ShowSystemFiles = Fișiere de sistem -Toolbar.ShowExtensions = Extensii nume de fișier -Status.FreeSpace = %s (Spațiu liber pe disc: %s) -Status.Item = Element %s -Status.Items = %s elemente -Status.ItemSelected = %s element selectat -Status.ItemsSelected = %s elemente selectate - - -[ru-RU] - Russian (Russia) -Copy.Cancel = Отмена -Copy.More = Подробнее... -Copy.CopyHere = &Копировать -Copy.MoveHere = П&ереместить -Copy.Title = Подтверждение замены файла -Copy.Subtitle = Папка уже содержит файл "%s". -Copy.SubtitleRO = Папка уже содержит доступный только для чтения файл "%s". -Copy.SubtitleSys = Папка уже содержит системный файл "%s". -Copy.Prompt1 = Заменить имеющийся файл -Copy.Prompt2 = следующим файлом? -Copy.Yes = &Да -Copy.No = &Нет -Copy.YesAll = Да - для &всех -Folder.Title = Подтверждение замены папки -Folder.Prompt = Заменить существующие в ней файлы перемещаемыми при совпадении имен? -Toolbar.GoUp = На один уровень вверх -Toolbar.Cut = Вырезать -Toolbar.Copy = Копировать -Toolbar.Paste = Вставить -Toolbar.PasteShortcut = Вставить ярлык -Toolbar.Delete = Удалить -Toolbar.Email = Отправка выбранных объектов по электронной почте -Toolbar.Properties = Свойства -Toolbar.NewFolder = Новая папка -Toolbar.ZipFolder = Новая сжатая ZIP-папка -Toolbar.ExtraLarge = Огромные значки -Toolbar.Large = Крупные значки -Toolbar.Medium = Обычные значки -Toolbar.Small = Мелкие значки -Toolbar.List = Список -Toolbar.Details = Таблица -Toolbar.Tiles = Плитка -Toolbar.Content = Содержимое -Toolbar.Undo = Отменить -Toolbar.Redo = Вернуть -Toolbar.Refresh = Обновить -Toolbar.Back = Назад -Toolbar.Forward = Вперед -Toolbar.Stop = Остановить -Toolbar.Rename = Переименовать -Toolbar.SelectAll = Выделить все -Toolbar.CustomizeFolder = Настроить папку -Toolbar.MapDrive = Подключить сетевой диск -Toolbar.DisconnectDrive = Отключить сетевой диск -Toolbar.NavigationPane = Область переходов -Toolbar.DetailsPane = Область сведений -Toolbar.PreviewPane = Область предпросмотра -Toolbar.CopyTo = Копировать в -Toolbar.MoveTo = Переместить в -Toolbar.Deselect = Снять выделение -Toolbar.InvertSelection = Обратить выделение -Toolbar.FolderOptions = Параметры папок -Toolbar.ShowHiddenFiles = Скрытые файлы и папки -Toolbar.ShowSystemFiles = Системные файлы -Toolbar.ShowExtensions = Расширения имен файлов -Status.FreeSpace = %s (свободно на диске: %s) -Status.Item = %s элемент -Status.Items = Элементов: %s -Status.ItemSelected = Выбран элемент: %s -Status.ItemsSelected = Выбрано элементов: %s - - -[sk-SK] - Slovak (Slovakia) -Copy.Cancel = Zrušiť -Copy.More = Ďalšie... -Copy.CopyHere = &Kopírovať sem -Copy.MoveHere = &Premiestniť sem -Copy.Title = Potvrdenie nahradenia súboru -Copy.Subtitle = Tento priečinok už obsahuje súbor s názvom %s. -Copy.SubtitleRO = Tento priečinok už obsahuje súbor s názvom %s, ktorý je iba na čítanie. -Copy.SubtitleSys = Tento priečinok už obsahuje systémový súbor s názvom %s. -Copy.Prompt1 = Chcete nahradiť existujúci súbor -Copy.Prompt2 = týmto súborom? -Copy.Yes = Án&o -Copy.No = &Nie -Copy.YesAll = Áno pre &všetky -Folder.Title = Potvrdenie nahradenia priečinka -Folder.Prompt = Naozaj chcete premiestniť alebo skopírovať priečinok? -Toolbar.GoUp = O úroveň vyššie -Toolbar.Cut = Vystrihnúť -Toolbar.Copy = Kopírovať -Toolbar.Paste = Prilepiť -Toolbar.PasteShortcut = Prilepiť odkaz -Toolbar.Delete = Odstrániť -Toolbar.Email = Vybraté položky odoslať e-mailom -Toolbar.Properties = Vlastnosti -Toolbar.NewFolder = Nový priečinok -Toolbar.ZipFolder = Nový komprimovaný priečinok (ZIP) -Toolbar.ExtraLarge = Veľmi veľké ikony -Toolbar.Large = Veľké ikony -Toolbar.Medium = Stredne veľké ikony -Toolbar.Small = Malé ikony -Toolbar.List = Zoznam -Toolbar.Details = Podrobnosti -Toolbar.Tiles = Dlaždice -Toolbar.Content = Obsah -Toolbar.Undo = Späť -Toolbar.Redo = Znova -Toolbar.Refresh = Obnoviť -Toolbar.Back = Dozadu -Toolbar.Forward = Dopredu -Toolbar.Stop = Zastaviť -Toolbar.Rename = Premenovať -Toolbar.SelectAll = Vybrať všetko -Toolbar.CustomizeFolder = Prispôsobiť priečinok -Toolbar.MapDrive = Pripojiť sieťovú jednotku -Toolbar.DisconnectDrive = Odpojiť sieťovú jednotku -Toolbar.NavigationPane = Navigačná tabla -Toolbar.DetailsPane = Tabla podrobností -Toolbar.PreviewPane = Tabla ukážky -Toolbar.CopyTo = Kopírovať do -Toolbar.MoveTo = Premiestniť do -Toolbar.Deselect = Zrušiť výber -Toolbar.InvertSelection = Invertovať výber -Toolbar.FolderOptions = Možnosti priečinka -Toolbar.ShowHiddenFiles = Skryté súbory a priečinky -Toolbar.ShowSystemFiles = Systémové súbory -Toolbar.ShowExtensions = Prípony názvov súborov -Status.FreeSpace = %s (voľné miesto na disku: %s) -Status.Item = %s položka -Status.Items = Počet položiek: %s -Status.ItemSelected = Počet vybratých položiek: %s -Status.ItemsSelected = Počet vybratých položiek: %s - - -[sl-SI] - Slovenian (Slovenia) -Copy.Cancel = Prekliči -Copy.More = Dodatno ... -Copy.CopyHere = &Kopiraj sem -Copy.MoveHere = &Premakni sem -Copy.Title = Potrditev zamenjave datoteke -Copy.Subtitle = Ta mapa že vsebuje datoteko z imenom »%s«. -Copy.SubtitleRO = Ta mapa že vsebuje datoteko samo za branje z imenom »%s«. -Copy.SubtitleSys = Ta mapa že vsebuje sistemsko datoteko z imenom »%s«. -Copy.Prompt1 = Ali želite zamenjati obstoječo datoteko -Copy.Prompt2 = s to datoteko? -Copy.Yes = &Da -Copy.No = &Ne -Copy.YesAll = Da za &vse -Folder.Title = Potrditev zamenjave mape -Folder.Prompt = Ali še vedno želite premakniti ali kopirati mapo? -Toolbar.GoUp = V nadrejeno mapo -Toolbar.Cut = Izreži -Toolbar.Copy = Kopiraj -Toolbar.Paste = Prilepi -Toolbar.PasteShortcut = Prilepi bližnjico -Toolbar.Delete = Izbriši -Toolbar.Email = Pošlji izbrane elemente prek e-pošte -Toolbar.Properties = Lastnosti -Toolbar.NewFolder = Nova mapa -Toolbar.ZipFolder = Nova stisnjena mapa -Toolbar.ExtraLarge = Izredno velike ikone -Toolbar.Large = Velike ikone -Toolbar.Medium = Srednje velike ikone -Toolbar.Small = Male ikone -Toolbar.List = Seznam -Toolbar.Details = Podrobnosti -Toolbar.Tiles = Ploščice -Toolbar.Content = Vsebina -Toolbar.Undo = Razveljavi -Toolbar.Redo = Uveljavi -Toolbar.Refresh = Osveži -Toolbar.Back = Nazaj -Toolbar.Forward = Naprej -Toolbar.Stop = Ustavi -Toolbar.Rename = Preimenuj -Toolbar.SelectAll = Izberi vse -Toolbar.CustomizeFolder = Prilagodi mapo -Toolbar.MapDrive = Preslikaj omrežni pogon -Toolbar.DisconnectDrive = Prekini povezavo z omrežnim pogonom -Toolbar.NavigationPane = Podokno za krmarjenje -Toolbar.DetailsPane = Podokno s podrobnostmi -Toolbar.PreviewPane = Podokno za predogled -Toolbar.CopyTo = Kopiraj v -Toolbar.MoveTo = Premakni v -Toolbar.Deselect = Ne izberi ničesar -Toolbar.InvertSelection = Preobrni izbor -Toolbar.FolderOptions = Možnosti mape -Toolbar.ShowHiddenFiles = Skrite datoteke in mape -Toolbar.ShowSystemFiles = Sistemske datoteke -Toolbar.ShowExtensions = Datotečne pripone -Status.FreeSpace = %s (Nezaseden prostor na disku: %s) -Status.Item = %s predmet -Status.Items = Št. predmetov: %s -Status.ItemSelected = Izbrano je to število elementov: %s -Status.ItemsSelected = Izbrano je to število elementov: %s - - -[sr-Latn-CS] - Serbian (Latin, Serbia) -Copy.Cancel = Otkaži -Copy.More = Više... -Copy.CopyHere = &Kopiraj ovde -Copy.MoveHere = &Premesti ovde -Copy.Title = Potvrdite zamenu datoteke -Copy.Subtitle = Ova fascikla već sadrži datoteku po imenu '%s'. -Copy.SubtitleRO = Ova fascikla već sadrži datoteku samo za čitanje po imenu '%s'. -Copy.SubtitleSys = Ova fascikla već sadrži sistemsku datoteku po imenu '%s'. -Copy.Prompt1 = Želite li da zamenite postojeću datoteku -Copy.Prompt2 = ovom? -Copy.Yes = &Da -Copy.No = &Ne -Copy.YesAll = Da za &sve -Folder.Title = Potvrdite zamenu fascikle -Folder.Prompt = Želite li zaista da premestite ili kopirate ovu fasciklu? -Toolbar.GoUp = Jedan nivo nagore -Toolbar.Cut = Iseci -Toolbar.Copy = Kopiraj -Toolbar.Paste = Nalepi -Toolbar.PasteShortcut = Nalepi prečicu -Toolbar.Delete = Izbriši -Toolbar.Email = Pošalji izabrane stavke e-poštom -Toolbar.Properties = Svojstva -Toolbar.NewFolder = Nova fascikla -Toolbar.ZipFolder = Nova komprimovana (zipovana) fascikla -Toolbar.ExtraLarge = Veoma velike ikone -Toolbar.Large = Velike ikone -Toolbar.Medium = Srednje ikone -Toolbar.Small = Male ikone -Toolbar.List = Lista -Toolbar.Details = Detalji -Toolbar.Tiles = Naporedno slaganje -Toolbar.Content = Sadržaj -Toolbar.Undo = Opozovi radnju -Toolbar.Redo = Ponovi radnju -Toolbar.Refresh = Osveži -Toolbar.Back = Nazad -Toolbar.Forward = Napred -Toolbar.Stop = Zaustavi -Toolbar.Rename = Preimenuj -Toolbar.SelectAll = Izaberi sve -Toolbar.CustomizeFolder = Prilagođavanje fascikle -Toolbar.MapDrive = Mapiraj mrežni disk -Toolbar.DisconnectDrive = Prekini vezu sa mrežnim diskom -Toolbar.NavigationPane = Okno za navigaciju -Toolbar.DetailsPane = Okno sa detaljima -Toolbar.PreviewPane = Okno za pregled -Toolbar.CopyTo = Kopiraj u -Toolbar.MoveTo = Premesti u -Toolbar.Deselect = Nemoj da izabereš nijedno -Toolbar.InvertSelection = Obrni izbor -Toolbar.FolderOptions = Opcije fascikle -Toolbar.ShowHiddenFiles = Skrivene datoteke i fascikle -Toolbar.ShowSystemFiles = Sistemske datoteke -Toolbar.ShowExtensions = Oznake tipa datoteke -Status.FreeSpace = %s (slobodan prostor na disku: %s) -Status.Item = %s stavka -Status.Items = %s stavki -Status.ItemSelected = %s izabrana stavka -Status.ItemsSelected = %s izabranih stavki - - -[sv-SE] - Swedish (Sweden) -Copy.Cancel = Avbryt -Copy.More = Mer... -Copy.CopyHere = K&opiera hit -Copy.MoveHere = &Flytta hit -Copy.Title = Bekräfta ersättning av fil -Copy.Subtitle = Den här mappen innehåller redan en fil med namnet %s. -Copy.SubtitleRO = Den här mappen innehåller redan en skrivskyddad fil med namnet %s. -Copy.SubtitleSys = Den här mappen innehåller redan en systemfil med namnet %s. -Copy.Prompt1 = Vill du ersätta den befintliga filen -Copy.Prompt2 = med följande fil? -Copy.Yes = &Ja -Copy.No = &Nej -Copy.YesAll = Ersätt &alla -Folder.Title = Bekräfta ersättning av mapp -Folder.Prompt = Vill du ersätta filerna i den mappen om de har samma namn som filerna i mappen som flyttas eller kopieras? -Toolbar.GoUp = Upp en nivå -Toolbar.Cut = Klipp ut -Toolbar.Copy = Kopiera -Toolbar.Paste = Klistra in -Toolbar.PasteShortcut = Klistra in genväg -Toolbar.Delete = Ta bort -Toolbar.Email = Skicka de markerade objekten i e-postmeddelanden -Toolbar.Properties = Egenskaper -Toolbar.NewFolder = Ny mapp -Toolbar.ZipFolder = Ny komprimerad mapp -Toolbar.ExtraLarge = Extra stora ikoner -Toolbar.Large = Stora ikoner -Toolbar.Medium = Medelstora ikoner -Toolbar.Small = Små ikoner -Toolbar.List = Lista -Toolbar.Details = Detaljerad lista -Toolbar.Tiles = Sammanfattning -Toolbar.Content = Innehåll -Toolbar.Undo = Ångra -Toolbar.Redo = Gör om -Toolbar.Refresh = Uppdatera -Toolbar.Back = Bakåt -Toolbar.Forward = Framåt -Toolbar.Stop = Stoppa -Toolbar.Rename = Byt namn -Toolbar.SelectAll = Markera alla -Toolbar.CustomizeFolder = Anpassa den här mappen -Toolbar.MapDrive = Anslut nätverksenhet -Toolbar.DisconnectDrive = Koppla från nätverksenhet -Toolbar.NavigationPane = Navigeringsfönstret -Toolbar.DetailsPane = Informationsfönstret -Toolbar.PreviewPane = Förhandsgranskningsfönstret -Toolbar.CopyTo = Kopiera till -Toolbar.MoveTo = Flytta till -Toolbar.Deselect = Avmarkera alla -Toolbar.InvertSelection = Invertera markering -Toolbar.FolderOptions = Mappalternativ -Toolbar.ShowHiddenFiles = Dolda filer och mappar -Toolbar.ShowSystemFiles = Systemfiler -Toolbar.ShowExtensions = Filnamnstillägg -Status.FreeSpace = %s (Ledigt utrymme: %s) -Status.Item = %s objekt -Status.Items = %s objekt -Status.ItemSelected = %s objekt markerat -Status.ItemsSelected = %s objekt markerade - - -[th-TH] - Thai (Thailand) -Copy.Cancel = ยกเลิก -Copy.More = เพิ่มเติม... -Copy.CopyHere = คัด&ลอกมาที่นี่ -Copy.MoveHere = ย้&ายมาที่นี่ -Copy.Title = ยืนยันการแทนที่แฟ้ม -Copy.Subtitle = โฟลเดอร์นี้มีแฟ้มชื่อ '%s' อยู่แล้ว -Copy.SubtitleRO = โฟลเดอร์นี้มีแฟ้มแบบอ่านอย่างเดียวที่ชื่อ '%s' อยู่แล้ว -Copy.SubtitleSys = โฟลเดอร์นี้มีแฟ้มระบบที่ชื่อ '%s' อยู่แล้ว -Copy.Prompt1 = คุณต้องการแทนที่แฟ้มที่มีอยู่ -Copy.Prompt2 = ด้วยแฟ้มนี้หรือไม่ -Copy.Yes = ใ&ช่ -Copy.No = ไ&ม่ใช่ -Copy.YesAll = ใช่&ทั้งหมด -Folder.Title = การยืนยันการแทนที่โฟลเดอร์ -Folder.Prompt = ถ้าแฟ้มในโฟลเดอร์ที่มีอยู่มีชื่อเดียวกันกับแฟ้มในโฟลเดอร์ที่คุณกำลังย้ายหรือคัดลอก แฟ้มเหล่านั้นจะถูกแทนที่ คุณยังต้องการที่จะย้ายหรือคัดลอกโฟลเดอร์หรือไม่ -Toolbar.GoUp = เลื่อนขึ้นหนึ่งระดับ -Toolbar.Cut = ตัด -Toolbar.Copy = คัดลอก -Toolbar.Paste = วาง -Toolbar.PasteShortcut = วางทางลัด -Toolbar.Delete = ลบ -Toolbar.Email = ส่งอีเมลรายการที่เลือก -Toolbar.Properties = คุณสมบัติ -Toolbar.NewFolder = สร้างโฟลเดอร์ -Toolbar.ZipFolder = โฟลเดอร์ที่บีบอัดใหม่ -Toolbar.ExtraLarge = ไอคอนขนาดใหญ่พิเศษ -Toolbar.Large = ไอคอนขนาดใหญ่ -Toolbar.Medium = ไอคอนขนาดกลาง -Toolbar.Small = ไอคอนขนาดเล็ก -Toolbar.List = รายการ -Toolbar.Details = รายละเอียด -Toolbar.Tiles = เรียงต่อกัน -Toolbar.Content = เนื้อหา -Toolbar.Undo = เลิกทำ -Toolbar.Redo = ทำซ้ำ -Toolbar.Refresh = ฟื้นฟู -Toolbar.Back = ย้อนกลับ -Toolbar.Forward = ไปข้างหน้า -Toolbar.Stop = หยุด -Toolbar.Rename = เปลี่ยนชื่อ -Toolbar.SelectAll = เลือกทั้งหมด -Toolbar.CustomizeFolder = กำหนดโฟลเดอร์นี้เอง -Toolbar.MapDrive = แมปไดรฟ์เครือข่าย -Toolbar.DisconnectDrive = ยกเลิกการเชื่อมต่อไดรฟ์เครือข่าย -Toolbar.NavigationPane = บานหน้าต่างนำทาง -Toolbar.DetailsPane = บานหน้าต่างแสดงรายละเอียด -Toolbar.PreviewPane = บานหน้าต่างแสดงตัวอย่าง -Toolbar.CopyTo = คัดลอกไปที่ -Toolbar.MoveTo = ย้ายไปที่ -Toolbar.Deselect = ไม่เลือกเลย -Toolbar.InvertSelection = สลับส่วนที่เลือก -Toolbar.FolderOptions = ตัวเลือกโฟลเดอร์ -Toolbar.ShowHiddenFiles = แฟ้มและโฟลเดอร์ที่ซ่อนไว้ -Toolbar.ShowSystemFiles = แฟ้มระบบ -Toolbar.ShowExtensions = ส่วนขยายของแฟ้ม -Status.FreeSpace = %s (เนื้อที่ว่างดิสก์: %s) -Status.Item = %s รายการ -Status.Items = %s รายการ -Status.ItemSelected = เลือก %s รายการ -Status.ItemsSelected = เลือก %s รายการ - - -[tr-TR] - Turkish (Turkey) -Copy.Cancel = İptal -Copy.More = Tümü... -Copy.CopyHere = Buraya &Kopyala -Copy.MoveHere = Buraya &Taşı -Copy.Title = Dosya Değişimini Onayla -Copy.Subtitle = Bu klasörde zaten '%s' adlı bir dosya var. -Copy.SubtitleRO = Bu klasörde zaten '%s' adlı salt okunur bir dosya var. -Copy.SubtitleSys = Bu klasörde zaten '%s' adlı bir sistem dosyası var. -Copy.Prompt1 = Varolan dosyayı -Copy.Prompt2 = aşağıdaki dosya ile değiştirmek istiyor musunuz? -Copy.Yes = &Evet -Copy.No = &Hayır -Copy.YesAll = &Tümüne Evet -Folder.Title = Klasör Değişimini Onayla -Folder.Prompt = Klasörü taşımak ya da kopyalamak istiyor musunuz? -Toolbar.GoUp = Bir Düzey Yukarı -Toolbar.Cut = Kes -Toolbar.Copy = Kopyala -Toolbar.Paste = Yapıştır -Toolbar.PasteShortcut = Kısayol Yapıştır -Toolbar.Delete = Sil -Toolbar.Email = Seçili öğeleri e-postayla gönder -Toolbar.Properties = Özellikler -Toolbar.NewFolder = Yeni Klasör -Toolbar.ZipFolder = Yeni Sıkıştırılmış Klasör -Toolbar.ExtraLarge = Çok Büyük Simgeler -Toolbar.Large = Büyük Simgeler -Toolbar.Medium = Orta Boy Simgeler -Toolbar.Small = Küçük Simgeler -Toolbar.List = Listele -Toolbar.Details = Ayrıntılar -Toolbar.Tiles = Döşemeler -Toolbar.Content = İçerik -Toolbar.Undo = Geri Al -Toolbar.Redo = Yinele -Toolbar.Refresh = Yenile -Toolbar.Back = Geri -Toolbar.Forward = İleri -Toolbar.Stop = Durdur -Toolbar.Rename = Yeniden Adlandır -Toolbar.SelectAll = Tümünü seç -Toolbar.CustomizeFolder = Bu klasörü özelleştir -Toolbar.MapDrive = Ağ sürücüsüne bağlan -Toolbar.DisconnectDrive = Ağ sürücüsü bağlantısını kes -Toolbar.NavigationPane = Gezinti bölmesi -Toolbar.DetailsPane = Ayrıntılar bölmesi -Toolbar.PreviewPane = Önizleme bölmesi -Toolbar.CopyTo = Kopyalama hedefi -Toolbar.MoveTo = Taşıma hedefi -Toolbar.Deselect = Hiçbirini seçme -Toolbar.InvertSelection = Diğerlerini seç -Toolbar.FolderOptions = Klasör seçenekleri -Toolbar.ShowHiddenFiles = Gizli dosya ve klasörler -Toolbar.ShowSystemFiles = Sistem dosyaları -Toolbar.ShowExtensions = Dosya adı uzantıları -Status.FreeSpace = %s (Boş disk boş alanı: %s) -Status.Item = %s öğe -Status.Items = %s öğe -Status.ItemSelected = %s öğe seçili -Status.ItemsSelected = %s öğe seçili - - -[uk-UA] - Ukrainian (Ukraine) -Copy.Cancel = Скасувати -Copy.More = Додатково... -Copy.CopyHere = &Копіювати сюди -Copy.MoveHere = П&еремістити -Copy.Title = Підтвердження заміни файлу -Copy.Subtitle = Ця папка вже містить файл з ім'ям "%s". -Copy.SubtitleRO = Ця папка вже містить доступний лише для читання файл з ім'ям "%s". -Copy.SubtitleSys = Ця папка вже містить системний файл з ім'ям "%s". -Copy.Prompt1 = Замінити наявний файл -Copy.Prompt2 = на цей файл? -Copy.Yes = &Так -Copy.No = &Ні -Copy.YesAll = Так для &всіх -Folder.Title = Підтвердження заміни папки -Folder.Prompt = Розпочати переміщення або копіювання папки? -Toolbar.GoUp = На один рівень вгору -Toolbar.Cut = Вирізати -Toolbar.Copy = Копіювати -Toolbar.Paste = Вставити -Toolbar.PasteShortcut = Вставити ярлик -Toolbar.Delete = Видалити -Toolbar.Email = Надіслати виділені об'єкти електронною поштою -Toolbar.Properties = Властивості -Toolbar.NewFolder = Створити папку -Toolbar.ZipFolder = Нова стиснута ZIP-папка -Toolbar.ExtraLarge = Величезні піктограми -Toolbar.Large = Великі піктограми -Toolbar.Medium = Середні піктограми -Toolbar.Small = Дрібні піктограми -Toolbar.List = Список -Toolbar.Details = Таблиця -Toolbar.Tiles = Мозаїка -Toolbar.Content = Вміст -Toolbar.Undo = Скасувати -Toolbar.Redo = Повторити -Toolbar.Refresh = Оновити -Toolbar.Back = Назад -Toolbar.Forward = Вперед -Toolbar.Stop = Зупинити -Toolbar.Rename = Перейменувати -Toolbar.SelectAll = Вибрати всі -Toolbar.CustomizeFolder = Настроїти папку -Toolbar.MapDrive = Підключити мережний диск -Toolbar.DisconnectDrive = Відключити мережний диск -Toolbar.NavigationPane = Область переходів -Toolbar.DetailsPane = Область відомостей -Toolbar.PreviewPane = Область перегляду -Toolbar.CopyTo = Копіювати -Toolbar.MoveTo = Перемістити -Toolbar.Deselect = Скасувати виділення -Toolbar.InvertSelection = Обернути виділення -Toolbar.FolderOptions = Параметри папки -Toolbar.ShowHiddenFiles = Приховані файли й папки -Toolbar.ShowSystemFiles = Системні файли -Toolbar.ShowExtensions = Розширення імен файлів -Status.FreeSpace = %s (Доступно на диску: %s) -Status.Item = %s елемент -Status.Items = %s елементів -Status.ItemSelected = Вибрано елемент: %s -Status.ItemsSelected = Вибрано елементів: %s - - -[zh-CN] - Chinese (Simplified) -Copy.Cancel = 取消 -Copy.More = 其他... -Copy.CopyHere = 复制到当前位置(&C) -Copy.MoveHere = 移动到当前位置(&M) -Copy.Title = 确认文件替换 -Copy.Subtitle = 此文件夹已包含一个名为“%s”的文件。 -Copy.SubtitleRO = 此文件夹已包括一个名为“%s”的只读文件。 -Copy.SubtitleSys = 此文件夹已包括一个名为“%s”的系统文件。 -Copy.Prompt1 = 是否将现有文件 -Copy.Prompt2 = 替换为 -Copy.Yes = 是(&Y) -Copy.No = 否(&N) -Copy.YesAll = 全部(&A) -Folder.Title = 确认文件夹替换 -Folder.Prompt = 是否移动或复制文件夹? -Toolbar.GoUp = 向上一级 -Toolbar.Cut = 剪切 -Toolbar.Copy = 复制 -Toolbar.Paste = 粘贴 -Toolbar.PasteShortcut = 粘贴快捷方式 -Toolbar.Delete = 删除 -Toolbar.Email = 以电子邮件形式发送所选项目 -Toolbar.Properties = 属性 -Toolbar.NewFolder = 新文件夹 -Toolbar.ZipFolder = 新建压缩的(zipped)文件夹 -Toolbar.ExtraLarge = 超大图标 -Toolbar.Large = 大图标 -Toolbar.Medium = 中等图标 -Toolbar.Small = 小图标 -Toolbar.List = 列表 -Toolbar.Details = 详细信息 -Toolbar.Tiles = 平铺 -Toolbar.Content = 内容 -Toolbar.Undo = 撤消 -Toolbar.Redo = 恢复 -Toolbar.Refresh = 刷新 -Toolbar.Back = 后退 -Toolbar.Forward = 前进 -Toolbar.Stop = 停止 -Toolbar.Rename = 重命名 -Toolbar.SelectAll = 全选 -Toolbar.CustomizeFolder = 自定义文件夹 -Toolbar.MapDrive = 映射网络驱动器 -Toolbar.DisconnectDrive = 断开网络驱动器 -Toolbar.NavigationPane = 导航窗格 -Toolbar.DetailsPane = 细节窗格 -Toolbar.PreviewPane = 预览窗格 -Toolbar.CopyTo = 复制到​​ -Toolbar.MoveTo = 移动到​​ -Toolbar.Deselect = 全部取消 -Toolbar.InvertSelection = 反向选择 -Toolbar.FolderOptions = 文件夹选项 -Toolbar.ShowHiddenFiles = 隐藏文件和文件夹 -Toolbar.ShowSystemFiles = 系统文件 -Toolbar.ShowExtensions = 文件扩展名 -Status.FreeSpace = %s (磁盘可用空间: %s) -Status.Item = %s 项 -Status.Items = %s 个项目 -Status.ItemSelected = 已选择 %s 项 -Status.ItemsSelected = 已选择 %s 个项 - - -[zh-HK] - Chinese (Traditional) -Copy.Cancel = 取消 -Copy.More = 其他... -Copy.CopyHere = 複製到這裡(&C) -Copy.MoveHere = 移動到這裡(&M) -Copy.Title = 確認取代檔案 -Copy.Subtitle = 這個資料夾已經有一個名稱為 '%s' 的檔案。 -Copy.SubtitleRO = 這個資料夾已經有一個名稱為 '%s' 的唯讀檔。 -Copy.SubtitleSys = 這個資料夾已經有一個名稱為 '%s' 的系統檔。 -Copy.Prompt1 = 您要將目前的檔案 -Copy.Prompt2 = 取代成這個檔案嗎? -Copy.Yes = 是(&Y) -Copy.No = 否(&N) -Copy.YesAll = 全部取代(&A) -Folder.Title = 確認取代資料夾 -Folder.Prompt = 仍然要移動或複製資料夾? -Toolbar.GoUp = 上移一層 -Toolbar.Cut = 剪下 -Toolbar.Copy = 複製 -Toolbar.Paste = 貼上 -Toolbar.PasteShortcut = 貼上捷徑 -Toolbar.Delete = 刪除 -Toolbar.Email = 以電子郵件傳送選取的項目 -Toolbar.Properties = 內容 -Toolbar.NewFolder = 新增資料夾 -Toolbar.ZipFolder = 新壓縮 (zipped) 資料夾 -Toolbar.ExtraLarge = 特大圖示 -Toolbar.Large = 大圖示 -Toolbar.Medium = 中圖示 -Toolbar.Small = 小圖示 -Toolbar.List = 清單 -Toolbar.Details = 詳細資料 -Toolbar.Tiles = 並排 -Toolbar.Content = 內容 -Toolbar.Undo = 復原 -Toolbar.Redo = 重做 -Toolbar.Refresh = 重新整理 -Toolbar.Back = 上一頁 -Toolbar.Forward = 下一頁 -Toolbar.Stop = 停止 -Toolbar.Rename = 重新命名 -Toolbar.SelectAll = 全選 -Toolbar.CustomizeFolder = 自訂此資料夾 -Toolbar.MapDrive = 連線網路磁碟機 -Toolbar.DisconnectDrive = 中斷網路磁碟機 -Toolbar.NavigationPane = 瀏覽窗格 -Toolbar.DetailsPane = 詳細資料窗格 -Toolbar.PreviewPane = 預覽窗格 -Toolbar.CopyTo = 複製到​​ -Toolbar.MoveTo = 移至​​ -Toolbar.Deselect = 全部不選 -Toolbar.InvertSelection = 反向選擇 -Toolbar.FolderOptions = 資料夾選項 -Toolbar.ShowHiddenFiles = 隱藏的檔案和資料夾 -Toolbar.ShowSystemFiles = 系統檔 -Toolbar.ShowExtensions = 副檔名 -Status.FreeSpace = %s (磁碟可用空間: %s) -Status.Item = %s 個項目 -Status.Items = %s 個項目 -Status.ItemSelected = 選取了 %s 個項目 -Status.ItemsSelected = 選取了 %s 個項目 - - -[zh-TW] - Chinese (Traditional) -Copy.Cancel = 取消 -Copy.More = 其他... -Copy.CopyHere = 複製到這裡(&C) -Copy.MoveHere = 移動到這裡(&M) -Copy.Title = 確認取代檔案 -Copy.Subtitle = 這個資料夾已經有一個名稱為 '%s' 的檔案。 -Copy.SubtitleRO = 這個資料夾已經有一個名稱為 '%s' 的唯讀檔。 -Copy.SubtitleSys = 這個資料夾已經有一個名稱為 '%s' 的系統檔。 -Copy.Prompt1 = 您要將目前的檔案 -Copy.Prompt2 = 取代成這個檔案嗎? -Copy.Yes = 是(&Y) -Copy.No = 否(&N) -Copy.YesAll = 全部取代(&A) -Folder.Title = 確認取代資料夾 -Folder.Prompt = 仍然要移動或複製資料夾? -Toolbar.GoUp = 上移一層 -Toolbar.Cut = 剪下 -Toolbar.Copy = 複製 -Toolbar.Paste = 貼上 -Toolbar.PasteShortcut = 貼上捷徑 -Toolbar.Delete = 刪除 -Toolbar.Email = 以電子郵件傳送選取的項目 -Toolbar.Properties = 內容 -Toolbar.NewFolder = 新增資料夾 -Toolbar.ZipFolder = 新壓縮 (zipped) 資料夾 -Toolbar.ExtraLarge = 特大圖示 -Toolbar.Large = 大圖示 -Toolbar.Medium = 中圖示 -Toolbar.Small = 小圖示 -Toolbar.List = 清單 -Toolbar.Details = 詳細資料 -Toolbar.Tiles = 並排 -Toolbar.Content = 內容 -Toolbar.Undo = 復原 -Toolbar.Redo = 重做 -Toolbar.Refresh = 重新整理 -Toolbar.Back = 上一頁 -Toolbar.Forward = 下一頁 -Toolbar.Stop = 停止 -Toolbar.Rename = 重新命名 -Toolbar.SelectAll = 全選 -Toolbar.CustomizeFolder = 自訂此資料夾 -Toolbar.MapDrive = 連線網路磁碟機 -Toolbar.DisconnectDrive = 中斷網路磁碟機 -Toolbar.NavigationPane = 瀏覽窗格 -Toolbar.DetailsPane = 詳細資料窗格 -Toolbar.PreviewPane = 預覽窗格 -Toolbar.CopyTo = 複製到​​ -Toolbar.MoveTo = 移至​​ -Toolbar.Deselect = 全部不選 -Toolbar.InvertSelection = 反向選擇 -Toolbar.FolderOptions = 資料夾選項 -Toolbar.ShowHiddenFiles = 隱藏的檔案和資料夾 -Toolbar.ShowSystemFiles = 系統檔 -Toolbar.ShowExtensions = 副檔名 -Status.FreeSpace = %s (磁碟可用空間: %s) -Status.Item = %s 個項目 -Status.Items = %s 個項目 -Status.ItemSelected = 選取了 %s 個項目 -Status.ItemsSelected = 選取了 %s 個項目 diff --git a/Src/ClassicExplorer/SettingsUI.cpp b/Src/ClassicExplorer/SettingsUI.cpp deleted file mode 100644 index f70b77a..0000000 --- a/Src/ClassicExplorer/SettingsUI.cpp +++ /dev/null @@ -1,765 +0,0 @@ -// 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 "ExplorerBand.h" -#include "ExplorerBHO.h" -#include "SettingsUI.h" -#include "Settings.h" -#include "SettingsUIHelper.h" -#include "LanguageSettingsHelper.h" -#include "ResourceHelper.h" -#include "Translations.h" -#include "resource.h" -#include "dllmain.h" -#include - -enum -{ - SETTINGS_STYLE_WIN7=1, - SETTINGS_STYLE_WIN8=2, - SETTINGS_STYLE_MASK=SETTINGS_STYLE_WIN7|SETTINGS_STYLE_WIN8, -}; - -static const CStdCommand g_StdCommands[]={ - {L"SEPARATOR",IDS_SEPARATOR_ITEM,IDS_SEPARATOR_TIP}, - {L"up",IDS_UP_ITEM,IDS_UP_TIP,L"UpItem",NULL,L"$Toolbar.GoUp",L",2",NULL,0,L",3"}, - {L"cut",IDS_CUT_ITEM,IDS_CUT_TIP,L"CutItem",NULL,L"$Toolbar.Cut",L"shell32.dll,16762"}, - {L"copy",IDS_COPY_ITEM,IDS_COPY_TIP,L"CopyItem",NULL,L"$Toolbar.Copy",L"shell32.dll,243"}, - {L"paste",IDS_PASTE_ITEM,IDS_PASTE_TIP,L"PasteItem",NULL,L"$Toolbar.Paste",L"shell32.dll,16763"}, - {L"paste_shortcut",IDS_PASTE_LNK_ITEM,IDS_PASTE_SHORTCUT_TIP,L"PasteShortcutItem",NULL,L"$Toolbar.PasteShortcut",L"shell32.dll,16763",NULL,SETTINGS_STYLE_WIN7}, - {L"paste_shortcut",IDS_PASTE_LNK_ITEM,IDS_PASTE_SHORTCUT_TIP,L"PasteShortcutItem",NULL,L"$Toolbar.PasteShortcut",L"imageres.dll,5301",NULL,SETTINGS_STYLE_WIN8}, - {L"delete",IDS_DELETE_ITEM,IDS_DELETE_TIP,L"DeleteItem",NULL,L"$Toolbar.Delete",L"shell32.dll,240"}, - {L"properties",IDS_PROPERTIES_ITEM,IDS_PROPERTIES_TIP,L"PropertiesItem",NULL,L"$Toolbar.Properties",L"shell32.dll,253"}, - {L"email",IDS_EMAIL_ITEM,IDS_EMAIL_TIP,L"EmailItem",NULL,L"$Toolbar.Email",L"shell32.dll,265"}, - {L"settings",IDS_SETTINGS_ITEM,IDS_SETTINGS_TIP,L"SettingsItem",NULL,L"$Toolbar.Settings",L",1"}, - {L"refresh",IDS_REFRESH_ITEM,IDS_REFRESH_TIP,L"RefreshItem",NULL,L"$Toolbar.Refresh",L"shell32.dll,16739"}, - {L"stop",IDS_STOP_ITEM,IDS_STOP_TIP,L"StopItem",NULL,L"$Toolbar.Stop",L"imageres.dll,98"}, - {L"rename",IDS_RENAME_ITEM,IDS_RENAME_TIP,L"RenameItem",NULL,L"$Toolbar.Rename",L"shell32.dll,242"}, - {L"customizefolder",IDS_CUSTOMIZE_ITEM,IDS_CUSTOMIZEFOLDER_TIP,L"CustomizeFolderItem",NULL,L"$Toolbar.CustomizeFolder",L"shell32.dll,274"}, - {L"folderoptions",IDS_FOLDEROPTIONS,IDS_FOLDEROPTIONS_TIP,L"FolderOptionsItem",NULL,L"$Toolbar.FolderOptions",L"imageres.dll,166"}, - {L"newfolder",IDS_NEWFOLDER_ITEM,IDS_NEWFOLDER_TIP,L"NewFolderItem",NULL,L"$Toolbar.NewFolder",L"shell32.dll,319"}, - {L"zipfolder",IDS_ZIP_ITEM,IDS_ZIP_TIP,L"ZipItem",NULL,L"$Toolbar.ZipFolder",L"imageres.dll,174"}, - {L"nav_pane",IDS_NAVPANE_ITEM,IDS_NAVPANE_TIP,L"NavPaneItem",NULL,L"$Toolbar.NavigationPane",L"shell32.dll,16755"}, - {L"details_pane",IDS_DETAILSPANE_ITEM,IDS_DETAILSPANE_TIP,L"DetailsPaneItem",NULL,L"$Toolbar.DetailsPane",L"shell32.dll,16759",NULL,SETTINGS_STYLE_WIN7}, - {L"details_pane",IDS_DETAILSPANE_ITEM,IDS_DETAILSPANE_TIP,L"DetailsPaneItem",NULL,L"$Toolbar.DetailsPane",L"shell32.dll,16814",NULL,SETTINGS_STYLE_WIN8}, - {L"preview_pane",IDS_PREVIEWPANE_ITEM,IDS_PREVIEWPANE_TIP,L"PreviewPaneItem",NULL,L"$Toolbar.PreviewPane",L"shell32.dll,16757"}, - {L"mapdrive",IDS_MAP_DRIVE_ITEM,IDS_MAP_DRIVE_TIP,L"MapDriveItem",NULL,L"$Toolbar.MapDrive",L"shell32.dll,16779"}, - {L"disconnect",IDS_DISCONNECT_ITEM,IDS_DISCONNECT_DRIVE_TIP,L"DisconnectItem",NULL,L"$Toolbar.DisconnectDrive",L"shell32.dll,11"}, - {L"viewtiles",IDS_VIEWTILES_ITEM,IDS_VIEWTILES_TIP,L"TilesItem",NULL,L"$Toolbar.Tiles",L"shell32.dll,62999"}, - {L"viewdetails",IDS_VIEWDETAILS_ITEM,IDS_VIEWDEATAILS_TIP,L"DetailsItem",NULL,L"$Toolbar.Details",L"shell32.dll,62998"}, - {L"viewlist",IDS_VIEWLIST_ITEM,IDS_VIEWLIST_TIP,L"ListItem",NULL,L"$Toolbar.List",L"shell32.dll,63000"}, - {L"viewcontent",IDS_VIEWCONTENT_ITEM,IDS_VIEWCONTENT_TIP,L"ContentItem",NULL,L"$Toolbar.Content",L"shell32.dll,63011"}, - {L"viewicons_small",IDS_VIEWICONS1_ITEM,IDS_VIEWICONS1_TIP,L"Icons1Item",NULL,L"$Toolbar.Small",L"shell32.dll,63010"}, - {L"viewicons_medium",IDS_VIEWICONS2_ITEM,IDS_VIEWICONS2_TIP,L"Icons2Item",NULL,L"$Toolbar.Medium",L"shell32.dll,63009"}, - {L"viewicons_large",IDS_VIEWICONS3_ITEM,IDS_VIEWICONS3_TIP,L"Icons3Item",NULL,L"$Toolbar.Large",L"shell32.dll,63008"}, - {L"viewicons_extralarge",IDS_VIEWICONS4_ITEM,IDS_VIEWICONS4_TIP,L"Icons4Item",NULL,L"$Toolbar.ExtraLarge",L"shell32.dll,63001"}, - {L"moveto",IDS_MOVETO_ITEM,IDS_MOVETO_TIP,L"MoveToItem",NULL,L"$Toolbar.MoveTo",L"",NULL,SETTINGS_STYLE_WIN7}, - {L"moveto",IDS_MOVETO_ITEM,IDS_MOVETO_TIP,L"MoveToItem",NULL,L"$Toolbar.MoveTo",L"imageres.dll,5303",NULL,SETTINGS_STYLE_WIN8}, - {L"copyto",IDS_COPYTO_ITEM,IDS_COPYTO_TIP,L"CopyToItem",NULL,L"$Toolbar.CopyTo",L"",NULL,SETTINGS_STYLE_WIN7}, - {L"copyto",IDS_COPYTO_ITEM,IDS_COPYTO_TIP,L"CopyToItem",NULL,L"$Toolbar.CopyTo",L"imageres.dll,5304",NULL,SETTINGS_STYLE_WIN8}, - {L"undo",IDS_UNDO_ITEM,IDS_UNDO_TIP,L"UndoItem",NULL,L"$Toolbar.Undo",L"",NULL,SETTINGS_STYLE_WIN7}, - {L"undo",IDS_UNDO_ITEM,IDS_UNDO_TIP,L"UndoItem",NULL,L"$Toolbar.Undo",L"imageres.dll,5315",NULL,SETTINGS_STYLE_WIN8}, - {L"redo",IDS_REDO_ITEM,IDS_REDO_TIP,L"RedoItem",NULL,L"$Toolbar.Redo",L"",NULL,SETTINGS_STYLE_WIN7}, - {L"redo",IDS_REDO_ITEM,IDS_REDO_TIP,L"RedoItem",NULL,L"$Toolbar.Redo",L"imageres.dll,5311",NULL,SETTINGS_STYLE_WIN8}, - {L"selectall",IDS_SELECTALL_ITEM,IDS_SELECTALL_TIP,L"SelectAllItem",NULL,L"$Toolbar.SelectAll",L"",NULL,SETTINGS_STYLE_WIN7}, - {L"selectall",IDS_SELECTALL_ITEM,IDS_SELECTALL_TIP,L"SelectAllItem",NULL,L"$Toolbar.SelectAll",L"imageres.dll,5308",NULL,SETTINGS_STYLE_WIN8}, - {L"deselect",IDS_DESELECT_ITEM,IDS_DESELECT_TIP,L"DeselectItem",NULL,L"$Toolbar.Deselect",L"",NULL,SETTINGS_STYLE_WIN7}, - {L"deselect",IDS_DESELECT_ITEM,IDS_DESELECT_TIP,L"DeselectItem",NULL,L"$Toolbar.Deselect",L"imageres.dll,5309",NULL,SETTINGS_STYLE_WIN8}, - {L"invertselection",IDS_INVERT_ITEM,IDS_INVERT_TIP,L"InvertItem",NULL,L"$Toolbar.InvertSelection",L"",NULL,SETTINGS_STYLE_WIN7}, - {L"invertselection",IDS_INVERT_ITEM,IDS_INVERT_TIP,L"InvertItem",NULL,L"$Toolbar.InvertSelection",L"imageres.dll,5310",NULL,SETTINGS_STYLE_WIN8}, - {L"back",IDS_BACK_ITEM,IDS_BACK_TIP,L"BackItem",NULL,L"$Toolbar.Back",L""}, - {L"forward",IDS_FORWARD_ITEM,IDS_FORWARD_TIP,L"ForwardItem",NULL,L"$Toolbar.Forward",L""}, - {L"show_extensions",IDS_SHOW_EXTENSIONS,IDS_SHOW_EXTENSIONS_TIP,L"ShowExtensionsItem",NULL,L"$Toolbar.ShowExtensions"}, - {L"hidden_files",IDS_HIDDEN_FILES,IDS_HIDDEN_FILES_TIP,L"HiddenFilesItem",NULL,L"$Toolbar.ShowHiddenFiles"}, - {L"system_files",IDS_SYSTEM_FILES,IDS_SYSTEM_FILES_TIP,L"SystemFilesItem",NULL,L"$Toolbar.ShowSystemFiles"}, - {L"open ",IDS_OPEN_ITEM,IDS_OPEN_TIP,L"OpenFolderItem",NULL,NULL,L""}, - {L"sortby ",IDS_SORYBY_ITEM,IDS_SORT_TIP,L"SortFolderItem",NULL,NULL,L""}, - {L"groupby ",IDS_GROUPBY_ITEM,IDS_GROUP_TIP,L"GroupFolderItem",NULL,NULL,L""}, - {L"",IDS_CUSTOM_ITEM,IDS_CUSTOM_TIP,L"CustomItem",NULL,NULL,L""}, - {NULL}, -}; - -static const KNOWNFOLDERID *g_CommonLinks[]= -{ - &FOLDERID_ComputerFolder, - &FOLDERID_DesktopRoot, - &FOLDERID_Desktop, - &FOLDERID_Documents, - &FOLDERID_Downloads, - &FOLDERID_Favorites, - &FOLDERID_Games, - &FOLDERID_Links, - &FOLDERID_Music, - &FOLDERID_Pictures, - &FOLDERID_Videos, - &FOLDERID_Profile, - &FOLDERID_HomeGroup, - &FOLDERID_Libraries, - &FOLDERID_DocumentsLibrary, - &FOLDERID_MusicLibrary, - &FOLDERID_PicturesLibrary, - &FOLDERID_VideosLibrary, - &FOLDERID_NetworkFolder, - NULL, -}; - -const wchar_t *g_DefaultToolbar= - L"Items=UpItem, NavPaneItem, FolderOptionsItem, CutItem, CopyItem, PasteItem, DeleteItem, PropertiesItem, EmailItem, SEPARATOR, SettingsItem\n" - L"UpItem.Command=up\n" - L"UpItem.Tip=$Toolbar.GoUp\n" - L"UpItem.Icon=,2\n" - L"UpItem.IconDisabled=,3\n" - L"NavPaneItem.Command=nav_pane\n" - L"NavPaneItem.Tip=$Toolbar.NavigationPane\n" - L"NavPaneItem.Icon=shell32.dll,16755\n" - L"FolderOptionsItem.Command=folderoptions\n" - L"FolderOptionsItem.Tip=$Toolbar.FolderOptions\n" - L"FolderOptionsItem.Icon=imageres.dll,166\n" - L"FolderOptionsItem.Items=ShowExtensionsItem, HiddenFilesItem, SystemFilesItem\n" - L"ShowExtensionsItem.Command=show_extensions\n" - L"ShowExtensionsItem.Label=$Toolbar.ShowExtensions\n" - L"ShowExtensionsItem.Icon=none\n" - L"HiddenFilesItem.Command=hidden_files\n" - L"HiddenFilesItem.Label=$Toolbar.ShowHiddenFiles\n" - L"HiddenFilesItem.Icon=none\n" - L"SystemFilesItem.Command=system_files\n" - L"SystemFilesItem.Label=$Toolbar.ShowSystemFiles\n" - L"SystemFilesItem.Icon=none\n" - L"CutItem.Command=cut\n" - L"CutItem.Tip=$Toolbar.Cut\n" - L"CutItem.Icon=shell32.dll,16762\n" - L"CopyItem.Command=copy\n" - L"CopyItem.Tip=$Toolbar.Copy\n" - L"CopyItem.Icon=shell32.dll,243\n" - L"PasteItem.Command=paste\n" - L"PasteItem.Tip=$Toolbar.Paste\n" - L"PasteItem.Icon=shell32.dll,16763\n" - L"DeleteItem.Command=delete\n" - L"DeleteItem.Tip=$Toolbar.Delete\n" - L"DeleteItem.Icon=shell32.dll,240\n" - L"PropertiesItem.Command=properties\n" - L"PropertiesItem.Tip=$Toolbar.Properties\n" - L"PropertiesItem.Icon=shell32.dll,253\n" - L"EmailItem.Command=email\n" - L"EmailItem.Tip=$Toolbar.Email\n" - L"EmailItem.Icon=shell32.dll,265\n" - L"SettingsItem.Command=settings\n" - L"SettingsItem.Tip=$Toolbar.Settings\n" - L"SettingsItem.Icon=,1\n"; - -const wchar_t *g_DefaultToolbar2= - L"Items=NavPaneItem, FolderOptionsItem, CutItem, CopyItem, PasteItem, DeleteItem, PropertiesItem, EmailItem, SEPARATOR, SettingsItem\n" - L"NavPaneItem.Command=nav_pane\n" - L"NavPaneItem.Tip=$Toolbar.NavigationPane\n" - L"NavPaneItem.Icon=shell32.dll,16755\n" - L"FolderOptionsItem.Command=folderoptions\n" - L"FolderOptionsItem.Tip=$Toolbar.FolderOptions\n" - L"FolderOptionsItem.Icon=imageres.dll,166\n" - L"FolderOptionsItem.Items=ShowExtensionsItem, HiddenFilesItem, SystemFilesItem\n" - L"ShowExtensionsItem.Command=show_extensions\n" - L"ShowExtensionsItem.Label=$Toolbar.ShowExtensions\n" - L"ShowExtensionsItem.Icon=none\n" - L"HiddenFilesItem.Command=hidden_files\n" - L"HiddenFilesItem.Label=$Toolbar.ShowHiddenFiles\n" - L"HiddenFilesItem.Icon=none\n" - L"SystemFilesItem.Command=system_files\n" - L"SystemFilesItem.Label=$Toolbar.ShowSystemFiles\n" - L"SystemFilesItem.Icon=none\n" - L"CutItem.Command=cut\n" - L"CutItem.Tip=$Toolbar.Cut\n" - L"CutItem.Icon=shell32.dll,16762\n" - L"CopyItem.Command=copy\n" - L"CopyItem.Tip=$Toolbar.Copy\n" - L"CopyItem.Icon=shell32.dll,243\n" - L"PasteItem.Command=paste\n" - L"PasteItem.Tip=$Toolbar.Paste\n" - L"PasteItem.Icon=shell32.dll,16763\n" - L"DeleteItem.Command=delete\n" - L"DeleteItem.Tip=$Toolbar.Delete\n" - L"DeleteItem.Icon=shell32.dll,240\n" - L"PropertiesItem.Command=properties\n" - L"PropertiesItem.Tip=$Toolbar.Properties\n" - L"PropertiesItem.Icon=shell32.dll,253\n" - L"EmailItem.Command=email\n" - L"EmailItem.Tip=$Toolbar.Email\n" - L"EmailItem.Icon=shell32.dll,265\n" - L"SettingsItem.Command=settings\n" - L"SettingsItem.Tip=$Toolbar.Settings\n" - L"SettingsItem.Icon=,1\n"; - -/////////////////////////////////////////////////////////////////////////////// - -class CEditToolbarDlg: public CEditCustomItemDlg -{ -public: - CEditToolbarDlg( CTreeItem *pItem, bool bNoLinks, std::vector &modules ): CEditCustomItemDlg(pItem,modules) { m_bNoLinks=bNoLinks; } - - BEGIN_MSG_MAP( CEditToolbarDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - COMMAND_ID_HANDLER( IDOK, OnOK ) - COMMAND_ID_HANDLER( IDCANCEL, OnCancel ) - COMMAND_HANDLER( IDC_COMBOCOMMAND, CBN_KILLFOCUS, OnCommandChanged ) - COMMAND_HANDLER( IDC_COMBOCOMMAND, CBN_SELENDOK, OnCommandChanged ) - COMMAND_HANDLER( IDC_BUTTONCOMMAND, BN_CLICKED, OnBrowseCommand ) - COMMAND_HANDLER( IDC_BUTTONLINK, BN_CLICKED, OnBrowseLink ) - COMMAND_HANDLER( IDC_BUTTONICON, BN_CLICKED, OnBrowseIcon ) - COMMAND_HANDLER( IDC_BUTTONICOND, BN_CLICKED, OnBrowseIcon ) - COMMAND_HANDLER( IDC_COMBOLINK, CBN_KILLFOCUS, OnLinkChanged ) - COMMAND_HANDLER( IDC_COMBOLINK, CBN_SELENDOK, OnLinkChanged ) - COMMAND_HANDLER( IDC_EDITICON, EN_KILLFOCUS, OnIconChanged ) - COMMAND_HANDLER( IDC_EDITICOND, EN_KILLFOCUS, OnIconDChanged ) - COMMAND_HANDLER( IDC_BUTTONRESET, BN_CLICKED, OnReset ) - CHAIN_MSG_MAP( CEditCustomItemDlg ) - END_MSG_MAP() - - virtual BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_COMBOCOMMAND,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_COMBOLINK,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_BUTTONCOMMAND,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_BUTTONLINK,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_EDITLABEL,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_EDITTIP,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_EDITICON,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_BUTTONICON,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_EDITICOND,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_BUTTONICOND,MOVE_MOVE_X) - RESIZE_CONTROL(IDOK,MOVE_MOVE_X) - RESIZE_CONTROL(IDCANCEL,MOVE_MOVE_X) - END_RESIZE_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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCommandChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnLinkChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnIconChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnIconDChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowseCommand( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowseLink( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowseIcon( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnReset( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - -private: - bool m_bNoLinks; - int m_Style; -}; - -LRESULT CEditToolbarDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_Style=GetWinVersion()>=WIN_VER_WIN8?SETTINGS_STYLE_WIN8:SETTINGS_STYLE_WIN7; - CWindow commands=GetDlgItem(IDC_COMBOCOMMAND); - CWindow links=GetDlgItem(IDC_COMBOLINK); - InitDialog(commands,g_StdCommands,m_Style,SETTINGS_STYLE_MASK,links,g_CommonLinks); - SetDlgItemText(IDC_EDITLABEL,m_pItem->label); - SetDlgItemText(IDC_EDITTIP,m_pItem->tip); - SetDlgItemText(IDC_EDITICON,m_pItem->icon); - SetDlgItemText(IDC_EDITICOND,m_pItem->iconD); - - GetDlgItem(IDC_BUTTONRESET).EnableWindow(m_pItem->pStdCommand && *m_pItem->pStdCommand->name); - - UpdateIcons(IDC_ICONN,IDC_ICOND); - - CWindow tooltip=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|WS_EX_TRANSPARENT,TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_NOPREFIX|TTS_ALWAYSTIP,0,0,0,0,m_hWnd,NULL,g_Instance,NULL); - tooltip.SendMessage(TTM_SETMAXTIPWIDTH,0,GetSystemMetrics(SM_CXSCREEN)/2); - - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,(UINT_PTR)(HWND)commands}; - CString str=LoadStringEx(IDS_COMMAND_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - tool.uId=(UINT_PTR)(HWND)commands.GetWindow(GW_CHILD); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_LINK_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)links; - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - tool.uId=(UINT_PTR)(HWND)links.GetWindow(GW_CHILD); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_TEXT_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITLABEL); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_TIP_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITTIP); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_ICON_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITICON); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_ICOND_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITICOND); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_RESTORE_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_BUTTONRESET); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - return TRUE; -} - -LRESULT CEditToolbarDlg::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - GetDlgItemText(IDC_EDITLABEL,m_pItem->label); - m_pItem->label.TrimLeft(); - m_pItem->label.TrimRight(); - GetDlgItemText(IDC_EDITTIP,m_pItem->tip); - m_pItem->tip.TrimLeft(); - m_pItem->tip.TrimRight(); - - return CEditCustomItemDlg::OnOK(wNotifyCode,wID,hWndCtl,bHandled); -} - -LRESULT CEditToolbarDlg::OnCommandChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text=GetComboText(wNotifyCode,wID); - if (text==m_pItem->command) return 0; - m_pItem->SetCommand(text,g_StdCommands,m_Style,SETTINGS_STYLE_MASK); - GetDlgItem(IDC_BUTTONRESET).EnableWindow(m_pItem->pStdCommand && *m_pItem->pStdCommand->name); - UpdateIcons(IDC_ICONN,IDC_ICOND); - return 0; -} - -LRESULT CEditToolbarDlg::OnLinkChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text=GetComboText(wNotifyCode,wID); - if (text==m_pItem->link) return 0; - m_pItem->link=text; - UpdateIcons(IDC_ICONN,IDC_ICOND); - return 0; -} - -LRESULT CEditToolbarDlg::OnIconChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text; - GetDlgItemText(IDC_EDITICON,text); - text.TrimLeft(); - text.TrimRight(); - if (text==m_pItem->icon) return 0; - m_pItem->icon=text; - UpdateIcons(IDC_ICONN,IDC_ICOND); - return 0; -} - -LRESULT CEditToolbarDlg::OnIconDChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text; - GetDlgItemText(IDC_EDITICOND,text); - text.TrimLeft(); - text.TrimRight(); - if (text==m_pItem->iconD) return 0; - m_pItem->iconD=text; - UpdateIcons(IDC_ICONN,IDC_ICOND); - return 0; -} - -LRESULT CEditToolbarDlg::OnBrowseCommand( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - wchar_t text[_MAX_PATH]; - GetDlgItemText(IDC_COMBOCOMMAND,text,_countof(text)); - if (BrowseCommandHelper(m_hWnd,text)) - { - SetDlgItemText(IDC_COMBOCOMMAND,text); - SendMessage(WM_COMMAND,MAKEWPARAM(IDC_COMBOCOMMAND,CBN_KILLFOCUS)); - } - return 0; -} - -LRESULT CEditToolbarDlg::OnBrowseLink( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - wchar_t text[_MAX_PATH]; - GetDlgItemText(IDC_COMBOLINK,text,_countof(text)); - if (BrowseLinkHelper(m_hWnd,text)) - { - SetDlgItemText(IDC_COMBOLINK,text); - SendMessage(WM_COMMAND,MAKEWPARAM(IDC_COMBOLINK,CBN_KILLFOCUS)); - } - return 0; -} - -LRESULT CEditToolbarDlg::OnBrowseIcon( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - wchar_t text[_MAX_PATH]; - if (wID==IDC_BUTTONICON) wID=IDC_EDITICON; - if (wID==IDC_BUTTONICOND) wID=IDC_EDITICOND; - GetDlgItemText(wID,text,_countof(text)); - if (wID==IDC_EDITICOND && !*text) - GetDlgItemText(IDC_EDITICON,text,_countof(text)); - if (BrowseIconHelper(m_hWnd,text)) - { - SetDlgItemText(wID,text); - SendMessage(WM_COMMAND,MAKEWPARAM(wID,EN_KILLFOCUS)); - } - return 0; -} - -LRESULT CEditToolbarDlg::OnReset( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (!m_pItem->pStdCommand || !*m_pItem->pStdCommand->name) - return 0; - m_pItem->link.Empty(); - m_pItem->label=m_pItem->pStdCommand->label; - m_pItem->tip=m_pItem->pStdCommand->tip; - m_pItem->icon=m_pItem->pStdCommand->icon; - m_pItem->iconD=m_pItem->pStdCommand->iconD; - SendDlgItemMessage(IDC_COMBOLINK,CB_SETCURSEL,-1); - SetDlgItemText(IDC_EDITLABEL,m_pItem->label); - SetDlgItemText(IDC_EDITTIP,m_pItem->tip); - SetDlgItemText(IDC_EDITICON,m_pItem->icon); - SetDlgItemText(IDC_EDITICOND,m_pItem->iconD); - - UpdateIcons(IDC_ICONN,IDC_ICOND); - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -class CCustomToolbarDlg: public CCustomTreeDlg -{ -public: - CCustomToolbarDlg( void ): CCustomTreeDlg(false,g_StdCommands,GetWinVersion()>=WIN_VER_WIN8?SETTINGS_STYLE_WIN8:SETTINGS_STYLE_WIN7,SETTINGS_STYLE_MASK) {} - -protected: - virtual void ParseTreeItemExtra( CTreeItem *pItem, CSettingsParser &parser ); - virtual void SerializeItemExtra( CTreeItem *pItem, std::vector &stringBuilder ); - virtual bool EditItem( CTreeItem *pItem, HWND tree, HTREEITEM hItem, std::vector &modules ); -}; - -void CCustomToolbarDlg::ParseTreeItemExtra( CTreeItem *pItem, CSettingsParser &parser ) -{ - wchar_t text[256]; - Sprintf(text,_countof(text),L"%s.IconDisabled",pItem->name); - pItem->iconD=parser.FindSetting(text,L""); -} - -void CCustomToolbarDlg::SerializeItemExtra( CTreeItem *pItem, std::vector &stringBuilder ) -{ - if (!pItem->iconD.IsEmpty()) - { - wchar_t text[2048]; - Sprintf(text,_countof(text),L"%s.IconDisabled=%s\n",pItem->name,pItem->iconD); - AppendString(stringBuilder,text); - } -} - -bool CCustomToolbarDlg::EditItem( CTreeItem *pItem, HWND tree, HTREEITEM hItem, std::vector &modules ) -{ - bool bNoLinks=(TreeView_GetParent(tree,hItem) || TreeView_GetChild(tree,hItem)); - return CEditToolbarDlg(pItem,bNoLinks,modules).Run(m_hWnd,IDD_CUSTOMTOOLBAR); -} - -class CCustomToolbarPanel: public ISettingsPanel -{ -public: - virtual HWND Create( HWND parent ); - virtual HWND Activate( CSetting *pGroup, const RECT &rect, bool bReset ); - virtual bool Validate( HWND parent ) { return true; } - -private: - static CCustomToolbarDlg s_Dialog; -}; - -CCustomToolbarDlg CCustomToolbarPanel::s_Dialog; - -HWND CCustomToolbarPanel::Create( HWND parent ) -{ - if (!s_Dialog.m_hWnd) - s_Dialog.Create(parent,LoadDialogEx(IDD_CUSTOMTREE)); - return s_Dialog.m_hWnd; -} - -HWND CCustomToolbarPanel::Activate( CSetting *pGroup, const RECT &rect, bool bReset ) -{ - s_Dialog.SetGroup(pGroup,bReset); - s_Dialog.SetWindowPos(HWND_TOP,&rect,SWP_SHOWWINDOW); - return s_Dialog.m_hWnd; -} - -static CCustomToolbarPanel g_CustomToolbarPanel; - -/////////////////////////////////////////////////////////////////////////////// - -static CSetting g_Settings[]={ -{L"Basic",CSetting::TYPE_GROUP,IDS_BASIC_SETTINGS}, - {L"EnableSettings",CSetting::TYPE_BOOL,0,0,1,CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"ProcessWhiteList",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"ProcessBlackList",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"NoInitialToolbar",CSetting::TYPE_BOOL,0,0,0,CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - -{L"NavigationPane",CSetting::TYPE_GROUP,IDS_NAVIGATION_SETTINGS}, - {L"TreeStyle",CSetting::TYPE_INT,IDS_TREE_STYLE,IDS_TREE_STYLE_TIP,2,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"XPClassic",CSetting::TYPE_RADIO,IDS_XPCLASSIC,IDS_XPCLASSIC_TIP}, - {L"XPSimple",CSetting::TYPE_RADIO,IDS_XPSIMPLE,IDS_XPSIMPLE_TIP}, - {L"Vista",CSetting::TYPE_RADIO,IDS_VISTA,IDS_VISTA_TIP}, - {L"HScrollbar",CSetting::TYPE_INT,IDS_SCROLLBAR,IDS_SCROLLBAR_TIP,0,CSetting::FLAG_WARM}, - {L"Default",CSetting::TYPE_RADIO,IDS_SCROLLBAR_DEFAULT,IDS_SCROLLBAR_DEFAULT_TIP}, - {L"Off",CSetting::TYPE_RADIO,IDS_SCROLLBAR_OFF,IDS_SCROLLBAR_OFF_TIP}, - {L"On",CSetting::TYPE_RADIO,IDS_SCROLLBAR_ON,IDS_SCROLLBAR_ON_TIP}, - {L"NoFadeButtons",CSetting::TYPE_BOOL,IDS_NO_FADE,IDS_NO_FADE_TIP,0,CSetting::FLAG_WARM,L"TreeStyle"}, - {L"TreeItemSpacing",CSetting::TYPE_INT,IDS_TREE_SPACING,IDS_TREE_SPACING_TIP,0,CSetting::FLAG_WARM}, - {L"FullIndent",CSetting::TYPE_BOOL,IDS_FULL_INDENT,IDS_FULL_INDENT_TIP,0,CSetting::FLAG_WARM,L"TreeStyle"}, - {L"AutoNavigate",CSetting::TYPE_INT,IDS_NAVIGATE,IDS_NAVIGATE_TIP,0,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"Default",CSetting::TYPE_RADIO,IDS_NAV_DEFAULT,IDS_NAV_DEFAULT_TIP}, - {L"KeyboardOnly",CSetting::TYPE_RADIO,IDS_NAV_KBD,IDS_NAV_KBD_TIP}, - {L"Always",CSetting::TYPE_RADIO,IDS_NAV_ALWAYS,IDS_NAV_ALWAYS_TIP}, - {L"AutoNavDelay",CSetting::TYPE_INT,IDS_NAV_DELAY,IDS_NAV_DELAY_TIP,100,CSetting::FLAG_WARM,L"AutoNavigate"}, - {L"AltEnter",CSetting::TYPE_BOOL,IDS_ALT_ENTER,IDS_ALT_ENTER_TIP,1,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"FixFolderScroll",CSetting::TYPE_BOOL,IDS_FIX_SCROLL,IDS_FIX_SCROLL_TIP,1,CSetting::FLAG_WARM}, - -{L"TitleBar",CSetting::TYPE_GROUP,IDS_TITLE_SETTINGS}, - {L"ShowCaption",CSetting::TYPE_BOOL,IDS_SHOW_CAPTION,IDS_SHOW_CAPTION_TIP,0,CSetting::FLAG_WARM}, - {L"ShowIcon",CSetting::TYPE_BOOL,IDS_SHOW_ICON,IDS_SHOW_ICON_TIP,0,CSetting::FLAG_WARM}, - {L"DisableBreadcrumbs",CSetting::TYPE_BOOL,IDS_NO_BREADCRUMBS,IDS_NO_BREADCRUMBS_TIP,0,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"AddressBarHistory",CSetting::TYPE_INT,IDS_ADDRESS_HISTORY,IDS_ADDRESS_HISTORY_TIP,0,CSetting::FLAG_WARM}, - {L"NormalHistory",CSetting::TYPE_RADIO,IDS_NORMAL_HISTORY,IDS_NORMAL_HISTORY_TIP}, - {L"SimplePath",CSetting::TYPE_RADIO,IDS_SIMPLE_PATH,IDS_SIMPLE_PATH_TIP}, - {L"ExtendedPath",CSetting::TYPE_RADIO,IDS_EXTENDED_PATH,IDS_EXTENDED_PATH_TIP}, - {L"HideSearch",CSetting::TYPE_BOOL,IDS_HIDE_SEARCH,IDS_HIDE_SEARCH_TIP,0,CSetting::FLAG_WARM}, - {L"AddressAltD",CSetting::TYPE_STRING,IDS_ALT_D,IDS_ALT_D_TIP,L"",CSetting::FLAG_WARM}, - {L"UpHotkey2",CSetting::TYPE_HOTKEY_ANY,IDS_UP_HOTKEY,IDS_UP_HOTKEY_TIP,0,CSetting::FLAG_WARM}, - -{L"UpButton",CSetting::TYPE_GROUP,IDS_UP_SETTINGS}, - {L"ShowUpButton",CSetting::TYPE_INT,IDS_SHOW_UP,IDS_SHOW_UP_TIP,2,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"DontShow",CSetting::TYPE_RADIO,IDS_DONT_SHOW,IDS_DONT_SHOW_TIP}, - {L"BeforeBack",CSetting::TYPE_RADIO,IDS_BEFORE_BACK,IDS_BEFORE_BACK_TIP}, - {L"AfterBack",CSetting::TYPE_RADIO,IDS_AFTER_BACK,IDS_AFTER_BACK_TIP}, - {L"UpIconNormal",CSetting::TYPE_ICON,IDS_UP_NORMAL,IDS_UP_NORMAL_TIP,L",4",CSetting::FLAG_WARM,L"ShowUpButton"}, - {L"UpIconPressed",CSetting::TYPE_ICON,IDS_UP_PRESSED,IDS_UP_PRESSED_TIP,L",5",CSetting::FLAG_WARM,L"ShowUpButton"}, - {L"UpIconHot",CSetting::TYPE_ICON,IDS_UP_HOT,IDS_UP_HOT_TIP,L",6",CSetting::FLAG_WARM,L"ShowUpButton"}, - {L"UpIconDisabled",CSetting::TYPE_ICON,IDS_UP_DISABLED,IDS_UP_DISABLED_TIP,L",7",CSetting::FLAG_WARM,L"ShowUpButton"}, - {L"UpIconSize",CSetting::TYPE_INT,IDS_UP_SIZE,IDS_UP_SIZE_TIP,0,CSetting::FLAG_WARM,L"ShowUpButton"}, // 30 for DPI<120 and 36 for DPI>=120 - {L"UpHotkey",CSetting::TYPE_HOTKEY_ANY,IDS_UP_HOTKEY,IDS_UP_HOTKEY_TIP,0,CSetting::FLAG_WARM}, - -{L"Toolbar",CSetting::TYPE_GROUP,IDS_TOOLBAR_SETTINGS}, - {L"UseBigButtons",CSetting::TYPE_BOOL,IDS_BIG_BUTTONS,IDS_BIG_BUTTONS_TIP,1,CSetting::FLAG_WARM}, - {L"SmallIconSize",CSetting::TYPE_INT,IDS_SMALL_SIZE,IDS_SMALL_SIZE_TIP,-1,CSetting::FLAG_WARM}, // 16 for DPI<120 and 24 for DPI>=120 - {L"LargeIconSize",CSetting::TYPE_INT,IDS_LARGE_SIZE,IDS_LARGE_SIZE_TIP,-1,CSetting::FLAG_WARM}, // 24 for DPI<120 and 32 for DPI>=120 - {L"MenuIconSize",CSetting::TYPE_INT,IDS_MENU_SIZE,IDS_MENU_SIZE_TIP,16,CSetting::FLAG_WARM}, - {L"ToolbarListMode",CSetting::TYPE_BOOL,IDS_LIST_MODE,IDS_LIST_MODE_TIP,0,CSetting::FLAG_WARM}, - {L"SameSizeButtons",CSetting::TYPE_BOOL,IDS_SAME_SIZE,IDS_SAME_SIZE_TIP,0,CSetting::FLAG_WARM,L"ToolbarListMode=0"}, - {L"ResizeableToolbar",CSetting::TYPE_BOOL,IDS_RESIZEABLE,IDS_RESIZEABLE_TIP,0,CSetting::FLAG_WARM}, - -{L"CustomToolbar",CSetting::TYPE_GROUP,IDS_BUTTONS_SETTINGS,0,0,0,NULL,NULL,&g_CustomToolbarPanel}, - {L"ToolbarItems",CSetting::TYPE_MULTISTRING,0,0,g_DefaultToolbar,CSetting::FLAG_WARM}, - -{L"StatusBar",CSetting::TYPE_GROUP,IDS_STATUS_SETTINGS}, - {L"ShowFreeSpace",CSetting::TYPE_BOOL,IDS_FREE_SPACE,IDS_FREE_SPACE_TIP,1,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"ShowInfoTip",CSetting::TYPE_BOOL,IDS_INFO_TIP,IDS_INFO_TIP_TIP,1,CSetting::FLAG_WARM,L"ShowFreeSpace"}, - {L"ForceRefreshWin7",CSetting::TYPE_BOOL,IDS_FORCE_REFRESH,IDS_FORCE_REFRESH_TIP,1,CSetting::FLAG_WARM,L"ShowFreeSpace"}, - -{L"StatusBar8",CSetting::TYPE_GROUP,IDS_STATUS_SETTINGS}, - {L"ShowStatusBar",CSetting::TYPE_BOOL,IDS_SHOWSTATUSBAR,IDS_SHOWSTATUSBAR_TIP,1,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"ShowFreeSpace2",CSetting::TYPE_BOOL,IDS_FREE_SPACE,IDS_FREE_SPACE_TIP,1,CSetting::FLAG_WARM,L"ShowStatusBar",L"ShowStatusBar"}, - {L"ShowZone",CSetting::TYPE_BOOL,IDS_SHOW_ZONE,IDS_SHOW_ZONE_TIP,1,CSetting::FLAG_WARM,L"ShowStatusBar",L"ShowStatusBar"}, - {L"ShowInfoTip2",CSetting::TYPE_BOOL,IDS_INFO_TIP,IDS_INFO_TIP_TIP,1,CSetting::FLAG_WARM,L"ShowStatusBar",L"ShowStatusBar"}, - {L"StatusBarFont",CSetting::TYPE_FONT,IDS_STATUS_FONT,IDS_STATUS_FONT_TIP,L"Segoe UI, normal, 9",CSetting::FLAG_WARM,L"ShowStatusBar",L"ShowStatusBar"}, - -{L"FilePane",CSetting::TYPE_GROUP,IDS_FILEPANE_SETTINGS}, - {L"ShareOverlay",CSetting::TYPE_BOOL,IDS_SHARE,IDS_SHARE_TIP,0,CSetting::FLAG_COLD|CSetting::FLAG_BASIC}, - {L"ShareOverlayIcon",CSetting::TYPE_ICON,IDS_SHARE_ICON,IDS_SHARE_ICON_TIP,L"%windir%\\system32\\imageres.dll,164",CSetting::FLAG_COLD,L"ShareOverlay",L"ShareOverlay"}, - {L"ShareOverlayHidden",CSetting::TYPE_BOOL,IDS_SHARE_HIDDEN,IDS_SHARE_HIDDEN_TIP,0,CSetting::FLAG_COLD,L"ShareOverlay",L"ShareOverlay"}, - {L"ShareExplorer",CSetting::TYPE_BOOL,IDS_SHARE_EXPLORER,IDS_SHARE_EXPLORER_TIP,1,CSetting::FLAG_COLD,L"ShareOverlay",L"ShareOverlay"}, - {L"ShowHeaders",CSetting::TYPE_BOOL,IDS_HEADERS,IDS_HEADERS_TIP,0,CSetting::FLAG_WARM}, - {L"HideScrollTip",CSetting::TYPE_BOOL,IDS_SCROLLTIP,IDS_SCROLLTIP_TIP,0,CSetting::FLAG_WARM}, - -{L"FileOperation",CSetting::TYPE_GROUP,IDS_FILE_SETTINGS}, - {L"ReplaceFileUI",CSetting::TYPE_BOOL,IDS_FILE_UI,IDS_FILE_UI_TIP,1,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"ReplaceFolderUI",CSetting::TYPE_BOOL,IDS_FOLDER_UI,IDS_FOLDER_UI_TIP,1,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"OverwriteAlertLevel",CSetting::TYPE_INT,IDS_ALERT_LEVEL,IDS_ALERT_LEVEL_TIP,0,CSetting::FLAG_WARM,L"ReplaceFileUI",L"ReplaceFileUI"}, - {L"NoAlert",CSetting::TYPE_RADIO,IDS_NO_ALERT,IDS_NO_ALERT_TIP}, - {L"SystemFiles",CSetting::TYPE_RADIO,IDS_SYS_FILES,IDS_SYS_FILES_TIP}, - {L"ReadOnlyFiles",CSetting::TYPE_RADIO,IDS_RO_FILES,IDS_RO_FILES_TIP}, - {L"EnableMore",CSetting::TYPE_BOOL,IDS_MORE,IDS_MORE_TIP,0,CSetting::FLAG_WARM}, - {L"MoreProgressDelay",CSetting::TYPE_INT,IDS_MORE_DELAY,IDS_MORE_DELAY_TIP,-1,CSetting::FLAG_WARM,L"EnableMore",L"EnableMore"}, // 500 for Windows 7 Aero, and 0 otherwise - {L"FileExplorer",CSetting::TYPE_BOOL,IDS_FILE_EXPLORER,IDS_FILE_EXPLORER_TIP,1,CSetting::FLAG_COLD}, - -{L"Language",CSetting::TYPE_GROUP,IDS_LANGUAGE_SETTINGS,0,0,0,NULL,NULL,GetLanguageSettings(COMPONENT_EXPLORER)}, - {L"Language",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_COLD|CSetting::FLAG_SHARED}, - -{NULL} -}; - -void UpgradeSettings( bool bShared ) -{ -} - -void UpdateSettings( void ) -{ - HDC hdc=GetDC(NULL); - int dpi=GetDeviceCaps(hdc,LOGPIXELSY); - ReleaseDC(NULL,hdc); - UpdateSetting(L"SmallIconSize",CComVariant((dpi>=120)?24:16),false); - UpdateSetting(L"LargeIconSize",CComVariant((dpi>=120)?32:24),false); - UpdateSetting(L"UpIconSize",CComVariant((dpi>=120)?36:30),false); - FindSetting(L"UpHotkey2")->pLinkTo=FindSetting(L"UpHotkey"); - - if (GetWinVersion()>=WIN_VER_WIN8) - { - // Windows 8 - HideSettingGroup(L"StatusBar",true); - HideSetting(L"ShowFreeSpace",true); - FindSetting(L"ShowFreeSpace2")->pLinkTo=FindSetting(L"ShowFreeSpace"); - FindSetting(L"ShowInfoTip2")->pLinkTo=FindSetting(L"ShowInfoTip"); - - HideSettingGroup(L"UpButton",true); - UpdateSetting(L"ShowUpButton",CComVariant(0),false); HideSetting(L"ShowUpButton",true); - - HideSettingGroup(L"FileOperation",true); - UpdateSetting(L"ReplaceFileUI",CComVariant(0),false); HideSetting(L"ReplaceFileUI",true); - UpdateSetting(L"ReplaceFolderUI",CComVariant(0),false); HideSetting(L"ReplaceFolderUI",true); - - UpdateSetting(L"ShowCaption",CComVariant(0),false); HideSetting(L"ShowCaption",true); - UpdateSetting(L"ShowIcon",CComVariant(0),false); HideSetting(L"ShowIcon",true); - UpdateSetting(L"FixFolderScroll",CComVariant(0),false); HideSetting(L"FixFolderScroll",true); - UpdateSetting(L"ToolbarItems",CComVariant(g_DefaultToolbar2),false); - - if (GetWinVersion()>=WIN_VER_WIN10) - { - FindSetting(L"TreeStyle")[1].flags|=CSetting::FLAG_HIDDEN; - } - } - else - { - // Windows 7 - int delay=0; - BOOL comp; - if (SUCCEEDED(DwmIsCompositionEnabled(&comp)) && comp) - delay=500; - UpdateSetting(L"MoreProgressDelay",CComVariant(delay),false); - HideSetting(L"UpHotkey2",true); - HideSettingGroup(L"StatusBar8",true); - } - - 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); -} - -static bool g_bCopyHook0; // initial state of the copy hook before the settings are edited - -void InitSettings( void ) -{ - InitSettings(g_Settings,COMPONENT_EXPLORER,NULL); - g_bCopyHook0=GetWinVersion()>24,(ver>>16)&0xFF,ver&0xFFFF); - else - Sprintf(title,_countof(title),LoadStringEx(IDS_SETTINGS_TITLE)); - EditSettings(title,true,0); -} - -bool DllImportSettingsXml( const wchar_t *fname ) -{ - return ImportSettingsXml(fname); -} - -bool DllExportSettingsXml( const wchar_t *fname ) -{ - return ExportSettingsXml(fname); -} - -#ifndef _WIN64 -bool DllSaveAdmx( const char *admxFile, const char *admlFile, const char *docFile, const wchar_t *language ) -{ - WaitDllInitThread(); - 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); - } - LoadTranslationResources(dll,NULL); - return SaveAdmx(COMPONENT_EXPLORER,admxFile,admlFile,docFile); -} -#endif diff --git a/Src/ClassicExplorer/SettingsUI.h b/Src/ClassicExplorer/SettingsUI.h deleted file mode 100644 index e8145cc..0000000 --- a/Src/ClassicExplorer/SettingsUI.h +++ /dev/null @@ -1,9 +0,0 @@ -// 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 - -void InitSettings( void ); -void EditSettings( void ); -void ShowSettingsMenu( HWND parent, int x, int y ); diff --git a/Src/ClassicExplorer/ShareOverlay.cpp b/Src/ClassicExplorer/ShareOverlay.cpp deleted file mode 100644 index f85a9eb..0000000 --- a/Src/ClassicExplorer/ShareOverlay.cpp +++ /dev/null @@ -1,134 +0,0 @@ -// 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 - -// ShareOverlay.cpp : Implementation of CShareOverlay - -#include "stdafx.h" -#include "ShareOverlay.h" - -// CShareOverlay - adds an overlay icon to the shared folders - -bool CShareOverlay::s_bEnabled=false; -bool CShareOverlay::s_bShowHidden=false; -int CShareOverlay::s_Index; -wchar_t CShareOverlay::s_IconPath[_MAX_PATH]; - -CShareOverlay::CShareOverlay( void ) -{ - SHGetDesktopFolder(&m_pDesktop); - m_pShareInfo=NULL; - m_ShareCount=0; - m_UpdateTime=0; - InitializeCriticalSection(&m_Section); -} - -void CShareOverlay::FinalRelease( void ) -{ - DeleteCriticalSection(&m_Section); - if (m_pShareInfo) - NetApiBufferFree(m_pShareInfo); - m_pShareInfo=NULL; -} - -void CShareOverlay::InitOverlay( const wchar_t *icon, bool showHidden ) -{ - s_bEnabled=true; - if (icon) - { - Strcpy(s_IconPath,_countof(s_IconPath),icon); - wchar_t *c=wcsrchr(s_IconPath,','); - if (c) - { - *c=0; - s_Index=-_wtol(c+1); - } - else - s_Index=0; - } - else - { - Strcpy(s_IconPath,_countof(s_IconPath),L"%windir%\\system32\\imageres.dll"); - s_Index=-164; - } - DoEnvironmentSubst(s_IconPath,_countof(s_IconPath)); - s_bShowHidden=showHidden; -} - -HRESULT CShareOverlay::_InternalQueryInterface( REFIID iid, void** ppvObject ) -{ - if (iid==IID_IUnknown) - { - AddRef(); - *ppvObject=static_cast(this); - return S_OK; - } - if (iid==IID_IShellIconOverlayIdentifier && s_bEnabled) - { - // only support IShellIconOverlayIdentifier if s_bEnabled is true - AddRef(); - *ppvObject=static_cast(this); - return S_OK; - } - *ppvObject=NULL; - return E_NOINTERFACE; -} - -STDMETHODIMP CShareOverlay::IsMemberOf( LPCWSTR pwszPath, DWORD dwAttrib ) -{ - EnterCriticalSection(&m_Section); - UpdateShareInfo(); - HRESULT res=S_FALSE; - if (m_pShareInfo) - { - for (DWORD i=0;i - -#include "ClassicExplorer_i.h" - -// CShareOverlay - -class ATL_NO_VTABLE CShareOverlay : - public CComObjectRootEx, - public CComCoClass, - public IShellIconOverlayIdentifier -{ -public: - CShareOverlay( void ); - - DECLARE_REGISTRY_RESOURCEID(IDR_SHAREOVERLAY) - - DECLARE_PROTECT_FINAL_CONSTRUCT() - - HRESULT FinalConstruct( void ) - { - return S_OK; - } - - void FinalRelease( void ); - -public: - - HRESULT _InternalQueryInterface( REFIID iid, void** ppvObject ); - - // IShellIconOverlayIdentifier - STDMETHOD (IsMemberOf)( LPCWSTR pwszPath, DWORD dwAttrib ); - STDMETHOD (GetOverlayInfo)( LPWSTR pwszIconFile, int cchMax, int * pIndex, DWORD * pdwFlags ); - STDMETHOD (GetPriority)( int * pIPriority ); - - static void InitOverlay( const wchar_t *icon, bool showHidden ); - -private: - CComPtr m_pDesktop; - CRITICAL_SECTION m_Section; - SHARE_INFO_502 *m_pShareInfo; - DWORD m_ShareCount; - int m_UpdateTime; - - void UpdateShareInfo( void ); - - static bool s_bEnabled; - static bool s_bShowHidden; - static int s_Index; - static wchar_t s_IconPath[_MAX_PATH]; -}; - -OBJECT_ENTRY_AUTO(__uuidof(ShareOverlay), CShareOverlay) diff --git a/Src/ClassicExplorer/ShareOverlay.rgs b/Src/ClassicExplorer/ShareOverlay.rgs deleted file mode 100644 index 4ec4d9e..0000000 --- a/Src/ClassicExplorer/ShareOverlay.rgs +++ /dev/null @@ -1,49 +0,0 @@ -HKCR -{ - ClassicExplorer.ShareOverlay.1 = s 'ShareOverlay Class' - { - CLSID = s '{594D4122-1F87-41E2-96C7-825FB4796516}' - } - ClassicExplorer.ShareOverlay = s 'ShareOverlay Class' - { - CLSID = s '{594D4122-1F87-41E2-96C7-825FB4796516}' - CurVer = s 'ClassicExplorer.ShareOverlay.1' - } - NoRemove CLSID - { - ForceRemove {594D4122-1F87-41E2-96C7-825FB4796516} = s 'ShareOverlay Class' - { - ProgID = s 'ClassicExplorer.ShareOverlay.1' - VersionIndependentProgID = s 'ClassicExplorer.ShareOverlay' - ForceRemove 'Programmable' - InprocServer32 = s '%MODULE%' - { - val ThreadingModel = s 'Apartment' - } - 'TypeLib' = s '{BF8D124A-A4E0-402F-8152-4EF377E62586}' - } - } -} - -HKLM -{ - NoRemove SOFTWARE - { - NoRemove Microsoft - { - NoRemove Windows - { - NoRemove CurrentVersion - { - NoRemove Explorer - { - NoRemove ShellIconOverlayIdentifiers - { - ForceRemove ShareOverlay = s '{594D4122-1F87-41E2-96C7-825FB4796516}' - } - } - } - } - } - } -} diff --git a/Src/ClassicExplorer/dllmain.cpp b/Src/ClassicExplorer/dllmain.cpp deleted file mode 100644 index 42adb2e..0000000 --- a/Src/ClassicExplorer/dllmain.cpp +++ /dev/null @@ -1,283 +0,0 @@ -// 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 : Implementation of DllMain. - -#include "stdafx.h" -#include "resource.h" -#include "..\Lib\resource.h" -#include "dllmain.h" -#include "ShareOverlay.h" -#include "SettingsUI.h" -#include "Settings.h" -#include "Translations.h" -#include "ResourceHelper.h" -#include "FNVHash.h" -#include -#include - -#pragma comment(linker, \ - "\"/manifestdependency:type='Win32' "\ - "name='Microsoft.Windows.Common-Controls' "\ - "version='6.0.0.0' "\ - "processorArchitecture='*' "\ - "publicKeyToken='6595b64144ccf1df' "\ - "language='*'\"") - -CClassicExplorerModule _AtlModule; -bool g_bLogLevel; - -void InitClassicCopyProcess( void ); -void InitClassicCopyThread( void ); -void FreeClassicCopyThread( void ); - -bool g_bHookCopyThreads; -bool g_bExplorerExe; -LPCWSTR g_LoadedSettingsAtom; - -static int g_LoadDialogs[]= -{ - IDD_SETTINGS,0x04000000, - IDD_SETTINGSTREE,0x04000000, - IDD_BROWSEFORICON,0x04000000, - IDD_LANGUAGE,0x04000000, - IDD_CUSTOMTOOLBAR,0x04000000, - IDD_CUSTOMTREE,0x04000000, - IDD_PROGRESS,0x04000004, - 0 -}; - -const wchar_t *GetDocRelativePath( void ) -{ - return DOC_PATH; -} - -struct FindChild -{ - const wchar_t *className; - HWND hWnd; -}; - -static BOOL CALLBACK EnumChildProc( HWND hwnd, LPARAM lParam ) -{ - FindChild &find=*(FindChild*)lParam; - wchar_t name[256]; - GetClassName(hwnd,name,_countof(name)); - if (_wcsicmp(name,find.className)!=0) return TRUE; - find.hWnd=hwnd; - return FALSE; -} - -HWND FindChildWindow( HWND hwnd, const wchar_t *className ) -{ - FindChild find={className}; - EnumChildWindows(hwnd,EnumChildProc,(LPARAM)&find); - return find.hWnd; -} - -static DWORD g_TlsIndex; - -TlsData *GetTlsData( void ) -{ - void *pData=TlsGetValue(g_TlsIndex); - if (!pData) - { - pData=(void*)LocalAlloc(LPTR,sizeof(TlsData)); - memset(pData,0,sizeof(TlsData)); - TlsSetValue(g_TlsIndex,pData); - } - return (TlsData*)pData; -} - -static HANDLE g_DllInitThread; - -static DWORD CALLBACK DllInitThread( void* ) -{ - { - g_bLogLevel=false; - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\ClassicExplorer\\Settings",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - DWORD log; - if (regKey.QueryDWORDValue(L"LogLevel",log)==ERROR_SUCCESS) - g_bLogLevel=log!=0; - } - } - 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"ExplorerL10N.ini",path); - CString language=GetSettingString(L"Language"); - ParseTranslations(fname,language); - - HINSTANCE resInstance=LoadTranslationDll(language); - - LoadTranslationResources(resInstance,g_LoadDialogs); - - if (resInstance) - FreeLibrary(resInstance); - - if (GetSettingBool(L"ShareOverlay") && (g_bExplorerExe || !GetSettingBool(L"ShareExplorer"))) - CShareOverlay::InitOverlay(GetSettingString(L"ShareOverlayIcon"),GetSettingBool(L"ShareOverlayHidden")); - return 0; -} - -void WaitDllInitThread( void ) -{ - ATLASSERT(g_DllInitThread); - WaitForSingleObject(g_DllInitThread,INFINITE); -} - -// DLL Entry Point -extern "C" BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved ) -{ - if (dwReason==DLL_PROCESS_ATTACH) - { - g_Instance=hInstance; - g_TlsIndex=TlsAlloc(); - if (g_TlsIndex==TLS_OUT_OF_INDEXES) - return FALSE; // TLS failure - - CRegKey regSettings, regSettingsUser, regPolicy, regPolicyUser; - bool bUpgrade=OpenSettingsKeys(COMPONENT_EXPLORER,regSettings,regSettingsUser,regPolicy,regPolicyUser); - - enum - { - SETTING_SHARE_OVERLAY, - SETTING_SHARE_EXPLORER, - SETTING_FILE_EXPLORER, - SETTING_REPLACE_FILE, - SETTING_REPLACE_FOLDER, - SETTING_MORE, - SETTING_WHITE_LIST, - SETTING_BLACK_LIST, - }; - - CSetting settings[]={ - {L"ShareOverlay",CSetting::TYPE_BOOL,0,0,0}, - {L"ShareExplorer",CSetting::TYPE_BOOL,0,0,1}, - {L"FileExplorer",CSetting::TYPE_BOOL,0,0,1}, - {L"ReplaceFileUI",CSetting::TYPE_BOOL,0,0,1}, - {L"ReplaceFolderUI",CSetting::TYPE_BOOL,0,0,1}, - {L"EnableMore",CSetting::TYPE_BOOL,0,0,0}, - {L"ProcessWhiteList",CSetting::TYPE_STRING,0,0,L""}, - {L"ProcessBlackList",CSetting::TYPE_STRING,0,0,L""}, - {NULL} - }; - - wchar_t path[_MAX_PATH]; - GetModuleFileName(NULL,path,_countof(path)); - const wchar_t *exe=PathFindFileName(path); - g_bExplorerExe=(_wcsicmp(exe,L"explorer.exe")==0 || _wcsicmp(exe,L"verclsid.exe")==0); - bool bReplaceUI=false; - if (GetWinVersion()<=WIN_VER_WIN7) - { - settings[SETTING_REPLACE_FILE].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - settings[SETTING_REPLACE_FOLDER].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - settings[SETTING_MORE].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - bReplaceUI=(GetSettingBool(settings[SETTING_REPLACE_FILE]) || GetSettingBool(settings[SETTING_REPLACE_FOLDER]) || GetSettingBool(settings[SETTING_MORE])); - } - - settings[SETTING_FILE_EXPLORER].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - if (_wcsicmp(exe,L"regsvr32.exe")!=0 && _wcsicmp(exe,L"msiexec.exe")!=0 && _wcsicmp(exe,L"ClassicExplorerSettings.exe")!=0 && !g_bExplorerExe) - { - // some arbitrary app - settings[SETTING_SHARE_OVERLAY].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - settings[SETTING_SHARE_EXPLORER].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - if ((!GetSettingBool(settings[SETTING_SHARE_OVERLAY]) || GetSettingBool(settings[SETTING_SHARE_EXPLORER])) && (!bReplaceUI || GetSettingBool(settings[SETTING_FILE_EXPLORER]))) - return FALSE; - - settings[SETTING_WHITE_LIST].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - CString whiteList=GetSettingString(settings[SETTING_WHITE_LIST]); - if (!whiteList.IsEmpty()) - { - // check for whitelisted process names - const wchar_t *str=whiteList; - bool bFound=false; - while (*str) - { - wchar_t token[_MAX_PATH]; - str=GetToken(str,token,_countof(token),L",;"); - wchar_t *start=token; - while (*start==' ') - start++; - wchar_t *end=start+Strlen(start); - while (end>start && end[-1]==' ') - end--; - *end=0; - if (_wcsicmp(exe,start)==0) - { - bFound=true; - break; - } - } - if (!bFound) - return FALSE; - } - else - { - settings[SETTING_BLACK_LIST].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - // check for blacklisted process names - CString blackList=GetSettingString(settings[SETTING_BLACK_LIST]); - const wchar_t *str=blackList; - while (*str) - { - wchar_t token[_MAX_PATH]; - str=GetToken(str,token,_countof(token),L",;"); - wchar_t *start=token; - while (*start==' ') - start++; - wchar_t *end=start+Strlen(start); - while (end>start && end[-1]==' ') - end--; - *end=0; - if (_wcsicmp(exe,start)==0) - return FALSE; - } - } - } - - g_LoadedSettingsAtom=(LPCWSTR)GlobalAddAtom(L"ClassicExplorer.LoadedSettings"); - - g_bHookCopyThreads=(bReplaceUI && (g_bExplorerExe || !GetSettingBool(settings[SETTING_FILE_EXPLORER]))); - if (g_bHookCopyThreads) - { - InitClassicCopyProcess(); - InitClassicCopyThread(); - } - - g_DllInitThread=CreateThread(NULL,0,DllInitThread,NULL,0,NULL); - } - - if (dwReason==DLL_THREAD_ATTACH) - { - if (g_bHookCopyThreads) - InitClassicCopyThread(); - } - - if (dwReason==DLL_THREAD_DETACH) - { - void *pData=TlsGetValue(g_TlsIndex); - if (pData) - LocalFree((HLOCAL)pData); - TlsSetValue(g_TlsIndex,NULL); - if (g_bHookCopyThreads) - FreeClassicCopyThread(); - } - - if (dwReason==DLL_PROCESS_DETACH) - { - void *pData=TlsGetValue(g_TlsIndex); - if (pData) - LocalFree((HLOCAL)pData); - TlsSetValue(g_TlsIndex,NULL); - TlsFree(g_TlsIndex); - GlobalDeleteAtom((ATOM)(uintptr_t)g_LoadedSettingsAtom); - } - - return _AtlModule.DllMain(dwReason, lpReserved); -} diff --git a/Src/ClassicExplorer/dllmain.h b/Src/ClassicExplorer/dllmain.h deleted file mode 100644 index 23f8888..0000000 --- a/Src/ClassicExplorer/dllmain.h +++ /dev/null @@ -1,44 +0,0 @@ -// 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 class. -#pragma once - -#include "ClassicExplorer_i.h" -#include - -class CClassicExplorerModule : public CAtlDllModuleT< CClassicExplorerModule > -{ -public : - DECLARE_LIBID(LIBID_ClassicExplorerLib) - DECLARE_REGISTRY_APPID_RESOURCEID(IDR_CLASSICEXPLORER, "{65843E27-A491-429F-84A0-30A947E20F92}") -}; - -extern class CClassicExplorerModule _AtlModule; - -// Some utility functions used by various modules -HWND FindChildWindow( HWND hwnd, const wchar_t *className ); -INT_PTR RunSettingsDialog( HWND hWndParent, DLGPROC lpDialogFunc ); - -struct TlsData -{ - // the bho instance that runs on this thread - class CExplorerBHO *bho; - - // the band instance that runs on this thread - class CExplorerBand *band; - - // one hook for each copy thread - HHOOK copyHook; - - // bCopyMultiFile is true if the first dialog in this thread is multi-file (IDD_FILEMULTI) - // if so, all the rest are multi-file. this makes the UI consistent (like the position of the Yes button doesn't change) - bool bCopyMultiFile; -}; - -TlsData *GetTlsData( void ); -extern LPCWSTR g_LoadedSettingsAtom; -extern bool g_bLogLevel; - -void WaitDllInitThread( void ); diff --git a/Src/ClassicExplorer/resource.h b/Src/ClassicExplorer/resource.h deleted file mode 100644 index f2577bc..0000000 --- a/Src/ClassicExplorer/resource.h +++ /dev/null @@ -1,336 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by ClassicExplorer.rc -// -#define IDI_APPICON 1 -#define IDI_UP 2 -#define IDI_UPDISABLED 3 -#define IDI_UP2NORMAL 4 -#define IDI_UP2PRESSED 5 -#define IDI_UP2HOT 6 -#define IDI_UP2DISABLED 7 -#define IDR_CLASSICEXPLORER 101 -#define IDR_EXPLORERBAND 102 -#define IDR_EXPLORERBHO 104 -#define IDR_SHAREOVERLAY 105 -#define IDD_FILEMULTI 129 -#define IDD_FILE 130 -#define IDC_LINKMORE 204 -#define IDC_CHECKBHO 205 -#define IDC_CHECKCOPY 206 -#define IDC_STATICPROMPT1 207 -#define IDC_CHECKBIG 207 -#define IDC_STATICPROMPT2 208 -#define IDD_FILEMULTIR 208 -#define IDD_FILER 209 -#define IDC_STATICICON 209 -#define IDC_CHECK1 210 -#define IDD_FOLDERMULTI 210 -#define IDC_CHECK2 211 -#define IDD_FOLDER 211 -#define IDC_CHECK3 212 -#define IDD_FOLDERR 212 -#define IDC_CHECK4 213 -#define IDD_FOLDERMULTIR 213 -#define IDC_CHECK5 214 -#define IDC_CHECK6 215 -#define IDR_CLASSICCOPYEXT 216 -#define IDC_CHECKNOFADE 218 -#define IDC_CHECKSIZE 219 -#define IDC_CHECKAUTO 220 -#define IDC_CHECKCOPYFOLDER 221 -#define IDC_CHECK7 222 -#define IDC_CHECK8 223 -#define IDC_COMBOSTYLE 224 -#define IDC_CHECKOFFSET 225 -#define IDC_CHECKUP 226 -#define IDC_CHECKTITLE 227 -#define IDC_CHECKICON 228 -#define IDC_CHECKCRUMBS 229 -#define IDC_CHECKSHARED 230 -#define IDC_CHECKSHAREDEXP 231 -#define IDC_CHECKCOPYEXP 233 -#define IDC_CHECKMORE 234 -#define IDC_CHECKINFO 235 -#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_EDITICOND 247 -#define IDC_BUTTONICOND 248 -#define IDC_STATICCOMMAND 251 -#define IDC_STATICLINK 252 -#define IDC_STATICTEXT 253 -#define IDC_STATICINFOTIP 254 -#define IDC_STATICICOND 255 -#define IDC_ICONN 256 -#define IDC_ICOND 257 -#define IDC_COMBOLINK 258 -#define IDC_STATICICON1 260 -#define IDC_BUTTONRESET 261 -#define IDC_STATICFNAME 1003 -#define IDC_STATICSRCSIZE 1004 -#define IDC_STATICSRCTIME 1005 -#define IDC_STATICDSTSIZE 1006 -#define IDC_STATICDSTTIME 1007 -#define IDC_STATICSRCICON 1008 -#define IDC_STATICDSTICON 1009 -#define IDD_CUSTOMTOOLBAR 2001 -#define IDS_APP_TITLE 2001 -#define IDS_SETTINGS_BTN 2002 -#define IDS_NEW_SETTINGS1 2003 -#define IDS_NEW_SETTINGS2 2004 -#define IDS_SETTINGS_TITLE 2005 -#define IDS_SETTINGS_TITLE_VER 2006 -#define IDS_LANGUAGE_SETTINGS 2010 -#define IDS_TOOLBAR_SETTINGS 2011 -#define IDS_BIG_BUTTONS 2012 -#define IDS_BIG_BUTTONS_TIP 2013 -#define IDS_SMALL_SIZE 2014 -#define IDS_SMALL_SIZE_TIP 2015 -#define IDS_LARGE_SIZE 2016 -#define IDS_LARGE_SIZE_TIP 2017 -#define IDS_MENU_SIZE 2018 -#define IDS_MENU_SIZE_TIP 2019 -#define IDS_SAME_SIZE 2020 -#define IDS_SAME_SIZE_TIP 2021 -#define IDS_LIST_MODE 2022 -#define IDS_LIST_MODE_TIP 2023 -#define IDS_RESIZEABLE 2024 -#define IDS_RESIZEABLE_TIP 2025 -#define IDS_BUTTONS_SETTINGS 2026 -#define IDS_NAVIGATION_SETTINGS 2027 -#define IDS_TREE_STYLE 2028 -#define IDS_TREE_STYLE_TIP 2029 -#define IDS_XPCLASSIC 2030 -#define IDS_XPCLASSIC_TIP 2031 -#define IDS_XPSIMPLE 2032 -#define IDS_XPSIMPLE_TIP 2033 -#define IDS_VISTA 2034 -#define IDS_VISTA_TIP 2035 -#define IDS_TREE_SPACING 2036 -#define IDS_TREE_SPACING_TIP 2037 -#define IDS_NO_FADE 2038 -#define IDS_NO_FADE_TIP 2039 -#define IDS_FULL_INDENT 2040 -#define IDS_FULL_INDENT_TIP 2041 -#define IDS_NAVIGATE 2042 -#define IDS_NAVIGATE_TIP 2043 -#define IDS_NAV_DELAY 2044 -#define IDS_NAV_DELAY_TIP 2045 -#define IDS_ALT_ENTER 2046 -#define IDS_ALT_ENTER_TIP 2047 -#define IDS_FIX_SCROLL 2048 -#define IDS_FIX_SCROLL_TIP 2049 -#define IDS_TITLE_SETTINGS 2050 -#define IDS_SHOW_CAPTION 2051 -#define IDS_SHOW_CAPTION_TIP 2052 -#define IDS_SHOW_ICON 2053 -#define IDS_SHOW_ICON_TIP 2054 -#define IDS_NO_BREADCRUMBS 2055 -#define IDS_NO_BREADCRUMBS_TIP 2056 -#define IDS_ADDRESS_HISTORY 2057 -#define IDS_ADDRESS_HISTORY_TIP 2058 -#define IDS_NORMAL_HISTORY 2059 -#define IDS_NORMAL_HISTORY_TIP 2060 -#define IDS_SIMPLE_PATH 2061 -#define IDS_SIMPLE_PATH_TIP 2062 -#define IDS_EXTENDED_PATH 2063 -#define IDS_EXTENDED_PATH_TIP 2064 -#define IDS_HIDE_SEARCH 2065 -#define IDS_HIDE_SEARCH_TIP 2066 -#define IDS_UP_SETTINGS 2067 -#define IDS_SHOW_UP 2068 -#define IDS_SHOW_UP_TIP 2069 -#define IDS_DONT_SHOW 2070 -#define IDS_DONT_SHOW_TIP 2071 -#define IDS_BEFORE_BACK 2072 -#define IDS_BEFORE_BACK_TIP 2073 -#define IDS_AFTER_BACK 2074 -#define IDS_AFTER_BACK_TIP 2075 -#define IDS_UP_NORMAL 2076 -#define IDS_UP_NORMAL_TIP 2077 -#define IDS_UP_HOT 2078 -#define IDS_UP_HOT_TIP 2079 -#define IDS_UP_PRESSED 2080 -#define IDS_UP_PRESSED_TIP 2081 -#define IDS_UP_DISABLED 2082 -#define IDS_UP_DISABLED_TIP 2083 -#define IDS_UP_SIZE 2084 -#define IDS_UP_SIZE_TIP 2085 -#define IDS_STATUS_SETTINGS 2086 -#define IDS_FREE_SPACE 2087 -#define IDS_FREE_SPACE_TIP 2088 -#define IDS_INFO_TIP 2089 -#define IDS_INFO_TIP_TIP 2090 -#define IDS_FORCE_REFRESH 2091 -#define IDS_FORCE_REFRESH_TIP 2092 -#define IDS_FILE_SETTINGS 2093 -#define IDS_FILE_UI 2094 -#define IDS_FILE_UI_TIP 2095 -#define IDS_FOLDER_UI 2096 -#define IDS_FOLDER_UI_TIP 2097 -#define IDS_ALERT_LEVEL 2098 -#define IDS_ALERT_LEVEL_TIP 2099 -#define IDS_NO_ALERT 2100 -#define IDS_NO_ALERT_TIP 2101 -#define IDS_SYS_FILES 2102 -#define IDS_SYS_FILES_TIP 2103 -#define IDS_RO_FILES 2104 -#define IDS_RO_FILES_TIP 2105 -#define IDS_MORE 2106 -#define IDS_MORE_TIP 2107 -#define IDS_MORE_DELAY 2108 -#define IDS_MORE_DELAY_TIP 2109 -#define IDS_FILE_EXPLORER 2110 -#define IDS_FILE_EXPLORER_TIP 2111 -#define IDS_FILEPANE_SETTINGS 2112 -#define IDS_SHARE 2113 -#define IDS_SHARE_TIP 2114 -#define IDS_SHARE_ICON 2115 -#define IDS_SHARE_ICON_TIP 2116 -#define IDS_SHARE_EXPLORER 2117 -#define IDS_SHARE_EXPLORER_TIP 2118 -#define IDS_HEADERS 2119 -#define IDS_HEADERS_TIP 2120 -#define IDS_SCROLLBAR 2121 -#define IDS_SCROLLBAR_TIP 2122 -#define IDS_SCROLLBAR_DEFAULT 2123 -#define IDS_SCROLLBAR_DEFAULT_TIP 2124 -#define IDS_SCROLLBAR_ON 2125 -#define IDS_SCROLLBAR_ON_TIP 2126 -#define IDS_SCROLLBAR_OFF 2127 -#define IDS_SCROLLBAR_OFF_TIP 2128 -#define IDS_COMMAND_TIP 2129 -#define IDS_LINK_TIP 2130 -#define IDS_TEXT_TIP 2131 -#define IDS_TIP_TIP 2132 -#define IDS_ICON_TIP 2133 -#define IDS_ICOND_TIP 2134 -#define IDS_RESTORE_TIP 2135 -#define IDS_SEPARATOR_TIP 2136 -#define IDS_UP_TIP 2137 -#define IDS_CUT_TIP 2138 -#define IDS_COPY_TIP 2139 -#define IDS_PASTE_TIP 2140 -#define IDS_DELETE_TIP 2141 -#define IDS_PROPERTIES_TIP 2142 -#define IDS_EMAIL_TIP 2143 -#define IDS_SETTINGS_TIP 2144 -#define IDS_REFRESH_TIP 2145 -#define IDS_STOP_TIP 2146 -#define IDS_RENAME_TIP 2147 -#define IDS_MOVETO_TIP 2148 -#define IDS_COPYTO_TIP 2149 -#define IDS_UNDO_TIP 2150 -#define IDS_REDO_TIP 2151 -#define IDS_SELECTALL_TIP 2152 -#define IDS_DESELECT_TIP 2153 -#define IDS_INVERT_TIP 2154 -#define IDS_BACK_TIP 2155 -#define IDS_FORWARD_TIP 2156 -#define IDS_VIEWTILES_TIP 2157 -#define IDS_VIEWDEATAILS_TIP 2158 -#define IDS_VIEWLIST_TIP 2159 -#define IDS_VIEWCONTENT_TIP 2160 -#define IDS_VIEWICONS1_TIP 2161 -#define IDS_VIEWICONS2_TIP 2162 -#define IDS_VIEWICONS3_TIP 2163 -#define IDS_VIEWICONS4_TIP 2164 -#define IDS_OPEN_TIP 2165 -#define IDS_CUSTOM_TIP 2166 -#define IDS_NEWFOLDER_TIP 2167 -#define IDS_SCROLLTIP 2168 -#define IDS_SCROLLTIP_TIP 2169 -#define IDS_NAV_DEFAULT 2170 -#define IDS_NAV_DEFAULT_TIP 2171 -#define IDS_NAV_KBD 2172 -#define IDS_NAV_KBD_TIP 2173 -#define IDS_NAV_ALWAYS 2174 -#define IDS_NAV_ALWAYS_TIP 2175 -#define IDS_ALT_D 2176 -#define IDS_ALT_D_TIP 2177 -#define IDS_SORT_TIP 2178 -#define IDS_GROUP_TIP 2179 -#define IDS_PASTE_SHORTCUT_TIP 2180 -#define IDS_UP_HOTKEY 2181 -#define IDS_UP_HOTKEY_TIP 2182 -#define IDS_MAP_DRIVE_TIP 2183 -#define IDS_DISCONNECT_DRIVE_TIP 2184 -#define IDS_CUSTOMIZEFOLDER_TIP 2185 -#define IDS_SEPARATOR_ITEM 2186 -#define IDS_UP_ITEM 2187 -#define IDS_CUT_ITEM 2188 -#define IDS_COPY_ITEM 2189 -#define IDS_PASTE_ITEM 2190 -#define IDS_PASTE_LNK_ITEM 2191 -#define IDS_DELETE_ITEM 2192 -#define IDS_PROPERTIES_ITEM 2193 -#define IDS_EMAIL_ITEM 2194 -#define IDS_SETTINGS_ITEM 2195 -#define IDS_REFRESH_ITEM 2196 -#define IDS_STOP_ITEM 2197 -#define IDS_RENAME_ITEM 2198 -#define IDS_NEWFOLDER_ITEM 2199 -#define IDS_MOVETO_ITEM 2200 -#define IDS_COPYTO_ITEM 2201 -#define IDS_UNDO_ITEM 2202 -#define IDS_REDO_ITEM 2203 -#define IDS_SELECTALL_ITEM 2204 -#define IDS_DESELECT_ITEM 2205 -#define IDS_INVERT_ITEM 2206 -#define IDS_BACK_ITEM 2207 -#define IDS_FORWARD_ITEM 2208 -#define IDS_MAP_DRIVE_ITEM 2209 -#define IDS_DISCONNECT_ITEM 2210 -#define IDS_CUSTOMIZE_ITEM 2211 -#define IDS_VIEWTILES_ITEM 2212 -#define IDS_VIEWDETAILS_ITEM 2213 -#define IDS_VIEWLIST_ITEM 2214 -#define IDS_VIEWCONTENT_ITEM 2215 -#define IDS_VIEWICONS1_ITEM 2216 -#define IDS_VIEWICONS2_ITEM 2217 -#define IDS_VIEWICONS3_ITEM 2218 -#define IDS_VIEWICONS4_ITEM 2219 -#define IDS_OPEN_ITEM 2220 -#define IDS_SORYBY_ITEM 2221 -#define IDS_GROUPBY_ITEM 2222 -#define IDS_CUSTOM_ITEM 2223 -#define IDS_SHOWSTATUSBAR 2224 -#define IDS_SHOWSTATUSBAR_TIP 2225 -#define IDS_SHOW_ZONE 2226 -#define IDS_SHOW_ZONE_TIP 2227 -#define IDS_SHARE_HIDDEN 2228 -#define IDS_SHARE_HIDDEN_TIP 2229 -#define IDS_NAVPANE_ITEM 2230 -#define IDS_NAVPANE_TIP 2231 -#define IDS_DETAILSPANE_ITEM 2232 -#define IDS_DETAILSPANE_TIP 2233 -#define IDS_PREVIEWPANE_ITEM 2234 -#define IDS_PREVIEWPANE_TIP 2235 -#define IDS_SHOW_EXTENSIONS 2236 -#define IDS_SHOW_EXTENSIONS_TIP 2237 -#define IDS_HIDDEN_FILES 2238 -#define IDS_HIDDEN_FILES_TIP 2239 -#define IDS_SYSTEM_FILES 2240 -#define IDS_SYSTEM_FILES_TIP 2241 -#define IDS_ZIP_ITEM 2242 -#define IDS_ZIP_TIP 2243 -#define IDS_STATUS_FONT 2244 -#define IDS_STATUS_FONT_TIP 2245 -#define IDS_FOLDEROPTIONS 2246 -#define IDS_FOLDEROPTIONS_TIP 2247 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 227 -#define _APS_NEXT_COMMAND_VALUE 32769 -#define _APS_NEXT_CONTROL_VALUE 262 -#define _APS_NEXT_SYMED_VALUE 106 -#endif -#endif diff --git a/Src/ClassicExplorer/stdafx.cpp b/Src/ClassicExplorer/stdafx.cpp deleted file mode 100644 index 2cde651..0000000 --- a/Src/ClassicExplorer/stdafx.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// ClassicExplorer.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - diff --git a/Src/ClassicExplorer/stdafx.h b/Src/ClassicExplorer/stdafx.h deleted file mode 100644 index 76735f2..0000000 --- a/Src/ClassicExplorer/stdafx.h +++ /dev/null @@ -1,37 +0,0 @@ -// 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 - -#define _ATL_APARTMENT_THREADED -#define _ATL_NO_AUTOMATIC_NAMESPACE - -#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit - -#include "resource.h" -#include -#include -#include -#include - -using namespace ATL; - -#include -#include -#include -#include - -#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" diff --git a/Src/ClassicExplorer/targetver.h b/Src/ClassicExplorer/targetver.h deleted file mode 100644 index d4feea8..0000000 --- a/Src/ClassicExplorer/targetver.h +++ /dev/null @@ -1,24 +0,0 @@ -#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 diff --git a/Src/ClassicExplorer/up.ico b/Src/ClassicExplorer/up.ico deleted file mode 100644 index bf70f04..0000000 Binary files a/Src/ClassicExplorer/up.ico and /dev/null differ diff --git a/Src/ClassicExplorer/up2Disabled.ico b/Src/ClassicExplorer/up2Disabled.ico deleted file mode 100644 index 82e88ff..0000000 Binary files a/Src/ClassicExplorer/up2Disabled.ico and /dev/null differ diff --git a/Src/ClassicExplorer/up2Hot.ico b/Src/ClassicExplorer/up2Hot.ico deleted file mode 100644 index 4131c94..0000000 Binary files a/Src/ClassicExplorer/up2Hot.ico and /dev/null differ diff --git a/Src/ClassicExplorer/up2Normal.ico b/Src/ClassicExplorer/up2Normal.ico deleted file mode 100644 index 1557a67..0000000 Binary files a/Src/ClassicExplorer/up2Normal.ico and /dev/null differ diff --git a/Src/ClassicExplorer/up2Pressed.ico b/Src/ClassicExplorer/up2Pressed.ico deleted file mode 100644 index a706603..0000000 Binary files a/Src/ClassicExplorer/up2Pressed.ico and /dev/null differ diff --git a/Src/ClassicExplorer/upDisabled.ico b/Src/ClassicExplorer/upDisabled.ico deleted file mode 100644 index 0897dde..0000000 Binary files a/Src/ClassicExplorer/upDisabled.ico and /dev/null differ diff --git a/Src/ClassicIE/ClassicIE.cpp b/Src/ClassicIE/ClassicIE.cpp deleted file mode 100644 index 9850aae..0000000 --- a/Src/ClassicIE/ClassicIE.cpp +++ /dev/null @@ -1,257 +0,0 @@ -// 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 - -#define STRICT_TYPED_ITEMIDS -#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit -#include -#include -#include -#include -#include -#include "StringUtils.h" -#include "ResourceHelper.h" -#include "ClassicIEDLL\ClassicIEDLL.h" - -// Manifest to enable the 6.0 common controls -#pragma comment(linker, \ - "\"/manifestdependency:type='Win32' "\ - "name='Microsoft.Windows.Common-Controls' "\ - "version='6.0.0.0' "\ - "processorArchitecture='*' "\ - "publicKeyToken='6595b64144ccf1df' "\ - "language='*'\"") - -// Find and activate the Settings window -static BOOL CALLBACK FindSettingsEnum( HWND hwnd, LPARAM lParam ) -{ - wchar_t className[256]; - if (!GetClassName(hwnd,className,_countof(className)) || _wcsicmp(className,L"#32770")!=0) - return TRUE; - DWORD process=0; - GetWindowThreadProcessId(hwnd,&process); - HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,process); - bool bFound=false; - if (hProcess!=INVALID_HANDLE_VALUE) - { - wchar_t path[_MAX_PATH]; - if (GetModuleFileNameEx(hProcess,NULL,path,_countof(path))) - { - if (_wcsicmp(PathFindFileName(path),L"ClassicIE_32.exe")==0) - { - SetForegroundWindow(hwnd); - bFound=true; - } - } - CloseHandle(hProcess); - } - return !bFound; -} - -void ZoneConfigure( HWND hWnd, const wchar_t *url ) -{ - // use undocumented function 383 from shlwapi - typedef void (WINAPI* FZoneConfigureW)(HWND,LPCWSTR); - FZoneConfigureW ZoneConfigureW; - - HMODULE hShlwapi=LoadLibrary(L"shlwapi.dll"); - if(hShlwapi) - { - ZoneConfigureW=(FZoneConfigureW)GetProcAddress(hShlwapi,MAKEINTRESOURCEA(383)); - if(ZoneConfigureW) - ZoneConfigureW(hWnd,url); - FreeLibrary(hShlwapi); - } -} - -int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow ) -{ - if (wcsncmp(lpCmdLine,L"zone ",5)==0) - { - wchar_t token[100]; - const wchar_t *url=GetToken(lpCmdLine+5,token,_countof(token),L" "); - ZoneConfigure((HWND)(uintptr_t)_wtol(token),url); - return 0; - } - - { - const wchar_t *pXml=wcsstr(lpCmdLine,L"-xml "); - if (pXml) - { - wchar_t xml[_MAX_PATH]; - GetToken(pXml+5,xml,_countof(xml),L" "); - CoInitialize(NULL); - bool res=DllImportSettingsXml(xml); - CoUninitialize(); - return res?0:1; - } - } - - { - const wchar_t *pBackup=wcsstr(lpCmdLine,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; - } - } - -#ifndef _WIN64 - const wchar_t *pSaveAdmx=wcsstr(lpCmdLine,L"-saveadmx "); - if (pSaveAdmx) - { - wchar_t language[100]; - GetToken(pSaveAdmx+10,language,_countof(language),L" "); - if (!DllSaveAdmx("ClassicIE.admx","ClassicIE.adml","ClassicIEADMX.txt",language)) - return 1; - return 0; - } -#endif - - WaitDllInitThread(); - - DWORD settings=GetIESettings(); - - HWND topWindow=(HWND)(uintptr_t)_wtol(lpCmdLine); - if (topWindow) - { - DWORD processId; - DWORD threadId=GetWindowThreadProcessId(topWindow,&processId); - bool bWrongBitness=false; - - { - HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,processId); - - if (hProcess) - { - BOOL bWow64; -#ifdef _WIN64 - bWrongBitness=(IsWow64Process(hProcess,&bWow64) && bWow64); // the current process is 64-bit, but the target is wow64 (32-bit) -#else - if (IsWow64Process(GetCurrentProcess(),&bWow64) && bWow64) - { - bWrongBitness=(!IsWow64Process(hProcess,&bWow64) || !bWow64); // the current process is 32-bit, but the target is 64-bit - } -#endif - CloseHandle(hProcess); - } - } - - if (bWrongBitness) - { - wchar_t path[_MAX_PATH]; - GetModuleFileName(hInstance,path,_countof(path)); - PathRemoveFileSpec(path); -#ifdef _WIN64 - PathAppend(path,L"ClassicIE_32.exe"); -#else - PathAppend(path,L"ClassicIE_64.exe"); -#endif - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"%s %s",path,lpCmdLine); - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - if (CreateProcess(path,cmdLine,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - CloseHandle(processInfo.hProcess); - } - return settings; - } - - CheckForNewVersionIE(); - - if (!(settings&IE_SETTING_CAPTION)) - return settings; - - HWND caption=FindWindowEx(topWindow,NULL,L"Client Caption",NULL); - DllLogToFile(CIE_LOG,L"exe: topWindow=%p, caption=%p",topWindow,caption); - UINT message=RegisterWindowMessage(L"ClassicIE.Injected"); - if (caption) - { - if (SendMessage(caption,message,0,0)!=0) - return settings; - - { - HANDLE hToken; - if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)) - { - TOKEN_PRIVILEGES tp={1}; - if (LookupPrivilegeValue(NULL,L"SeDebugPrivilege",&tp.Privileges[0].Luid)) - tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; - AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL); - CloseHandle(hToken); - } - } - -#ifdef _WIN64 - HMODULE hHookModule=GetModuleHandle(L"ClassicIEDLL_64.dll"); -#else - HMODULE hHookModule=GetModuleHandle(L"ClassicIEDLL_32.dll"); -#endif - - HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,processId); - if (hProcess) - { - wchar_t path[_MAX_PATH]; - GetModuleFileName(hHookModule,path,_countof(path)); - void *remotePath=VirtualAllocEx(hProcess,NULL,sizeof(path),MEM_COMMIT,PAGE_READWRITE); - if (remotePath) - { - if (WriteProcessMemory(hProcess,remotePath,path,sizeof(path),NULL)) - { - HANDLE hThread=CreateRemoteThread(hProcess,NULL,0,(LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle(L"kernel32.dll"),"LoadLibraryW"),remotePath,0,NULL); - if (hThread) - { - WaitForSingleObject(hThread,INFINITE); - CloseHandle(hThread); - } - } - VirtualFreeEx(hProcess,remotePath,sizeof(path),MEM_RELEASE); - } - CloseHandle(hProcess); - } - } - return settings; - } - -#ifndef _WIN64 - if (*lpCmdLine) -#endif - return settings; - - // if 32-bit exe is called with no arguments, show the settings - - INITCOMMONCONTROLSEX init={sizeof(init),ICC_STANDARD_CLASSES}; - InitCommonControlsEx(&init); - - // 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); - - wchar_t mutexName[1024]; - Sprintf(mutexName,_countof(mutexName),L"ClassicIESettings.Mutex.%s.%s",userName,deskName); - free(deskName); - - HANDLE hMutex=CreateMutex(NULL,TRUE,mutexName); - if (GetLastError()==ERROR_ALREADY_EXISTS || GetLastError()==ERROR_ACCESS_DENIED) - { - EnumWindows(FindSettingsEnum,0); - return 0; - } - - ShowIESettings(); - return 0; -} diff --git a/Src/ClassicIE/ClassicIE.manifest b/Src/ClassicIE/ClassicIE.manifest deleted file mode 100644 index 1aa9b12..0000000 --- a/Src/ClassicIE/ClassicIE.manifest +++ /dev/null @@ -1,22 +0,0 @@ - - - - - true - - - - - - - - - - - - - - - - - diff --git a/Src/ClassicIE/ClassicIE.rc b/Src/ClassicIE/ClassicIE.rc deleted file mode 100644 index 07b2cf7..0000000 --- a/Src/ClassicIE/ClassicIE.rc +++ /dev/null @@ -1,102 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#define APSTUDIO_HIDDEN_SYMBOLS -#include "windows.h" -#undef APSTUDIO_HIDDEN_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -#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 - "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" - "#include ""windows.h""\r\n" - "#undef APSTUDIO_HIDDEN_SYMBOLS\r\0" -END - -3 TEXTINCLUDE -BEGIN - "\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 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Open-Shell" - VALUE "FileDescription", "Classic IE" - VALUE "FileVersion", _PRODUCT_VERSION_STR - VALUE "InternalName", "ClassicIE" - VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team" - VALUE "OriginalFilename", "ClassicIE.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_ICON1 ICON "..\\Setup\\OpenShell.ico" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - diff --git a/Src/ClassicIE/ClassicIE.vcxproj b/Src/ClassicIE/ClassicIE.vcxproj deleted file mode 100644 index da0b3c1..0000000 --- a/Src/ClassicIE/ClassicIE.vcxproj +++ /dev/null @@ -1,301 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - Setup - Win32 - - - Setup - x64 - - - - {65D5C193-E807-4094-AE19-19E6A310A312} - ClassicIE - Win32Proj - 10.0.17134.0 - - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(Configuration)\ - $(Configuration)\ - true - $(ProjectName)_32 - - - $(Configuration)64\ - $(Configuration)64\ - true - $(ProjectName)_64 - - - $(Configuration)\ - $(Configuration)\ - false - $(ProjectName)_32 - - - $(Configuration)64\ - $(Configuration)64\ - false - $(ProjectName)_64 - - - $(Configuration)\ - $(Configuration)\ - false - $(ProjectName)_32 - - - $(Configuration)64\ - $(Configuration)64\ - false - $(ProjectName)_64 - - - - Disabled - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - NotUsing - Level3 - EditAndContinue - true - true - stdcpp17 - - - shlwapi.lib;comctl32.lib;psapi.lib;%(AdditionalDependencies) - true - Windows - - - - - Disabled - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - NotUsing - Level3 - ProgramDatabase - true - true - stdcpp17 - - - shlwapi.lib;comctl32.lib;psapi.lib;%(AdditionalDependencies) - true - Windows - - - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - NotUsing - Level3 - ProgramDatabase - true - true - stdcpp17 - - - shlwapi.lib;comctl32.lib;psapi.lib;%(AdditionalDependencies) - true - Windows - true - true - - - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - NotUsing - Level3 - ProgramDatabase - true - true - stdcpp17 - - - shlwapi.lib;comctl32.lib;psapi.lib;%(AdditionalDependencies) - true - Windows - true - true - - - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;BUILD_SETUP;%(PreprocessorDefinitions) - MultiThreaded - true - NotUsing - Level3 - ProgramDatabase - true - true - stdcpp17 - - - shlwapi.lib;comctl32.lib;psapi.lib;%(AdditionalDependencies) - true - Windows - true - true - - - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - NotUsing - Level3 - ProgramDatabase - true - true - stdcpp17 - - - shlwapi.lib;comctl32.lib;psapi.lib;%(AdditionalDependencies) - true - Windows - true - true - - - - - - - - - - - - - - - - - - - - - - - {d42fe717-485b-492d-884a-1999f6d51154} - false - - - {bc0e6e7c-08c1-4f12-a754-4608e5a22fa8} - false - - - - - - \ No newline at end of file diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEBHO.cpp b/Src/ClassicIE/ClassicIEDLL/ClassicIEBHO.cpp deleted file mode 100644 index 2393f56..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEBHO.cpp +++ /dev/null @@ -1,406 +0,0 @@ -// 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 "ClassicIEDLL_i.h" -#include "ClassicIEBHO.h" -#include "ClassicIEDLL.h" -#include "Settings.h" -#include "SettingsUIHelper.h" -#include "ResourceHelper.h" -#include "Translations.h" -#include "FNVHash.h" -#include "dllmain.h" -#include - -static bool IsLowIntegrity( void ) -{ - bool bLow=false; - HANDLE hToken; - if (OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY|TOKEN_QUERY_SOURCE,&hToken)) - { - DWORD dwLengthNeeded; - if (!GetTokenInformation(hToken,TokenIntegrityLevel,NULL,0,&dwLengthNeeded)) - { - TOKEN_MANDATORY_LABEL *pTIL=(TOKEN_MANDATORY_LABEL*)malloc(dwLengthNeeded); - if (pTIL) - { - if (GetTokenInformation(hToken,TokenIntegrityLevel,pTIL,dwLengthNeeded,&dwLengthNeeded)) - { - DWORD dwIntegrityLevel=*GetSidSubAuthority(pTIL->Label.Sid,(DWORD)(UCHAR)(*GetSidSubAuthorityCount(pTIL->Label.Sid)-1)); - bLow=(dwIntegrityLevel>24)<10) - PathAppend(path,L"ClassicIE_32.exe"); - else -#endif - PathAppend(path,L"ClassicIE_64.exe"); - - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"\"%s\" %s",path,param); - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - DWORD res=GetIESettings(); - if (CreateProcess(path,cmdLine,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - if (bWait) - { - if (WaitForSingleObject(processInfo.hProcess,2000)==WAIT_OBJECT_0) - GetExitCodeProcess(processInfo.hProcess,&res); - } - CloseHandle(processInfo.hProcess); - } - return res; -} - -HRESULT STDMETHODCALLTYPE CClassicIEBHO::SetSite( IUnknown *pUnkSite ) -{ - if (m_pWebBrowser && m_dwEventCookie!=0xFEFEFEFE) - DispEventUnadvise(m_pWebBrowser,&DIID_DWebBrowserEvents2); - m_pWebBrowser=NULL; - - IObjectWithSiteImpl::SetSite(pUnkSite); - if (pUnkSite) - { - HMODULE hFrame=GetModuleHandle(L"ieframe.dll"); - bool bLowIntegrity=IsLowIntegrity(); - m_ProtectedMode.LoadString(hFrame,bLowIntegrity?12939:12940); - m_ProtectedMode=L" | "+m_ProtectedMode; - // find the top window and run another process to subclass it (the top window can be in a higher-level process, so we can't subclass from here) - LogToFile(CIE_LOG,L"SetSite"); - CComQIPtr pProvider=pUnkSite; - - m_Settings=0; - - if (pProvider) - { - - pProvider->QueryService(SID_SShellBrowser,IID_IShellBrowser,(void**)&m_pBrowser); - - HWND hwnd; - HWND topWindow=NULL; - if (m_pBrowser && SUCCEEDED(m_pBrowser->GetWindow(&hwnd))) - { - HWND topWindow=GetAncestor(hwnd,GA_ROOT); - if (topWindow) - { - wchar_t param[100]; - Sprintf(param,_countof(param),L"%u",(DWORD)(uintptr_t)topWindow); - m_Settings=StartBroker(bLowIntegrity,param); - - if (m_Settings&(IE_SETTING_PROGRESS|IE_SETTING_ZONE)) - { - m_pZoneManager.CoCreateInstance(CLSID_InternetZoneManager,NULL,CLSCTX_INPROC_SERVER); - m_pSecurityManager.CoCreateInstance(CLSID_InternetSecurityManager,NULL,CLSCTX_INPROC_SERVER); - - pProvider->QueryService(SID_SWebBrowserApp,IID_IWebBrowser2,(void**)&m_pWebBrowser); - if (m_pWebBrowser) - { - if (m_dwEventCookie==0xFEFEFEFE) // ATL's event cookie is 0xFEFEFEFE when the sink is not advised - DispEventAdvise(m_pWebBrowser,&DIID_DWebBrowserEvents2); - } - } - } - } - } - } - else - { - m_pBrowser=NULL; - m_pWebBrowser=NULL; - m_pZoneManager=NULL; - m_pSecurityManager=NULL; - } - return S_OK; -} - -HRESULT WINAPI CClassicIEBHO::UpdateRegistry( BOOL bRegister ) -{ - wchar_t path[_MAX_PATH]; - GetModuleFileName(g_Instance,path,_countof(path)); - PathRemoveFileSpec(path); - - CString menu; - menu.LoadString(IDS_SETTINGS_TITLE); - - _ATL_REGMAP_ENTRY mapEntries[]={ - {L"MODULEPATH",path}, - {L"MENUTEXT",menu}, - {NULL,NULL} - }; - - return _AtlModule.UpdateRegistryFromResource(IDR_CLASSICIEBHO,bRegister,mapEntries); -} - -LRESULT CALLBACK CClassicIEBHO::SubclassStatusProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==SB_SETPARTS && wParam>0) - { - CClassicIEBHO *pThis=(CClassicIEBHO*)uIdSubclass; - int w0=*(int*)lParam; // total width - int w1=pThis->m_Progress<0?0:PROGRESS_WIDTH; // progress part - int w2=pThis->m_TextWidth; // zone part - int w=w1+w2; - int parts[PART_COUNT]; - parts[PART_TEXT]=w0; - if (parts[PART_TEXT]>=w+MIN_TEXT_WIDTH) - parts[PART_TEXT]-=w; - else if (parts[PART_TEXT]>=MIN_TEXT_WIDTH) - parts[PART_TEXT]=MIN_TEXT_WIDTH; - if (parts[PART_TEXT]>w0) - parts[PART_TEXT]=w0; - - if (parts[PART_TEXT]+w1>w0) - w1=0; - parts[PART_PROGRESS]=parts[PART_TEXT]+w1; - parts[PART_ZONE]=w0; - parts[PART_ZOOM]=-1; - - DefSubclassProc(hWnd,SB_SETPARTS,_countof(parts),(LPARAM)parts); - - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS,hWnd}; - tool.uId=1; - DefSubclassProc(hWnd,SB_GETRECT,PART_ZONE,(LPARAM)&tool.rect); - SendMessage(pThis->m_Tooltip,TTM_NEWTOOLRECT,0,(LPARAM)&tool); - - if (w1==0) - ShowWindow(pThis->m_ProgressBar,SW_HIDE); - else - { - RECT rc; - DefSubclassProc(hWnd,SB_GETRECT,PART_PROGRESS,(LPARAM)&rc); - rc.left+=2; - rc.right-=2; - rc.top+=1; - rc.bottom-=1; - SetWindowPos(pThis->m_ProgressBar,NULL,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top,SWP_NOZORDER|SWP_SHOWWINDOW); - } - return TRUE; - } - - if (uMsg==SB_GETPARTS) - { - int parts[10]; - int n=(int)DefSubclassProc(hWnd,SB_GETPARTS,_countof(parts),(LPARAM)parts); - const int *p=parts; - if (n>2) - { - p+=n-2; - n=2; - } - if (lParam) - memcpy((int*)lParam,p,4*((n<(int)wParam)?n:wParam)); - return n; - } - - if (uMsg==SB_GETRECT) - { - if (wParam==1) wParam=PART_ZOOM; - else if (wParam>PART_OFFSET) wParam-=PART_OFFSET; - } - - if (uMsg==SB_SETTEXT) - { - if (!SendMessage(hWnd,SB_ISSIMPLE,0,0)) - { - if ((wParam&255)==1) wParam=PART_ZOOM; - else if ((wParam&255)>PART_OFFSET) wParam-=PART_OFFSET; - } - } - - if (uMsg==WM_LBUTTONDBLCLK) - { - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - RECT rc; - DefSubclassProc(hWnd,SB_GETRECT,PART_ZONE,(LPARAM)&rc); - if (PtInRect(&rc,pt)) - { - CClassicIEBHO *pThis=(CClassicIEBHO*)uIdSubclass; - CComBSTR url; - if (pThis->m_pWebBrowser && SUCCEEDED(pThis->m_pWebBrowser->get_LocationURL(&url))) - { - wchar_t buf[1024]; - Sprintf(buf,_countof(buf),L"zone %u %s",(unsigned)(uintptr_t)GetAncestor(hWnd,GA_ROOT),(const wchar_t*)url); - StartBroker(false,buf); - } - - return 0; - } - } - - if (uMsg==SB_SIMPLE) - { - CClassicIEBHO *pThis=(CClassicIEBHO*)uIdSubclass; - LRESULT res=DefSubclassProc(hWnd,uMsg,wParam,lParam); - if (wParam) - { - ShowWindow(pThis->m_ProgressBar,SW_HIDE); - } - else - { - pThis->ResetParts(); - } - return res; - } - - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -void CClassicIEBHO::ResetParts( void ) -{ - int parts[256]; - int n=(int)SendMessage(m_StatusBar,SB_GETPARTS,_countof(parts),(LPARAM)parts); - SendMessage(m_StatusBar,SB_SETPARTS,n,(LPARAM)parts); -} - -STDMETHODIMP CClassicIEBHO::OnNavigateComplete( IDispatch *pDisp, VARIANT *URL ) -{ - HWND status; - if (!m_pBrowser || FAILED(m_pBrowser->GetControlWindow(FCW_STATUS,&status))) - return S_OK; - - if (m_StatusBar!=status) - { - if (m_StatusBar) RemoveWindowSubclass(m_StatusBar,SubclassStatusProc,(UINT_PTR)this); - m_StatusBar=status; - if (m_StatusBar) - { - m_TextWidth=0; - SetWindowSubclass(m_StatusBar,SubclassStatusProc,(UINT_PTR)this,0); - ResetParts(); - } - } - - if (!m_StatusBar) return S_OK; - - if (!m_Tooltip) - { - m_Tooltip=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|WS_EX_TRANSPARENT,TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_NOPREFIX|TTS_ALWAYSTIP,0,0,0,0,m_StatusBar,NULL,g_Instance,NULL); - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS,m_StatusBar}; - tool.uId=1; - tool.hinst=GetModuleHandle(L"ieframe.dll"); - tool.lpszText=MAKEINTRESOURCE(12941); - SendMessage(m_Tooltip,TTM_ADDTOOL,0,(LPARAM)&tool); - } - - if (!m_ProgressBar) - { - m_ProgressBar=CreateWindowEx(0,PROGRESS_CLASS,NULL,WS_CHILD|PBS_SMOOTH,0,0,0,0,m_StatusBar,NULL,g_Instance,NULL); - SendMessage(m_ProgressBar,PBM_SETRANGE,0,MAKELPARAM(0,100)); - } - - m_TextWidth=0; - if (!(m_Settings&IE_SETTING_ZONE)) - return S_OK; - wchar_t text[256]; - text[0]=0; - HICON hIcon=NULL; - if (m_pZoneManager && m_pSecurityManager && URL && URL->vt==VT_BSTR) - { - DWORD zone; - ZONEATTRIBUTES attributes={sizeof(attributes)}; - if (SUCCEEDED(m_pSecurityManager->MapUrlToZone(URL->bstrVal,&zone,0)) && SUCCEEDED(m_pZoneManager->GetZoneAttributes(zone,&attributes))) - { - Strcpy(text,_countof(text),attributes.szDisplayName); - if (m_Settings&IE_SETTING_PROTECTED) - Strcat(text,_countof(text),m_ProtectedMode); - unsigned int key=CalcFNVHash(attributes.szIconPath); - std::map::const_iterator it=m_IconCache.find(key); - if (it!=m_IconCache.end()) - hIcon=it->second; - else - { - wchar_t path[_MAX_PATH]; - wchar_t *str=wcschr(attributes.szIconPath,'#'); - if (!str) str=wcschr(attributes.szIconPath,','); - int index=0; - if (str) - { - index=_wtol(str+1); - *str=0; - } - Strcpy(path,_countof(path),attributes.szIconPath); - if (PathIsRelative(path)) - PathFindOnPath(path,NULL); - if (index==0) - hIcon=(HICON)LoadImage(NULL,path,IMAGE_ICON,16,16,LR_LOADFROMFILE); - else - { - HMODULE hModule=LoadLibraryEx(path,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (hModule) - { - hIcon=(HICON)LoadImage(hModule,MAKEINTRESOURCE(index),IMAGE_ICON,16,16,0); - FreeLibrary(hModule); - } - } - m_IconCache[key]=hIcon; - } - } - } - if (text[0]) - { - HDC hdc=GetDC(m_StatusBar); - HGDIOBJ font0=SelectObject(hdc,(HFONT)SendMessage(m_StatusBar,WM_GETFONT,0,0)); - SIZE size; - GetTextExtentPoint32(hdc,text,Strlen(text),&size); - m_TextWidth=size.cx; - SelectObject(hdc,font0); - ReleaseDC(m_StatusBar,hdc); - } - - // reset the parts to apply the new text width - m_TextWidth+=32; - ResetParts(); - - // set text and icon - SendMessage(m_StatusBar,SB_SETTEXT,PART_ZONE+PART_OFFSET,(LPARAM)text); - SendMessage(m_StatusBar,SB_SETICON,PART_ZONE,(LPARAM)hIcon); - - return S_OK; -} - -STDMETHODIMP CClassicIEBHO::OnProgressChange( long progress, long progressMax ) -{ - if (!(m_Settings&IE_SETTING_PROGRESS)) - return S_OK; - bool bVisible=(IsWindowVisible(m_ProgressBar)!=0); - if (progress<0 || progressMax==0) - { - m_Progress=-1; - if (!bVisible) return S_OK; - } - else - { - m_Progress=progress*100/progressMax; - SendMessage(m_ProgressBar,PBM_SETPOS,m_Progress,0); - if (bVisible) return S_OK; - } - ResetParts(); - RedrawWindow(m_StatusBar,NULL,NULL,RDW_UPDATENOW|RDW_ALLCHILDREN); - return S_OK; -} - -STDMETHODIMP CClassicIEBHO::OnQuit( void ) -{ - if (m_pWebBrowser && m_dwEventCookie!=0xFEFEFEFE) // ATL's event cookie is 0xFEFEFEFE, when the sink is not advised - return DispEventUnadvise(m_pWebBrowser,&DIID_DWebBrowserEvents2); - return S_OK; -} diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEBHO.h b/Src/ClassicIE/ClassicIEDLL/ClassicIEBHO.h deleted file mode 100644 index c6df78b..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEBHO.h +++ /dev/null @@ -1,93 +0,0 @@ -// 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 -#include -#include - -// CClassicIEBHO - -class ATL_NO_VTABLE CClassicIEBHO : - public CComObjectRootEx, - public CComCoClass, - public IObjectWithSiteImpl, - public IDispEventImpl<1,CClassicIEBHO,&DIID_DWebBrowserEvents2,&LIBID_SHDocVw,1,1> -{ -public: - CClassicIEBHO() - { - m_Settings=0; - m_StatusBar=NULL; - m_Tooltip=NULL; - m_ProgressBar=NULL; - m_TextWidth=0; - m_Progress=-1; - } - - static HRESULT WINAPI UpdateRegistry( BOOL bRegister ); - - BEGIN_SINK_MAP( CClassicIEBHO ) - SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_NAVIGATECOMPLETE2, OnNavigateComplete) - SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_PROGRESSCHANGE, OnProgressChange) - SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_ONQUIT, OnQuit) - END_SINK_MAP() - - BEGIN_COM_MAP(CClassicIEBHO) - COM_INTERFACE_ENTRY(IObjectWithSite) - END_COM_MAP() - - - - DECLARE_PROTECT_FINAL_CONSTRUCT() - - HRESULT FinalConstruct() - { - return S_OK; - } - - // IObjectWithSite - STDMETHOD(SetSite)(IUnknown *pUnkSite); - - // DWebBrowserEvents2 - STDMETHOD(OnNavigateComplete)( IDispatch *pDisp, VARIANT *URL ); - STDMETHOD(OnProgressChange)( long progress, long progressMax ); - STDMETHOD(OnQuit)( void ); - -private: - enum - { - PART_TEXT, - PART_PROGRESS, - PART_ZONE, - PART_ZOOM, - - PART_COUNT, - PART_OFFSET=100, - - PROGRESS_WIDTH=110, - MIN_TEXT_WIDTH=100, - }; - - CComPtrm_pBrowser; - CComPtr m_pWebBrowser; - CComPtr m_pZoneManager; - CComPtr m_pSecurityManager; - - DWORD m_Settings; - HWND m_StatusBar; - HWND m_Tooltip; - HWND m_ProgressBar; - CString m_ProtectedMode; - int m_TextWidth; - int m_Progress; - std::map m_IconCache; - - static LRESULT CALLBACK SubclassStatusProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - - void ResetParts( void ); -}; - -OBJECT_ENTRY_AUTO(__uuidof(ClassicIEBHO), CClassicIEBHO) diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEBHO.rgs b/Src/ClassicIE/ClassicIEDLL/ClassicIEBHO.rgs deleted file mode 100644 index eb4e3e1..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEBHO.rgs +++ /dev/null @@ -1,108 +0,0 @@ -HKCR -{ - ClassicIE.ClassicIEBHO.1 = s 'ClassicIEBHO Class' - { - CLSID = s '{EA801577-E6AD-4BD5-8F71-4BE0154331A4}' - } - ClassicIE.ClassicIEBHO = s 'ClassicIEBHO Class' - { - CLSID = s '{EA801577-E6AD-4BD5-8F71-4BE0154331A4}' - CurVer = s 'ClassicIE.ClassicIEBHO.1' - } - NoRemove CLSID - { - ForceRemove {EA801577-E6AD-4BD5-8F71-4BE0154331A4} = s 'ClassicIEBHO Class' - { - ProgID = s 'ClassicIE.ClassicIEBHO.1' - VersionIndependentProgID = s 'ClassicIE.ClassicIEBHO' - ForceRemove 'Programmable' - InprocServer32 = s '%MODULE%' - { - val ThreadingModel = s 'Apartment' - } - 'TypeLib' = s '{FDA50A1E-B8CE-49DE-8D17-B034A84AA280}' - } - } -} - -HKLM -{ - NoRemove SOFTWARE - { - NoRemove Microsoft - { - NoRemove Windows - { - NoRemove CurrentVersion - { - NoRemove Explorer - { - NoRemove 'Browser Helper Objects' - { - ForceRemove '{EA801577-E6AD-4BD5-8F71-4BE0154331A4}' - { - val NoExplorer = d '1' - } - } - } - NoRemove Policies - { - NoRemove Ext - { - NoRemove CLSID - { - ForceRemove val {EA801577-E6AD-4BD5-8F71-4BE0154331A4} = s '2' - } - } - } - } - } - } - } -} - -HKLM -{ - NoRemove SOFTWARE - { - NoRemove Microsoft - { - NoRemove 'Internet Explorer' - { - NoRemove 'Low Rights' - { - NoRemove ElevationPolicy - { - ForceRemove '{56753E59-AF1D-4FBA-9E15-31557124ADA2}' - { - val AppPath = s '%MODULEPATH%' - val AppName = s 'ClassicIE_32.exe' - val Policy = d '3' - } - ForceRemove '{C0393554-9B48-458A-B91B-3F684D003B2F}' - { - val AppPath = s '%MODULEPATH%' - val AppName = s 'ClassicIE_64.exe' - val Policy = d '3' - } - ForceRemove '{02E6771D-8375-42B9-9F83-B4730F697900}' - { - val AppPath = s '%MODULEPATH%' - val AppName = s 'Update.exe' - val Policy = d '3' - } - } - } - NoRemove Extensions - { - ForceRemove '{56753E59-AF1D-4FBA-9E15-31557124ADA2}' - { - val CLSID = s '{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}' - val MenuText = s '%MENUTEXT%' - val Exec = s '%MODULEPATH%\ClassicIE_32.exe' - } - } - } - } - } -} diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.cpp b/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.cpp deleted file mode 100644 index b35fd84..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.cpp +++ /dev/null @@ -1,85 +0,0 @@ -// 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 "ClassicIEDLL_i.h" -#include "ClassicIEDLL.h" -#include "Settings.h" -#include "dllmain.h" - -// Used to determine whether the DLL can be unloaded by OLE -STDAPI DllCanUnloadNow(void) -{ - return _AtlModule.DllCanUnloadNow(); -} - - -// Returns a class factory to create an object of the requested type -STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) -{ - WaitDllInitThread(); - return _AtlModule.DllGetClassObject(rclsid, riid, ppv); -} - - -// DllRegisterServer - Adds entries to the system registry -STDAPI DllRegisterServer(void) -{ - WaitDllInitThread(); - // registers object, typelib and all interfaces in typelib - HRESULT res=_AtlModule.DllRegisterServer(); - if (SUCCEEDED(res)) - { - // mark the extension as compatible with the enhanced protected mode of IE10 - CComPtr catRegister; - catRegister.CoCreateInstance(CLSID_StdComponentCategoriesMgr); - if (catRegister) - { - CATID CATID_AppContainerCompatible={0x59fb2056,0xd625,0x48d0,{0xa9,0x44,0x1a,0x85,0xb5,0xab,0x26,0x40}}; - catRegister->RegisterClassImplCategories(CLSID_ClassicIEBHO,1,&CATID_AppContainerCompatible); - } - } - return res; -} - - -// DllUnregisterServer - Removes entries from the system registry -STDAPI DllUnregisterServer(void) -{ - WaitDllInitThread(); - return _AtlModule.DllUnregisterServer(); -} - -// 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[] = L"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; -} diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.h b/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.h deleted file mode 100644 index ba5decd..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.h +++ /dev/null @@ -1,34 +0,0 @@ -// 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 - -#ifdef CLASSICIEDLL_EXPORTS -#define CSIEAPI __declspec(dllexport) -#else -#define CSIEAPI __declspec(dllimport) -#endif - -void InitClassicIE( HMODULE hModule ); -CSIEAPI void ShowIESettings( void ); -CSIEAPI DWORD GetIESettings( void ); -CSIEAPI void CheckForNewVersionIE( void ); -CSIEAPI void WaitDllInitThread( void ); -CSIEAPI void DllLogToFile( const wchar_t *location, const wchar_t *message, ... ); - -#ifndef _WIN64 -CSIEAPI bool DllSaveAdmx( const char *admxFile, const char *admlFile, const char *docFile, const wchar_t *language ); -#endif -CSIEAPI bool DllImportSettingsXml( const wchar_t *fname ); -CSIEAPI bool DllExportSettingsXml( const wchar_t *fname ); - -enum -{ - IE_SETTING_CAPTION=1, - IE_SETTING_PROGRESS=2, - IE_SETTING_ZONE=4, - IE_SETTING_PROTECTED=8, -}; - -#define CIE_LOG L"Software\\OpenShell\\ClassicIE\\Settings|LogLevel|%LOCALAPPDATA%\\OpenShell\\ClassicIELog.txt" diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.idl b/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.idl deleted file mode 100644 index 1620ff1..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.idl +++ /dev/null @@ -1,36 +0,0 @@ -// ClassicIEDLL.idl : IDL source for ClassicIEDLL -// - -// This file will be processed by the MIDL tool to -// produce the type library (ClassicIEDLL.tlb) and marshalling code. - -import "oaidl.idl"; -import "ocidl.idl"; - -[ - object, - uuid(C698A81E-5D02-42B1-9801-5381CA8BBC2F), - dual, - nonextensible, - helpstring("IClassicIEBHO Interface"), - pointer_default(unique) -] -interface IClassicIEBHO : IDispatch{ -}; -[ - uuid(FDA50A1E-B8CE-49DE-8D17-B034A84AA280), - version(1.0), - helpstring("ClassicIE 1.0 Type Library") -] -library ClassicIEDLLLib -{ - importlib("stdole2.tlb"); - [ - uuid(EA801577-E6AD-4BD5-8F71-4BE0154331A4), - helpstring("ClassicIEBHO Class") - ] - coclass ClassicIEBHO - { - [default] interface IClassicIEBHO; - }; -}; diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.rc b/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.rc deleted file mode 100644 index 9d163d8..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.rc +++ /dev/null @@ -1,186 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" -#include "..\..\Lib\resource.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" - "#include ""..\\..\\Lib\\resource.h""\r\0" -END - -3 TEXTINCLUDE -BEGIN - "#include ""..\\..\\Lib\\resource.h""\r\n" - "#include ""..\\..\\Lib\\Lib.rc""\r\r\n" - "1 TYPELIB ""ClassicIEDLL.tlb""\r\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION _PRODUCT_VERSION - PRODUCTVERSION _PRODUCT_VERSION - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "Open-Shell" - VALUE "FileDescription", "Customizations for the title bar and status bar of IE" - VALUE "FileVersion", _PRODUCT_VERSION_STR - VALUE "InternalName", "ClassicIEDLL.dll" - VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team" - VALUE "OriginalFilename", "ClassicIEDLL.dll" - VALUE "ProductName", "Open-Shell" - VALUE "ProductVersion", _PRODUCT_VERSION_STR - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// REGISTRY -// - -IDR_CLASSICIEDLL REGISTRY "ClassicIEDLL.rgs" -IDR_CLASSICIEBHO REGISTRY "ClassicIEBHO.rgs" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APPICON ICON "..\\..\\Setup\\OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_GLOW BITMAP "glow.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_APP_TITLE "Classic IE" - IDS_SETTINGS_TITLE "Classic IE Settings" - IDS_SETTINGS_TITLE_VER "Classic IE Settings %d.%d.%d" - IDS_NEW_SETTINGS "The new settings will take effect after you restart Internet Explorer." - IDS_TITLE_SETTINGS "Title Bar" - IDS_SHOW_CAPTION "Show caption in the title bar" - IDS_SHOW_CAPTION_TIP "When this is checked, Internet Explorer will show the page title in the title bar" - IDS_CENTER_CAPTION "Center caption" -END - -STRINGTABLE -BEGIN - IDS_CENTER_CAPTION_TIP "When this is checked, the caption will be centered in the title bar" - IDS_LANGUAGE_SETTINGS "Language" - IDS_CAPTION_FONT "Caption font" - IDS_CAPTION_FONT_TIP "Select the font and text size to use for the caption" - IDS_TEXT_COLOR "Text color" - IDS_TEXT_COLOR_TIP "Select the color for the caption text" - IDS_MAXTEXT_COLOR "Text color (maximized)" - IDS_MAXTEXT_COLOR_TIP "Select the color for the caption text when the window is maximized" - IDS_INTEXT_COLOR "Text color (inactive)" - IDS_INTEXT_COLOR_TIP "Select the color for the caption text when the window is inactive" - IDS_MAXINTEXT_COLOR "Text color (maximized, inactive)" - IDS_MAXINTEXT_COLOR_TIP "Select the color for the caption text when the window is maximized and inactive" - IDS_GLOW "Text glow" - IDS_GLOW_TIP "When this is checked, the text will have a glow around it" - IDS_GLOW_COLOR "Glow color" - IDS_GLOW_COLOR_TIP "Select the color for the caption glow" -END - -STRINGTABLE -BEGIN - IDS_MAXGLOW "Text glow (maximized)" - IDS_MAXGLOW_TIP "When this is checked, the text in the maximized window will have a glow around it" - IDS_MAXGLOW_COLOR "Glow color (maximized)" - IDS_MAXGLOW_COLOR_TIP "Select the color for the caption glow when the window is maximized" - IDS_STATUS_SETTINGS "Status Bar" - IDS_SHOW_PROGRESS "Show progress" - IDS_SHOW_PROGRESS_TIP "When this is checked, the status bar will show the progress of the current page" - IDS_SHOW_ZONE "Show zone" - IDS_SHOW_ZONE_TIP "When this is checked, the status bar will show the current security zone" - IDS_SHOW_PROTECTED "Show protected mode" - IDS_SHOW_PROTECTED_TIP "When this is checked, the status bar will show if the browser is running in protected mode" - IDS_SHOW_ICON "Show icon in the title bar" - IDS_SHOW_ICON_TIP "When this is checked, Internet Explorer will show the page icon in the title bar" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// -#include "..\..\Lib\resource.h" -#include "..\..\Lib\Lib.rc" - -1 TYPELIB "ClassicIEDLL.tlb" - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.rgs b/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.rgs deleted file mode 100644 index 839c785..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.rgs +++ /dev/null @@ -1,11 +0,0 @@ -HKCR -{ - NoRemove AppID - { - '%APPID%' = s 'ClassicIE' - 'ClassicIE.DLL' - { - val AppID = s '%APPID%' - } - } -} diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.vcxproj b/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.vcxproj deleted file mode 100644 index bde3ba4..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.vcxproj +++ /dev/null @@ -1,399 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - Setup - Win32 - - - Setup - x64 - - - - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8} - ClassicIEDLL - AtlProj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Static - Unicode - true - - - DynamicLibrary - v141 - Static - Unicode - true - - - DynamicLibrary - v141 - Static - Unicode - - - DynamicLibrary - v141 - Static - Unicode - true - - - DynamicLibrary - v141 - Static - Unicode - true - - - DynamicLibrary - v141 - Static - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ..\$(Configuration)\ - $(Configuration)\ - true - $(ProjectName)_32 - - - ..\$(Configuration)64\ - $(Configuration)64\ - true - $(ProjectName)_64 - - - ..\$(Configuration)\ - $(Configuration)\ - false - $(ProjectName)_32 - - - ..\$(Configuration)64\ - $(Configuration)64\ - false - $(ProjectName)_64 - - - ..\$(Configuration)\ - $(Configuration)\ - false - $(ProjectName)_32 - - - ..\$(Configuration)64\ - $(Configuration)64\ - false - $(ProjectName)_64 - - - - _DEBUG;%(PreprocessorDefinitions) - false - true - ClassicIEDLL_i.h - - ClassicIEDLL_i.c - ClassicIEDLL_p.c - true - - - Disabled - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;_DEBUG;_USRDLL;CLASSICIEDLL_EXPORTS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - Use - Level3 - EditAndContinue - true - stdcpp17 - - - _DEBUG;%(PreprocessorDefinitions) - $(IntDir);..\..\Lib;%(AdditionalIncludeDirectories) - - - true - uxtheme.lib;dwmapi.lib;comctl32.lib;msimg32.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - - - - - _DEBUG;%(PreprocessorDefinitions) - false - true - ClassicIEDLL_i.h - - ClassicIEDLL_i.c - ClassicIEDLL_p.c - - - Disabled - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;_DEBUG;_USRDLL;CLASSICIEDLL_EXPORTS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - Use - Level3 - ProgramDatabase - true - stdcpp17 - - - _DEBUG;%(PreprocessorDefinitions) - $(IntDir);..\..\Lib;%(AdditionalIncludeDirectories) - - - true - uxtheme.lib;dwmapi.lib;comctl32.lib;msimg32.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - - - - - NDEBUG;%(PreprocessorDefinitions) - false - true - ClassicIEDLL_i.h - - ClassicIEDLL_i.c - ClassicIEDLL_p.c - true - - - MaxSpeed - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;_USRDLL;CLASSICIEDLL_EXPORTS;%(PreprocessorDefinitions) - MultiThreaded - Use - Level3 - ProgramDatabase - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);..\..\Lib;%(AdditionalIncludeDirectories) - - - true - uxtheme.lib;dwmapi.lib;comctl32.lib;msimg32.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - true - true - - - - - NDEBUG;%(PreprocessorDefinitions) - false - true - ClassicIEDLL_i.h - - ClassicIEDLL_i.c - ClassicIEDLL_p.c - - - MaxSpeed - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;_USRDLL;CLASSICIEDLL_EXPORTS;%(PreprocessorDefinitions) - MultiThreaded - Use - Level3 - ProgramDatabase - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);..\..\Lib;%(AdditionalIncludeDirectories) - - - true - uxtheme.lib;dwmapi.lib;comctl32.lib;msimg32.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - true - true - - - - - NDEBUG;%(PreprocessorDefinitions) - false - true - ClassicIEDLL_i.h - - ClassicIEDLL_i.c - ClassicIEDLL_p.c - true - - - MaxSpeed - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;_USRDLL;CLASSICIEDLL_EXPORTS;BUILD_SETUP;%(PreprocessorDefinitions) - MultiThreaded - Use - Level3 - ProgramDatabase - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);..\..\Lib;%(AdditionalIncludeDirectories) - - - uxtheme.lib;dwmapi.lib;comctl32.lib;msimg32.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - true - true - - - - - NDEBUG;%(PreprocessorDefinitions) - false - true - ClassicIEDLL_i.h - - ClassicIEDLL_i.c - ClassicIEDLL_p.c - - - MaxSpeed - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_WINDOWS;NDEBUG;_USRDLL;CLASSICIEDLL_EXPORTS;BUILD_SETUP;%(PreprocessorDefinitions) - MultiThreaded - Use - Level3 - ProgramDatabase - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - $(IntDir);..\..\Lib;%(AdditionalIncludeDirectories) - - - uxtheme.lib;dwmapi.lib;comctl32.lib;msimg32.lib;winmm.lib;htmlhelp.lib;wininet.lib;wintrust.lib;crypt32.lib;%(AdditionalDependencies) - .\$(TargetName).def - true - Windows - true - true - - - - - - - NotUsing - - - - - - Create - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {d42fe717-485b-492d-884a-1999f6d51154} - false - - - - - - \ No newline at end of file diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.vcxproj.filters b/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.vcxproj.filters deleted file mode 100644 index ccca6f6..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL.vcxproj.filters +++ /dev/null @@ -1,101 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - {8ffd1dbd-fd04-405c-a733-b3147c1c95e9} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Generated Files - - - - - Source Files - - - - - Source Files - - - Source Files - - - Resource Files - - - Resource Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Generated Files - - - - - Resource Files - - - - - Resource Files - - - Resource Files - - - diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL_32.def b/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL_32.def deleted file mode 100644 index 8bdb715..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL_32.def +++ /dev/null @@ -1,11 +0,0 @@ -; ClassicIEDLL_32.def : Declares the module parameters. - -LIBRARY "ClassicIEDLL_32.DLL" - -EXPORTS - DllCanUnloadNow PRIVATE - DllGetClassObject PRIVATE - DllRegisterServer PRIVATE - DllUnregisterServer PRIVATE - DllInstall PRIVATE - DllSaveAdmx \ No newline at end of file diff --git a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL_64.def b/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL_64.def deleted file mode 100644 index 85f86b5..0000000 --- a/Src/ClassicIE/ClassicIEDLL/ClassicIEDLL_64.def +++ /dev/null @@ -1,10 +0,0 @@ -; ClassicIEDLL.def : Declares the module parameters. - -LIBRARY "ClassicIEDLL_64.DLL" - -EXPORTS - DllCanUnloadNow PRIVATE - DllGetClassObject PRIVATE - DllRegisterServer PRIVATE - DllUnregisterServer PRIVATE - DllInstall PRIVATE diff --git a/Src/ClassicIE/ClassicIEDLL/DrawCaption.cpp b/Src/ClassicIE/ClassicIEDLL/DrawCaption.cpp deleted file mode 100644 index d09a47e..0000000 --- a/Src/ClassicIE/ClassicIEDLL/DrawCaption.cpp +++ /dev/null @@ -1,346 +0,0 @@ -// 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 "ClassicIEDLL.h" -#include "Settings.h" -#include "ResourceHelper.h" -#include "SettingsUIHelper.h" -#include -#include - -static _declspec(thread) SIZE g_SysButtonSize; // the size of the system buttons (close, minimize) for this thread's window -static WNDPROC g_OldClassCaptionProc; -static HBITMAP g_GlowBmp; -static HBITMAP g_GlowBmpMax; -static LONG g_bInjected; // the process is injected -static int g_DPI; -static UINT g_Message; // private message to detect if the caption is subclassed -static ATOM g_SubclassAtom; - -struct CustomCaption -{ - int leftPadding; - int topPadding; - int iconPadding; -}; - -static CustomCaption g_CustomCaption[3]={ - {2,3,10}, // Aero - {4,2,10}, // Aero maximized - {4,2,10}, // Basic -}; - -void GetSysButtonSize( HWND hWnd ) -{ - TITLEBARINFOEX titleInfo={sizeof(titleInfo)}; - SendMessage(hWnd,WM_GETTITLEBARINFOEX,0,(LPARAM)&titleInfo); - int buttonLeft=titleInfo.rgrect[2].left; - if (buttonLeft>titleInfo.rgrect[5].left) buttonLeft=titleInfo.rgrect[5].left; - int buttonRight=titleInfo.rgrect[2].right; - if (buttonRightrc.bottom-iconSize) y=rc.bottom-iconSize; - if (bIcon) - { - DrawIconEx(hdcPaint,rc.left,y,hIcon,iconSize,iconSize,0,NULL,DI_NORMAL|DI_NOMIRROR); - rc.left+=iconSize; - } - rc.left+=g_CustomCaption[0].iconPadding; - rc.bottom++; - } - else - { - // when the window is maximized, the caption bar is partially off-screen, so align the icon to the bottom - rc.left+=g_CustomCaption[1].leftPadding; - if (bIcon) - { - DrawIconEx(hdcPaint,rc.left,rc.bottom-iconSize-g_CustomCaption[1].topPadding,hIcon,iconSize,iconSize,0,NULL,DI_NORMAL|DI_NOMIRROR); - rc.left+=iconSize; - } - rc.left+=g_CustomCaption[1].iconPadding; - if (GetWinVersion()>=WIN_VER_WIN10) - rc.bottom++; - } - if (GetWinVersion()rc.right-rc.left) - textWidth=rc.right-rc.left; - opts.dwFlags&=~DTT_CALCRECT; - - if (bGlow) - { - HDC hSrc=CreateCompatibleDC(hdcPaint); - HGDIOBJ bmp0=SelectObject(hSrc,bMaximized?g_GlowBmpMax:g_GlowBmp); - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdcPaint,rc.left-11,rc.top,11,rc.bottom-rc.top,hSrc,0,0,11,24,func); - AlphaBlend(hdcPaint,rc.left,rc.top,textWidth,rc.bottom-rc.top,hSrc,11,0,2,24,func); - AlphaBlend(hdcPaint,rc.left+textWidth,rc.top,11,rc.bottom-rc.top,hSrc,13,0,11,24,func); - SelectObject(hSrc,bmp0); - DeleteDC(hSrc); - } - DrawThemeTextEx(theme,hdcPaint,0,0,caption,-1,DT_VCENTER|DT_NOPREFIX|DT_SINGLELINE|DT_END_ELLIPSIS,&rc,&opts); - SelectObject(hdcPaint,font0); - - EndBufferedPaint(hBufferedPaint,TRUE); - } - EndPaint(hWnd,&ps); - } - else - { - // Basic Theme - - // first draw the caption bar - DefCaptionProc(hWnd,uMsg,wParam,lParam); - - // then draw the caption directly in the window DC - HDC hdc=GetWindowDC(hWnd); - - // exclude the caption buttons - rc.right-=g_SysButtonSize.cx+5; - rc.top=rc.bottom-g_SysButtonSize.cy; - - rc.left+=g_CustomCaption[2].leftPadding; - if (bIcon) - { - DrawIconEx(hdc,rc.left,rc.bottom-iconSize-g_CustomCaption[2].topPadding,hIcon,iconSize,iconSize,0,NULL,DI_NORMAL|DI_NOMIRROR); - rc.left+=iconSize; - } - rc.left+=g_CustomCaption[2].iconPadding; - - HFONT font0=(HFONT)SelectObject(hdc,font); - RECT rcText={0,0,0,0}; - opts.dwFlags|=DTT_CALCRECT; - DrawThemeTextEx(theme,hdc,0,0,caption,-1,DT_VCENTER|DT_NOPREFIX|DT_SINGLELINE|DT_CALCRECT,&rcText,&opts); - int textWidth=rcText.right-rcText.left; - if (bCenter && textWidthrc.right-rc.left) - textWidth=rc.right-rc.left; - opts.dwFlags&=~DTT_CALCRECT; - - if (bGlow) - { - HDC hSrc=CreateCompatibleDC(hdc); - HGDIOBJ bmp0=SelectObject(hSrc,bMaximized?g_GlowBmpMax:g_GlowBmp); - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,rc.left-11,rc.top,11,rc.bottom-rc.top,hSrc,0,0,11,24,func); - AlphaBlend(hdc,rc.left,rc.top,textWidth,rc.bottom-rc.top,hSrc,11,0,2,24,func); - AlphaBlend(hdc,rc.left+textWidth,rc.top,11,rc.bottom-rc.top,hSrc,13,0,11,24,func); - SelectObject(hSrc,bmp0); - DeleteDC(hSrc); - } - DrawThemeTextEx(theme,hdc,0,0,caption,-1,DT_VCENTER|DT_NOPREFIX|DT_SINGLELINE|DT_END_ELLIPSIS,&rc,&opts); - SelectObject(hdc,font0); - - ReleaseDC(hWnd,hdc); - } - - DeleteObject(font); - CloseThemeData(theme); - return 0; - } - return DefCaptionProc(hWnd,uMsg,wParam,lParam); -} - -// Replacement proc for the "Client Caption" class that hooks the main frame and the caption windows -static LRESULT CALLBACK ClassCaptionProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - if (uMsg==WM_CREATE) - { - WNDPROC proc=(WNDPROC)SetWindowLongPtr(hWnd,GWLP_WNDPROC,(LONG_PTR)SubclassCaptionProc); - SetProp(hWnd,MAKEINTATOM(g_SubclassAtom),(HANDLE)proc); - HWND frame=GetParent(hWnd); - proc=(WNDPROC)SetWindowLongPtr(frame,GWLP_WNDPROC,(LONG_PTR)SubclassFrameProc); - SetProp(frame,MAKEINTATOM(g_SubclassAtom),(HANDLE)proc); - PostMessage(frame,g_Message,0,0); - } - return CallWindowProc(g_OldClassCaptionProc,hWnd,uMsg,wParam,lParam); -} - -static BOOL CALLBACK EnumTopWindows( HWND hwnd, LPARAM lParam ) -{ - DWORD processId; - DWORD threadId=GetWindowThreadProcessId(hwnd,&processId); - if (processId==GetCurrentProcessId()) - { - HWND caption=FindWindowEx(hwnd,NULL,L"Client Caption",NULL); - if (caption) - { - LogToFile(CIE_LOG,L"InitClassicIE: caption=%p",caption); - if (!g_OldClassCaptionProc) - g_OldClassCaptionProc=(WNDPROC)SetClassLongPtr(caption,GCLP_WNDPROC,(LONG_PTR)ClassCaptionProc); - WNDPROC proc=(WNDPROC)SetWindowLongPtr(caption,GWLP_WNDPROC,(LONG_PTR)SubclassCaptionProc); - SetProp(caption,MAKEINTATOM(g_SubclassAtom),(HANDLE)proc); - proc=(WNDPROC)SetWindowLongPtr(hwnd,GWLP_WNDPROC,(LONG_PTR)SubclassFrameProc); - SetProp(hwnd,MAKEINTATOM(g_SubclassAtom),(HANDLE)proc); - PostMessage(hwnd,g_Message,0,0); - } - } - return TRUE; -} - -void InitClassicIE( HMODULE hModule ) -{ - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,GetSettingsRegPath())==ERROR_SUCCESS) - { - DWORD val; - if (regKey.QueryDWORDValue(L"CustomAero",val)==ERROR_SUCCESS) - { - g_CustomCaption[0].leftPadding=(val&255); - g_CustomCaption[0].topPadding=((val>>8)&255); - g_CustomCaption[0].iconPadding=((val>>16)&255); - } - if (regKey.QueryDWORDValue(L"CustomAeroMax",val)==ERROR_SUCCESS) - { - g_CustomCaption[1].leftPadding=(val&255); - g_CustomCaption[1].topPadding=((val>>8)&255); - g_CustomCaption[1].iconPadding=((val>>16)&255); - } - if (regKey.QueryDWORDValue(L"CustomBasic",val)==ERROR_SUCCESS) - { - g_CustomCaption[2].leftPadding=(val&255); - g_CustomCaption[2].topPadding=((val>>8)&255); - g_CustomCaption[2].iconPadding=((val>>16)&255); - } - } - - g_Message=RegisterWindowMessage(L"ClassicIE.Injected"); - g_SubclassAtom=GlobalAddAtom(L"ClassicIE.Subclass"); - ChangeWindowMessageFilter(g_Message,MSGFLT_ADD); - g_GlowBmp=(HBITMAP)LoadImage(g_Instance,MAKEINTRESOURCE(IDB_GLOW),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - PremultiplyBitmap(g_GlowBmp,GetSettingInt(L"GlowColor")); - g_GlowBmpMax=(HBITMAP)LoadImage(g_Instance,MAKEINTRESOURCE(IDB_GLOW),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - PremultiplyBitmap(g_GlowBmpMax,GetSettingInt(L"MaxGlowColor")); - - EnumWindows(EnumTopWindows,0); -} diff --git a/Src/ClassicIE/ClassicIEDLL/SettingsUI.cpp b/Src/ClassicIE/ClassicIEDLL/SettingsUI.cpp deleted file mode 100644 index 8651de6..0000000 --- a/Src/ClassicIE/ClassicIEDLL/SettingsUI.cpp +++ /dev/null @@ -1,172 +0,0 @@ -// 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 "Settings.h" -#include "SettingsUIHelper.h" -#include "LanguageSettingsHelper.h" -#include "ResourceHelper.h" -#include "Translations.h" -#include "resource.h" -#include "dllmain.h" -#include "ClassicIEDLL.h" -#include -#include - -/////////////////////////////////////////////////////////////////////////////// - -static CSetting g_Settings[]={ -{L"Basic",CSetting::TYPE_GROUP,IDS_BASIC_SETTINGS}, - {L"EnableSettings",CSetting::TYPE_BOOL,0,0,1,CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - -{L"TitleBar",CSetting::TYPE_GROUP,IDS_TITLE_SETTINGS}, - {L"ShowCaption",CSetting::TYPE_BOOL,IDS_SHOW_CAPTION,IDS_SHOW_CAPTION_TIP,1,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"ShowIcon",CSetting::TYPE_BOOL,IDS_SHOW_ICON,IDS_SHOW_ICON_TIP,1,CSetting::FLAG_WARM|CSetting::FLAG_BASIC,L"ShowCaption"}, - {L"CenterCaption",CSetting::TYPE_BOOL,IDS_CENTER_CAPTION,IDS_CENTER_CAPTION_TIP,0,CSetting::FLAG_WARM|CSetting::FLAG_BASIC,L"ShowCaption"}, - {L"CaptionFont",CSetting::TYPE_FONT,IDS_CAPTION_FONT,IDS_CAPTION_FONT_TIP,L"Segoe UI, normal, 9",CSetting::FLAG_WARM,L"ShowCaption"}, - {L"TextColor",CSetting::TYPE_COLOR,IDS_TEXT_COLOR,IDS_TEXT_COLOR_TIP,0,CSetting::FLAG_WARM,L"ShowCaption"}, - {L"MaxColor",CSetting::TYPE_COLOR,IDS_MAXTEXT_COLOR,IDS_MAXTEXT_COLOR_TIP,0,CSetting::FLAG_WARM|(1<<24),L"ShowCaption"}, - {L"InactiveColor",CSetting::TYPE_COLOR,IDS_INTEXT_COLOR,IDS_INTEXT_COLOR_TIP,0,CSetting::FLAG_WARM|(2<<24),L"ShowCaption"}, - {L"InactiveMaxColor",CSetting::TYPE_COLOR,IDS_MAXINTEXT_COLOR,IDS_MAXINTEXT_COLOR_TIP,0,CSetting::FLAG_WARM|(3<<24),L"ShowCaption"}, - {L"Glow",CSetting::TYPE_BOOL,IDS_GLOW,IDS_GLOW_TIP,0,CSetting::FLAG_WARM,L"ShowCaption"}, - {L"GlowColor",CSetting::TYPE_COLOR,IDS_GLOW_COLOR,IDS_GLOW_COLOR_TIP,0xFFFFFF,CSetting::FLAG_WARM|(4<<24),L"#Glow",L"Glow"}, - {L"MaxGlow",CSetting::TYPE_BOOL,IDS_MAXGLOW,IDS_MAXGLOW_TIP,0,CSetting::FLAG_WARM,L"ShowCaption"}, - {L"MaxGlowColor",CSetting::TYPE_COLOR,IDS_MAXGLOW_COLOR,IDS_MAXGLOW_COLOR_TIP,0xFFFFFF,CSetting::FLAG_WARM|(5<<24),L"#MaxGlow",L"MaxGlow"}, - -{L"StatusBar",CSetting::TYPE_GROUP,IDS_STATUS_SETTINGS}, - {L"ShowProgress",CSetting::TYPE_BOOL,IDS_SHOW_PROGRESS,IDS_SHOW_PROGRESS_TIP,1,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"ShowZone",CSetting::TYPE_BOOL,IDS_SHOW_ZONE,IDS_SHOW_ZONE_TIP,1,CSetting::FLAG_WARM|CSetting::FLAG_BASIC}, - {L"ShowProtected",CSetting::TYPE_BOOL,IDS_SHOW_PROTECTED,IDS_SHOW_PROTECTED_TIP,1,CSetting::FLAG_WARM,L"ShowZone",L"ShowZone"}, - -{L"Language",CSetting::TYPE_GROUP,IDS_LANGUAGE_SETTINGS,0,0,0,NULL,NULL,GetLanguageSettings(COMPONENT_IE)}, - {L"Language",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_SHARED}, - -{NULL} -}; - -void UpgradeSettings( bool bShared ) -{ -} - -void UpdateSettings( void ) -{ - bool bWin8=(GetWinVersion()>=WIN_VER_WIN8); - - BOOL bComposition=0; - if (FAILED(DwmIsCompositionEnabled(&bComposition))) - bComposition=FALSE; - - if (bComposition && bWin8) - { - // check for High Contrast theme on Win8 - HIGHCONTRAST contrast={sizeof(contrast)}; - if (SystemParametersInfo(SPI_GETHIGHCONTRAST,sizeof(contrast),&contrast,0) && (contrast.dwFlags&HCF_HIGHCONTRASTON)) - bComposition=FALSE; - else - { - // check for Basic theme - DWORD color; - BOOL opaque; - if (SUCCEEDED(DwmGetColorizationColor(&color,&opaque)) && opaque) - bComposition=FALSE; - } - } - - UpdateSetting(L"Glow",CComVariant(bComposition?1:0),false); - UpdateSetting(L"MaxGlow",CComVariant(bComposition?1:0),false); - UpdateSetting(L"CenterCaption",CComVariant((bWin8 && GetWinVersion()=FW_BOLD) - type=font.lfItalic?L"bold_italic":L"bold"; - Sprintf(text,_countof(text),L"%s, %s, %d",font.lfFaceName,type,(-font.lfHeight*72+dpi/2)/dpi); - UpdateSetting(L"CaptionFont",CComVariant(text),false); - - int color=GetThemeSysColor(theme,COLOR_CAPTIONTEXT); - UpdateSetting(L"TextColor",CComVariant(color),false); - UpdateSetting(L"MaxColor",CComVariant(color),false); - if (bWin8) - color=GetThemeSysColor(theme,COLOR_INACTIVECAPTIONTEXT); - UpdateSetting(L"InactiveColor",CComVariant(color),false); - UpdateSetting(L"InactiveMaxColor",CComVariant(color),false); - - CloseThemeData(theme); - } - else - { - int color=GetSysColor(COLOR_CAPTIONTEXT); - UpdateSetting(L"TextColor",CComVariant(color),false); - UpdateSetting(L"MaxColor",CComVariant(color),false); - color=GetSysColor(COLOR_INACTIVECAPTIONTEXT); - UpdateSetting(L"InactiveColor",CComVariant(color),false); - UpdateSetting(L"InactiveMaxColor",CComVariant(color),false); - } - DestroyWindow(hwnd); - - 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 InitSettings( void ) -{ - InitSettings(g_Settings,COMPONENT_IE,NULL); -} - -void ClosingSettings( HWND hWnd, int flags, int command ) -{ - if (command==IDOK) - { - if (flags&CSetting::FLAG_WARM) - { - if (FindWindow(L"IEFrame",NULL)) - MessageBox(hWnd,LoadStringEx(IDS_NEW_SETTINGS),LoadStringEx(IDS_APP_TITLE),MB_OK|MB_ICONINFORMATION); - } - } -} - -void SettingChangedCallback( const CSetting *pSetting ) -{ -} - -CSIEAPI void ShowIESettings( void ) -{ - if (!GetSettingBool(L"EnableSettings")) - return; - wchar_t title[100]; - DWORD ver=GetVersionEx(g_Instance); - if (ver) - Sprintf(title,_countof(title),LoadStringEx(IDS_SETTINGS_TITLE_VER),ver>>24,(ver>>16)&0xFF,ver&0xFFFF); - else - Sprintf(title,_countof(title),LoadStringEx(IDS_SETTINGS_TITLE)); - EditSettings(title,true,0); -} - -CSIEAPI DWORD GetIESettings( void ) -{ - DWORD res=0; - if (GetSettingBool(L"ShowCaption")) res|=IE_SETTING_CAPTION; - if (GetSettingBool(L"ShowProgress")) res|=IE_SETTING_PROGRESS; - if (GetSettingBool(L"ShowZone")) res|=IE_SETTING_ZONE; - if (GetSettingBool(L"ShowProtected")) res|=IE_SETTING_PROTECTED; - return res; -} diff --git a/Src/ClassicIE/ClassicIEDLL/SettingsUI.h b/Src/ClassicIE/ClassicIEDLL/SettingsUI.h deleted file mode 100644 index 5e736ee..0000000 --- a/Src/ClassicIE/ClassicIEDLL/SettingsUI.h +++ /dev/null @@ -1,7 +0,0 @@ -// 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 - -void InitSettings( void ); diff --git a/Src/ClassicIE/ClassicIEDLL/dllmain.cpp b/Src/ClassicIE/ClassicIEDLL/dllmain.cpp deleted file mode 100644 index 5efa436..0000000 --- a/Src/ClassicIE/ClassicIEDLL/dllmain.cpp +++ /dev/null @@ -1,161 +0,0 @@ -// 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 "..\..\Lib\resource.h" -#include "Settings.h" -#include "SettingsUI.h" -#include "SettingsUIHelper.h" -#include "DownloadHelper.h" -#include "Translations.h" -#include "ResourceHelper.h" -#include "dllmain.h" -#include "ClassicIEDLL.h" - -#pragma comment(linker, \ - "\"/manifestdependency:type='Win32' "\ - "name='Microsoft.Windows.Common-Controls' "\ - "version='6.0.0.0' "\ - "processorArchitecture='*' "\ - "publicKeyToken='6595b64144ccf1df' "\ - "language='*'\"") - -CClassicIEDLLModule _AtlModule; - -static int g_LoadDialogs[]= -{ - IDD_SETTINGS,0x04000000, - IDD_SETTINGSTREE,0x04000000, - IDD_LANGUAGE,0x04000000, - IDD_PROGRESS,0x04000004, - 0 -}; - -const wchar_t *GetDocRelativePath( void ) -{ - return DOC_PATH; -} - -static void NewVersionCallback( VersionData &data ) -{ - wchar_t path[_MAX_PATH]; - GetModuleFileName(g_Instance,path,_countof(path)); - PathRemoveFileSpec(path); - PathAppend(path,L"Update.exe"); - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"\"%s\" -popup",path); - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - if (CreateProcess(path,cmdLine,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - CloseHandle(processInfo.hProcess); - } -} - -CSIEAPI void CheckForNewVersionIE( void ) -{ - CheckForNewVersion(NULL,COMPONENT_IE,CHECK_AUTO_WAIT,NewVersionCallback); -} - -static HANDLE g_DllInitThread; - -static DWORD CALLBACK DllInitThread( void* ) -{ - InitSettings(); - CString language=GetSettingString(L"Language"); - ParseTranslations(NULL,language); - - HINSTANCE resInstance=LoadTranslationDll(language); - - LoadTranslationResources(resInstance,g_LoadDialogs); - - if (resInstance) - FreeLibrary(resInstance); - InitClassicIE(g_Instance); - return 0; -} - -CSIEAPI void WaitDllInitThread( void ) -{ - ATLASSERT(g_DllInitThread); - WaitForSingleObject(g_DllInitThread,INFINITE); -} - -CSIEAPI void DllLogToFile( const wchar_t *location, const wchar_t *message, ... ) -{ - va_list args; - va_start(args,message); - VLogToFile(location,message,args); - va_end(args); -} - -#ifndef _WIN64 -CSIEAPI bool DllSaveAdmx( const char *admxFile, const char *admlFile, const char *docFile, const wchar_t *language ) -{ - WaitDllInitThread(); - 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); - } - LoadTranslationResources(dll,NULL); - return SaveAdmx(COMPONENT_IE,admxFile,admlFile,docFile); -} -#endif - -CSIEAPI bool DllImportSettingsXml( const wchar_t *fname ) -{ - return ImportSettingsXml(fname); -} - -CSIEAPI bool DllExportSettingsXml( const wchar_t *fname ) -{ - return ExportSettingsXml(fname); -} - -// DLL Entry Point -extern "C" BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved ) -{ - if (dwReason==DLL_PROCESS_ATTACH) - { - wchar_t path[_MAX_PATH]; - GetModuleFileName(NULL,path,_countof(path)); - const wchar_t *exe=PathFindFileName(path); - if (_wcsicmp(exe,L"explorer.exe")==0) return FALSE; - if (_wcsicmp(exe,L"iexplore.exe")==0) - { - DWORD version=GetVersionEx(GetModuleHandle(NULL)); - if (version<0x09000000) return FALSE; - - CRegKey regSettings, regSettingsUser, regPolicy, regPolicyUser; - bool bUpgrade=OpenSettingsKeys(COMPONENT_EXPLORER,regSettings,regSettingsUser,regPolicy,regPolicyUser); - - CSetting settings[]={ - {L"ShowCaption",CSetting::TYPE_BOOL,0,0,1}, - {L"ShowProgress",CSetting::TYPE_BOOL,0,0,1}, - {L"ShowZone",CSetting::TYPE_BOOL,0,0,1}, - {NULL} - }; - - settings[0].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - settings[1].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - settings[2].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - - if (!GetSettingBool(settings[0]) && !GetSettingBool(settings[1]) && !GetSettingBool(settings[2])) return FALSE; - } - - g_Instance=hInstance; - - g_DllInitThread=CreateThread(NULL,0,DllInitThread,NULL,0,NULL); - } - - return _AtlModule.DllMain(dwReason, lpReserved); -} diff --git a/Src/ClassicIE/ClassicIEDLL/dllmain.h b/Src/ClassicIE/ClassicIEDLL/dllmain.h deleted file mode 100644 index 26a8c33..0000000 --- a/Src/ClassicIE/ClassicIEDLL/dllmain.h +++ /dev/null @@ -1,16 +0,0 @@ -// 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 "ClassicIEDLL_i.h" - -class CClassicIEDLLModule : public CAtlDllModuleT< CClassicIEDLLModule > -{ -public : - DECLARE_LIBID(LIBID_ClassicIEDLLLib) - DECLARE_REGISTRY_APPID_RESOURCEID(IDR_CLASSICIEDLL, "{DF3255F4-FF55-44FA-A728-E77B83E9E403}") -}; - -extern class CClassicIEDLLModule _AtlModule; diff --git a/Src/ClassicIE/ClassicIEDLL/glow.bmp b/Src/ClassicIE/ClassicIEDLL/glow.bmp deleted file mode 100644 index c690d8a..0000000 Binary files a/Src/ClassicIE/ClassicIEDLL/glow.bmp and /dev/null differ diff --git a/Src/ClassicIE/ClassicIEDLL/resource.h b/Src/ClassicIE/ClassicIEDLL/resource.h deleted file mode 100644 index e143bd2..0000000 --- a/Src/ClassicIE/ClassicIEDLL/resource.h +++ /dev/null @@ -1,57 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by ClassicIEDLL.rc -// -#define IDI_APPICON 1 -#define IDR_CLASSICIEDLL 101 -#define IDR_CLASSICIEBHO 102 -#define IDB_BITMAP1 201 -#define IDB_GLOW 201 -#define IDS_APP_TITLE 5000 -#define IDS_SETTINGS_TITLE 5001 -#define IDS_SETTINGS_TITLE_VER 5002 -#define IDS_NEW_SETTINGS 5003 -#define IDS_TITLE_SETTINGS 5004 -#define IDS_SHOW_CAPTION 5005 -#define IDS_SHOW_CAPTION_TIP 5006 -#define IDS_CENTER_CAPTION 5007 -#define IDS_CENTER_CAPTION_TIP 5008 -#define IDS_LANGUAGE_SETTINGS 5009 -#define IDS_CAPTION_FONT 5010 -#define IDS_CAPTION_FONT_TIP 5011 -#define IDS_TEXT_COLOR 5012 -#define IDS_TEXT_COLOR_TIP 5013 -#define IDS_MAXTEXT_COLOR 5014 -#define IDS_MAXTEXT_COLOR_TIP 5015 -#define IDS_INTEXT_COLOR 5016 -#define IDS_INTEXT_COLOR_TIP 5017 -#define IDS_MAXINTEXT_COLOR 5018 -#define IDS_MAXINTEXT_COLOR_TIP 5019 -#define IDS_GLOW 5020 -#define IDS_GLOW_TIP 5021 -#define IDS_GLOW_COLOR 5022 -#define IDS_GLOW_COLOR_TIP 5023 -#define IDS_MAXGLOW 5024 -#define IDS_MAXGLOW_TIP 5025 -#define IDS_MAXGLOW_COLOR 5026 -#define IDS_MAXGLOW_COLOR_TIP 5027 -#define IDS_STATUS_SETTINGS 5028 -#define IDS_SHOW_PROGRESS 5029 -#define IDS_SHOW_PROGRESS_TIP 5030 -#define IDS_SHOW_ZONE 5031 -#define IDS_SHOW_ZONE_TIP 5032 -#define IDS_SHOW_PROTECTED 5033 -#define IDS_SHOW_PROTECTED_TIP 5034 -#define IDS_SHOW_ICON 5035 -#define IDS_SHOW_ICON_TIP 5036 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 202 -#define _APS_NEXT_COMMAND_VALUE 32768 -#define _APS_NEXT_CONTROL_VALUE 201 -#define _APS_NEXT_SYMED_VALUE 103 -#endif -#endif diff --git a/Src/ClassicIE/ClassicIEDLL/stdafx.cpp b/Src/ClassicIE/ClassicIEDLL/stdafx.cpp deleted file mode 100644 index 7e034bd..0000000 --- a/Src/ClassicIE/ClassicIEDLL/stdafx.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// ClassicIEDLL.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" diff --git a/Src/ClassicIE/ClassicIEDLL/stdafx.h b/Src/ClassicIE/ClassicIEDLL/stdafx.h deleted file mode 100644 index 57d4d82..0000000 --- a/Src/ClassicIE/ClassicIEDLL/stdafx.h +++ /dev/null @@ -1,35 +0,0 @@ -// 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 ISOLATION_AWARE_ENABLED 1 -#define _ATL_APARTMENT_THREADED -#define _ATL_NO_AUTOMATIC_NAMESPACE - -#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit - -#include "resource.h" -#include -#include -#include -#include - -using namespace ATL; - -#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" diff --git a/Src/ClassicIE/ClassicIEDLL/targetver.h b/Src/ClassicIE/ClassicIEDLL/targetver.h deleted file mode 100644 index d4feea8..0000000 --- a/Src/ClassicIE/ClassicIEDLL/targetver.h +++ /dev/null @@ -1,24 +0,0 @@ -#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 diff --git a/Src/ClassicIE/Resource.h b/Src/ClassicIE/Resource.h deleted file mode 100644 index 1e684ce..0000000 --- a/Src/ClassicIE/Resource.h +++ /dev/null @@ -1,21 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by ClassicIE.rc -// -#define IDC_MYICON 2 -#define IDD_CLASSICIE_DIALOG 102 -#define IDR_MAINFRAME 128 -#define IDI_ICON1 129 -#define IDC_STATIC -1 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NO_MFC 1 -#define _APS_NEXT_RESOURCE_VALUE 130 -#define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 110 -#endif -#endif diff --git a/Src/LICENSE.txt b/Src/LICENSE.txt deleted file mode 100644 index 6ea3a61..0000000 --- a/Src/LICENSE.txt +++ /dev/null @@ -1,43 +0,0 @@ -============================================================================= -License for the Open-Shell Source Code (MIT license) - -Copyright (c) 2009-2017, Ivo Beltchev http://www.classicshell.net/ -Copyright (C) 2017-2018, The Open-Shell Team https://github.com/open-shell - - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -============================================================================= -License for the Open-Shell source assets - -Copyright (c) 2009-2013, Ivo Beltchev http://www.classicshell.net/ -Copyright (C) 2017-2018, The Open-Shell Team https://github.com/open-shell - -Assets like bitmaps, icons, skins, HTML documentation are copyrighted works. -Using them in a commercial project is not allowed without the author's written -consent. Email classicshell@ibeltchev.com for details. - -You are allowed to use the assets in free projects. This exception is granted -to allow people to create and distribute free modifications of the Classic -Shell software, and to create custom builds for personal or internal use. - -NOTE: The Open-Shell brand and the Open-Shell logo are trademarks and -cannot be used in any public project, or to identify other products and -services. diff --git a/Src/Lib/Assert.cpp b/Src/Lib/Assert.cpp deleted file mode 100644 index 9944eae..0000000 --- a/Src/Lib/Assert.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// 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 -#include "StringUtils.h" - -static DWORD _stdcall AssertThreadProc( void *param ) -{ - return MessageBoxA(NULL,(const char *)param,"Assertion Failed",MB_ABORTRETRYIGNORE|MB_TASKMODAL|MB_ICONERROR); -} - -// debug assert -bool dbg_assert( const char *exp, const char *file, unsigned line ) -{ - char buf[2048]; - Sprintf(buf,_countof(buf),"Expression: %s\r\nFile: %s\r\nLine: %d\n",exp,file,line); - HANDLE h=CreateThread(NULL,0,AssertThreadProc,buf,0,NULL); - if (h) - { - WaitForSingleObject(h,INFINITE); - DWORD res=IDRETRY; - GetExitCodeThread(h,&res); - if (res==IDABORT) - TerminateProcess(GetCurrentProcess(),1); - return (res==IDIGNORE); // true will continue, false will cause _CrtDbgBreak - } - return true; -} diff --git a/Src/Lib/Assert.h b/Src/Lib/Assert.h deleted file mode 100644 index f11a6ee..0000000 --- a/Src/Lib/Assert.h +++ /dev/null @@ -1,16 +0,0 @@ -// 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 - -#ifdef _DEBUG - -bool dbg_assert( const char *exp, const char *file, unsigned line ); -#define Assert(exp) do { if (!(exp) && !dbg_assert(#exp,__FILE__,__LINE__)) _CrtDbgBreak(); } while (0) - -#else - -#define Assert(exp) ((void)0) - -#endif diff --git a/Src/Lib/ComHelper.h b/Src/Lib/ComHelper.h deleted file mode 100644 index 75fab1c..0000000 --- a/Src/Lib/ComHelper.h +++ /dev/null @@ -1,45 +0,0 @@ -// 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 -#include "Assert.h" - -class CAbsolutePidl -{ -public: - CAbsolutePidl( void ) { m_Pidl=NULL; } - CAbsolutePidl( const CAbsolutePidl &pidl ) { m_Pidl=pidl?ILCloneFull(pidl):NULL; } - ~CAbsolutePidl( void ) { Clear(); } - void operator=( const CAbsolutePidl &pidl ) { Clone(pidl); } - - void Clear( void ) { if (m_Pidl) ILFree(m_Pidl); m_Pidl=NULL; } - operator PIDLIST_ABSOLUTE( void ) const { return m_Pidl; } - PIDLIST_ABSOLUTE* operator&( void ) { Assert(m_Pidl==NULL); return &m_Pidl; } - void Swap( CAbsolutePidl &pidl ) { PIDLIST_ABSOLUTE q=pidl.m_Pidl; pidl.m_Pidl=m_Pidl; m_Pidl=q; } - void Attach( PIDLIST_ABSOLUTE pidl ) { Clear(); m_Pidl=pidl; } - PIDLIST_ABSOLUTE Detach( void ) { PIDLIST_ABSOLUTE pidl=m_Pidl; m_Pidl=NULL; return pidl; } - void Clone( PIDLIST_ABSOLUTE pidl ) { Clear(); m_Pidl=pidl?ILCloneFull(pidl):NULL; } - -private: - PIDLIST_ABSOLUTE m_Pidl; -}; - -class CComString -{ -public: - CComString( void ) { m_String=NULL; } - ~CComString( void ) { Clear(); } - - void Clear( void ) { if (m_String) CoTaskMemFree(m_String); m_String=NULL; } - operator const wchar_t*( void ) const { return m_String; } - wchar_t** operator&( void ) { Assert(m_String==NULL); return &m_String; } - void MakeUpper( void ) { if (m_String) CharUpper(m_String); } - -private: - CComString( const CComString &str ); - void operator=( const CComString &str ); - wchar_t *m_String; -}; diff --git a/Src/Lib/DownloadHelper.cpp b/Src/Lib/DownloadHelper.cpp deleted file mode 100644 index e3575b8..0000000 --- a/Src/Lib/DownloadHelper.cpp +++ /dev/null @@ -1,1145 +0,0 @@ -// 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 -#include "resource.h" -#include "..\Setup\UpdateBin\resource.h" -#include "DownloadHelper.h" -#include "Settings.h" -#include "SettingsUIHelper.h" -#include "LanguageSettingsHelper.h" -#include "ResourceHelper.h" -#include "ComHelper.h" -#include "FNVHash.h" -#include "StringUtils.h" -#include "Translations.h" -#include -#include - -//#define UPDATE_LOG L"-|%LOCALAPPDATA%\\OpenShell\\UpdateLog.txt" - -const __int64 TIME_DIVISOR=360000000; // divisor for FILETIME to get 0.01 hour precision -const int TIME_PRECISION=100; // 0.01 hour precision - -class CProgressDlg: public CResizeableDlg -{ -public: - CProgressDlg( void ); - BEGIN_MSG_MAP( CProgressDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_CLEAR, OnClear ) - COMMAND_HANDLER( IDCANCEL, BN_CLICKED, OnCancel ) - END_MSG_MAP() - - BEGIN_RESIZE_MAP - END_RESIZE_MAP - - void Create( HWND owner, const wchar_t *title ); - void SetText( const wchar_t *text ); // may block if messages are not processed - void SetProgress( int progress ); // -1 for undefined - void EnableCancel( bool bEnabled ); - bool IsCanceled( void ) const { return m_bCanceled; } - -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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnClear( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - -private: - bool m_bCanceled; - bool m_bMarquee; - CWindow m_Progress; - - enum - { - COMMAND_SET_PROGRESS, - COMMAND_ENABLE_CANCEL, - }; -}; - -CProgressDlg::CProgressDlg( void ) -{ - m_bCanceled=m_bMarquee=false; -} - -LRESULT CProgressDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - InitResize(MOVE_HORIZONTAL|MOVE_VERTICAL); - m_Progress=GetDlgItem(IDC_PROGRESS); - m_Progress.SendMessage(PBM_SETRANGE,0,MAKELPARAM(0,100)); - return TRUE; -} - -void CProgressDlg::Create( HWND owner, const wchar_t *title ) -{ - DLGTEMPLATE *pTemplate=LoadDialogEx(IDD_PROGRESS); - CResizeableDlg::Create(owner,pTemplate); - SetWindowText(title); - ShowWindow(SW_SHOW); - SetDlgItemText(IDC_MESSAGE,L""); -} - -void CProgressDlg::SetText( const wchar_t *text ) -{ - SetDlgItemText(IDC_MESSAGE,text); -} - -void CProgressDlg::SetProgress( int progress ) -{ - PostMessage(WM_CLEAR,COMMAND_SET_PROGRESS,progress); -} - -void CProgressDlg::EnableCancel( bool bEnabled ) -{ - PostMessage(WM_CLEAR,COMMAND_ENABLE_CANCEL,bEnabled?1:0); -} - -LRESULT CProgressDlg::OnClear( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==COMMAND_SET_PROGRESS) - { - int progress=(int)lParam; - if (progress>=0) - { - if (m_bMarquee) - { - m_Progress.SendMessage(PBM_SETMARQUEE,FALSE); - m_bMarquee=false; - } - m_Progress.SendMessage(PBM_SETPOS,progress); - } - else - { - if (!m_bMarquee) - { - m_Progress.SendMessage(PBM_SETMARQUEE,TRUE,50); - m_Progress.SetWindowLong(GWL_STYLE,m_Progress.GetWindowLong(GWL_STYLE)|PBS_MARQUEE); - m_bMarquee=true; - } - m_Progress.SendMessage(PBM_STEPIT); - } - } - else if (wParam==COMMAND_ENABLE_CANCEL) - { - GetDlgItem(IDCANCEL).EnableWindow(lParam!=0); - } - return 0; -} - -LRESULT CProgressDlg::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - m_bCanceled=true; - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -static bool g_bCheckingVersion; - -static DWORD GetTimeStamp( const wchar_t *fname ) -{ - HANDLE h=CreateFile(fname,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); - if (h==INVALID_HANDLE_VALUE) - return 0; - DWORD res=0; - DWORD q; - IMAGE_DOS_HEADER header; - if (ReadFile(h,&header,sizeof(header),&q,NULL) && q==sizeof(header)) - { - if (SetFilePointer(h,header.e_lfanew+8,NULL,FILE_BEGIN)!=INVALID_SET_FILE_POINTER) - { - if (!ReadFile(h,&res,4,&q,NULL) || q!=4) - res=0; - } - } - CloseHandle(h); - return res; -} - -enum TDownloadResult -{ - DOWNLOAD_OK, - DOWNLOAD_SAMETIME, - DOWNLOAD_CANCEL, - - // errors - DOWNLOAD_FIRST_ERROR, - DOWNLOAD_INTERNET=DOWNLOAD_FIRST_ERROR, - DOWNLOAD_START, - DOWNLOAD_FAIL, -}; - -// Downloads a file -// filename - returns the name of the downloaded file -// timestamp - if not zero, it is compared to the timestamp of the file and returns DOWNLOAD_SAMETIME if the same (and buf will be empty) -static TDownloadResult DownloadFile( const wchar_t *url, std::vector &buf, CString *pFilename, DWORD timestamp, bool bAcceptCached, CProgressDlg *pProgress, TSettingsComponent component ) -{ - const wchar_t *compName=L"Open-Shell"; - switch (component) - { - case COMPONENT_EXPLORER: compName=L"Classic Explorer"; break; - case COMPONENT_MENU: compName=L"Open-Shell Menu"; break; - case COMPONENT_IE: compName=L"Classic IE"; break; - case COMPONENT_UPDATE: compName=L"Open-Shell Update"; break; - } - - DWORD compVersion=GetVersionEx(g_Instance); - - wchar_t agent[100]; - Sprintf(agent,_countof(agent),L"%s %d.%d.%d (Win %x)",compName,compVersion>>24,(compVersion>>16)&0xFF,compVersion&0xFFFF,GetWinVersion()); - - TDownloadResult res=DOWNLOAD_OK; - HINTERNET hInternet=InternetOpen(agent,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0); - if (!hInternet) - return DOWNLOAD_INTERNET; - if (pProgress && pProgress->IsCanceled()) - res=DOWNLOAD_CANCEL; - - wchar_t host[256]; - wchar_t file[256]; - URL_COMPONENTS components={sizeof(components)}; - components.lpszHostName=host; - components.dwHostNameLength=_countof(host); - components.lpszUrlPath=file; - components.dwUrlPathLength=_countof(file); - InternetCrackUrl(url,0,0,&components); - int time=GetTickCount(); - if (pProgress) - pProgress->SetText(LoadStringEx(IDS_PROGRESS_CONNECT)); - HINTERNET hConnect=InternetConnect(hInternet,host,INTERNET_DEFAULT_HTTP_PORT,L"",L"",INTERNET_SERVICE_HTTP,0,0); - if (hConnect) - { - if (pProgress && pProgress->IsCanceled()) - res=DOWNLOAD_CANCEL; - const wchar_t *accept[]={L"*/*",NULL}; - if (res==DOWNLOAD_OK) - { - HINTERNET hRequest=HttpOpenRequest(hConnect,L"GET",file,NULL,NULL,accept,bAcceptCached?0:INTERNET_FLAG_RELOAD,0); - if (hRequest) - { - if (pProgress && pProgress->IsCanceled()) - res=DOWNLOAD_CANCEL; - // get size (may be missing) - DWORD fileSize; - if (res==DOWNLOAD_OK) - { - if (HttpSendRequest(hRequest,NULL,0,NULL,0)) - { - DWORD len=sizeof(fileSize); - DWORD index=0; - if (!HttpQueryInfo(hRequest,HTTP_QUERY_CONTENT_LENGTH|HTTP_QUERY_FLAG_NUMBER,&fileSize,&len,&index)) - fileSize=0; - } - else - res=DOWNLOAD_START; - } - - // get file name (must be after HttpSendRequest to resolve any redirections) - if (res==DOWNLOAD_OK && pFilename) - { - wchar_t buf[1024]; - DWORD len=sizeof(buf); - if (InternetQueryOption(hRequest,INTERNET_OPTION_URL,buf,&len)) - { - const wchar_t *name=wcsrchr(buf,'/'); - if (name && name[1]) - *pFilename=name+1; - else - res=DOWNLOAD_START; - } - else - res=DOWNLOAD_START; - } - - if (res==DOWNLOAD_OK) - { - if (pProgress) - { - pProgress->SetText(LoadStringEx(IDS_PROGRESS_DOWNLOAD)); - if (fileSize==0) - pProgress->SetProgress(-1); - } - int CHUNK_SIZE=timestamp?1024:32768; // start with small chunk to verify the timestamp - DWORD size=0; - buf.reserve(fileSize+CHUNK_SIZE); - while (1) - { - if (pProgress && pProgress->IsCanceled()) - { - res=DOWNLOAD_CANCEL; - break; - } - DWORD dwSize; - buf.resize(size+CHUNK_SIZE); - if (!InternetReadFile(hRequest,&buf[size],CHUNK_SIZE,&dwSize)) - { - res=DOWNLOAD_FAIL; - break; - } - if (dwSize==0) - break; - size+=dwSize; - if (pProgress && fileSize) - pProgress->SetProgress(size*100/fileSize); - if (timestamp && (size=sizeof(IMAGE_DOS_HEADER)) - { - DWORD pos=((IMAGE_DOS_HEADER*)&buf[0])->e_lfanew+8; - if (size>=pos+4) - { - if (timestamp==*(DWORD*)&buf[pos]) - { - res=DOWNLOAD_SAMETIME; - break; - } - timestamp=0; - CHUNK_SIZE=32768; - } - } - } - buf.resize(size); - } - InternetCloseHandle(hRequest); - } - else - res=DOWNLOAD_START; - } - InternetCloseHandle(hConnect); - } - else - res=DOWNLOAD_START; - - InternetCloseHandle(hInternet); - return res; -} - -static int SaveFile( const wchar_t *fname, const std::vector &buf ) -{ - HANDLE h=CreateFile(fname,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); - int err=0; - if (h!=INVALID_HANDLE_VALUE) - { - DWORD size=(DWORD)buf.size(); - DWORD q; - if (WriteFile(h,&buf[0],size,&q,NULL) && q==size) - CloseHandle(h); - else - { - err=GetLastError(); -#ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"Failed to write file '%s': 0x%08X",fname,err); -#endif - CloseHandle(h); - DeleteFile(fname); - } - } - else - { - err=GetLastError(); -#ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"Failed to save file '%s': 0x%08X",fname,err); -#endif - } - return err; -} - -struct VersionCheckParams -{ - TVersionCheck check; - TSettingsComponent component; - tNewVersionCallback callback; - CProgressDlg *progress; -}; - -// 0 - fail, 1 - success, 2 - cancel -static DWORD WINAPI ThreadVersionCheck( void *param ) -{ - VersionCheckParams params=*(VersionCheckParams*)param; - delete param; - param=NULL; - ULONGLONG curTimeL; - GetSystemTimeAsFileTime((FILETIME*)&curTimeL); - DWORD curTime=(DWORD)(curTimeL/TIME_DIVISOR); // in 0.01 hours - - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\OpenShell")!=ERROR_SUCCESS) - { - g_bCheckingVersion=false; - return 0; - } - DWORD curVersion=GetVersionEx(g_Instance); - regKey.SetDWORDValue(L"LastUpdateVersion",curVersion); - - // download file - wchar_t fname[_MAX_PATH]=L"%ALLUSERSPROFILE%\\OpenShell"; - DoEnvironmentSubst(fname,_countof(fname)); - SHCreateDirectory(NULL,fname); - PathAppend(fname,L"update.ver"); - - bool res=false; - CString urlBase=LoadStringEx(IDS_VERSION_URL); - VersionData data; - data.Clear(); - if (data.Load(fname,false)==VersionData::LOAD_OK) - { - if (!data.altUrl.IsEmpty()) - urlBase=data.altUrl; - WIN32_FILE_ATTRIBUTE_DATA attr; - if (GetFileAttributesEx(fname,GetFileExInfoStandard,&attr)) - { - DWORD writeTime=(DWORD)(((((ULONGLONG)attr.ftLastWriteTime.dwHighDateTime)<<32)|attr.ftLastWriteTime.dwLowDateTime)/TIME_DIVISOR); - if (curTime>writeTime && (curTime-writeTime)>24,(curVersion>>16)&0xFF,curVersion&0xFFFF); - - #ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"URL: %s",url); - #endif - - std::vector buf; - TDownloadResult download=DownloadFile(url,buf,NULL,GetTimeStamp(fname),false,params.progress,params.component); - #ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"Download result: %d",download); - #endif - if (download==DOWNLOAD_CANCEL) - { - g_bCheckingVersion=false; - return 2; - } - - if (downloadSetText(LoadStringEx(IDS_PROGRESS_VERIFY)); - params.progress->SetProgress(-1); - } - VersionData::TLoadResult load=data.Load(fname,false); - #ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"Load result: %d",load); - #endif - if (load==VersionData::LOAD_BAD_FILE) - DeleteFile(fname); - res=(load==VersionData::LOAD_OK); - } - } - } - - curTime+=(rand()*TIME_PRECISION)/(RAND_MAX+1)-(TIME_PRECISION/2); // add between -30 and 30 minutes to randomize access - if (!res) - { - g_bCheckingVersion=false; - // if the check failed pretend we checked 5 days ago (so we check again in 48 hours) - if (curTime>24*5*TIME_PRECISION) - regKey.SetDWORDValue(L"LastUpdateTime",curTime-24*5*TIME_PRECISION); - return 0; - } - - regKey.SetDWORDValue(L"LastUpdateTime",curTime); - - { - DWORD remindedVersion; - if (regKey.QueryDWORDValue(L"RemindedVersion",remindedVersion)!=ERROR_SUCCESS) - remindedVersion=0; - data.bNewVersion=(data.newVersion>curVersion); - data.bIgnoreVersion=(data.bNewVersion && data.newVersion<=remindedVersion); - } - { - wchar_t languages[100]={0}; - CString language2=GetSettingString(L"Language"); - if (!language2.IsEmpty()) - { - Strcpy(languages,_countof(languages)-1,language2); - } - else - { - ULONG size=0; - ULONG len=_countof(languages); - GetUserPreferredUILanguages(MUI_LANGUAGE_NAME,&size,languages,&len); - } - - bool bNewLanguage=false; - for (wchar_t *lang=languages;*lang;lang+=Strlen(lang)+1) - { - if (_wcsicmp(lang,L"en")==0 || _wcsnicmp(lang,L"en-",3)==0) - break; // English - DWORD dllVersion=0, dllBuild=0; - HINSTANCE resInstance=LoadTranslationDll(lang); - if (resInstance) - { - dllVersion=GetVersionEx(resInstance,&dllBuild); - FreeLibrary(resInstance); - } - - DWORD newVersion=0, newBuild=0; - for (std::vector::const_iterator it=data.languages.begin();it!=data.languages.end();++it) - { - if (_wcsicmp(it->language,lang)==0) - { - newVersion=it->version; - newBuild=it->build; - break; - } - } - if (newVersion==0) - continue; - - if (newVersion>dllVersion || (newVersion==dllVersion && newBuild>dllBuild)) - { - // a new DLL for this language exists - data.bNewLanguage=true; - data.newLanguage=lang; - data.encodedLangVersion=(newVersion&0xFFFF0000)|((newVersion&0xFF)<<8)|(newBuild&0xFF); - DWORD remindedVersion; - if (regKey.QueryDWORDValue(L"RemindedLangVersion",remindedVersion)!=ERROR_SUCCESS) - remindedVersion=0; - data.bIgnoreLanguage=(data.encodedLangVersion<=remindedVersion); - } - break; - } - } - - data.bValid=true; - if (params.check==CHECK_UPDATE) - { - params.callback(data); - g_bCheckingVersion=false; - return 1; - } - if ((data.bNewVersion && !data.bIgnoreVersion) || (data.bNewLanguage && !data.bIgnoreLanguage)) - params.callback(data); - g_bCheckingVersion=false; - return 0; -} - -DWORD CheckForNewVersion( HWND owner, TSettingsComponent component, TVersionCheck check, tNewVersionCallback callback ) -{ - if (g_bCheckingVersion) return 0; - - if (check==CHECK_UPDATE) - { - g_bCheckingVersion=true; - VersionCheckParams *params=new VersionCheckParams; - params->check=check; - params->component=component; - params->callback=callback; - params->progress=NULL; - - if (!owner) - return ThreadVersionCheck(params); - - CProgressDlg progress; - params->progress=&progress; - progress.Create(owner,LoadStringEx(IDS_PROGRESS_TITLE_CHECK)); - - HANDLE hThread=CreateThread(NULL,0,ThreadVersionCheck,params,0,NULL); - - while (1) - { - DWORD wait=MsgWaitForMultipleObjects(1,&hThread,FALSE,INFINITE,QS_ALLINPUT); - if (wait!=WAIT_OBJECT_0+1) - break; - MSG msg; - while (PeekMessage(&msg,0,0,0,PM_REMOVE)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - progress.DestroyWindow(); - DWORD exit; - if (!GetExitCodeThread(hThread,&exit)) - exit=0; - CloseHandle(hThread); - return exit; - } - else - { - DWORD buildTime=0; - { - // skip the update if the update component is not found - wchar_t path[_MAX_PATH]; - GetModuleFileName(_AtlBaseModule.GetModuleInstance(),path,_countof(path)); - PathRemoveFileSpec(path); - PathAppend(path,L"Update.exe"); - - WIN32_FILE_ATTRIBUTE_DATA attr; - if (!GetFileAttributesEx(path,GetFileExInfoStandard,&attr)) - return 0; - - buildTime=(DWORD)(((((ULONGLONG)attr.ftCreationTime.dwHighDateTime)<<32)|attr.ftCreationTime.dwLowDateTime)/TIME_DIVISOR); // in 0.01 hours - } - - ULONGLONG curTimeL; - GetSystemTimeAsFileTime((FILETIME*)&curTimeL); - DWORD curTime=(DWORD)(curTimeL/TIME_DIVISOR); // in 0.01 hours - if (curTime-buildTime>24*365*TIME_PRECISION) - return 0; // the build is more than a year old, don't do automatic updates - - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\OpenShell")!=ERROR_SUCCESS) - regKey.Create(HKEY_CURRENT_USER,L"Software\\OpenShell\\OpenShell"); - - DWORD lastVersion; - if (regKey.QueryDWORDValue(L"LastUpdateVersion",lastVersion)!=ERROR_SUCCESS) - lastVersion=0; - if (lastVersion==GetVersionEx(g_Instance)) - { - DWORD lastTime; - if (regKey.QueryDWORDValue(L"LastUpdateTime",lastTime)!=ERROR_SUCCESS) - lastTime=0; - if ((int)(curTime-lastTime)<168*TIME_PRECISION) - return 0; // check weekly - } - - // check the Update setting (uses the current value in the registry, not the one from memory - { - CRegKey regSettings, regSettingsUser, regPolicy, regPolicyUser; - bool bUpgrade=OpenSettingsKeys(COMPONENT_SHARED,regSettings,regSettingsUser,regPolicy,regPolicyUser); - - CSetting settings[]={ - {L"Update",CSetting::TYPE_BOOL,0,0,1}, - {NULL} - }; - - settings[0].LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - - if (!GetSettingBool(settings[0])) - return 0; - } - - VersionCheckParams *params=new VersionCheckParams; - params->check=check; - params->component=component; - params->callback=callback; - params->progress=NULL; - - g_bCheckingVersion=true; - if (check==CHECK_AUTO_WAIT) - return ThreadVersionCheck(params); - HANDLE hThread=CreateThread(NULL,0,ThreadVersionCheck,params,0,NULL); - CloseHandle(hThread); - return hThread!=NULL?1:0; - } -} - -static CString LoadStringEx( HMODULE hModule, int stringId, int langId ) -{ - CString res; - - HRSRC hrsrc=FindResourceEx(hModule,RT_STRING,MAKEINTRESOURCE((stringId>>4)+1),(WORD)langId); - if (!hrsrc) return res; - HGLOBAL hglb=LoadResource(hModule,hrsrc); - if (!hglb) return res; - WORD *data=(WORD*)LockResource(hglb); - if (!data) return res; - - stringId&=15; - for (int i=0;i0) - { - std::vector signerInfo(len); - CMSG_SIGNER_INFO *pSignerInfo=(CMSG_SIGNER_INFO*)&signerInfo[0]; - if (CryptMsgGetParam(hMsg,CMSG_SIGNER_INFO_PARAM,0,pSignerInfo,&len)) - { - CERT_INFO certInfo; - certInfo.Issuer=pSignerInfo->Issuer; - certInfo.SerialNumber=pSignerInfo->SerialNumber; - PCCERT_CONTEXT pCertContext=CertFindCertificateInStore(hStore,X509_ASN_ENCODING|PKCS_7_ASN_ENCODING,0,CERT_FIND_SUBJECT_CERT,&certInfo,NULL); - if (pCertContext) - { - len=CertGetNameString(pCertContext,CERT_NAME_SIMPLE_DISPLAY_TYPE,0,NULL,NULL,0); - if (len>1) - { - wchar_t *buf=signerName.GetBuffer(len-1); - if (buf) - { - DWORD res=CertGetNameString(pCertContext,CERT_NAME_SIMPLE_DISPLAY_TYPE,0,NULL,buf,len); - signerName.ReleaseBufferSetLength(len-1); - if (!res) signerName.Empty(); - } - -#ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"Signer: '%s', '%s'",signer,signerName); -#endif - } - else - { -#ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"CertGetNameString failed"); -#endif - } - } - else - { -#ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"CertFindCertificateInStore failed"); -#endif - } - } - else - { -#ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"CryptMsgGetParam2 failed"); -#endif - } - } - else - { -#ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"CryptMsgGetParam1 failed"); -#endif - } - if (hStore) CertCloseStore(hStore,0); - if (hMsg) CryptMsgClose(hMsg); - } - else - { -#ifdef UPDATE_LOG - LogToFile(UPDATE_LOG,L"CryptQueryObject failed"); -#endif - } - - return (signerName==signer); -} - -void VersionData::Clear( void ) -{ - bValid=false; - newVersion=encodedLangVersion=0; - downloadUrl.Empty(); - downloadSigner.Empty(); - news.Empty(); - updateLink.Empty(); - languageLink.Empty(); - altUrl.Empty(); - bNewVersion=bIgnoreVersion=bNewLanguage=bIgnoreLanguage=false; - newLanguage.Empty(); - for (std::vector::iterator it=languages.begin();it!=languages.end();++it) - if (it->bitmap) - DeleteObject(it->bitmap); - languages.clear(); -} - -void VersionData::Swap( VersionData &data ) -{ - std::swap(bValid,data.bValid); - std::swap(newVersion,data.newVersion); - std::swap(encodedLangVersion,data.encodedLangVersion); - std::swap(downloadUrl,data.downloadUrl); - std::swap(downloadSigner,data.downloadSigner); - std::swap(news,data.news); - std::swap(updateLink,data.updateLink); - std::swap(languageLink,data.languageLink); - std::swap(altUrl,data.altUrl); - std::swap(bNewVersion,data.bNewVersion); - std::swap(bIgnoreVersion,data.bIgnoreVersion); - std::swap(bNewLanguage,data.bNewLanguage); - std::swap(bIgnoreLanguage,data.bIgnoreLanguage); - std::swap(newLanguage,data.newLanguage); - std::swap(languages,data.languages); -} - -VersionData::TLoadResult VersionData::Load( const wchar_t *fname, bool bLoadFlags ) -{ - Clear(); - if (!VerifyDigitalCertificate(fname,L"Ivaylo Beltchev")) - return LOAD_BAD_FILE; - - HMODULE hModule=LoadLibraryEx(fname,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hModule) return LOAD_BAD_FILE; - - if (GetVersionEx(hModule)!=GetVersionEx(g_Instance)) - { - FreeLibrary(hModule); - return LOAD_BAD_VERSION; - } - - wchar_t defLang[100]=L""; - { - CRegKey regKeyLng; - if (regKeyLng.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - ULONG size=_countof(defLang); - if (regKeyLng.QueryStringValue(L"DefaultLanguage",defLang,&size)!=ERROR_SUCCESS) - defLang[0]=0; - } - } - - const int DEFAULT_LANGUAGE=0x409; - - int defLangId; - if (!defLang[0] || !GetLocaleInfoEx(defLang,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&defLangId,4)) - defLangId=DEFAULT_LANGUAGE; - - downloadUrl=LoadStringEx(hModule,IDS_INSTALL_URL,defLangId); - // these are always in en-US - downloadSigner=LoadStringEx(hModule,IDS_INSTALL_SIGNER,DEFAULT_LANGUAGE); - CString strVer=LoadStringEx(hModule,IDS_VERSION,defLangId); - if (strVer.IsEmpty()) - strVer=LoadStringEx(hModule,IDS_VERSION,DEFAULT_LANGUAGE); - updateLink=LoadStringEx(hModule,IDS_UPDATE_LINK,DEFAULT_LANGUAGE); - languageLink=LoadStringEx(hModule,IDS_LANGUAGE_LINK,DEFAULT_LANGUAGE); - altUrl=LoadStringEx(hModule,IDS_ALT_URL,DEFAULT_LANGUAGE); - - int v1, v2, v3; - if (!downloadUrl.IsEmpty() && swscanf_s(strVer,L"%d.%d.%d",&v1,&v2,&v3)==3) - { - newVersion=(v1<<24)|(v2<<16)|v3; - news=LoadStringEx(hModule,IDS_NEWS,defLangId); - if (news.IsEmpty()) - news=LoadStringEx(hModule,IDS_NEWS,DEFAULT_LANGUAGE); - - EnumResourceLanguages(hModule,RT_STRING,MAKEINTRESOURCE((IDS_LNG_URL>>4)+1),EnumStringLanguages,(LONG_PTR)this); - for (std::vector::iterator it=languages.begin();it!=languages.end();++it) - it->bitmap=(HBITMAP)LoadImage(hModule,MAKEINTRESOURCE(it->languageId),IMAGE_BITMAP,22,27,LR_CREATEDIBSECTION); - } - - FreeLibrary(hModule); - - if (newVersion && !downloadUrl.IsEmpty() && !news.IsEmpty()) - return LOAD_OK; - Clear(); - return LOAD_ERROR; -} - -struct DownloadFileParams -{ - // input - const wchar_t *url; - const wchar_t *signer; - DWORD hash; - const wchar_t *path; - CString fname; // file name on input, full path on output - CProgressDlg *progress; - bool bAcceptCached; - TSettingsComponent component; - - // output - TDownloadResult downloadRes; - int saveRes; - bool valid; -}; - -static DWORD WINAPI ThreadDownloadFile( void *param ) -{ - DownloadFileParams ¶ms=*(DownloadFileParams*)param; - param=NULL; - params.valid=false; - params.saveRes=0; - - std::vector buf; - params.downloadRes=DownloadFile(params.url,buf,params.fname.IsEmpty()?¶ms.fname:NULL,0,params.bAcceptCached,params.progress,params.component); - if (params.downloadRes==DOWNLOAD_CANCEL || params.downloadRes>=DOWNLOAD_FIRST_ERROR) - return 0; - - params.valid=!buf.empty(); - if (!params.valid) - return 0; - - // validate hash - if (params.hash) - { - if (params.progress) - params.progress->SetText(LoadStringEx(IDS_PROGRESS_VERIFY)); - - params.valid=(CalcFNVHash(&buf[0],(int)buf.size(),FNV_HASH0)==params.hash); - if (!params.valid) - return 0; - } - - // save - if (params.progress) - { - params.progress->SetText(LoadStringEx(IDS_PROGRESS_SAVE)); - params.progress->EnableCancel(false); - params.progress->SetProgress(-1); - } - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s\\%s",params.path,params.fname); - params.fname=fname; - params.saveRes=SaveFile(fname,buf); - if (params.saveRes) - return 0; - - // validate signer - if (params.signer) - { - if (params.progress) - params.progress->SetText(LoadStringEx(IDS_PROGRESS_VERIFY)); - params.valid=VerifyDigitalCertificate(fname,params.signer); - if (!params.valid) - { - DeleteFile(fname); - return 0; - } - } - - return 0; -} - -DWORD DownloadLanguageDll( HWND owner, TSettingsComponent component, const LanguageVersionData &data, CString &error ) -{ - // download file - wchar_t path[_MAX_PATH]=L"%ALLUSERSPROFILE%\\OpenShell\\Languages"; - DoEnvironmentSubst(path,_countof(path)); - SHCreateDirectory(NULL,path); - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s.dll",data.language); - - CProgressDlg progress; - progress.Create(owner,LoadStringEx(IDS_PROGRESS_TITLE_DOWNLOAD)); - - DownloadFileParams params; - params.url=data.url; - params.signer=NULL; - params.hash=data.hash; - params.path=path; - params.fname=fname; - params.progress=&progress; - params.bAcceptCached=true; - params.component=component; - - HANDLE hThread=CreateThread(NULL,0,ThreadDownloadFile,¶ms,0,NULL); - - while (1) - { - DWORD wait=MsgWaitForMultipleObjects(1,&hThread,FALSE,INFINITE,QS_ALLINPUT); - if (wait!=WAIT_OBJECT_0+1) - break; - MSG msg; - while (PeekMessage(&msg,0,0,0,PM_REMOVE)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - progress.DestroyWindow(); - CloseHandle(hThread); - - if (params.downloadRes==DOWNLOAD_CANCEL) - return 2; - if (params.downloadRes==DOWNLOAD_INTERNET) - { - error=LoadStringEx(IDS_INTERNET_FAIL); - return 0; - } - else if (params.downloadRes==DOWNLOAD_START) - { - error=LoadStringEx(IDS_INITIATE_FAIL); - return 0; - } - else if (params.downloadRes==DOWNLOAD_FAIL) - { - error=LoadStringEx(IDS_LANG_DOWNLOAD_FAIL); - return 0; - } - - if (params.saveRes) - { - wchar_t msg[256]; - FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,params.saveRes,0,msg,_countof(msg),NULL); - error.Format(LoadStringEx(IDS_LANG_SAVE_FAIL),params.fname); - error+="\r\n"; - error+=msg; - return 0; - } - - if (!params.valid) - { - error=LoadStringEx(IDS_LANG_DOWNLOAD_FAIL); - return 0; - } - - return 1; -} - -DWORD DownloadNewVersion( HWND owner, TSettingsComponent component, const wchar_t *url, const wchar_t *signer, CString &fname, CString &error ) -{ - CComString pPath; - if (FAILED(SHGetKnownFolderPath(FOLDERID_Downloads,0,NULL,&pPath)) || !pPath) - { - if (FAILED(SHGetKnownFolderPath(FOLDERID_Documents,0,NULL,&pPath)) || !pPath) - { - if (FAILED(SHGetKnownFolderPath(FOLDERID_Desktop,0,NULL,&pPath)) || !pPath) - { - error=LoadStringEx(IDS_INST_DOWNLOAD_FAIL); - return 0; - } - } - } - - CProgressDlg progress; - progress.Create(owner,LoadStringEx(IDS_PROGRESS_TITLE_DOWNLOAD)); - - DownloadFileParams params; - params.url=url; - params.signer=signer; - params.hash=0; - params.path=pPath; - params.progress=&progress; - params.bAcceptCached=true; - params.component=component; - - HANDLE hThread=CreateThread(NULL,0,ThreadDownloadFile,¶ms,0,NULL); - - while (1) - { - DWORD wait=MsgWaitForMultipleObjects(1,&hThread,FALSE,INFINITE,QS_ALLINPUT); - if (wait!=WAIT_OBJECT_0+1) - break; - MSG msg; - while (PeekMessage(&msg,0,0,0,PM_REMOVE)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - progress.DestroyWindow(); - CloseHandle(hThread); - - if (params.downloadRes==DOWNLOAD_CANCEL) - return 2; - if (params.downloadRes==DOWNLOAD_INTERNET) - { - error=LoadStringEx(IDS_INTERNET_FAIL); - return 0; - } - else if (params.downloadRes==DOWNLOAD_START) - { - error=LoadStringEx(IDS_INITIATE_FAIL); - return 0; - } - else if (params.downloadRes==DOWNLOAD_FAIL) - { - error=LoadStringEx(IDS_INST_DOWNLOAD_FAIL); - return 0; - } - - if (params.saveRes) - { - wchar_t msg[256]; - FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,params.saveRes,0,msg,_countof(msg),NULL); - error.Format(LoadStringEx(IDS_INST_SAVE_FAIL),params.fname); - error+="\r\n"; - error+=msg; - return 0; - } - - if (!params.valid) - { - error=LoadStringEx(IDS_INST_DOWNLOAD_FAIL); - return 0; - } - - fname=params.fname; - return 1; -} diff --git a/Src/Lib/DownloadHelper.h b/Src/Lib/DownloadHelper.h deleted file mode 100644 index 915f76f..0000000 --- a/Src/Lib/DownloadHelper.h +++ /dev/null @@ -1,72 +0,0 @@ -// 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 - -enum TVersionCheck -{ - CHECK_AUTO, - CHECK_AUTO_WAIT, - CHECK_UPDATE, -}; - -enum TSettingsComponent; - -struct LanguageVersionData -{ - CString language; - CString url; - DWORD version; - DWORD build; - DWORD hash; - bool bBasic; - WORD languageId; - HBITMAP bitmap; - - LanguageVersionData( void ) { bBasic=false; bitmap=NULL; } -}; - -struct VersionData -{ - bool bValid; - DWORD newVersion; - DWORD encodedLangVersion; - CString downloadUrl; - CString downloadSigner; - CString news; - CString updateLink; - CString languageLink; - CString altUrl; - bool bNewVersion; - bool bIgnoreVersion; - bool bNewLanguage; - bool bIgnoreLanguage; - CString newLanguage; - std::vector languages; - - ~VersionData( void ) { Clear(); } - void Clear( void ); - void Swap( VersionData &data ); - - enum TLoadResult - { - LOAD_OK, - LOAD_ERROR, // the file is missing some data - LOAD_BAD_VERSION, // the version is wrong - LOAD_BAD_FILE, // the file is corrupted - }; - - TLoadResult Load( const wchar_t *fname, bool bLoadFlags ); -private: - void operator=( const VersionData& ); -}; - -typedef void (*tNewVersionCallback)( VersionData &data ); - -// 0 - fail, 1 - success, 2 - cancel -DWORD CheckForNewVersion( HWND owner, TSettingsComponent component, TVersionCheck check, tNewVersionCallback callback ); -DWORD DownloadLanguageDll( HWND owner, TSettingsComponent component, const LanguageVersionData &data, CString &error ); -DWORD DownloadNewVersion( HWND owner, TSettingsComponent component, const wchar_t *url, const wchar_t *signer, CString &fname, CString &error ); diff --git a/Src/Lib/FNVHash.cpp b/Src/Lib/FNVHash.cpp deleted file mode 100644 index 19cade0..0000000 --- a/Src/Lib/FNVHash.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// 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 -#include "FNVHash.h" -#include "StringUtils.h" - -// FNV hash algorithm as described here: http://www.isthe.com/chongo/tech/comp/fnv/index.html - -// Calculate FNV hash for a memory buffer -unsigned int CalcFNVHash( const void *buf, int len, unsigned int hash ) -{ - for (int i=0;i pLink; - HRESULT hr=pLink.CoCreateInstance(CLSID_ShellLink); - if (FAILED(hr)) return false; - pLink->SetPath(source); - CComQIPtr pFile(pLink); - if (!pFile) return false; - hr=pFile->Save(path,TRUE); - if (FAILED(hr)) return false; - } - - // create desktop.ini - Sprintf(path,_countof(path),L"%s\\desktop.ini",fname); - HANDLE f=CreateFile(path,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM,NULL); - if (f==INVALID_HANDLE_VALUE) return false; - const char *desktopIni="[.ShellClassInfo]\r\nCLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}\r\nFlags=2\r\n"; - DWORD q; - WriteFile(f,desktopIni,Strlen(desktopIni),&q,NULL); - CloseHandle(f); - return true; -} - -void DeleteFakeFolder( const wchar_t *fname ) -{ - wchar_t path[_MAX_PATH]; - Sprintf(path,_countof(path),L"%s\\target.lnk",fname); - BOOL res; - res=SetFileAttributes(path,GetFileAttributes(path)&~FILE_ATTRIBUTE_READONLY); - res=DeleteFile(path); - Sprintf(path,_countof(path),L"%s\\desktop.ini",fname); - res=SetFileAttributes(path,GetFileAttributes(path)&~FILE_ATTRIBUTE_READONLY); - res=DeleteFile(path); - res=SetFileAttributes(fname,GetFileAttributes(fname)&~FILE_ATTRIBUTE_READONLY); - res=RemoveDirectory(fname); -} - -bool IsFakeFolder( const wchar_t *fname ) -{ - wchar_t path[_MAX_PATH]; - Sprintf(path,_countof(path),L"%s\\target.lnk",fname); - if (GetFileAttributes(path)!=INVALID_FILE_ATTRIBUTES) - { - Sprintf(path,_countof(path),L"%s\\desktop.ini",fname); - DWORD attrib=GetFileAttributes(path); - if (attrib!=INVALID_FILE_ATTRIBUTES && (attrib&FILE_ATTRIBUTE_SYSTEM)) - return true; - } - return false; -} diff --git a/Src/Lib/FileHelper.h b/Src/Lib/FileHelper.h deleted file mode 100644 index 4d33ffc..0000000 --- a/Src/Lib/FileHelper.h +++ /dev/null @@ -1,9 +0,0 @@ -// 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 - -bool CreateFakeFolder( const wchar_t *source, const wchar_t *fname ); -void DeleteFakeFolder( const wchar_t *fname ); -bool IsFakeFolder( const wchar_t *fname ); diff --git a/Src/Lib/IatHookHelper.cpp b/Src/Lib/IatHookHelper.cpp deleted file mode 100644 index 4a34d31..0000000 --- a/Src/Lib/IatHookHelper.cpp +++ /dev/null @@ -1,144 +0,0 @@ -// 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 -#include "IatHookHelper.h" -#include "Assert.h" - -struct ImgDelayDescr -{ - DWORD grAttrs; // attributes - DWORD rvaDLLName; // RVA to dll name - DWORD rvaHmod; // RVA of module handle - DWORD rvaIAT; // RVA of the IAT - DWORD rvaINT; // RVA of the INT - DWORD rvaBoundIAT; // RVA of the optional bound IAT - DWORD rvaUnloadIAT; // RVA of optional copy of original IAT - DWORD dwTimeStamp; // 0 if not bound, O.W. date/time stamp of DLL bound to (Old BIND) -}; - -static void *PtrFromRva( IMAGE_DOS_HEADER *dosHeader, size_t offset ) -{ - return (BYTE*)dosHeader+offset; -} - -static IatHookData *g_IatHooks; -static int g_IatHookCount; - -const int MAX_IAT_HOOKS=4096/sizeof(IatHookData); - -void InitializeIatHooks( void ) -{ - Assert(!g_IatHooks); - g_IatHooks=(IatHookData*)VirtualAlloc(NULL,4096,MEM_COMMIT,PAGE_EXECUTE_READWRITE); - g_IatHookCount=0; -} - -void ClearIatHooks( void ) -{ - if (!g_IatHooks) return; - for (int i=0;iu1.Function;origThunk++,thunk++) - { - if (origThunk->u1.Ordinal&IMAGE_ORDINAL_FLAG) - { - if (IS_INTRESOURCE(targetProc) && IMAGE_ORDINAL(origThunk->u1.Ordinal)==(uintptr_t)targetProc) - break; - } - else - { - IMAGE_IMPORT_BY_NAME *import=(IMAGE_IMPORT_BY_NAME*)PtrFromRva(dosHeader,origThunk->u1.AddressOfData); - if (!IS_INTRESOURCE(targetProc) && strcmp(targetProc,(char*)import->Name)==0) - break; - } - } - if (origThunk->u1.Function) - { - IatHookData *hook=g_IatHooks+g_IatHookCount; - g_IatHookCount++; - hook->jump[0]=hook->jump[1]=0x90; // NOP - hook->jump[2]=0xFF; hook->jump[3]=0x25; // JUMP -#ifdef _WIN64 - hook->jumpOffs=0; -#else - hook->jumpOffs=(DWORD)(hook)+8; -#endif - hook->newProc=newProc; - hook->oldProc=(void*)thunk->u1.Function; - hook->thunk=thunk; - DWORD oldProtect; - VirtualProtect(&thunk->u1.Function,sizeof(void*),PAGE_READWRITE,&oldProtect); - thunk->u1.Function=(DWORD_PTR)hook; - VirtualProtect(&thunk->u1.Function,sizeof(void*),oldProtect,&oldProtect); - return hook; - } - return NULL; -} - -IatHookData *SetIatHook( HMODULE hPatchedModule, const char *targetModule, const char *targetProc, void *newProc ) -{ - ATLASSERT(g_IatHooks); - if (g_IatHookCount>=MAX_IAT_HOOKS) return NULL; - IMAGE_DOS_HEADER *dosHeader=(IMAGE_DOS_HEADER*)hPatchedModule; - IMAGE_NT_HEADERS *ntHeader=(IMAGE_NT_HEADERS*)PtrFromRva(dosHeader,dosHeader->e_lfanew); - if (ntHeader->Signature!=IMAGE_NT_SIGNATURE) return NULL; - - IMAGE_IMPORT_DESCRIPTOR *importDescriptor=(IMAGE_IMPORT_DESCRIPTOR*)PtrFromRva(dosHeader,ntHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); - - for (;importDescriptor->Characteristics!=0;importDescriptor++) - { - const char *dllName=(char*)PtrFromRva(dosHeader,importDescriptor->Name); - if (_stricmp(dllName,targetModule)!=0) continue; - - if (!importDescriptor->FirstThunk || !importDescriptor->OriginalFirstThunk) break; - - return SetIatHook(dosHeader,importDescriptor->FirstThunk,importDescriptor->OriginalFirstThunk,targetProc,newProc); - } - - ImgDelayDescr *delayDescriptor=(ImgDelayDescr*)PtrFromRva(dosHeader,ntHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT].VirtualAddress); - - for (;delayDescriptor->rvaDLLName!=0;delayDescriptor++) - { - const char *dllName=(char*)PtrFromRva(dosHeader,delayDescriptor->rvaDLLName); - if (_stricmp(dllName,targetModule)!=0) continue; - - if (!delayDescriptor->rvaIAT || !delayDescriptor->rvaINT) break; - - return SetIatHook(dosHeader,delayDescriptor->rvaIAT,delayDescriptor->rvaINT,targetProc,newProc); - } - return NULL; -} - -void ClearIatHook( IatHookData *hook ) -{ - if (!hook || !hook->jump[0]) return; - if (hook->thunk->u1.Function==(DWORD_PTR)hook) - { - // the hook was untouched by anybody else - DWORD oldProtect; - VirtualProtect(&hook->thunk->u1.Function,sizeof(void*),PAGE_READWRITE,&oldProtect); - void *cex=InterlockedCompareExchangePointer((void**)&hook->thunk->u1.Function,hook->oldProc,hook); - VirtualProtect(&hook->thunk->u1.Function,sizeof(void*),oldProtect,&oldProtect); - if (cex==hook) - { - hook->jump[0]=0; - return; // successfully replaced the original function - } - } - // failed to replace the original function, leave behind the thunk - hook->newProc=hook->oldProc; -} diff --git a/Src/Lib/IatHookHelper.h b/Src/Lib/IatHookHelper.h deleted file mode 100644 index 2a4603f..0000000 --- a/Src/Lib/IatHookHelper.h +++ /dev/null @@ -1,19 +0,0 @@ -// 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 IatHookData -{ - unsigned char jump[4]; // jump instruction 0x90, 0x90, 0xFF, 0x25 - DWORD jumpOffs; // jump instruction offset - void *newProc; // the address of the new proc - void *oldProc; // the address of the old proc - IMAGE_THUNK_DATA *thunk; // the IAT thunk -}; - -void InitializeIatHooks( void ); -IatHookData *SetIatHook( HMODULE hPatchedModule, const char *targetModule, const char *targetProc, void *newProc ); -void ClearIatHook( IatHookData *hook ); -void ClearIatHooks( void ); diff --git a/Src/Lib/Instance.cpp b/Src/Lib/Instance.cpp deleted file mode 100644 index 611b11c..0000000 --- a/Src/Lib/Instance.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// 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 - -HINSTANCE g_Instance; diff --git a/Src/Lib/LanguageSettingsHelper.cpp b/Src/Lib/LanguageSettingsHelper.cpp deleted file mode 100644 index bb3d43c..0000000 --- a/Src/Lib/LanguageSettingsHelper.cpp +++ /dev/null @@ -1,601 +0,0 @@ -// 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 -#include "resource.h" -#include "Settings.h" -#include "SettingsUIHelper.h" -#include "ResourceHelper.h" -#include "ComHelper.h" -#include "FNVHash.h" -#include "StringUtils.h" -#include "Translations.h" -#include "DownloadHelper.h" -#include -#include -#include - -int g_LanguageIDs[]={ - 0x0401, - 0x0402, - 0x0403, - 0x0405, - 0x0406, - 0x0407, - 0x0408, - 0x0409, - 0x0C0A, - 0x0425, - 0x0429, - 0x040B, - 0x040C, - 0x0491, - 0x040D, - 0x041A, - 0x040E, - 0x040F, - 0x0410, - 0x0411, - 0x0412, - 0x0427, - 0x0426, - 0x0414, - 0x0413, - 0x0415, - 0x0416, - 0x0816, - 0x0418, - 0x0419, - 0x041B, - 0x0424, - 0x081A, - 0x041D, - 0x041E, - 0x041F, - 0x0422, - 0x0804, - 0x0C04, - 0x0404, -}; - -int g_LanguageIDCount=_countof(g_LanguageIDs); - -class CLanguageSettingsDlg: public CResizeableDlg -{ -public: - BEGIN_MSG_MAP( CLanguageSettingsDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - COMMAND_ID_HANDLER( IDC_BUTTONCHECK, OnCheckUpdates ) - NOTIFY_HANDLER( IDC_LISTLANGUAGE, LVN_ITEMCHANGED, OnSelChange ) - NOTIFY_HANDLER( IDC_LISTLANGUAGE, LVN_ITEMCHANGING, OnSelChanging ) - NOTIFY_HANDLER( IDC_LISTLANGUAGE, NM_CUSTOMDRAW, OnCustomDraw ) - NOTIFY_HANDLER( IDC_LINKDOWNLOAD, NM_CLICK, OnDownload ) - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_LISTLANGUAGE,MOVE_SIZE_X|MOVE_SIZE_Y) - RESIZE_CONTROL(IDC_BUTTONCHECK,MOVE_MOVE_Y) - RESIZE_CONTROL(IDC_LINKDOWNLOAD,MOVE_SIZE_X|MOVE_MOVE_Y) - END_RESIZE_MAP - - void SetGroup( CSetting *pGroup ); - void SetComponent( TSettingsComponent component ) { m_Component=component; } - -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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnCheckUpdates( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnSelChanging( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnDownload( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - -private: - CSetting *m_pSetting; - TSettingsComponent m_Component; - CWindow m_Tooltip; - HIMAGELIST m_ImageList; - bool m_bLargeFlags; - bool m_bLocked; - - struct LangInfo - { - CString name; - int id; - int image; - bool operator<( const LangInfo &info ) { return _wcsicmp(name,info.name)<0; } - }; - std::vector m_LanguageIDs; // the order matches the items in the listbox - static VersionData s_VersionData; - static void NewVersionCallback( VersionData &data ); - - void UpdateFlags( void ); - void UpdateLink( const wchar_t *language ); - - void AddFlag( const wchar_t *langName, int langId, HBITMAP bmp ); -}; - -VersionData CLanguageSettingsDlg::s_VersionData; - -void CLanguageSettingsDlg::AddFlag( const wchar_t *langName, int langId, HBITMAP bmp ) -{ - std::vector::iterator it=m_LanguageIDs.begin()+1; - int idx=1; - for (;idx<(int)m_LanguageIDs.size();idx++) - { - if (_wcsicmp(langName,m_LanguageIDs[idx].name)<=0) - break; - } - if (idx==(int)m_LanguageIDs.size() || _wcsicmp(langName,m_LanguageIDs[idx].name)<0) - { - LangInfo info; - info.id=langId; - info.image=ImageList_AddMasked(m_ImageList,bmp,0xFF00FF); - info.name=langName; - m_LanguageIDs.insert(m_LanguageIDs.begin()+idx,info); - - CWindow list=GetDlgItem(IDC_LISTLANGUAGE); - wchar_t name[256]; - GetLocaleInfo(info.id,LOCALE_SLANGUAGE,name,_countof(name)); - wchar_t text[256]; - Sprintf(text,_countof(text),L"%s - %s",info.name,name); - LVITEM item={LVIF_IMAGE|LVIF_TEXT}; - item.iItem=idx; - item.iImage=info.image; - item.pszText=text; - ListView_InsertItem(list,&item); - } -} - -void CLanguageSettingsDlg::UpdateFlags( void ) -{ - // add flags from s_VersionData - for (std::vector::const_iterator it=s_VersionData.languages.begin();it!=s_VersionData.languages.end();++it) - { - if (it->bitmap) - { - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=m_bLargeFlags?32:24; - bi.bmiHeader.biHeight=m_bLargeFlags?16:11; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - - HDC hdc=CreateCompatibleDC(NULL); - HBITMAP bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,NULL,NULL,0); - HGDIOBJ bmp0=SelectObject(hdc,bmp); - HDC hsrc=CreateCompatibleDC(hdc); - HGDIOBJ bmp02=SelectObject(hsrc,it->bitmap); - SetDCBrushColor(hdc,0xFF00FF); - RECT rc={0,0,bi.bmiHeader.biWidth,bi.bmiHeader.biHeight}; - FillRect(hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - if (m_bLargeFlags) - BitBlt(hdc,3,0,22,16,hsrc,0,11,SRCCOPY); - else - BitBlt(hdc,2,0,16,11,hsrc,0,0,SRCCOPY); - SelectObject(hsrc,bmp02); - DeleteDC(hsrc); - SelectObject(hdc,bmp0); - DeleteDC(hdc); - AddFlag(it->language,it->languageId,bmp); - DeleteObject(bmp); - } - } - - // add flags from dlls - for (int pass=0;pass<2;pass++) - { - wchar_t path[_MAX_PATH]; - if (pass==0) - { - GetModuleFileName(g_Instance,path,_countof(path)); - *PathFindFileName(path)=0; - } - else - { - Strcpy(path,_countof(path),L"%ALLUSERSPROFILE%\\OpenShell\\Languages"); - DoEnvironmentSubst(path,_countof(path)); - } - - CWindow list=GetDlgItem(IDC_LISTLANGUAGE); - - wchar_t find[_MAX_PATH]; - Sprintf(find,_countof(find),L"%s\\*.dll",path); - WIN32_FIND_DATA data; - HANDLE h=FindFirstFile(find,&data); - while (h!=INVALID_HANDLE_VALUE) - { - if (!(data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) && wcschr(data.cFileName,'-')) - { - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s\\%s",path,data.cFileName); - wchar_t language[_MAX_PATH]; - Strcpy(language,_countof(language),data.cFileName); - PathRemoveExtension(language); - - bool bFound=false; - for (std::vector::const_iterator it=m_LanguageIDs.begin();it!=m_LanguageIDs.end();++it) - { - if (_wcsicmp(it->name,language)==0) - { - bFound=true; - break; - } - } - int langId=0; - if (!bFound && GetLocaleInfoEx(language,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&langId,4)) - { - HINSTANCE hModule=LoadLibraryEx(fname,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (hModule) - { - HBITMAP bmp; - if (m_bLargeFlags) - bmp=(HBITMAP)LoadImage(hModule,MAKEINTRESOURCE(1),IMAGE_BITMAP,32,16,LR_CREATEDIBSECTION); - else - bmp=(HBITMAP)LoadImage(hModule,MAKEINTRESOURCE(2),IMAGE_BITMAP,24,11,LR_CREATEDIBSECTION); - if (bmp) - { - AddFlag(language,langId,bmp); - DeleteObject(bmp); - } - FreeLibrary(hModule); - } - } - } - if (!FindNextFile(h,&data)) - { - FindClose(h); - break; - } - } - } -} - -LRESULT CLanguageSettingsDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_bLocked=false; - InitResize(); - EnableThemeDialogTexture(m_hWnd,ETDT_ENABLETAB); - - CWindow list=GetDlgItem(IDC_LISTLANGUAGE); - if (IsAppThemed()) - SetWindowTheme(list,L"Explorer",NULL); - HBITMAP bmp; - HDC hdc=::GetDC(NULL); - int dpi=GetDeviceCaps(hdc,LOGPIXELSY); - ::ReleaseDC(NULL,hdc); - m_bLargeFlags=dpi>=144; - if (m_bLargeFlags) - { - m_ImageList=ImageList_Create(32,16,ILC_COLOR24|ILC_MASK|(IsLanguageRTL()?ILC_MIRROR:0),0,0); - bmp=(HBITMAP)LoadImage(_AtlBaseModule.GetResourceInstance(),MAKEINTRESOURCE(IDB_FLAGS24),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - } - else - { - m_ImageList=ImageList_Create(24,11,ILC_COLOR24|ILC_MASK|(IsLanguageRTL()?ILC_MIRROR:0),0,0); - bmp=(HBITMAP)LoadImage(_AtlBaseModule.GetResourceInstance(),MAKEINTRESOURCE(IDB_FLAGS),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - } - ImageList_AddMasked(m_ImageList,bmp,0xFF00FF); - DeleteObject(bmp); - ListView_SetImageList(list,m_ImageList,LVSIL_SMALL); - RECT rc; - list.GetWindowRect(&rc); - ListView_SetExtendedListViewStyleEx(list,LVS_EX_DOUBLEBUFFER,LVS_EX_DOUBLEBUFFER); - LVCOLUMN column={LVCF_WIDTH,0,rc.right-rc.left}; - ListView_InsertColumn(list,0,&column); - SetDlgItemText(IDC_LINKDOWNLOAD,L""); - - m_LanguageIDs.resize(_countof(g_LanguageIDs)+1); - { - wchar_t languages[100]={0}; - ULONG size=0; - ULONG len=_countof(languages); - GetUserPreferredUILanguages(MUI_LANGUAGE_ID,&size,languages,&len); - wchar_t *end; - m_LanguageIDs[0].id=wcstol(languages,&end,16); - m_LanguageIDs[0].image=I_IMAGENONE; - } - - for (int i=0;i<=(int)_countof(g_LanguageIDs);i++) - { - if (i>0) - { - m_LanguageIDs[i].id=g_LanguageIDs[i-1]; - m_LanguageIDs[i].image=i-1; - } - wchar_t name[256]; - GetLocaleInfo(m_LanguageIDs[i].id,LOCALE_SNAME,name,_countof(name)); - m_LanguageIDs[i].name=name; - } - - std::sort(m_LanguageIDs.begin()+1,m_LanguageIDs.end()); - - LVITEM item={LVIF_IMAGE|LVIF_TEXT}; - for (int i=0;i<(int)m_LanguageIDs.size();i++) - { - wchar_t name[256]; - GetLocaleInfo(m_LanguageIDs[i].id,LOCALE_SLANGUAGE,name,_countof(name)); - wchar_t text[256]; - if (i==0) - Sprintf(text,_countof(text),L"%s (%s)",LoadStringEx(IDS_OS_LANGUAGE),m_LanguageIDs[i].name); - else - Sprintf(text,_countof(text),L"%s - %s",m_LanguageIDs[i].name,name); - item.iItem=i; - item.iImage=m_LanguageIDs[i].image; - item.pszText=text; - ListView_InsertItem(list,&item); - } - - // parse update.ver in data and add all flags - wchar_t path[_MAX_PATH]=L"%ALLUSERSPROFILE%\\OpenShell\\update.ver"; - DoEnvironmentSubst(path,_countof(path)); - s_VersionData.bValid=(s_VersionData.Load(path,true)==VersionData::LOAD_OK); - - UpdateFlags(); - - m_Tooltip.Create(TOOLTIPS_CLASS,m_hWnd,NULL,NULL,WS_POPUP|TTS_NOPREFIX); - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,'CLSH'}; - tool.uId=(UINT_PTR)list.m_hWnd; - tool.lpszText=(LPWSTR)L""; - m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - return TRUE; -} - -LRESULT CLanguageSettingsDlg::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_Tooltip.Detach(); - return 0; -} - -LRESULT CLanguageSettingsDlg::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CResizeableDlg::OnSize(); - return 0; -} - -void CLanguageSettingsDlg::NewVersionCallback( VersionData &data ) -{ - s_VersionData.Swap(data); -} - -LRESULT CLanguageSettingsDlg::OnCheckUpdates( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - DWORD res=CheckForNewVersion(m_hWnd,m_Component,CHECK_UPDATE,NewVersionCallback); - if (res==2) return 0; - if (res) - { - UpdateFlags(); - CString language=GetSettingString(L"Language"); - CWindow list=GetDlgItem(IDC_LISTLANGUAGE); - for (int idx=0;idx<(int)m_LanguageIDs.size();idx++) - { - const wchar_t *name=idx>0?m_LanguageIDs[idx].name.GetString():L""; - if (_wcsicmp(language,name)==0) - { - ListView_SetItemState(list,idx,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - ListView_EnsureVisible(list,idx,FALSE); - break; - } - } - UpdateLink(language); - } - else - { - s_VersionData.Clear(); - SetDlgItemText(IDC_LINKDOWNLOAD,LoadStringEx(IDS_LANGUAGE_FAIL)); - } - return 0; -} - -LRESULT CLanguageSettingsDlg::OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - // set setting - CWindow list=GetDlgItem(IDC_LISTLANGUAGE); - int idx=ListView_GetNextItem(list,-1,LVNI_SELECTED); - if (idx<0) return 0; - - const wchar_t *name=idx>0?m_LanguageIDs[idx].name.GetString():L""; - CSettingsLockWrite lock; - CComVariant val(name); - if (m_pSetting->value!=val) - SetSettingsDirty(); - m_pSetting->value=val; - - if (_wcsicmp(m_pSetting->value.bstrVal,m_pSetting->defValue.bstrVal)==0) - m_pSetting->flags|=CSetting::FLAG_DEFAULT; - else - m_pSetting->flags&=~CSetting::FLAG_DEFAULT; - UpdateLink(name); - return 0; -} - -LRESULT CLanguageSettingsDlg::OnSelChanging( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - return m_bLocked?TRUE:FALSE; -} - -LRESULT CLanguageSettingsDlg::OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMLVCUSTOMDRAW *pDraw=(NMLVCUSTOMDRAW*)pnmh; - if (!m_bLocked) - { - bHandled=FALSE; - return 0; - } - if (pDraw->nmcd.dwDrawStage==CDDS_PREPAINT) - return CDRF_NOTIFYITEMDRAW; - if (pDraw->nmcd.dwDrawStage!=CDDS_ITEMPREPAINT) - { - bHandled=FALSE; - return 0; - } - pDraw->clrTextBk=GetSysColor(COLOR_BTNFACE); - return CDRF_DODEFAULT; -} - -static HRESULT CALLBACK TaskDialogCallbackProc( HWND hwnd, UINT uNotification, WPARAM wParam, LPARAM lParam, LONG_PTR dwRefData ) -{ - if (uNotification==TDN_HYPERLINK_CLICKED) - { - ShellExecute(hwnd,L"open",(const wchar_t*)lParam,NULL,NULL,SW_SHOWNORMAL); - } - return S_OK; -} - -LRESULT CLanguageSettingsDlg::OnDownload( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - CString language=GetSettingString(L"Language"); - if (language.IsEmpty()) - language=m_LanguageIDs[0].name; - - for (std::vector::const_iterator it=s_VersionData.languages.begin();it!=s_VersionData.languages.end();++it) - { - if (_wcsicmp(it->language,language)==0) - { - CString error; - DWORD res=DownloadLanguageDll(m_hWnd,m_Component,*it,error); - if (res==2) - return 0; - if (res) - MessageBox(LoadStringEx(it->bBasic?IDS_LANGUAGE_SUCCESS2:IDS_LANGUAGE_SUCCESS),LoadStringEx(IDS_UPDATE_TITLE),MB_OK|(it->bBasic?MB_ICONWARNING:MB_ICONINFORMATION)); - else - { - if (!s_VersionData.languageLink.IsEmpty()) - error+=L" "+LoadStringEx(IDS_DOWNLOAD_TIP)+L"\r\n\r\n"+s_VersionData.languageLink; - TASKDIALOGCONFIG task={sizeof(task),m_hWnd,NULL,TDF_ENABLE_HYPERLINKS|TDF_ALLOW_DIALOG_CANCELLATION|TDF_USE_HICON_MAIN,TDCBF_OK_BUTTON}; - CString title=LoadStringEx(IDS_UPDATE_TITLE); - task.pszWindowTitle=title; - task.pszContent=error; - task.hMainIcon=LoadIcon(NULL,IDI_ERROR); - task.pfCallback=TaskDialogCallbackProc; - TaskDialogIndirect(&task,NULL,NULL,NULL); - } - UpdateLink(language); - break; - } - } - return 0; -} - -void CLanguageSettingsDlg::SetGroup( CSetting *pGroup ) -{ - m_bLocked=false; - m_pSetting=pGroup+1; - - const wchar_t *language=L""; - if (m_pSetting->value.vt==VT_BSTR && m_pSetting->value.bstrVal) - language=m_pSetting->value.bstrVal; - int len=Strlen(language); - - CWindow list=GetDlgItem(IDC_LISTLANGUAGE); - for (int idx=0;idx<(int)m_LanguageIDs.size();idx++) - { - const wchar_t *name=idx>0?m_LanguageIDs[idx].name.GetString():L""; - if (_wcsicmp(language,name)==0) - { - ListView_SetItemState(list,idx,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - ListView_EnsureVisible(list,idx,FALSE); - break; - } - } - UpdateLink(m_pSetting->value.bstrVal); - m_bLocked=m_pSetting->IsLocked(); - - TOOLINFO tool={sizeof(tool),0,m_hWnd,'CLSH'}; - tool.uId=(UINT_PTR)list.m_hWnd; - CString str; - if (m_bLocked) - str=LoadStringEx(IDS_SETTING_LOCKED); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - m_Tooltip.SendMessage(TTM_UPDATETIPTEXT,0,(LPARAM)&tool); - ListView_SetBkColor(list,GetSysColor(m_bLocked?COLOR_BTNFACE:COLOR_WINDOW)); -} - -void CLanguageSettingsDlg::UpdateLink( const wchar_t *language ) -{ - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,'CLSH'}; - tool.uId=(UINT_PTR)GetDlgItem(IDC_LINKDOWNLOAD).m_hWnd; - m_Tooltip.SendMessage(TTM_DELTOOL,0,(LPARAM)&tool); - - if (!s_VersionData.bValid) - { - SetDlgItemText(IDC_LINKDOWNLOAD,L""); - return; - } - if (!*language) - language=m_LanguageIDs[0].name; - - wchar_t text[1024]; - for (std::vector::const_iterator it=s_VersionData.languages.begin();it!=s_VersionData.languages.end();++it) - { - if (_wcsicmp(it->language,language)==0) - { - DWORD dllVersion=0, dllBuild=0; - HINSTANCE resInstance=LoadTranslationDll(language); - if (resInstance) - { - dllVersion=GetVersionEx(resInstance,&dllBuild); - FreeLibrary(resInstance); - } - if (it->version>dllVersion || (it->version==dllVersion && it->build>dllBuild)) - { - Sprintf(text,_countof(text),LoadStringEx(IDS_LANGUAGE_DOWNLOAD),language); - SetDlgItemText(IDC_LINKDOWNLOAD,text); - - tool.lpszText=(LPWSTR)(LPCWSTR)it->url; - m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - } - else - { - Sprintf(text,_countof(text),LoadStringEx(IDS_LANGUAGE_UPDATED),language); - SetDlgItemText(IDC_LINKDOWNLOAD,text); - } - return; - } - } - Sprintf(text,_countof(text),LoadStringEx(IDS_LANGUAGE_MISSING),language); - SetDlgItemText(IDC_LINKDOWNLOAD,text); -} - -class CLanguageSettingsPanel: public ISettingsPanel -{ -public: - CLanguageSettingsPanel( TSettingsComponent component ) { s_Dialog.SetComponent(component); } - virtual HWND Create( HWND parent ); - virtual HWND Activate( CSetting *pGroup, const RECT &rect, bool bReset ); - virtual bool Validate( HWND parent ) { return true; } - -private: - static CLanguageSettingsDlg s_Dialog; -}; - -CLanguageSettingsDlg CLanguageSettingsPanel::s_Dialog; - -ISettingsPanel *GetLanguageSettings( TSettingsComponent component ) -{ - static CLanguageSettingsPanel panel(component); - return &panel; -} - -HWND CLanguageSettingsPanel::Create( HWND parent ) -{ - if (!s_Dialog.m_hWnd) - s_Dialog.Create(parent,LoadDialogEx(IDD_LANGUAGE)); - return s_Dialog.m_hWnd; -} - -HWND CLanguageSettingsPanel::Activate( CSetting *pGroup, const RECT &rect, bool bReset ) -{ - s_Dialog.SetGroup(pGroup); - s_Dialog.SetWindowPos(HWND_TOP,&rect,SWP_SHOWWINDOW); - return s_Dialog.m_hWnd; -} diff --git a/Src/Lib/LanguageSettingsHelper.h b/Src/Lib/LanguageSettingsHelper.h deleted file mode 100644 index 7b4e05a..0000000 --- a/Src/Lib/LanguageSettingsHelper.h +++ /dev/null @@ -1,12 +0,0 @@ -// 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 ISettingsPanel; - -extern int g_LanguageIDs[]; -extern int g_LanguageIDCount; - -ISettingsPanel *GetLanguageSettings( TSettingsComponent component ); diff --git a/Src/Lib/Lib.rc b/Src/Lib/Lib.rc deleted file mode 100644 index 5844591..0000000 --- a/Src/Lib/Lib.rc +++ /dev/null @@ -1,330 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_SETTINGSTREE DIALOGEX 0, 0, 350, 160 -STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_SYSMENU -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - CONTROL "",IDC_SETTINGS,"SysTreeView32",TVS_DISABLEDRAGDROP | TVS_INFOTIP | WS_BORDER | WS_HSCROLL | WS_TABSTOP,7,7,336,126 - LTEXT "The settings that are modified from the default will show in bold\r\nRight-click on a setting for more functions",IDC_STATICTIP,7,135,336,18 -END - -IDD_SETTINGS DIALOGEX 0, 0, 381, 213 -STYLE DS_SETFONT | DS_SETFOREGROUND | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME -EXSTYLE WS_EX_CONTROLPARENT -CAPTION "Settings" -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - ICON "",IDC_ICONSEARCH,7,9,20,20 - EDITTEXT IDC_EDITSEARCH,22,7,120,12,ES_AUTOHSCROLL - CONTROL "Show all settings",IDC_CHECKALL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,154,7,79,12 - CONTROL "Help...",IDC_LINKHELP,"SysLink",WS_TABSTOP,348,9,26,10,WS_EX_TRANSPARENT - CONTROL "",IDC_TABSETTINGS,"SysTabControl32",TCS_MULTILINE | TCS_FOCUSNEVER,7,20,367,169 - CONTROL "www.classicshell.net",IDC_LINKWEB,"SysLink",WS_TABSTOP,7,195,66,10,WS_EX_TRANSPARENT - CONTROL "Name of translator goes here",IDC_SYSLINKLOC, - "SysLink",NOT WS_VISIBLE | WS_TABSTOP,80,195,111,10 - PUSHBUTTON "&Backup",IDC_BUTTONBACKUP,200,192,60,14,WS_GROUP - DEFPUSHBUTTON "OK",IDOK,267,192,50,14 - PUSHBUTTON "Cancel",IDCANCEL,324,192,50,14 -END - -IDD_BROWSEFORICON DIALOGEX 0, 0, 317, 183 -STYLE DS_SETFONT | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME -CAPTION "Select Icon" -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - LTEXT "File:",IDC_STATICFILE,7,7,19,14,SS_CENTERIMAGE - EDITTEXT IDC_EDITFILE,33,7,260,14,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_BUTTONBROWSE,294,7,16,14 - CONTROL "",IDC_LISTICONS,"SysListView32",LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_AUTOARRANGE | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,26,303,132 - DEFPUSHBUTTON "OK",IDOK,205,162,50,14 - PUSHBUTTON "Cancel",IDCANCEL,260,162,50,14 -END - -IDD_LANGUAGE DIALOGEX 0, 0, 316, 144 -STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN | WS_SYSMENU -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - CONTROL "",IDC_LISTLANGUAGE,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,18,302,99 - LTEXT "Select a language for the user interface:",IDC_STATICHINT,7,7,131,8 - PUSHBUTTON "&Check for Updates",IDC_BUTTONCHECK,7,123,75,14 - CONTROL "download link goes here",IDC_LINKDOWNLOAD,"SysLink",WS_TABSTOP,85,126,224,10 -END - -IDD_CUSTOMTREE DIALOGEX 0, 0, 365, 183 -STYLE DS_SETFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN | WS_SYSMENU -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - LTEXT "Current toolbar items:",IDC_STATICLEFT,7,7,167,8 - CONTROL "",IDC_TREEITEMS,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS | TVS_SHOWSELALWAYS | TVS_INFOTIP | WS_BORDER | WS_HSCROLL | WS_TABSTOP,7,16,167,139 - LTEXT "Available commands:",IDC_STATICRIGHT,193,7,100,8 - CONTROL "",IDC_TREECOMMANDS,"SysTreeView32",TVS_SHOWSELALWAYS | TVS_INFOTIP | WS_BORDER | WS_HSCROLL | WS_TABSTOP,191,16,167,139 - LTEXT "<<",IDC_STATICMIDDLE,177,77,11,8 - LTEXT "Drag items from the right column to the left. Double-click to edit. Right-click for more functions",IDC_STATICHINT,7,159,351,17 -END - -IDD_PROGRESS DIALOGEX 0, 0, 209, 63 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION -CAPTION "Dialog" -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - PUSHBUTTON "Cancel",IDCANCEL,152,42,50,14 - CONTROL "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,7,20,195,14 - LTEXT "Static",IDC_MESSAGE,7,7,195,12 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_SETTINGSTREE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 343 - TOPMARGIN, 7 - BOTTOMMARGIN, 153 - END - - IDD_SETTINGS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 374 - TOPMARGIN, 7 - BOTTOMMARGIN, 206 - END - - IDD_BROWSEFORICON, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 310 - TOPMARGIN, 7 - BOTTOMMARGIN, 176 - END - - IDD_LANGUAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 309 - TOPMARGIN, 7 - BOTTOMMARGIN, 137 - END - - IDD_CUSTOMTREE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 358 - TOPMARGIN, 7 - BOTTOMMARGIN, 176 - END - - IDD_PROGRESS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 202 - TOPMARGIN, 7 - BOTTOMMARGIN, 56 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_ICONLOCK ICON "padlock.ico" -IDI_ICONPLAY ICON "play.ico" -IDI_ICONWARNING ICON "warning.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_FLAGS BITMAP "flags.bmp" -IDB_FLAGS24 BITMAP "flags24.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_TOGGLE_SETTING "Toggle Setting\tSpace" - IDS_SELECT_SETTING "Select Setting\tSpace" - IDS_DEFAULT_SETTING "Set Default\tCtrl+Space" - IDS_PLAY_SETTING "Play Sound\tCtrl+P" - IDS_ICON_FILTERS "Icon files (*.ico, *.dll, *.exe)|*.ico;*.dll;*.exe|ICO files (*.ico)|*.ico|DLL files (*.dll)|*.dll|EXE files (*.exe)|*.exe|All Files (*.*)|*.*|" - IDS_ICON_TITLE "Select Source File" - IDS_WAV_FILTERS "WAV files (*.wav)|*.wav|" - IDS_WAV_TITLE "Select Sound File" - IDS_SETTING_LOCKED "This setting has been locked by the administrator" - IDS_SETTING_LOCKED_GP "This setting has been locked by a group policy" - IDS_BASIC_SETTINGS "Basic Settings" - IDS_ALWAYS_ON_TOP "&Always on Top" - IDS_MENU_EDIT "Edit Item" - IDS_MENU_DELETE "Delete Item" - IDS_MENU_RENAME "Rename Item" - IDS_PICK_LINK_TITLE "Select a file or a folder" -END - -STRINGTABLE -BEGIN - IDS_PICK_LINK_FILE "Select File" - IDS_PICK_LINK_FOLDER "Select Folder" - IDS_DUPLICATE_ITEM "Item named '%s' already exists." - IDS_ERROR_TITLE "Error" - IDS_ERROR_SEPARATOR "The item name cannot be '%s'." - IDS_ERROR_ASCII "This is an internal name of the item and must contain only English letters and numbers. Use the Text and Tip properties to enter the visible text." - IDS_ERROR_EMPTY "The item name cannot be empty." - IDS_RESET_TOOLBAR "Reset Toolbar" - IDS_RESET_TOOLBAR_WARN "Are you sure you want to reset all toolbar buttons?" - IDS_RESET_MENU "Reset Start Menu" - IDS_RESET_MENU_WARN "Are you sure you want to reset the whole start menu?" - IDS_ADD_TOOLBAR "Add to Toolbar" - IDS_ADD_MENU "Add to Menu" - IDS_INSERT_MENU "Create sub-menu" - IDS_EMPTY_MENU "" - IDS_TREE_TOOLBAR "Current toolbar buttons:" -END - -STRINGTABLE -BEGIN - IDS_TREE_MENU "Current menu items:" - IDS_XML_FILTERS "XML files (*.xml)|*.xml|" - IDS_XML_TITLE_LOAD "Load XML File" - IDS_XML_TITLE_SAVE "Save XML File" - IDS_RESET_CONFIRM "Are you sure you want to reset all settings?" - IDS_RESET_TITLE "Reset All Settings" - IDS_TOOLBAR_LOCKED "The toolbar is locked by the administrator" - IDS_MENU_LOCKED "The start menu is locked by the administrator" - IDS_BACKUP_SAVE "Save to XML File..." - IDS_BACKUP_LOAD "Load from XML File..." - IDS_BACKUP_RESET "Reset all settings" - IDS_ERROR_LOADING_XML "Error loading XML file '%s'." - IDS_ERROR_SAVING_XML "Error saving XML file '%s'." - IDS_DRAG_DROP_EXP_TIP "Drag buttons from the right column to the left. You can drop on top of a button to create a sub-menu.\nDouble-click in the left column to edit the button. Right-click for more functions." - IDS_DRAG_DROP_SM_TIP "Drag menu items from the right column to the left. You can drop on top of a menu item to create a sub-menu.\nDouble-click in the left column to edit the item. Right-click for more functions." - IDS_COMMAND_EXP_TIP "Drag the command or double-click on it to add it to the toolbar" -END - -STRINGTABLE -BEGIN - IDS_COMMAND_SM_TIP "Drag the command or double-click on it to add it to the start menu" - IDS_COMMAND_FILTERS "Programs (*.exe, *.com, *.pif, *.bat, *.cmd)|*.exe;*.com;*.pif;*.bat;*.cmd|All files (*.*)|*.*|" - IDS_OS_LANGUAGE "Current OS language" - IDS_BMP_FILTERS "Image files (*.bmp,*.png)|*.bmp;*.png|" - IDS_BMP_TITLE "Select Image File" - IDS_SEARCH_PROMPT "Search Settings" - IDS_SETTING_SEARCH "Search Results" - IDS_WEBSITE_TIP "Visit Open-Shell on the web - http://www.classicshell.net" - IDS_LOCATE_SETTING "Locate setting" - IDS_LANGUAGE_UPDATED "The language %s is up to date." - IDS_LANGUAGE_MISSING "Update for language %s is not available." - IDS_LANGUAGE_DOWNLOAD "New update for language %s is available. Click here to install it." - IDS_LANGUAGE_SUCCESS "The language file was installed successfully.\nYou need to log off and back on for the update to take effect." - IDS_LANGUAGE_SUCCESS2 "The language file was installed successfully.\nYou need to log off and back on for the update to take effect.\n\nNote: This update provides only basic translations. It supports only the main text found in the start menu and in Explorer. The settings will not be translated." - IDS_LANGUAGE_FAIL "Failed to check for updates." - IDS_INTERNET_FAIL "Failed to connect to the Internet." -END - -STRINGTABLE -BEGIN - IDS_INITIATE_FAIL "Failed to initiate the download." - IDS_LANG_DOWNLOAD_FAIL "Failed to download the language file." - IDS_LANG_SAVE_FAIL "Failed to save language file '%s'." - IDS_UPDATE_TITLE "Open-Shell Update" - IDS_INST_DOWNLOAD_FAIL "Failed to download the new version." - IDS_INST_SAVE_FAIL "Failed to save file '%s'." - IDS_PROGRESS_CONNECT "Connecting..." - IDS_PROGRESS_DOWNLOAD "Downloading..." - IDS_PROGRESS_VERIFY "Verifying..." - IDS_PROGRESS_SAVE "Saving..." - IDS_PROGRESS_TITLE_CHECK "Checking for updates" - IDS_PROGRESS_TITLE_DOWNLOAD "Downloading update" - IDS_DOWNLOAD_TIP "You can try getting the file directly from the website:" - IDS_BMP_FILTERS2 "Image files (*.bmp,*.png,*.jpg)|*.bmp;*.png;*.jpg|" - IDS_UNSAVED_CHANGES "Do you want to save your changes to the settings?" - IDS_UNSAVED_TITLE "Unsaved changes" -END - -STRINGTABLE -BEGIN - IDS_VERSION_URL "http://www.classicshell.net/files/updates/update_" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Lib/Lib.vcxproj b/Src/Lib/Lib.vcxproj deleted file mode 100644 index 6bb16b1..0000000 --- a/Src/Lib/Lib.vcxproj +++ /dev/null @@ -1,201 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {D42FE717-485B-492D-884A-1999F6D51154} - Lib - Win32Proj - 10.0.17134.0 - - - - StaticLibrary - v141 - Static - Unicode - true - - - StaticLibrary - v141 - Static - Unicode - - - StaticLibrary - v141 - Static - Unicode - true - - - StaticLibrary - v141 - Static - Unicode - - - - - - - - - - - - - - - - - - - $(Configuration)\ - $(Configuration)\ - - - $(Configuration)64\ - $(Configuration)64\ - - - $(Configuration)\ - $(Configuration)\ - - - $(Configuration)64\ - $(Configuration)64\ - - - - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebug - Use - Level3 - EditAndContinue - true - true - stdcpp17 - - - - - Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebug - Use - Level3 - ProgramDatabase - true - true - stdcpp17 - - - - - MaxSpeed - WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) - MultiThreaded - true - Use - Level3 - true - ProgramDatabase - true - true - stdcpp17 - - - MachineX86 - - - - - MaxSpeed - WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) - MultiThreaded - true - Use - Level3 - true - ProgramDatabase - true - true - stdcpp17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create - - - - - - - - - - \ No newline at end of file diff --git a/Src/Lib/Lib.vcxproj.filters b/Src/Lib/Lib.vcxproj.filters deleted file mode 100644 index fbcf3ef..0000000 --- a/Src/Lib/Lib.vcxproj.filters +++ /dev/null @@ -1,152 +0,0 @@ - - - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - {2dafcc43-3a9f-4c0e-8d8a-b43c78f07e35} - - - {48a0589e-ec5e-4ded-b507-ca72c33429c7} - - - {402c170e-bb90-4637-85b7-98857963160f} - - - {40e914e4-1c35-4b97-a4f6-15dce5ff5b20} - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - Strings - - - Strings - - - Strings - - - Strings - - - Resources - - - Resources - - - Resources - - - Resources - - - Resources - - - Settings - - - Settings - - - Settings - - - Settings - - - Settings - - - Settings - - - Lib - - - Lib - - - - - Strings - - - Strings - - - Strings - - - Strings - - - Resources - - - Resources - - - Resources - - - Resources - - - Resources - - - Settings - - - Settings - - - Settings - - - Settings - - - Settings - - - Settings - - - Lib - - - diff --git a/Src/Lib/ResourceHelper.cpp b/Src/Lib/ResourceHelper.cpp deleted file mode 100644 index 76b2d40..0000000 --- a/Src/Lib/ResourceHelper.cpp +++ /dev/null @@ -1,904 +0,0 @@ -// 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 "StringSet.h" -#include "StringUtils.h" -#include "Settings.h" -#include "Translations.h" -#include "ResourceHelper.h" -#include "Assert.h" -#include -#include -#include "TrackResources.h" - -static CStringSet g_ResStrings; -static std::map > g_ResDialogs; - -// Loads all strings and dialogs from hLngInstance -// pDialogs is a NULL-terminated list of dialog IDs. They are loaded from hLngInstance if possible, otherwise from g_Instance -void LoadTranslationResources( HINSTANCE hLngInstance, int *pDialogs ) -{ - Assert(g_Instance); - DWORD lngVersion=0; - if (hLngInstance) - { - LoadTranslationOverrides(hLngInstance); - g_ResStrings.Init(hLngInstance); - lngVersion=GetVersionEx(hLngInstance); - } - if (!pDialogs) - return; - for (int i=0;pDialogs[i];i+=2) - { - int dlgId=pDialogs[i]; - DWORD dlgVersion=pDialogs[i+1]; - HINSTANCE hInst=hLngInstance; - HRSRC hrsrc=NULL; - if (hLngInstance && lngVersion>=dlgVersion) - hrsrc=FindResource(hInst,MAKEINTRESOURCE(dlgId),RT_DIALOG); - if (!hrsrc) - { - hInst=g_Instance; - hrsrc=FindResource(hInst,MAKEINTRESOURCE(dlgId),RT_DIALOG); - } - if (hrsrc) - { - HGLOBAL hglb=LoadResource(hInst,hrsrc); - if (hglb) - { - // finally lock the resource - LPVOID res=LockResource(hglb); - std::vector &dlg=g_ResDialogs[dlgId]; - dlg.resize(SizeofResource(hInst,hrsrc)); - if (!dlg.empty()) - memcpy(&dlg[0],res,dlg.size()); - } - } - } -} - -// Loads the best DLL for the current language -HINSTANCE LoadTranslationDll( const wchar_t *langSetting ) -{ - Assert(g_Instance); - CString language=langSetting; - wchar_t languages[100]={0}; - if (!language.IsEmpty()) - { - Strcpy(languages,_countof(languages)-1,language); - } - else - { - ULONG size=0; - ULONG len=_countof(languages); - GetUserPreferredUILanguages(MUI_LANGUAGE_NAME,&size,languages,&len); - } - - wchar_t path1[_MAX_PATH]; - GetModuleFileName(g_Instance,path1,_countof(path1)); - *PathFindFileName(path1)=0; - - wchar_t path2[_MAX_PATH]=L"%ALLUSERSPROFILE%\\OpenShell\\Languages\\"; - DoEnvironmentSubst(path2,_countof(path2)); - - DWORD curVersion=GetVersionEx(g_Instance); - HINSTANCE resInstance=NULL; - for (const wchar_t *lang=languages;*lang;lang+=Strlen(lang)+1) - { - if (_wcsicmp(lang,L"en")==0 || _wcsnicmp(lang,L"en-",3)==0) - break; // English - wchar_t fname[_MAX_PATH]; - DWORD ver1=0, ver2=0, build1=0, build2=0; - Sprintf(fname,_countof(fname),L"%s%s.dll",path1,lang); - HINSTANCE resInstance1=LoadLibraryEx(fname,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (resInstance1) - { - ver1=GetVersionEx(resInstance1,&build1); - if (ver1curVersion) - { - ver1=0; - FreeLibrary(resInstance1); - resInstance1=NULL; - } - } - Sprintf(fname,_countof(fname),L"%s%s.dll",path2,lang); - HINSTANCE resInstance2=LoadLibraryEx(fname,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (resInstance2) - { - ver2=GetVersionEx(resInstance2,&build2); - if (ver2curVersion) - { - ver2=0; - FreeLibrary(resInstance2); - resInstance2=NULL; - } - } - if (ver1 || ver2) - { - if (ver1>ver2 || (ver1==ver2 && build1>build2)) - { - resInstance=resInstance1; - if (resInstance2) FreeLibrary(resInstance2); - } - else - { - resInstance=resInstance2; - if (resInstance1) FreeLibrary(resInstance1); - } - break; - } - } - return resInstance; -} - -// Returns a localized string -CString LoadStringEx( int stringID ) -{ - CString str=g_ResStrings.GetString(stringID); - if (str.IsEmpty()) - str.LoadString(g_Instance,stringID); - return str; -} - -CString LoadStringEnglish( int stringID ) -{ - CString str; - str.LoadString(g_Instance,stringID); - return str; -} - -// Returns a localized dialog template -DLGTEMPLATE *LoadDialogEx( int dlgID ) -{ - std::map >::iterator it=g_ResDialogs.find(dlgID); - if (it==g_ResDialogs.end()) - return NULL; - if (it->second.empty()) - return NULL; - return (DLGTEMPLATE*)&it->second[0]; -} - -// Loads an icon. path can be a path to .ico file, or in the format "module.dll, number" -HICON LoadIcon( int iconSize, const wchar_t *path, std::vector &modules ) -{ - wchar_t text[1024]; - Strcpy(text,_countof(text),path); - DoEnvironmentSubst(text,_countof(text)); - wchar_t *c=wcsrchr(text,','); - if (c) - { - // resource file - *c=0; - const wchar_t *res=c+1; - int idx=_wtol(res); - if (idx>0) res=MAKEINTRESOURCE(idx); - if (!text[0]) - return (HICON)LoadImage(_AtlBaseModule.GetResourceInstance(),res,IMAGE_ICON,iconSize,iconSize,LR_DEFAULTCOLOR); - HMODULE hMod=GetModuleHandle(PathFindFileName(text)); - if (!hMod) - { - hMod=LoadLibraryEx(text,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hMod) return NULL; - modules.push_back(hMod); - } - return (HICON)LoadImage(hMod,res,IMAGE_ICON,iconSize,iconSize,LR_DEFAULTCOLOR); - } - else - { - return (HICON)LoadImage(NULL,text,IMAGE_ICON,iconSize,iconSize,LR_DEFAULTCOLOR|LR_LOADFROMFILE); - } -} - -HICON LoadIcon( int iconSize, PIDLIST_ABSOLUTE pidl ) -{ - HICON hIcon=NULL; - CComPtr pFolder; - PCITEMID_CHILD child; - if (SUCCEEDED(SHBindToParent(pidl,IID_IShellFolder,(void**)&pFolder,&child))) - { - bool bLarge=(iconSize>GetSystemMetrics(SM_CXSMICON)); - LONG lSize; - if (bLarge) - lSize=MAKELONG(iconSize,GetSystemMetrics(SM_CXSMICON)); - else - lSize=MAKELONG(GetSystemMetrics(SM_CXICON),iconSize); - CComPtr pExtract; - if (SUCCEEDED(pFolder->GetUIObjectOf(NULL,1,&child,IID_IExtractIcon,NULL,(void**)&pExtract))) - { - // get the icon location - wchar_t location[_MAX_PATH]; - int index=0; - UINT flags=0; - if (pExtract->GetIconLocation(0,location,_countof(location),&index,&flags)==S_OK) - { - if (flags&GIL_NOTFILENAME) - { - // extract the icon - HICON hIcon2=NULL; - HRESULT hr=pExtract->Extract(location,index,bLarge?&hIcon:&hIcon2,bLarge?&hIcon2:&hIcon,lSize); - if (FAILED(hr)) - hIcon=hIcon2=NULL; - if (hr==S_FALSE) - flags=0; - if (hIcon2) DestroyIcon(hIcon2); // HACK!!! Even though Extract should support NULL, not all implementations do. For example shfusion.dll crashes - } - if (!(flags&GIL_NOTFILENAME)) - { - if (ExtractIconEx(location,index==-1?0:index,bLarge?&hIcon:NULL,bLarge?NULL:&hIcon,1)!=1) - hIcon=NULL; - } - } - } - else - { - // try again using the ANSI version - CComPtr pExtractA; - if (SUCCEEDED(pFolder->GetUIObjectOf(NULL,1,&child,IID_IExtractIconA,NULL,(void**)&pExtractA))) - { - // get the icon location - char location[_MAX_PATH]; - int index=0; - UINT flags=0; - if (pExtractA->GetIconLocation(0,location,_countof(location),&index,&flags)==S_OK) - { - if (flags&GIL_NOTFILENAME) - { - // extract the icon - HICON hIcon2=NULL; - HRESULT hr=pExtractA->Extract(location,index,bLarge?&hIcon:&hIcon2,bLarge?&hIcon2:&hIcon,lSize); - if (FAILED(hr)) - hIcon=hIcon2=NULL; - if (hr==S_FALSE) - flags=0; - if (hIcon2) DestroyIcon(hIcon2); // HACK!!! Even though Extract should support NULL, not all implementations do. For example shfusion.dll crashes - } - if (!(flags&GIL_NOTFILENAME)) - { - if (ExtractIconExA(location,index==-1?0:index,bLarge?&hIcon:NULL,bLarge?NULL:&hIcon,1)!=1) - hIcon=NULL; - } - } - } - } - } - - return hIcon; -} - -HICON ShExtractIcon( const wchar_t *path, int index, int iconSize ) -{ - HICON hIcon; - - typedef UINT (WINAPI *FSHExtractIconsW)( LPCWSTR pszFileName, int nIconIndex, int cxIcon, int cyIcon, HICON *phIcon, UINT *pIconId, UINT nIcons, UINT flags ); - static FSHExtractIconsW s_SHExtractIconsW; - - if (!s_SHExtractIconsW) - { - HMODULE hShell32=GetModuleHandle(L"Shell32.dll"); - if (hShell32) - s_SHExtractIconsW=(FSHExtractIconsW)GetProcAddress(hShell32,"SHExtractIconsW"); - } - - if (s_SHExtractIconsW) - { - UINT id; - if (!s_SHExtractIconsW(path,index,iconSize,iconSize,&hIcon,&id,1,LR_DEFAULTCOLOR)) - hIcon=NULL; - } - else - { - if (ExtractIconEx(path,index,&hIcon,NULL,1)!=1) - return NULL; - } - if (hIcon) - { - AddTrackedIcon(hIcon); - } - return hIcon; -} - -HICON ShExtractIcon( const char *path, int index, int iconSize ) -{ - wchar_t pathW[_MAX_PATH]; - MbsToWcs(pathW,_countof(pathW),path); - return ShExtractIcon(pathW,index,iconSize); -} - -// Converts an icon to a bitmap. pBits may be NULL. If bDestroyIcon is true, hIcon will be destroyed -HBITMAP BitmapFromIcon( HICON hIcon, int iconSize, unsigned int **pBits, bool bDestroyIcon ) -{ - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=bi.bmiHeader.biHeight=iconSize; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - RECT rc={0,0,iconSize,iconSize}; - - HDC hdc=CreateCompatibleDC(NULL); - unsigned int *bits; - HBITMAP bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,(void**)&bits,NULL,0); - HGDIOBJ bmp0=SelectObject(hdc,bmp); - FillRect(hdc,&rc,(HBRUSH)GetStockObject(BLACK_BRUSH)); - DrawIconEx(hdc,0,0,hIcon,iconSize,iconSize,0,NULL,DI_NORMAL); - SelectObject(hdc,bmp0); - DeleteDC(hdc); - if (bDestroyIcon) DestroyIcon(hIcon); - if (pBits) *pBits=bits; - return bmp; -} - -// Premultiplies a DIB section by the alpha channel and a given color -void PremultiplyBitmap( HBITMAP hBitmap, COLORREF rgb ) -{ - BITMAP info; - GetObject(hBitmap,sizeof(info),&info); - int n=info.bmWidth*info.bmHeight; - int mr=(rgb)&255; - int mg=(rgb>>8)&255; - int mb=(rgb>>16)&255; - // pre-multiply the alpha - for (int i=0;i>24); - int r=(pixel>>16)&255; - int g=(pixel>>8)&255; - int b=(pixel)&255; - r=(r*a*mr)/(255*255); - g=(g*a*mg)/(255*255); - b=(b*a*mb)/(255*255); - pixel=(a<<24)|(r<<16)|(g<<8)|b; - } -} - -// Creates a grayscale version of an icon -HICON CreateDisabledIcon( HICON hIcon, int iconSize ) -{ - // convert normal icon to grayscale - ICONINFO info; - GetIconInfo(hIcon,&info); - - unsigned int *bits; - HBITMAP bmp=BitmapFromIcon(hIcon,iconSize,&bits,false); - - int n=iconSize*iconSize; - for (int i=0;i>8)&255); - int b=((pixel>>16)&255); - int l=(77*r+151*g+28*b)/256; - pixel=(pixel&0xFF000000)|(l*0x010101); - } - - if (info.hbmColor) DeleteObject(info.hbmColor); - info.hbmColor=bmp; - hIcon=CreateIconIndirect(&info); - DeleteObject(bmp); - if (info.hbmMask) DeleteObject(info.hbmMask); - return hIcon; -} - -// Loads an image file into a bitmap and optionally resizes it -HBITMAP LoadImageFile( const wchar_t *path, const SIZE *pSize, bool bUseAlpha, bool bPremultiply, std::vector *pButtonAnim ) -{ - HBITMAP srcBmp=NULL; - if (_wcsicmp(PathFindExtension(path),L".bmp")==0) - { - srcBmp=(HBITMAP)LoadImage(NULL,path,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE); - } - if (srcBmp && !pSize) - return srcBmp; - CComPtr pFactory; - if (FAILED(pFactory.CoCreateInstance(CLSID_WICImagingFactory))) - { - if (srcBmp) DeleteObject(srcBmp); - return NULL; - } - - CComPtr pBitmap; - if (srcBmp) - { - CComPtr pBitmap2; - if (FAILED(pFactory->CreateBitmapFromHBITMAP(srcBmp,NULL,bUseAlpha?WICBitmapUseAlpha:WICBitmapIgnoreAlpha,&pBitmap2))) - { - DeleteObject(srcBmp); - return NULL; - } - pBitmap=pBitmap2; - DeleteObject(srcBmp); - } - else - { - CComPtr pDecoder; - if (FAILED(pFactory->CreateDecoderFromFilename(path,NULL,GENERIC_READ,WICDecodeMetadataCacheOnLoad,&pDecoder))) - return NULL; - - CComPtr pFrame; - if (FAILED(pDecoder->GetFrame(0,&pFrame))) - return NULL; - pBitmap=pFrame; - } - - CComPtr pConverter; - if (FAILED(pFactory->CreateFormatConverter(&pConverter))) - return NULL; - pConverter->Initialize(pBitmap,bPremultiply?GUID_WICPixelFormat32bppPBGRA:GUID_WICPixelFormat32bppBGRA,WICBitmapDitherTypeNone,NULL,0,WICBitmapPaletteTypeMedianCut); - pBitmap=pConverter; - - int frameCount=1; - int Yoffset=0; - if (pButtonAnim) - { - frameCount=3; - UINT width=0, height=0; - pBitmap->GetSize(&width,&height); - if (width>=3) - { - unsigned int data[3]; - WICRect rect={0,0,3,1}; - if (SUCCEEDED(pBitmap->CopyPixels(&rect,12,12,(BYTE*)data)) && (data[0]&0xFFFFFF)==ANIM_BUTTON_TAG1 && (data[1]&0xFFFFFF)==ANIM_BUTTON_TAG2) - { - Yoffset=(data[2]>>16)&255; - if (Yoffset<(int)height) - { - frameCount=data[2]&255; - if (frameCount<1) frameCount=1; - if (frameCount>(int)(height-1)) frameCount=height-1; - pButtonAnim->resize(Yoffset*width); - rect.Width=width; - rect.Height=Yoffset; - pBitmap->CopyPixels(&rect,width*4,Yoffset*width*4,(BYTE*)&(*pButtonAnim)[0]); - } - } - } - } - - int frameWidthS, frameHeightS; - int frameWidthD, frameHeightD; - { - UINT width=0, height=0; - pBitmap->GetSize(&width,&height); - frameWidthS=width; - frameHeightS=(height-Yoffset)/frameCount; - frameWidthD=frameWidthS; - frameHeightD=frameHeightS; - - // if cx>0, use as width - // if cx<0, use -cx as width limit - // if cy==0, scale proportionally - if (pSize && pSize->cx && (pSize->cx>0 || -pSize->cxcx); - if (pSize->cy) - frameHeightD=pSize->cy; - else - frameHeightD=frameWidthD*frameHeightS/frameWidthS; - } - } - - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=frameWidthD; - bi.bmiHeader.biHeight=-frameHeightD*frameCount; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - - HDC hdc=CreateCompatibleDC(NULL); - BYTE *pBits; - HBITMAP bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,(void**)&pBits,NULL,0); - DeleteDC(hdc); - - for (int frame=0;frame pFrame=pBitmap; - if (frameCount>1) - { - CComPtr pClipper; - if (FAILED(pFactory->CreateBitmapClipper(&pClipper))) - { - DeleteObject(bmp); - bmp=NULL; - break; - } - WICRect rect={0,frameHeightS*frame+Yoffset,frameWidthS,frameHeightS}; - pClipper->Initialize(pBitmap,&rect); - pFrame=pClipper; - } - if (frameWidthS!=frameWidthD || frameHeightS!=frameHeightD) - { - CComPtr pScaler; - if (FAILED(pFactory->CreateBitmapScaler(&pScaler))) - { - DeleteObject(bmp); - bmp=NULL; - break; - } - pScaler->Initialize(pFrame,frameWidthD,frameHeightD,WICBitmapInterpolationModeFant); - pFrame=pScaler; - } - int stride=frameWidthD*4; - int frameSize=frameHeightD*stride; - pFrame->CopyPixels(NULL,stride,frameSize,pBits+frameSize*frame); - } - - return bmp; -} - -// Loads a bitmap from a IMAGE resource -HBITMAP LoadImageResource( HMODULE hModule, const wchar_t *name, bool bTopDown, bool bPremultiply ) -{ - CComPtr pFactory; - if (FAILED(pFactory.CoCreateInstance(CLSID_WICImagingFactory))) - return NULL; - - CComPtr pBitmap; - if (hModule) - { - HRSRC src=FindResource(hModule,name,L"IMAGE"); - if (!src) return NULL; - HGLOBAL hGlobal=LoadResource(hModule,src); - if (!hGlobal) return NULL; - void *pngData=LockResource(hGlobal); - if (!pngData) return NULL; - DWORD size=SizeofResource(hModule,src); - CComPtr pStream; - pStream.Attach(SHCreateMemStream((BYTE*)pngData,size)); - if (!pStream) return NULL; - - CComPtr pDecoder; - if (FAILED(pFactory->CreateDecoderFromStream(pStream,NULL,WICDecodeMetadataCacheOnLoad,&pDecoder))) - return NULL; - CComPtr pFrame; - if (FAILED(pDecoder->GetFrame(0,&pFrame))) - return NULL; - pBitmap=pFrame; - } - else - { - if (_wcsicmp(PathFindExtension(name),L".bmp")==0) - { - HBITMAP bmp=(HBITMAP)LoadImage(NULL,name,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE); - if (!bmp) - return NULL; - CComPtr pBitmap2; - if (FAILED(pFactory->CreateBitmapFromHBITMAP(bmp,NULL,WICBitmapUseAlpha,&pBitmap2))) - pBitmap2=NULL; - DeleteObject(bmp); - if (!pBitmap2) - return NULL; - pBitmap=pBitmap2; - } - else - { - CComPtr pDecoder; - if (FAILED(pFactory->CreateDecoderFromFilename(name,NULL,GENERIC_READ,WICDecodeMetadataCacheOnLoad,&pDecoder))) - return NULL; - CComPtr pFrame; - if (FAILED(pDecoder->GetFrame(0,&pFrame))) - return NULL; - pBitmap=pFrame; - } - } - - CComPtr pConverter; - if (FAILED(pFactory->CreateFormatConverter(&pConverter))) - return NULL; - pConverter->Initialize(pBitmap,bPremultiply?GUID_WICPixelFormat32bppPBGRA:GUID_WICPixelFormat32bppBGRA,WICBitmapDitherTypeNone,NULL,0,WICBitmapPaletteTypeMedianCut); - - UINT width=0, height=0; - pConverter->GetSize(&width,&height); - - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=width; - bi.bmiHeader.biHeight=bTopDown?-(int)height:(int)height; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - - HDC hdc=CreateCompatibleDC(NULL); - BYTE *bits; - HBITMAP bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,(void**)&bits,NULL,0); - DeleteDC(hdc); - - if (bTopDown) - { - pConverter->CopyPixels(NULL,width*4,width*height*4,bits); - } - else - { - for (UINT y=0;yCopyPixels(&rc,width*4,width*4,bits+(height-y-1)*width*4); - } - } - - return bmp; -} - -// Returns the version of a given module -DWORD GetVersionEx( HINSTANCE hInstance, DWORD *pBuild ) -{ - // get the DLL version. this is a bit hacky. the standard way is to use GetFileVersionInfo and such API. - // but it takes a file name instead of module handle so it will probably load the DLL a second time. - // the header of the version resource is a fixed size so we can count on VS_FIXEDFILEINFO to always - // be at offset 40 - HRSRC hResInfo=FindResource(hInstance,MAKEINTRESOURCE(VS_VERSION_INFO),RT_VERSION); - if (!hResInfo) - return 0; - HGLOBAL hRes=LoadResource(hInstance,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) return 0; - - VS_FIXEDFILEINFO *pVer=(VS_FIXEDFILEINFO*)((char*)pRes+40); - if (pBuild) - *pBuild=LOWORD(pVer->dwProductVersionLS); - return ((HIWORD(pVer->dwProductVersionMS)&255)<<24)|((LOWORD(pVer->dwProductVersionMS)&255)<<16)|HIWORD(pVer->dwProductVersionLS); -} - -// Returns the Windows version - 0x600, 0x601, ... -WORD GetWinVersion( void ) -{ - static WORD version; - if (!version) - { - #pragma warning(suppress:4996) - DWORD ver=GetVersion(); - version=MAKEWORD(HIBYTE(ver),LOBYTE(ver)); - } - return version; -} - -static bool IsWin81Update1Helper( void ) -{ - DWORD build; - DWORD ver=GetVersionEx(GetModuleHandle(L"user32.dll"),&build); - return HIWORD(ver)==WIN_VER_WIN81 && build>17000; -} - -// Returns true if the version is Win81 Update1 or later -bool IsWin81Update1( void ) -{ - static bool bIsUpdate1=IsWin81Update1Helper(); - return bIsUpdate1; -} - -static bool IsWin10RS1Helper( void ) -{ - DWORD build; - DWORD ver=GetVersionEx(GetModuleHandle(L"user32.dll"),&build); - return ver>MAKELONG(14000,10<<8); -} - -// Returns true if the version is Windows10 RS1 or later -bool IsWin10RS1( void ) -{ - static bool bIsRS1=IsWin10RS1Helper(); - return bIsRS1; -} - -typedef LONG NTSTATUS, *PNTSTATUS; -#define STATUS_SUCCESS (0x00000000) -typedef NTSTATUS (WINAPI* RtlGetVersionPtr)(PRTL_OSVERSIONINFOW); -// *DO NOT USE DIRECTLY* : Call GetOSVersion() instead. -// -// The functions above return a windows version -// that is rather not user-readable. This code should give -// us a number we can reference with the "public" windows builds -// such as what is returned by 'winver.exe'. -RTL_OSVERSIONINFOW GetRealOSVersion() { - HMODULE hMod = ::GetModuleHandleW(L"ntdll.dll"); - if (hMod) { - RtlGetVersionPtr fxPtr = (RtlGetVersionPtr)::GetProcAddress(hMod, "RtlGetVersion"); - if (fxPtr != nullptr) { - RTL_OSVERSIONINFOW rovi = { 0 }; - rovi.dwOSVersionInfoSize = sizeof(rovi); - if ( STATUS_SUCCESS == fxPtr(&rovi) ) { - return rovi; - } - } - } - RTL_OSVERSIONINFOW rovi = { 0 }; - return rovi; -} - -static RTL_OSVERSIONINFOW GetOSVersion() -{ - // cache result to avoid calling the dll multiple times. - static RTL_OSVERSIONINFOW ver = GetRealOSVersion(); - return ver; -} - -static bool IsWin10RS4Helper( void ) -{ - auto version = GetOSVersion(); - return version.dwMajorVersion > 8 && version.dwBuildNumber > 17131; -} - -// Returns true if the version is Windows10 RS4 (Spring Creator Update) or later -bool IsWin10RS4( void ) -{ - static bool bIsRS4=IsWin10RS4Helper(); - return bIsRS4; -} - -// Wrapper for IShellFolder::ParseDisplayName -HRESULT ShParseDisplayName( const wchar_t *pszName, PIDLIST_ABSOLUTE *ppidl, SFGAOF sfgaoIn, SFGAOF *psfgaoOut ) -{ - static ITEMIDLIST ilRoot={0}; - static CComPtr pDesktop; - if (_wcsicmp(pszName,L"::{Desktop}")==0) - { - *ppidl=ILCloneFull((PIDLIST_ABSOLUTE)&ilRoot); - if (psfgaoOut) - { - *psfgaoOut=0; - if (sfgaoIn&SFGAO_FOLDER) - *psfgaoOut|=SFGAO_FOLDER; - } - return S_OK; - } - else - { - *ppidl=NULL; - if (!pDesktop) - { - HRESULT hr=SHGetDesktopFolder(&pDesktop); - if (FAILED(hr)) - return hr; - } - SFGAOF flags=sfgaoIn; - HRESULT hr=pDesktop->ParseDisplayName(NULL,NULL,(wchar_t*)pszName,NULL,(PIDLIST_RELATIVE*)ppidl,psfgaoOut?&flags:NULL); - if (FAILED(hr)) - return hr; - if (psfgaoOut) - *psfgaoOut=flags; - return hr; - } -} - -// Separates the arguments from the program -// May return NULL if no arguments are found -const wchar_t *SeparateArguments( const wchar_t *command, wchar_t *program ) -{ - if (command[0]=='"') - { - // quoted program - just GetToken will work - return GetToken(command,program,_MAX_PATH,L" "); - } - - // skip leading spaces - while (*command==' ') - command++; - const wchar_t *args=wcschr(command,' '); - if (!args) - { - // no spaces - the whole thing is a program - Strcpy(program,_MAX_PATH,command); - return NULL; - } - - int len=(int)(args-command); - if (len>_MAX_PATH-1) len=_MAX_PATH-1; - memcpy(program,command,len*2); - program[len]=0; - - const wchar_t *space=command; - while (*space) - { - space=wcschr(space+1,' '); - if (!space) - space=command+Strlen(command); - len=(int)(space-command); - if (len>=_MAX_PATH) break; - wchar_t prog2[_MAX_PATH]; - memcpy(prog2,command,len*2); - prog2[len]=0; - if (len>0 && prog2[len-1]=='\\') - prog2[len-1]=0; - WIN32_FIND_DATA data; - HANDLE h=FindFirstFile(prog2,&data); - if (h!=INVALID_HANDLE_VALUE) - { - // found a valid file - FindClose(h); - memcpy(program,command,len*2); - program[len]=0; - if (*space) - args=space+1; - else - args=NULL; - } - } - - while (args && *args==' ') - args++; - return args; -} -struct CommonEnvVar -{ - const wchar_t *name; - wchar_t value[_MAX_PATH]; - int len; -}; - -CommonEnvVar g_CommonEnvVars[]={ - {L"USERPROFILE"}, - {L"ALLUSERSPROFILE"}, - {L"SystemRoot"}, - {L"SystemDrive"}, -}; - -void UnExpandEnvStrings( const wchar_t *src, wchar_t *dst, int size ) -{ - static bool bInit=false; - if (!bInit) - { - bInit=true; - for (int i=0;i<_countof(g_CommonEnvVars);i++) - { - int len=GetEnvironmentVariable(g_CommonEnvVars[i].name,g_CommonEnvVars[i].value,_MAX_PATH); - if (len<=_MAX_PATH) - g_CommonEnvVars[i].len=len; - } - } - - for (int i=0;i<_countof(g_CommonEnvVars);i++) - { - int len=g_CommonEnvVars[i].len; - if (_wcsnicmp(src,g_CommonEnvVars[i].value,len)==0) - { - const wchar_t *name=g_CommonEnvVars[i].name; - if (Strlen(src)-len+Strlen(name)+3>size) - break; // not enough space - Sprintf(dst,size,L"%%%s%%%s",name,src+len); - return; - } - } - Strcpy(dst,size,src); -} - -void StringUpper( CString &str ) -{ - int len=str.GetLength(); - wchar_t *buf=str.GetBuffer(len); - CharUpper(buf); - str.ReleaseBufferSetLength(len); -} - -// Create a font from the user settings -HFONT CreateFontSetting( const wchar_t *fontStr, int dpi ) -{ - const wchar_t *str=fontStr; - if (!*str) return NULL; - - wchar_t name[256]; - while (*str==' ') - str++; - str=GetToken(str,name,_countof(name),L","); - int len=Strlen(name); - while (len>0 && name[len-1]==' ') - name[--len]=0; - while (*str==' ') - str++; - wchar_t token[256]; - str=GetToken(str,token,_countof(token),L","); - len=Strlen(token); - while (len>0 && token[len-1]==' ') - token[--len]=0; - int weight=FW_NORMAL; - bool bItalic=false; - if (_wcsicmp(token,L"bold")==0) - weight=FW_BOLD; - else if (_wcsicmp(token,L"italic")==0) - bItalic=1; - else if (_wcsicmp(token,L"bold_italic")==0) - weight=FW_BOLD, bItalic=true; - str=GetToken(str,token,_countof(token),L", \t"); - int size=-_wtol(token); - return CreateFont(size*dpi/72,0,0,0,weight,bItalic?1:0,0,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,name); -} diff --git a/Src/Lib/ResourceHelper.h b/Src/Lib/ResourceHelper.h deleted file mode 100644 index ac7399a..0000000 --- a/Src/Lib/ResourceHelper.h +++ /dev/null @@ -1,88 +0,0 @@ -// 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 -#include - -// Loads the best DLL for the given language -HINSTANCE LoadTranslationDll( const wchar_t *langSetting ); - -// Loads all strings and dialogs from hLngInstance -// pDialogs is a NULL-terminated list of dialog IDs. They are loaded from hLngInstance if possible, otherwise from g_Instance -void LoadTranslationResources( HINSTANCE hLngInstance, int *pDialogs ); - -// Returns a localized string -CString LoadStringEx( int stringID ); -CString LoadStringEnglish( int stringID ); - -// Returns a localized dialog template -DLGTEMPLATE *LoadDialogEx( int dlgID ); - -// Loads an icon. path can be a path to .ico file, or in the format "module.dll, number" -HICON LoadIcon( int iconSize, const wchar_t *path, std::vector &modules ); - -// Loads the icon for the given pidl (file or folder) -HICON LoadIcon( int iconSize, PIDLIST_ABSOLUTE pidl ); - -// Extracts icon of a given size from a specified location the way Shell does it -HICON ShExtractIcon( const wchar_t *path, int index, int iconSize ); -HICON ShExtractIcon( const char *path, int index, int iconSize ); - -// Converts an icon to a bitmap. pBits may be NULL. If bDestroyIcon is true, hIcon will be destroyed -HBITMAP BitmapFromIcon( HICON hIcon, int iconSize, unsigned int **pBits, bool bDestroyIcon ); - -// Loads an image file into a bitmap and optionally resizes it -HBITMAP LoadImageFile( const wchar_t *path, const SIZE *pSize, bool bUseAlpha, bool bPremultiply, std::vector *pButtonAnim ); - -// Loads a bitmap from a IMAGE resource -HBITMAP LoadImageResource( HMODULE hModule, const wchar_t *name, bool bTopDown, bool bPremultiply ); - -// Premultiplies a DIB section by the alpha channel and a given color -void PremultiplyBitmap( HBITMAP hBitmap, COLORREF rgb ); - -// Creates a grayscale version of an icon -HICON CreateDisabledIcon( HICON hIcon, int iconSize ); - -// Returns the version of a given module -DWORD GetVersionEx( HINSTANCE hInstance, DWORD *pBuild=NULL ); - -const int WIN_VER_VISTA=0x600; -const int WIN_VER_WIN7 =0x601; -const int WIN_VER_WIN8 =0x602; -const int WIN_VER_WIN81=0x603; -const int WIN_VER_WIN10=0xA00; - -// Returns the Windows version - 0x600, 0x601, ... -WORD GetWinVersion( void ); - -// Returns true if the version is Win81 Update1 -bool IsWin81Update1( void ); - -// Returns true if the version is Windows10 RS1 or later -bool IsWin10RS1( void ); - -// Returns true if the version is Windows10 RS4 (Spring Creator Update) or later -bool IsWin10RS4( void ); - -// Wrapper for IShellFolder::ParseDisplayName -HRESULT ShParseDisplayName( const wchar_t *pszName, PIDLIST_ABSOLUTE *ppidl, SFGAOF sfgaoIn, SFGAOF *psfgaoOut ); - -// Separates the arguments from the program -// May return NULL if no arguments are found -const wchar_t *SeparateArguments( const wchar_t *command, wchar_t *program ); - -// Replaces some common paths with environment variables -void UnExpandEnvStrings( const wchar_t *src, wchar_t *dst, int size ); - -void StringUpper( CString &str ); - -// Create a font from the user settings -HFONT CreateFontSetting( const wchar_t *fontStr, int dpi ); - -extern HINSTANCE g_Instance; - -const int ANIM_BUTTON_TAG1='ANM'; -const int ANIM_BUTTON_TAG2='BTN'; diff --git a/Src/Lib/Settings.cpp b/Src/Lib/Settings.cpp deleted file mode 100644 index 7dbcc94..0000000 --- a/Src/Lib/Settings.cpp +++ /dev/null @@ -1,2844 +0,0 @@ -// 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 -#include "resource.h" -#include "Settings.h" -#include "SettingsParser.h" -#include "SettingsUIHelper.h" -#include "ResourceHelper.h" -#include "StringUtils.h" -#include "FNVHash.h" -#include -#include -#include -#include -#include -#include -#include - -#ifdef BUILD_SETUP -#define DOC_PATH L"" -#else -#define DOC_PATH L"..\\..\\Docs\\Help\\" -#endif - -/////////////////////////////////////////////////////////////////////////////// - -// Read/Write lock for accessing the settings. Can't be acquired recursively. Only the main UI thread (the one displaying the settings UI) -// can write the settings, and because of that it shouldn't lock when reading the settings. The settings editing code shouldn't use -// GetSettings#### at all to avoid deadlocks -static SRWLOCK g_SettingsLock; - -#ifdef _DEBUG -static _declspec(thread) int g_LockState; // 0 - none, 1 - read, 2 - write -static _declspec(thread) bool g_bUIThread; // set to true in the thread that edits the settings -#endif - -CSettingsLockRead::CSettingsLockRead( void ) -{ -#ifdef _DEBUG - Assert(g_LockState==0); - g_LockState=1; -#endif - AcquireSRWLockShared(&g_SettingsLock); -} - -CSettingsLockRead::~CSettingsLockRead( void ) -{ -#ifdef _DEBUG - Assert(g_LockState==1); - g_LockState=0; -#endif - ReleaseSRWLockShared(&g_SettingsLock); -} - -CSettingsLockWrite::CSettingsLockWrite( void ) -{ -#ifdef _DEBUG - Assert(g_LockState==0); - g_LockState=2; -#endif - AcquireSRWLockExclusive(&g_SettingsLock); -} - -CSettingsLockWrite::~CSettingsLockWrite( void ) -{ -#ifdef _DEBUG - Assert(g_LockState==2); - g_LockState=0; -#endif - ReleaseSRWLockExclusive(&g_SettingsLock); -} - -static bool IsVariantTrue( const CComVariant &var ) -{ - return (var.vt==VT_I4 && var.intVal==1); -} - -bool CSetting::IsEnabled( void ) const -{ - if (IsLocked()) - return false; - - if (depend) - { - const wchar_t *name=depend; - bool checkEnabled=(*name=='#'); - if (checkEnabled) - name++; - - int len=Strlen(name); - int val=0; - wchar_t operation='~'; - const wchar_t operations[]=L"=~<>"; - for (const wchar_t *c=operations;*c;c++) - { - const wchar_t *p=wcschr(name,*c); - if (p) - { - operation=*c; - len=(int)(p-name); - val=_wtol(p+1); - break; - } - } - int style, styleMask; - GetSettingsStyle(style,styleMask); - for (const CSetting *pSetting=GetAllSettings();pSetting->name;pSetting++) - { - if (_wcsnicmp(pSetting->name,name,len)==0 && pSetting->name[len]==0) - { - if ((pSetting->flags&styleMask) && !(pSetting->flags&style)) - return true; // if the master setting is not visible in this style, ignore the dependency - if (checkEnabled && !pSetting->IsEnabled()) - return false; - if ((pSetting->type==CSetting::TYPE_BOOL || pSetting->type==CSetting::TYPE_INT) && pSetting->GetValue().vt==VT_I4) - { - if (operation=='=' && pSetting->GetValue().intVal!=val) - return false; - if (operation=='~' && pSetting->GetValue().intVal==val) - return false; - if (operation=='<' && pSetting->GetValue().intVal>=val) - return false; - if (operation=='>' && pSetting->GetValue().intVal<=val) - return false; - } - if ((pSetting->type==CSetting::TYPE_STRING || pSetting->type==CSetting::TYPE_BITMAP || pSetting->type==CSetting::TYPE_BITMAP_JPG) && pSetting->GetValue().vt==VT_BSTR) - { - if (operation=='~' && *pSetting->GetValue().bstrVal==0) - return false; - } - break; - } - } - } - return true; -} - -bool CSetting::MatchFilter( const wchar_t *filter ) const -{ - if (!*filter) return true; - CString string=LoadStringEx(nameID); - StringUpper(string); - if (wcsstr(string,filter)) return true; - string=LoadStringEnglish(nameID); - StringUpper(string); - if (wcsstr(string,filter)) return true; - return false; -} - -bool CSetting::ShouldLoad( bool bShared ) const -{ - if (type==TYPE_GROUP || type==TYPE_RADIO || pLinkTo) - return false; - return (flags&FLAG_SHARED)?bShared:!bShared; -} - -bool CSetting::ReadValue( CRegKey ®Key, const wchar_t *valName ) -{ - // bool, int, hotkey, color - if (type==CSetting::TYPE_BOOL || (type==CSetting::TYPE_INT && this[1].type!=CSetting::TYPE_RADIO) || type==CSetting::TYPE_HOTKEY || type==CSetting::TYPE_HOTKEY_ANY || type==CSetting::TYPE_COLOR) - { - DWORD val; - if (regKey.QueryDWORDValue(valName,val)==ERROR_SUCCESS) - { - if (type==CSetting::TYPE_BOOL) - value=CComVariant(val?1:0); - else - value=CComVariant((int)val); - return true; - } - return false; - } - - // radio - if (type==CSetting::TYPE_INT && this[1].type==CSetting::TYPE_RADIO) - { - ULONG len; - DWORD val; - if (regKey.QueryStringValue(valName,NULL,&len)==ERROR_SUCCESS) - { - CString text; - regKey.QueryStringValue(valName,text.GetBuffer(len),&len); - text.ReleaseBuffer(len); - val=0; - for (const CSetting *pRadio=this+1;pRadio->type==CSetting::TYPE_RADIO;pRadio++,val++) - { - if (_wcsicmp(text,pRadio->name)==0) - { - value=CComVariant((int)val); - return true; - } - } - } - else if (regKey.QueryDWORDValue(valName,val)==ERROR_SUCCESS) - { - value=CComVariant((int)val); - return true; - } - return false; - } - - // string - if (type>=CSetting::TYPE_STRING && type0) - { - value.bstrVal[len-1]='\n'; - value.bstrVal[len]=0; - } - return true; - } - return false; - } - - Assert(0); - return false; -} - -void CSetting::LoadValue( CRegKey ®Settings, CRegKey ®SettingsUser, CRegKey ®Policy, CRegKey ®PolicyUser ) -{ - if (!(flags&CSetting::FLAG_NODEFAULT)) - flags|=CSetting::FLAG_DEFAULT; - flags&=~CSetting::FLAG_LOCKED_REG; - value=defValue; - flags&=~CSetting::FLAG_FORCED_DEFAULT; - - wchar_t name2[256]; - - // load HKLM group policies - if (regPolicy) - { - Sprintf(name2,_countof(name2),L"%s_State",name); - DWORD val; - if (regPolicy.QueryDWORDValue(name2,val)==ERROR_SUCCESS && val<=2) - { - if (ReadValue(regPolicy,name)) - { - if (val==0) // locked to value - { - flags|=CSetting::FLAG_LOCKED_REG; - flags&=~CSetting::FLAG_DEFAULT; - return; - } - else if (val==1) // locked to default - { - flags|=CSetting::FLAG_LOCKED_REG; - return; - } - else // change default - { - defValue=value; - flags|=CSetting::FLAG_FORCED_DEFAULT; - } - } - } - } - - if (regSettings) - { - // load HKLM settings - DWORD val; - if (regSettings.QueryDWORDValue(name,val)==ERROR_SUCCESS && val==0xDEFA) - { - flags|=CSetting::FLAG_LOCKED_REG; - return; - } - else if (ReadValue(regSettings,name)) - { - flags|=CSetting::FLAG_LOCKED_REG; - flags&=~CSetting::FLAG_DEFAULT; - return; - } - else - { - // check if a default value is selected in HKLM - Sprintf(name2,_countof(name2),L"%s_Default",name); - if (ReadValue(regSettings,name2)) - { - defValue=value; - flags|=CSetting::FLAG_FORCED_DEFAULT; - } - } - } - - // load HKCU group policies - if (regPolicyUser) - { - Sprintf(name2,_countof(name2),L"%s_State",name); - DWORD val; - if (regPolicyUser.QueryDWORDValue(name2,val)==ERROR_SUCCESS && val<=2) - { - if (ReadValue(regPolicyUser,name)) - { - if (val==0) // locked to value - { - flags|=CSetting::FLAG_LOCKED_REG; - flags&=~CSetting::FLAG_DEFAULT; - return; - } - else if (val==1) // locked to default - { - flags|=CSetting::FLAG_LOCKED_REG; - return; - } - else // change default - { - defValue=value; - flags|=CSetting::FLAG_FORCED_DEFAULT; - } - } - } - } - - // load HKCU settings - if (regSettingsUser) - { - if (ReadValue(regSettingsUser,name)) - { - flags&=~CSetting::FLAG_DEFAULT; - return; - } - } -} - -class CSettingsManager -{ -public: - CSettingsManager( void ); - ~CSettingsManager( void ); - void Init( CSetting *pSettings, TSettingsComponent component, ICustomSettings *pCustom ); - - bool GetSettingBool( const wchar_t *name ) const; - bool GetSettingBool( const wchar_t *name, bool &bDef ) const; - int GetSettingInt( const wchar_t *name ) const; - int GetSettingInt( const wchar_t *name, bool &bDef ) const; - CString GetSettingString( const wchar_t *name ) const; - - void SaveSettings( bool bShared ); - void LoadSettings( bool bShared ); - CString LoadSettingsXml( const wchar_t *fname ); - CString SaveSettingsXml( const wchar_t *fname ); - void ResetSettings( void ); - - CSetting *GetSettings( void ) const { return m_pSettings; } - ICustomSettings *GetCustom( void ) const { return m_pCustom; } - bool SetSettingsStyle( int style, int mask ) { if (m_SettingsStyle==style && m_SettingsMask==mask) return false; m_SettingsStyle=style; m_SettingsMask=mask; return true; } - void GetSettingsStyle( int &style, int &mask ) const { style=m_SettingsStyle; mask=m_SettingsMask; } - HIMAGELIST GetImageList( HWND tree ); - void ResetImageList( void ); - const wchar_t *GetRegPath( void ) const { return m_RegPath; } - const wchar_t *GetXMLName( void ) const { return m_XMLName; } - -private: - CSetting *m_pSettings; - ICustomSettings *m_pCustom; - int m_SettingsStyle; - int m_SettingsMask; - HIMAGELIST m_ImageList; - const wchar_t *m_RegPath; - const wchar_t *m_RegPathShared; - const wchar_t *m_GpPath; - const wchar_t *m_GpPathShared; - const wchar_t *m_CompName; - const wchar_t *m_XMLName; -}; - -static CSettingsManager g_SettingsManager; - -CSettingsManager::CSettingsManager( void ) -{ - m_pSettings=NULL; - m_pCustom=NULL; - m_SettingsStyle=m_SettingsMask=0; - m_ImageList=NULL; - m_RegPath=m_RegPathShared=m_GpPath=m_GpPathShared=m_CompName=m_XMLName=NULL; -} - -static void GetRegPaths( TSettingsComponent component, const wchar_t *®Path, const wchar_t *&gpPath ) -{ - switch (component) - { - case COMPONENT_EXPLORER: - regPath=L"Software\\OpenShell\\ClassicExplorer"; - gpPath=L"Software\\Policies\\OpenShell\\ClassicExplorer"; - break; - case COMPONENT_MENU: - regPath=L"Software\\OpenShell\\StartMenu"; - gpPath=L"Software\\Policies\\OpenShell\\StartMenu"; - break; - case COMPONENT_IE: - regPath=L"Software\\OpenShell\\ClassicIE"; - gpPath=L"Software\\Policies\\OpenShell\\ClassicIE"; - break; - case COMPONENT_UPDATE: - regPath=L""; - gpPath=L""; - break; - case COMPONENT_SHARED: - regPath=L"Software\\OpenShell\\OpenShell"; - gpPath=L"Software\\Policies\\OpenShell\\OpenShell"; - break; - } -} - -void CSettingsManager::Init( CSetting *pSettings, TSettingsComponent component, ICustomSettings *pCustom ) -{ - GetRegPaths(component,m_RegPath,m_GpPath); - GetRegPaths(COMPONENT_SHARED,m_RegPathShared,m_GpPathShared); - switch (component) - { - case COMPONENT_EXPLORER: - m_CompName=L"Explorer"; - m_XMLName=L"Explorer Settings.xml"; - break; - case COMPONENT_MENU: - m_CompName=L"StartMenu"; - m_XMLName=L"Menu Settings.xml"; - break; - case COMPONENT_IE: - m_CompName=L"IE"; - m_XMLName=L"IE Settings.xml"; - break; - case COMPONENT_UPDATE: - m_CompName=L""; - m_XMLName=L""; - break; - } - - m_pSettings=pSettings; - m_pCustom=pCustom; - m_SettingsStyle=m_SettingsMask=0; - InitializeSRWLock(&g_SettingsLock); - CSettingsLockWrite lock; - for (CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type<0) continue; -#ifdef _DEBUG - if (pSetting->type==CSetting::TYPE_BOOL) - { - Assert(pSetting->defValue.vt==VT_I4 && (pSetting->defValue.intVal==0 || pSetting->defValue.intVal==1)); - } - else if (pSetting->type==CSetting::TYPE_INT || pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY || pSetting->type==CSetting::TYPE_COLOR) - { - Assert(pSetting->defValue.vt==VT_I4); - } - else if (pSetting->type>=CSetting::TYPE_STRING) - { - Assert(pSetting->defValue.vt==VT_BSTR); - } -#endif - pSetting->value=pSetting->defValue; - if (!(pSetting->flags&CSetting::FLAG_NODEFAULT)) - pSetting->flags|=CSetting::FLAG_DEFAULT; - } - LoadSettings(false); - LoadSettings(true); - UpdateSettings(); - m_ImageList=NULL; -} - -CSettingsManager::~CSettingsManager( void ) -{ - ResetImageList(); -} - -bool CSettingsManager::GetSettingBool( const wchar_t *name ) const -{ - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type==CSetting::TYPE_BOOL && _wcsicmp(pSetting->name,name)==0) - { - Assert(!pSetting->pLinkTo); - CSettingsLockRead lock; - return IsVariantTrue(pSetting->value); - } - } - Assert(0); - return false; -} - -bool CSettingsManager::GetSettingBool( const wchar_t *name, bool &bDef ) const -{ - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type==CSetting::TYPE_BOOL && _wcsicmp(pSetting->name,name)==0) - { - Assert(!pSetting->pLinkTo); - CSettingsLockRead lock; - bDef=pSetting->IsDefault() && !pSetting->IsForcedDefault(); - return IsVariantTrue(pSetting->value); - } - } - Assert(0); - bDef=false; - return 0; -} - -int CSettingsManager::GetSettingInt( const wchar_t *name ) const -{ - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if ((pSetting->type==CSetting::TYPE_INT || pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY || pSetting->type==CSetting::TYPE_COLOR) && _wcsicmp(pSetting->name,name)==0) - { - Assert(!pSetting->pLinkTo); - CSettingsLockRead lock; - Assert(pSetting->value.vt==VT_I4); - return pSetting->value.intVal; - } - } - Assert(0); - return 0; -} - -int CSettingsManager::GetSettingInt( const wchar_t *name, bool &bDef ) const -{ - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if ((pSetting->type==CSetting::TYPE_INT || pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY || pSetting->type==CSetting::TYPE_COLOR) && _wcsicmp(pSetting->name,name)==0) - { - Assert(!pSetting->pLinkTo); - CSettingsLockRead lock; - Assert(pSetting->value.vt==VT_I4); - bDef=pSetting->IsDefault() && !pSetting->IsForcedDefault(); - return pSetting->value.intVal; - } - } - Assert(0); - bDef=false; - return 0; -} - -CString CSettingsManager::GetSettingString( const wchar_t *name ) const -{ - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type>=CSetting::TYPE_STRING && _wcsicmp(pSetting->name,name)==0) - { - Assert(!pSetting->pLinkTo); - CSettingsLockRead lock; - Assert(pSetting->value.vt==VT_BSTR); - return pSetting->value.bstrVal; - } - } - Assert(0); - return CString(); -} - -static bool OpenSettingsKeys( const wchar_t *regPath, const wchar_t *gpPath, CRegKey ®Settings, CRegKey ®SettingsUser, CRegKey ®Policy, CRegKey ®PolicyUser ) -{ - bool bUpgrade=false; - if (*regPath) - { - regSettings.Open(HKEY_LOCAL_MACHINE,regPath,KEY_READ|KEY_WOW64_64KEY); - - wchar_t regPathNew[_MAX_PATH]; - Sprintf(regPathNew,_countof(regPathNew),L"%s\\Settings",regPath); - if (regSettingsUser.Open(HKEY_CURRENT_USER,regPathNew,KEY_READ|KEY_WOW64_64KEY)!=ERROR_SUCCESS) - { - if (regSettingsUser.Open(HKEY_CURRENT_USER,regPath,KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - bUpgrade=true; - } - } - - regPolicy.Open(HKEY_LOCAL_MACHINE,gpPath,KEY_READ|KEY_WOW64_64KEY); - regPolicyUser.Open(HKEY_CURRENT_USER,gpPath,KEY_READ|KEY_WOW64_64KEY); - return bUpgrade; -} - -void CSettingsManager::LoadSettings( bool bShared ) -{ - Assert(g_LockState==2); - - // load settings from registry - CRegKey regSettings, regSettingsUser, regPolicy, regPolicyUser; - bool bUpgrade=OpenSettingsKeys(bShared?m_RegPathShared:m_RegPath, bShared?m_GpPathShared:m_GpPath, regSettings, regSettingsUser, regPolicy, regPolicyUser); - - for (CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->ShouldLoad(bShared)) - pSetting->LoadValue(regSettings,regSettingsUser,regPolicy,regPolicyUser); - } - if (bUpgrade) - UpgradeSettings(bShared); -} - -void CSettingsManager::SaveSettings( bool bShared ) -{ - // doesn't need to acquire the lock because it can only run from the UI editing code - Assert(g_bUIThread); - - const wchar_t *regPath=bShared?m_RegPathShared:m_RegPath; - if (!*regPath) return; - wchar_t regPathNew[_MAX_PATH]; - Sprintf(regPathNew,_countof(regPathNew),L"%s\\Settings",regPath); - - // save non-default to HKCU - CRegKey regSettings; - if (regSettings.Open(HKEY_CURRENT_USER,regPathNew)!=ERROR_SUCCESS) - regSettings.Create(HKEY_CURRENT_USER,regPathNew); - - if (!bShared) - { - DWORD version=GetVersionEx(g_Instance); - regSettings.SetDWORDValue(L"Version",version); - } - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type==CSetting::TYPE_GROUP || pSetting->type==CSetting::TYPE_RADIO || pSetting->pLinkTo) - continue; - if (pSetting->flags&(CSetting::FLAG_LOCKED_REG|CSetting::FLAG_NOSAVE)) - continue; - if (pSetting->flags&CSetting::FLAG_SHARED) - { - if (!bShared) continue; - } - else - { - if (bShared) continue; - } - if (pSetting->flags&CSetting::FLAG_DEFAULT) - { - regSettings.DeleteValue(pSetting->name); - continue; - } - if (pSetting->type==CSetting::TYPE_BOOL || (pSetting->type==CSetting::TYPE_INT && pSetting[1].type!=CSetting::TYPE_RADIO) || pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY || pSetting->type==CSetting::TYPE_COLOR) - { - DWORD val=0; - if (pSetting->value.vt==VT_I4) - val=pSetting->value.intVal; - regSettings.SetDWORDValue(pSetting->name,val); - } - if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type==CSetting::TYPE_RADIO) - { - DWORD val=0; - if (pSetting->value.vt==VT_I4) - val=pSetting->value.intVal; - for (const CSetting *pRadio=pSetting+1;pRadio->type==CSetting::TYPE_RADIO;pRadio++,val--) - { - if (val==0) - { - regSettings.SetStringValue(pSetting->name,pRadio->name); - break; - } - } - } - if (pSetting->type==CSetting::TYPE_MULTISTRING) - { - if (pSetting->value.vt==VT_BSTR) - { - int len=Strlen(pSetting->value.bstrVal); - for (int i=0;ivalue.bstrVal[i]=='\n') - pSetting->value.bstrVal[i]=0; - regSettings.SetMultiStringValue(pSetting->name,pSetting->value.bstrVal); - for (int i=0;ivalue.bstrVal[i]==0) - pSetting->value.bstrVal[i]='\n'; - } - else - regSettings.SetMultiStringValue(pSetting->name,L"\0"); - } - else if (pSetting->type>=CSetting::TYPE_STRING) - { - if (pSetting->value.vt==VT_BSTR) - regSettings.SetStringValue(pSetting->name,pSetting->value.bstrVal); - else - regSettings.SetStringValue(pSetting->name,L""); - } - } -} - -static CComBSTR g_bstrValue(L"value"); -static CComBSTR g_bstrTab(L"\n\t"); - -CString CSettingsManager::LoadSettingsXml( const wchar_t *fname ) -{ - CSettingsLockWrite lock; - CComPtr pDoc; - if (FAILED(pDoc.CoCreateInstance(L"Msxml2.FreeThreadedDOMDocument"))) - return L"Failed to initialize XML parser"; - pDoc->put_async(VARIANT_FALSE); - VARIANT_BOOL loaded; - if (pDoc->load(CComVariant(fname),&loaded)!=S_OK || loaded!=VARIANT_TRUE) - { - CComPtr pError; - pDoc->get_parseError(&pError); - CComBSTR reason; - if (pError && SUCCEEDED(pError->get_reason(&reason))) - { - return CString(L"XML parsing error: ")+reason; - } - return CString(L"XML parsing error"); - } - - CComPtr node; - HRESULT res=pDoc->selectSingleNode(CComBSTR(L"Settings"),&node); - if (res!=S_OK) - return CString(L"XML parsing error: The tag 'Settings' is missing."); - - DWORD ver=0; - { - CComVariant value; - CComQIPtr element(node); - if (!element || element->getAttribute(CComBSTR(L"component"),&value)!=S_OK || value.vt!=VT_BSTR) - return CString(L"XML parsing error: The tag 'Settings' is missing the 'component' attribute."); - if (_wcsicmp(value.bstrVal,m_CompName)!=0) - { - CString error; - error.Format(L"XML parsing error: This settings file is intended for another component '%s'.",value.bstrVal); - return error; - } - - value.Clear(); - if (element && element->getAttribute(CComBSTR(L"version"),&value)==S_OK && value.vt==VT_BSTR) - { - wchar_t token[10]; - const wchar_t *str=GetToken(value.bstrVal,token,_countof(token),L"."); - ver=(_wtol(token)&0xFF)<<24; - str=GetToken(str,token,_countof(token),L"."); - ver|=(_wtol(token)&0xFF)<<16; - ver|=_wtol(str)&0xFFFF; - } - } - - ResetSettings(); - CComPtr child; - node->get_firstChild(&child); - while (child) - { - CComBSTR name; - child->get_nodeName(&name); - - for (CSetting *pSetting=g_SettingsManager.GetSettings();pSetting->name;pSetting++) - { - if (pSetting->type==CSetting::TYPE_GROUP || pSetting->type==CSetting::TYPE_RADIO || pSetting->pLinkTo) - continue; - if (pSetting->type>=0 && _wcsicmp(pSetting->name,name)==0) - { - if (pSetting->flags&(CSetting::FLAG_LOCKED_REG|CSetting::FLAG_SHARED)) - break; - if (pSetting->type==CSetting::TYPE_MULTISTRING) - { - // load Lines - CComPtr child2; - child->get_firstChild(&child2); - std::vector string; - while (child2) - { - CComBSTR text; - if (child2->get_text(&text)==S_OK) - { - int len=(int)text.Length(); - int pos=(int)string.size(); - string.resize(pos+len+1); - memcpy(&string[pos],(const wchar_t*)text,len*2); - string[pos+len]='\n'; - } - CComPtr next; - child2->get_nextSibling(&next); - child2=next; - } - string.push_back(0); - pSetting->value=CComVariant(&string[0]); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - } - else - { - CComQIPtr element(child); - if (element) - { - CComVariant value; - if (element->getAttribute(g_bstrValue,&value)==S_OK && value.vt==VT_BSTR) - { - if (pSetting->type>=CSetting::TYPE_STRING) - { - pSetting->value=value; - pSetting->flags&=~CSetting::FLAG_DEFAULT; - } - else if (pSetting->type==CSetting::TYPE_BOOL || (pSetting->type==CSetting::TYPE_INT && pSetting[1].type!=CSetting::TYPE_RADIO) || pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY || pSetting->type==CSetting::TYPE_COLOR) - { - int val=_wtol(value.bstrVal); - if (pSetting->type==CSetting::TYPE_BOOL) - pSetting->value=CComVariant(val?1:0); - else - pSetting->value=CComVariant(val); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - } - else if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type==CSetting::TYPE_RADIO) - { - int val=0; - for (CSetting *pRadio=pSetting+1;pRadio->type==CSetting::TYPE_RADIO;pRadio++,val++) - { - if (_wcsicmp(pRadio->name,value.bstrVal)==0) - { - pSetting->value=CComVariant(val); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - break; - } - } - } - } - } - } - } - } - - CComPtr next; - if (child->get_nextSibling(&next)!=S_OK) - break; - child=next; - } - if (ver<0x03090000) - UpgradeSettings(false); - UpdateSettings(); - return CString(); -} - -static void SaveSettingValue( IXMLDOMDocument *pDoc, IXMLDOMNode *pParent, const wchar_t *name, const CComVariant &value ) -{ - CComPtr setting; - pDoc->createElement(CComBSTR(name),&setting); - setting->setAttribute(g_bstrValue,value); - CComPtr text; - CComPtr nu; - pDoc->createTextNode(g_bstrTab,&text); - pParent->appendChild(text,&nu); - nu=NULL; - pParent->appendChild(setting,&nu); -} - -CString CSettingsManager::SaveSettingsXml( const wchar_t *fname ) -{ - // doesn't need to acquire the lock because it can only run from the UI editing code - Assert(g_bUIThread); - - CComPtr pDoc; - HRESULT res=pDoc.CoCreateInstance(L"Msxml2.FreeThreadedDOMDocument"); - if (FAILED(res)) - return L"Failed to initialize XML parser"; - - CComPtr pRoot; - pDoc->createElement(CComBSTR(L"Settings"),&pRoot); - CComPtr pi; - if (SUCCEEDED(pDoc->createProcessingInstruction(CComBSTR(L"xml"),CComBSTR(L"version=\"1.0\""),&pi))) - { - CComPtr nu; - pDoc->appendChild(pi,&nu); - } - - { - CComPtr nu; - pDoc->appendChild(pRoot,&nu); - } - - pRoot->setAttribute(CComBSTR(L"component"),CComVariant(m_CompName)); - - wchar_t version[100]; - DWORD ver=GetVersionEx(g_Instance); - Sprintf(version,_countof(version),L"%d.%d.%d",ver>>24,(ver>>16)&0xFF,ver&0xFFFF); - pRoot->setAttribute(CComBSTR(L"version"),CComVariant(version)); - - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type==CSetting::TYPE_GROUP || pSetting->type==CSetting::TYPE_RADIO || pSetting->pLinkTo) - continue; - if (pSetting->flags&(CSetting::FLAG_LOCKED_REG|CSetting::FLAG_NOSAVE|CSetting::FLAG_DEFAULT|CSetting::FLAG_SHARED)) - continue; - if (pSetting->type==CSetting::TYPE_MULTISTRING) - { - CComPtr setting; - pDoc->createElement(CComBSTR(pSetting->name),&setting); - CComPtr text; - CComPtr nu; - pDoc->createTextNode(g_bstrTab,&text); - pRoot->appendChild(text,&nu); - nu=NULL; - pRoot->appendChild(setting,&nu); - CComBSTR tabs(L"\n\t\t"); - CComBSTR name(L"Line"); - if (pSetting->value.vt==VT_BSTR) - { - for (const wchar_t *str=pSetting->value.bstrVal;*str;) - { - int len; - const wchar_t *end=wcschr(str,'\n'); - if (end) - len=(int)(end-str); - else - len=Strlen(str); - CComPtr line; - pDoc->createElement(name,&line); - line->put_text(CComBSTR(len,str)); - nu=NULL; - text=NULL; - pDoc->createTextNode(tabs,&text); - setting->appendChild(text,&nu); - nu=NULL; - setting->appendChild(line,&nu); - if (!end) break; - str=end+1; - } - } - nu=NULL; - text=NULL; - pDoc->createTextNode(g_bstrTab,&text); - setting->appendChild(text,&nu); - continue; - } - else if (pSetting->type==CSetting::TYPE_BOOL || (pSetting->type==CSetting::TYPE_INT && pSetting[1].type!=CSetting::TYPE_RADIO) || pSetting->type>=CSetting::TYPE_HOTKEY || pSetting->type>=CSetting::TYPE_HOTKEY_ANY || pSetting->type>=CSetting::TYPE_STRING) - { - SaveSettingValue(pDoc,pRoot,pSetting->name,pSetting->value); - } - else if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type==CSetting::TYPE_RADIO) - { - DWORD val=0; - if (pSetting->value.vt==VT_I4) - val=pSetting->value.intVal; - for (const CSetting *pRadio=pSetting+1;pRadio->type==CSetting::TYPE_RADIO;pRadio++,val--) - { - if (val==0) - { - SaveSettingValue(pDoc,pRoot,pSetting->name,CComVariant(pRadio->name)); - break; - } - } - } - } - CComPtr text; - CComPtr nu; - pDoc->createTextNode(CComBSTR(L"\n"),&text); - pRoot->appendChild(text,&nu); - if (FAILED(pDoc->save(CComVariant(fname)))) - return CString(L"Failed to save XML file ")+fname; - return CString(); -} - -void CSettingsManager::ResetSettings( void ) -{ - Assert(g_LockState==2); // must be locked for writing - for (CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type==CSetting::TYPE_GROUP || pSetting->type==CSetting::TYPE_RADIO || pSetting->pLinkTo) - continue; - if (pSetting->flags&(CSetting::FLAG_LOCKED_REG|CSetting::FLAG_NORESET)) - continue; - if (!(pSetting->flags&CSetting::FLAG_NODEFAULT)) - pSetting->flags|=CSetting::FLAG_DEFAULT; - pSetting->value=pSetting->defValue; - } -} - -HIMAGELIST CSettingsManager::GetImageList( HWND tree ) -{ - if (m_ImageList) return m_ImageList; - HTHEME theme=OpenThemeData(tree,L"button"); - HDC hdc=CreateCompatibleDC(NULL); - int iconSize=(TreeView_GetItemHeight(tree)<32)?16:32; - int checkSize=16; - if (theme) - { - SIZE val={16,16}; - if (GetThemePartSize(theme,hdc,BP_RADIOBUTTON,RBS_UNCHECKEDNORMAL,NULL,TS_DRAW,&val)==S_OK) - checkSize=val.cx; - } - int imageSize=iconSize>checkSize?iconSize:checkSize; - int iconOffset=(imageSize-iconSize)/2; - int checkOffset=(imageSize-checkSize)/2; - m_ImageList=ImageList_Create(imageSize,imageSize,ILC_COLOR32|ILC_MASK|((GetWindowLong(tree,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)?ILC_MIRROR:0),0,23); - BITMAPINFO dib={sizeof(dib)}; - dib.bmiHeader.biWidth=imageSize; - dib.bmiHeader.biHeight=-imageSize; - dib.bmiHeader.biPlanes=1; - dib.bmiHeader.biBitCount=32; - dib.bmiHeader.biCompression=BI_RGB; - HDC hdcMask=CreateCompatibleDC(NULL); - HBITMAP bmp=CreateDIBSection(hdc,&dib,DIB_RGB_COLORS,NULL,NULL,0); - HBITMAP bmpMask=CreateDIBSection(hdcMask,&dib,DIB_RGB_COLORS,NULL,NULL,0); - - for (int i=0;i<13;i++) - { - HGDIOBJ bmp0=SelectObject(hdc,bmp); - HGDIOBJ bmp1=SelectObject(hdcMask,bmpMask); - RECT rc={0,0,imageSize,imageSize}; - FillRect(hdc,&rc,(HBRUSH)(COLOR_WINDOW+1)); - FillRect(hdcMask,&rc,(HBRUSH)GetStockObject(BLACK_BRUSH)); - if (i==1) - { - HICON icon=(HICON)LoadImage(_AtlBaseModule.GetResourceInstance(),MAKEINTRESOURCE(IDI_ICONLOCK),IMAGE_ICON,iconSize,iconSize,LR_DEFAULTCOLOR); - DrawIconEx(hdc,iconOffset,iconOffset,icon,iconSize,iconSize,0,NULL,DI_NORMAL); - DrawIconEx(hdcMask,iconOffset,iconOffset,icon,iconSize,iconSize,0,NULL,DI_MASK); - DestroyIcon(icon); - } - else if (i==2 || i==3) - { - HMODULE hShell32=GetModuleHandle(L"shell32.dll"); - if (hShell32) - { - HICON icon=(HICON)LoadImage(hShell32,MAKEINTRESOURCE(151),IMAGE_ICON,iconSize,iconSize,LR_DEFAULTCOLOR); - DrawIconEx(hdc,iconOffset,iconOffset,icon,iconSize,iconSize,0,NULL,DI_NORMAL); - DestroyIcon(icon); - } - } - else if (i==12) - { - HICON icon=(HICON)LoadImage(_AtlBaseModule.GetResourceInstance(),MAKEINTRESOURCE(IDI_ICONWARNING),IMAGE_ICON,iconSize,iconSize,LR_DEFAULTCOLOR); - DrawIconEx(hdc,iconOffset,iconOffset,icon,iconSize,iconSize,0,NULL,DI_NORMAL); - DrawIconEx(hdcMask,iconOffset,iconOffset,icon,iconSize,iconSize,0,NULL,DI_MASK); - DestroyIcon(icon); - } - else if (i>3) - { - RECT rcCheck={checkOffset,checkOffset,checkOffset+checkSize,checkOffset+checkSize}; - if (theme) - { - if ((i-4)&4) - { - int state=(i-4)&3; - if (state==0) state=RBS_UNCHECKEDNORMAL; - else if (state==1) state=RBS_UNCHECKEDDISABLED; - else if (state==2) state=RBS_CHECKEDNORMAL; - else state=RBS_CHECKEDDISABLED; - DrawThemeBackground(theme,hdc,BP_RADIOBUTTON,state,&rcCheck,NULL); - } - else - { - int state=(i-4)&3; - if (state==0) state=CBS_UNCHECKEDNORMAL; - else if (state==1) state=CBS_UNCHECKEDDISABLED; - else if (state==2) state=CBS_CHECKEDNORMAL; - else state=CBS_CHECKEDDISABLED; - DrawThemeBackground(theme,hdc,BP_CHECKBOX,state,&rcCheck,NULL); - } - } - else - { - UINT state=DFCS_BUTTONCHECK|DFCS_FLAT; - if ((i-4)&1) state|=DFCS_INACTIVE; - if ((i-4)&2) state|=DFCS_CHECKED; - if ((i-4)&4) state|=DFCS_BUTTONRADIO; - DrawFrameControl(hdc,&rcCheck,DFC_BUTTON,state); - } - } - SelectObject(hdc,bmp0); - SelectObject(hdcMask,bmp1); - ImageList_Add(m_ImageList,bmp,bmpMask); - } - - // create color images - { - HGDIOBJ bmp0=SelectObject(hdc,bmp); - HGDIOBJ bmp1=SelectObject(hdcMask,bmpMask); - RECT rc={0,0,imageSize,imageSize}; - FillRect(hdc,&rc,(HBRUSH)GetStockObject(BLACK_BRUSH)); - FillRect(hdcMask,&rc,(HBRUSH)GetStockObject(BLACK_BRUSH)); - SelectObject(hdc,bmp0); - SelectObject(hdcMask,bmp1); - - for (int i=0;i<10;i++) - ImageList_Add(m_ImageList,bmp,bmpMask); - } - - DeleteObject(bmp); - DeleteObject(bmpMask); - DeleteDC(hdc); - DeleteDC(hdcMask); - - if (theme) CloseThemeData(theme); - ImageList_SetOverlayImage(m_ImageList,1,1); - ImageList_SetOverlayImage(m_ImageList,12,2); - return m_ImageList; -} - -void CSettingsManager::ResetImageList( void ) -{ - if (m_ImageList) ImageList_Destroy(m_ImageList); - m_ImageList=NULL; -} - -/////////////////////////////////////////////////////////////////////////////// - -class CSettingsDlg: public CResizeableDlg -{ -public: - CSettingsDlg( void ); - void Init( CSetting *pSettings, ICustomSettings *pCustom, int tab ); - - BEGIN_MSG_MAP( CSettingsDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - MESSAGE_HANDLER( WM_GETMINMAXINFO, OnGetMinMaxInfo ) - MESSAGE_HANDLER( WM_KEYDOWN, OnKeyDown ) - MESSAGE_HANDLER( WM_SYSCOMMAND, OnSysCommand ) - MESSAGE_HANDLER( WM_CLEAR, OnResetUI ) - COMMAND_HANDLER( IDOK, BN_CLICKED, OnOK ) - COMMAND_HANDLER( IDCANCEL, BN_CLICKED, OnCancel ) - COMMAND_HANDLER( IDC_BUTTONBACKUP, BN_CLICKED, OnBackup ) - COMMAND_HANDLER( IDC_CHECKALL, BN_CLICKED, OnCheckAll ) - COMMAND_HANDLER( IDC_EDITSEARCH, EN_CHANGE, OnSearchChange ) - NOTIFY_HANDLER( IDC_TABSETTINGS, TCN_SELCHANGING, OnSelChanging ) - NOTIFY_HANDLER( IDC_TABSETTINGS, TCN_SELCHANGE, OnSelChange ) - NOTIFY_HANDLER( IDC_BUTTONBACKUP, BCN_DROPDOWN, OnDropDown ) - NOTIFY_HANDLER( IDC_LINKHELP, NM_CLICK, OnHelp ) - NOTIFY_HANDLER( IDC_LINKHELP, NM_RETURN, OnHelp ) - NOTIFY_HANDLER( IDC_LINKWEB, NM_CLICK, OnWeb ) - NOTIFY_HANDLER( IDC_LINKWEB, NM_RETURN, OnWeb ) - NOTIFY_HANDLER( IDC_SYSLINKLOC, NM_CLICK, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKLOC, NM_RETURN, OnLink ) - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_TABSETTINGS,MOVE_SIZE_X|MOVE_SIZE_Y) - RESIZE_CONTROL(IDC_LINKHELP,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_LINKWEB,MOVE_MOVE_Y) - RESIZE_CONTROL(IDC_SYSLINKLOC,MOVE_SIZE_X|MOVE_MOVE_Y) - RESIZE_CONTROL(IDC_BUTTONBACKUP,MOVE_MOVE_X|MOVE_MOVE_Y) - RESIZE_CONTROL(IDOK,MOVE_MOVE_X|MOVE_MOVE_Y) - RESIZE_CONTROL(IDCANCEL,MOVE_MOVE_X|MOVE_MOVE_Y) - END_RESIZE_MAP - - bool GetOnTop( void ) const { return m_bOnTop; } - void SetDirty( void ) { m_bDirty=true; } - -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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnKeyDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSysCommand( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnResetUI( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBackup( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCheckAll( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnSearchChange( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnSelChanging( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnDropDown( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnHelp( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnWeb( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - -private: - CSetting *m_pSettings; - ICustomSettings *m_pCustom; - CWindow m_Tabs; - int m_Index; - HWND m_Panel; - int m_InitialTab; - bool m_bBasic; - bool m_bOnTop; - bool m_bIgnoreEdit; - bool m_bDirty; - CString m_FilterText; - - void AddTabs( int name, const CSetting *pSelect=NULL ); - void SetCurTab( int index, bool bReset, const CSetting *pSelect=NULL ); - bool IsTabValid( void ); - void StorePlacement( void ); - - struct Placement - { - RECT rc; - unsigned int tab; - bool basic; - bool top; - BOOL maximized; - }; - - bool IsVisible( const CSetting *pSetting ) const; - - friend void SetSettingsStyle( int style, int mask ); - friend void SelectSettingsTab( int tab, bool bAdvanced, const CSetting *pSelect ); -}; - -CSettingsDlg::CSettingsDlg( void ) -{ - m_pSettings=NULL; - m_pCustom=NULL; - m_Index=0; - m_Panel=NULL; - m_InitialTab=0; - m_bBasic=false; - m_bOnTop=false; - m_bIgnoreEdit=false; - m_bDirty=false; -} - -void CSettingsDlg::Init( CSetting *pSettings, ICustomSettings *pCustom, int tab ) -{ - m_pSettings=pSettings; - m_pCustom=pCustom; - m_InitialTab=tab; - m_FilterText.Empty(); - m_bDirty=false; -} - -// Subclass the tooltip to delay the tip when the mouse moves from one tree item to the next -static LRESULT CALLBACK SubclassSearchBoxProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_GETDLGCODE && wParam==VK_ESCAPE) - return DLGC_WANTALLKEYS; - if (uMsg==WM_CHAR && wParam==VK_ESCAPE) - { - if (GetWindowTextLength(hWnd)>0) - SetWindowText(hWnd,L""); - else - SetFocus(GetParent(hWnd)); - return 0; - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CSettingsDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ -#ifdef _DEBUG - g_bUIThread=true; -#endif -/* - // attempt to make the dialog have its own icon. doesn't work though. the icon changes, but to the default folder icon - CComPtr pStore; - if (SUCCEEDED(SHGetPropertyStoreForWindow(m_hWnd,IID_IPropertyStore,(void**)&pStore))) - { - PROPVARIANT val; - val.vt=VT_LPWSTR; - val.pwszVal=L"OpenShell.Settings.Dialog"; - pStore->SetValue(PKEY_AppUserModel_ID,val); - } -*/ - InitResize(MOVE_MODAL); - HMENU menu=GetSystemMenu(FALSE); - bool bAdded=false; - int n=GetMenuItemCount(menu); - for (int i=0;iname;pSetting++) - { - if (pSetting->type!=CSetting::TYPE_GROUP) - continue; - ISettingsPanel *pPanel=pSetting->pPanel; - if (!pPanel) pPanel=GetDefaultSettings(NULL,NULL); - HWND panel=pPanel->Create(m_hWnd); - RECT rc; - ::GetWindowRect(panel,&rc); - if (maxSize.cxname;pSetting++) - { - pSetting->tempValue=pSetting->value; - pSetting->tempFlags=pSetting->flags; - } - } - - if (m_InitialTab) - pos.tab=m_InitialTab; - AddTabs(pos.tab); - if (pos.tab && bPosValid) - { - SetStoreRect(pos.rc); - if (pos.maximized) - ShowWindow(SW_MAXIMIZE); - } - - return TRUE; -} - -LRESULT CSettingsDlg::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - RemoveWindowSubclass(GetDlgItem(IDC_EDITSEARCH),SubclassSearchBoxProc,'CLSH'); - bHandled=FALSE; -#ifdef _DEBUG - g_bUIThread=false; -#endif - return 0; -} - -bool CSettingsDlg::IsVisible( const CSetting *pSetting ) const -{ - if (pSetting->flags&CSetting::FLAG_HIDDEN) - return false; - int style, mask; - GetSettingsStyle(style,mask); - if ((pSetting->flags&mask) && !(pSetting->flags&style)) - return false; - return true; -} - -void CSettingsDlg::AddTabs( int name, const CSetting *pSelect ) -{ - TabCtrl_DeleteAllItems(m_Tabs); - int idx=0; - if (pSelect) - { - m_bIgnoreEdit=true; - m_FilterText.Empty(); - SetDlgItemText(IDC_EDITSEARCH,L""); - m_bIgnoreEdit=false; - } - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type!=CSetting::TYPE_GROUP) - continue; - if (m_FilterText.IsEmpty()) - { - if (!m_bBasic && pSetting->nameID==IDS_BASIC_SETTINGS) - continue; - if (m_bBasic && pSetting->nameID!=IDS_BASIC_SETTINGS && !(pSetting->flags&CSetting::FLAG_BASIC)) - continue; - if (!IsVisible(pSetting)) - continue; - } - else - { - if (pSetting->nameID!=IDS_BASIC_SETTINGS) - continue; - } - CString str=LoadStringEx(m_FilterText.IsEmpty()?pSetting->nameID:IDS_SETTING_SEARCH); - TCITEM tab={TCIF_PARAM|TCIF_TEXT,0,0,(LPWSTR)(LPCWSTR)str,0,0,(LPARAM)pSetting}; - int i=TabCtrl_InsertItem(m_Tabs,1000,&tab); - if (pSetting->nameID==name) - idx=i; - } - m_Index=-1; - TabCtrl_SetCurSel(m_Tabs,idx); - m_Tabs.InvalidateRect(NULL); - SetCurTab(idx,false,pSelect); -} - -LRESULT CSettingsDlg::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CResizeableDlg::OnSize(); - RECT rc; - m_Tabs.GetWindowRect(&rc); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&rc,2); - TabCtrl_AdjustRect(m_Tabs,FALSE,&rc); - if (m_Panel) ::SetWindowPos(m_Panel,HWND_TOP,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top,0); - return 0; -} - -LRESULT CSettingsDlg::OnKeyDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==VK_TAB && GetKeyState(VK_CONTROL)<0) - { - int sel=TabCtrl_GetCurSel(m_Tabs); - if (GetKeyState(VK_SHIFT)<0) - { - if (sel>0) - { - TabCtrl_SetCurSel(m_Tabs,sel-1); - SetCurTab(sel-1,false); - } - } - else - { - if (selnameID; - pos.basic=m_bBasic; - pos.top=m_bOnTop; - pos.maximized=IsZoomed(); - - CRegKey regSettings; - if (regSettings.Open(HKEY_CURRENT_USER,GetSettingsRegPath())!=ERROR_SUCCESS) - regSettings.Create(HKEY_CURRENT_USER,GetSettingsRegPath()); - regSettings.SetBinaryValue(L"CSettingsDlg",&pos,sizeof(pos)); -} - -LRESULT CSettingsDlg::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (IsTabValid()) - { - int flags=0; - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type==CSetting::TYPE_GROUP || pSetting->type==CSetting::TYPE_RADIO || pSetting->pLinkTo) - continue; - if (pSetting->value!=pSetting->tempValue) - flags|=pSetting->flags&(CSetting::FLAG_WARM|CSetting::FLAG_COLD); - } - g_SettingsManager.SaveSettings(false); - g_SettingsManager.SaveSettings(true); - ClosingSettings(m_hWnd,flags,IDOK); - StorePlacement(); - DestroyWindow(); - } - return TRUE; -} - -LRESULT CSettingsDlg::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (m_bDirty) - { - int res=MessageBox(LoadStringEx(IDS_UNSAVED_CHANGES),LoadStringEx(IDS_UNSAVED_TITLE),MB_YESNOCANCEL); - if (res==IDCANCEL) - { - return TRUE; - } - - if (res==IDYES) - { - if (IsTabValid()) - { - int flags=0; - for (const CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - if (pSetting->type==CSetting::TYPE_GROUP || pSetting->type==CSetting::TYPE_RADIO || pSetting->pLinkTo) - continue; - if (pSetting->value!=pSetting->tempValue) - flags|=pSetting->flags&(CSetting::FLAG_WARM|CSetting::FLAG_COLD); - } - g_SettingsManager.SaveSettings(false); - g_SettingsManager.SaveSettings(true); - ClosingSettings(m_hWnd,flags,IDOK); - StorePlacement(); - DestroyWindow(); - } - return TRUE; - } - } - - StorePlacement(); - DestroyWindow(); - // restore all settings - { - CSettingsLockWrite lock; - for (CSetting *pSetting=m_pSettings;pSetting->name;pSetting++) - { - pSetting->value=pSetting->tempValue; - pSetting->flags=pSetting->tempFlags; - } - } - ClosingSettings(m_hWnd,0,IDCANCEL); - return TRUE; -} - -LRESULT CSettingsDlg::OnBackup( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - HMENU menu=CreatePopupMenu(); - AppendMenu(menu,MF_STRING,1,LoadStringEx(IDS_BACKUP_SAVE)); - AppendMenu(menu,MF_STRING,2,LoadStringEx(IDS_BACKUP_LOAD)); - AppendMenu(menu,MF_STRING,3,LoadStringEx(IDS_BACKUP_RESET)); - if (m_pCustom) - m_pCustom->AppendBackupMenu(menu,4); - TPMPARAMS params={sizeof(params)}; - GetDlgItem(IDC_BUTTONBACKUP).GetWindowRect(¶ms.rcExclude); - if (GetWindowLong(GWL_EXSTYLE)&WS_EX_LAYOUTRTL) - { - int q=params.rcExclude.left; - params.rcExclude.left=params.rcExclude.right; - params.rcExclude.right=q; - } - int res=TrackPopupMenuEx(menu,TPM_RETURNCMD|TPM_VERTICAL,params.rcExclude.left,params.rcExclude.bottom,m_hWnd,¶ms); - DestroyMenu(menu); - - // remove the next mouse click if it is on the Backup button - MSG msg; - if (PeekMessage(&msg,NULL,WM_LBUTTONDOWN,WM_LBUTTONDBLCLK,PM_NOREMOVE) && PtInRect(¶ms.rcExclude,msg.pt)) - PeekMessage(&msg,NULL,WM_LBUTTONDOWN,WM_LBUTTONDBLCLK,PM_REMOVE); - - if (res==1) - { - // save - wchar_t path[_MAX_PATH]; - Strcpy(path,_countof(path),g_SettingsManager.GetXMLName()); - OPENFILENAME ofn={sizeof(ofn)}; - ofn.hwndOwner=m_hWnd; - wchar_t filters[256]; - Strcpy(filters,_countof(filters),LoadStringEx(IDS_XML_FILTERS)); - for (wchar_t *c=filters;*c;c++) - if (*c=='|') *c=0; - ofn.lpstrFilter=filters; - ofn.nFilterIndex=1; - ofn.lpstrFile=path; - ofn.nMaxFile=_MAX_PATH; - CString title=LoadStringEx(IDS_XML_TITLE_SAVE); - ofn.lpstrTitle=title; - ofn.lpstrDefExt=L".xml"; - ofn.Flags=OFN_DONTADDTORECENT|OFN_ENABLESIZING|OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY|OFN_NOCHANGEDIR; - if (GetSaveFileName(&ofn)) - { - CString err=g_SettingsManager.SaveSettingsXml(path); - if (!err.IsEmpty()) - { - wchar_t text[1024]; - Sprintf(text,_countof(text),LoadStringEx(IDS_ERROR_SAVING_XML),path); - ::MessageBox(m_hWnd,text,LoadStringEx(IDS_ERROR_TITLE),MB_OK|MB_ICONERROR); - } - } - } - if (res==2) - { - // load - wchar_t path[_MAX_PATH]; - path[0]=0; - OPENFILENAME ofn={sizeof(ofn)}; - ofn.hwndOwner=m_hWnd; - wchar_t filters[256]; - Strcpy(filters,_countof(filters),LoadStringEx(IDS_XML_FILTERS)); - for (wchar_t *c=filters;*c;c++) - if (*c=='|') *c=0; - ofn.lpstrFilter=filters; - ofn.nFilterIndex=1; - ofn.lpstrFile=path; - ofn.nMaxFile=_MAX_PATH; - CString title=LoadStringEx(IDS_XML_TITLE_LOAD); - ofn.lpstrTitle=title; - ofn.Flags=OFN_DONTADDTORECENT|OFN_ENABLESIZING|OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_NOCHANGEDIR; - if (GetOpenFileName(&ofn)) - { - CString error=g_SettingsManager.LoadSettingsXml(path); - if (!error.IsEmpty()) - { - wchar_t text[1024]; - int len=Sprintf(text,_countof(text),LoadStringEx(IDS_ERROR_LOADING_XML),path); - Sprintf(text+len,_countof(text)-len,L"\r\n\r\n%s",error); - ::MessageBox(m_hWnd,text,LoadStringEx(IDS_ERROR_TITLE),MB_OK|MB_ICONERROR); - } - SetSettingsDirty(); - SetCurTab(m_Index,true); - } - } - if (res==3) - { - // reset - if (::MessageBox(m_hWnd,LoadStringEx(IDS_RESET_CONFIRM),LoadStringEx(IDS_RESET_TITLE),MB_YESNO|MB_ICONWARNING)==IDYES) - { - { - CSettingsLockWrite lock; - g_SettingsManager.ResetSettings(); - UpdateSettings(); - SetSettingsDirty(); - } - SetCurTab(m_Index,true); - } - } - if (m_pCustom && res>3) - m_pCustom->ExecuteBackupMenu(res); - return TRUE; -} - -LRESULT CSettingsDlg::OnCheckAll( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - bool bBasic=!IsDlgButtonChecked(IDC_CHECKALL)==BST_CHECKED; - if (m_bBasic!=bBasic) - { - m_bBasic=bBasic; - AddTabs(-1); - } - return 0; -} - -LRESULT CSettingsDlg::OnSearchChange( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (!m_bIgnoreEdit) - { - GetDlgItemText(wID,m_FilterText); - m_FilterText.Trim(); - StringUpper(m_FilterText); - GetDlgItem(IDC_CHECKALL).EnableWindow(m_FilterText.IsEmpty()); - AddTabs(-1); - ::SetFocus(hWndCtl); - } - return 0; -} - -void CSettingsDlg::SetCurTab( int index, bool bReset, const CSetting *pSelect ) -{ - if (m_Index==index && !bReset) return; - m_Index=index; - TCITEM tab={TCIF_PARAM}; - BOOL res=TabCtrl_GetItem(m_Tabs,index,&tab); - if (!res) - { - if (m_Panel) ::ShowWindow(m_Panel,SW_HIDE); - m_Panel=NULL; - return; - } - CSetting *pGroup=(CSetting*)tab.lParam; - ISettingsPanel *pPanel=pGroup->pPanel; - if (!pPanel) pPanel=GetDefaultSettings(&m_FilterText,pSelect); - RECT rc; - m_Tabs.GetWindowRect(&rc); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&rc,2); - TabCtrl_AdjustRect(m_Tabs,FALSE,&rc); - HWND hwnd=pPanel->Activate(pGroup,rc,bReset); - if (hwnd!=m_Panel) - { - if (m_Panel) ::ShowWindow(m_Panel,SW_HIDE); - m_Panel=hwnd; - ::SetFocus(m_Panel); - } -} - -LRESULT CSettingsDlg::OnSelChanging( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - return !IsTabValid(); -} - -LRESULT CSettingsDlg::OnSelChange( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - SetCurTab(TabCtrl_GetCurSel(m_Tabs),false); - return 0; -} - -LRESULT CSettingsDlg::OnDropDown( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - SendMessage(WM_COMMAND,IDC_BUTTONBACKUP); - return 0; -} - -LRESULT CSettingsDlg::OnHelp( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - ShowHelp(); - return 0; -} - -LRESULT CSettingsDlg::OnWeb( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - ShellExecute(m_hWnd,NULL,L"http://www.classicshell.net",NULL,NULL,SW_SHOWNORMAL); - return 0; -} - -LRESULT CSettingsDlg::OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - CString text; - GetDlgItemText(idCtrl,text); - const wchar_t *str=text; - const wchar_t *link=wcswcs(str,L"href=\""); - if (!link) return 0; - link+=6; - const wchar_t *end=wcschr(link,'"'); - if (end) - { - CString url=text.Mid((int)(link-str),(int)(end-link)); - ShellExecute(m_hWnd,NULL,url,NULL,NULL,SW_SHOWNORMAL); - } - return 0; -} - -bool CSettingsDlg::IsTabValid( void ) -{ - int idx=TabCtrl_GetCurSel(m_Tabs); - if (idx<0) return true; - TCITEM tab={TCIF_PARAM}; - TabCtrl_GetItem(m_Tabs,idx,&tab); - CSetting *pGroup=(CSetting*)tab.lParam; - ISettingsPanel *pPanel=pGroup->pPanel; - if (!pPanel) pPanel=GetDefaultSettings(NULL,NULL); - return pPanel->Validate(m_hWnd); -} - -static CSettingsDlg g_SettingsDlg; - -void EditSettings( const wchar_t *title, bool bModal, int tab ) -{ - if (g_SettingsDlg.m_hWnd) - { - HWND top=GetWindow(g_SettingsDlg,GW_ENABLEDPOPUP); - if (!top) top=g_SettingsDlg.m_hWnd; - SetForegroundWindow(top); - SetActiveWindow(top); - } - else - { - { - CSettingsLockWrite lock; - g_SettingsManager.LoadSettings(true); - UpdateSettings(); - } - DLGTEMPLATE *pTemplate=LoadDialogEx(IDD_SETTINGS); - g_SettingsManager.ResetImageList(); - g_SettingsDlg.Init(g_SettingsManager.GetSettings(),g_SettingsManager.GetCustom(),tab); - g_SettingsDlg.Create(NULL,pTemplate); - g_SettingsDlg.SetWindowText(title); - g_SettingsDlg.SetWindowPos(HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE|(g_SettingsDlg.GetOnTop()?0:SWP_NOZORDER)|SWP_SHOWWINDOW); - SetForegroundWindow(g_SettingsDlg.m_hWnd); - if (bModal) - { - MSG msg; - while (g_SettingsDlg.m_hWnd && GetMessage(&msg,0,0,0)) - { - if (IsSettingsMessage(&msg)) continue; - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - } -} - -void CloseSettings( void ) -{ - if (g_SettingsDlg.m_hWnd) - g_SettingsDlg.DestroyWindow(); -} - -void SetSettingsDirty( void ) -{ - g_SettingsDlg.SetDirty(); -} - -void SelectSettingsTab( int tab, bool bAdvanced, const CSetting *pSelect ) -{ - if (g_SettingsDlg.m_hWnd) - { - g_SettingsDlg.GetDlgItem(IDC_CHECKALL).EnableWindow(TRUE); - if (bAdvanced && g_SettingsDlg.m_bBasic) - { - g_SettingsDlg.m_bBasic=false; - g_SettingsDlg.CheckDlgButton(IDC_CHECKALL,BST_CHECKED); - } - g_SettingsDlg.AddTabs(tab,pSelect); - } -} - -// Process the dialog messages for the settings box -bool IsSettingsMessage( MSG *msg ) -{ - if (!g_SettingsDlg) return false; - if (msg->hwnd!=g_SettingsDlg && !IsChild(g_SettingsDlg,msg->hwnd)) return false; - // only process keyboard messages. if we process all messages the settings box gets stuck. I don't know why. - if (msg->messagemessage>WM_KEYLAST) return false; - - // don't process any messages if a menu is up - GUITHREADINFO threadInfo={sizeof(threadInfo)}; - GetGUIThreadInfo(GetCurrentThreadId(),&threadInfo); - if (threadInfo.flags&(GUI_INMENUMODE|GUI_INMOVESIZE)) return false; - - // handle global keys - if (msg->message==WM_KEYDOWN && msg->wParam==VK_TAB && GetKeyState(VK_CONTROL)<0) - { - g_SettingsDlg.SendMessage(WM_KEYDOWN,VK_TAB,msg->lParam); - return true; - } - if (msg->message==WM_KEYDOWN && msg->wParam==VK_RETURN && GetKeyState(VK_CONTROL)<0) - { - g_SettingsDlg.SendMessage(WM_COMMAND,IDOK,0); - return true; - } - if (msg->message==WM_KEYDOWN && msg->wParam==VK_F1 && GetKeyState(VK_CONTROL)>=0 && GetKeyState(VK_SHIFT)>=0 && GetKeyState(VK_MENU)>=0) - { - ShowHelp(); - } - if (msg->message==WM_KEYDOWN && (msg->wParam==VK_F3 || (msg->wParam=='F' && GetKeyState(VK_CONTROL)<0))) - { - g_SettingsDlg.GotoDlgCtrl(g_SettingsDlg.GetDlgItem(IDC_EDITSEARCH)); - return true; - } - return IsDialogMessage(g_SettingsDlg,msg)!=0; -} - -bool ImportSettingsXml( const wchar_t *fname ) -{ -#ifdef _DEBUG - g_bUIThread=true; // hack to allow settings to be loaded by this thread -#endif - CString error=g_SettingsManager.LoadSettingsXml(fname); - if (error.IsEmpty()) - { - g_SettingsManager.SaveSettings(false); - return true; - } - - if (AttachConsole(ATTACH_PARENT_PROCESS)) - { - HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE); - DWORD q; - WriteConsole(hConsole,L"\r\n",2,&q,0); - WriteConsole(hConsole,(const wchar_t*)error,error.GetLength(),&q,0); - WriteConsole(hConsole,L"\r\n",2,&q,0); - } - return false; -} - -bool ExportSettingsXml( const wchar_t *fname ) -{ -#ifdef _DEBUG - g_bUIThread=true; // hack to allow settings to be loaded by this thread -#endif - CString error=g_SettingsManager.SaveSettingsXml(fname); - if (error.IsEmpty()) - return true; - - if (AttachConsole(ATTACH_PARENT_PROCESS)) - { - HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE); - DWORD q; - WriteConsole(hConsole,L"\r\n",2,&q,0); - WriteConsole(hConsole,(const wchar_t*)error,error.GetLength(),&q,0); - WriteConsole(hConsole,L"\r\n",2,&q,0); - } - return false; -} - -/////////////////////////////////////////////////////////////////////////////// - -void InitSettings( CSetting *pSettings, TSettingsComponent component, ICustomSettings *pCustom ) -{ - g_SettingsManager.Init(pSettings,component,pCustom); -} - -void LoadSettings( void ) -{ - CSettingsLockWrite lock; - g_SettingsManager.LoadSettings(false); - g_SettingsManager.LoadSettings(true); -} - -void SaveSettings( void ) -{ -#ifdef _DEBUG - g_bUIThread=true; -#endif - CSettingsLockRead lock; - g_SettingsManager.SaveSettings(false); - g_SettingsManager.SaveSettings(true); -} - -void UpdateDefaultSettings( void ) -{ - if (!g_SettingsDlg.m_hWnd) - UpdateSettings(); -} - -bool GetSettingBool( const wchar_t *name ) -{ - return g_SettingsManager.GetSettingBool(name); -} - -int GetSettingInt( const wchar_t *name ) -{ - return g_SettingsManager.GetSettingInt(name); -} - -int GetSettingInt( const wchar_t *name, bool &bDef ) -{ - return g_SettingsManager.GetSettingInt(name,bDef); -} - -bool GetSettingBool( const wchar_t *name, bool &bDef ) -{ - return g_SettingsManager.GetSettingBool(name,bDef); -} - -CString GetSettingString( const wchar_t *name ) -{ - return g_SettingsManager.GetSettingString(name); -} - -HIMAGELIST GetSettingsImageList( HWND tree ) -{ - return g_SettingsManager.GetImageList(tree); -} - -const wchar_t *GetSettingsRegPath( void ) -{ - return g_SettingsManager.GetRegPath(); -} - -// Finds a setting by name -CSetting *FindSetting( const wchar_t *name ) -{ - Assert(g_LockState==2); // must be locked for writing - for (CSetting *pSetting=g_SettingsManager.GetSettings();pSetting->name;pSetting++) - if (pSetting->type>=0 && wcscmp(pSetting->name,name)==0) - return pSetting; - Assert(0); - return NULL; -} - -bool IsSettingLocked( const wchar_t *name ) -{ - for (CSetting *pSetting=g_SettingsManager.GetSettings();pSetting->name;pSetting++) - if (pSetting->type>=0 && wcscmp(pSetting->name,name)==0) - { - Assert(!pSetting->pLinkTo); - CSettingsLockRead lock; - return (pSetting->flags&CSetting::FLAG_LOCKED_MASK)!=0; - } - Assert(0); - return false; -} - -bool IsSettingForcedDefault( const wchar_t *name ) -{ - for (CSetting *pSetting=g_SettingsManager.GetSettings();pSetting->name;pSetting++) - if (pSetting->type>=0 && wcscmp(pSetting->name,name)==0) - { - Assert(!pSetting->pLinkTo); - CSettingsLockRead lock; - return pSetting->IsForcedDefault(); - } - Assert(0); - return false; -} - -// Updates the setting with a new default value and locked flag -void UpdateSetting( const wchar_t *name, const CComVariant &defValue, bool bLockedGP ) -{ - CSetting *pSetting=FindSetting(name); - Assert(pSetting && !pSetting->pLinkTo); - if (bLockedGP) - pSetting->flags|=CSetting::FLAG_LOCKED_GP|CSetting::FLAG_DEFAULT; - else - pSetting->flags&=~CSetting::FLAG_LOCKED_GP; - if (!(pSetting->flags&CSetting::FLAG_FORCED_DEFAULT)) - pSetting->defValue=defValue; - if (pSetting->flags&CSetting::FLAG_DEFAULT) - pSetting->value=pSetting->defValue; -} - -// Updates the setting with a new text and a warning flag -void UpdateSettingText( const wchar_t *name, int nameID, int tipID, bool bWarning ) -{ - CSetting *pSetting=FindSetting(name); - if (bWarning) - pSetting->flags|=CSetting::FLAG_WARNING; - else - pSetting->flags&=~CSetting::FLAG_WARNING; - if (nameID>=0) - pSetting->nameID=nameID; - if (tipID>=0) - pSetting->tipID=tipID; -} - -void HideSetting( const wchar_t *name, bool bHide ) -{ - CSetting *pSetting=FindSetting(name); - Assert(pSetting); - if (bHide) - pSetting->flags|=CSetting::FLAG_HIDDEN; - else - pSetting->flags&=~CSetting::FLAG_HIDDEN; -} - -void HideSettingGroup( const wchar_t *name, bool bHide ) -{ - Assert(g_LockState==2); // must be locked for writing - for (CSetting *pSetting=g_SettingsManager.GetSettings();pSetting->name;pSetting++) - if (pSetting->type==CSetting::TYPE_GROUP && wcscmp(pSetting->name,name)==0) - { - if (bHide) - pSetting->flags|=CSetting::FLAG_HIDDEN; - else - pSetting->flags&=~CSetting::FLAG_HIDDEN; - return; - } - Assert(0); -} - -void UpdateGroupText( const wchar_t *name, int nameID ) -{ - Assert(g_LockState==2); // must be locked for writing - for (CSetting *pSetting=g_SettingsManager.GetSettings();pSetting->name;pSetting++) - if (pSetting->type==CSetting::TYPE_GROUP && wcscmp(pSetting->name,name)==0) - { - pSetting->nameID=nameID; - return; - } - Assert(0); -} - -const CSetting *GetAllSettings( void ) -{ - Assert(g_bUIThread); - return g_SettingsManager.GetSettings(); -} - -void SetSettingsStyle( int style, int mask ) -{ - Assert((style&~mask)==0); - if (g_SettingsManager.SetSettingsStyle(style,mask) && g_SettingsDlg.m_hWnd) - g_SettingsDlg.PostMessage(WM_CLEAR); -} - -void GetSettingsStyle( int &style, int &mask ) -{ - g_SettingsManager.GetSettingsStyle(style,mask); -} - -bool HasHelp( void ) -{ - wchar_t path[_MAX_PATH]; - GetModuleFileName(_AtlBaseModule.GetResourceInstance(),path,_countof(path)); - *PathFindFileName(path)=0; - wchar_t topic[_MAX_PATH]; - Sprintf(topic,_countof(topic),L"%s%sOpenShell.chm",path,GetDocRelativePath()); - return (GetFileAttributes(topic)!=INVALID_FILE_ATTRIBUTES); -} - -void ShowHelp( void ) -{ - wchar_t path[_MAX_PATH]; - GetModuleFileName(_AtlBaseModule.GetResourceInstance(),path,_countof(path)); - *PathFindFileName(path)=0; - wchar_t topic[_MAX_PATH]; - Sprintf(topic,_countof(topic),L"%s%sOpenShell.chm::/%s.html",path,GetDocRelativePath(),PathFindFileName(g_SettingsManager.GetRegPath())); - HtmlHelp(GetDesktopWindow(),topic,HH_DISPLAY_TOPIC,NULL); -} - -// Opens the registry keys for the settings of the given component -// Returns true if the user settings were read from the old HKCU location. That means the settings may need to be upgraded -bool OpenSettingsKeys( TSettingsComponent component, CRegKey ®Settings, CRegKey ®SettingsUser, CRegKey ®Policy, CRegKey ®PolicyUser ) -{ - const wchar_t *regPath, *gpPath; - GetRegPaths(component,regPath,gpPath); - return OpenSettingsKeys(regPath,gpPath,regSettings,regSettingsUser,regPolicy,regPolicyUser); -} - -bool GetSettingBool( const CSetting &setting ) -{ - Assert(setting.type==CSetting::TYPE_BOOL); - return setting.value.vt==VT_I4 && setting.value.intVal==1; -} - -CString GetSettingString( const CSetting &setting ) -{ - Assert(setting.type==CSetting::TYPE_STRING); - if (setting.value.vt!=VT_BSTR) - return CString(); - return setting.value.bstrVal; -} - -#ifndef _WIN64 - -namespace -{ -enum TSupportedOn -{ - SUPPORTED_NEVER, - SUPPORTED_ALWAYS, - SUPPORTED_WIN7, - SUPPORTED_WIN78, - SUPPORTED_WIN781, - SUPPORTED_WIN8, - SUPPORTED_WIN881, - SUPPORTED_WIN81, - SUPPORTED_CLASSIC1_STYLE, - SUPPORTED_CLASSIC2_STYLE, - SUPPORTED_CLASSIC_STYLE, - SUPPORTED_WIN7_STYLE, -}; - -struct AdmxDoc -{ - AdmxDoc( void ) { supportedOn=SUPPORTED_ALWAYS; } - TSupportedOn supportedOn; - CStringA text; - CStringA nameOverride; - CStringA tipOverride; - CStringA tipAddition; -}; - -} - -static bool ParseAdmxDoc( const char *docFile, std::map &docMap ) -{ - FILE *fDoc; - if (fopen_s(&fDoc,docFile,"rt")!=0) - return false; - - char buf[2048]; - while (fgets(buf,_countof(buf),fDoc)) - { - const char *str=buf; - if (str[0]==(char)0xEF && str[1]==(char)0xBB && str[2]==(char)0xBF) - str+=3; - if (str[0]==';') continue; - char name[100]; - str=GetToken(str,name,_countof(name),". \r\n"); - char setting[100]; - str=GetToken(str,setting,_countof(setting),"= \r\n"); - while (*str==' ' || *str=='=') - str++; - char value[2048]; - GetToken(str,value,_countof(value),"\r\n"); - str=value; - CString nameStr(name); - if (strcmp(setting,"text")==0) - docMap[L"%"+nameStr+L"%"].text=str; - else if (strcmp(setting,"supportedOn")==0) - { - if (_stricmp(str,"never")==0) - docMap[nameStr].supportedOn=SUPPORTED_NEVER; - else if (_stricmp(str,"always")==0) - docMap[nameStr].supportedOn=SUPPORTED_ALWAYS; - else if (_stricmp(str,"win7")==0) - docMap[nameStr].supportedOn=SUPPORTED_WIN7; - else if (_stricmp(str,"win78")==0) - docMap[nameStr].supportedOn=SUPPORTED_WIN78; - else if (_stricmp(str,"win781")==0) - docMap[nameStr].supportedOn=SUPPORTED_WIN781; - else if (_stricmp(str,"win8")==0) - docMap[nameStr].supportedOn=SUPPORTED_WIN8; - else if (_stricmp(str,"win881")==0) - docMap[nameStr].supportedOn=SUPPORTED_WIN881; - else if (_stricmp(str,"win81")==0) - docMap[nameStr].supportedOn=SUPPORTED_WIN81; - else if (_stricmp(str,"classic1")==0) - docMap[nameStr].supportedOn=SUPPORTED_CLASSIC1_STYLE; - else if (_stricmp(str,"classic2")==0) - docMap[nameStr].supportedOn=SUPPORTED_CLASSIC2_STYLE; - else if (_stricmp(str,"classic")==0) - docMap[nameStr].supportedOn=SUPPORTED_CLASSIC_STYLE; - else if (_stricmp(str,"win7_style")==0) - docMap[nameStr].supportedOn=SUPPORTED_WIN7_STYLE; - } - else if (strcmp(setting,"nameOverride")==0) - { - docMap[nameStr].nameOverride=str; - } - else if (strcmp(setting,"tipOverride")==0) - { - docMap[nameStr].tipOverride=str; - docMap[nameStr].tipOverride.Replace("\\n","\r\n"); - } - else if (strcmp(setting,"tipAddition")==0) - { - docMap[nameStr].tipAddition=str; - docMap[nameStr].tipAddition.Replace("\\n","\r\n"); - } - } - - fclose(fDoc); - return true; -} - -static CStringA EscapeXmlString( CStringA text ) -{ - text.Replace("&","&"); - text.Replace("<","<"); - text.Replace(">",">"); - text.Replace("\"","""); - return text; -} - -static CStringA ReplaceStrings( CStringA text, const std::map &doc ) -{ - for (int i=0;ii) - { - CStringA key=text.Mid(i,end-i+1); - const std::map::const_iterator it=doc.find(CString(key)); - if (it!=doc.end()) - { - text.Replace(key,EscapeXmlString(CStringA(it->second.text))); - } - else - { - Assert(0); - } - } - } - } - return text; -} - -static CStringA LoadStringUTF8( int stringID ) -{ - CString wstr=LoadStringEx(stringID); - CStringA str; - if (!wstr.IsEmpty()) - { - int len=WideCharToMultiByte(CP_UTF8,0,wstr,-1,NULL,0,NULL,NULL)-1; - if (len>0) - { - char *buf=str.GetBuffer(len); - WideCharToMultiByte(CP_UTF8,0,wstr,-1,buf,len,NULL,NULL); - str.ReleaseBufferSetLength(len); - } - } - return str; -} - -static const char *g_AdmxText1a= -"\r\n" -"\r\n" -"\t\r\n"; - -static const char *g_AdmxText1cs= -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n"; - -static const char *g_AdmxText1csm= -"\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n"; - -static const char *g_AdmxText1ce= -"\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n"; - -static const char *g_AdmxText1cie= -"\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n" -"\t\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\t\r\n" -"\t\t\r\n"; - -static const char *g_AdmxText1b= -"\t\r\n" -"\t\r\n"; - -static const char *g_AdmxText2= -"\t\r\n" -"\r\n"; - -static const char *g_AdmlText1a= -"\r\n" -"\r\n" -"\t%Title%\r\n" -"\t%Title%\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\t%State1%\r\n" -"\t\t\t%State2%\r\n" -"\t\t\t%State3%\r\n"; - -static const char *g_AdmlText1cs= -"\t\t\t%OpenShellCat%\r\n" -"\t\t\t%OpenShellCatHelp%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n"; - -static const char *g_AdmlText1csm= -"\t\t\t%MenuCat%\r\n" -"\t\t\t%MenuCatHelp%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_WIN7%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_WIN78%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_WIN781%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_WIN8%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_WIN881%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_WIN81%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_CLASSIC1_STYLE%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_CLASSIC2_STYLE%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_CLASSIC_STYLE%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_WIN7_STYLE%\r\n"; - -static const char *g_AdmlText1ce= -"\t\t\t%ClassicExplorerCat%\r\n" -"\t\t\t%ClassicExplorerCatHelp%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_WIN7%\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_CS404_WIN881%\r\n"; - -static const char *g_AdmlText1cie= -"\t\t\tClassic IE\r\n" -"\t\t\tClassic IE group policy settings\r\n" -"\t\t\t%SUPPORTED_CS404%\r\n" -"%SUPPORTED_IE9%\r\n"; - -static const char *g_AdmlText2= -"\t\t\r\n" -"\t\t\r\n"; - -static const char *g_AdmlText3= -"\t\t\r\n" -"\t\r\n" -"\r\n"; - -static const char *g_StateTip= -"%State1Help%\r\n\r\n" -"%State2Help%\r\n\r\n" -"%State3Help%\r\n"; - -bool SaveAdmx( TSettingsComponent component, const char *admxFile, const char *admlFile, const char *docFile ) -{ - const char *keyName, *prefix, *catName; - const char *admxText1, *admlText1; - switch (component) - { - case COMPONENT_EXPLORER: - keyName="Software\\Policies\\OpenShell\\ClassicExplorer"; - prefix="CE_"; - catName="ClassicExplorer"; - admxText1=g_AdmxText1ce; - admlText1=g_AdmlText1ce; - break; - case COMPONENT_MENU: - keyName="Software\\Policies\\OpenShell\\StartMenu"; - prefix="CSM_"; - catName="StartMenu"; - admxText1=g_AdmxText1csm; - admlText1=g_AdmlText1csm; - break; - case COMPONENT_IE: - keyName="Software\\Policies\\OpenShell\\ClassicIE"; - prefix="CIE_"; - catName="ClassicIE"; - admxText1=g_AdmxText1cie; - admlText1=g_AdmlText1cie; - break; - case COMPONENT_SHARED: - keyName="Software\\Policies\\OpenShell\\OpenShell"; - prefix="CS_"; - catName="OpenShell"; - admxText1=g_AdmxText1cs; - admlText1=g_AdmlText1cs; - break; - } - - std::map docMap; - if (!ParseAdmxDoc(docFile,docMap)) - return false; - - FILE *fAdmx, *fAdml; - - if (fopen_s(&fAdmx,admxFile,"wb")!=0) - return false; - - if (fopen_s(&fAdml,admlFile,"wb")!=0) - { - fclose(fAdmx); - return false; - } - - fprintf_s(fAdmx,g_AdmxText1a); - fprintf_s(fAdmx,admxText1); - fprintf_s(fAdmx,g_AdmxText1b); - - fprintf_s(fAdml,"%s",(const char*)ReplaceStrings(CStringA(g_AdmlText1a),docMap)); - fprintf_s(fAdml,"%s",(const char*)ReplaceStrings(CStringA(admlText1),docMap)); - - // policies and strings - int stringIdx=1; - for (CSetting *pSetting=g_SettingsManager.GetSettings();pSetting->name;pSetting++) - { - if (pSetting->pLinkTo || pSetting->type==CSetting::TYPE_GROUP || pSetting->type==CSetting::TYPE_RADIO) - continue; - - if (pSetting->flags&CSetting::FLAG_SHARED) - { - if (component!=COMPONENT_SHARED) continue; - } - else - { - if (component==COMPONENT_SHARED) continue; - } - - AdmxDoc doc0; - const AdmxDoc *pDoc=&doc0; - { - std::map::const_iterator it=docMap.find(pSetting->name); - if (it!=docMap.end()) - pDoc=&it->second; - } - if (pDoc->supportedOn==SUPPORTED_NEVER) - continue; - - // name string - int nameIdx=stringIdx++; - fprintf_s(fAdml,"\t\t\t%s\r\n",prefix,nameIdx,(const char*)EscapeXmlString(pDoc->nameOverride.IsEmpty()?LoadStringUTF8(pSetting->nameID):pDoc->nameOverride)); - - // tip string - int tipIdx=stringIdx++; - CStringA tip=pDoc->tipOverride; - if (tip.IsEmpty()) tip=LoadStringUTF8(pSetting->tipID); - tip+=pDoc->tipAddition; - fprintf_s(fAdml,"\t\t\t%s\r\n\r\n%s\r\n",prefix,tipIdx,(const char*)EscapeXmlString(tip),(const char*)ReplaceStrings(g_StateTip,docMap)); - - // policy - fprintf_s(fAdmx,"\t\t\r\n", - prefix,pSetting->name,prefix,nameIdx,prefix,tipIdx,prefix,pSetting->name,keyName); - fprintf_s(fAdmx,"\t\t\t\r\n",catName); - switch (pDoc->supportedOn) - { - case SUPPORTED_WIN7: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - case SUPPORTED_WIN78: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - case SUPPORTED_WIN781: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - case SUPPORTED_WIN8: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - case SUPPORTED_WIN881: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - case SUPPORTED_WIN81: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - case SUPPORTED_CLASSIC1_STYLE: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - case SUPPORTED_CLASSIC2_STYLE: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - case SUPPORTED_CLASSIC_STYLE: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - case SUPPORTED_WIN7_STYLE: - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - default: - if (component==COMPONENT_SHARED || component==COMPONENT_IE) - fprintf_s(fAdmx,"\t\t\t\r\n"); - else - fprintf_s(fAdmx,"\t\t\t\r\n"); - break; - } - fprintf_s(fAdmx,"\t\t\t\r\n"); - - fprintf_s(fAdmx,"\t\t\t\t\r\n",pSetting->name); - fprintf_s(fAdmx,"\t\t\t\t\t\r\n"); - fprintf_s(fAdmx,"\t\t\t\t\t\r\n"); - fprintf_s(fAdmx,"\t\t\t\t\t\r\n"); - fprintf_s(fAdmx,"\t\t\t\t\r\n"); - - if (pSetting->type==CSetting::TYPE_BOOL) - { - fprintf_s(fAdmx,"\t\t\t\t\r\n",pSetting->name); - fprintf_s(fAdmx,"\t\t\t\t\t\r\n"); - fprintf_s(fAdmx,"\t\t\t\t\t\r\n"); - fprintf_s(fAdmx,"\t\t\t\t\r\n"); - } - else if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type==CSetting::TYPE_RADIO) - { - // radio options - fprintf_s(fAdmx,"\t\t\t\t\r\n",pSetting->name); - for (int i=1;pSetting[i].type==CSetting::TYPE_RADIO;i++) - { - const AdmxDoc *pRadioDoc=&doc0; - { - wchar_t name[100]; - Sprintf(name,_countof(name),L"%s_%s",pSetting->name,pSetting[i].name); - std::map::const_iterator it=docMap.find(name); - if (it!=docMap.end()) - pRadioDoc=&it->second; - } - - int radioIdx=stringIdx++; - fprintf_s(fAdml,"\t\t\t%s\r\n",prefix,radioIdx,(const char*)(pRadioDoc->nameOverride.IsEmpty()?LoadStringUTF8(pSetting[i].nameID):pRadioDoc->nameOverride)); - fprintf_s(fAdmx,"\t\t\t\t\t%S\r\n",prefix,radioIdx,pSetting[i].name); - } - fprintf_s(fAdmx,"\t\t\t\t\r\n"); - } - else if (pSetting->type==CSetting::TYPE_INT || pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY || pSetting->type==CSetting::TYPE_COLOR) - { - fprintf_s(fAdmx,"\t\t\t\t\r\n",pSetting->name); - } - else if (pSetting->type==CSetting::TYPE_STRING || pSetting->type==CSetting::TYPE_ICON || pSetting->type==CSetting::TYPE_BITMAP || pSetting->type==CSetting::TYPE_BITMAP_JPG || pSetting->type==CSetting::TYPE_SOUND || pSetting->type==CSetting::TYPE_FONT) - { - fprintf_s(fAdmx,"\t\t\t\t\r\n",pSetting->name); - } - else if (pSetting->type==CSetting::TYPE_MULTISTRING) - { - fprintf_s(fAdmx,"\t\t\t\t\r\n",pSetting->name); - } - else - { - Assert(0); - } - - fprintf_s(fAdmx,"\t\t\t\r\n"); - fprintf_s(fAdmx,"\t\t\r\n\r\n"); - } - - fprintf_s(fAdml,g_AdmlText2); - - CStringA stateText=ReplaceStrings(CStringA("\t\t\t\t%State%\r\n"),docMap); - // presentation - for (CSetting *pSetting=g_SettingsManager.GetSettings();pSetting->name;pSetting++) - { - if (pSetting->pLinkTo || pSetting->type==CSetting::TYPE_GROUP || pSetting->type==CSetting::TYPE_RADIO) - continue; - - if (pSetting->flags&CSetting::FLAG_SHARED) - { - if (component!=COMPONENT_SHARED) continue; - } - else - { - if (component==COMPONENT_SHARED) continue; - } - - AdmxDoc doc0; - const AdmxDoc *pDoc=&doc0; - std::map::const_iterator it=docMap.find(pSetting->name); - if (it!=docMap.end()) - pDoc=&it->second; - if (pDoc->supportedOn==SUPPORTED_NEVER) - continue; - - fprintf_s(fAdml,"\t\t\t\r\n",prefix,pSetting->name); - fprintf_s(fAdml,stateText); - - CStringA name=EscapeXmlString(pDoc->nameOverride.IsEmpty()?LoadStringUTF8(pSetting->nameID):pDoc->nameOverride); - - if (pSetting->type==CSetting::TYPE_BOOL) - { - fprintf_s(fAdml,"\t\t\t\t%s\r\n",(const char*)name); - } - else if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type==CSetting::TYPE_RADIO) - { - fprintf_s(fAdml,"\t\t\t\t%s\r\n",(const char*)name); - } - else if (pSetting->type==CSetting::TYPE_INT || pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY || pSetting->type==CSetting::TYPE_COLOR) - { - fprintf_s(fAdml,"\t\t\t\t%s\r\n",(const char*)name); - } - else if (pSetting->type==CSetting::TYPE_STRING || pSetting->type==CSetting::TYPE_ICON || pSetting->type==CSetting::TYPE_BITMAP || pSetting->type==CSetting::TYPE_BITMAP_JPG || pSetting->type==CSetting::TYPE_SOUND || pSetting->type==CSetting::TYPE_FONT) - { - fprintf_s(fAdml,"\t\t\t\t\r\n",(const char*)name); - } - else if (pSetting->type==CSetting::TYPE_MULTISTRING) - { - fprintf_s(fAdml,"\t\t\t\t%s\r\n",(const char*)name); - } - fprintf_s(fAdml,"\t\t\t\r\n"); - } - - fprintf_s(fAdmx,g_AdmxText2); - fprintf_s(fAdml,g_AdmlText3); - - fclose(fAdmx); - fclose(fAdml); - return true; -} - -#endif - -static wchar_t g_LogFileName[_MAX_PATH]; - -void VLogToFile( const wchar_t *location, const wchar_t *message, va_list args ) -{ - if (g_LogFileName[0]==0) - { - g_LogFileName[0]='*'; - wchar_t token[_MAX_PATH]; - location=GetToken(location,token,_countof(token),L"|"); - if (token[0]!='-') - { - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,token,KEY_READ|KEY_WOW64_64KEY)!=ERROR_SUCCESS) - return; - DWORD log; - location=GetToken(location,token,_countof(token),L"|"); - if (regKey.QueryDWORDValue(token,log)!=ERROR_SUCCESS || log==0) - return; - } - location=GetToken(location,token,_countof(token),L"|"); - DoEnvironmentSubst(token,_countof(token)); - Strcpy(g_LogFileName,_countof(g_LogFileName),token); - PathRemoveFileSpec(token); - SHCreateDirectory(NULL,token); - } - if (g_LogFileName[0]!='*') - { - wchar_t text[1024]; - int len=Sprintf(text,_countof(text),L"%10u %5u ",GetTickCount(),GetCurrentProcessId()); - len+=Vsprintf(text+len,_countof(text)-2-len,message,args); - Strcpy(text+len,3,L"\r\n"); - len+=2; - FILE *f; - if (_wfopen_s(&f,g_LogFileName,L"ab")==0) - { - fseek(f,0,SEEK_END); - if (ftell(f)==0) - fwrite(L"\xFEFF",2,1,f); - fwrite(text,2,len,f); - fclose(f); - } - } -} - -void LogToFile( const wchar_t *location, const wchar_t *message, ... ) -{ - if (g_LogFileName[0]=='*') return; - va_list args; - va_start(args,message); - VLogToFile(location,message,args); - va_end(args); -} diff --git a/Src/Lib/Settings.h b/Src/Lib/Settings.h deleted file mode 100644 index 0306a85..0000000 --- a/Src/Lib/Settings.h +++ /dev/null @@ -1,197 +0,0 @@ -// 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 ISettingsPanel -{ -public: - virtual HWND Create( HWND parent )=0; - virtual HWND Activate( struct CSetting *pGroup, const RECT &rect, bool bReset )=0; - virtual bool Validate( HWND parent )=0; -}; - -struct CSetting -{ - enum Type - { - TYPE_GROUP=-2, - TYPE_RADIO=-1, - TYPE_BOOL=1, - TYPE_INT, - TYPE_HOTKEY, - TYPE_HOTKEY_ANY, - TYPE_COLOR, // requires the high 8 bits of the flags to contain an index into the color palette - - // string types - TYPE_STRING, - TYPE_ICON, - TYPE_BITMAP, - TYPE_BITMAP_JPG, - TYPE_SOUND, - TYPE_FONT, - TYPE_MULTISTRING, - }; - - enum - { - // initial settings - FLAG_WARM= 0x00001, - FLAG_COLD= 0x00002, - FLAG_BASIC= 0x00004, - FLAG_HIDDEN= 0x00008, - FLAG_SHARED= 0x00010, - FLAG_NORESET= 0x00020, - FLAG_NODEFAULT= 0x00040, - FLAG_NOSAVE= 0x00080, - FLAG_CALLBACK= 0x00100, - - FLAG_MENU_CLASSIC1= 0x00200, - FLAG_MENU_CLASSIC2= 0x00400, - FLAG_MENU_CLASSIC_BOTH=FLAG_MENU_CLASSIC1|FLAG_MENU_CLASSIC2, - FLAG_MENU_WIN7= 0x00800, - FLAG_MENU_MASK=FLAG_MENU_CLASSIC1|FLAG_MENU_CLASSIC2|FLAG_MENU_WIN7, - - // for run-time use only - FLAG_DEFAULT= 0x01000, - FLAG_FORCED_DEFAULT= 0x02000, - FLAG_LOCKED_REG= 0x04000, // locked by HKLM registry setting - FLAG_LOCKED_GP= 0x08000, // locked by a group policy - FLAG_LOCKED_MASK=FLAG_LOCKED_REG|FLAG_LOCKED_GP, - FLAG_WARNING= 0x10000, // show a warning icon - // top 8 bits need to stay unused. that's where we store the color index - }; - - const wchar_t *name; - Type type; - int nameID, tipID; // resource strings - CComVariant defValue; // default value - unsigned int flags; - const wchar_t *depend; - const wchar_t *nest; - ISettingsPanel *pPanel; // custom panel for editing this group of settings - - CSetting *pLinkTo; // if this is not NULL, then the value is stored in the linked setting (the default value, radio settings, etc. must match between the two) - - // runtime use only - CComVariant value; // current value - CComVariant tempValue; // the value is stored here when editing begins and restored if the editing is canceled - unsigned int tempFlags; - - bool IsEnabled( void ) const; - bool IsDefault( void ) const { return ((pLinkTo?pLinkTo->flags:flags)&FLAG_DEFAULT)!=0; } - bool IsForcedDefault( void ) const { return ((pLinkTo?pLinkTo->flags:flags)&FLAG_FORCED_DEFAULT)!=0; } - bool IsLocked( void ) const { return ((pLinkTo?pLinkTo->flags:flags)&FLAG_LOCKED_MASK)!=0; } - bool IsLockedReg( void ) const { return ((pLinkTo?pLinkTo->flags:flags)&FLAG_LOCKED_REG)!=0; } - bool ShouldLoad( bool bShared ) const; - bool MatchFilter( const wchar_t *filter ) const; - const CComVariant &GetValue( void ) const { return pLinkTo?pLinkTo->value:value; } - - void LoadValue( CRegKey ®Settings, CRegKey ®SettingsUser, CRegKey ®Policy, CRegKey ®PolicyUser ); - -private: - bool ReadValue( CRegKey ®Key, const wchar_t *valName ); -}; - -// Images in the tree image list -enum { - SETTING_STATE_NONE=1, - SETTING_STATE_SETTING=2, - SETTING_STATE_CHECKBOX=4, - SETTING_STATE_RADIO=8, - - // additional flags - SETTING_STATE_DISABLED=1, - SETTING_STATE_CHECKED=2, - - SETTING_IMAGE_COLOR=13, // 10 blank images to use for custom colors -}; - -enum TSettingsComponent -{ - COMPONENT_EXPLORER, - COMPONENT_MENU, - COMPONENT_IE, - COMPONENT_UPDATE, - COMPONENT_SHARED, -}; - -class ICustomSettings -{ -public: - virtual int AppendBackupMenu( HMENU menu, int id ) = 0; - virtual void ExecuteBackupMenu( int id ) = 0; -}; - -void InitSettings( CSetting *pSettings, TSettingsComponent component, ICustomSettings *pCustom ); -void LoadSettings( void ); -void SaveSettings( void ); -void UpdateDefaultSettings( void ); -void EditSettings( const wchar_t *title, bool bModal, int tab ); -void CloseSettings( void ); -void SetSettingsDirty( void ); -void SelectSettingsTab( int tab, bool bAdvanced, const CSetting *pSelect ); -void UpdateSettings( void ); // implemented by the user -void UpgradeSettings( bool bShared ); // implemented by the user (called when converting 3.0 settings to 4.0) -void ClosingSettings( HWND hWnd, int flags, int command ); // implemented by the user -const wchar_t *GetDocRelativePath( void ); // implemented by the user -void SettingChangedCallback( const CSetting *pSetting ); // implemented by the user -bool IsSettingsMessage( MSG *msg ); -bool ImportSettingsXml( const wchar_t *fname ); -bool ExportSettingsXml( const wchar_t *fname ); -const CSetting *GetAllSettings( void ); -void SetSettingsStyle( int style, int mask ); -void GetSettingsStyle( int &style, int &mask ); - -// Finds a setting by name -CSetting *FindSetting( const wchar_t *name ); -// Updates the setting with a new default value and locked flag -void UpdateSetting( const wchar_t *name, const CComVariant &defValue, bool bLockedGP ); -// Updates the setting with a new tooltip and a warning flag -void UpdateSettingText( const wchar_t *name, int nameID, int tipID, bool bWarning ); - -void HideSetting( const wchar_t *name, bool bHide ); -void HideSettingGroup( const wchar_t *name, bool bHide ); -void UpdateGroupText( const wchar_t *name, int nameID ); - -bool GetSettingBool( const wchar_t *name ); -int GetSettingInt( const wchar_t *name ); -CString GetSettingString( const wchar_t *name ); -bool IsSettingLocked( const wchar_t *name ); -bool IsSettingForcedDefault( const wchar_t *name ); - -// In some cases the default can change dynamically, so the setting may be out of date. Use bDef to detect if the default value should be used -int GetSettingInt( const wchar_t *name, bool &bDef ); -bool GetSettingBool( const wchar_t *name, bool &bDef ); - -struct CSettingsLockRead -{ - CSettingsLockRead( void ); - ~CSettingsLockRead( void ); -}; - -struct CSettingsLockWrite -{ - CSettingsLockWrite( void ); - ~CSettingsLockWrite( void ); -}; - -bool HasHelp( void ); -void ShowHelp( void ); - -#ifndef _WIN64 -bool SaveAdmx( TSettingsComponent component, const char *admxFile, const char *admlFile, const char *docFile ); -#endif - -// Opens the registry keys for the settings of the given component -// Returns true if the user settings were read from the old HKCU location. That means the settings may need to be upgraded -bool OpenSettingsKeys( TSettingsComponent component, CRegKey ®Settings, CRegKey ®SettingsUser, CRegKey ®Policy, CRegKey ®PolicyUser ); - -// Get a value from a manually loaded setting -bool GetSettingBool( const CSetting &setting ); -CString GetSettingString( const CSetting &setting ); - -// the format for the location is key_name|value_name|file_name -void VLogToFile( const wchar_t *location, const wchar_t *message, va_list args ); -void LogToFile( const wchar_t *location, const wchar_t *message, ... ); diff --git a/Src/Lib/SettingsParser.cpp b/Src/Lib/SettingsParser.cpp deleted file mode 100644 index 0a4fbbf..0000000 --- a/Src/Lib/SettingsParser.cpp +++ /dev/null @@ -1,554 +0,0 @@ -// 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 -#include "SettingsParser.h" -#include "ResourceHelper.h" -#include "StringUtils.h" -#include - -const int MAX_TREE_LEVEL=10; - -// Reads a file into m_Text -bool CSettingsParser::LoadText( const wchar_t *fname ) -{ - // read settings file into buf - FILE *f=NULL; - if (_wfopen_s(&f,fname,L"rb")) return false; - if (!f) return false; - fseek(f,0,SEEK_END); - int size=ftell(f); - fseek(f,0,SEEK_SET); - std::vector buf(size); - if (size<4 || fread(&buf[0],1,size,f)!=size) - { - fclose(f); - return false; - } - fclose(f); - LoadText(&buf[0],size); - return true; -} - -// Reads a text resource into m_Text -bool CSettingsParser::LoadText( HMODULE hMod, HRSRC hResInfo ) -{ - HGLOBAL hRes=LoadResource(hMod,hResInfo); - int size=SizeofResource(hMod,hResInfo); - unsigned char *buf=(unsigned char*)LockResource(hRes); - if (!buf) return false; - LoadText(buf,size); - return true; -} - -void CSettingsParser::LoadText( const unsigned char *buf, int size ) -{ - // copy buf to text and convert to UTF16 - if (buf[0]==0xFF && buf[1]==0xFE) - { - // UTF16 - int len=(size-2)/2; - m_Text.resize(len+1); - memcpy(&m_Text[0],&buf[2],size-2); - m_Text[len]=0; - } - else if (buf[0]==0xEF && buf[1]==0xBB && buf[2]==0xBF) - { - // UTF8 - int len=MultiByteToWideChar(CP_UTF8,0,(const char*)&buf[3],size-3,NULL,0); - m_Text.resize(len+1); - MultiByteToWideChar(CP_UTF8,0,(const char*)&buf[3],size-3,&m_Text[0],len); - m_Text[len]=0; - } - else - { - // ACP - int len=MultiByteToWideChar(CP_ACP,0,(const char*)&buf[0],size,NULL,0); - m_Text.resize(len+1); - MultiByteToWideChar(CP_UTF8,0,(const char*)&buf[0],size,&m_Text[0],len); - m_Text[len]=0; - } -} - -void CSettingsParser::LoadText( const wchar_t *buf, int size ) -{ - m_Text.resize(size+1); - memcpy(&m_Text[0],buf,size*2); - m_Text[size]=0; -} - -// Splits m_Text into m_Lines -void CSettingsParser::ParseText( void ) -{ - if (m_Text.empty()) return; - // split into lines - wchar_t *str=&m_Text[0]; - while (*str) - { - if (*str!=';') // ignore lines starting with ; - { - // trim leading whitespace - while (*str==' ' || *str=='\t') - str++; - m_Lines.push_back(str); - } - wchar_t *p1=wcschr(str,'\r'); - wchar_t *p2=wcschr(str,'\n'); - wchar_t *end=&m_Text[m_Text.size()-1]; - if (p1) end=p1; - if (p2 && p2str && (*end==' ' || *end=='\t')) - end--; - *end=0; - str=next; - } -} - -// Filters the settings that belong to the given language -// languages is a 00-terminated list of language names ordered by priority -void CSettingsParser::FilterLanguages( const wchar_t *languages ) -{ - std::vector lines; - lines.swap(m_Lines); - for (const wchar_t *lang=languages;*lang;lang+=wcslen(lang)+1) - { - size_t langLen=wcslen(lang); - for (size_t i=0;i::const_reverse_iterator it=m_Lines.rbegin();it!=m_Lines.rend();++it) - { - const wchar_t *str=*it; - if (_wcsnicmp(name,str,len)==0) - { - str+=len; - while (*str==' ' || *str=='\t') - str++; - if (*str!='=') continue; - str++; - while (*str==' ' || *str=='\t') - str++; - return str; - } - } - - return NULL; -} - -// Frees all resources -void CSettingsParser::Reset( void ) -{ - m_Lines.clear(); - m_Text.clear(); -} - -// Parses a tree structure of items. The rootName setting must be a list of item names. -void CSettingsParser::ParseTree( const wchar_t *rootName, std::vector &items ) -{ - const wchar_t *str=FindSetting(rootName); - if (str) - { - CString names[MAX_TREE_LEVEL]; - ParseTreeRec(str,items,names,0); - } - else - { - TreeItem last={L"",-1}; - items.push_back(last); - } -} - -int CSettingsParser::ParseTreeRec( const wchar_t *str, std::vector &items, CString *names, int level ) -{ - size_t start=items.size(); - while (*str) - { - wchar_t token[256]; - str=GetToken(str,token,_countof(token),L", \t"); - if (token[0]) - { - // - bool bFound=false; - for (int i=0;i crash! - int idx=ParseTreeRec(str2,items,names,level+1); - items[i].children=idx; - } - } - } - return (int)start; -} - -/////////////////////////////////////////////////////////////////////////////// - -bool CSkinParser::LoadVariation( const wchar_t *fname ) -{ - m_VarText.swap(m_Text); - bool res=LoadText(fname); - if (res) - { - std::vector lines; - lines.swap(m_Lines); - lines.push_back(L"[TRUE]"); - ParseText(); - m_Lines.insert(m_Lines.begin(),lines.begin(),lines.end()); - } - m_VarText.swap(m_Text); - return res; -} - -bool CSkinParser::LoadVariation( HMODULE hMod, HRSRC hResInfo ) -{ - m_VarText.swap(m_Text); - bool res=LoadText(hMod,hResInfo); - if (res) - { - std::vector lines; - lines.swap(m_Lines); - lines.push_back(L"[TRUE]"); - ParseText(); - m_Lines.insert(m_Lines.begin(),lines.begin(),lines.end()); - } - m_VarText.swap(m_Text); - return res; -} - -void CSkinParser::Reset( void ) -{ - CSettingsParser::Reset(); - m_VarText.clear(); -} - -static const wchar_t *g_OptionNames[SKIN_OPTION_TYPE_COUNT]={ - L"OPTION ", - L"OPTION_NUMBER ", - L"OPTION_STRING ", - L"OPTION_COLOR ", - L"OPTION_IMAGE ", -}; - -// Parses the option from m_Lines[index]. Returns false if index is out of bounds -bool CSkinParser::ParseOption( CString &name, TSkinOptionType &type, CString &label, bool &value, CString &condition, CString &disValue, int index ) -{ - if (index<0 || index>=(int)m_Lines.size()) - return false; - name.Empty(); - wchar_t buf[256]; - const wchar_t *line=m_Lines[index]; - if (_wcsnicmp(line,L"OPTION",6)!=0) - return true; - type=SKIN_OPTION_NONE; - for (int i=0;i lines; - lines.swap(m_Lines); - - bool bEnable=true; - - for (size_t i=0;i_countof(condition)-1) - continue; // too long - memcpy(condition,line+1,len*2); - condition[len]=0; - - // evaluate condition - if (EvalCondition(condition,values,count)==1) - bEnable=true; - continue; - } - if (bEnable) - m_Lines.push_back(line); - } -} - -// Substitutes the provided macro strings -void CSkinParser::ApplyMacros( const std::vector> ¯os ) -{ - std::vector names; - for (std::vector>::const_iterator it=macros.begin();it!=macros.end();++it) - { - wchar_t name[256]; - Sprintf(name,_countof(name),L"@%s@",it->first); - names.push_back(name); - } - - for (std::vector::iterator it=m_Lines.begin();it!=m_Lines.end();++it) - { - if (wcschr(*it,'@')) - { - CString string=*it; - for (size_t i=0;i=_countof(opStack)) return -1; // too much nesting - opStack[osp]=TYPE_PAR; - osp++; - condition++; - continue; - } - - if (*condition==')') - { - bool found=false; - while (osp>0) - { - osp--; - if (opStack[osp]==TYPE_PAR) - { - found=true; - break; - } - if (!ApplyOperator(valStack,vsp,opStack[osp])) return -1; // invalid operation - } - if (!found) return -1; // too many ) - condition++; - continue; - } - - // find token - const wchar_t *end=condition; - while (*end && *end!=' ' && *end!='\t' && *end!='(' && *end!=')') - end++; - - int len=(int)(end-condition); - if (len>=sizeof(token)) return -1; // too long token - memcpy(token,condition,len*2); - token[len]=0; - condition=end; - while (*condition==' ' || *condition=='\t') - condition++; - - if (_wcsicmp(token,L"and")==0 || _wcsicmp(token,L"or")==0) - { - while (osp>0 && opStack[osp-1]!=TYPE_PAR) - { - osp--; - if (!ApplyOperator(valStack,vsp,opStack[osp])) return -1; // invalid operation - } - if (osp>=_countof(opStack)) return -1; // too much nesting - opStack[osp]=(token[0]=='a' || token[0]=='A')?TYPE_AND:TYPE_OR; - osp++; - } - else if (_wcsicmp(token,L"not")==0) - { - while (osp>0 && opStack[osp-1]==TYPE_NOT) - { - osp--; - if (!ApplyOperator(valStack,vsp,opStack[osp])) return -1; // invalid operation - } - if (osp>=_countof(opStack)) return -1; // too much nesting - opStack[osp]=TYPE_NOT; - osp++; - } - else - { - if (vsp>=_countof(valStack)) return -1; // too much nesting - bool bValue=false; - if (_wcsicmp(token,L"true")==0) - bValue=true; - else - { - for (int i=0;i0) - { - osp--; - if (opStack[osp]==TYPE_PAR) return -1; // unclosed ( - if (!ApplyOperator(valStack,vsp,opStack[osp])) return -1; // invalid operation - } - - if (vsp!=1) return -1; // unbalanced expression - return valStack[0]?1:0; -} diff --git a/Src/Lib/SettingsParser.h b/Src/Lib/SettingsParser.h deleted file mode 100644 index 50dd4f9..0000000 --- a/Src/Lib/SettingsParser.h +++ /dev/null @@ -1,104 +0,0 @@ -// 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 - -/////////////////////////////////////////////////////////////////////////////// - -class CSettingsParser -{ -public: - // Reads a file into m_Text - bool LoadText( const wchar_t *fname ); - // Reads a text resource into m_Text - bool LoadText( HMODULE hMod, HRSRC hResInfo ); - - void LoadText( const unsigned char *buf, int size ); - void LoadText( const wchar_t *buf, int size ); - - // Splits m_Text into m_Lines - void ParseText( void ); - - // Filters the settings that belong to the given language - // languages is a 00-terminated list of language names ordered by priority - void FilterLanguages( const wchar_t *languages ); - - // Returns a setting with the given name. If no setting is found, returns def - const wchar_t *FindSetting( const wchar_t *name, const wchar_t *def=NULL ); - // Returns a setting with the given name, even if the value is blank. If the setting is not found, returns NULL - const wchar_t *FindSettingDirect( const wchar_t *name ); - - // Frees all resources - virtual void Reset( void ); - - struct TreeItem - { - CString name; // empty - last child - int children; // index to the first child. -1 - no children - }; - - // Parses a tree structure of items. The rootName setting must be a list of item names. - // Then for each name in the list the function will search for name.Items recursively. - // The last child in the list will have an empty name. - // Note - the rootName item will not be added to the list - void ParseTree( const wchar_t *rootName, std::vector &items ); - -protected: - std::vector m_Text; - std::vector m_Lines; - -private: - const wchar_t *FindSettingInt( const wchar_t *name, size_t len ); - - int ParseTreeRec( const wchar_t *rootName, std::vector &items, CString *names, int level ); -}; - -/////////////////////////////////////////////////////////////////////////////// - -enum TSkinOptionType -{ - SKIN_OPTION_GROUP=-2, - SKIN_OPTION_NONE=-1, - SKIN_OPTION_BOOL, - SKIN_OPTION_NUMBER, - SKIN_OPTION_STRING, - SKIN_OPTION_COLOR, - SKIN_OPTION_IMAGE, - - SKIN_OPTION_TYPE_COUNT -}; - -class CSkinParser: public CSettingsParser -{ -public: - CSkinParser( void ) { m_Aliases=NULL; } - bool LoadVariation( const wchar_t *fname ); - bool LoadVariation( HMODULE hMod, HRSRC hResInfo ); - void SetAliases( const wchar_t **aliases ) { m_Aliases=aliases; } - virtual void Reset( void ); - - // Parses the option from m_Lines[index]. Returns false if index is out of bounds - bool ParseOption( CString &name, TSkinOptionType &type, CString &label, bool &value, CString &condition, CString &disValue, int index ); - - // Filters the conditional groups - // values/count - list of true options. the rest are assumed to be false - void FilterConditions( const wchar_t **values, int count ); - - // Substitutes the provided macro strings - void ApplyMacros( const std::vector> ¯os ); - - // Returns a setting with the given name - const wchar_t *FindSetting( const wchar_t *name ); - -protected: - std::vector m_VarText; - const wchar_t **m_Aliases; - std::vector m_ExtraStrings; -}; - -/////////////////////////////////////////////////////////////////////////////// - -int EvalCondition( const wchar_t *condition, const wchar_t *const *values, int count ); diff --git a/Src/Lib/SettingsUIHelper.cpp b/Src/Lib/SettingsUIHelper.cpp deleted file mode 100644 index 63a211b..0000000 --- a/Src/Lib/SettingsUIHelper.cpp +++ /dev/null @@ -1,3568 +0,0 @@ -// 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 -#include "resource.h" -#include "Settings.h" -#include "SettingsUIHelper.h" -#include "ResourceHelper.h" -#include "ComHelper.h" -#include "FNVHash.h" -#include "StringUtils.h" -#include "Translations.h" -#include "DownloadHelper.h" -#include -#include -#include - -const KNOWNFOLDERID FOLDERID_DesktopRoot={'DESK', 'TO', 'P', {'D', 'E', 'S', 'K', 'T', 'O', 'P', 0x00}}; - -static bool IsVariantTrue( const CComVariant &var ) -{ - return (var.vt==VT_I4 && var.intVal==1); -} - -/////////////////////////////////////////////////////////////////////////////// - -void CTreeItem::SetCommand( CString command, const CStdCommand *pStdCommands, int style, int mask ) -{ - this->command=command; - pStdCommand=NULL; - for (int i=0;pStdCommands[i].name;i++) - { - if (!pStdCommands[i].IsStyle(style,mask)) continue; - if (_wcsicmp(pStdCommands[i].name,command)==0) - { - pStdCommand=&pStdCommands[i]; - return; - } - else if (pStdCommands[i].IsCustom()) - { - pStdCommand=&pStdCommands[i]; - } - } -} - -unsigned int CTreeItem::GetIconKey( void ) const -{ - if (!icon.IsEmpty()) - return CalcFNVHash(icon); - else if (pStdCommand && pStdCommand->knownFolder) - return CalcFNVHash(pStdCommand->knownFolder,sizeof(GUID)); - else if (!link.IsEmpty()) - return CalcFNVHash(link); - return 0; -} - -HICON CTreeItem::LoadIcon( bool bSmall, std::vector &modules ) const -{ - if (!icon.IsEmpty()) - { - if (_wcsicmp(icon,L"none")==0) - return bSmall?HICON_NONE:NULL; - return ::LoadIcon(GetSystemMetrics(bSmall?SM_CXSMICON:SM_CXICON),icon,modules); - } - else - { - CAbsolutePidl pidl; - if (pStdCommand && pStdCommand->knownFolder) - { - SHGetKnownFolderIDList(*pStdCommand->knownFolder,0,NULL,&pidl); - } - else if (!link.IsEmpty()) - { - const wchar_t *c=wcschr(link,'|'); - if (c) - { - for (c++;*c==' ';) - c++; - } - else - c=link; - wchar_t buf[_MAX_PATH]; - Strcpy(buf,_countof(buf),c); - DoEnvironmentSubst(buf,_countof(buf)); - - wchar_t *second=wcschr(buf,';'); - if (second) - { - wchar_t *end= second; - while (end>buf) - { - *end=0; - end--; - if (*end!=' ') - break; - } - } - - ShParseDisplayName(buf,&pidl,0,NULL); - } - if (pidl) - { - HICON hIcon=::LoadIcon(GetSystemMetrics(bSmall?SM_CXSMICON:SM_CXICON),pidl); - return hIcon; - } - } - return NULL; -} - -unsigned int CTreeItem::GetIconDKey( unsigned int iconKey ) const -{ - if (iconD.IsEmpty()) - return ~iconKey; - return CalcFNVHash(iconD); -} - -HICON CTreeItem::LoadIconD( HICON hIcon, std::vector &modules ) const -{ - if (!iconD.IsEmpty()) - { - if (_wcsicmp(iconD,L"none")==0) - return NULL; - return ::LoadIcon(GetSystemMetrics(SM_CXICON),iconD,modules); - } - else if (hIcon) - return CreateDisabledIcon(hIcon,GetSystemMetrics(SM_CXICON)); - else - return NULL; -} - -CString CTreeItem::GetDisplayName( bool bTitle ) const -{ - if (pStdCommand->IsCustom()) - { - if (!label.IsEmpty()) - { - if (label[0]!='$') - return label; - const wchar_t *pLabel=label; - return FindTranslation(pLabel+1,pLabel); - } - if (!bTitle && !link.IsEmpty()) - { - const wchar_t *c=wcschr(link,'|'); - if (c) - { - for (c++;*c==' ';) - c++; - } - else - c=link; - wchar_t buf[_MAX_PATH]; - Strcpy(buf,_countof(buf),c); - DoEnvironmentSubst(buf,_countof(buf)); - - wchar_t *second=wcschr(buf,';'); - if (second) - { - wchar_t *end= second; - while (end>buf) - { - *end=0; - end--; - if (*end!=' ') - break; - } - } - - CAbsolutePidl pidl; - ShParseDisplayName(buf,&pidl,0,NULL); - if (pidl) - { - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pItem))) - { - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - { - CString name; - name.Format(L"%s (%s)",(const wchar_t*)LoadStringEx(pStdCommand->displayNameId),(const wchar_t*)pName); - return name; - } - } - } - } - if (!bTitle && !tip.IsEmpty()) - { - const wchar_t *pTip=tip; - CString name; - if (pTip[0]=='$') - name.Format(L"%s (%s)",LoadStringEx(pStdCommand->displayNameId),FindTranslation(pTip+1,pTip)); - else - name.Format(L"%s (%s)",LoadStringEx(pStdCommand->displayNameId),pTip); - return name; - } - } - return LoadStringEx(pStdCommand->displayNameId); -} - -// Subclass the renaming editbox to handle Esc and Enter -static LRESULT CALLBACK SubclassEditboxProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_GETDLGCODE) - return DLGC_WANTALLKEYS; - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -class CSettingsTree: public CWindowImpl -{ -public: - BEGIN_MSG_MAP( CSettingsTree ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_MOUSEMOVE, OnMouseMove ) - MESSAGE_HANDLER( WM_LBUTTONUP, OnLButtonUp ) - MESSAGE_HANDLER( WM_RBUTTONDOWN, OnRButtonDown ) - MESSAGE_HANDLER( WM_KEYUP, OnKeyUp ) - MESSAGE_HANDLER( WM_GETDLGCODE, OnGetDlgCode ) - MESSAGE_HANDLER( WM_CHAR, OnChar ) - MESSAGE_HANDLER( WM_CAPTURECHANGED, OnCaptureChanged ) - MESSAGE_HANDLER( WM_TIMER, OnTimer ) - REFLECTED_NOTIFY_CODE_HANDLER( TVN_DELETEITEM, OnDeleteItem ) - REFLECTED_NOTIFY_CODE_HANDLER( TVN_BEGINDRAG, OnBeginDrag ) - REFLECTED_NOTIFY_CODE_HANDLER( TVN_BEGINLABELEDIT, OnBeginLabelEdit ) - REFLECTED_NOTIFY_CODE_HANDLER( TVN_ENDLABELEDIT, OnEndLabelEdit ) - REFLECTED_NOTIFY_CODE_HANDLER( TVN_KEYDOWN, OnKeyDown ) - END_MSG_MAP() - - CSettingsTree( int mask ) { m_ImageList=NULL; m_StyleMask=mask; } - void SubclassWindow( HWND hWnd, CCustomTreeDlg *pOwner ); - int LoadIcon( const CTreeItem *pItem ); - int UpdateItem( CTreeItem *pItem, HTREEITEM hItem ); - void SetDisabled( bool bDisabled ) { m_bDisabled=bDisabled; } - bool IsDragging( void ) const { return m_DragMode!=DRAG_NONE; } - - void DeleteItem( HTREEITEM hItem ); - - void BeginDrag( const CStdCommand *pCommand ); - HTREEITEM CreateStdItem( const CStdCommand *pCommand, HTREEITEM hParent, HTREEITEM hAfter ); - - std::vector m_Modules; - -protected: - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnLButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnRButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnKeyUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnGetDlgCode( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnChar( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnCaptureChanged( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnDeleteItem( 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 OnKeyDown( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - -private: - CCustomTreeDlg *m_pOwner; - std::map m_IconCache; - HIMAGELIST m_ImageList; - bool m_bDisabled; - - enum TDragMode - { - DRAG_NONE, - DRAG_DELETE, - DRAG_ERROR, - DRAG_MOVE, // these must be the last two - DRAG_COPY, - }; - - enum TDropLocation - { - DROP_NOWHERE, - DROP_INSIDE, - DROP_BEFORE, - DROP_AFTER, - DROP_LAST, - }; - - enum { - TIMER_SCROLL=1, - TIMER_HOVER=2, - }; - - int m_StyleMask; - TDragMode m_DragMode; - HCURSOR m_CursorError, m_CursorMove, m_CursorCopy, m_CursorDel; - HTREEITEM m_DragItem; - HTREEITEM m_DropTarget; - HTREEITEM m_DropSubmenu; - TDropLocation m_DropLocation; - int m_Scroll; - HTREEITEM m_HoverItem; - const CStdCommand *m_pStdDragItem; - bool m_bDragLink; // the item being dragged is a link - - bool FindItemByName( HTREEITEM hParent, const wchar_t *name, HTREEITEM hExclude ); - CString CreateUniqueName( CString oldName ); - HTREEITEM CreateDeepCopy( HTREEITEM hSource, HTREEITEM hParent, HTREEITEM hAfter, bool bRename ); -}; - -void CSettingsTree::SubclassWindow( HWND hWnd, CCustomTreeDlg *pOwner ) -{ - m_pOwner=pOwner; - int size=GetSystemMetrics(SM_CXSMICON); - if (!m_ImageList) - m_ImageList=ImageList_Create(size,size,ILC_COLOR32|ILC_MASK|ILC_MIRROR,1,16); - CWindowImpl::SubclassWindow(hWnd); - TreeView_SetImageList(hWnd,m_ImageList,TVSIL_NORMAL); - - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=bi.bmiHeader.biHeight=size; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - RECT rc={0,0,size,size}; - - HDC hdc=CreateCompatibleDC(NULL); - HBITMAP bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,NULL,NULL,0); - HGDIOBJ bmp0=SelectObject(hdc,bmp); - FillRect(hdc,&rc,(HBRUSH)(COLOR_WINDOW+1)); - SelectObject(hdc,bmp0); - DeleteDC(hdc); - ImageList_AddMasked(m_ImageList,bmp,GetSysColor(COLOR_WINDOW)); - DeleteObject(bmp); - - SHFILEINFO info; - if (SHGetFileInfo(L"file",FILE_ATTRIBUTE_NORMAL,&info,sizeof(info),SHGFI_USEFILEATTRIBUTES|SHGFI_ICON|SHGFI_SMALLICON)) - { - ImageList_AddIcon(m_ImageList,info.hIcon); - DestroyIcon(info.hIcon); - } - m_DragMode=DRAG_NONE; - HMODULE hOle32=LoadLibrary(L"ole32.dll"); - if (hOle32) - { - m_CursorError=(HCURSOR)LoadImage(hOle32,MAKEINTRESOURCE(1),IMAGE_CURSOR,0,0,LR_DEFAULTSIZE); - m_CursorMove=(HCURSOR)LoadImage(hOle32,MAKEINTRESOURCE(2),IMAGE_CURSOR,0,0,LR_DEFAULTSIZE); - m_CursorCopy=(HCURSOR)LoadImage(hOle32,MAKEINTRESOURCE(3),IMAGE_CURSOR,0,0,LR_DEFAULTSIZE); - m_CursorDel=(HCURSOR)LoadImage(hOle32,MAKEINTRESOURCE(5),IMAGE_CURSOR,0,0,LR_DEFAULTSIZE); - FreeLibrary(hOle32); - } -} - -int CSettingsTree::LoadIcon( const CTreeItem *pItem ) -{ - unsigned int key=pItem->GetIconKey(); - std::map::const_iterator it=m_IconCache.find(key); - if (it!=m_IconCache.end()) - return it->second; - - // extract icon - HICON hIcon=pItem->LoadIcon(true,m_Modules); - if (hIcon==HICON_NONE) - { - m_IconCache[key]=0; - return 0; - } - int index=1; - if (hIcon) - { - index=ImageList_AddIcon(m_ImageList,hIcon); - DestroyIcon(hIcon); - } - m_IconCache[key]=index; - return index; -} - -int CSettingsTree::UpdateItem( CTreeItem *pItem, HTREEITEM hItem ) -{ - TVITEM item={TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_TEXT,hItem}; - - item.iImage=item.iSelectedImage=LoadIcon(pItem); - if (hItem) - { - CString dispName=pItem->GetDisplayName(false); - item.pszText=(LPWSTR)(LPCWSTR)dispName; - TreeView_SetItem(m_hWnd,&item); - } - return item.iImage; -} - -LRESULT CSettingsTree::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - for (std::vector::const_iterator it=m_Modules.begin();it!=m_Modules.end();++it) - FreeLibrary(*it); - m_Modules.clear(); - if (m_CursorError) DestroyCursor(m_CursorError); - if (m_CursorMove) DestroyCursor(m_CursorMove); - if (m_CursorCopy) DestroyCursor(m_CursorCopy); - if (m_CursorDel) DestroyCursor(m_CursorDel); - return 0; -} - -LRESULT CSettingsTree::OnDeleteItem( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - // free data - NMTREEVIEW *pItem=(NMTREEVIEW*)pnmh; - delete (CTreeItem*)pItem->itemOld.lParam; - return 0; -} - -void CSettingsTree::BeginDrag( const CStdCommand *pCommand ) -{ - if (m_bDisabled) return; - m_pStdDragItem=pCommand; - m_bDragLink=pCommand->knownFolder!=NULL; - m_DragItem=TreeView_GetSelection(m_hWnd); - SetFocus(); - SetCapture(); - m_DragMode=DRAG_COPY; - m_DropTarget=NULL; - m_DropLocation=DROP_NOWHERE; - m_Scroll=0; - m_HoverItem=NULL; - m_DropSubmenu=NULL; - SetCursor(m_CursorCopy); - TreeView_SelectItem(m_hWnd,NULL); -} - -LRESULT CSettingsTree::OnBeginDrag( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - if (m_bDisabled) return 0; - NMTREEVIEW *pDrag=(NMTREEVIEW*)pnmh; - CTreeItem *pItem=(CTreeItem*)pDrag->itemNew.lParam; - if (!pItem) return 0; - m_pStdDragItem=NULL; - m_DragItem=pDrag->itemNew.hItem; - m_bDragLink=(pItem->pStdCommand && pItem->pStdCommand->knownFolder) || !pItem->link.IsEmpty(); - TreeView_SelectItem(m_hWnd,m_DragItem); - SetCapture(); - m_DragMode=GetKeyState(VK_CONTROL)<0?DRAG_COPY:DRAG_MOVE; - m_DropTarget=NULL; - m_DropLocation=DROP_NOWHERE; - m_Scroll=0; - m_HoverItem=NULL; - m_DropSubmenu=NULL; - SetCursor(m_DragMode==DRAG_COPY?m_CursorCopy:m_CursorMove); - SetFocus(); - TreeView_SelectItem(m_hWnd,NULL); - return 0; -} - -LRESULT CSettingsTree::OnMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_DragMode==DRAG_NONE) - { - bHandled=FALSE; - return 0; - } - // find the drop location - m_DropTarget=NULL; - m_DropLocation=DROP_NOWHERE; - TVHITTESTINFO test={{(short)LOWORD(lParam),(short)HIWORD(lParam)}}; - RECT rc; - GetClientRect(&rc); - int h=TreeView_GetItemHeight(m_hWnd); - int scroll=0; - if (test.pt.yrc.bottom-h) - scroll=1; - if (m_Scroll!=scroll) - { - m_Scroll=scroll; - if (m_Scroll) - SetTimer(TIMER_SCROLL,100); - else - KillTimer(TIMER_SCROLL); - } - bool bDelete=!PtInRect(&rc,test.pt); - if (!bDelete) - { - HTREEITEM hLast=TreeView_GetLastVisible(m_hWnd); - if (hLast) - { - TreeView_GetItemRect(m_hWnd,hLast,&rc,FALSE); - if (TreeView_HitTest(m_hWnd,&test)) - { - m_DropTarget=test.hItem; - } - else - { - if (test.pt.y>=rc.bottom) - { - // after the last visible item - m_DropTarget=hLast; - } - } - } - else if (m_pStdDragItem) - m_DropLocation=DROP_LAST; - - if (m_DropTarget && !m_pStdDragItem) - { - // can't drop inside itself - for (HTREEITEM hItem=TreeView_GetParent(m_hWnd,m_DropTarget);hItem;hItem=TreeView_GetParent(m_hWnd,hItem)) - { - if (hItem==m_DragItem) - { - m_DropTarget=NULL; - break; - } - } - } - if (m_DropTarget) - { - TreeView_GetItemRect(m_hWnd,m_DropTarget,&rc,FALSE); - TVITEM item={TVIF_PARAM,m_DropTarget}; - TreeView_GetItem(m_hWnd,&item); - int dy=test.pt.y-rc.top; - int h1=(rc.bottom-rc.top)/4; - int h2=(rc.bottom-rc.top)-h1; - if (!item.lParam || ((CTreeItem*)item.lParam)->pStdCommand->IsSeparator()) - { - h1=(rc.bottom-rc.top)/2; - h2=(rc.bottom-rc.top)-h1; - } - if (dy=h2) - m_DropLocation=DROP_AFTER; - else - { - // can't drop in a separator or itself - if (!item.lParam || ((CTreeItem*)item.lParam)->pStdCommand->IsSeparator() || (m_DropTarget==m_DragItem && !m_pStdDragItem)) - m_DropTarget=NULL; - else - m_DropLocation=DROP_INSIDE; - } - } - } - // display drop location - if (!m_DropTarget) - { - TreeView_SelectDropTarget(m_hWnd,NULL); - TreeView_SetInsertMark(m_hWnd,NULL,FALSE); - if (m_DropLocation==DROP_LAST) - { - m_DragMode=DRAG_COPY; - SetCursor(m_CursorCopy); - } - else - { - if (m_pStdDragItem) - bDelete=false; - m_DragMode=bDelete?DRAG_DELETE:DRAG_ERROR; - SetCursor(bDelete?m_CursorDel:m_CursorError); - } - } - else - { - m_DragMode=(m_pStdDragItem || GetKeyState(VK_CONTROL)<0)?DRAG_COPY:DRAG_MOVE; - SetCursor(m_DragMode==DRAG_COPY?m_CursorCopy:m_CursorMove); - if (m_DropLocation==DROP_INSIDE) - { - TreeView_SelectDropTarget(m_hWnd,m_DropTarget); - TreeView_SetInsertMark(m_hWnd,NULL,FALSE); - } - else - { - TreeView_SelectDropTarget(m_hWnd,NULL); - TreeView_SetInsertMark(m_hWnd,m_DropTarget,m_DropLocation==DROP_AFTER); - } - } - - if (m_DropLocation==DROP_INSIDE) - { - if (m_HoverItem!=m_DropTarget) - { - SetTimer(TIMER_HOVER,400); - m_HoverItem=m_DropTarget; - } - } - else if (m_HoverItem) - { - m_HoverItem=NULL; - KillTimer(TIMER_HOVER); - } - return 0; -} - -bool CSettingsTree::FindItemByName( HTREEITEM hParent, const wchar_t *name, HTREEITEM hExclude ) -{ - for (HTREEITEM hItem=hParent?TreeView_GetChild(m_hWnd,hParent):TreeView_GetRoot(m_hWnd);hItem;hItem=TreeView_GetNextSibling(m_hWnd,hItem)) - { - if (FindItemByName(hItem,name,hExclude)) - return true; - if (hItem!=hExclude) - { - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_hWnd,&item); - if (item.lParam && _wcsicmp(((CTreeItem*)item.lParam)->name,name)==0) - return true; - } - } - return false; -} - -CString CSettingsTree::CreateUniqueName( CString oldName ) -{ - if (!FindItemByName(NULL,oldName,NULL)) - return oldName; - wchar_t name[256]; - Strcpy(name,_countof(name)-3,oldName); - // find numeric part - int pos=Strlen(name); - while (pos>0 && name[pos-1]>='0' && name[pos-1]<='9') - pos--; - for (int i=2;;i++) - { - Sprintf(name+pos,_countof(name)-pos,L"%d",i); - if (!FindItemByName(NULL,name,NULL)) - break; - } - return name; -} - -HTREEITEM CSettingsTree::CreateDeepCopy( HTREEITEM hSource, HTREEITEM hParent, HTREEITEM hAfter, bool bRename ) -{ - TVINSERTSTRUCT insert={hParent,hAfter?hAfter:TVI_FIRST,{TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_STATE,hSource,0,TVIS_EXPANDED}}; - TreeView_GetItem(m_hWnd,&insert.item); - CTreeItem *pSource=(CTreeItem*)insert.item.lParam; - if (!pSource) return NULL; - CTreeItem *pNewItem=new CTreeItem(*pSource); - if (bRename && !pNewItem->pStdCommand->IsSeparator()) - { - pNewItem->name=CreateUniqueName(pNewItem->name); - } - insert.item.lParam=(LPARAM)pNewItem; - insert.item.mask|=TVIF_TEXT; - CString dispName=pNewItem->GetDisplayName(false); - insert.item.pszText=(LPWSTR)(LPCWSTR)dispName; - HTREEITEM hResult=TreeView_InsertItem(m_hWnd,&insert); - for (HTREEITEM hChild=TreeView_GetChild(m_hWnd,hSource);hChild;hChild=TreeView_GetNextSibling(m_hWnd,hChild)) - CreateDeepCopy(hChild,hResult,TVI_LAST,bRename); - return hResult; -} - -HTREEITEM CSettingsTree::CreateStdItem( const CStdCommand *pCommand, HTREEITEM hParent, HTREEITEM hAfter ) -{ - TVINSERTSTRUCT insert={hParent,hAfter?hAfter:TVI_FIRST,{TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_STATE|TVIF_TEXT,NULL,TVIS_EXPANDED,TVIS_EXPANDED}}; - CTreeItem *pNewItem=new CTreeItem; - pNewItem->label=pCommand->label; - pNewItem->tip=pCommand->tip; - pNewItem->icon=pCommand->icon; - pNewItem->iconD=pCommand->iconD; - pNewItem->pStdCommand=pCommand; - pNewItem->settings=pCommand->settings&~m_StyleMask; - - if (pCommand->IsSeparator()) - { - pNewItem->name=pCommand->name; - } - else - { - pNewItem->command=pCommand->name; - pNewItem->name=CreateUniqueName(pCommand->itemName); - insert.item.iImage=insert.item.iSelectedImage=UpdateItem(pNewItem,NULL); - } - - insert.item.lParam=(LPARAM)pNewItem; - CString dispName=pNewItem->GetDisplayName(false); - insert.item.pszText=(LPWSTR)(LPCWSTR)dispName; - return TreeView_InsertItem(m_hWnd,&insert); -} - -LRESULT CSettingsTree::OnRButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - // ignore right-click during dragging - if (m_DragMode==DRAG_NONE) - bHandled=FALSE; - return 0; -} - -LRESULT CSettingsTree::OnLButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_DragMode!=DRAG_NONE) - { - TDragMode mode=m_DragMode; - HTREEITEM dragItem=m_DragItem; - if (m_DropSubmenu==m_DropTarget && mode>=DRAG_MOVE) - m_DropSubmenu=NULL; - m_DragItem=NULL; - ReleaseCapture(); - // perform drop operation - if (mode==DRAG_DELETE) - { - TreeView_EnsureVisible(m_hWnd,dragItem); - if (!m_pStdDragItem) - { - TreeView_DeleteItem(m_hWnd,dragItem); - m_pOwner->SerializeData(); - } - } - else if (mode>=DRAG_MOVE) - { - HTREEITEM hParent=m_DropTarget; - HTREEITEM hAfter=TVI_LAST; - if (m_DropLocation==DROP_AFTER) - { - hAfter=hParent; - hParent=TreeView_GetParent(m_hWnd,hParent); - } - else if (m_DropLocation==DROP_BEFORE) - { - hAfter=TreeView_GetPrevSibling(m_hWnd,hParent); - if (!hAfter) hAfter=TVI_FIRST; - hParent=TreeView_GetParent(m_hWnd,hParent); - } - if (hParent) - { - HTREEITEM hChild=TreeView_GetChild(m_hWnd,hParent); - if (hChild) - { - TVITEM item={TVIF_PARAM,hChild}; - TreeView_GetItem(m_hWnd,&item); - if (!item.lParam) - { - TreeView_DeleteItem(m_hWnd,hChild); - hAfter=TVI_LAST; - } - } - } - - HTREEITEM hNewItem; - if (m_pStdDragItem) - { - hNewItem=CreateStdItem(m_pStdDragItem,hParent,hAfter); - } - else - { - hNewItem=CreateDeepCopy(dragItem,hParent,hAfter,mode==DRAG_COPY); - if (mode==DRAG_MOVE) - TreeView_DeleteItem(m_hWnd,dragItem); - } - - TreeView_SelectItem(m_hWnd,hNewItem); - TreeView_EnsureVisible(m_hWnd,hNewItem); - m_pOwner->SerializeData(); - } - } - bHandled=FALSE; - return 0; -} - -LRESULT CSettingsTree::OnKeyUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_DragMode>=DRAG_MOVE) - { - m_DragMode=(m_pStdDragItem || GetKeyState(VK_CONTROL)<0)?DRAG_COPY:DRAG_MOVE; - SetCursor(m_DragMode==DRAG_COPY?m_CursorCopy:m_CursorMove); - } - bHandled=FALSE; - return 0; -} - -LRESULT CSettingsTree::OnGetDlgCode( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_DragMode!=DRAG_NONE || (lParam && ((MSG*)lParam)->message==WM_KEYDOWN && ((MSG*)lParam)->wParam==VK_RETURN)) - return DLGC_WANTALLKEYS; - bHandled=FALSE; - return 0; -} - -LRESULT CSettingsTree::OnChar( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==VK_RETURN) - return 0; - bHandled=FALSE; - return 0; -} - -LRESULT CSettingsTree::OnCaptureChanged( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_DragMode!=DRAG_NONE) - { - m_DragMode=DRAG_NONE; - TreeView_SelectDropTarget(m_hWnd,NULL); - TreeView_SetInsertMark(m_hWnd,NULL,FALSE); - SetCursor(LoadCursor(NULL,IDC_ARROW)); - if (m_DragItem) TreeView_SelectItem(m_hWnd,m_DragItem); - KillTimer(TIMER_SCROLL); - KillTimer(TIMER_HOVER); - if (m_DropSubmenu) - TreeView_DeleteItem(m_hWnd,m_DropSubmenu); - m_DropSubmenu=NULL; - m_HoverItem=NULL; - } - bHandled=FALSE; - return 0; -} - -LRESULT CSettingsTree::OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==TIMER_SCROLL) - { - if (m_Scroll>0) - SendMessage(WM_VSCROLL,SB_LINEDOWN); - else - SendMessage(WM_VSCROLL,SB_LINEUP); - } - else if (wParam==TIMER_HOVER) - { - if (m_HoverItem) - { - TreeView_Expand(m_hWnd,m_HoverItem,TVE_EXPAND); - if (!TreeView_GetChild(m_hWnd,m_HoverItem)) - { - if (m_DropSubmenu) - TreeView_DeleteItem(m_hWnd,m_DropSubmenu); - TVINSERTSTRUCT insert={m_HoverItem,TVI_FIRST,{TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_STATE|TVIF_TEXT,NULL,TVIS_EXPANDED,TVIS_EXPANDED}}; - CString text=LoadStringEx(IDS_EMPTY_MENU); - insert.item.pszText=(LPWSTR)(LPCWSTR)text; - m_DropSubmenu=TreeView_InsertItem(m_hWnd,&insert); - TreeView_SelectItem(m_hWnd,m_DropSubmenu); - TreeView_EnsureVisible(m_hWnd,m_DropSubmenu); - } - } - KillTimer(TIMER_HOVER); - } - else - bHandled=FALSE; - return 0; -} - -LRESULT CSettingsTree::OnBeginLabelEdit( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - if (m_bDisabled) return TRUE; - CWindow edit=TreeView_GetEditControl(m_hWnd); - SetWindowSubclass(edit,SubclassEditboxProc,'CLSH',0); - NMTVDISPINFO *pInfo=(NMTVDISPINFO*)pnmh; - if (!pInfo->item.lParam) - return TRUE; - CTreeItem *pItem=(CTreeItem*)pInfo->item.lParam; - if (!pItem->pStdCommand->IsCustom()) - return TRUE; - edit.SetWindowText(pItem->label); - return FALSE; -} - -LRESULT CSettingsTree::OnEndLabelEdit( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVDISPINFO *pInfo=(NMTVDISPINFO*)pnmh; - if (pInfo->item.pszText) - { - CTreeItem *pItem=(CTreeItem*)pInfo->item.lParam; - pItem->label=pInfo->item.pszText; - m_pOwner->SerializeData(); - UpdateItem(pItem,pInfo->item.hItem); - } - return FALSE; -} - -LRESULT CSettingsTree::OnKeyDown( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVKEYDOWN *pKey=(NMTVKEYDOWN*)pnmh; - if (m_DragMode!=DRAG_NONE) - { - if (pKey->wVKey==VK_ESCAPE) - { - ReleaseCapture(); - return TRUE; - } - if (m_DragMode>=DRAG_MOVE) - { - m_DragMode=(m_pStdDragItem || GetKeyState(VK_CONTROL)<0)?DRAG_COPY:DRAG_MOVE; - SetCursor(m_DragMode==DRAG_COPY?m_CursorCopy:m_CursorMove); - } - } - // F2 to rename - if (pKey->wVKey==VK_F2) - { - HTREEITEM hSelected=TreeView_GetSelection(m_hWnd); - if (hSelected) - TreeView_EditLabel(m_hWnd,hSelected); - } - // Del to delete - if (pKey->wVKey==VK_DELETE) - { - HTREEITEM hSelected=TreeView_GetSelection(m_hWnd); - if (hSelected) - DeleteItem(hSelected); - } - return 0; -} - -void CSettingsTree::DeleteItem( HTREEITEM hItem ) -{ - if (!m_bDisabled) - { - TreeView_DeleteItem(m_hWnd,hItem); - m_pOwner->SerializeData(); - } -} - -/////////////////////////////////////////////////////////////////////////////// - -class CCommandsTree: public CWindowImpl -{ -public: - BEGIN_MSG_MAP( CCommandsTree ) - MESSAGE_HANDLER( WM_GETDLGCODE, OnGetDlgCode ) - MESSAGE_HANDLER( WM_CHAR, OnChar ) - END_MSG_MAP() - -protected: - LRESULT OnGetDlgCode( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnChar( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); -}; - -LRESULT CCommandsTree::OnGetDlgCode( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (lParam && ((MSG*)lParam)->message==WM_KEYDOWN && ((MSG*)lParam)->wParam==VK_RETURN) - return DLGC_WANTALLKEYS; - bHandled=FALSE; - return 0; -} - -LRESULT CCommandsTree::OnChar( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==VK_RETURN) - return 0; - bHandled=FALSE; - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -CEditCustomItemDlg::~CEditCustomItemDlg( void ) -{ - if (m_hIcon) DestroyIcon(m_hIcon); - if (m_hIconD) DestroyIcon(m_hIconD); -} - -void CEditCustomItemDlg::InitDialog( CWindow commandCombo, const CStdCommand *pStdcommands, int style, int mask, CWindow linkCombo, const KNOWNFOLDERID *const *pCommonLinks ) -{ - InitResize(MOVE_HORIZONTAL|MOVE_GRIPPER); - CString str; - GetWindowText(str); - CString title; - title.Format(str,m_pItem->GetDisplayName(true)); - SetWindowText(title); - - for (int i=0;pStdcommands[i].name;i++) - if (pStdcommands[i].IsStyle(style,mask) && !pStdcommands[i].IsSeparator() && !pStdcommands[i].IsCustom()) - commandCombo.SendMessage(CB_ADDSTRING,0,(LPARAM)pStdcommands[i].name); - - commandCombo.SetWindowText(m_pItem->command); - int idx=(int)commandCombo.SendMessage(CB_FINDSTRINGEXACT,-1,(LPARAM)(const wchar_t*)m_pItem->command); - if (idx>=0) - commandCombo.SendMessage(CB_SETCURSEL,idx); - - for (int i=0;pCommonLinks[i];i++) - { - if (*pCommonLinks[i]==FOLDERID_DesktopRoot) - { - linkCombo.SendMessage(CB_ADDSTRING,0,(LPARAM)L"Main Desktop | ::{Desktop}"); - } - else - { - CAbsolutePidl path; - if (FAILED(SHGetKnownFolderIDList(*pCommonLinks[i],0,NULL,&path)) || !path) continue; - CComString pName; - if (SUCCEEDED(SHGetNameFromIDList(path,SIGDN_NORMALDISPLAY,&pName))) - { - CComString pPath; - if (SUCCEEDED(SHGetNameFromIDList(path,SIGDN_DESKTOPABSOLUTEPARSING,&pPath))) - { - wchar_t text[_MAX_PATH*2]; - int len=Sprintf(text,_countof(text),L"%s | ",(const wchar_t*)pName); - if (!PathUnExpandEnvStrings(pPath,text+len,_countof(text)-len)) - Strcpy(text+len,_countof(text)-len,pPath); - linkCombo.SendMessage(CB_ADDSTRING,0,(LPARAM)text); - } - } - } - } - - linkCombo.SetWindowText(m_pItem->link); - idx=(int)linkCombo.SendMessage(CB_FINDSTRINGEXACT,-1,(LPARAM)(const wchar_t*)m_pItem->link); - if (idx>=0) - linkCombo.SendMessage(CB_SETCURSEL,idx); - - m_hIcon=NULL; - m_IconKey=0; - m_hIconD=NULL; - m_IconDKey=0; - m_StoredItem=*m_pItem; - - RECT rc; - CRegKey regSettings; - if (regSettings.Open(HKEY_CURRENT_USER,GetSettingsRegPath())==ERROR_SUCCESS) - { - ULONG size=sizeof(rc); - if (regSettings.QueryBinaryValue(L"CEditCustomItemDlg",&rc,&size)==ERROR_SUCCESS && size==sizeof(rc)) - SetStoreRect(rc); - } - - COMBOBOXINFO info={sizeof(info)}; - commandCombo.SendMessage(CB_GETCOMBOBOXINFO,0,(LPARAM)&info); - SHAutoComplete(info.hwndItem,SHACF_FILESYSTEM); - linkCombo.SendMessage(CB_GETCOMBOBOXINFO,0,(LPARAM)&info); - SHAutoComplete(info.hwndItem,SHACF_FILESYSTEM); -} - -LRESULT CEditCustomItemDlg::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CResizeableDlg::OnSize(); - return 0; -} - -void CEditCustomItemDlg::StorePlacement( void ) -{ - RECT rc; - GetStoreRect(rc); - - CRegKey regSettings; - if (regSettings.Open(HKEY_CURRENT_USER,GetSettingsRegPath())!=ERROR_SUCCESS) - regSettings.Create(HKEY_CURRENT_USER,GetSettingsRegPath()); - regSettings.SetBinaryValue(L"CEditCustomItemDlg",&rc,sizeof(rc)); -} - -LRESULT CEditCustomItemDlg::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - ::EnableWindow(m_EnableParent,TRUE); - m_bResult=true; - StorePlacement(); - DestroyWindow(); - return 0; -} - -LRESULT CEditCustomItemDlg::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - ::EnableWindow(m_EnableParent,TRUE); - m_bResult=false; - StorePlacement(); - DestroyWindow(); - (*m_pItem)=m_StoredItem; - return 0; -} - -void CEditCustomItemDlg::UpdateIcons( int iconID, int iconDID ) -{ - unsigned int key=m_pItem->GetIconKey(); - - if (key!=m_IconKey) - { - m_IconKey=key; - if (m_hIcon) DestroyIcon(m_hIcon); - m_hIcon=m_pItem->LoadIcon(false,m_Modules); - SendDlgItemMessage(iconID,STM_SETICON,(WPARAM)m_hIcon); - } - - if (iconDID) - { - key=m_pItem->GetIconDKey(key); - if (key!=m_IconDKey) - { - m_IconDKey=key; - if (m_hIconD) DestroyIcon(m_hIconD); - m_hIconD=m_pItem->LoadIconD(m_hIcon,m_Modules); - SendDlgItemMessage(iconDID,STM_SETICON,(WPARAM)m_hIconD); - } - } -} - -CString CEditCustomItemDlg::GetComboText( WORD wNotifyCode, WORD wID ) -{ - CString text; - if (wNotifyCode==CBN_SELENDOK) - { - int idx=(int)SendDlgItemMessage(wID,CB_GETCURSEL); - text.Empty(); - if (idx>=0) - { - int len=(int)SendDlgItemMessage(wID,CB_GETLBTEXTLEN,idx); - SendDlgItemMessage(wID,CB_GETLBTEXT,idx,(LPARAM)text.GetBuffer(len+1)); - text.ReleaseBuffer(len); - } - } - else - GetDlgItemText(wID,text); - text.TrimLeft(); - text.TrimRight(); - return text; -} - -/////////////////////////////////////////////////////////////////////////////// - -class CBrowseLinkEvents: public IFileDialogEvents, public IFileDialogControlEvents -{ -public: - CBrowseLinkEvents( void ) { m_pResult=NULL; } - - // IUnknown - virtual HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid, void **ppvObject ); - virtual ULONG STDMETHODCALLTYPE AddRef( void ) { return 1; } - virtual ULONG STDMETHODCALLTYPE Release( void ) { return 1; } - - // IFileDialogEvents - STDMETHOD(OnFileOk)( IFileDialog *pfd ) { return S_OK; } - STDMETHOD(OnFolderChanging)( IFileDialog *pfd, IShellItem *psiFolder ) { return S_OK; } - STDMETHOD(OnFolderChange)( IFileDialog *pfd ) { return S_OK; } - STDMETHOD(OnSelectionChange)( IFileDialog *pfd ) { return S_OK; } - STDMETHOD(OnShareViolation)( IFileDialog *pfd, IShellItem *psi, FDE_SHAREVIOLATION_RESPONSE *pResponse ) { return S_OK; } - STDMETHOD(OnTypeChange)( IFileDialog *pfd ) { return S_OK; } - STDMETHOD(OnOverwrite)( IFileDialog *pfd, IShellItem *psi, FDE_OVERWRITE_RESPONSE *pResponse ) { return S_OK; } - - // IFileDialogControlEvents - STDMETHOD(OnItemSelected)( IFileDialogCustomize *pfdc, DWORD dwIDCtl, DWORD dwIDItem ) { return S_OK; } - STDMETHOD(OnButtonClicked)( IFileDialogCustomize *pfdc, DWORD dwIDCtl ); - STDMETHOD(OnCheckButtonToggled)( IFileDialogCustomize *pfdc, DWORD dwIDCtl, BOOL bChecked ) { return S_OK; } - STDMETHOD(OnControlActivating)( IFileDialogCustomize *pfdc, DWORD dwIDCtl ) { return S_OK; } - - CComPtr m_pResult; -}; - -HRESULT STDMETHODCALLTYPE CBrowseLinkEvents::QueryInterface( REFIID riid, void **ppvObject ) -{ - if (riid==IID_IUnknown) - { - *ppvObject=(IUnknown*)(IFileDialogEvents*)this; - return S_OK; - } - if (riid==IID_IFileDialogEvents) - { - *ppvObject=(IFileDialogEvents*)this; - return S_OK; - } - if (riid==IID_IFileDialogControlEvents) - { - *ppvObject=(IFileDialogControlEvents*)this; - return S_OK; - } - *ppvObject=NULL; - return E_NOINTERFACE; -} - -HRESULT STDMETHODCALLTYPE CBrowseLinkEvents::OnButtonClicked( IFileDialogCustomize *pfdc, DWORD dwIDCtl ) -{ - CComQIPtr pfd=pfdc; - if (!pfd) return E_INVALIDARG; - - CComPtr pItem; - if (SUCCEEDED(pfd->GetCurrentSelection(&pItem))) - { - SFGAOF attr; - if (SUCCEEDED(pItem->GetAttributes(SFGAO_FOLDER|SFGAO_STREAM,&attr)) && (attr&(SFGAO_FOLDER|SFGAO_STREAM))!=SFGAO_FOLDER) - pItem=NULL; - } - if (!pItem) - { - pfd->GetFolder(&pItem); - } - m_pResult=pItem; - pfd->Close(S_FALSE); - return S_OK; -} - -/////////////////////////////////////////////////////////////////////////////// - -bool BrowseCommandHelper( HWND parent, wchar_t *text ) -{ - if (text[0]=='"') - { - // remove quotes - int len=Strlen(text); - if (len>1 && text[len-1]=='"') - { - len-=2; - memmove(text,text+1,len*2); - text[len]=0; - } - } - OPENFILENAME ofn={sizeof(ofn)}; - ofn.hwndOwner=parent; - wchar_t filters[256]; - Strcpy(filters,_countof(filters),LoadStringEx(IDS_COMMAND_FILTERS)); - for (wchar_t *c=filters;*c;c++) - if (*c=='|') *c=0; - ofn.lpstrFilter=filters; - ofn.nFilterIndex=1; - DoEnvironmentSubst(text,_MAX_PATH); - wchar_t dir[_MAX_PATH]; - Strcpy(dir,_countof(dir),text); - PathRemoveFileSpec(dir); - ofn.lpstrInitialDir=dir; - text[0]=0; - ofn.lpstrFile=text; - ofn.nMaxFile=_MAX_PATH; - ofn.Flags=OFN_DONTADDTORECENT|OFN_ENABLESIZING|OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_NOCHANGEDIR|OFN_NODEREFERENCELINKS; - if (GetOpenFileName(&ofn)) - { - wchar_t buf[_MAX_PATH]; - UnExpandEnvStrings(text,buf,_countof(buf)); - // add quotes if needed - if (wcschr(buf,' ')) - { - int len=Strlen(buf); - if (len<_MAX_PATH-3) - { - memcpy(text+1,buf,len*2); - text[0]='"'; - text[len+1]='"'; - text[len+2]=0; - } - } - else - Strcpy(text,_MAX_PATH,buf); - return true; - } - return false; -} - -bool BrowseLinkHelper( HWND parent, wchar_t *text ) -{ - DoEnvironmentSubst(text,_MAX_PATH); - - CComPtr pDialog; - if (FAILED(pDialog.CoCreateInstance(CLSID_FileOpenDialog,NULL,CLSCTX_INPROC_SERVER))) - return false; - CComQIPtr pCustomize(pDialog); - if (!pCustomize) - return false; - - pDialog->SetTitle(LoadStringEx(IDS_PICK_LINK_TITLE)); - pDialog->SetOkButtonLabel(LoadStringEx(IDS_PICK_LINK_FILE)); - wchar_t button[256]; - Sprintf(button,_countof(button),L" %s ",LoadStringEx(IDS_PICK_LINK_FOLDER)); - pCustomize->AddPushButton(101,button); - - CBrowseLinkEvents events; - DWORD cookie; - pDialog->Advise(&events,&cookie); - pDialog->SetOptions(FOS_ALLNONSTORAGEITEMS|FOS_FILEMUSTEXIST|FOS_DONTADDTORECENT|FOS_DEFAULTNOMINIMODE|FOS_NODEREFERENCELINKS); - { - const wchar_t *c=wcschr(text,'|'); - if (c) - { - for (c++;*c==' ';) - c++; - } - else - c=text; - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromParsingName(c,NULL,IID_IShellItem,(void**)&pItem))) - pDialog->SetFolder(pItem); - } - - HRESULT hr=pDialog->Show(parent); - CComPtr pResult; - if (hr==S_OK) - pDialog->GetResult(&pResult); - else if (hr==S_FALSE) - pResult=events.m_pResult; - - pDialog->Unadvise(cookie); - - if (pResult) - { - CComString pName; - pResult->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName); - UnExpandEnvStrings(pName,text,_MAX_PATH); - } - - return pResult!=NULL; -} - -bool BrowseIconHelper( HWND parent, wchar_t *text ) -{ - int id=0; - if (*text) - { - wchar_t *c=wcsrchr(text,','); - if (c) - { - *c=0; - id=_wtol(c+1); - } - } - else - Strcpy(text,_MAX_PATH,L"shell32.dll"); - if (BrowseForIcon(parent,text,id)) - { - if (_wcsicmp(PathFindExtension(text),L".ico")==0) - return true; - if (id>0) - { - wchar_t buf[20]; - Sprintf(buf,_countof(buf),L", %d",id); - Strcat(text,_MAX_PATH,buf); - return true; - } - } - return false; -} - -bool CEditCustomItemDlg::Run( HWND parent, int dlgID ) -{ - parent=GetAncestor(parent,GA_ROOT); - DLGTEMPLATE *pTemplate=LoadDialogEx(dlgID); - Create(parent,pTemplate); - ShowWindow(SW_SHOWNORMAL); - ::EnableWindow(parent,FALSE); - SetEnableParent(parent); - MSG msg; - while (m_hWnd && GetMessage(&msg,0,0,0)) - { - if (IsDialogMessage(&msg)) continue; - TranslateMessage(&msg); - DispatchMessage(&msg); - } - return GetResult(); -} - -/////////////////////////////////////////////////////////////////////////////// - -// Subclass the tooltip to delay the tip when the mouse moves from one tree item to the next -static LRESULT CALLBACK SubclassInfoTipProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==TTM_UPDATE) - { - int time=(int)SendMessage(hWnd,TTM_GETDELAYTIME,TTDT_RESHOW,0); - SetTimer(hWnd,'CLSH',time,NULL); - return 0; - } - if (uMsg==WM_TIMER && wParam=='CLSH') - { - KillTimer(hWnd,wParam); - DefSubclassProc(hWnd,TTM_UPDATE,0,0); - return 0; - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CCustomTreeDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_pSetting=NULL; - - InitResize(); - EnableThemeDialogTexture(m_hWnd,ETDT_ENABLETAB); - m_Tree.SubclassWindow(GetDlgItem(IDC_TREEITEMS),this); - m_CommandsTree.SubclassWindow(GetDlgItem(IDC_TREECOMMANDS)); - TreeView_SetImageList(m_CommandsTree,TreeView_GetImageList(m_Tree,TVSIL_NORMAL),TVSIL_NORMAL); - if (IsAppThemed()) - { - m_Tree.SetWindowLong(GWL_STYLE,m_Tree.GetWindowLong(GWL_STYLE)|TVS_TRACKSELECT); - SetWindowTheme(m_Tree,L"Explorer",NULL); - m_CommandsTree.SetWindowLong(GWL_STYLE,m_CommandsTree.GetWindowLong(GWL_STYLE)|TVS_TRACKSELECT); - SetWindowTheme(m_CommandsTree,L"Explorer",NULL); - } - - int height=TreeView_GetItemHeight(m_Tree); - int minHeight=GetSystemMetrics(SM_CXSMICON)+2; - if (height::OnSize(); - return 0; -} - -LRESULT CCustomTreeDlg::OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CWindow tree=(HWND)wParam; - if (tree.m_hWnd!=m_Tree.m_hWnd && tree.m_hWnd!=m_CommandsTree.m_hWnd) - return 0; - if (m_Tree.IsDragging()) - { - ReleaseCapture(); - return 0; - } - HTREEITEM hItem=NULL; - POINT pt; - if ((DWORD)lParam==0xFFFFFFFF) - { - // keyboard - hItem=TreeView_GetSelection(tree); - if (hItem) - { - RECT rc; - TreeView_GetItemRect(tree,hItem,&rc,TRUE); - pt.x=(rc.left+rc.right)/2; - pt.y=(rc.top+rc.bottom)/2; - } - else - pt.x=pt.y=0; - tree.ClientToScreen(&pt); - } - else - { - DWORD pos=GetMessagePos(); - pt.x=(short)LOWORD(pos); - pt.y=(short)HIWORD(pos); - TVHITTESTINFO test={pt}; - tree.ScreenToClient(&test.pt); - if (TreeView_HitTest(tree,&test) && (test.flags&(TVHT_ONITEMICON|TVHT_ONITEMLABEL))) - { - TreeView_SelectItem(tree,test.hItem); - hItem=test.hItem; - } - } - - CTreeItem *pItem=NULL; - if (tree.m_hWnd==m_Tree.m_hWnd) - { - if (hItem) - { - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_Tree,&item); - pItem=(CTreeItem*)item.lParam; - } - } - else if (!hItem) - return 0; - - enum { - CMD_EDIT=1, - CMD_RENAME, - CMD_DELETE, - CMD_RESETALL, - CMD_ADD, - CMD_ADD_MENU, - }; - - HMENU menu=CreatePopupMenu(); - wchar_t text[256]; - if (tree.m_hWnd==m_Tree.m_hWnd) - { - if (pItem) - { - if (!pItem->pStdCommand->IsSeparator()) - { - Sprintf(text,_countof(text),L"%s\tEnter",LoadStringEx(IDS_MENU_EDIT)); - AppendMenu(menu,MF_STRING,CMD_EDIT,text); - SetMenuDefaultItem(menu,CMD_EDIT,FALSE); - Sprintf(text,_countof(text),L"%s\tF2",LoadStringEx(IDS_MENU_RENAME)); - AppendMenu(menu,MF_STRING,CMD_RENAME,text); - if (m_pSetting->IsLocked()) - { - EnableMenuItem(menu,CMD_EDIT,MF_BYCOMMAND|MF_GRAYED); - EnableMenuItem(menu,CMD_RENAME,MF_BYCOMMAND|MF_GRAYED); - } - else if (!pItem->pStdCommand->IsCustom()) - EnableMenuItem(menu,CMD_RENAME,MF_BYCOMMAND|MF_GRAYED); - if (!TreeView_GetChild(m_Tree,hItem)) - AppendMenu(menu,MF_STRING,CMD_ADD_MENU,LoadStringEx(IDS_INSERT_MENU)); - if (m_pSetting->IsLocked()) - EnableMenuItem(menu,CMD_ADD_MENU,MF_BYCOMMAND|MF_GRAYED); - } - Sprintf(text,_countof(text),L"%s\tDel",LoadStringEx(IDS_MENU_DELETE)); - AppendMenu(menu,MF_STRING,CMD_DELETE,text); - if (m_pSetting->IsLocked()) - EnableMenuItem(menu,CMD_DELETE,MF_BYCOMMAND|MF_GRAYED); - } - if (!m_pSetting->IsLocked()) - AppendMenu(menu,MF_STRING,CMD_RESETALL,LoadStringEx(m_bMenu?IDS_RESET_MENU:IDS_RESET_TOOLBAR)); - } - else - { - Sprintf(text,_countof(text),L"%s\tEnter",LoadStringEx(m_bMenu?IDS_ADD_MENU:IDS_ADD_TOOLBAR)); - AppendMenu(menu,MF_STRING,CMD_ADD,text); - SetMenuDefaultItem(menu,CMD_ADD,FALSE); - if (m_pSetting->IsLocked()) - EnableMenuItem(menu,CMD_ADD,MF_BYCOMMAND|MF_GRAYED); - } - - int res=TrackPopupMenu(menu,TPM_RIGHTBUTTON|TPM_RETURNCMD,pt.x,pt.y,0,m_hWnd,NULL); - DestroyMenu(menu); - if (res==CMD_EDIT) - EditItemInternal(pItem,hItem); - if (res==CMD_DELETE) - m_Tree.DeleteItem(hItem); - if (res==CMD_RENAME) - TreeView_EditLabel(m_Tree,hItem); - if (res==CMD_RESETALL) - { - if (::MessageBox(m_hWnd,LoadStringEx(m_bMenu?IDS_RESET_MENU_WARN:IDS_RESET_TOOLBAR_WARN),LoadStringEx(m_bMenu?IDS_RESET_MENU:IDS_RESET_TOOLBAR),MB_YESNO|MB_ICONWARNING)==IDYES) - { - { - CSettingsLockWrite lock; - m_pSetting->value=m_pSetting->defValue; - m_pSetting->flags|=CSetting::FLAG_DEFAULT; - ItemsChanged(); - SetSettingsDirty(); - } - SetGroup(m_pSetting-1,true); - } - } - if (res==CMD_ADD) - { - AddItem(hItem); - } - if (res==CMD_ADD_MENU) - { - TVINSERTSTRUCT insert={hItem,TVI_FIRST,{TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_STATE|TVIF_TEXT,NULL,TVIS_EXPANDED,TVIS_EXPANDED}}; - CString text=LoadStringEx(IDS_EMPTY_MENU); - insert.item.pszText=(LPWSTR)(LPCWSTR)text; - HTREEITEM hNew=TreeView_InsertItem(m_Tree,&insert); - TreeView_SelectItem(m_Tree,hNew); - TreeView_EnsureVisible(m_Tree,hNew); - } - return 0; -} - -const CStdCommand *CCustomTreeDlg::FindStdCommand( const wchar_t *name ) -{ - for (int i=0;m_pStdCommands[i].name;i++) - if (m_pStdCommands[i].IsStyle(m_Style,m_StyleMask) && _wcsicmp(m_pStdCommands[i].name,name)==0) - return &m_pStdCommands[i]; - return NULL; -} - -LRESULT CCustomTreeDlg::OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVGETINFOTIP *pTip=(NMTVGETINFOTIP*)pnmh; - const CStdCommand *pCommand=NULL; - if (idCtrl==IDC_TREECOMMANDS) - pCommand=(CStdCommand*)pTip->lParam; - else if (!m_pSetting->IsLockedReg()) - { - CTreeItem *pItem=(CTreeItem*)pTip->lParam; - if (pItem) - pCommand=pItem->pStdCommand; - } - if (pCommand) - { - if (idCtrl==IDC_TREECOMMANDS) - Sprintf(pTip->pszText,pTip->cchTextMax,L"%s\n%s",LoadStringEx(pCommand->tipID),LoadStringEx(m_bMenu?IDS_COMMAND_SM_TIP:IDS_COMMAND_EXP_TIP)); - else - Strcpy(pTip->pszText,pTip->cchTextMax,LoadStringEx(pCommand->tipID)); - } - return 0; -} - -LRESULT CCustomTreeDlg::OnBeginDrag( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTREEVIEW *pDrag=(NMTREEVIEW*)pnmh; - m_Tree.BeginDrag((CStdCommand*)pDrag->itemNew.lParam); - return 0; -} - -LRESULT CCustomTreeDlg::OnAddItem( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - if (pnmh->code==TVN_KEYDOWN) - { - NMTVKEYDOWN *pKey=(NMTVKEYDOWN*)pnmh; - if (pKey->wVKey!=VK_RETURN) - { - bHandled=FALSE; - return 0; - } - } - - HTREEITEM hItem=TreeView_GetSelection(m_CommandsTree); - if (hItem) - AddItem(hItem); - return TRUE; -} - -LRESULT CCustomTreeDlg::OnEditItem( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - if (pnmh->code==TVN_KEYDOWN) - { - NMTVKEYDOWN *pKey=(NMTVKEYDOWN*)pnmh; - if (pKey->wVKey!=VK_RETURN) - { - bHandled=FALSE; - return 0; - } - } - - TVITEM item={TVIF_PARAM,TreeView_GetSelection(m_Tree)}; - if (!item.hItem) return 0; - TreeView_GetItem(m_Tree,&item); - CTreeItem *pItem=(CTreeItem*)item.lParam; - if (pItem) - EditItemInternal(pItem,item.hItem); - return TRUE; -} - -void CCustomTreeDlg::AddItem( HTREEITEM hCommand ) -{ - if (m_pSetting->IsLocked()) return; - TVITEM item={TVIF_PARAM,hCommand}; - TreeView_GetItem(m_CommandsTree,&item); - const CStdCommand *pCommand=(CStdCommand*)item.lParam; - HTREEITEM hAfter=TreeView_GetSelection(m_Tree); - HTREEITEM hParent=NULL; - if (hAfter) - { - hParent=TreeView_GetParent(m_Tree,hAfter); - TVITEM item={TVIF_PARAM,hAfter}; - TreeView_GetItem(m_Tree,&item); - if (!item.lParam) - { - TreeView_DeleteItem(m_Tree,hAfter); - hAfter=TVI_LAST; - } - } - else - hAfter=TVI_LAST; - HTREEITEM hItem=m_Tree.CreateStdItem(pCommand,hParent,hAfter); - TreeView_SelectItem(m_Tree,hItem); - TreeView_EnsureVisible(m_Tree,hItem); - SerializeData(); -} - -HTREEITEM CCustomTreeDlg::GetRoot( void ) -{ - return TreeView_GetRoot(m_Tree); -} - -HTREEITEM CCustomTreeDlg::GetChild( HTREEITEM hParent ) -{ - return TreeView_GetChild(m_Tree,hParent); -} - -HTREEITEM CCustomTreeDlg::GetNext( HTREEITEM hItem ) -{ - return TreeView_GetNextSibling(m_Tree,hItem); -} - -CTreeItem *CCustomTreeDlg::GetItem( HTREEITEM hItem ) -{ - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_Tree,&item); - return (CTreeItem*)item.lParam; -} - -void CCustomTreeDlg::EditItemInternal( CTreeItem *pItem, HTREEITEM hItem ) -{ - if (!m_pSetting->IsLocked() && !pItem->pStdCommand->IsSeparator() && EditItem(pItem,m_Tree,hItem,m_Tree.m_Modules)) - { - SerializeData(); - m_Tree.UpdateItem(pItem,hItem); - } -} - -bool CCustomTreeDlg::EditItem( CTreeItem *pItem, HWND tree, HTREEITEM hItem, std::vector &modules ) -{ - MessageBox(L"Edit Item",L"",MB_OK); - return false; -} - -LRESULT CCustomTreeDlg::OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVCUSTOMDRAW *pDraw=(NMTVCUSTOMDRAW*)pnmh; - if (pDraw->nmcd.dwDrawStage==CDDS_PREPAINT) - { - return CDRF_NOTIFYITEMDRAW; - } - else if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPREPAINT && !pDraw->nmcd.lItemlParam) - { - if (!IsAppThemed()) - { - TVITEM item={TVIF_STATE,(HTREEITEM)pDraw->nmcd.dwItemSpec,0,TVIS_SELECTED}; - TreeView_GetItem(m_Tree,&item); - if (item.state&TVIS_SELECTED) - return CDRF_DODEFAULT; - } - pDraw->clrText=GetSysColor(COLOR_GRAYTEXT); - } - return CDRF_DODEFAULT; -} - -int CCustomTreeDlg::ParseTreeItem( CTreeItem *pItem, CSettingsParser &parser ) -{ - const CStdCommand *pStdCommand=FindStdCommand(pItem->name); - if (pStdCommand && pStdCommand->IsSeparator()) - { - pItem->pStdCommand=pStdCommand; - return 0; - } - wchar_t text[256]; - Sprintf(text,_countof(text),L"%s.Command",pItem->name); - pItem->SetCommand(parser.FindSetting(text,L""),m_pStdCommands,m_Style,m_StyleMask); - Sprintf(text,_countof(text),L"%s.Link",pItem->name); - pItem->link=parser.FindSetting(text,L""); - Sprintf(text,_countof(text),L"%s.Label",pItem->name); - pItem->label=parser.FindSetting(text,L""); - Sprintf(text,_countof(text),L"%s.Tip",pItem->name); - pItem->tip=parser.FindSetting(text,L""); - Sprintf(text,_countof(text),L"%s.Icon",pItem->name); - pItem->icon=parser.FindSetting(text,L""); - ParseTreeItemExtra(pItem,parser); - return m_Tree.UpdateItem(pItem,NULL); -} - -void CCustomTreeDlg::AppendString( std::vector &stringBuilder, const wchar_t *text ) -{ - stringBuilder.insert(stringBuilder.end(),text,text+Strlen(text)); -} - -void CCustomTreeDlg::SerializeItem( HTREEITEM hItem, std::vector &stringBuilder ) -{ - TVITEM item={TVIF_PARAM,hItem}; - CTreeItem *pItem=NULL; - if (hItem) - { - TreeView_GetItem(m_Tree,&item); - pItem=(CTreeItem*)item.lParam; - } - wchar_t text[2048]; - HTREEITEM hChild=hItem?TreeView_GetChild(m_Tree,hItem):TreeView_GetRoot(m_Tree); - if (hChild) - { - // save .Items - if (pItem) - Sprintf(text,_countof(text),L"%s.Items=",pItem->name); - else - Strcpy(text,_countof(text),L"Items="); - AppendString(stringBuilder,text); - - bool bFirst=true; - for (;hChild;hChild=TreeView_GetNextSibling(m_Tree,hChild), bFirst=false) - { - item.hItem=hChild; - TreeView_GetItem(m_Tree,&item); - CTreeItem *pChild=(CTreeItem*)item.lParam; - if (pChild) - { - Sprintf(text,_countof(text),bFirst?L"%s":L",%s",pChild->name); - AppendString(stringBuilder,text); - } - } - AppendString(stringBuilder,L"\n"); - } - - if (pItem && !pItem->pStdCommand->IsSeparator()) - { - // save other properties - if (!pItem->command.IsEmpty()) - { - Sprintf(text,_countof(text),L"%s.Command=%s\n",pItem->name,pItem->command); - AppendString(stringBuilder,text); - } - if (!pItem->link.IsEmpty()) - { - Sprintf(text,_countof(text),L"%s.Link=%s\n",pItem->name,pItem->link); - AppendString(stringBuilder,text); - } - if (!pItem->label.IsEmpty()) - { - Sprintf(text,_countof(text),L"%s.Label=%s\n",pItem->name,pItem->label); - AppendString(stringBuilder,text); - } - if (!pItem->tip.IsEmpty()) - { - Sprintf(text,_countof(text),L"%s.Tip=%s\n",pItem->name,pItem->tip); - AppendString(stringBuilder,text); - } - if (!pItem->icon.IsEmpty()) - { - Sprintf(text,_countof(text),L"%s.Icon=%s\n",pItem->name,pItem->icon); - AppendString(stringBuilder,text); - } - SerializeItemExtra(pItem,stringBuilder); - } - hChild=hItem?TreeView_GetChild(m_Tree,hItem):TreeView_GetRoot(m_Tree); - for (;hChild;hChild=TreeView_GetNextSibling(m_Tree,hChild)) - SerializeItem(hChild,stringBuilder); -} - -void CCustomTreeDlg::SerializeData( void ) -{ - std::vector stringBuilder; - SerializeItem(NULL,stringBuilder); - stringBuilder.push_back(0); - CSettingsLockWrite lock; - const wchar_t *strNew=&stringBuilder[0]; - const wchar_t *strOld=m_pSetting->value.vt==VT_BSTR?m_pSetting->value.bstrVal:L"???"; - if ((m_pSetting->flags&CSetting::FLAG_DEFAULT) || wcscmp(strNew,strOld)!=0) - SetSettingsDirty(); - m_pSetting->value=CComVariant(strNew); - m_pSetting->flags&=~CSetting::FLAG_DEFAULT; - ItemsChanged(); -} - -void CCustomTreeDlg::CreateTreeItems( CSettingsParser &parser, HTREEITEM hParent, const CSettingsParser::TreeItem *pItems, int index ) -{ - for (;!pItems[index].name.IsEmpty();index++) - { - CTreeItem *pNewItem=new CTreeItem; - pNewItem->name=pItems[index].name; - TVINSERTSTRUCT insert={hParent,TVI_LAST,{TVIF_STATE|TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE,NULL,TVIS_EXPANDED,TVIS_EXPANDED}}; - insert.item.iImage=insert.item.iSelectedImage=ParseTreeItem(pNewItem,parser); - insert.item.lParam=(LPARAM)pNewItem; - CString dispName=pNewItem->GetDisplayName(false); - insert.item.pszText=(LPWSTR)(LPCWSTR)dispName; - HTREEITEM hItem=TreeView_InsertItem(m_Tree,&insert); - - if (pItems[index].children>=0) - CreateTreeItems(parser,hItem,pItems,pItems[index].children); - } -} - -void CCustomTreeDlg::SetGroup( CSetting *pGroup, bool bReset ) -{ - if (!m_pSetting || bReset) // optimization - initialize the UI only the first time - { - TreeView_DeleteAllItems(m_Tree); - m_pSetting=pGroup+1; - Assert(!m_pSetting->pLinkTo); - m_Tree.SetDisabled(m_pSetting->IsLocked()); - const wchar_t *pText=L""; - if (m_pSetting->value.vt==VT_BSTR) - pText=m_pSetting->value.bstrVal; - - CSettingsParser parser; - parser.LoadText(pText,Strlen(pText)); - parser.ParseText(); - std::vector items; - parser.ParseTree(L"Items",items); - if (!items.empty()) - CreateTreeItems(parser,NULL,&items[0],0); - InitItems(); - } - // use the tooltip from m_CommandsTree to show the "locked" tooltip for m_Tree. otherwise it will behave like an infotip and move from item to item - CWindow tooltip=(HWND)m_CommandsTree.SendMessage(TVM_GETTOOLTIPS); - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,(UINT_PTR)(HWND)m_Tree}; - CString str=LoadStringEx(m_bMenu?IDS_MENU_LOCKED:IDS_TOOLBAR_LOCKED); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - if (m_pSetting->IsLockedReg()) - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - else - tooltip.SendMessage(TTM_DELTOOL,0,(LPARAM)&tool); - - TreeView_SetBkColor(m_Tree,m_pSetting->IsLocked()?GetSysColor(COLOR_BTNFACE):-1); - TreeView_SetBkColor(m_CommandsTree,m_pSetting->IsLocked()?GetSysColor(COLOR_BTNFACE):-1); -} - -CCustomTreeDlg::CCustomTreeDlg( bool bMenu, const CStdCommand *pStdCommands, int style, int mask ): -m_Tree(*new CSettingsTree(mask)), m_CommandsTree(*new CCommandsTree) -{ - m_bMenu=bMenu; - m_pStdCommands=pStdCommands; - m_Style=style; - m_StyleMask=mask; -} - -CCustomTreeDlg::~CCustomTreeDlg( void ) -{ - delete &m_Tree; - delete &m_CommandsTree; -} - -/////////////////////////////////////////////////////////////////////////////// - -class CBrowseForIconDlg: public CResizeableDlg -{ -public: - CBrowseForIconDlg( wchar_t *path, int &id ): m_pPath(path), m_ID(id) { m_bResult=false; } - void SetEnableParent( HWND parent ) { m_EnableParent=parent; } - bool GetResult( void ) { return m_bResult; } - - BEGIN_MSG_MAP( CBrowseForIconDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - MESSAGE_HANDLER( WM_GETMINMAXINFO, OnGetMinMaxInfo ) - COMMAND_ID_HANDLER( IDC_BUTTONBROWSE, OnBrowse ) - COMMAND_ID_HANDLER( IDOK, OnOK ) - COMMAND_ID_HANDLER( IDCANCEL, OnCancel ) - COMMAND_HANDLER( IDC_EDITFILE, EN_KILLFOCUS, OnKillFocus ) - NOTIFY_HANDLER( IDC_LISTICONS, LVN_ITEMACTIVATE, OnItemActivate ) - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_EDITFILE,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_BUTTONBROWSE,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_LISTICONS,MOVE_SIZE_X|MOVE_SIZE_Y) - RESIZE_CONTROL(IDOK,MOVE_MOVE_X|MOVE_MOVE_Y) - RESIZE_CONTROL(IDCANCEL,MOVE_MOVE_X|MOVE_MOVE_Y) - END_RESIZE_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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnBrowse( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnKillFocus( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnItemActivate( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - -private: - HWND m_EnableParent; - bool m_bResult; - wchar_t *m_pPath; - int &m_ID; - CString m_LastName; - - void UpdateIcons( int id ); - void StorePlacement( void ); - static BOOL CALLBACK EnumIconsProc( HMODULE hModule, LPCTSTR lpszType, LPTSTR lpszName, LONG_PTR lParam ); -}; - -LRESULT CBrowseForIconDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - SetDlgItemText(IDC_EDITFILE,m_pPath); - CWindow list=GetDlgItem(IDC_LISTICONS); - list.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_DOUBLEBUFFER,LVS_EX_DOUBLEBUFFER); - HDC hdc=CreateCompatibleDC(NULL); - HFONT font0=(HFONT)SelectObject(hdc,list.GetFont()); - TEXTMETRIC metrics; - GetTextMetrics(hdc,&metrics); - SelectObject(hdc,font0); - DeleteDC(hdc); - ListView_SetIconSpacing(list,GetSystemMetrics(SM_CXICON)+metrics.tmHeight+7,GetSystemMetrics(SM_CYICON)+metrics.tmHeight+7); - if (IsAppThemed()) - SetWindowTheme(list,L"Explorer",NULL); - UpdateIcons(m_ID); - InitResize(MOVE_MODAL); - SHAutoComplete(GetDlgItem(IDC_EDITFILE),SHACF_FILESYSTEM); - - RECT rc; - CRegKey regSettings; - if (regSettings.Open(HKEY_CURRENT_USER,GetSettingsRegPath())==ERROR_SUCCESS) - { - ULONG size=sizeof(rc); - if (regSettings.QueryBinaryValue(L"CBrowseForIconDlg",&rc,&size)==ERROR_SUCCESS && size==sizeof(rc)) - SetStoreRect(rc); - } - return TRUE; -} - -LRESULT CBrowseForIconDlg::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CResizeableDlg::OnSize(); - return 0; -} - -LRESULT CBrowseForIconDlg::OnBrowse( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - OPENFILENAME ofn={sizeof(ofn)}; - ofn.hwndOwner=m_hWnd; - wchar_t filters[256]; - Strcpy(filters,_countof(filters),LoadStringEx(IDS_ICON_FILTERS)); - for (wchar_t *c=filters;*c;c++) - if (*c=='|') *c=0; - ofn.lpstrFilter=filters; - ofn.nFilterIndex=1; - wchar_t path[_MAX_PATH]; - GetDlgItemText(IDC_EDITFILE,path,_countof(path)); - DoEnvironmentSubst(path,_countof(path)); - wchar_t dir[_MAX_PATH]; - Strcpy(dir,_countof(dir),path); - PathRemoveFileSpec(dir); - ofn.lpstrInitialDir=dir; - path[0]=0; - ofn.lpstrFile=path; - ofn.nMaxFile=_countof(path); - CString title=LoadStringEx(IDS_ICON_TITLE); - ofn.lpstrTitle=title; - ofn.Flags=OFN_DONTADDTORECENT|OFN_ENABLESIZING|OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_NOCHANGEDIR; - if (GetOpenFileName(&ofn)) - { - wchar_t buf[_MAX_PATH]; - UnExpandEnvStrings(path,buf,_countof(buf)); - SetDlgItemText(IDC_EDITFILE,buf); - UpdateIcons(-1); - } - return 0; -} - -void CBrowseForIconDlg::StorePlacement( void ) -{ - RECT rc; - GetStoreRect(rc); - - CRegKey regSettings; - if (regSettings.Open(HKEY_CURRENT_USER,GetSettingsRegPath())!=ERROR_SUCCESS) - regSettings.Create(HKEY_CURRENT_USER,GetSettingsRegPath()); - regSettings.SetBinaryValue(L"CBrowseForIconDlg",&rc,sizeof(rc)); -} - -LRESULT CBrowseForIconDlg::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (GetFocus()==GetDlgItem(IDC_EDITFILE)) - { - SendMessage(WM_NEXTDLGCTL,(WPARAM)GetDlgItem(IDOK).m_hWnd,TRUE); - return 0; - } - CString text; - GetDlgItemText(IDC_EDITFILE,text); - text.TrimLeft(); - text.TrimRight(); - Strcpy(m_pPath,_MAX_PATH,text); - CWindow list=GetDlgItem(IDC_LISTICONS); - int sel=ListView_GetNextItem(list,-1,LVNI_SELECTED); - if (sel>=0) - { - LVITEM item={LVIF_PARAM,sel}; - ListView_GetItem(list,&item); - m_ID=(int)item.lParam; - } - else - m_ID=0; - ::EnableWindow(m_EnableParent,TRUE); - m_bResult=true; - StorePlacement(); - DestroyWindow(); - return 0; -} - -LRESULT CBrowseForIconDlg::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - ::EnableWindow(m_EnableParent,TRUE); - m_bResult=false; - StorePlacement(); - DestroyWindow(); - return 0; -} - -LRESULT CBrowseForIconDlg::OnKillFocus( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - UpdateIcons(-1); - return 0; -} - -LRESULT CBrowseForIconDlg::OnItemActivate( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - PostMessage(WM_COMMAND,IDOK,0); - return 0; -} - -BOOL CALLBACK CBrowseForIconDlg::EnumIconsProc( HMODULE hModule, LPCTSTR lpszType, LPTSTR lpszName, LONG_PTR lParam ) -{ - if (IS_INTRESOURCE(lpszName)) - { - HWND list=(HWND)lParam; - HICON hIcon=(HICON)LoadImage(hModule,lpszName,IMAGE_ICON,0,0,LR_DEFAULTSIZE|LR_DEFAULTCOLOR); - if (hIcon) - { - HIMAGELIST images=ListView_GetImageList(list,LVSIL_NORMAL); - int idx=ImageList_AddIcon(images,hIcon); - DestroyIcon(hIcon); - LVITEM item={LVIF_IMAGE|LVIF_PARAM|LVIF_TEXT}; - item.iItem=idx; - item.iImage=idx; - item.lParam=(WORD)(DWORD_PTR)lpszName; - wchar_t text[20]; - Sprintf(text,_countof(text),L"%d",(int)item.lParam); - item.pszText=text; - ListView_InsertItem(list,&item); - } - } - return TRUE; -} - -void CBrowseForIconDlg::UpdateIcons( int id ) -{ - wchar_t path[1024]; - GetDlgItemText(IDC_EDITFILE,path,_countof(path)); - DoEnvironmentSubst(path,_countof(path)); - if (m_LastName==path && id==-1) return; - m_LastName=path; - - CWindow list=GetDlgItem(IDC_LISTICONS); - ListView_DeleteAllItems(list); - HIMAGELIST images=ImageList_Create(GetSystemMetrics(SM_CXICON),GetSystemMetrics(SM_CYICON),ILC_COLOR32|ILC_MASK,10,10); - ListView_SetImageList(list,images,LVSIL_NORMAL); - ImageList_RemoveAll(images); - - if (_wcsicmp(PathFindExtension(path),L".ico")==0) - { - // load icon file - HICON hIcon=(HICON)LoadImage(NULL,path,IMAGE_ICON,0,0,LR_DEFAULTSIZE|LR_DEFAULTCOLOR|LR_LOADFROMFILE); - if (hIcon) - { - ImageList_AddIcon(images,hIcon); - DestroyIcon(hIcon); - LVITEM item={LVIF_IMAGE|LVIF_PARAM|LVIF_STATE,0,0,LVIS_SELECTED,LVIS_SELECTED}; - item.iImage=0; - item.lParam=0; - ListView_InsertItem(list,&item); - } - } - else - { - // load module file - HINSTANCE hInstance=_AtlBaseModule.GetResourceInstance(); - HMODULE hModule; - if (*path) - hModule=LoadLibraryEx(path,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - else - hModule=hInstance; - if (hModule) - { - // enumerate icons, extract icons - list.SendMessage(WM_SETREDRAW,FALSE); - EnumResourceNames(hModule,RT_GROUP_ICON,EnumIconsProc,(LONG_PTR)list.m_hWnd); - list.SendMessage(WM_SETREDRAW,TRUE); - // free module - if (hModule!=hInstance) FreeLibrary(hModule); - } - if (ListView_GetItemCount(list)>0) - { - int idx=0; - if (id>0) - { - LVFINDINFO find={LVFI_PARAM,0,id}; - idx=ListView_FindItem(list,-1,&find); - if (idx<0) idx=0; - } - ListView_SetItemState(list,idx,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - ListView_EnsureVisible(list,idx,FALSE); - list.InvalidateRect(NULL); - } - } -} - -bool BrowseForIcon( HWND hWndParent, wchar_t *path, int &id ) -{ - CBrowseForIconDlg dlg(path,id); - - hWndParent=GetAncestor(hWndParent,GA_ROOT); - DLGTEMPLATE *pTemplate=LoadDialogEx(IDD_BROWSEFORICON); - dlg.Create(hWndParent,pTemplate); - dlg.ShowWindow(SW_SHOWNORMAL); - EnableWindow(hWndParent,FALSE); - dlg.SetEnableParent(hWndParent); - MSG msg; - while (dlg.m_hWnd && GetMessage(&msg,0,0,0)) - { - if (dlg.IsDialogMessage(&msg)) continue; - TranslateMessage(&msg); - DispatchMessage(&msg); - } - return dlg.GetResult(); -} - -/////////////////////////////////////////////////////////////////////////////// - -bool BrowseForBitmap( HWND hWndParent, wchar_t *path, bool bAllowJpeg ) -{ - OPENFILENAME ofn={sizeof(ofn)}; - ofn.hwndOwner=hWndParent; - wchar_t filters[256]; - Strcpy(filters,_countof(filters),LoadStringEx(bAllowJpeg?IDS_BMP_FILTERS2:IDS_BMP_FILTERS)); - for (wchar_t *c=filters;*c;c++) - if (*c=='|') *c=0; - ofn.lpstrFilter=filters; - ofn.nFilterIndex=1; - wchar_t dir[_MAX_PATH]; - Strcpy(dir,_countof(dir),path); - PathRemoveFileSpec(dir); - ofn.lpstrInitialDir=dir; - path[0]=0; - ofn.lpstrFile=path; - ofn.nMaxFile=_MAX_PATH; - CString title=LoadStringEx(IDS_BMP_TITLE); - ofn.lpstrTitle=title; - ofn.Flags=OFN_DONTADDTORECENT|OFN_ENABLESIZING|OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_NOCHANGEDIR; - if (GetOpenFileName(&ofn)) - { - wchar_t buf[_MAX_PATH]; - UnExpandEnvStrings(path,buf,_countof(buf)); - Strcpy(path,_MAX_PATH,buf); - return true; - } - return false; -} - -/////////////////////////////////////////////////////////////////////////////// - -bool BrowseForSound( HWND hWndParent, wchar_t *path ) -{ - OPENFILENAME ofn={sizeof(ofn)}; - ofn.hwndOwner=hWndParent; - wchar_t filters[256]; - Strcpy(filters,_countof(filters),LoadStringEx(IDS_WAV_FILTERS)); - for (wchar_t *c=filters;*c;c++) - if (*c=='|') *c=0; - ofn.lpstrFilter=filters; - ofn.nFilterIndex=1; - wchar_t dir[_MAX_PATH]; - Strcpy(dir,_countof(dir),path); - PathRemoveFileSpec(dir); - ofn.lpstrInitialDir=dir; - path[0]=0; - ofn.lpstrFile=path; - ofn.nMaxFile=_MAX_PATH; - CString title=LoadStringEx(IDS_WAV_TITLE); - ofn.lpstrTitle=title; - ofn.Flags=OFN_DONTADDTORECENT|OFN_ENABLESIZING|OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_NOCHANGEDIR; - if (GetOpenFileName(&ofn)) - { - wchar_t buf[_MAX_PATH]; - UnExpandEnvStrings(path,buf,_countof(buf)); - Strcpy(path,_MAX_PATH,buf); - return true; - } - return false; -} - -/////////////////////////////////////////////////////////////////////////////// - -class CTreeSettingsDlg: public CResizeableDlg -{ -public: - enum { - IDC_EDITBOX=101, - IDC_BROWSEBTN=102, - IDC_PLAYBTN=103, - WM_EDITKEY=WM_APP+11, - }; - - enum TEditMode - { - EDIT_NONE, - EDIT_INT, - EDIT_STRING, - EDIT_ICON, - EDIT_BITMAP, - EDIT_BITMAP_JPG, - EDIT_SOUND, - EDIT_HOTKEY, - EDIT_HOTKEY_ANY, - EDIT_COLOR, - EDIT_FONT, - }; - - BEGIN_MSG_MAP( CTreeSettingsDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - MESSAGE_HANDLER( WM_EDITKEY, OnEditKey ) - MESSAGE_HANDLER( WM_CONTEXTMENU, OnContextMenu ) - COMMAND_HANDLER( IDC_EDITBOX, EN_CHANGE, OnEditChange ) - COMMAND_HANDLER( IDC_EDITBOX, EN_KILLFOCUS, OnKillFocus ) - COMMAND_HANDLER( IDC_BROWSEBTN, BN_CLICKED, OnBrowse ) - COMMAND_HANDLER( IDC_PLAYBTN, BN_CLICKED, OnPlay ) - COMMAND_HANDLER( IDC_BROWSEBTN, BN_KILLFOCUS, OnKillFocus ) - NOTIFY_HANDLER( IDC_SETTINGS, NM_CUSTOMDRAW, OnCustomDraw ) - NOTIFY_HANDLER( IDC_SETTINGS, NM_CLICK, OnClick ) - NOTIFY_HANDLER( IDC_SETTINGS, NM_DBLCLK, OnClick ) - NOTIFY_HANDLER( IDC_SETTINGS, TVN_KEYDOWN, OnKeyDown ) - NOTIFY_HANDLER( IDC_SETTINGS, TVN_GETINFOTIP, OnGetInfoTip ) - NOTIFY_HANDLER( IDC_SETTINGS, TVN_SELCHANGED, OnSelChanged ) - NOTIFY_HANDLER( IDC_SETTINGS, TVN_ITEMEXPANDING, OnExpanding ) - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_SETTINGS,MOVE_SIZE_X|MOVE_SIZE_Y) - RESIZE_CONTROL(IDC_STATICTIP,MOVE_SIZE_X|MOVE_MOVE_Y) - END_RESIZE_MAP - - void SetGroup( CSetting *pGroup, const CString &filter, const CSetting *pSelect ); - void Validate( void ) { ApplyEditBox(); } - -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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnEditKey( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnEditChange( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnKillFocus( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowse( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnPlay( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnKeyDown( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnSelChanged( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnExpanding( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) { return TRUE; } // prevent collapsing - -private: - CWindow m_Tree; - const CSetting *m_pGroup; - CWindow m_EditBox; - CWindow m_BrowseButton; - CWindow m_PlayButton; - HICON m_PlayIcon; - TEditMode m_EditMode; - HTREEITEM m_EditItem; - CSetting *m_pEditSetting; - bool m_bBasic; - bool m_bIgnoreFocus; - bool m_bSearch; - - void UpdateGroup( const CSetting *pModified ); - void ToggleItem( HTREEITEM hItem, bool bDefault ); - void PlayItem( HTREEITEM hItem ); - void LocateSetting( const CSetting *pSetting ); - void ItemSelected( HTREEITEM hItem, CSetting *pSetting, bool bEnabled ); - void ApplyEditBox( void ); - void UpdateEditPosition( void ); - const CSetting *GetNextSetting( const CSetting *pSetting, const wchar_t *filter ); - bool IsVisible( const CSetting *pSetting, const wchar_t *filter ) const; - HTREEITEM GetNextItem( HTREEITEM hItem, bool bChildren=true ); - HTREEITEM FindSettingsItem( const wchar_t *name ); -}; - -// Subclass the tree control to forward the command messages to the parent -static LRESULT CALLBACK SubclassTreeProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_COMMAND) - return SendMessage(GetParent(hWnd),uMsg,wParam,lParam); - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -static int g_HotKey; - -static bool GetKeyName( int key, wchar_t *text, int size, bool bCtrl, bool bAlt, bool bShift ) -{ - wchar_t name[100]; - text[0]=0; - int len=0; - if (bCtrl || (key&(HOTKEYF_CONTROL<<8))) - { - GetKeyNameText(MapVirtualKey(VK_CONTROL,MAPVK_VK_TO_VSC)<<16,name,_countof(name)); - len+=Sprintf(text+len,size-len,L"%s+",name); - } - if (bAlt || (key&(HOTKEYF_ALT<<8))) - { - GetKeyNameText(MapVirtualKey(VK_MENU,MAPVK_VK_TO_VSC)<<16,name,_countof(name)); - len+=Sprintf(text+len,size-len,L"%s+",name); - } - if (bShift || (key&(HOTKEYF_SHIFT<<8))) - { - GetKeyNameText(MapVirtualKey(VK_SHIFT,MAPVK_VK_TO_VSC)<<16,name,_countof(name)); - len+=Sprintf(text+len,size-len,L"%s+",name); - } - if (key) - { - int scan=MapVirtualKey(key&255,MAPVK_VK_TO_VSC); - if (scan==0) - { - text[0]=0; - return false; - } - if (!GetKeyNameText(scan<<16,name,_countof(name))) - { - text[0]=0; - return false; - } - Strcpy(text+len,size-len,name); - } - - return true; -} - -// Subclass the edit control to forward some keyboard messages to the parent and to act as a hotkey control -static LRESULT CALLBACK SubclassEditProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (dwRefData) - { - static bool s_bCtrl, s_bAlt, s_bShift; - - if (uMsg==WM_GETDLGCODE) - return DLGC_WANTALLKEYS; - - if (uMsg==WM_CHAR || uMsg==WM_SYSCHAR) - return 0; - - if (uMsg==WM_KEYDOWN || uMsg==WM_SYSKEYDOWN) - { - if ((wParam==VK_UP || wParam==VK_DOWN || wParam==VK_PRIOR || wParam==VK_NEXT) && GetKeyState(VK_CONTROL)>=0 && GetKeyState(VK_MENU)>=0 && GetKeyState(VK_SHIFT)>=0) - return SendMessage(GetParent(hWnd),uMsg,wParam,lParam); - if (wParam==VK_ESCAPE) - { // Esc - clears the key - g_HotKey=0; - SetWindowText(hWnd,L""); - return 0; - } - wchar_t text[100]; - if (wParam==VK_CONTROL) s_bCtrl=true, g_HotKey=0; - else if (wParam==VK_SHIFT) s_bShift=true, g_HotKey=0; - else if (wParam==VK_MENU) s_bAlt=true, g_HotKey=0; - else - { - g_HotKey=wParam&255; - if (s_bCtrl) g_HotKey|=(HOTKEYF_CONTROL<<8); - if (s_bAlt) g_HotKey|=(HOTKEYF_ALT<<8); - if (s_bShift) g_HotKey|=(HOTKEYF_SHIFT<<8); - if (dwRefData==1) - { - if (!s_bAlt && !(s_bCtrl && s_bShift)) - g_HotKey=0; - } - } - GetKeyName(g_HotKey,text,_countof(text),s_bCtrl,s_bAlt,s_bShift); - SetWindowText(hWnd,text); - return 0; - } - if (uMsg==WM_KEYUP || uMsg==WM_SYSKEYUP) - { - wchar_t text[100]; - if (wParam==VK_CONTROL) s_bCtrl=false; - if (wParam==VK_MENU) s_bAlt=false; - if (wParam==VK_SHIFT) s_bShift=false; - GetKeyName(g_HotKey,text,_countof(text),s_bCtrl,s_bAlt,s_bShift); - SetWindowText(hWnd,text); - return 0; - } - if (uMsg==WM_RBUTTONUP || uMsg==WM_CONTEXTMENU) - return 0; - } - if (uMsg==WM_CHAR && wParam==VK_SPACE && GetKeyState(VK_CONTROL)<0) - return SendMessage(GetParent(hWnd),WM_KEYDOWN,wParam,lParam); - if (uMsg==WM_CHAR && wParam==VK_RETURN) - return 0; - if (uMsg==WM_GETDLGCODE && wParam==VK_RETURN) - return DLGC_WANTALLKEYS; - if (uMsg==WM_KEYDOWN) - { - if (wParam==VK_UP || wParam==VK_DOWN || wParam==VK_PRIOR || wParam==VK_NEXT || (wParam=='P' && GetKeyState(VK_CONTROL)<0)) - return SendMessage(GetParent(hWnd),uMsg,wParam,lParam); - if (wParam==VK_RETURN || wParam==VK_ESCAPE) - return SendMessage(GetParent(GetParent(hWnd)),CTreeSettingsDlg::WM_EDITKEY,wParam,0); - } - if (uMsg==WM_KILLFOCUS) - { - if (wParam && (HWND)wParam==GetDlgItem(GetParent(hWnd),CTreeSettingsDlg::IDC_BROWSEBTN)) - return 0; - } - if (uMsg==WM_CHAR && wParam==16) - return 0; // prevent Ctrl+P from playing the default sound - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CTreeSettingsDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - InitResize(); - EnableThemeDialogTexture(m_hWnd,ETDT_ENABLETAB); - - m_Tree=GetDlgItem(IDC_SETTINGS); - m_Tree.SetWindowLong(GWL_STYLE,m_Tree.GetWindowLong(GWL_STYLE)|WS_CLIPCHILDREN); - if (IsAppThemed()) - { - m_Tree.SetWindowLong(GWL_STYLE,m_Tree.GetWindowLong(GWL_STYLE)|TVS_TRACKSELECT); - SetWindowTheme(m_Tree,L"Explorer",NULL); - } - m_Tree.SendMessage(TVM_SETEXTENDEDSTYLE,TVS_EX_DOUBLEBUFFER,TVS_EX_DOUBLEBUFFER); - SetWindowSubclass(m_Tree,SubclassTreeProc,'CLSH',0); - HINSTANCE hInstance=_AtlBaseModule.GetResourceInstance(); - - HIMAGELIST images=GetSettingsImageList(m_Tree); - TreeView_SetImageList(m_Tree,images,TVSIL_NORMAL); - int height=TreeView_GetItemHeight(m_Tree); - if (height<18) TreeView_SetItemHeight(m_Tree,18); - - HWND tooltip=TreeView_GetToolTips(m_Tree); - SendMessage(tooltip,TTM_SETDELAYTIME,TTDT_AUTOPOP,10000); - SendMessage(tooltip,TTM_SETDELAYTIME,TTDT_INITIAL,1000); - SendMessage(tooltip,TTM_SETDELAYTIME,TTDT_RESHOW,1000); - SetWindowSubclass(tooltip,SubclassInfoTipProc,'CLSH',0); - - HFONT font=m_Tree.GetFont(); - m_EditBox=CreateWindow(L"EDIT",NULL,WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,0,0,0,0,m_Tree,(HMENU)IDC_EDITBOX,hInstance,NULL); - m_EditBox.SetFont(font); - SetWindowSubclass(m_EditBox,SubclassEditProc,'CLSH',0); - m_BrowseButton=CreateWindow(L"BUTTON",L"...",WS_CHILD|BS_PUSHBUTTON,0,0,0,0,m_Tree,(HMENU)IDC_BROWSEBTN,hInstance,NULL); - m_BrowseButton.SetFont(font); - m_PlayIcon=(HICON)LoadImage(hInstance,MAKEINTRESOURCE(IDI_ICONPLAY),IMAGE_ICON,0,0,0); - m_PlayButton=CreateWindow(L"BUTTON",L">",WS_CHILD|BS_PUSHBUTTON|BS_ICON,0,0,0,0,m_Tree,(HMENU)IDC_PLAYBTN,hInstance,NULL); - m_PlayButton.SendMessage(BM_SETIMAGE,IMAGE_ICON,(LPARAM)m_PlayIcon); - m_EditMode=EDIT_NONE; - m_EditItem=NULL; - m_pEditSetting=NULL; - m_bIgnoreFocus=false; - - return TRUE; -} - -LRESULT CTreeSettingsDlg::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - DestroyIcon(m_PlayIcon); - bHandled=FALSE; - m_EditMode=EDIT_NONE; - return 0; -} - -LRESULT CTreeSettingsDlg::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CResizeableDlg::OnSize(); - UpdateEditPosition(); - return 0; -} - -LRESULT CTreeSettingsDlg::OnEditKey( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==VK_RETURN && !(m_EditBox.GetWindowLong(GWL_STYLE)&ES_READONLY)) - ItemSelected(m_EditItem,m_pEditSetting,true); - return 0; -} - -LRESULT CTreeSettingsDlg::OnEditChange( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - UpdateEditPosition(); - return 0; -} - -LRESULT CTreeSettingsDlg::OnKillFocus( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (!m_bIgnoreFocus && m_pEditSetting) - { - ApplyEditBox(); - UpdateEditPosition(); - } - return 0; -} - -LRESULT CTreeSettingsDlg::OnBrowse( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (m_EditMode==EDIT_ICON) - { - m_bIgnoreFocus=true; - CString str; - m_EditBox.GetWindowText(str); - str.TrimLeft(); str.TrimRight(); - wchar_t text[_MAX_PATH*2]; - Strcpy(text,_countof(text),str); - int id=0; - if (*text) - { - wchar_t *c=wcsrchr(text,','); - if (c) - { - *c=0; - id=_wtol(c+1); - } - } - else - Strcpy(text,_countof(text),L"shell32.dll"); - if (BrowseForIcon(m_hWnd,text,id)) - { - if (id>0) - { - wchar_t buf[20]; - Sprintf(buf,_countof(buf),L", %d",id); - Strcat(text,_countof(text),buf); - } - m_EditBox.SetWindowText(text); - } - SendMessage(WM_NEXTDLGCTL,(LPARAM)m_EditBox.m_hWnd,TRUE); - m_bIgnoreFocus=false; - } - else if (m_EditMode==EDIT_BITMAP || m_EditMode==EDIT_BITMAP_JPG) - { - m_bIgnoreFocus=true; - CString str; - m_EditBox.GetWindowText(str); - str.TrimLeft(); str.TrimRight(); - wchar_t text[1024]; - if (_wcsicmp(PathFindExtension(str),L".bmp")==0 || _wcsicmp(PathFindExtension(str),L".png")==0 || (m_EditMode==EDIT_BITMAP_JPG && _wcsicmp(PathFindExtension(str),L".jpg")==0)) - { - Strcpy(text,_countof(text),str); - DoEnvironmentSubst(text,_countof(text)); - } - else - text[0]=0; - if (BrowseForBitmap(m_hWnd,text,m_EditMode==EDIT_BITMAP_JPG)) - { - m_EditBox.SetWindowText(text); - } - SendMessage(WM_NEXTDLGCTL,(LPARAM)m_EditBox.m_hWnd,TRUE); - m_EditBox.SetFocus(); - m_bIgnoreFocus=false; - } - else if (m_EditMode==EDIT_SOUND) - { - m_bIgnoreFocus=true; - CString str; - m_EditBox.GetWindowText(str); - str.TrimLeft(); str.TrimRight(); - wchar_t text[1024]; - if (_wcsicmp(PathFindExtension(str),L".wav")==0) - { - Strcpy(text,_countof(text),str); - DoEnvironmentSubst(text,_countof(text)); - } - else - text[0]=0; - if (BrowseForSound(m_hWnd,text)) - { - m_EditBox.SetWindowText(text); - } - SendMessage(WM_NEXTDLGCTL,(LPARAM)m_EditBox.m_hWnd,TRUE); - m_EditBox.SetFocus(); - m_bIgnoreFocus=false; - } - else if (m_EditMode==EDIT_COLOR) - { - m_bIgnoreFocus=true; - CString str; - m_EditBox.GetWindowText(str); - str.TrimLeft(); str.TrimRight(); - wchar_t *end; - COLORREF val=wcstol(str,&end,16)&0xFFFFFF; - static COLORREF customColors[16]; - CHOOSECOLOR choose={sizeof(choose),m_hWnd,NULL,val,customColors}; - choose.Flags=CC_ANYCOLOR|CC_FULLOPEN|CC_RGBINIT; - if (ChooseColor(&choose)) - { - wchar_t text[100]; - Sprintf(text,_countof(text),L"%06X",choose.rgbResult); - m_EditBox.SetWindowText(text); - ApplyEditBox(); - UpdateGroup(m_pEditSetting); - m_Tree.Invalidate(); - } - SendMessage(WM_NEXTDLGCTL,(LPARAM)m_EditBox.m_hWnd,TRUE); - m_EditBox.SetFocus(); - m_bIgnoreFocus=false; - } - else if (m_EditMode==EDIT_FONT) - { - m_bIgnoreFocus=true; - CString text; - m_EditBox.GetWindowText(text); - - HDC hdc=::GetDC(NULL); - int dpi=GetDeviceCaps(hdc,LOGPIXELSY); - ::ReleaseDC(NULL,hdc); - - LOGFONT font={0}; - const wchar_t *str=text; - while (*str==' ') - str++; - str=GetToken(str,font.lfFaceName,_countof(font.lfFaceName),L","); - int len=Strlen(font.lfFaceName); - while (len>0 && font.lfFaceName[len-1]==' ') - font.lfFaceName[--len]=0; - while (*str==' ') - str++; - wchar_t token[256]; - str=GetToken(str,token,_countof(token),L","); - len=Strlen(token); - while (len>0 && token[len-1]==' ') - token[--len]=0; - font.lfWeight=FW_NORMAL; - if (_wcsicmp(token,L"bold")==0) - font.lfWeight=FW_BOLD; - else if (_wcsicmp(token,L"italic")==0) - font.lfItalic=1; - else if (_wcsicmp(token,L"bold_italic")==0) - font.lfWeight=FW_BOLD, font.lfItalic=1; - str=GetToken(str,token,_countof(token),L", \t"); - font.lfHeight=-(_wtol(token)*dpi+36)/72; - - CHOOSEFONT choose={sizeof(choose),m_hWnd,NULL,&font}; - choose.Flags=CF_NOSCRIPTSEL; - if (*font.lfFaceName) - choose.Flags|=CF_INITTOLOGFONTSTRUCT; - if (ChooseFont(&choose)) - { - wchar_t text[256]; - const wchar_t *type=font.lfItalic?L"italic":L"normal"; - if (font.lfWeight>=FW_BOLD) - type=font.lfItalic?L"bold_italic":L"bold"; - Sprintf(text,_countof(text),L"%s, %s, %d",font.lfFaceName,type,(-font.lfHeight*72+dpi/2)/dpi); - m_EditBox.SetWindowText(text); - } - SendMessage(WM_NEXTDLGCTL,(LPARAM)m_EditBox.m_hWnd,TRUE); - m_EditBox.SetFocus(); - m_bIgnoreFocus=false; - } - return 0; -} - -LRESULT CTreeSettingsDlg::OnPlay( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - PlayItem(TreeView_GetSelection(m_Tree)); - return 0; -} - -LRESULT CTreeSettingsDlg::OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVCUSTOMDRAW *pDraw=(NMTVCUSTOMDRAW*)pnmh; - if (pDraw->nmcd.dwDrawStage==CDDS_PREPAINT) - { - UpdateEditPosition(); - return CDRF_NOTIFYITEMDRAW; - } - else if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPREPAINT) - { - TVITEM item={TVIF_IMAGE|TVIF_STATE,(HTREEITEM)pDraw->nmcd.dwItemSpec,0,TVIS_SELECTED}; - TreeView_GetItem(m_Tree,&item); - if ((item.state&TVIS_CUT) && (!(item.state&TVIS_SELECTED) || IsAppThemed())) - pDraw->clrText=GetSysColor(COLOR_GRAYTEXT); - } - return CDRF_DODEFAULT; -} - -void CTreeSettingsDlg::ToggleItem( HTREEITEM hItem, bool bDefault ) -{ - if (!hItem) return; - TVITEM item={TVIF_PARAM|TVIF_IMAGE|TVIF_STATE,hItem,0,TVIS_CUT}; - TreeView_GetItem(m_Tree,&item); - if (item.state&TVIS_CUT) - return; - CSetting *pSetting=(CSetting*)item.lParam; - if (pSetting->pLinkTo) pSetting=pSetting->pLinkTo; - if (bDefault) - { - if (pSetting->flags&CSetting::FLAG_DEFAULT) - return; - { - CSettingsLockWrite lock; - pSetting->flags|=CSetting::FLAG_DEFAULT; - pSetting->value=pSetting->defValue; - SetSettingsDirty(); - } - if (m_pEditSetting && (m_pEditSetting==pSetting || m_pEditSetting->pLinkTo==pSetting)) - { - m_pEditSetting=NULL; - ItemSelected(item.hItem,pSetting,true); - } - if (pSetting->flags&CSetting::FLAG_CALLBACK) - { - SettingChangedCallback(pSetting); - } - UpdateGroup(pSetting); - } - else if (pSetting->type==CSetting::TYPE_BOOL) - { - // toggle - bool state=IsVariantTrue(pSetting->value); - { - CSettingsLockWrite lock; - pSetting->value=CComVariant(state?0:1); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - SetSettingsDirty(); - } - if (pSetting->flags&CSetting::FLAG_CALLBACK) - { - SettingChangedCallback(pSetting); - } - UpdateGroup(pSetting); - } - else if (pSetting->type==CSetting::TYPE_RADIO) - { - // set parent's value - for (CSetting *pParent=pSetting-1;;pParent--) - { - if (pParent->type!=CSetting::TYPE_RADIO) - { - CSetting *pTarget=pParent->pLinkTo?pParent->pLinkTo:pParent; - Assert(pTarget->type==CSetting::TYPE_INT); - int val=(int)(pSetting-pParent-1); - if (pTarget->value.vt==VT_I4 && pTarget->value.intVal==val) - break; - { - CSettingsLockWrite lock; - pTarget->value=CComVariant(val); - pTarget->flags&=~CSetting::FLAG_DEFAULT; - SetSettingsDirty(); - } - if (pParent->flags&CSetting::FLAG_CALLBACK) - { - SettingChangedCallback(pParent); - } - UpdateGroup(pParent); - break; - } - } - } -} - -void CTreeSettingsDlg::PlayItem( HTREEITEM hItem ) -{ - if (!hItem) return; - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_Tree,&item); - CSetting *pSetting=(CSetting*)item.lParam; - if (pSetting->type==CSetting::TYPE_SOUND && pSetting->GetValue().vt==VT_BSTR) - { - if (!*pSetting->GetValue().bstrVal) - return; - wchar_t path[_MAX_PATH]; - Strcpy(path,_countof(path),pSetting->GetValue().bstrVal); - DoEnvironmentSubst(path,_countof(path)); - if (_wcsicmp(PathFindExtension(path),L"wav")==0) - PlaySound(path,NULL,SND_FILENAME|SND_ASYNC|SND_NODEFAULT|SND_SYSTEM); - else - PlaySound(path,NULL,SND_APPLICATION|SND_ALIAS|SND_ASYNC|SND_NODEFAULT|SND_SYSTEM); - } -} - -void CTreeSettingsDlg::LocateSetting( const CSetting *pSetting ) -{ - for (const CSetting *pGroup=pSetting;;pGroup--) - { - if (pGroup->type==CSetting::TYPE_GROUP) - { - SelectSettingsTab(pGroup->nameID,true,pSetting); - return; - } - } -} - -LRESULT CTreeSettingsDlg::OnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - DWORD pos=GetMessagePos(); - TVHITTESTINFO test={{(short)LOWORD(pos),(short)HIWORD(pos)}}; - m_Tree.ScreenToClient(&test.pt); - if (TreeView_HitTest(m_Tree,&test) && (test.flags&(TVHT_ONITEMICON|TVHT_ONITEMLABEL))) - ToggleItem(test.hItem,GetKeyState(VK_CONTROL)<0); - - return 0; -} - -LRESULT CTreeSettingsDlg::OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if ((HWND)wParam!=m_Tree.m_hWnd) - return 0; - HTREEITEM hItem=NULL; - POINT pt; - if ((DWORD)lParam==0xFFFFFFFF) - { - // keyboard - hItem=TreeView_GetSelection(m_Tree); - if (hItem) - { - RECT rc; - TreeView_GetItemRect(m_Tree,hItem,&rc,TRUE); - pt.x=(rc.left+rc.right)/2; - pt.y=(rc.top+rc.bottom)/2; - } - else - pt.x=pt.y=0; - m_Tree.ClientToScreen(&pt); - } - else - { - DWORD pos=GetMessagePos(); - pt.x=(short)LOWORD(pos); - pt.y=(short)HIWORD(pos); - TVHITTESTINFO test={pt}; - m_Tree.ScreenToClient(&test.pt); - if (TreeView_HitTest(m_Tree,&test) && (test.flags&(TVHT_ONITEMICON|TVHT_ONITEMLABEL))) - { - TreeView_SelectItem(m_Tree,test.hItem); - hItem=test.hItem; - } - } - - if (!hItem) return 0; - - TVITEM item={TVIF_PARAM|TVIF_IMAGE|TVIF_STATE,hItem,0,TVIS_CUT}; - TreeView_GetItem(m_Tree,&item); - CSetting *pSetting=(CSetting*)item.lParam; - - enum - { - CMD_TOGGLE=1, - CMD_DEFAULT, - CMD_PLAY, - CMD_LOCATE, - }; - - HMENU menu=CreatePopupMenu(); - if (pSetting->type!=CSetting::TYPE_RADIO) - { - if (pSetting->type==CSetting::TYPE_BOOL) - { - AppendMenu(menu,MF_STRING,CMD_TOGGLE,LoadStringEx(IDS_TOGGLE_SETTING)); - if (item.state&TVIS_CUT) - EnableMenuItem(menu,CMD_TOGGLE,MF_BYCOMMAND|MF_GRAYED); - } - if (!(pSetting->flags&CSetting::FLAG_NODEFAULT)) - { - AppendMenu(menu,MF_STRING,CMD_DEFAULT,LoadStringEx(IDS_DEFAULT_SETTING)); - if ((item.state&TVIS_CUT) || pSetting->IsDefault()) - EnableMenuItem(menu,CMD_DEFAULT,MF_BYCOMMAND|MF_GRAYED); - } - } - else - { - AppendMenu(menu,MF_STRING,1,LoadStringEx(IDS_SELECT_SETTING)); - if (item.state&TVIS_CUT) - EnableMenuItem(menu,1,MF_BYCOMMAND|MF_GRAYED); - } - if (pSetting->type==CSetting::TYPE_SOUND) - { - AppendMenu(menu,MF_STRING,CMD_PLAY,LoadStringEx(IDS_PLAY_SETTING)); - if (pSetting->GetValue().vt!=VT_BSTR || *pSetting->GetValue().bstrVal==0) - EnableMenuItem(menu,CMD_PLAY,MF_BYCOMMAND|MF_GRAYED); - } - if (m_bSearch) - AppendMenu(menu,MF_STRING,CMD_LOCATE,LoadStringEx(IDS_LOCATE_SETTING)); - - int res=TrackPopupMenu(menu,TPM_RIGHTBUTTON|TPM_RETURNCMD,pt.x,pt.y,0,m_hWnd,NULL); - DestroyMenu(menu); - if (res==CMD_TOGGLE) - ToggleItem(hItem,false); - if (res==CMD_DEFAULT) - ToggleItem(hItem,true); - if (res==CMD_PLAY) - PlayItem(hItem); - if (res==CMD_LOCATE) - LocateSetting(pSetting); - - return 0; -} - -LRESULT CTreeSettingsDlg::OnKeyDown( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVKEYDOWN *pKey=(NMTVKEYDOWN*)pnmh; - if (pKey->wVKey==VK_SPACE && GetKeyState(VK_MENU)>=0) - { - ToggleItem(TreeView_GetSelection(m_Tree),(GetKeyState(VK_CONTROL)<0)); - return 1; - } - if (pKey->wVKey=='P' && GetKeyState(VK_CONTROL)<0) - { - PlayItem(TreeView_GetSelection(m_Tree)); - return 1; - } - bHandled=FALSE; - return 0; -} - -LRESULT CTreeSettingsDlg::OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVGETINFOTIP *pTip=(NMTVGETINFOTIP*)pnmh; - const CSetting *pSetting=(CSetting*)pTip->lParam; - if (pSetting->IsLocked()) - Sprintf(pTip->pszText,pTip->cchTextMax,L"%s\n%s",LoadStringEx(pSetting->tipID),LoadStringEx(pSetting->IsLockedReg()?IDS_SETTING_LOCKED:IDS_SETTING_LOCKED_GP)); - else - Strcpy(pTip->pszText,pTip->cchTextMax,LoadStringEx(pSetting->tipID)); - return 0; -} - -LRESULT CTreeSettingsDlg::OnSelChanged( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - HTREEITEM hItem=TreeView_GetSelection(m_Tree); - if (hItem) - { - TVITEM item={TVIF_PARAM|TVIF_STATE,hItem,0,TVIS_CUT}; - TreeView_GetItem(m_Tree,&item); - CSetting *pSetting=(CSetting*)item.lParam; - ItemSelected(item.hItem,pSetting,(item.state&TVIS_CUT)==0); - } - else - ItemSelected(NULL,NULL,false); - return 0; -} - -void CTreeSettingsDlg::ApplyEditBox( void ) -{ - if (m_pEditSetting) - { - { - CSettingsLockWrite lock; - - CString str; - m_EditBox.GetWindowText(str); - str.TrimLeft(); str.TrimRight(); - CSetting *pSetting=m_pEditSetting->pLinkTo?m_pEditSetting->pLinkTo:m_pEditSetting; - if (pSetting->type==CSetting::TYPE_INT) - { - int val=_wtol(str); - if (pSetting->value.vt!=VT_I4 || pSetting->value.intVal!=val) - { - pSetting->value=CComVariant(val); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - } - } - else if (pSetting->type==CSetting::TYPE_COLOR) - { - wchar_t *end; - int val=wcstol(str,&end,16)&0xFFFFFF; - if (pSetting->value.vt!=VT_I4 || pSetting->value.intVal!=val) - { - pSetting->value=CComVariant(val); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - } - } - else if (pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY) - { - if (pSetting->value.vt!=VT_I4 || pSetting->value.intVal!=g_HotKey) - { - pSetting->value=CComVariant(g_HotKey); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - } - } - else - { - if (pSetting->value.vt!=VT_BSTR || str!=pSetting->value.bstrVal) - { - pSetting->value=CComVariant(str); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - } - } - SetSettingsDirty(); - } - if (m_pEditSetting->flags&CSetting::FLAG_CALLBACK) - { - SettingChangedCallback(m_pEditSetting); - } - } -} - -void CTreeSettingsDlg::ItemSelected( HTREEITEM hItem, CSetting *pSetting, bool bEnabled ) -{ - if (m_pEditSetting) - { - ApplyEditBox(); - const CSetting *pOld=m_pEditSetting; - m_pEditSetting=NULL; - UpdateGroup(pOld); - } - m_EditItem=NULL; - TEditMode mode=EDIT_NONE; - wchar_t text[2048]; - if (pSetting) - { - const CComVariant &valVar=pSetting->GetValue(); - if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type!=CSetting::TYPE_RADIO) - { - mode=EDIT_INT; - int val=0; - if (valVar.vt==VT_I4) - val=valVar.intVal; - Sprintf(text,_countof(text),L"%d",val); - } - else if (pSetting->type==CSetting::TYPE_STRING || pSetting->type==CSetting::TYPE_ICON || pSetting->type==CSetting::TYPE_BITMAP || pSetting->type==CSetting::TYPE_BITMAP_JPG || pSetting->type==CSetting::TYPE_SOUND || pSetting->type==CSetting::TYPE_FONT) - { - if (valVar.vt==VT_BSTR) - Strcpy(text,_countof(text),valVar.bstrVal); - else - text[0]=0; - if (pSetting->type==CSetting::TYPE_STRING) - mode=EDIT_STRING; - else if (pSetting->type==CSetting::TYPE_ICON) - mode=EDIT_ICON; - else if (pSetting->type==CSetting::TYPE_BITMAP) - mode=EDIT_BITMAP; - else if (pSetting->type==CSetting::TYPE_BITMAP_JPG) - mode=EDIT_BITMAP_JPG; - else if (pSetting->type==CSetting::TYPE_SOUND) - mode=EDIT_SOUND; - else - mode=EDIT_FONT; - } - else if (pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY) - { - text[0]=0; - g_HotKey=0; - if (valVar.vt==VT_I4) - { - g_HotKey=valVar.intVal; - GetKeyName(valVar.intVal,text,_countof(text),false,false,false); - } - if (bEnabled) - mode=pSetting->type==CSetting::TYPE_HOTKEY_ANY?EDIT_HOTKEY_ANY:EDIT_HOTKEY; - } - else if (pSetting->type==CSetting::TYPE_COLOR) - { - mode=EDIT_COLOR; - int val=0; - if (valVar.vt==VT_I4) - val=valVar.intVal; - Sprintf(text,_countof(text),L"%06X",val); - } - } - - RECT rc; - m_EditMode=mode; - if (mode!=EDIT_NONE) - { - CString str=LoadStringEx(pSetting->nameID); - TVITEM item={TVIF_TEXT,hItem,0,0,(LPWSTR)(LPCWSTR)str}; - TreeView_SetItem(m_Tree,&item); - m_Tree.GetClientRect(&rc); - int w=rc.right; - TreeView_GetItemRect(m_Tree,hItem,&rc,TRUE); - rc.left=rc.right; - rc.right=w; - m_EditItem=hItem; - m_pEditSetting=pSetting; - } - - if (mode==EDIT_ICON || mode==EDIT_BITMAP || mode==EDIT_BITMAP_JPG || mode==EDIT_SOUND || mode==EDIT_FONT || mode==EDIT_COLOR) - { - RECT rc2=rc; - int width=(rc2.bottom-rc2.top)*3/2; - rc2.left=rc2.right-width; - if (mode==EDIT_SOUND) - { - m_PlayButton.SetWindowPos(NULL,&rc2,SWP_NOZORDER|SWP_SHOWWINDOW); - rc2.left-=width; - rc2.right-=width; - } - else - m_PlayButton.ShowWindow(SW_HIDE); - m_BrowseButton.SetWindowPos(NULL,&rc2,SWP_NOZORDER|SWP_SHOWWINDOW); - m_BrowseButton.EnableWindow(bEnabled); - rc.right=rc2.left; - } - else - { - m_BrowseButton.ShowWindow(SW_HIDE); - m_PlayButton.ShowWindow(SW_HIDE); - } - - if (mode!=EDIT_NONE) - { - m_EditBox.SetWindowText(text); - m_EditBox.SendMessage(EM_SETREADONLY,!bEnabled,0); - m_EditBox.SetWindowPos(NULL,&rc,SWP_NOZORDER|SWP_SHOWWINDOW); - SendMessage(WM_NEXTDLGCTL,(LPARAM)m_EditBox.m_hWnd,TRUE); - SetWindowSubclass(m_EditBox,SubclassEditProc,'CLSH',(mode==EDIT_HOTKEY)?1:((mode==EDIT_HOTKEY_ANY)?2:0)); - } - else - m_EditBox.ShowWindow(SW_HIDE); -} - -void CTreeSettingsDlg::UpdateEditPosition( void ) -{ - if (m_EditMode==EDIT_NONE) return; - - RECT rc; - m_Tree.GetClientRect(&rc); - int w=rc.right; - TreeView_GetItemRect(m_Tree,m_EditItem,&rc,TRUE); - rc.left=rc.right; - rc.right=w; - w-=rc.left; - int width=(rc.bottom-rc.top)*3/2; - - HDC hdc=CreateCompatibleDC(NULL); - HFONT font0=(HFONT)SelectObject(hdc,m_EditBox.GetFont()); - SIZE size; - CString str; - m_EditBox.GetWindowText(str); - GetTextExtentPoint(hdc,str,str.GetLength(),&size); - SelectObject(hdc,font0); - DeleteDC(hdc); - DWORD margins=(DWORD)m_EditBox.SendMessage(EM_GETMARGINS); - size.cx+=HIWORD(margins)+LOWORD(margins)+12; - if (m_EditMode==EDIT_ICON || m_EditMode==EDIT_BITMAP || m_EditMode==EDIT_BITMAP_JPG || m_EditMode==EDIT_FONT || m_EditMode==EDIT_COLOR) - size.cx+=width; - if (m_EditMode==EDIT_SOUND) - size.cx+=width*2; - if (size.cxflags&CSetting::FLAG_HIDDEN) - return false; - if (!pSetting->MatchFilter(filter)) - return false; - int style, mask; - GetSettingsStyle(style,mask); - if ((pSetting->flags&mask) && !(pSetting->flags&style)) - return false; - if (pSetting->type==CSetting::TYPE_RADIO) - { - while (pSetting->type==CSetting::TYPE_RADIO) - pSetting--; - return IsVisible(pSetting,filter); - } - return true; -} - -const CSetting *CTreeSettingsDlg::GetNextSetting( const CSetting *pSetting, const wchar_t *filter ) -{ - pSetting++; - while (pSetting->type==CSetting::TYPE_RADIO) - { - if (!(pSetting->flags&CSetting::FLAG_HIDDEN)) - return pSetting; - pSetting++; - } - - if (*filter) - { - while (pSetting->name && (pSetting->type==CSetting::TYPE_GROUP || !IsVisible(pSetting,filter) || !pSetting->MatchFilter(filter))) - { - if (pSetting->type==CSetting::TYPE_GROUP && (pSetting->flags&CSetting::FLAG_HIDDEN)) - { - // if this is a hidden group skip to the next - pSetting++; - while (pSetting->type!=CSetting::TYPE_GROUP) - pSetting++; - } - pSetting++; - } - } - else if (m_bBasic) - { - while (pSetting->name && (pSetting->type==CSetting::TYPE_GROUP || !IsVisible(pSetting,filter) || !(pSetting->flags&CSetting::FLAG_BASIC))) - pSetting++; - } - else - { - while (pSetting->name && pSetting->type!=CSetting::TYPE_GROUP && !IsVisible(pSetting,filter)) - pSetting++; - } - - if (pSetting->name && pSetting->type!=CSetting::TYPE_GROUP) - return pSetting; - return NULL; -} - -HTREEITEM CTreeSettingsDlg::GetNextItem( HTREEITEM hItem, bool bChildren ) -{ - if (!hItem) return NULL; - if (bChildren) - { - HTREEITEM hNext=TreeView_GetChild(m_Tree,hItem); - if (hNext) return hNext; - } - { - HTREEITEM hNext=TreeView_GetNextSibling(m_Tree,hItem); - if (hNext) return hNext; - } - return GetNextItem(TreeView_GetParent(m_Tree,hItem),false); -} - -HTREEITEM CTreeSettingsDlg::FindSettingsItem( const wchar_t *name ) -{ - HTREEITEM res=NULL; - for (HTREEITEM hItem=TreeView_GetRoot(m_Tree);hItem;hItem=GetNextItem(hItem)) - { - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_Tree,&item); - const CSetting *pSetting=(CSetting*)item.lParam; - if (pSetting && wcscmp(name,pSetting->name)==0) - res=hItem; - } - return res; -} - -void CTreeSettingsDlg::SetGroup( CSetting *pGroup, const CString &filter, const CSetting *pSelect ) -{ - ItemSelected(NULL,NULL,false); - m_pGroup=pGroup; - // fill tree control - m_Tree.SendMessage(WM_SETREDRAW,FALSE); - TreeView_SelectItem(m_Tree,NULL); - TreeView_DeleteAllItems(m_Tree); - int level=0; - HTREEITEM hRadioParent=NULL; - m_bSearch=!filter.IsEmpty(); - m_bBasic=(pGroup->nameID==IDS_BASIC_SETTINGS); - HTREEITEM hSelect=NULL; - for (const CSetting *pSetting=GetNextSetting(pGroup,filter);pSetting;pSetting=GetNextSetting(pSetting,filter)) - { - wchar_t text[256]; - text[0]=0; - if (pSetting->type==CSetting::TYPE_BOOL || pSetting->type==CSetting::TYPE_RADIO || (pSetting->type==CSetting::TYPE_INT && pSetting[1].type==CSetting::TYPE_RADIO)) - { - // the text for BOOL, RADIO or RADIO's parent items doesn't change - Strcpy(text,_countof(text),LoadStringEx(pSetting->nameID)); - } - if (pSetting->type!=CSetting::TYPE_RADIO) - hRadioParent=NULL; - HTREEITEM hParent=hRadioParent; - if (pSetting->nest) - { - Assert(pSetting->type!=CSetting::TYPE_RADIO); - hParent=FindSettingsItem(pSetting->nest); - } - TVINSERTSTRUCT insert={hParent,TVI_LAST,{TVIF_STATE|TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM,NULL,TVIS_EXPANDED,TVIS_EXPANDED,text,0,SETTING_STATE_SETTING,SETTING_STATE_SETTING}}; - insert.item.lParam=(LPARAM)pSetting; - if (pSetting->IsLocked()) - { - insert.item.state|=INDEXTOOVERLAYMASK(1); - insert.item.stateMask|=TVIS_OVERLAYMASK; - } - else if (pSetting->flags&CSetting::FLAG_WARNING) - { - insert.item.state|=INDEXTOOVERLAYMASK(2); - insert.item.stateMask|=TVIS_OVERLAYMASK; - } - HTREEITEM hItem=TreeView_InsertItem(m_Tree,&insert); - if (pSetting->type!=CSetting::TYPE_RADIO) - hRadioParent=hItem; - if (pSetting==pSelect) - hSelect=hItem; - } - UpdateGroup(NULL); - m_Tree.SendMessage(WM_SETREDRAW,TRUE); - if (hSelect) - { - TreeView_SelectItem(m_Tree,hSelect); - m_Tree.PostMessage(TVM_ENSUREVISIBLE,0,(LPARAM)hSelect); // post instead of send, because the tree may be resized afterwards - } - m_Tree.Invalidate(); -} - -void CTreeSettingsDlg::UpdateGroup( const CSetting *pModified ) -{ - for (HTREEITEM hItem=TreeView_GetRoot(m_Tree);hItem;hItem=GetNextItem(hItem)) - { - wchar_t text[256]; - TVITEM item={TVIF_PARAM|TVIF_STATE|TVIF_IMAGE,hItem,0,TVIS_BOLD|TVIS_CUT,text}; - TreeView_GetItem(m_Tree,&item); - const CSetting *pSetting=(CSetting*)item.lParam; - if (pSetting->type==CSetting::TYPE_RADIO) continue; - - // check if the item is enabled - bool bEnabled=pSetting->IsEnabled(); - - // check if the item is default - bool bDefault=pSetting->IsDefault(); - const CComVariant &valVar=pSetting->GetValue(); - - // calculate text - if (pSetting!=m_pEditSetting) - { - if (pSetting->type==CSetting::TYPE_HOTKEY || pSetting->type==CSetting::TYPE_HOTKEY_ANY) - { - wchar_t val[100]; - val[0]=0; - if (valVar.vt==VT_I4) - GetKeyName(valVar.intVal,val,_countof(val),false,false,false); - CString str=LoadStringEx(pSetting->nameID); - Sprintf(text,_countof(text),L"%s: %s",str,val); - item.mask|=TVIF_TEXT; - } - else if (pSetting->type>=CSetting::TYPE_STRING) - { - CString str=LoadStringEx(pSetting->nameID); - const wchar_t *val=L""; - if (valVar.vt==VT_BSTR) - val=valVar.bstrVal; - Sprintf(text,_countof(text),L"%s: %s",str,val); - item.mask|=TVIF_TEXT; - } - else if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type!=CSetting::TYPE_RADIO) - { - CString str=LoadStringEx(pSetting->nameID); - int val=0; - if (valVar.vt==VT_I4) - val=valVar.intVal; - Sprintf(text,_countof(text),L"%s: %d",str,val); - item.mask|=TVIF_TEXT; - } - else if (pSetting->type==CSetting::TYPE_COLOR) - { - CString str=LoadStringEx(pSetting->nameID); - int val=0; - if (valVar.vt==VT_I4) - val=valVar.intVal; - Sprintf(text,_countof(text),L"%s: %06X",str,val); - item.mask|=TVIF_TEXT; - } - } - - // calculate state - int image=SETTING_STATE_SETTING; - if (pSetting->type==CSetting::TYPE_BOOL) - image=SETTING_STATE_CHECKBOX|(IsVariantTrue(valVar)?SETTING_STATE_CHECKED:0); - if (pSetting->type==CSetting::TYPE_COLOR) - { - image=SETTING_IMAGE_COLOR+(pSetting->flags>>24); - - HIMAGELIST images=GetSettingsImageList(m_Tree); - int cx, cy; - ImageList_GetIconSize(images,&cx,&cy); - - BITMAPINFO dib={sizeof(dib)}; - dib.bmiHeader.biWidth=cx; - dib.bmiHeader.biHeight=cy; - dib.bmiHeader.biPlanes=1; - dib.bmiHeader.biBitCount=32; - dib.bmiHeader.biCompression=BI_RGB; - HDC hdc=CreateCompatibleDC(NULL); - HDC hdcMask=CreateCompatibleDC(NULL); - HBITMAP bmp=CreateDIBSection(hdc,&dib,DIB_RGB_COLORS,NULL,NULL,0); - HBITMAP bmpMask=CreateDIBSection(hdcMask,&dib,DIB_RGB_COLORS,NULL,NULL,0); - - HGDIOBJ bmp0=SelectObject(hdc,bmp); - HGDIOBJ bmp1=SelectObject(hdcMask,bmpMask); - SetDCBrushColor(hdc,valVar.intVal&0xFFFFFF); - SetDCPenColor(hdc,0); - SelectObject(hdc,GetStockObject(DC_BRUSH)); - SelectObject(hdc,GetStockObject(DC_PEN)); - Rectangle(hdc,0,0,cx,cy); - RECT rc={0,0,cx,cy}; - FillRect(hdcMask,&rc,(HBRUSH)GetStockObject(BLACK_BRUSH)); - SelectObject(hdc,bmp0); - SelectObject(hdcMask,bmp1); - ImageList_Replace(images,image,bmp,bmpMask); - DeleteObject(bmp); - DeleteObject(bmpMask); - DeleteDC(hdc); - DeleteDC(hdcMask); - } - int state=bDefault?0:TVIS_BOLD; - if (!bEnabled) - { - if (pSetting->type!=CSetting::TYPE_COLOR) image|=SETTING_STATE_DISABLED; - state|=TVIS_CUT; - } - if (item.iImage==image) - item.mask&=~TVIF_IMAGE; - else - item.iImage=item.iSelectedImage=image; - - if ((item.state&(TVIS_BOLD|TVIS_CUT))==state) - item.mask&=~TVIF_STATE; - else - item.state=state; - if (item.mask!=0) - { - if (item.mask&TVIF_IMAGE) - item.mask|=TVIF_SELECTEDIMAGE; - TreeView_SetItem(m_Tree,&item); - RECT rc; - TreeView_GetItemRect(m_Tree,hItem,&rc,FALSE); - m_Tree.InvalidateRect(&rc); - } - - // update radio buttons - if (pSetting->type==CSetting::TYPE_INT && pSetting[1].type==CSetting::TYPE_RADIO) - { - int val=0; - if (valVar.vt==VT_I4) - val=valVar.intVal; - for (HTREEITEM hRadio=TreeView_GetChild(m_Tree,hItem);hRadio;hRadio=TreeView_GetNextSibling(m_Tree,hRadio)) - { - TVITEM radio={TVIF_IMAGE|TVIF_PARAM|TVIF_STATE,hRadio,0,TVIS_CUT}; - TreeView_GetItem(m_Tree,&radio); - int v=(int)((CSetting*)radio.lParam-pSetting-1); - - int image=SETTING_STATE_RADIO; - if (v==val) image|=SETTING_STATE_CHECKED; - int state=0; - if (!bEnabled) - { - if (pSetting->type!=CSetting::TYPE_COLOR) image|=SETTING_STATE_DISABLED; - state=TVIS_CUT; - } - - if (radio.iImage!=image || radio.state!=state) - { - radio.iImage=radio.iSelectedImage=image; - radio.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_STATE; - radio.state=state; - TreeView_SetItem(m_Tree,&radio); - RECT rc; - TreeView_GetItemRect(m_Tree,hRadio,&rc,FALSE); - m_Tree.InvalidateRect(&rc); - } - } - } - } -} - -class CDefaultSettingsPanel: public ISettingsPanel -{ -public: - virtual HWND Create( HWND parent ); - virtual HWND Activate( CSetting *pGroup, const RECT &rect, bool bReset ); - virtual bool Validate( HWND parent ); - void SetFilter( const CString &filter ) { m_Filter=filter; } - void Select( const CSetting *pSelect ) { m_pSelect=pSelect; } - -private: - static CTreeSettingsDlg s_Dialog; - CString m_Filter; - const CSetting *m_pSelect; -}; - -CTreeSettingsDlg CDefaultSettingsPanel::s_Dialog; - -ISettingsPanel *GetDefaultSettings( const CString *filter, const CSetting *pSelect ) -{ - static CDefaultSettingsPanel panel; - if (filter) - panel.SetFilter(*filter); - if (pSelect) - panel.Select(pSelect); - return &panel; -} - -HWND CDefaultSettingsPanel::Create( HWND parent ) -{ - if (!s_Dialog.m_hWnd) - s_Dialog.Create(parent,LoadDialogEx(IDD_SETTINGSTREE)); - return s_Dialog.m_hWnd; -} - -HWND CDefaultSettingsPanel::Activate( CSetting *pGroup, const RECT &rect, bool bReset ) -{ - s_Dialog.SetGroup(pGroup,m_Filter,m_pSelect); - m_pSelect=NULL; - s_Dialog.SetWindowPos(HWND_TOP,&rect,SWP_SHOWWINDOW); - return s_Dialog.m_hWnd; -} - -bool CDefaultSettingsPanel::Validate( HWND parent ) -{ - s_Dialog.Validate(); - return true; -} diff --git a/Src/Lib/SettingsUIHelper.h b/Src/Lib/SettingsUIHelper.h deleted file mode 100644 index cd37bcc..0000000 --- a/Src/Lib/SettingsUIHelper.h +++ /dev/null @@ -1,389 +0,0 @@ -// 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 "SettingsParser.h" -#include "resource.h" -#include "Assert.h" -#include - -class CCommandsTree; -class CSettingsTree; -class ISettingsPanel; -struct CSetting; - -/////////////////////////////////////////////////////////////////////////////// - -// CResizeableDlg - a dialog that rearranges its controls when it gets resized -template class CResizeableDlg: public CDialogImpl -{ -public: - CResizeableDlg( void ) - { - m_ClientSize.cx=m_ClientSize.cy=0; - m_WindowSize.cx=m_WindowSize.cy=0; - m_Flags=0; - } - - void Create( HWND hWndParent ) - { - CDialogImpl::Create(hWndParent); - } - - void Create( HWND hWndParent, DLGTEMPLATE *pTemplate ) - { - ATLASSUME(this->m_hWnd == NULL); - if (!this->m_thunk.Init(NULL,NULL)) - { - SetLastError(ERROR_OUTOFMEMORY); - return; - } - - _AtlWinModule.AddCreateWndData(&this->m_thunk.cd,(CDialogImplBaseT*)this); - HWND hWnd=::CreateDialogIndirect(_AtlBaseModule.GetResourceInstance(),pTemplate,hWndParent,T::StartDialogProc); - ATLASSUME(this->m_hWnd==hWnd); - } - -protected: - enum - { - MOVE_LEFT=1, - MOVE_LEFT2=2, - MOVE_RIGHT=4, - MOVE_RIGHT2=8, - MOVE_TOP=16, - MOVE_TOP2=32, - MOVE_BOTTOM=64, - MOVE_BOTTOM2=128, - - MOVE_MOVE_X=MOVE_LEFT|MOVE_RIGHT, - MOVE_MOVE_Y=MOVE_TOP|MOVE_BOTTOM, - MOVE_SIZE_X=MOVE_RIGHT, - MOVE_SIZE_Y=MOVE_BOTTOM, - MOVE_LEFT_HALF=MOVE_RIGHT2, - MOVE_RIGHT_HALF=MOVE_LEFT2|MOVE_RIGHT, - MOVE_CENTER=MOVE_LEFT2|MOVE_RIGHT2, - MOVE_TOP_HALF=MOVE_BOTTOM2, - MOVE_BOTTOM_HALF=MOVE_TOP2|MOVE_BOTTOM, - MOVE_VCENTER=MOVE_TOP2|MOVE_BOTTOM2, - - MOVE_HORIZONTAL=1, - MOVE_VERTICAL=2, - MOVE_GRIPPER=4, - MOVE_REINITIALIZE=8, // InitResize is called for a second time to recapture the control sizes - - MOVE_MODAL=MOVE_HORIZONTAL|MOVE_VERTICAL|MOVE_GRIPPER, - }; - - struct Control - { - int id; - unsigned int flags; - HWND hwnd; - RECT rect0; - }; - - void InitResize( int flags=MOVE_HORIZONTAL|MOVE_VERTICAL ) - { - m_Flags=flags; - T *pThis=static_cast(this); - - int count=0; - for (const Control *pControl=pThis->GetResizeControls();pControl->id;pControl++) - count++; - m_Controls.resize(count); - if (count>0) - memcpy(&m_Controls[0],pThis->GetResizeControls(),count*sizeof(Control)); - - RECT rc; - pThis->GetClientRect(&rc); - if (!(m_Flags&MOVE_REINITIALIZE)) - { - m_Gripper.m_hWnd=NULL; - if (m_Flags&MOVE_GRIPPER) - m_Gripper.Create(L"SCROLLBAR",pThis->m_hWnd,rc,NULL,WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|SBS_SIZEBOX|SBS_SIZEGRIP|SBS_SIZEBOXBOTTOMRIGHTALIGN); - } - m_ClientSize.cx=rc.right; - m_ClientSize.cy=rc.bottom; - pThis->GetWindowRect(&rc); - m_WindowSize.cx=rc.right-rc.left; - m_WindowSize.cy=rc.bottom-rc.top; - for (auto& it : m_Controls) - { - it.hwnd=pThis->GetDlgItem(it.id); - Assert(it.hwnd); - if (!it.hwnd) continue; - ::GetWindowRect(it.hwnd,&it.rect0); - ::MapWindowPoints(NULL,this->m_hWnd,(POINT*)&it.rect0,2); - } - } - - void OnSize( void ) - { - T *pThis=static_cast(this); - RECT rc; - pThis->GetClientRect(&rc); - int dx=rc.right-m_ClientSize.cx; - int dy=rc.bottom-m_ClientSize.cy; - int dx2=dx/2; - int dy2=dy/2; - for (const auto& it : m_Controls) - { - if (!it.hwnd) continue; - int x1=it.rect0.left; - int y1=it.rect0.top; - int x2=it.rect0.right; - int y2=it.rect0.bottom; - if (it.flags&MOVE_LEFT) x1+=dx; - else if (it.flags&MOVE_LEFT2) x1+=dx2; - if (it.flags&MOVE_TOP) y1+=dy; - else if (it.flags&MOVE_TOP2) y1+=dy2; - if (it.flags&MOVE_RIGHT) x2+=dx; - else if (it.flags&MOVE_RIGHT2) x2+=dx2; - if (it.flags&MOVE_BOTTOM) y2+=dy; - else if (it.flags&MOVE_BOTTOM2) y2+=dy2; - ::SetWindowPos(it.hwnd,NULL,x1,y1,x2-x1,y2-y1,SWP_NOZORDER|SWP_NOCOPYBITS); - } - if (m_Gripper.m_hWnd) - { - RECT rc2; - m_Gripper.GetWindowRect(&rc2); - int w=rc2.right-rc2.left; - int h=rc2.bottom-rc2.top; - m_Gripper.SetWindowPos(HWND_BOTTOM,rc.right-w,rc.bottom-h,w,h,0); - } - } - - LRESULT OnGetMinMaxInfo( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) - { - MINMAXINFO *pInfo=(MINMAXINFO*)lParam; - pInfo->ptMinTrackSize.x=m_WindowSize.cx; - pInfo->ptMinTrackSize.y=m_WindowSize.cy; - if (!(m_Flags&MOVE_HORIZONTAL)) - pInfo->ptMaxTrackSize.x=pInfo->ptMinTrackSize.x; - if (!(m_Flags&MOVE_VERTICAL)) - pInfo->ptMaxTrackSize.y=pInfo->ptMinTrackSize.y; - return 0; - } - - void GetStoreRect( RECT &rc ) - { - this->GetWindowRect(&rc); - rc.right-=rc.left+m_WindowSize.cx; - rc.bottom-=rc.top+m_WindowSize.cy; - } - - void GetPlacementRect( RECT &rc ) - { - WINDOWPLACEMENT placement; - this->GetWindowPlacement(&placement); - rc=placement.rcNormalPosition; - rc.right-=rc.left+m_WindowSize.cx; - rc.bottom-=rc.top+m_WindowSize.cy; - } - - void SetStoreRect( const RECT &rc ) - { - this->SetWindowPos(NULL,rc.left,rc.top,m_WindowSize.cx+rc.right,m_WindowSize.cy+rc.bottom,SWP_NOZORDER|SWP_NOCOPYBITS); - this->SendMessage(DM_REPOSITION); - } - -private: - SIZE m_ClientSize; - SIZE m_WindowSize; - int m_Flags; - CWindow m_Gripper; - std::vector m_Controls; -}; - -#define BEGIN_RESIZE_MAP const Control *GetResizeControls( void ) { static Control controls[]={ -#define RESIZE_CONTROL(id,flags) {id,flags}, -#define END_RESIZE_MAP {0,0}}; return controls; } - -/////////////////////////////////////////////////////////////////////////////// - -struct CStdCommand -{ - const wchar_t *name; // NULL for the terminator item, empty for custom item - int displayNameId; // always valid - int tipID; - const wchar_t *itemName; // NULL for separators - const wchar_t *label; - const wchar_t *tip; - const wchar_t *icon; // NULL for separators, "none" - force no icon, "" for default icon - const KNOWNFOLDERID *knownFolder; - unsigned int settings; - const wchar_t *iconD; - - bool IsSeparator( void ) const { return !itemName; } - bool IsCustom( void ) const { return !*name; } - bool IsStyle( int style, int mask ) const { return (settings&mask)==0 || (settings&style); } -}; - -struct CTreeItem -{ - CString name; - CString command; - CString link; - CString label; - CString tip; - CString icon; - CString iconD; - unsigned int settings; - const CStdCommand *pStdCommand; // always valid - - CTreeItem( void ) { settings=0; pStdCommand=NULL; } - void SetCommand( CString command, const CStdCommand *pStdCommands, int style, int mask ); - unsigned int GetIconKey( void ) const; - HICON LoadIcon( bool bSmall, std::vector &modules ) const; - unsigned int GetIconDKey( unsigned int iconKey ) const; - HICON LoadIconD( HICON hIcon, std::vector &modules ) const; // always large - CString GetDisplayName( bool bTitle ) const; -}; - -/////////////////////////////////////////////////////////////////////////////// - -const HICON HICON_NONE=(HICON)-1; - -class CCustomTreeDlg: public CResizeableDlg -{ -public: - CCustomTreeDlg( bool bMenu, const CStdCommand *pStdCommands, int style, int mask ); - ~CCustomTreeDlg( void ); - - BEGIN_MSG_MAP( CCustomTreeDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - MESSAGE_HANDLER( WM_CONTEXTMENU, OnContextMenu ) - - NOTIFY_HANDLER( IDC_TREECOMMANDS, TVN_GETINFOTIP, OnGetInfoTip ) - NOTIFY_HANDLER( IDC_TREECOMMANDS, TVN_BEGINDRAG, OnBeginDrag ) - NOTIFY_HANDLER( IDC_TREECOMMANDS, NM_DBLCLK, OnAddItem ) - NOTIFY_HANDLER( IDC_TREECOMMANDS, TVN_KEYDOWN, OnAddItem ) - NOTIFY_HANDLER( IDC_TREEITEMS, TVN_GETINFOTIP, OnGetInfoTip ) - NOTIFY_HANDLER( IDC_TREEITEMS, NM_DBLCLK, OnEditItem ) - NOTIFY_HANDLER( IDC_TREEITEMS, TVN_KEYDOWN, OnEditItem ) - NOTIFY_HANDLER( IDC_TREEITEMS, NM_CUSTOMDRAW, OnCustomDraw ) - REFLECT_NOTIFICATIONS() - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_TREEITEMS,MOVE_LEFT_HALF|MOVE_SIZE_Y) - RESIZE_CONTROL(IDC_STATICMIDDLE,MOVE_CENTER|MOVE_VCENTER) - RESIZE_CONTROL(IDC_STATICRIGHT,MOVE_CENTER) - RESIZE_CONTROL(IDC_TREECOMMANDS,MOVE_RIGHT_HALF|MOVE_SIZE_Y) - RESIZE_CONTROL(IDC_STATICHINT,MOVE_SIZE_X|MOVE_MOVE_Y) - END_RESIZE_MAP - - void SetGroup( CSetting *pGroup, bool bReset ); - void SerializeData( void ); - -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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnBeginDrag( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnAddItem( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnEditItem( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - - virtual void InitItems( void ) {} - virtual void ItemsChanged( void ) {} - virtual void ParseTreeItemExtra( CTreeItem *pItem, CSettingsParser &parser ) {} - virtual void SerializeItemExtra( CTreeItem *pItem, std::vector &stringBuilder ) {} - virtual bool EditItem( CTreeItem *pItem, HWND tree, HTREEITEM hItem, std::vector &modules ); - void AddItem( HTREEITEM hCommand ); - - HTREEITEM GetRoot( void ); - HTREEITEM GetChild( HTREEITEM hParent ); - HTREEITEM GetNext( HTREEITEM hItem ); - CTreeItem *GetItem( HTREEITEM hItem ); - - static void AppendString( std::vector &stringBuilder, const wchar_t *text ); - - int m_Style, m_StyleMask; - -private: - CSettingsTree &m_Tree; - CCommandsTree &m_CommandsTree; - const CStdCommand *m_pStdCommands; - CSetting *m_pSetting; - bool m_bMenu; - - const CStdCommand *FindStdCommand( const wchar_t *name ); - - void EditItemInternal( CTreeItem *pItem, HTREEITEM hItem ); - int ParseTreeItem( CTreeItem *pItem, CSettingsParser &parser ); - void SerializeItem( HTREEITEM hItem, std::vector &stringBuilder ); - void CreateTreeItems( CSettingsParser &parser, HTREEITEM hParent, const CSettingsParser::TreeItem *pItems, int index ); -}; - -class CEditCustomItemDlg: public CResizeableDlg -{ -public: - CEditCustomItemDlg( CTreeItem *pItem, std::vector &modules ): m_Modules(modules) { m_pItem=pItem; } - virtual ~CEditCustomItemDlg( void ); - void SetEnableParent( HWND parent ) { m_EnableParent=parent; } - bool GetResult( void ) { return m_bResult; } - - BEGIN_MSG_MAP( CEditCustomItemDlg ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - MESSAGE_HANDLER( WM_GETMINMAXINFO, OnGetMinMaxInfo ) - END_MSG_MAP() - - virtual BEGIN_RESIZE_MAP - END_RESIZE_MAP - - bool Run( HWND parent, int dlgID ); - -protected: - CTreeItem *m_pItem; - - // 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 OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnBrowse( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - - void InitDialog( CWindow commandCombo, const CStdCommand *pStdcommands, int style, int mask, CWindow linkCombo, const KNOWNFOLDERID *const *pCommonLinks ); - void UpdateIcons( int iconID, int iconDID ); - CString GetComboText( WORD wNotifyCode, WORD wID ); - -private: - std::vector &m_Modules; - HWND m_EnableParent; - bool m_bResult; - HICON m_hIcon; - unsigned int m_IconKey; - HICON m_hIconD; - unsigned int m_IconDKey; - CTreeItem m_StoredItem; - - void StorePlacement( void ); -}; - -/////////////////////////////////////////////////////////////////////////////// - -ISettingsPanel *GetDefaultSettings( const CString *filter, const CSetting *pSelect ); -HIMAGELIST GetSettingsImageList( HWND tree ); -bool BrowseForIcon( HWND hWndParent, wchar_t *path, int &id ); -bool BrowseForBitmap( HWND hWndParent, wchar_t *path, bool bAllowJpeg ); -bool BrowseForSound( HWND hWndParent, wchar_t *path ); -const wchar_t *GetSettingsRegPath( void ); - -// Special GUID for the real desktop -extern const GUID FOLDERID_DesktopRoot; - -bool BrowseCommandHelper( HWND parent, wchar_t *text ); -bool BrowseLinkHelper( HWND parent, wchar_t *text ); -bool BrowseIconHelper( HWND parent, wchar_t *text ); diff --git a/Src/Lib/StringSet.cpp b/Src/Lib/StringSet.cpp deleted file mode 100644 index 88fb8bd..0000000 --- a/Src/Lib/StringSet.cpp +++ /dev/null @@ -1,75 +0,0 @@ -// 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 -#include "StringSet.h" - -static CString CreateString( const WORD *data ) -{ - int len=*data; - data++; - if (len==0) return NULL; - - CString str; - wchar_t *ptr=str.GetBuffer(len); - if (ptr) - { - memcpy(ptr,data,len*2); - ptr[len]=0; - str.ReleaseBufferSetLength(len); - } - - return str; -} - -BOOL CALLBACK CStringSet::EnumResNameProc( HMODULE hModule, LPCTSTR lpszType, LPTSTR lpszName, LONG_PTR lParam ) -{ - CStringSet *set=(CStringSet*)lParam; - // find resource - HRSRC hr=FindResource(hModule,lpszName,RT_STRING); - if (!hr) return TRUE; - - HGLOBAL hg=LoadResource(hModule,hr); - if (hg) - { - const WORD *res=(WORD*)LockResource(hg); - if (res) - { - for (int i=0;i<16;i++) - { - int id=(((int)(intptr_t)lpszName)<<4)+i-16; - - CString str=CreateString(res); - if (!str.IsEmpty()) - (*set)[id]=str; - res+=(*res)+1; - } - UnlockResource(hg); - } - } - return TRUE; -} - -// Initializes the string database -void CStringSet::Init( HINSTANCE hInstance ) -{ - clear(); - m_hInstance=hInstance; - if (hInstance) - EnumResourceNames(hInstance,RT_STRING,EnumResNameProc,(LONG_PTR)this); -} - -// Returns a string by ID (returns "" if the string is missing) -CString CStringSet::GetString( UINT uID ) -{ - // search in the database - const_iterator it=find(uID); - - if (it!=end()) - { - if (it->second) - return it->second; - } - return CString(); -} diff --git a/Src/Lib/StringSet.h b/Src/Lib/StringSet.h deleted file mode 100644 index c0c3f2d..0000000 --- a/Src/Lib/StringSet.h +++ /dev/null @@ -1,23 +0,0 @@ -// 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 - -class CStringSet: public std::map -{ -public: - CStringSet( void ) { m_hInstance=NULL; } - // Initializes the string database - void Init( HINSTANCE hInstance ); - - // Returns a string by ID (returns "" if the string is missing) - CString GetString( UINT uID ); - -private: - HINSTANCE m_hInstance; - - static BOOL CALLBACK EnumResNameProc( HMODULE hModule, LPCTSTR lpszType, LPTSTR lpszName, LONG_PTR lParam ); -}; diff --git a/Src/Lib/StringUtils.cpp b/Src/Lib/StringUtils.cpp deleted file mode 100644 index e39d634..0000000 --- a/Src/Lib/StringUtils.cpp +++ /dev/null @@ -1,484 +0,0 @@ -// 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 - -// StringUtils is also available under the CPOL license as part of the FormatString article -// on CodeProject: http://www.codeproject.com/KB/string/FormatString.aspx - -#include -#include "StringUtils.h" -#include -#include - -#ifndef STR_USE_WIN32_CONV -#include -#endif - -/////////////////////////////////////////////////////////////////////////////// - -#ifdef STR_USE_WIN32_DBCS -static int g_MaxCharSize=0; -#endif - -// Returns 1 if the ANSI code page is single-byte, or 2 if it is double-byte (DBCS) -int GetMaxCharSize( void ) -{ -#ifdef STR_USE_WIN32_DBCS - if (!g_MaxCharSize) - { - CPINFO info; - if (GetCPInfo(CP_ACP,&info)) - g_MaxCharSize=info.MaxCharSize; - } - return g_MaxCharSize; -#else - return MB_CUR_MAX; -#endif -} - -// Copies src to dst. size is the size of dst in bytes, including the terminating 0. -// Returns the number of characters copied, excluding the terminating 0. -// The return value is <=size-1. If size is 0, returns 0 and does nothing. -// The result in dst is always 0 terminated. -int Strcpy( char *dst, int size, const char *src ) -{ - assert(dst); - assert(src); - assert(size>0); - if (size<=0) return 0; - char *dst0=dst; - if (GetMaxCharSize()==1) - { - // SBCS version - while (size>1) - { - if (*src==0) break; - *dst++=*src++; - size--; - } - } - else - { - // DBCS version - while (size>1) - { - if (*src==0) break; -#ifdef STR_USE_WIN32_DBCS - if (IsDBCSLeadByte((BYTE)*src)) - { -#else - if (isleadbyte((unsigned char)*src)) - { -#endif - if (size==2) break; - if (src[1]==0) break; - *dst++=*src++; - *dst++=*src++; - size-=2; - } - else - { - *dst++=*src++; - size--; - } - } - } - *dst=0; - return (int)(dst-dst0); -} - -int Strcpy( wchar_t *dst, int size, const wchar_t *src ) -{ - assert(dst); - assert(src); - assert(size>0); - if (size<=0) return 0; - int len=Strlen(src); - if (len>size-1) - len=size-1; - if (len>0 && src[len]>=0xDC00 && src[len]<=0xDFFF) // check for trailing surrogate - len--; - memcpy(dst,src,len*sizeof(wchar_t)); - dst[len]=0; - return len; -} - -// Copies src to dst. size is the size of dst in characters, including the terminating 0. -// Copies up to len characters and always appends terminating 0. -int Strncpy( char *dst, int size, const char *src, int len ) -{ - assert(dst); - assert(src); - assert(size>0); - if (size<=0) return 0; - char *dst0=dst; - const char *end=src+len; - if (GetMaxCharSize()==1) - { - // SBCS version - while (size>1) - { - if (src==end) break; - *dst++=*src++; - size--; - } - } - else - { - // DBCS version - while (size>1) - { - if (src==end) break; -#ifdef STR_USE_WIN32_DBCS - if (IsDBCSLeadByte((BYTE)*src)) - { -#else - if (isleadbyte((unsigned char)*src)) - { -#endif - if (size==2) break; - if (src+1==end) break; - *dst++=*src++; - *dst++=*src++; - size-=2; - } - else - { - *dst++=*src++; - size--; - } - } - } - *dst=0; - return (int)(dst-dst0); -} - -int Strncpy( wchar_t *dst, int size, const wchar_t *src, int len ) -{ - assert(dst); - assert(src); - assert(size>0); - if (size<=0) return 0; - if (len>size-1) - len=size-1; - if (len>0 && src[len]>=0xDC00 && src[len]<=0xDFFF) // check for trailing surrogate - len--; - memcpy(dst,src,len*sizeof(wchar_t)); - dst[len]=0; - return len; -} - -// Appends src to dst. size is the size of dst in bytes, including the terminating 0. -// Returns the number of characters copied, excluding the terminating 0. -// The return value is <=size-1-strlen(dst). If size>=strlen(dst), returns 0 and does nothing. -// The result in dst is always 0 terminated. -int Strcat( char *dst, int size, const char *src ) -{ - assert(dst); - int len=Strlen(dst); - assert(len0); - if (size<=0) return 0; -#if _MSC_VER>=1400 // VC8.0 - int len=_vsnprintf_s(dst,size,size-1,format,args); -#else - int len=_vsnprintf(dst,size-1,format,args); -#endif - if (len<0) - len=size-1; - dst[len]=0; - return len; -} - -int Vsprintf( wchar_t *dst, int size, const wchar_t *format, va_list args ) -{ - assert(dst); - assert(format); - assert(size>0); - if (size<=0) return 0; -#if _MSC_VER>=1400 // VC8.0 - int len=_vsnwprintf_s(dst,size,size-1,format,args); -#else - int len=_vsnwprintf(dst,size-1,format,args); -#endif - if (len<0) - len=size-1; - dst[len]=0; - return len; -} - -// Outputs a formatted debug string -void Trace( const char *format, ... ) -{ - va_list args; - va_start(args,format); - char buf[1024]; - Vsprintf(buf,_countof(buf)-2,format,args); - Strcat(buf,_countof(buf),"\r\n"); - OutputDebugStringA(buf); - va_end(args); -} - -void Trace( const wchar_t *format, ... ) -{ - va_list args; - va_start(args,format); - wchar_t buf[1024]; - Vsprintf(buf,_countof(buf)-2,format,args); - Strcat(buf,_countof(buf),L"\r\n"); - OutputDebugStringW(buf); - va_end(args); -} - -// Convert between multi-byte and wide characters. size is the size of dst in characters, including the -// terminating 0. -// Return the number of characters copied, excluding the terminating 0. -// The return value is <=size-1. If size is 0, returns 0 and does nothing. -// The result in dst is always 0 terminated. - -#ifdef STR_USE_WIN32_CONV -int MbsToWcs( wchar_t *dst, int size, const char *src, int codePage ) -{ - if (!dst) - return MultiByteToWideChar(codePage,0,src,Strlen(src),NULL,0); - - assert(size); - if (size==0) return 0; - if (size==1) - { - dst[0]=0; - return 0; - } - int len=Strlen(src); - dst[size-2]=0; - int res=MultiByteToWideChar(codePage,0,src,len,dst,size-1); - if (res) - { - // the result fits - dst[res]=0; - return res; - } - if (GetLastError()!=ERROR_INSUFFICIENT_BUFFER) - { // some unknown error - dst[0]=0; - return 0; - } - - if (!dst[size-2]) // could not fit a surrogate pair - return size-2; - dst[size-1]=0; - return size-1; -} - -int WcsToMbs( char *dst, int size, const wchar_t *src, int codePage ) -{ - if (!dst) - return WideCharToMultiByte(codePage,0,src,Strlen(src),NULL,0,NULL,NULL); - - assert(size); - if (size==0) return 0; - if (size==1) - { - dst[0]=0; - return 0; - } - int len=Strlen(src); - int l=size; - if (l>10) l=10; - memset(dst+size-l,0,l); // fill the end with zeros (up to 10 bytes) - int res=WideCharToMultiByte(codePage,0,src,len,dst,size-1,NULL,NULL); - if (res) - { - // the result fits - dst[res]=0; - return res; - } - if (GetLastError()!=ERROR_INSUFFICIENT_BUFFER) // some unknown error - { - dst[0]=0; - return 0; - } - - // find the last non-zero to return the correct length - for (len=size-1;len>0;len--) - if (dst[len-1]) - return len; - return 0; -} -#else -int MbsToWcs( wchar_t *dst, int size, const char *src ) -{ - if (!dst) - { -#if _MSC_VER>=1400 // VC8.0 - size_t res; - if (mbstowcs_s(&res,NULL,0,src,0)!=0) - return 0; - return (int)res-1; -#else - int res=(int)mbstowcs(NULL,src,0); - if (res<0) return 0; - return res; -#endif - } - - assert(size); - if (size==0) return 0; - if (size==1) - { - dst[0]=0; - return 0; - } -#if _MSC_VER>=1400 // VC8.0 - size_t res; - mbstowcs_s(&res,dst,size,src,_TRUNCATE); - return (int)res-1; -#else - int res=(int)mbstowcs(dst,src,size-1); - if (res<0) - { - dst[0]=0; - return 0; - } - if (res==size-1) - dst[res]=0; - return res; -#endif -} - -int WcsToMbs( char *dst, int size, const wchar_t *src ) -{ - if (!dst) - { -#if _MSC_VER>=1400 // VC8.0 - size_t res; - if (wcstombs_s(&res,NULL,0,src,0)!=0) - return 0; - return (int)res-1; -#else - int res=(int)wcstombs(NULL,src,0); - if (res<0) return 0; - return res; -#endif - } - - assert(size); - if (size==0) return 0; - if (size==1) - { - dst[0]=0; - return 0; - } - -#if _MSC_VER>=1400 // VC8.0 - size_t res; - if (wcstombs_s(&res,dst,size,src,_TRUNCATE)!=0) - { - dst[0]=0; - return 0; - } - return (int)res-1; -#else - int res=(int)wcstombs(dst,src,size-1); - if (res<0) - { - dst[0]=0; - return 0; - } - if (res==size-1) - dst[res]=0; - return res; -#endif -} -#endif - -/////////////////////////////////////////////////////////////////////////////// - -const char *GetToken( const char *text, char *token, int size, const char *separators ) -{ - while (*text && strchr(separators,*text)) - text++; - const char *c1=text,*c2; - if (text[0]=='\"') - { - c1++; - c2=strchr(c1,'\"'); - } - else - { - c2=c1; - while (*c2!=0 && !strchr(separators,*c2)) - c2++; - } - if (!c2) c2=text+strlen(text); - int l=(int)(c2-c1); - if (l>size-1) l=size-1; - memcpy(token,c1,l); - token[l]=0; - - if (*c2) return c2+1; - else return c2; -} - -const wchar_t *GetToken( const wchar_t *text, wchar_t *token, int size, const wchar_t *separators ) -{ - while (*text && wcschr(separators,*text)) - text++; - const wchar_t *c1=text,*c2; - if (text[0]=='\"') - { - c1++; - c2=wcschr(c1,'\"'); - } - else - { - c2=c1; - while (*c2!=0 && !wcschr(separators,*c2)) - c2++; - } - if (!c2) c2=text+wcslen(text); - int l=(int)(c2-c1); - if (l>size-1) l=size-1; - memcpy(token,c1,l*2); - token[l]=0; - - if (*c2) return c2+1; - else return c2; -} diff --git a/Src/Lib/StringUtils.h b/Src/Lib/StringUtils.h deleted file mode 100644 index 8d48fee..0000000 --- a/Src/Lib/StringUtils.h +++ /dev/null @@ -1,113 +0,0 @@ -// 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 - -// StringUtils is also available under the CPOL license as part of the FormatString article -// on CodeProject: http://www.codeproject.com/KB/string/FormatString.aspx - -#ifndef _STRINGUTILS_H -#define _STRINGUTILS_H - -// StringUtils provides secure implementations of common string functions. -// All strings are guaranteed to be zero-terminated and to not contain partial -// double-byte characters or partial surrogate pairs. -// It also provides char and wchar_t overrides of the same functions. -// -/////////////////////////////////////////////////////////////////////////////// - -// Configuration of the string functions - -// If defined, enables the use of WideCharToMultiByte and MultiByteToWideChar -// If not defined, wcstombs and mbstowcs are used instead. they always use the default code page -// and don't support surrogate pairs -#define STR_USE_WIN32_CONV - -// If defined, enables the use of Windows localization functions - GetNumberFormat, GetTimeFormat, etc -// If not defined, then the numbers, currency, time and date use fixed formats -#define STR_USE_WIN32_NLS - -// If defined, enables support for SYSTEMTIME, FILETIME and DATE -// If not defined, only time_t is supported as a time format -#define STR_USE_WIN32_TIME - -// If defined, enables the use of IsDBCSLeadByte to support DBCS code pages -// If not defined, isleadbyte is used instead -#define STR_USE_WIN32_DBCS - -// enables support for STL strings and streams -//#define STR_USE_STL - -#include -#include - -#if defined(_WIN32) || defined(_WIN64) -#include -#endif - -#ifdef STR_USE_STL -#include -#endif - -// _countof: compute the number of elements in a statically-allocated array -// VS2005 supports this, but earlier versions do not -#ifndef _countof -#define _countof(x) (sizeof(x)/sizeof((x)[0])) -#endif - -// Returns 1 if the ANSI code page is single-byte, or 2 if it is double-byte (DBCS) -int GetMaxCharSize( void ); - -// Returns the length of a string -inline int Strlen( const char *str ) { return (int)strlen(str); } -inline int Strlen( const wchar_t *str ) { return (int)wcslen(str); } - -// Copies src to dst. size is the size of dst in characters, including the terminating 0. -// Returns the number of characters copied, excluding the terminating 0. -// The return value is <=size-1. If size is 0, returns 0 and does nothing. -// The result in dst is always 0 terminated. -int Strcpy( char *dst, int size, const char *src ); -int Strcpy( wchar_t *dst, int size, const wchar_t *src ); - -// Copies src to dst. size is the size of dst in characters, including the terminating 0. -// Copies up to len characters and always appends terminating 0. -int Strncpy( char *dst, int size, const char *src, int len ); -int Strncpy( wchar_t *dst, int size, const wchar_t *src, int len ); - -// Appends src to dst. size is the size of dst in bytes, including the terminating 0. -// Returns the number of characters copied, excluding the terminating 0. -// The return value is <=size-1-strlen(dst). If size>=strlen(dst), returns 0 and does nothing. -// The result in dst is always 0 terminated. -int Strcat( char *dst, int size, const char *src ); -int Strcat( wchar_t *dst, int size, const wchar_t *src ); - -// Writes formatted string to dst. size is the size of dst in characters, including the terminating 0. -// Returns the number of characters written, excluding the terminating 0. -// The return value is <=size-1. If size is 0, returns 0 and does nothing. -// The result in dst is always 0 terminated. -int _cdecl Sprintf( char *dst, int size, const char *format, ... ); -int _cdecl Sprintf( wchar_t *dst, int size, const wchar_t *format, ... ); -int _cdecl Vsprintf( char *dst, int size, const char *format, va_list args ); -int _cdecl Vsprintf( wchar_t *dst, int size, const wchar_t *format, va_list args ); - -// Outputs a formatted debug string -void Trace( const char *format, ... ); -void Trace( const wchar_t *format, ... ); - -// Converts between multi-byte and wide characters. size is the size of dst in characters, including the -// terminating 0. -// Returns the number of characters copied, excluding the terminating 0. -// The return value is <=size-1. If size is 0, returns 0 and does nothing. -// The result in dst is always 0 terminated. -// If dst is NULL the size is ignored and the function just returns the number of characters (not counting the 0) -#ifdef STR_USE_WIN32_CONV -int MbsToWcs( wchar_t *dst, int size, const char *src, int codePage=CP_ACP ); -int WcsToMbs( char *dst, int size, const wchar_t *src, int codePage=CP_ACP ); -#else -int MbsToWcs( wchar_t *dst, int size, const char *src ); -int WcsToMbs( char *dst, int size, const wchar_t *src ); -#endif - -const char *GetToken( const char *text, char *token, int size, const char *separators ); -const wchar_t *GetToken( const wchar_t *text, wchar_t *token, int size, const wchar_t *separators ); - -#endif diff --git a/Src/Lib/TrackResources.cpp b/Src/Lib/TrackResources.cpp deleted file mode 100644 index 1abc36c..0000000 --- a/Src/Lib/TrackResources.cpp +++ /dev/null @@ -1,227 +0,0 @@ -#include -#include -#include -#include "StringUtils.h" -#include "ResourceHelper.h" -#include "Assert.h" - -typedef std::pair TrackedResource; -typedef std::map TrackedResourceMap; - -static TrackedResourceMap g_TrackedGdiResources; -static TrackedResourceMap g_TrackedUserResources; - -HDC TrackCreateCompatibleDC( HDC hdc, const char *file, int line ) -{ - HDC res=CreateCompatibleDC(hdc); - if (res) - g_TrackedGdiResources[res]=TrackedResource(file,line); - return res; -} - -HFONT TrackCreateFont( int cHeight, int cWidth, int cEscapement, int cOrientation, int cWeight, DWORD bItalic, DWORD bUnderline, DWORD bStrikeOut, DWORD iCharSet, DWORD iOutPrecision, DWORD iClipPrecision, DWORD iQuality, DWORD iPitchAndFamily, LPCWSTR pszFaceName, const char *file, int line ) -{ - HFONT res=CreateFont(cHeight,cWidth,cEscapement,cOrientation,cWeight,bItalic,bUnderline,bStrikeOut,iCharSet,iOutPrecision,iClipPrecision,iQuality,iPitchAndFamily,pszFaceName); - if (res) - g_TrackedGdiResources[res]=TrackedResource(file,line); - return res; -} - -HFONT TrackCreateFontIndirect( const LOGFONT *lplf, const char *file, int line ) -{ - HFONT res=CreateFontIndirect(lplf); - if (res) - g_TrackedGdiResources[res]=TrackedResource(file,line); - return res; -} - -HANDLE TrackLoadImage( HINSTANCE hInst, LPCWSTR name, UINT type, int cx, int cy, UINT fuLoad, const char *file, int line ) -{ - HANDLE res=LoadImage(hInst,name,type,cx,cy,fuLoad); - if (type==IMAGE_BITMAP) - g_TrackedGdiResources[res]=TrackedResource(file,line); - else - g_TrackedUserResources[res]=TrackedResource(file,line); - return res; -} - -HBITMAP TrackCreateDIBSection( HDC hdc, CONST BITMAPINFO *lpbmi, UINT usage, VOID **ppvBits, HANDLE hSection, DWORD offset, const char *file, int line ) -{ - HBITMAP res=CreateDIBSection(hdc,lpbmi,usage,ppvBits,hSection,offset); - if (res) - g_TrackedGdiResources[res]=TrackedResource(file,line); - return res; -} - -HBITMAP TrackCreateBitmap( int nWidth, int nHeight, UINT nPlanes, UINT nBitCount, CONST VOID *lpBits, const char *file, int line ) -{ - HBITMAP res=CreateBitmap(nWidth,nHeight,nPlanes,nBitCount,lpBits); - if (res) - g_TrackedGdiResources[res]=TrackedResource(file,line); - return res; -} - -HBITMAP TrackCreateCompatibleBitmap( HDC hdc, int cx, int cy, const char *file, int line ) -{ - HBITMAP res=CreateCompatibleBitmap(hdc,cx,cy); - if (res) - g_TrackedGdiResources[res]=TrackedResource(file,line); - return res; -} - -void TrackAddTrackedObject( HGDIOBJ obj, const char *file, int line ) -{ - if (obj) - g_TrackedGdiResources[obj]=TrackedResource(file,line); -} - -void TrackAddTrackedIcon( HICON hIcon, const char *file, int line ) -{ - if (hIcon) - g_TrackedUserResources[hIcon]=TrackedResource(file,line); -} - - - -BOOL TrackDeleteDC( HDC hdc ) -{ - Assert(hdc); - if (g_TrackedGdiResources.find(hdc)!=g_TrackedGdiResources.end()) - g_TrackedGdiResources.erase(hdc); - else - Assert(0); - return DeleteDC(hdc); -} - -BOOL TrackDeleteObject( HGDIOBJ obj ) -{ - Assert(obj); - if (g_TrackedGdiResources.find(obj)!=g_TrackedGdiResources.end()) - g_TrackedGdiResources.erase(obj); - else - Assert(0); - return DeleteObject(obj); -} - -BOOL TrackDestroyIcon( HICON hIcon ) -{ - Assert(hIcon); - if (g_TrackedUserResources.find(hIcon)!=g_TrackedUserResources.end()) - g_TrackedUserResources.erase(hIcon); - else - Assert(0); - return DestroyIcon(hIcon); -} - - -static void DumpBitmapLeaks( const std::vector &bitmaps ) -{ - int index=0; - for (std::vector::const_iterator it=bitmaps.begin();it!=bitmaps.end();++it) - { - BITMAP info; - GetObject(*it,sizeof(info),&info); - // ... - } -} - - -struct GdiTableCell -{ - void *pKernel; - unsigned short nProcess; - unsigned short nCount; - unsigned short nUpper; - unsigned short nType; - void *pUser; -}; - -static const GdiTableCell *GetGdiTable( void ) -{ - HMODULE gdi32=GetModuleHandle(L"gdi32.dll"); - FARPROC GdiQueryTable=GetProcAddress(gdi32,"GdiQueryTable"); - if (GdiQueryTable) - { - // GdiQueryTable(); - if (GetWinVersion()>=WIN_VER_WIN8) - return *(GdiTableCell**)((char*)GdiQueryTable+0x6b1b0); - else - return *(GdiTableCell**)((char*)GdiQueryTable+0x29db0); - } - return NULL; -} - -void DumpResourceLeaks( void ) -{ - GdiFlush(); - Trace("GDI objects %d",GetGuiResources(GetCurrentProcess(),GR_GDIOBJECTS)); - Trace("USER objects %d",GetGuiResources(GetCurrentProcess(),GR_USEROBJECTS)); - const GdiTableCell *cells=GetGdiTable(); - if (!cells) return; - - int counts[16]={0}; - unsigned short pid=(unsigned short)GetCurrentProcessId(); - int n=65536; - std::vector bitmaps; - for (int i=0;isecond; - DWORD type=GetObjectType(handle); - if (!(type&~15)) - counts[type]++; - switch (type) - { - case OBJ_BITMAP: - { - BITMAP info; - GetObject(handle,sizeof(info),&info); - bitmaps.push_back((HBITMAP)handle); - } - break; - case OBJ_BRUSH: - { - LOGBRUSH info; - GetObject(handle,sizeof(info),&info); - int q=0; - } - break; - case OBJ_DC: - { - int q=0; - } - break; - case OBJ_FONT: - { - LOGFONT info; - GetObject(handle,sizeof(info),&info); - int q=0; - } - break; - case OBJ_PEN: - { - LOGPEN info; - GetObject(handle,sizeof(info),&info); - int q=0; - } - break; - case OBJ_REGION: - { - int q=0; - } - break; - case OBJ_MEMDC: - { - int q=0; - } - break; - } - } - } - DumpBitmapLeaks(bitmaps); -} diff --git a/Src/Lib/TrackResources.h b/Src/Lib/TrackResources.h deleted file mode 100644 index d062157..0000000 --- a/Src/Lib/TrackResources.h +++ /dev/null @@ -1,51 +0,0 @@ -// 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 TRACK_GDI_RESOURCES -#ifndef _DEBUG -#undef TRACK_GDI_RESOURCES -#endif - -#ifdef TRACK_GDI_RESOURCES - -#undef CreateFont -#undef CreateFontIndirect -#undef LoadImage - -#define CreateCompatibleDC(hdc) TrackCreateCompatibleDC(hdc,__FILE__,__LINE__) -#define CreateFont(cHeight,cWidth,cEscapement,cOrientation,cWeight,bItalic,bUnderline,bStrikeOut,iCharSet,iOutPrecision,iClipPrecision,iQuality,iPitchAndFamily,pszFaceName) TrackCreateFont(cHeight,cWidth,cEscapement,cOrientation,cWeight,bItalic,bUnderline,bStrikeOut,iCharSet,iOutPrecision,iClipPrecision,iQuality,iPitchAndFamily,pszFaceName,__FILE__,__LINE__) -#define CreateFontIndirect(lplf) TrackCreateFontIndirect(lplf,__FILE__,__LINE__) -#define LoadImage(hInst,name,type,cx,cy,fuLoad) TrackLoadImage(hInst,name,type,cx,cy,fuLoad,__FILE__,__LINE__) -#define CreateDIBSection(hdc,lpbmi,usage,ppvBits,hSection,offset) TrackCreateDIBSection(hdc,lpbmi,usage,ppvBits,hSection,offset,__FILE__,__LINE__) -#define CreateBitmap(nWidth,nHeight,nPlanes,nBitCount,lpBits) TrackCreateBitmap(nWidth,nHeight,nPlanes,nBitCount,lpBits,__FILE__,__LINE__) -#define CreateCompatibleBitmap(hdc,cx,cy) TrackCreateCompatibleBitmap(hdc,cx,cy,__FILE__,__LINE__) -#define AddTrackedObject(obj) TrackAddTrackedObject(obj,__FILE__,__LINE__) -#define AddTrackedIcon(hIcon) TrackAddTrackedIcon(hIcon,__FILE__,__LINE__) - -#define DeleteDC(hdc) TrackDeleteDC(hdc) -#define DeleteObject(obj) TrackDeleteObject(obj) -#define DestroyIcon(hIcon) TrackDestroyIcon(hIcon) - -HDC TrackCreateCompatibleDC( HDC hdc, const char *file, int line ); -HFONT TrackCreateFont( int cHeight, int cWidth, int cEscapement, int cOrientation, int cWeight, DWORD bItalic, DWORD bUnderline, DWORD bStrikeOut, DWORD iCharSet, DWORD iOutPrecision, DWORD iClipPrecision, DWORD iQuality, DWORD iPitchAndFamily, LPCWSTR pszFaceName, const char *file, int line ); -HFONT TrackCreateFontIndirect( const LOGFONT *lplf, const char *file, int line ); -HANDLE TrackLoadImage( HINSTANCE hInst, LPCWSTR name, UINT type, int cx, int cy, UINT fuLoad, const char *file, int line ); -HBITMAP TrackCreateDIBSection( HDC hdc, CONST BITMAPINFO *lpbmi, UINT usage, VOID **ppvBits, HANDLE hSection, DWORD offset, const char *file, int line ); -HBITMAP TrackCreateBitmap( int nWidth, int nHeight, UINT nPlanes, UINT nBitCount, CONST VOID *lpBits, const char *file, int line ); -HBITMAP TrackCreateCompatibleBitmap( HDC hdc, int cx, int cy, const char *file, int line ); -void TrackAddTrackedObject( HGDIOBJ obj, const char *file, int line ); -void TrackAddTrackedIcon( HICON hIcon, const char *file, int line ); - -BOOL TrackDeleteDC( HDC hdc ); -BOOL TrackDeleteObject( HGDIOBJ obj ); -BOOL TrackDestroyIcon( HICON hIcon ); - -void DumpResourceLeaks( void ); - -#else -#define AddTrackedObject(obj) -#define AddTrackedIcon(hIcon) -#endif diff --git a/Src/Lib/Translations.cpp b/Src/Lib/Translations.cpp deleted file mode 100644 index 2aad2db..0000000 --- a/Src/Lib/Translations.cpp +++ /dev/null @@ -1,83 +0,0 @@ -// 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 -#include "SettingsParser.h" - -static CSettingsParser g_Translations; -static CSettingsParser g_TranslationOverrides; -static bool g_bRTL; - -// Parses the settings from an ini file. Supports UTF16, UTF8 or ANSI files -// Use forceLang for force a specific language -void ParseTranslations( const wchar_t *fname, const wchar_t *forceLang ) -{ - g_Translations.Reset(); - - if (fname) - { - if (!g_Translations.LoadText(fname)) return; - g_Translations.ParseText(); - } - - wchar_t languages[100]={0}; - if (forceLang && *forceLang) - { - int len=(int)wcslen(forceLang); - if (len>50) len=50; - memcpy(languages,forceLang,len*2); - memcpy(languages+len+1,L"default\0en-US\0",30); - } - else - { - ULONG size=0; - ULONG len=_countof(languages); - GetUserPreferredUILanguages(MUI_LANGUAGE_NAME,&size,languages,&len); - if (len>50) len=50; - if (len<1) len=1; - memcpy(languages+len-1,L"default\0en-US\0",30); - } - - g_Translations.FilterLanguages(languages); - - // Checks for right-to-left languages - g_bRTL=false; - LOCALESIGNATURE localesig; - LANGID language=GetUserDefaultUILanguage(); - if (forceLang && *forceLang) - { - if (GetLocaleInfoEx(forceLang,LOCALE_FONTSIGNATURE,(LPWSTR)&localesig,(sizeof(localesig)/sizeof(wchar_t))) && (localesig.lsUsb[3]&0x08000000)) - g_bRTL=true; - } - else - { - if (GetLocaleInfoW(language,LOCALE_FONTSIGNATURE,(LPWSTR)&localesig,(sizeof(localesig)/sizeof(wchar_t))) && (localesig.lsUsb[3]&0x08000000)) - g_bRTL=true; - } -} - -// Loads text overrides from the given module. They must be in a "L10N" resource with ID=1 -void LoadTranslationOverrides( HMODULE hModule ) -{ - HRSRC hResInfo=FindResource(hModule,MAKEINTRESOURCE(1),L"L10N"); - if (hResInfo) - { - g_TranslationOverrides.LoadText(hModule,hResInfo); - g_TranslationOverrides.ParseText(); - } -} - -// Returns a setting with the given name. If no setting is found, returns def -const wchar_t *FindTranslation( const wchar_t *name, const wchar_t *def ) -{ - const wchar_t *str=g_TranslationOverrides.FindSetting(name); - if (str) return str; - return g_Translations.FindSetting(name,def); -} - -// Checks for right-to-left languages -bool IsLanguageRTL( void ) -{ - return g_bRTL; -} diff --git a/Src/Lib/Translations.h b/Src/Lib/Translations.h deleted file mode 100644 index 9decefe..0000000 --- a/Src/Lib/Translations.h +++ /dev/null @@ -1,21 +0,0 @@ -// 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 - -// Parses the settings from an ini file. Supports UTF16, UTF8 or ANSI files -// Use forceLang for force a specific language -void ParseTranslations( const wchar_t *fname, const wchar_t *forceLang ); - -// Loads text overrides from the given module. They must be in a "L10N" resource with ID=1 -void LoadTranslationOverrides( HMODULE hModule ); - -// Returns a setting with the given name. If no setting is found, returns def -const wchar_t *FindTranslation( const wchar_t *name, const wchar_t *def ); - -// Checks for right-to-left languages -bool IsLanguageRTL( void ); - -// Language DLLs between this version and the current version are acceptable -const int MIN_LANGUAGE_VERSION=0x03090005; diff --git a/Src/Lib/flags.bmp b/Src/Lib/flags.bmp deleted file mode 100644 index a761ed3..0000000 Binary files a/Src/Lib/flags.bmp and /dev/null differ diff --git a/Src/Lib/flags24.bmp b/Src/Lib/flags24.bmp deleted file mode 100644 index f53c58f..0000000 Binary files a/Src/Lib/flags24.bmp and /dev/null differ diff --git a/Src/Lib/padlock.ico b/Src/Lib/padlock.ico deleted file mode 100644 index 8b011f5..0000000 Binary files a/Src/Lib/padlock.ico and /dev/null differ diff --git a/Src/Lib/play.ico b/Src/Lib/play.ico deleted file mode 100644 index 62a98a3..0000000 Binary files a/Src/Lib/play.ico and /dev/null differ diff --git a/Src/Lib/resource.h b/Src/Lib/resource.h deleted file mode 100644 index 718e4f2..0000000 --- a/Src/Lib/resource.h +++ /dev/null @@ -1,152 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Lib.rc -// -#define IDS_VERSION_URL 100 -#define IDB_FLAGS 109 -#define IDB_FLAGS24 108 -#define IDC_STATICICON 209 -#define IDC_SETTINGS 236 -#define IDC_TREEITEMS 238 -#define IDC_COMBOCOMMAND 239 -#define IDC_EDITLABEL 240 -#define IDC_EDITTIP 241 -#define IDC_BUTTONLINK 242 -#define IDC_EDITLINK 244 -#define IDC_EDITICON 245 -#define IDC_BUTTONICON 246 -#define IDC_EDITICOND 247 -#define IDC_BUTTONICOND 248 -#define IDC_TABSETTINGS 250 -#define IDC_STATICCOMMAND 251 -#define IDC_STATICLINK 252 -#define IDC_STATICTEXT 253 -#define IDC_STATICINFOTIP 254 -#define IDC_STATICICOND 255 -#define IDC_ICONN 256 -#define IDC_ICOND 257 -#define IDC_COMBOLINK 258 -#define IDC_STATICHINT 259 -#define IDI_ICONLOCK 1000 -#define IDI_ICONWARNING 1001 -#define IDC_EDITFILE 1001 -#define IDI_ICONPLAY 1002 -#define IDC_BUTTONBROWSE 1002 -#define IDC_LISTICONS 1003 -#define IDC_LISTLANGUAGE 1004 -#define IDC_STATICTIP 1005 -#define IDC_TREE1 1006 -#define IDC_TREECOMMANDS 1006 -#define IDC_STATICLEFT 1007 -#define IDC_STATICRIGHT 1008 -#define IDC_STATICMIDDLE 1009 -#define IDC_LINKHELP 1010 -#define IDC_BUTTONBACKUP 1011 -#define IDC_STATICFILE 1013 -#define IDC_LINKWEB 1014 -#define IDC_EDITSEARCH 1025 -#define IDC_SYSLINKLOC 1026 -#define IDC_ICONSEARCH 1027 -#define IDC_CHECKALL 1031 -#define IDC_BUTTONCHECK 1032 -#define IDC_LINKDOWNLOAD 1035 -#define IDC_PROGRESS 1036 -#define IDC_MESSAGE 1037 -#define IDD_SETTINGS 4000 -#define IDS_TOGGLE_SETTING 4000 -#define IDD_SETTINGSTREE 4001 -#define IDS_SELECT_SETTING 4001 -#define IDD_BROWSEFORICON 4002 -#define IDS_DEFAULT_SETTING 4002 -#define IDD_LANGUAGE 4003 -#define IDS_PLAY_SETTING 4003 -#define IDD_CUSTOMTREE 4004 -#define IDS_ICON_FILTERS 4004 -#define IDD_PROGRESS 4005 -#define IDS_ICON_TITLE 4005 -#define IDS_WAV_FILTERS 4006 -#define IDS_WAV_TITLE 4007 -#define IDS_SETTING_LOCKED 4008 -#define IDS_SETTING_LOCKED_GP 4009 -#define IDS_BASIC_SETTINGS 4010 -#define IDS_ALWAYS_ON_TOP 4011 -#define IDS_MENU_EDIT 4012 -#define IDS_MENU_DELETE 4013 -#define IDS_MENU_RENAME 4014 -#define IDS_PICK_LINK_TITLE 4015 -#define IDS_PICK_LINK_FILE 4016 -#define IDS_PICK_LINK_FOLDER 4017 -#define IDS_DUPLICATE_ITEM 4018 -#define IDS_ERROR_TITLE 4019 -#define IDS_ERROR_SEPARATOR 4020 -#define IDS_ERROR_ASCII 4021 -#define IDS_ERROR_EMPTY 4022 -#define IDS_RESET_TOOLBAR 4023 -#define IDS_RESET_TOOLBAR_WARN 4024 -#define IDS_RESET_MENU 4025 -#define IDS_RESET_MENU_WARN 4026 -#define IDS_ADD_TOOLBAR 4027 -#define IDS_ADD_MENU 4028 -#define IDS_INSERT_MENU 4029 -#define IDS_EMPTY_MENU 4030 -#define IDS_TREE_TOOLBAR 4031 -#define IDS_TREE_MENU 4032 -#define IDS_XML_FILTERS 4033 -#define IDS_XML_TITLE_LOAD 4034 -#define IDS_XML_TITLE_SAVE 4035 -#define IDS_RESET_CONFIRM 4036 -#define IDS_RESET_TITLE 4037 -#define IDS_TOOLBAR_LOCKED 4038 -#define IDS_MENU_LOCKED 4039 -#define IDS_BACKUP_SAVE 4040 -#define IDS_BACKUP_LOAD 4041 -#define IDS_BACKUP_RESET 4042 -#define IDS_ERROR_LOADING_XML 4043 -#define IDS_ERROR_SAVING_XML 4044 -#define IDS_DRAG_DROP_EXP_TIP 4045 -#define IDS_DRAG_DROP_SM_TIP 4046 -#define IDS_COMMAND_EXP_TIP 4047 -#define IDS_STRING4048 4048 -#define IDS_COMMAND_SM_TIP 4048 -#define IDS_COMMAND_FILTERS 4049 -#define IDS_OS_LANGUAGE 4050 -#define IDS_BMP_FILTERS 4051 -#define IDS_BMP_TITLE 4052 -#define IDS_SEARCH_PROMPT 4053 -#define IDS_SETTING_SEARCH 4054 -#define IDS_WEBSITE_TIP 4055 -#define IDS_LOCATE_SETTING 4056 -#define IDS_LANGUAGE_UPDATED 4057 -#define IDS_LANGUAGE_MISSING 4058 -#define IDS_LANGUAGE_DOWNLOAD 4059 -#define IDS_LANGUAGE_SUCCESS 4060 -#define IDS_LANGUAGE_SUCCESS2 4061 -#define IDS_LANGUAGE_FAIL 4062 -#define IDS_INTERNET_FAIL 4063 -#define IDS_INITIATE_FAIL 4064 -#define IDS_LANG_DOWNLOAD_FAIL 4065 -#define IDS_LANG_SAVE_FAIL 4066 -#define IDS_UPDATE_TITLE 4067 -#define IDS_INST_DOWNLOAD_FAIL 4068 -#define IDS_INST_SAVE_FAIL 4069 -#define IDS_PROGRESS_CONNECT 4070 -#define IDS_PROGRESS_DOWNLOAD 4071 -#define IDS_PROGRESS_VERIFY 4072 -#define IDS_PROGRESS_SAVE 4073 -#define IDS_PROGRESS_TITLE_CHECK 4074 -#define IDS_PROGRESS_TITLE_DOWNLOAD 4075 -#define IDS_DOWNLOAD_TIP 4076 -#define IDS_BMP_FILTERS2 4077 -#define IDS_UNSAVED_CHANGES 4078 -#define IDS_UNSAVED_TITLE 4079 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 111 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1038 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Lib/stdafx.cpp b/Src/Lib/stdafx.cpp deleted file mode 100644 index afaa4d1..0000000 --- a/Src/Lib/stdafx.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// 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" diff --git a/Src/Lib/stdafx.h b/Src/Lib/stdafx.h deleted file mode 100644 index 122f466..0000000 --- a/Src/Lib/stdafx.h +++ /dev/null @@ -1,22 +0,0 @@ -// 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 -#include -#include -#include - -#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit - -#include -#include -#include -#include diff --git a/Src/Lib/targetver.h b/Src/Lib/targetver.h deleted file mode 100644 index d4feea8..0000000 --- a/Src/Lib/targetver.h +++ /dev/null @@ -1,24 +0,0 @@ -#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 diff --git a/Src/Lib/warning.ico b/Src/Lib/warning.ico deleted file mode 100644 index 8d1837f..0000000 Binary files a/Src/Lib/warning.ico and /dev/null differ diff --git a/Src/LocComments.txt b/Src/LocComments.txt deleted file mode 100644 index f81140f..0000000 --- a/Src/LocComments.txt +++ /dev/null @@ -1,42 +0,0 @@ -; These are comments for the localization CSV files. They explain how to translate some of the trickier lines of text -; "ignore" is a special comment, that forces the text line to not be included in the CSV file (for text that doesn't need translation) - -2001/242=ignore -2001/243=ignore -2001/246=ignore -2001/248=ignore -3001/242=ignore -3001/243=ignore -3001/246=ignore -4002/1002=ignore -4004/259=ignore -4004/1007=ignore -4004/1009=ignore - -2006=%d.%d.%d will be replaced by the version number -2048=here 'fix' means "to repair" (as in "fix the problem"), not "to prevent from changing" (as in "fixed price") -3003=%d.%d.%d will be replaced by the version number -3015=the following 13 lines may be left in English. they will show up only for people who develop new skins. since the instructions for making skins are in English, the error messages can be left in English too -3021=do not translate the word "SKIN" -3022=do not translate the word "SKIN" -3024=do not translate the word "SKIN" -3025=do not translate the word "SKIN" -3581=do not translate the text "switch_user, windows_security, logoff, lock, disconnect, undock, restart, sleep, hibernate, shutdown" - -4004=this is a filter for the "open file" dialog. be very careful to preserve the | characters (the vertical lines) -4006=this is a filter for the "open file" dialog. be very careful to preserve the | characters (the vertical lines) -4033=this is a filter for the "open file" dialog. be very careful to preserve the | characters (the vertical lines) -4049=this is a filter for the "open file" dialog. be very careful to preserve the | characters (the vertical lines) - -4034=this is the title for the dialog -4035=this is the title for the dialog -4037=this is the title for the dialog -4040=this is item in the Backup menu -4041=this is item in the Backup menu -4042=this is item in the Backup menu - -5002=%d.%d.%d will be replaced by the version number - -2001/255=this means "disabled icon", which is the grayed-out icon shown when the command is disabled -3001/1057=this means "the menu will try to open closer to the top of the screen, instead of closer to the bottom" - diff --git a/Src/Localization.rtf b/Src/Localization.rtf deleted file mode 100644 index b630148..0000000 --- a/Src/Localization.rtf +++ /dev/null @@ -1,108 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset0 Arial;}{\f2\fnil\fcharset2 Symbol;}} -{\colortbl ;\red0\green0\blue255;} -{\*\listtable -{\list\listhybrid -{\listlevel\levelnfc23\leveljc0\levelstartat1{\leveltext\'01\'B7;}{\levelnumbers;}\f2\jclisttab\tx0} -{\listlevel\levelnfc23\leveljc0\levelstartat1{\leveltext\'01\'B7;}{\levelnumbers;}\f2\jclisttab\tx0}\listid1 }} -{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}} -{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\keepn\widctlpar\s1\sb240\sa60\sl276\slmult1\kerning32\b\f0\fs32 Localization of Open-Shell\par - -\pard\nowidctlpar\kerning0\b0\f1\fs20\par -This file explains the localization system used by Open-Shell and how to translate Open-Shell in new languages.\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 1. What can be localized\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Open-Shell has 2 major systems for providing localized text.\par -\par -The first one is the L10N.ini files. There are 3 files \endash ExplorerL10N.ini, StartMenuL10N.ini and StartMenuHelperL10N.ini. They contain translations for the text in Explorer and the start menu that users will encounter during normal use. These files contain translations for all of the 35 supported languages. Each language is separated in its own section. You will generally not need to edit these files unless you find a typo. If you do, please send the correction to {{\field{\*\fldinst{HYPERLINK "mailto:classicshell@ibeltchev.com" }}{\fldrslt{\ul\cf1\cf1\ul classicshell@ibeltchev.com}}}}\f1\fs20 , so I can fix the typo in the next release.\par -\par -The second system is for localizing the settings UI and the system messages that Open-Shell displays. The translations are packaged into a resource DLL with the name of the language \endash en-US.dll, ja-JP.dll, etc. The DLL can contain:\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720 A string table with replacement strings\par -{\pntext\f2\'B7\tab}Dialog resources for the Settings UI\par -{\pntext\f2\'B7\tab}Overrides for text lines in the L10N.ini files\par - -\pard\nowidctlpar\par -The same DLL contains resources for all of the Open-Shell components \endash Classic Explorer, Open-Shell Menu, etc. Generally resources from 2000 to 3000 belong to Classic Explorer, from 3000 to 4000 belong to Open-Shell Menu, from 5000 to 6000 belong to Classic IE, 6000 to 7000 belong to the updater component and from 4000 to 5000 are shared by all components.\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 2. What else can be localized (if you really want to)\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Open-Shell is designed to support only localizations for the UI. Localizations for other areas, like the installer and the documentation will require more work.\par -\par -To translate the installer you need to translate the OpenShellText-en-US.wxl file. It contain the text for the installer. One benefit of translating the installer is that you can localize the names of the shortcuts in the Start menu.\par -\par -To translate the help file you will need to install some tool for editing CHM files like HTML Help Workshop from Microsoft. Decompile the OpenShell.chm file and translate the HTML files.\par -\par -You also need to translate the OpenShellReadme.rtf file and OpenShellEULA.rtf.\par -\par -When you are done, send all translations to me and I will prepare an installer for that language. \par -\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 3. The DLL structure in detail\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Look at the provided \b en-US.dll\b0 file. It contains all English resources that can be translated.\par -\b\i Note:\b0 Open-Shell doesn\rquote t need the en-US.dll file. The English text is already built-in. The purpose of the en-US.dll file is to serve as an example and starting point for other languages.\par -\i0\par -The localization DLL contains the following resources:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720 A version resource. It must match the version of Open-Shell it is intended to be used with. The reason is that the text often changes between versions, so translations from one version will not work with the next. You may also use the comments section to list your name as the author.\par - -\pard\nowidctlpar\li720\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720 A string table. Provides translations for the UI text in Open-Shell. Use the text from en-US.dll as a source. The string table doesn\rquote t need to include all strings. If a string is missing, it will stay in English.\line\par -{\pntext\f2\'B7\tab}A set of dialog resources. These are the dialog boxes that the Settings UI needs. You can replace the text in the dialogs with your own. You can also resize some of the dialog elements to make the text fit. Like with the strings, if a dialog is missing from the DLL, the English version will be used.\line\par -{\pntext\f2\'B7\tab}A L10N resource (its resource ID must be 1). This is a UTF-16 text file that contains replacement strings for the ini files. For example the ini files do not have the text \ldblquote Settings for Open-Shell Menu\rdblquote translated in all languages (since I don\rquote t know how to say it in all 35 languages). So the DLL can provide the translations for the current language. It is possible to replace even text that is already translated \endash for example if you want to fix a typo in the ini file, or to provide a better version of some text line.\line\par - -\pard\widctlpar\sa200\sl276\slmult1 You can edit a DLL using a resource editor like Visual Studio, Res Hacker, and many others.\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 4. What if I don\rquote t know how to edit DLLs?\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Look at the provided \b en-US.csv\b0 file. It is a tab-separated file in UTF-16 format. You can open it in Excel or any compatible editor. The file contains 4 columns:\par - -\pard -{\listtext\f1\u10625?\tab}\ls1\nowidctlpar\fi-360\li720\b ID\b0 \endash this is the identifier of the text line. There are 3 types of IDs:\par - -\pard -{\listtext\f1\u10625?\tab}\ls1\ilvl1\nowidctlpar\fi-360\li1440 A number, like 2001, 4030, etc. These correspond to the strings in the string table\par -{\listtext\f1 1\tab}A pair of numbers, like 3002/1025. These correspond to strings found in the dialog boxes. The first number is the ID of the dialog, and the second is the ID of the control in that dialog\par -{\listtext\f1 2\tab}Text, like \ldblquote Menu.SettingsTip\rdblquote . These correspond to the lines of the L10N resource\par - -\pard\nowidctlpar\li720\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\b English\b0 \endash this is the original English text\par - -\pard\nowidctlpar\li720\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\b Translation\b0 \endash this column is empty. That\rquote s where you will have to enter the translations for your language\line\par -{\pntext\f2\'B7\tab}\b Comment\b0 \endash some lines contain hints for the meaning of the translation, or instructions for providing better translation. If you are still unclear about something, ask me. I will provide more comments in future versions based on which text lines people find confusing\par - -\pard\nowidctlpar\par -\par -Once you are done, send the CSV file to {{\field{\*\fldinst{HYPERLINK "mailto:classicshell@ibeltchev.com" }}{\fldrslt{\ul\cf1\cf1\ul classicshell@ibeltchev.com}}}}\f1\fs20 and I will convert that text into a DLL and upload it to the Open-Shell website.\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 5. Special characters\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Some text lines in the DLL or the CSV contain special characters. They are:\par -\b\\t\b0 \endash this is the Tab character. Do not enter an actual tab in the text, because the CSVs don\rquote t handle it well\par -\b\\r\b0 \endash this is a carriage return character\par -\b\\n\b0 \endash this is a new line character\par -\b\\\\\b0 - this is the backslash character. You must use \\\\ instead of \\, because a single \\ can be mistaken for a special character\par -\b %d\b0 \endash this is a placeholder for a number. The actual number will be provided at run-time\par -\b %s\b0 \endash this is a placeholder for a string. The actual string will be provided at run-time\par -\par -In general, try to keep the special characters as they are.\par -\par -} - diff --git a/Src/Localization/BuildADMX.bat b/Src/Localization/BuildADMX.bat deleted file mode 100644 index 83e5460..0000000 --- a/Src/Localization/BuildADMX.bat +++ /dev/null @@ -1,7 +0,0 @@ -cd %2 -..\..\StartMenu\Setup\StartMenu.exe -saveadmx %1 -..\..\ClassicExplorer\Setup\ClassicExplorerSettings.exe -saveadmx %1 -..\..\ClassicIE\Setup\ClassicIE_32.exe -saveadmx %1 -cd .. -md PolicyDefinitions\%1 -copy %2\*.adml PolicyDefinitions\%1 diff --git a/Src/Localization/Bulgarian/ClassicExplorerADMX.txt b/Src/Localization/Bulgarian/ClassicExplorerADMX.txt deleted file mode 100644 index cadc962..0000000 --- a/Src/Localization/Bulgarian/ClassicExplorerADMX.txt +++ /dev/null @@ -1,59 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Настройки за Open-Shell -State.text = Състояние: -State1.text = Зададена стойност -State2.text = Стойност по подразбиране -State3.text = Отключено -State1Help.text = Ако състоянието е 'Зададена стойност', настройката винаги ще бъде равна на зададената стойност за всички потребители. -State2Help.text = Ако състоянието е 'Стойност по подразбиране', настройката винаги ще бъде равна на стойността по подразбиране за всички потребители. Зададената стойност е без значение. -State3Help.text = Ако състоянието е 'Отключено', настройката ще бъде равна на зададената стойност, но отделните потребители ще могат да променят настройката. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Групови настройки за Classic Explorer -SUPPORTED_CS404.text = Изисква Open-Shell 4.0.4 или по-нов. -SUPPORTED_CS404_WIN7.text = Изисква Windows 7. -SUPPORTED_CS404_WIN881.text = Изисква Windows 8 или Windows 8.1. - -AddressAltD.nameOverride = Допълнителен клавиш за адресното поле -AddressAltD.tipOverride = Избери буква от 'A' до 'Z' за ходене в адресното поле (в комбинация с клавиша Alt) -EnableSettings.nameOverride = Разреши настройките -EnableSettings.tipOverride = Позволява отделните потребители да редактират техните настройки -ProcessWhiteList.nameOverride = Бял списък на процеси -ProcessWhiteList.tipOverride = Списък на процеси, за които е позволено да използват Classic Explorer. Използвайте само имена на файлове (например 'notepad.exe'). Разделяйте отделните имена със запетая или точка и запетая -ProcessBlackList.nameOverride = Черен списък на процеси -ProcessBlackList.tipOverride = Списък на процеси, за които е забранено да използват Classic Explorer. Използвайте само имена на файлове (например 'notepad.exe'). Разделяйте отделните имена със запетая или точка и запетая -ToolbarItems.nameOverride = Бутони за лентата -ToolbarItems.tipOverride = Изберете кои бутони да се показват в лентата с бутоните.\nНай-добрият метод за получаване на правилния текст е първо да конфигурирате бутоните в диалога с настройките и после да вземете текста от стойността ToolbarItems от HKCU\Software\OpenShell\ClassicExplorer\Settings - -; os-specific -FileExplorer.nameOverride = Подмени диалозите само в Explorer (подобрява скоростта) diff --git a/Src/Localization/Bulgarian/ClassicIEADMX.txt b/Src/Localization/Bulgarian/ClassicIEADMX.txt deleted file mode 100644 index 98a22cd..0000000 --- a/Src/Localization/Bulgarian/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Настройки за Open-Shell -State.text = Състояние: -State1.text = Зададена стойност -State2.text = Стойност по подразбиране -State3.text = Отключено -State1Help.text = Ако състоянието е 'Зададена стойност', настройката винаги ще бъде равна на зададената стойност за всички потребители. -State2Help.text = Ако състоянието е 'Стойност по подразбиране', настройката винаги ще бъде равна на стойността по подразбиране за всички потребители. Зададената стойност е без значение. -State3Help.text = Ако състоянието е 'Отключено', настройката ще бъде равна на зададената стойност, но отделните потребители ще могат да променят настройката. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Групови настройки за Classic IE -SUPPORTED_CS404.text = Изисква Open-Shell 4.0.4 или по-нов. -SUPPORTED_IE9.text = Изисква Internet Explorer 9 или по-нов. - - -EnableSettings.nameOverride = Разреши настройките -EnableSettings.tipOverride = Позволява отделните потребители да редактират техните настройки -CaptionFont.tipAddition = .\n\nФорматът е <име на шрифт>, , <размер>. Например "Segoe UI, normal, 9" diff --git a/Src/Localization/Bulgarian/MenuADMX.txt b/Src/Localization/Bulgarian/MenuADMX.txt deleted file mode 100644 index 83b4022..0000000 --- a/Src/Localization/Bulgarian/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Настройки за Open-Shell -State.text = Състояние: -State1.text = Зададена стойност -State2.text = Стойност по подразбиране -State3.text = Отключено -State1Help.text = Ако състоянието е 'Зададена стойност', настройката винаги ще бъде равна на зададената стойност за всички потребители. -State2Help.text = Ако състоянието е 'Стойност по подразбиране', настройката винаги ще бъде равна на стойността по подразбиране за всички потребители. Зададената стойност е без значение. -State3Help.text = Ако състоянието е 'Отключено', настройката ще бъде равна на зададената стойност, но отделните потребители ще могат да променят настройката. - -MenuCat.text = Open-Shell Menu -MenuCatHelp.text = Групови настройки за Open-Shell Menu -SUPPORTED_CS404.text = Изисква Open-Shell 4.0.4 или по-нов. -SUPPORTED_CS404_WIN7.text = Изисква Windows 7. -SUPPORTED_CS404_WIN78.text = Изисква Windows 7 или Windows 8. -SUPPORTED_CS404_WIN781.text = Изисква Windows 7 или Windows 8.1. -SUPPORTED_CS404_WIN8.text = Изисква Windows 8. -SUPPORTED_CS404_WIN881.text = Изисква Windows 8 или Windows 8.1. -SUPPORTED_CS404_WIN81.text = Изисква Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Изисква Класически стил на менюто с една колона. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Изисква Класически стил на менюто с две колони. -SUPPORTED_CS404_CLASSIC_STYLE.text = Изисква Класически стил на менюто. -SUPPORTED_CS404_WIN7_STYLE.text = Изисква Windows 7 стил на менюто. - - -EnableSettings.nameOverride = Разреши настройките -EnableSettings.tipOverride = Позволява отделните потребители да редактират техните настройки - -MenuStyle.nameOverride = Стил на менюто -MenuStyle.tipOverride = Изберете стил за менюто 'Старт'.\nСтилът определя общия вид и функционалност на менюто. -MenuStyle_Classic1.nameOverride = Класически с една колона -MenuStyle_Classic2.nameOverride = Класически с две колони -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Мишката отваря -ShiftClick.nameOverride = Shift+мишка отваря -WinKey.nameOverride = Клавишът Windows отваря -ShiftWin.nameOverride = Shift+Windows отваря -MiddleClick.nameOverride = Средно копче отваря -Hover.nameOverride = Посочване с мишката отваря - -; skins -SkinC1.nameOverride = Обложка за класическо меню с една колона -SkinC1.tipOverride = Изберете обложка, която да бъде използвана от класическия стил с една колона -SkinVariationC1.nameOverride = Вариант на обложка за класическо меню с една колона -SkinVariationC1.tipOverride = Изберете вариант на обложката, който да бъде използван от класическия стил с една колона (за обложки с повече от един вариант) -SkinOptionsC1.nameOverride = Опции на обложка за класическо меню с една колона -SkinOptionsC1.tipOverride = Изберете опции на обложката, които да бъде използвани от класическия стил с една колона.\nОпциите са списък от шестнадесетични числа. Най-добрият метод за получаване на правилния текст е първо да конфигурирате опциите в диалога с настройките и после да вземете текста от стойността SkinOptionsC1 от HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Елементи на менюто за класическо меню с една колона -MenuItems1.tipOverride = Изберете елементите на менюто, които да бъде използвани от класическия стил с една колона.\nНай-добрият метод за получаване на правилния текст е първо да конфигурирате елементите в диалога с настройките и после да вземете текста от стойността MenuItems1 от HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Обложка за класическо меню с две колони -SkinC2.tipOverride = Изберете обложка, която да бъде използвана от класическия стил с две колони -SkinVariationC2.nameOverride = Вариант на обложка за класическо меню с една колона -SkinVariationC2.tipOverride = Изберете вариант на обложката, който да бъде използван от класическия стил с две колони (за обложки с повече от един вариант) -SkinOptionsC2.nameOverride = Опции на обложка за класическо меню с две колони -SkinOptionsC2.tipOverride = Изберете опции на обложката, които да бъде използвани от класическия стил с две колони.\nОпциите са списък от шестнадесетични числа. Най-добрият метод за получаване на правилния текст е първо да конфигурирате опциите в диалога с настройките и после да вземете текста от стойността SkinOptionsC2 от HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Елементи на менюто за класическо меню с две колони -MenuItems2.tipOverride = Изберете елементите на менюто, които да бъде използвани от класическия стил с две колони.\nНай-добрият метод за получаване на правилния текст е първо да конфигурирате елементите в диалога с настройките и после да вземете текста от стойността MenuItems2 от HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Обложка за меню в стил 'Windows 7' -SkinW7.tipOverride = Изберете обложка, която да бъде използвана от стил 'Windows 7' -SkinVariationW7.nameOverride = Вариант на обложка за меню в стил 'Windows 7' -SkinVariationW7.tipOverride = Изберете вариант на обложката, който да бъде използван от стил 'Windows 7' (за обложки с повече от един вариант) -SkinOptionsW7.nameOverride = Опции на обложка за меню в стил 'Windows 7' -SkinOptionsW7.tipOverride = Изберете опции на обложката, които да бъде използвани от стил 'Windows 7'.\nОпциите са списък от шестнадесетични числа. Най-добрият метод за получаване на правилния текст е първо да конфигурирате опциите в диалога с настройките и после да вземете текста от стойността SkinOptionsC7 от HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Елементи на менюто за меню в стил 'Windows 7' -MenuItems7.tipOverride = Изберете елементите на менюто, които да бъде използвани от стил 'Windows 7'.\nНай-добрият метод за получаване на правилния текст е първо да конфигурирате елементите в диалога с настройките и после да вземете текста от стойността MenuItems7 от HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Обложка за под-меню 'Всички Програми' на менюто 'Старт' в Windows 7 -SkinA.tipOverride = Изберете обложка, която да бъде използвана от под-менюто 'Всички Програми' на менюто 'Старт' в Windows 7 -SkinVariationA.nameOverride = Вариант на обложка за под-меню 'Всички Програми' на менюто 'Старт' в Windows 7 -SkinVariationA.tipOverride = Изберете вариант на обложката, който да бъде използван от под-менюто 'Всички Програми' на менюто 'Старт' в Windows 7 (за обложки с повече от един вариант) -SkinOptionsA.nameOverride = Опции на обложка за под-меню 'Всички Програми' на менюто 'Старт' в Windows 7 -SkinOptionsA.tipOverride = Изберете опции на обложката, които да бъде използвани от под-менюто 'Всички Програми' на менюто 'Старт' в Windows 7.\nОпциите са списък от шестнадесетични числа. Най-добрият метод за получаване на правилния текст е първо да конфигурирате опциите в диалога с настройките и после да вземете текста от стойността SkinOptionsA от HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = Тази настройка не работи на Windows 8.1. Използвайте системната настройка за влизане директно в работния плот - -; hidden -FolderStartMenu.nameOverride = Папка Start Menu -FolderStartMenu.tipOverride = Въведете път за потребителската директория Start Menu (също променя потребителската директория Programs).\nПътят може да съдържа променливи от обкръжението.\nЗабележка: Тази настройка е недостъпна в диалога с настройките -FolderPrograms.nameOverride = Папка Programs -FolderPrograms.tipOverride = Въведете път за потребителската директория Programs.\nПътят може да съдържа променливи от обкръжението.\nЗабележка: Тази настройка е недостъпна в диалога с настройките -FolderCommonStartMenu.nameOverride = Обща папка Start Menu -FolderCommonStartMenu.tipOverride = Въведете път за общата директория Start Menu (също променя общата директория Programs).\nПътят може да съдържа променливи от обкръжението.\nЗабележка: Тази настройка е недостъпна в диалога с настройките -FolderCommonPrograms.nameOverride = Обща папка Programs -FolderCommonPrograms.tipOverride = Въведете път за общата директория Programs.\nПътят може да съдържа променливи от обкръжението.\nЗабележка: Тази настройка е недостъпна в диалога с настройките -AutoStartDelay.nameOverride = Забавяне при стартиране -AutoStartDelay.tipOverride = Въведете време в ms за забавяне на стартирането на менюто 'Старт' при влизане в системата (игнорира се при ръчно стартиране на StartMenu.exe).\nЗабележка: Тази настройка е недостъпна в диалога с настройките - -; other -StartButtonIcon.tipAddition = Стойността трябва да е път към ICO файл или път към EXE/DLL и идентификатор на икона -StartButtonPath.tipAddition = Стойността е пълен път към BMP или PNG файл -SoundMain.tipAddition = Стойността трябва да е име на системно събитие или път към WAV файл -SoundPopup.tipAddition = Стойността трябва да е име на системно събитие или път към WAV файл -SoundCommand.tipAddition = Стойността трябва да е име на системно събитие или път към WAV файл -SoundDrop.tipAddition = Стойността трябва да е име на системно събитие или път към WAV файл -ExpandFolderLinks.tipAddition = Работи само за символични връзки (например junction) а не за обикновени препратки -StartHoverDelay.nameOverride = Закъснение на посочването (за бутон Старт) -AllProgramsDelay.nameOverride = Закъснение на посочването (за под-меню 'Всички Програми' в Windows 7) -CSMHotkey.tipAddition = .\n\nБазовата стойност е равна на виртуалния код на клавиша. Прибавете 256 заShift, 512 Control за и 1024 за Alt.\nНай-добрият метод за получаване на правилната стойност е първо да конфигурирате клавиша в диалога с настройките и после да вземете текста от стойността CSMHotkey от HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\nБазовата стойност е равна на виртуалния код на клавиша. Прибавете 256 заShift, 512 Control за и 1024 за Alt.\nНай-добрият метод за получаване на правилната стойност е първо да конфигурирате клавиша в диалога с настройките и после да вземете текста от стойността WSMHotkey от HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/Bulgarian/OpenShellADMX.txt b/Src/Localization/Bulgarian/OpenShellADMX.txt deleted file mode 100644 index cdb18f9..0000000 --- a/Src/Localization/Bulgarian/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Настройки за Open-Shell -State.text = Състояние: -State1.text = Зададена стойност -State2.text = Стойност по подразбиране -State3.text = Отключено -State1Help.text = Ако състоянието е 'Зададена стойност', настройката винаги ще бъде равна на зададената стойност за всички потребители. -State2Help.text = Ако състоянието е 'Стойност по подразбиране', настройката винаги ще бъде равна на стойността по подразбиране за всички потребители. Зададената стойност е без значение. -State3Help.text = Ако състоянието е 'Отключено', настройката ще бъде равна на зададената стойност, но отделните потребители ще могат да променят настройката. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Групови настройки за Open-Shell -SUPPORTED_CS404.text = Изисква Open-Shell 4.0.4 или по-нов. - -Language.nameOverride = Език за компонентите на Open-Shell -Language.tipOverride = Изберете език за Open-Shell (например en-US или de-DE). Настройката променя текста в менюто 'Старт', лентата с бутони, и т.н. Ако е инсталиран необходимия DLL файл, текстът на настройките също ще бъде преведен -Update.nameOverride = Разреши автоматична проверка за нови версии -Update.tipOverride = Когато това е избрано, Open-Shell ще проверява за нова версия веднъж седмично. Ще бъдете уведомени ако има нова версия на Open-Shell или обновление за избрания език diff --git a/Src/Localization/Chinese/ClassicExplorer.html b/Src/Localization/Chinese/ClassicExplorer.html deleted file mode 100644 index 4a706b9..0000000 --- a/Src/Localization/Chinese/ClassicExplorer.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - Classic Explorer - -

Open-Shell website  Classic Explorer


-Classic -Explorer 是一个针对Windows资源管理器的插件: - -
    - -
  • 工具栏添加一个Explorer,一些常见的操作(去到上级件夹、剪切、复制、粘贴、删除、属性、电子邮件)。工具栏是完全可定制的
  • -
  • 取代了复制UI在Windows 7的更加友好的经典版本类似Windows XP
  • - -
  • 处理Alt + Enter在文件夹面板的Windows资源管理器和显示所选文件夹的属性
  • - -
  • 有选项来定制文件夹面板看起来更像Windows XP或扩展按钮
  • -
  • 可以显示空闲磁盘空间和总文件大小在状态栏
  • -
  • 可以禁用在地址栏的下拉按钮
  • -
  • 修复 -一些特性,在Windows 7中被打破,去掉的图标 -叠加为共享文件夹,文件夹在导航窗格中跳转, -去掉的分类标题在列表视图,和更多
    -
  • - - - - -

- - -

新的复制界面 (Windows 7 only)
-

- -在Vista当你复制文件和有冲突了:
- -
- -Before
- -

这有什么问题吗?

- -

嗯,对 -初学者来说充斥半个屏幕的文本,你必须读。也 -它是不清楚它的哪些部分是可以点击的。你必须 -移动鼠标来发现界面像 卢卡斯艺术 -冒险游戏. 最后键盘可用性是可怕的。 -告诉它 -是的,我知道我在做什么,我想要覆盖所有文件 你去按 Alt+D, 向上,向上,向上, 空格! 它是更难比执行 Akuma -Kara Demon move 在街头霸王3。总有一个时间和地点 -对于这些东西和复制文件.

- -

Classic Explorer 插件带回简单对话框从Windows XP:
-

- -

After
-

- -

它是清楚什么是可点击的 (底部的按钮), 有简单的键盘导航(按 Y Yes;, A -复制所有文件),你还可以看见那个文件更新,这是 -更重要的。当然,就像在Windows XP,按住 Shift 而点击任何按钮意味着“没有所有”(或者只是按 Shift+N).
-

- -

如果你点击 更多 你会得到 -原来的对话框从Windows。从那里你 -将会看到所有的细节,你会得到一个额外的选项来;复制,但 -保持两个文件;.

-

重要提示: 只有UI被取代。底层的系统,实际复制并不受影响.
-

-


-

- - - -

Alt+Enter 在文件夹面板

- -Alt + Enter是 -通用快捷键在Windows启动性能 -选择。但是新版本的Windows它不工作在左边 -面板显示文件夹。它只在右边的 -文件。这是很繁琐的比Windows XP,Alt + Enter工作 -在这两个地方。 -

解决问题,经典资源管理器插件检测当你按下Alt + Enter -和显示属性为当前选中的文件夹.
-

-


-

- - -

Windows Explorer 工具栏

-windows Explorer在Vista没有工具栏就像在Windows XP。如果 -你想去上层文件夹你必须使用路径栏。如果你想复制或删除一个文件用鼠标你必须 -右键单击并找删除命令。鼠标右键菜单会 -越来越多的外壳扩展,您已经安装了, -找到合适的命令会花费一段时间.
-

为了解决这个问题,经典资源管理器插件安装了一个新的工具栏:
-

- -Explorer Toolbar
-
-可用的按钮有:向上,剪切、复制、粘贴、删除、属性 -电子邮件,设置。更多的按钮可以添加从设置对话框。
-
-Hints:
- - 按住 Control 键当点击Up按钮打开上级文件夹在一个新的浏览器窗口.
- - 按住 Shift 键 当点击删除按钮可以永久删除文件
- -
- -新工具栏不显示在Explorer自动 -安装后。你必须做一些事情之前,你才可以使用它:
- -
    - -
  1. 打开一个新的Windows Explorer窗口(Win键+ E)
  2. -
  3. 打开菜单在Explorer去工具(Alt + T),文件夹 -选项,视图选项卡,并确保;总是显示菜单,选中。
  4. -
  5. 右键单击菜单栏并选择;经典的Explorer; -显示工具栏。
  6. -
  7. 如果该选项不可用(你只看到;锁定 -工具栏)你可能不得不启用插件从Internet Explorer。 -运行IE,右键单击它并选择;经典的浏览器工具栏;。 -它会问你如果你想使这个插件。选择;启用, -然后再重复步骤1到3。
  8. -
  9. 如果即使这样你看不到,也许浏览器工具栏 -扩展系统上被禁用。这通常是默认的 -服务器。打开“互联网选项”,去“高级”选项卡,并检查 -选择“启用第三方浏览器扩展”.
    -
  10. - -

-

Status bar
-

-经典资源管理器恢复原来的浏览器状态栏显示空闲磁盘空间和选中文件的大小:
-
-File size in status bar
-
-与内置的状态栏,选择大小显示即使超过100个文件被选中。当没有文件被选择所有文件总大小在文件夹显示.
-
Windows 7 提示: 经典资源管理器提高默认状态栏,而不是取代它。看到它,你必须把它第一次从视图菜单。 -状态栏是不同于蓝色 -你看到的细节窗格底部的Explorer。你可以关掉 -详细讯息面板从组织菜单来节省空间。还存在一个缺陷在Windows 7的Explorer,有时不显示在状态栏的任何文本。按 F5 刷新视图和获得状态的文本.
-
Windows 8 提示: 经典资源管理器添加自己的状态栏。你应该隐藏默认状态栏以节省空间。 -选择视图选项卡,然后点击选项。选择视图选项卡中选择。找到“显示状态栏”复选框,选中它. -
-
- - -

设置

你可以访问的设置工具栏或经典Explorer从开始菜单:
-
-
你可以选择只看到基本的设置,或所有 -可用的设置。鼠标悬停在每个设置看描述 -它是为了什么。输入搜索框找到设置的名字。
-每一个设置有一个默认值。默认值可以是常数, -或者它可能取决于当前的系统设置。一旦你编辑一个 -设置它就变成了“修改”,并以粗体显示。要恢复到 -默认值,右键单击
设置。 -
你可以保存设置到一个XML文件,以及后来的负载他们回来。 -点击 备份 按钮来访问这些功能。从那里你可以 -也重置所有设置到他们的默认值.
- -
- -按下OK保存您的设置。大多数的设置将被应用 -在下次你打开一个新的Explorer窗口。小部分的设置 -需要注销之后,你可以看到改变.
- -
- -Note: 所有设置窗口可调整大小的。通过调整它们,将它们调整为你想要的大小。他们会记住新的位置.
- -
-这是一个可以定制的例子:
- - Title bar tweaks
-
-点击 工具栏按钮 选项卡来定制工具栏:
-
-
列在左边显示当前按钮在工具栏, -和列在右边列表按钮可以添加到 -工具栏。您可以拖动按钮从右栏。你可以重新排列按钮上下拖拽。如果你拖动其中一个按钮在另一个您将创建一个
子菜单。 -悬停在每个按钮来看到一个简短的描述它做什么。右键单击每个 -按钮来访问更多的功能(如删除、重命名等)。从 -右键菜单也可以重置工具栏到原始状态。
-左栏中的每一项都必须有一个唯一的名称。这是 -标识符的项目,只能包含字母,数字和 -下划线。一些项目(如分隔符)不能被重新命名。
-
-重要提示:不是所有可用的命令有默认图标或文字。这是因为窗口没有图标之类的东西 撤销, 选择所有, 等。如果您想要使用这些按钮在工具栏中您将必须提供自己的图标。见下面怎么做.
-
-在一个按钮在工具栏,您可以编辑它的属性。双击按钮来编辑:
-Edit toolbar button
-在这里你可以选择一个命令按钮,其文本和图标。按 恢复默认值 按钮来得到默认的文本和图标选择命令.
-The command can be:
-
    - - -
  • 留空 - 然后如果链接属性被使用,它将作为一个命令
  • -
  • 一个预定义的命令 - 下拉
  • -
  • 打开一些文件夹 - 这将打开文件夹在当前浏览器
  • -
  • 排序属性 - 这类由给定属性的文件夹 - 名称, 类型, 大小 or 日期. 使用 '-' 在前面降序排序: "sort by -name". 您可以使用其他属性如果你知道他们的代码。例如 "按 {B725F130-47EF-101A-A5F1-02608C9EEBAC}排序, 10"是一样的 "按名称排序". 对于多个属性代码参考文件 propkey.h 在 Windows SDK (也可以在此找到 here - 向下滚动到“全属性列表”)。并不是所有的属性代码是有效的或被支持(例如 album year property {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 只能当显示音乐专辑)
  • -
  • 分组 - 类似 排序, 但组由一个给定属性的文件。使用命令 分组 没有禁用分组
    -
  • - - - -
  • 自定义可执行字符串 -- 这可以是一个名称的程序及其参数,或甚至一个URL -(像 http://www.google.com). 您可以使用环境变量 %SystemRoot%. 你也可以使用占位符 %1, %2, %3, %4 and %5:
  • -
      -
    • %1 路径在 -当前文件夹。记住,如果当前文件夹是一个根目录的一个 -驱动器它将使用一个反斜杠结束 (如 C:\)
      -
    • -
    • %2 是选中文件的路径(只有当一个文件被选择)
    • -
    • %3 -是一个名字,一个临时的文本文件,其中包含所有选定的文件。 -文本文件中的每一行包含一个文件,它的完整路径
      -
    • -
    • %4 -%3是一样的,但文件是Unicode(UTF16)格式。文件 -不包含字节顺序标记。%3和%4不可能都是使用相同的命令
      -
    • -
    • Note to developers: When -%3 or %4 使用,它的职责是命令来删除 -临时文件当它完成。否则临时文件将被留下 -浪费磁盘空间。如果命令是一个控制台应用程序 -或批处理文件将推出在静默模式没有控制台 -窗口
    • - -
    • %5 是一个名称叫 -临时的文本文件,它可以用来返回一个命令返回 -经典资源管理器。如果第一个字节的文件是255和254, -文件被视为Unicode。只有一个命令只能使用一次。命令 -可以:
    • -
        -
      • 打开文件夹名称 - Explorer导航到给定的文件夹
      • -
      • 选择的文件名列表 -- 选择给定的文件,取消选择其余的。文件名称必须是 -一个选项卡或隔开一个换行符。不应包含的文件 -一个路径。如果这样做,路径将被忽略
        -
      • -
      • 刷新 - 刷新 Explorer
      • -
      -
    -
      -
    • 开发人员-提示: -命令使用%5将运行在静默模式(如命令使用 %3 or -%4) 但 -还将等待进程Explorer来完成。这个过程必须 -尽快完成,因为Explorer将被暂停在 -在执行命令
    • -
    • 请参见下一小节几个例子如何使用这些参数
      -
    • - -
    -
-这个链接可以是一个文件路径或一个文件夹。如果它是一个文件, -文件将被执行。如果它是一个文件夹,该文件夹将被打开, -一个子菜单(只针对最上级按钮).
-
-图标:
-
    -
  • 留空 - 然后如果链接属性指向一个文件或文件夹,图标的文件或文件夹将被使用
    -
  • -
  • 资源文件,图标 ID - 例如 %windir%\notepad.exe,2. 不要忘了文件之间的名称和逗号. 确保您使用的是图标的资源ID,而不是图标的索引. 为了达到最好的使用效果 [...] 按钮图标
  • -
  • ,图标 ID - 同上,但资源文件 ClassicExplorer.dll 本身。这是有用的Classic Explorer的图标
    -
  • -
  • 图标文件 - 例如 C:\Program Files\Mozilla Thunderbird\Email.ico
  • -
  • - 将使用一个空白图标
  • -
-如果标签或提示属性 $ (美元符), 然后 -系统将会把它作为一个字符串的名字 ExplorerL10N.ini -文件。实际的文本将取决于当前语言设置。这 -当创建一个工具栏是有用的,可以被多个语言使用.
-
-开发人员提示: 按钮为自定义命令可以检查或禁用。工具栏检查注册表键 HKCU\Software\OpenShell\ClassicExplorer -对于一个DWORD值的名称按钮(左中使用的名称 -列)。0表示正常,1和2是检查是禁用的。工具栏 -在启动时读取注册表的键值。迫使按钮来更新 -他们的国家之后,你需要找到所有浏览器窗口,定位 -子窗口的类OpenShell.CBandWindow, 发一个消息 WM_CLEAR. 这是有用的,如果您正在开发一个自定义的exe用于工具栏.
- -
-

自定义命令示例

-

0) 必要时使用引号

为了支持路径 -包含空格,你应该使用单引号将路径参数。这个 -并不总是必需的,像在例子1和2所示。让 -确定你测试你的命令与路径含有空间来避免 -出错.
-
-

1) 显示当前文件夹

- -使用命令行: cmd.exe /k echo %1. %1 将被替换为当前文件夹的路径.
-
-

2) 打开选定的文件在记事本

-使用命令: %SystemRoot%\notepad.exe %2. -%2 将会被替换的全称被选中的文件。它不 -需要在引号,因为记事本使用整个命令行作为一个文件的名字.
-
-

3) 复制选定的文件到上级文件夹
-

-创建一个bat文件叫 C:\CopyParent.bat:
-set list=%1
-set list=%list:"=%
-for /F "delims=" %%i in (%list%) do copy /Y "%%i" ..
-del %1
-
-使用命令: C:\CopyParent.bat "%3". -%3 将被替换为一个文本文件,包含完整的名字 -选定的文件。批处理文件将读取每一行的文本文件, -和复制所选的每一个文件到父文件夹。最后 -批处理文件删除最初的 -临时文件。前两个 set 命令删除引用从%1的参数.
-
-

4) 选择所有文本文件

-创建一个Bat文件 C:\SelectText.bat:
-echo select %1
-dir *.txt /b %1
-
-使用命令: C:\SelectText.bat "%5". -%5 将被替换为一个空白文本文件,命令必须输出 -单词“选择”和想选择的一个文件列表。“dir -*.txt / b”命令提供了这个列表.
-
-
- -

Administrative Settings

这些设置是 -每个用户和存储在注册表中。默认情况下每个用户都可以编辑 -他们所有的设置。管理员可以锁定特定的设置,所以 -没有用户可以编辑他们:
-
-在这个例子中,设置“显示按钮”是锁定的,永远 -“之前后退/前进”,不能改变任何用户。这是实现 -通过添加设置 HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicExplorer 注册表键。创建一个字符串值称为“ShowUpButton”,并将它设置为“BeforeBack”.
-
-在某些情况下,您可能不希望锁定为所有用户的值,只是修改初始值的设置。在这样的情况下添加“默认”名称的值。例如,如果你想要向上按钮是默认之前回来,但仍允许用户改变它,如果他们愿意,创建一个字符串值命名为“ShowUpButton_Default”,并将它设置为“BeforeBack”。

-最简单的方式了解注册表名称的设置及修改它,然后检查HKEY_CURRENT_USER\Software\OpenShell\ClassicExplorer\Settings.
-有时你可能想锁定设置为默认值,但你 -不知道默认值是多少时。然后创建一个DWORD值和设置 -为 0xDEFA.
-
-还有一个全局设置 EnableSettings. 将其设置为0的 -注册表来防止用户打开设置对话框:
-Disable all settings
-
-你可以启用或禁用经典Explorer为单个进程 -使用2注册表设置”ProcessWhiteList”和“ProcessBlackList”. ProcessWhiteList is -的进程列表,经典的Explorer将负载。仅使用 -文件名称的过程(如“notepad.exe”),单独的多个名称 -用逗号或分号分开. ProcessBlackList -是一个进程列表,经典的Explorer将不会加载。你 -应该只使用其中一个两个列表。如果两个列表中指定的 -黑色的列表将被忽略。这个列表仅仅是用在当你启用 -功能支持流程除了Explorer。在这时这些特点是:共享重叠图标和更换 -对于复制对话框.
-
- -
- -

依赖Windows设置
-

-一些经典的Explorer设置需要特定的窗口设置启用:
-
    -
  • Windows Vista导航窗格的风格 - 需要Windows使用Aero或基本主题
  • -
  • Auto-navigate to the selected folder -- 这个设置可以设置为“总是”只有当Explorer设置为 -“自动扩展到当前文件夹”。 一般 tab of Tools -; Folder Options
  • -
  • 显示在标题栏标题 -- 标题或者显示的完整路径名或只有名字的 -当前文件夹。要查看完整的路径需要启用“显示 -完整的路径在标题栏(经典主题只有)“在 View tab of 工具 - 文件夹选项
  • -
  • 所有的状态栏设置 - 需要状态栏可见(不要混淆细节窗格)。检查 View -; Status bar
  • -
- -
- -

Localization

- - - -用户 -接口(除了设置对话框)是本地化35 -语言.
-设置对话框是翻译在一个较小的数量的语言。 -默认的安装只包含英语。更多的语言可以 -下载的 translations page. 确保您下载了翻译包为匹配的版本的Classic Start.
- -
- - diff --git a/Src/Localization/Chinese/ClassicExplorerADMX.txt b/Src/Localization/Chinese/ClassicExplorerADMX.txt deleted file mode 100644 index 0c07f5a..0000000 --- a/Src/Localization/Chinese/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell 设置 -State.text = 状态: -State1.text = 锁定为此设置值 -State2.text = 锁定为默认值 -State3.text = 未锁定 -State1Help.text = 如果将状态设置为“锁定为此设置值”,所有用户都必须使用此设置值。 -State2Help.text = 如果将状态设置为“锁定为默认值”,所有用户都必须使用默认值。忽略指定的设置值。 -State3Help.text = 如果将状态设置为“未锁定”,用户可自由设定自己喜好的设置值。 - -ClassicExplorerCat.text = 经典资源管理器 -ClassicExplorerCatHelp.text = 经典资源管理器组策略设置 -SUPPORTED_CS404.text = 需要安装 Open-Shell 4.0.4 或更高的版本。 -SUPPORTED_CS404_WIN7.text = 仅用于 Windows 7。 -SUPPORTED_CS404_WIN881.text = 仅用于 Windows 8 或 Windows 8.1。 - -AddressAltD.nameOverride = 访问地址栏的额外快捷键 -AddressAltD.tipOverride = 输入“A”到“Z”中任一个字母,该按键将和 Alt 键一起,组成访问地址栏的快捷键 -EnableSettings.nameOverride = 启用设置 -EnableSettings.tipOverride = 允许用户自由设定设置值 -ProcessWhiteList.nameOverride = 进程白名单 -ProcessWhiteList.tipOverride = 可以加载经典资源管理器的进程列表。列表中仅列出进程的名称(不含路径,如“notepad.exe”),如果有多个进程,可使用半角的逗号(“,”)或分号(“;”)分隔。 -ProcessBlackList.nameOverride = 进程黑名单 -ProcessBlackList.tipOverride = 不允许加载经典资源管理器的进程列表。列表中仅列出进程的名称(不含路径,如“notepad.exe”),如果有多个进程,可使用半角的逗号(“,”)或分号(“;”)分隔。 -ToolbarItems.nameOverride = 工具栏按钮 -ToolbarItems.tipOverride = 选择在工具栏上显示的按钮。\n提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中指定热键,然后,在注册表“HKCU\Software\OpenShell\ClassicExplorer\Settings”键中寻找名称为“ToolbarItems”的键值。 - - -; os-specific -FileExplorer.nameOverride = 仅在资源管理器中使用对话框(提高性能) diff --git a/Src/Localization/Chinese/ClassicIE.html b/Src/Localization/Chinese/ClassicIE.html deleted file mode 100644 index 5c6cd53..0000000 --- a/Src/Localization/Chinese/ClassicIE.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - Classic IE - -

Open-Shell website  -Classic IE


-Classic IE
-是Internet Explorer中的一个小插件:
-
    -
  • 添加一个标题在标题栏 -所以你可以看到完整的标题的页面
  • -
  • 显示在状态栏的安全区域
  • -
  • 显示加载进度在状态栏
  • -
-
-看到完整的网页标题当它不适合在选项卡:
-
-
看到进度和安全区域:
-
-
-

Installation

-当您运行Internet Explorer后第一次安装 -即它可能提示你经典,一个新的附加组件称为ClassicIEBHO被 -安装如果你想启用它。点击激活按钮。如果 -你没有得到一个提示,去 工具 - 管理插件 并确保ClassicIEBHO是启用的。在使插件正常工作你必须重新启动Internet Explorer来激活插件.
-
-

设置

-你可以设置 工具 - 经典 IE 设置 -或从开始菜单。设置控制颜色和字体 -标题,什么信息来显示在状态栏.
-
-
你可以选择只看到基本的设置,或所有 -可用的设置。鼠标悬停在每个设置看描述 -它是做什么的。输入搜索框找到设置的名字。
-每一个设置有一个默认值。默认值可以是常数, -或者它可能取决于当前的系统设置。一旦你编辑一个 -设置它就变成了“修改”,并以粗体显示。要恢复到 -默认值,右键单击设置.
- -
-你可以保存设置到一个XML文件,以及后来的负载他们回来。 -按 备份 按钮来访问这些功能。从那里你可以 -重置所有设置到他们的默认值.
- - -
- - -按下OK保存您的设置。您需要重新启动Internet Explorer来应用这些新的设置.
- - -
-

Administrative Settings

-这些设置是 -每个用户和存储在注册表中。默认情况下每个用户都可以编辑 -他们所有的设置。管理员可以锁定特定的设置,所以 -没有用户可以编辑他们。这是通过添加设置 HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicIE 注册表键值.
-
-你也希望不锁的设置,但只覆盖它的初始值。 然后添加 "_Default" 到注册表健值.
-
-最简单的方式了解注册表名称的设置及其价值是修改它,然后检查HKEY_CURRENT_USER\Software\OpenShell\ClassicIE\Settings.
-有时你可能想锁定设置为默认值,但你 -不知道默认值是多少。然后创建一个DWORD值和设置 -值为 0xDEFA.
- -
- -这是一个全局设置EnableSettings. 将其设置为0的 -注册表来防止用户打开设置对话框:
- -
- -
- diff --git a/Src/Localization/Chinese/ClassicIEADMX.txt b/Src/Localization/Chinese/ClassicIEADMX.txt deleted file mode 100644 index a8e1073..0000000 --- a/Src/Localization/Chinese/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell 设置 -State.text = 状态: -State1.text = 锁定为此设置值 -State2.text = 锁定为默认值 -State3.text = 未锁定 -State1Help.text = 如果将状态设置为“锁定为此设置值”,所有用户都必须使用此设置值。 -State2Help.text = 如果将状态设置为“锁定为默认值”,所有用户都必须使用默认值。忽略指定的设置值。 -State3Help.text = 如果将状态设置为“未锁定”,用户可自由设定自己喜好的设置值。 - -ClassicIECat.text = 经典 IE -ClassicIECatHelp.text = 经典 IE 组策略设置 -SUPPORTED_CS404.text = 需要安装 Open-Shell 4.0.4 或更高的版本。 -SUPPORTED_IE9.text = 仅用于 Internet Explorer 9 或更高的版本。 - - -EnableSettings.nameOverride = 启用设置 -EnableSettings.tipOverride = 允许用户自由设定设置值 -CaptionFont.tipAddition = 。\n\n字体设置的格式是“<字体名称>, , <字体尺寸>”。例如:“微软雅黑, normal, 9” diff --git a/Src/Localization/Chinese/License.html b/Src/Localization/Chinese/License.html deleted file mode 100644 index f8b8cb7..0000000 --- a/Src/Localization/Chinese/License.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - 许可协议 - -

Open-Shell 官方网站  许可协议
-


-Open-Shell © 2009-2017, Ivo Beltchev

-http://www.classicshell.net/
-
-使用本软件表示您接受这些条款。如果您不接受这些条款,请不要使用该软件.
-
-如果您遵守这些许可条款,您有以下权利.
-
-
    -
  1. -

    许可范围. 该协议只授予您某些使用该软件的权利。作者保留所有其他权利

    -
  2. -
  3. -

    安装和使用. 这个软件是免费的。您可以在您的计算机上免费安装和使用.

    -
  4. -
  5. -

    再分发权利. 您可免费再分发软件; 但请不要修改软件的来源信息.

    -
  6. -
  7. -

    商标. -Classic Start的名称和标志属于原作者的商标。不允许使用它们来识别其他产品或服务的.

    -
  8. -
  9. -

    免责条款. -该软件提供的“AS IS”,不附带任何明示或暗示的保证,包括但不限于适销性的保证,适用于特定用途及非侵权。在任何情况下,作者或版权持有人都不承担任何索赔,损害赔偿或其他责任,无论是合同,侵权或其他行动,所产生的与软件无关的或者相关的,或者是使用软件或软件其他交易行为。 - -.

    -
  10. -
  11. -

    其它事项: -基本上,你可以自由使用这个软件用于任何目的,如果它没有你期望的一些功能,请不要责怪。如果在使用此软件中发生的任何损失,你不能追究作者的责任。不得通过销售此软件获利,毕竟你是免费得到的。 - .

    -
  12. -
- - - diff --git a/Src/Localization/Chinese/Links.html b/Src/Localization/Chinese/Links.html deleted file mode 100644 index f5b2f69..0000000 --- a/Src/Localization/Chinese/Links.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - Open-Shell - -

Open-Shell website  Links


在Classic Start网站上可以找到最新的版本:
-http://www.classicshell.net/
-
在以下网站上可以找到最新的中文版本:
-http://www.tao444.com
-
-查看历史版本:
-History: http://www.classicshell.net/history/
-
-
-

获得帮助

-常见问题及解答请看这里:
-FAQ: http://www.classicshell.net/faq/
- -
-如果在FAQ里不能找到问题的解决方案, 尝试访问论坛:
-论坛: http://www.classicshell.net/forum/viewforum.php?f=6
- -
-
-

报告问题

-提交bug和功能改进建议在开发者论坛:
-开发者论坛: http://www.classicshell.net/forum/viewforum.php?f=11
- - diff --git a/Src/Localization/Chinese/Main.html b/Src/Localization/Chinese/Main.html deleted file mode 100644 index f6a2361..0000000 --- a/Src/Localization/Chinese/Main.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - Open-Shell - -

Open-Shell website  Open-Shell

-Version 4.3.1 – general release

-Version 4.3.1 中文制作:china591@gmail.com -

什么是 Open-Shell?

-Open-Shell™ 一款将Windows 7和Windows 8开始菜单方便的改成经典样式的小工具。不需要重启系统。[4]优化、美化“开始”菜单,替换Windows 7/8 的系统“开始”菜单,使之还原为 Windows 2000或Windows XP的样子。用来在win7和win8电脑上使用经典windows开始菜单[5]的软件。是一个多 功能,可以支持老版本的Windows,但后来被删除支持。它 有一个可定制的开始菜单,它增加了一个 Windows资源管理器的工具栏,并支持多种小功能.
-
-
-

系统要求

-可以运行在Windows Vista、Windows7、Windows 8、Windows Server 2008、Windows Server 2008 R2和Windows Server 2012的32位和64位版本 (同一安装程序同时适用于x86和amd64平台)。一些开始菜单的皮肤 需要启用Aero主题。其他至少需要基本的主题。
-
-
-

组件


- -Open-Shell 包含三个组件: -
-

卸载

-你可以卸载OpenShell 控制面板 -> 程序和功能. 另外一种方式是  再一次运行安装程序后选择“移除”.
-需要注销才能完成卸载.
-
- diff --git a/Src/Localization/Chinese/Menu.html b/Src/Localization/Chinese/Menu.html deleted file mode 100644 index 497350a..0000000 --- a/Src/Localization/Chinese/Menu.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - - - - Open-Shell Menu - -

Open-Shell website  -经典开始菜单


-经典开始菜单
-是一个灵活的开始菜单,可以模仿Windows的菜单 -2000、XP和Windows 7。它有各种各样的高级特性: -
    - -
  • 选择“经典”和“Windows 7”风格
    -
  • -
  • 拖拽到让你组织你的应用程序
  • - -
  • 选项来显示收藏夹,扩大控制面板等
  • -
  • 显示最近使用文档。文档的数量来显示 -是可定制的
  • -
  • 翻译成35种语言,包括从右到左的支持 -阿拉伯语和希伯来语
  • -
  • 没有禁用原来的开始菜单在Windows。你可以 -访问它通过Shift +点击开始按钮
  • -
  • 右键单击菜单中的项进行删除、重命名、分类,或 -执行其他任务
  • -
  • 搜索框可以帮助你找到你的项目和文件没有妨碍你的键盘快捷键
  • -
  • 支持跳转列表,方便地访问最近的文档和普通任务
  • -
  • 支持32位和64位操作系统
  • -
  • 支持皮肤,包括额外的第三方皮肤。让你自己!
  • -
  • 完全可定制的外观和功能都
  • -
  • 支持Microsoft 活跃可访问性
  • -
  • 转换&;所有程序,按钮在菜单里一个级联菜单
  • -
  • 实现了一个可定制的启动按钮< br > -
  • -
  • 可以显示、搜索和发射窗口存储应用程序(Windows 8)
  • - - - -
  • 最后但并非最不重要;它是免费的!
  • -

-

风格

-开始菜单中提供了3种风格可以选择.
-

1) 单列经典风格

-
-这种风格是类似于菜单在Windows 2000。它有一个 -在主菜单栏与垂直文本在侧。你可以 -自定义的顺序,图标和文本.
- -程序,跳转列表和搜索结果显示作为级联子菜单.
- -
-

2) 两列经典风格

-
-这种风格是类似于Windows XP菜单。有两列 -你可以安排你的菜单项。定制订单,图标和 -文本.
-程序,跳转列表和搜索结果显示作为级联子菜单.
-
-

3) Windows 7 风格
-

-
-这种风格是类似于Windows Vista和Windows 7的菜单。这个 -项目在第一列是预定义的,固定和最近的 -项目,所有项目列表和搜索框。这个项目在第二 -列是完全可定制的。
-跳转列表和搜索结果的显示在主菜单。这个 -项目可以在主菜单或开放作为一个级联子菜单。< br > -这种风格提供了更少的定制选项比经典的风格,但是 -有外观和感觉更熟悉的人用于Windows 7.
-
-
-

操作

-如果你有使用开始菜单在老版本的Windows你们# -感觉像在家里一样:
- - - -

-按下Windows键或点击orb的角落 -屏幕打开开始菜单.

-

-按住Shift键的同时点击orb访问操作 -系统自身的 -开始菜单. -

-

-点击一个条目来执行它。 -

-

-拖动一个程序来改变秩序的项目在一个菜单,或 -将其移至另一个文件夹。 -

-

-右键点击一个条目来重命名,删除它,探索它,排序 -菜单,或执行其他任务.

-

-右键单击orb编辑的设置开始菜单,查看此帮助文件,或 -停止开始菜单。
-

-


- -

- -

-设置

右键单击开始按钮来访问设置:
-
-
-你可以选择只看到基本的设置,或所有可用的 -设置。鼠标悬停在每个设置看描述是用来干嘛的。输入搜索框找到设置的名字。< br > - -每一个设置有一个默认值。默认值可以是常数, -或者它可能取决于当前的系统设置。一旦你编辑一个 -设置它就变成了“修改”,并以粗体显示。要恢复到 -默认值,右键单击设置.
-
- -你可以保存设置到一个XML文件,以及后来的负载他们回来。 -按备份按钮来访问这些功能。从那里你可以 -也重置所有设置到他们的默认值.
- - -
- -大多数设置将改变当你编辑他们立即。例如 -您可以编辑开始菜单,然后在设置对话框是开放的, -访问开始菜单来查看更改。小数量的设置 -要求你退出开始菜单才能看到改变.
- -
- - -提示: 所有设置窗口可调整大小的。通过调整它们,将它们在你想要的。他们会记住新的位置.
- - -
-点击 自定义开始菜单 选项卡来定制菜单项。根据不同的风格你会看到不同的UI.
-
-你可以定制的经典风格的两列开始菜单和 -创建子菜单。左列显示当前菜单项 -和正确的列显示可用的菜单项。拖动从 -右到左到添加项菜单.
-
-
-对Windows 7的风格你只能编辑项为第二列和没有子菜单.
-
-

-双击图标编辑项属性:
-
-在这里你可以选择一个命令的项目,其文本、图标和其他属性。按 恢复默认值 按钮来得到默认的文本和图标选择命令.
-
-命令可以:
- -
    -
  • 一个预定义的命令 - 从下拉
  • 自定义可执行字符串 -- 这可以是一个名称的程序及其参数,或甚至一个URL -(like http://www.google.com). Environment variables like %SystemRoot% are supported
  • left blank - 然后如果链接属性是使用,它将作为一个命令
    -
  • -
-这个链接可以是一个文件路径或一个文件夹。如果它是一个文件, -文件将被执行。如果它是一个文件夹,该文件夹将被打开, -一个子菜单。一些菜单项(如程序和收藏夹)有一个隐式的 -链接属性,所以链接框将被禁用。
- -
- -图标:
- -
    -
  • 留空 - 然后如果链接属性指向一个文件或文件夹,图标的文件或文件夹将被使用
    -
  • 资源文件,icon ID - 例如 %windir%\notepad.exe,2. 不要忘了文件之间的名称和逗号. 确保您使用的是图标的资源ID,而不是图标的索引. 为了达到最好的使用效果 [...] 使用按钮图标组
    -
  • 图标 ID - 同上,但资源文件是 StartMenuDLL.dll 本身。这是有用的指开始菜单的图标
    -
  • 图标文件 - 例如 C:\Program Files\Mozilla Thunderbird\Email.ico
  • none - 这将使用一个空白图标
  • -
-如果标签或提示属性 $ (美元符号),那么系统将会把它作为一个字符串的名字 StartMenuL10N.ini -文件。实际的文本将取决于当前语言设置。这 -当创建一个菜单是非常有用的,可以添加多个语言.
-
-如果你检查“插入子条目作为按钮”,而不是显示菜单 -项目本身,开始菜单将显示为一行目 -按钮。默认情况下,按钮居中。你可以调整它们 -左边添加一个分离器作为最后一个项目,或者向右对齐它们 -通过添加一个分离器作为第一项。一个可能的用途是取代 -关机菜单项 -单独的按钮关机、重启、注销等.
-
-

管理员设置

-这些设置是 -每个用户和存储在注册中心。默认情况下每个用户都可以编辑 -他们所有的设置。管理员可以锁定特定的设置,所以 -没有用户可以编辑他们:
- -
-在这个例子中,设置“启用右键菜单“一直锁定,任何用户都不能改变。这是实现 -通过添加设置 HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\Menu registry key. 创建一个 DWORD 值叫 "EnableContextMenu" 并且设置为 0.
-
-在某些情况下,您可能不希望锁定为所有用户的值,只是修改初始值的设置。在这样的情况下添加“默认”名称的值。例如如果你想上下文菜单默认为禁用,但仍允许用户启用它,如果他们愿意,创建一个DWORD值命名为“EnableContextMenu_Default”并将它设置为0。
-
-最简单的方式了解注册表名称的设置及其作用然后修改它,然后检查 HKEY_CURRENT_USER\Software\OpenShell\StartMenu\Settings.
- -有时你可能想锁定设置为默认值,但你 -不知道默认值是。然后创建一个DWORD值和设置 -它为 0xDEFA.
- -
- -还有一个全局设置“EnableSettings”。将其设置为0的 -注册表来防止用户打开设置对话框:
- -
-
-开始菜单也检查大部分的组策略设置的管理员。运行 gpedit.msc 找到 用户配置 -> 管理模板 -> 开始菜单和任务栏. 从那里你可以禁用运行,关闭,帮助,和其他功能. (不可以在家庭版本的Windows7).
- -
-
-

更多关于皮肤

-你可以选择从许多预装皮肤:
-
-Skins for Open-Shell Menu
-
你也可以下载并安装额外的第三方皮肤(从 -主要的网站或从另一个地方)。在你下载一个新的皮肤 -你必须复制 .skin 文件到皮肤目录 通常 C:\Program -Files\Open-Shell\Skins. 之后,它将在设置里变为可用.
-
-注意: 一些皮肤可能是专为 -经典的、基本的、或Aero模式。例如一个Aero皮肤可能需要 -玻璃支持任何看起来奇怪如果经典的或基本的主题 -选定的。一些Aero皮也可能需要特定的玻璃颜色选择.
-
-你可以创建你自己的皮肤。你将需要一个图像编辑器,该编辑器 -支持alpha通道(如Gimp或Photoshop)和一个工具来编辑 -资源文件(如Resource Hacker或Visual Studio)。当然, -一些人才为图形设计:)。阅读 Skinning Tutorial before you begin.
-
-

-

Search


-
- 搜索框允许您搜索的开始菜单的内容, -项目在PATH环境变量和索引文件。你可以搜索框 -显示为一个普通的菜单项,然后您能使用 -向上/向下箭头键。你可以选择搜索框选中 -默认当你打开开始菜单。或者你可以选择激活 -搜索框只与Tab键,所以直到你按Tab键你可以使用 -键盘导航好像搜索框是不存在的.
-
-搜索结果显示在主菜单中如果您使用的是Windows 7的风格或子菜单为经典的风格.
-点击每个类别扩大它,看到更多的结果。点击图标查看所有结果结束在Explorer.
-
-经典的款式让您注册附加“搜索提供商”,您可以使用它 -搜索的文本搜索框。你运行搜索程序 -无论是从菜单中选择,或通过 -快捷Alt +键。在这个例子中使用 Alt+A for Agent Ransack.
-
-
-这是通过添加SearchBoxItem 定制开始菜单 tab:
-
-
-打开每个子条目,输入一个命令来启动搜索程序。如果你使用 %1 在命令时,它将被替换为搜索框的内容。如果你使用 %2 -它将被换成了编码的url -风格的搜索文本。输入 -标签,提示,和图标来完成你的菜单项。在标签文本你 -可以使用 & 加速搜索 (例如 &Agent Ransack).
-
-这里有一些可用的命令:
-搜索使用 Agent Ransack: "C:\Program Files\Agent Ransack\AgentRansack.exe" -r -f "%1"
-搜索使用 Everything: "C:\Program Files\Everything\Everything.exe" -search "%1"
-搜索使用 Google: http://www.google.com/#q=%2
-搜索使用 Bing: http://www.bing.com/search?q=%2
-
-
-

定制开始按钮
-

Open-Shell 可以添加自己的启动按钮到任务栏。它可以 -甚至替换默认启动按钮在Windows 7。你可以选择从 -一个航空风格orb,一个矩形经典按钮,或 -你可以自己做。对于一个自定义的启动按钮您需要一个图像 -包含3个状态的按钮——正常、获取焦点、按下:
-Start button images
-图像必须是一个32位PNG或BMP。默认的宽度 -图像确定按钮的大小。你可以覆盖到 -进入一个自定义宽度.
-你可以找到许多在线定制启动按钮图像。这里有几个例子:
-http://www.sevenforums.com/themes-styles/34951-custom-start-menu-button-collection.html
-
http://www.sevenforums.com/customization/78291-big-group-custom-start-orbs.html
-http://tutoriales13.deviantart.com/art/Orbs-153450418
-
-
-

Localization

- -用户界面(除了设置对话框)是本地化35 -语言.
- -设置对话框是翻译在一个较小的数量的语言。 -默认的安装只包含英语。更多的语言可以 -下载的 翻译页面. 确保您下载了翻译包为匹配的版本的OpenShell.
- - -
-

命令行

-The StartMenu.exe 支持5个命令行参数: -open, -toggle, -togglenew, -exit and -settings.
-
-前两个做什么名字所暗示的。一打开经典开始菜单,其他 -切换它。您可以使用参数来创建一个快捷方式在你的 -快速启动栏,打开开始菜单。或设置热键在 -项目如 WinKey.
-
-第三个“-togglenew”切换默认的Windows开始菜单(或开始屏幕)。它是有用的,如果 -你想创建一个快捷方式或一个热键打开默认的菜单和使用赢 -关键的经典菜单.
-
-使用 "-exit" 开始菜单中退出。这个命令只会工作,在开始菜单目前不忙状态.
-
-使用 "-settings" 打开开始菜单设置。这有助于创建一个快捷方式编辑设置.
-
-
-

Accessibility

开始菜单支持屏幕阅读器像JAWS, -或微软的旁白。如果可访问性支持原因可以禁用的问题的 一般行为 选项卡的设置
- -
- diff --git a/Src/Localization/Chinese/MenuADMX.txt b/Src/Localization/Chinese/MenuADMX.txt deleted file mode 100644 index 1de254d..0000000 --- a/Src/Localization/Chinese/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Open-Shell 设置 -State.text = 状态: -State1.text = 锁定为此设置值 -State2.text = 锁定为默认值 -State3.text = 未锁定 -State1Help.text = 如果将状态设置为“锁定为此设置值”,所有用户都必须使用此设置值。 -State2Help.text = 如果将状态设置为“锁定为默认值”,所有用户都必须使用默认值。忽略指定的设置值。 -State3Help.text = 如果将状态设置为“未锁定”,用户可自由设定自己喜好的设置值。 - -MenuCat.text = 经典“开始”菜单 -MenuCatHelp.text = 经典“开始”菜单的组策略设置 -SUPPORTED_CS404.text = 需要安装 Open-Shell 4.0.4 或更高的版本。 -SUPPORTED_CS404_WIN7.text = 仅用于 Windows 7。 -SUPPORTED_CS404_WIN78.text = 仅用于 Windows 7 或 Windows 8。 -SUPPORTED_CS404_WIN781.text = 仅用于 Windows 7 或 Windows 8.1。 -SUPPORTED_CS404_WIN8.text = 仅用于 Windows 8。 -SUPPORTED_CS404_WIN881.text = 仅用于 Windows 8 或 Windows 8.1。 -SUPPORTED_CS404_WIN81.text = 仅用于 Windows 8.1。 -SUPPORTED_CS404_CLASSIC1_STYLE.text = 仅用于只有一列的经典“开始”菜单。 -SUPPORTED_CS404_CLASSIC2_STYLE.text = 仅用于双列的经典“开始”菜单。 -SUPPORTED_CS404_CLASSIC_STYLE.text = 仅用于经典样式的“开始”菜单。 -SUPPORTED_CS404_WIN7_STYLE.text = 仅用于 Windows 7 样式的“开始”菜单。 - - -EnableSettings.nameOverride = 启用设置 -EnableSettings.tipOverride = 允许用户自由设定设置值 - -MenuStyle.nameOverride = 菜单样式 -MenuStyle.tipOverride = 选择“开始”菜单的样式。 -MenuStyle_Classic1.nameOverride = 单栏经典样式 -MenuStyle_Classic2.nameOverride = 双栏经典样式 -MenuStyle_Win7.nameOverride = Windows 7 样式 - -MouseClick.nameOverride = 左键单击 -ShiftClick.nameOverride = 按住 Shift 键单击 -WinKey.nameOverride = 按下 Windows 键 -ShiftWin.nameOverride = 按下 Shift + Win 键 -MiddleClick.nameOverride = 中键单击 -Hover.nameOverride = 鼠标悬停 - -; skins -SkinC1.nameOverride = 单列经典“开始”菜单的皮肤 -SkinC1.tipOverride = 选择用于单列经典“开始”菜单样式的皮肤 -SkinVariationC1.nameOverride = 单列经典“开始”菜单的皮肤变体 -SkinVariationC1.tipOverride = 选择用于单列经典“开始”菜单样式的皮肤变体(用于带有多种变体样式的皮肤) -SkinOptionsC1.nameOverride = 单列经典“开始”菜单皮肤的选项 -SkinOptionsC1.tipOverride = 选择用于单列经典“开始”菜单样式的皮肤选项。\n此设置值应为一串 16 进制数值。提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中设置选项,然后,在注册表“HKCU\Software\OpenShell\StartMenu\Settings”键中寻找名称为“SkinOptionsC1”的键值。 -MenuItems1.nameOverride = 单列经典“开始”菜单皮肤的菜单项 -MenuItems1.tipOverride = 选择用于单列经典“开始”菜单样式的菜单项。\n提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中设置要显示的菜单项,然后,在注册表“HKCU\Software\OpenShell\StartMenu\Settings”键中寻找名称为“MenuItems1”的键值。 -SkinC2.nameOverride = 双列经典“开始”菜单的皮肤 -SkinC2.tipOverride = 选择用于双列经典“开始”菜单样式的皮肤 -SkinVariationC2.nameOverride = 双列经典“开始”菜单的皮肤变体 -SkinVariationC2.tipOverride = 选择用于双列经典“开始”菜单样式的皮肤变体(用于带有多种变体样式的皮肤) -SkinOptionsC2.nameOverride = 双列经典“开始”菜单皮肤的选项 -SkinOptionsC2.tipOverride = 选择用于双列经典“开始”菜单样式的皮肤选项。\n此设置值应为一串 16 进制数值。提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中设置选项,然后,在注册表“HKCU\Software\OpenShell\StartMenu\Settings”键中寻找名称为“SkinOptionsC2”的键值。 -MenuItems2.nameOverride = 双列经典“开始”菜单皮肤的菜单项 -MenuItems2.tipOverride = 选择用于双列经典“开始”菜单样式的菜单项。\n提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中设置要显示的菜单项,然后,在注册表“HKCU\Software\OpenShell\StartMenu\Settings”键中寻找名称为“MenuItems2”的键值。 -SkinW7.nameOverride = Windows 7 样式“开始”菜单的皮肤 -SkinW7.tipOverride = 选择用于 Windows 7“开始”菜单样式的皮肤 -SkinVariationW7.nameOverride = Windows 7 样式菜单的皮肤变体 -SkinVariationW7.tipOverride = 选择用于 Windows 7 样式“开始”菜单的皮肤变体(用于带有多种变体样式的皮肤) -SkinOptionsW7.nameOverride = Windows 7 样式菜单皮肤的选项 -SkinOptionsW7.tipOverride = 选择用于 Windows 7“开始”菜单样式的皮肤选项。\n此设置值应为一串 16 进制数值。提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中设置选项,然后,在注册表“HKCU\Software\OpenShell\StartMenu\Settings”键中寻找名称为“SkinOptionsW7”的键值。 -MenuItems7.nameOverride = Windows 7 样式菜单的菜单项 -MenuItems7.tipOverride = 选择用于 Windows 7“开始”菜单样式的菜单项。\n提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中设置要显示的菜单项,然后,在注册表“HKCU\Software\OpenShell\StartMenu\Settings”键中寻找名称为“MenuItems7”的键值。 - -; windows 7 -SkinA.nameOverride = 用于 Windows 7 样式菜单的“所有程序”子菜单的皮肤 -SkinA.tipOverride = 选择用于 Windows 7 样式“开始”菜单的“所有程序”子菜单的皮肤 -SkinVariationA.nameOverride = Windows 7 样式菜单“所有程序”子菜单的皮肤变体 -SkinVariationA.tipOverride = 选择用于 Windows 7 样式菜单“所有程序”子菜单的皮肤变体(用于带有多种变体样式的皮肤) -SkinOptionsA.nameOverride = Windows 7 样式菜单“所有程序”子菜单皮肤的选项 -SkinOptionsA.tipOverride = 选择用于 Windows 7 样式菜单“所有程序”子菜单的皮肤选项。\n此设置值应为一串 16 进制数值。提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中设置选项,然后,在注册表“HKCU\Software\OpenShell\StartMenu\Settings”键中寻找名称为“SkinOptionsA”的键值。 - -; metro settings -SkipMetro.tipAddition = 此设置值对于 Windows 8.1 无效。你需要使用系统自带的设置来默认登录到桌面环境 - -; hidden -FolderStartMenu.nameOverride = “开始”菜单文件夹 -FolderStartMenu.tipOverride = 在此输入用户的“开始”文件夹路径(同时覆盖用户的“所有程序”文件夹路径设置)。\n此路径可包含环境变量。\n注意:此设置在“设置”对话框是无法修改的。 -FolderPrograms.nameOverride = “所有程序”文件夹 -FolderPrograms.tipOverride = 在此输入用户的“所有程序”文件夹路径设置。\n此路径可包含环境变量。\n注意:此设置在“设置”对话框是无法修改的。 -FolderCommonStartMenu.nameOverride = 公共“开始”菜单文件夹 -FolderCommonStartMenu.tipOverride = 在此输入所有用户共用的“开始”文件夹路径(同时覆盖所有用户共用的“所有程序”文件夹路径设置)。\n注意:此设置在“设置”对话框是无法修改的。 -FolderCommonPrograms.nameOverride = 公共“所有程序”文件夹 -FolderCommonPrograms.tipOverride = 在此输入所有用户共用的“所有程序”文件夹路径设置。\n注意:此设置在“设置”对话框是无法修改的。 -AutoStartDelay.nameOverride = 自动启动延时 -AutoStartDelay.tipOverride = 在此输入用户登录到系统后自动运行经典“开始”菜单程序的延迟时间(以毫秒为单位),此设置对于用户手动执行 StartMenu.exe 无效。\n注意:此设置在“设置”对话框是无法修改的。 - -; other -StartButtonIcon.tipAddition = 此设置值可以是一个图标文件(*.ico)的路径,或者是一个可执行文件(*.exe)或扩展应用程序库文件(*.dll)的路径与该文件中的图标编号(ID)的组合 -StartButtonPath.tipAddition = 此设置值应为一张 BMP 或 PNG 图片的路径 -SoundMain.tipAddition = 此设置值应为系统事件的名称或指向一个 WAV 文件的路径 -SoundPopup.tipAddition = 此设置值应为系统事件的名称或指向一个 WAV 文件的路径 -SoundCommand.tipAddition = 此设置值应为系统事件的名称或指向一个 WAV 文件的路径 -SoundDrop.tipAddition = 此设置值应为系统事件的名称或指向一个 WAV 文件的路径 -ExpandFolderLinks.tipAddition = 仅适用于 NTFS 的符号连接 (例如目录连接点),不适用于快捷方式文件 -StartHoverDelay.nameOverride = 鼠标悬停延迟(用于“开始”按钮) -AllProgramsDelay.nameOverride = 鼠标悬停延迟(用于 Windows 7 的“所有程序”项目) -CSMHotkey.tipAddition = \n\n基础设置值是指主按键的扫描码。在基础设置值上加 256 表示按下 Shift 键,加 512 表示按下 Control 键,加 1024 表示按下 Alt 键。\n提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中指定热键,然后,在注册表“HKCU\Software\OpenShell\StartMenu\Settings”键中寻找名称为“CSMHotkey”的键值。 -WSMHotkey.tipAddition = \n\n基础设置值是指主按键的扫描码。在基础设置值上加 256 表示按下 Shift 键,加 512 表示按下 Control 键,加 1024 表示按下 Alt 键。\n提示:要获取设置值,可以在经典“开始”菜单的“设置”对话框中指定热键,然后,在注册表“HKCU\Software\OpenShell\StartMenu\Settings”键中寻找名称为“WSMHotkey”的键值。 diff --git a/Src/Localization/Chinese/OpenShell.hhp b/Src/Localization/Chinese/OpenShell.hhp deleted file mode 100644 index 3237197..0000000 --- a/Src/Localization/Chinese/OpenShell.hhp +++ /dev/null @@ -1,16 +0,0 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=OpenShell.chm -Contents file=OpenShellTOC.hhc -Default topic=Main.html -Display compile progress=Yes -Language=0x409 English (United States) - - -[FILES] -ClassicExplorer.html -Menu.html -ClassicIE.html - -[INFOTYPES] - diff --git a/Src/Localization/Chinese/OpenShellADMX.txt b/Src/Localization/Chinese/OpenShellADMX.txt deleted file mode 100644 index d418242..0000000 --- a/Src/Localization/Chinese/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Open-Shell 设置 -State.text = 状态: -State1.text = 锁定为此设置值 -State2.text = 锁定为默认值 -State3.text = 未锁定 -State1Help.text = 如果将状态设置为“锁定为此设置值”,所有用户都必须使用此设置值。 -State2Help.text = 如果将状态设置为“锁定为默认值”,所有用户都必须使用默认值。忽略指定的设置值。 -State3Help.text = 如果将状态设置为“未锁定”,用户可自由设定自己喜好的设置值。 - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Open-Shell 组策略设置 -SUPPORTED_CS404.text = 需要安装 Open-Shell 4.0.4 或更高的版本。 - -Language.nameOverride = Open-Shell 组件的界面语言 -Language.tipOverride = 选择 Open-Shell 的区域语言标识(例如,简体中文是 zh-CN,美国英语是 en-US,德语是 de-DE)。界面语言设置值将影响开始菜单、资源管理器的扩展工具栏等组件所显示的文本。 -Update.nameOverride = 启用自动检查新版本的功能 -Update.tipOverride = 选中此选项时,Open-Shell 将每周自动检查新发布的版本。在新版本(或当前使用的翻译语言版本)的 Open-Shell 发布后,你将收到弹出对话框提示。 diff --git a/Src/Localization/Chinese/OpenShellEULA.rtf b/Src/Localization/Chinese/OpenShellEULA.rtf deleted file mode 100644 index 6a31c63..0000000 Binary files a/Src/Localization/Chinese/OpenShellEULA.rtf and /dev/null differ diff --git a/Src/Localization/Chinese/OpenShellReadme.rtf b/Src/Localization/Chinese/OpenShellReadme.rtf deleted file mode 100644 index bb96ea3..0000000 --- a/Src/Localization/Chinese/OpenShellReadme.rtf +++ /dev/null @@ -1,1601 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fnil\fprq2\fcharset134 SimSun;}{\f2\fswiss\fprq2\fcharset0 Calibri;}{\f3\fnil\fprq2\fcharset0 SimSun;}{\f4\fnil\fcharset0 Calibri;}{\f5\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52 Open-Shell\par - -\pard\widctlpar\sa200\sl276\slmult1\cf0\b0\f2\fs22\par -\f1\'b8\'d0\'d0\'bb\'c4\'fa\'b0\'b2\'d7\'b0\cf3\b\f2 Open-Shell\f3\'99\cf0\b0\f1\'a1\'a3\'cb\'fc\'bd\'ab\'d2\'bb\'d0\'a9\'c8\'b1\'c9\'d9\'b5\'c4\'cc\'d8\'d0\'d4\'b2\'b9\'b3\'e4\'b5\'bd\f2 Windows 7, Windows 8, Windows 8.1 \f1\'ba\'cd\f2 Windows 10\emdash\emdash\f1\'c0\'fd\'c8\'e7\'be\'ad\'b5\'e4\'bf\'aa\'ca\'bc\'b2\'cb\'b5\'a5\'a1\'a2\'bf\'aa\'ca\'bc\'b0\'b4\'c5\'a5\'a1\'a2\'d7\'ca\'d4\'b4\'b9\'dc\'c0\'ed\'c6\'f7\'b9\'a4\'be\'df\'c0\'b8\'b5\'c8\'b5\'c8\'a1\'a3\f2\par -\par - -\pard\widctlpar\f1\'d7\'ee\'d0\'c2\'b5\'c4\'b0\'e6\'b1\'be\'bf\'c9\'d2\'d4\'d4\'da\f2 OpenShell\f1\'b5\'c4\'cd\'f8\'d5\'be\'d5\'d2\'b5\'bd\'a3\'ba\f2\par - -\pard\widctlpar\sa200\sl276\slmult1 {{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f2\fs22\par - -\pard\widctlpar\f1\'b6\'d4\'d3\'da\'b3\'a3\'bc\'fb\'ce\'ca\'cc\'e2\'b5\'c4\'bd\'e2\'b4\'f0\'c7\'eb\'bf\'b4\'d5\'e2\'c0\'ef\'a3\'ba\f2\par - -\pard\widctlpar\sa200\sl276\slmult1 {{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f2\fs22\par - -\pard\widctlpar\f1\'bb\'f2\'ca\'b9\'d3\'c3\'c2\'db\'cc\'b3\'d2\'d4\'bb\'f1\'b5\'c3\'b0\'ef\'d6\'fa\'a3\'ba\f2\par - -\pard\widctlpar\sa200\sl276\slmult1 {{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f2\fs22\par - -\pard\widctlpar\f1\'d4\'da\f2 Open-Shell\f1\'b5\'c4\'bf\'aa\'b7\'a2\'c2\'db\'cc\'b3\'bf\'c9\'b1\'a8\'b8\'e6\'c8\'ed\'bc\'fe\'b5\'c4\'ce\'ca\'cc\'e2\'a3\'ba\f2\par - -\pard\widctlpar\sa200\sl276\slmult1 {{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f2\fs22\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl480\slmult1\cf5\b\f1\fs28\'be\'ad\'b5\'e4\'bf\'aa\'ca\'bc\'b2\'cb\'b5\'a5\f0\par - -\pard\widctlpar\sa200\sl276\slmult1\cf3\f1\fs22\'be\'ad\'b5\'e4\'bf\'aa\'ca\'bc\'b2\'cb\'b5\'a5\cf0\b0\'ca\'c7\'d2\'bb\'b8\'f6\'c1\'e9\'bb\'ee\'b5\'c4\'bf\'aa\'ca\'bc\'b2\'cb\'b5\'a5\'a3\'ac\'cb\'fc\'bf\'c9\'d2\'d4\'c4\'a3\'c4\'e2\f2 Windows 2000\f1\'a1\'a2\f2 XP\f1\'ba\'cd\f2 Windows 7\f1\'b5\'c4\'b2\'cb\'b5\'a5\'d0\'d0\'ce\'aa\'a3\'ac\'b2\'a2\'d3\'b5\'d3\'d0\'b8\'f7\'d6\'d6\'b8\'df\'bc\'b6\'b9\'a6\'c4\'dc\'a3\'ba\f2\par - -\pard{\pntext\f5\'B7\tab}{\*\pn\pnlvlblt\pnf5\pnindent0{\pntxtb\'B7}}\widctlpar\fi-420\li420\f1\'d4\'da\ldblquote\'be\'ad\'b5\'e4\rdblquote\'bb\'f2\ldblquote\f2 Windows 7\f1\rdblquote\'b7\'e7\'b8\'f1\'d6\'ae\'bc\'e4\'c7\'d0\'bb\'bb\f2\par -{\pntext\f5\'B7\tab}\f1\'cd\'cf\'d7\'a7\'d7\'e9\'d6\'af\'c4\'e3\'b5\'c4\'d3\'a6\'d3\'c3\'b3\'cc\'d0\'f2\f2\par -{\pntext\f5\'B7\tab}\f1\'bf\'c9\'d1\'a1\'cf\'d4\'ca\'be\'ca\'d5\'b2\'d8\'bc\'d0\'a1\'a2\'c0\'a9\'d5\'b9\'bf\'d8\'d6\'c6\'c3\'e6\'b0\'e5\'c4\'da\'c8\'dd\f2\par -{\pntext\f5\'B7\tab}\f1\'cf\'d4\'ca\'be\'d7\'ee\'bd\'fc\'ca\'b9\'d3\'c3\'b5\'c4\'ce\'c4\'b5\'b5\'a3\'ac\'b2\'a2\'b6\'a8\'d6\'c6\'cf\'d4\'ca\'be\'ca\'fd\'c1\'bf\f2\par -{\pntext\f5\'B7\tab}\f1\'b1\'bb\'b7\'ad\'d2\'eb\'b3\'c9\f2 35\f1\'d6\'d6\'d3\'ef\'d1\'d4\'a3\'ac\'b0\'fc\'c0\'a8\'b4\'d3\'d3\'d2\'b5\'bd\'d7\'f3\'d4\'c4\'b6\'c1\'b5\'c4\'b0\'a2\'c0\'ad\'b2\'ae\'d3\'ef\'ba\'cd\'cf\'a3\'b2\'ae\'c0\'b4\'d3\'ef\f2\par -{\pntext\f5\'B7\tab}Windows\f1\'cf\'b5\'cd\'b3\'b5\'c4\'bf\'aa\'ca\'bc\'b2\'cb\'b5\'a5\'c8\'d4\'c8\'bb\'bf\'c9\'d2\'d4\'cd\'a8\'b9\'fd\'b0\'b4\'d7\'a1\f2 Shift +\f1\'b5\'e3\'bb\'f7\'bf\'aa\'ca\'bc\'b0\'b4\'c5\'a5\'c0\'b4\'b7\'c3\'ce\'ca\f2\par -{\pntext\f5\'B7\tab}\f1\'d3\'d2\'bc\'fc\'b5\'a5\'bb\'f7\'b2\'cb\'b5\'a5\'cf\'ee\'bf\'c9\'c9\'be\'b3\'fd\'a1\'a2\'d6\'d8\'c3\'fc\'c3\'fb\'a1\'a2\'c5\'c5\'d0\'f2\'a3\'ac\'bb\'f2\'d6\'b4\'d0\'d0\'c6\'e4\'cb\'fb\'b2\'d9\'d7\'f7\f2\par -{\pntext\f5\'B7\tab}\f1\'d6\'a7\'b3\'d6\'bf\'aa\'ca\'bc\'b2\'cb\'b5\'a5\'b5\'c4\'cb\'d1\'cb\'f7\'c0\'b8\'a3\'ac\'b2\'a2\'c7\'d2\'b2\'bb\'b7\'c1\'b0\'ad\'c4\'e3\'ca\'b9\'d3\'c3\'bc\'fc\'c5\'cc\'bf\'ec\'cb\'d9\'b2\'d9\'d7\'f7\f2\par -{\pntext\f5\'B7\tab}\f1\'d6\'a7\'b3\'d6\'cc\'f8\'d7\'aa\'c1\'d0\'b1\'ed\'a3\'ac\'b1\'e3\'d3\'da\'b7\'c3\'ce\'ca\'d7\'ee\'bd\'fc\'b4\'f2\'bf\'aa\'b5\'c4\'ce\'c4\'b5\'b5\'ba\'cd\'d6\'b4\'d0\'d0\'b3\'a3\'bc\'fb\'b5\'c4\'c8\'ce\'ce\'f1\f2\par -{\pntext\f5\'B7\tab}\f1\'d6\'a7\'b3\'d6\f2 32\f1\'ce\'bb\'ba\'cd\f2 64\f1\'ce\'bb\'b2\'d9\'d7\'f7\'cf\'b5\'cd\'b3\f2\par -{\pntext\f5\'B7\tab}\f1\'d6\'a7\'b3\'d6\'c6\'a4\'b7\'f4\'a3\'ac\'b0\'fc\'c0\'a8\'b6\'ee\'cd\'e2\'b5\'c4\'b5\'da\'c8\'fd\'b7\'bd\'c6\'a4\'b7\'f4\'a3\'ac\'c4\'e3\'c9\'f5\'d6\'c1\'bf\'c9\'d2\'d4\'d7\'d4\'d0\'d0\'d6\'c6\'d7\'f7\'d2\'bb\'b8\'f6\'a3\'a1\f2\par -{\pntext\f5\'B7\tab}\f1\'cd\'ea\'c8\'ab\'bf\'c9\'b6\'a8\'d6\'c6\'b5\'c4\'cd\'e2\'b9\'db\'ba\'cd\'b9\'a6\'c4\'dc\f2\par -{\pntext\f5\'B7\tab}\f1\'d6\'a7\'b3\'d6\'ce\'a2\'c8\'ed\'b5\'c4\'c7\'e1\'cb\'c9\'b7\'c3\'ce\'ca\'b9\'a6\'c4\'dc\f2\par -{\pntext\f5\'B7\tab}\f1\'c8\'c3\ldblquote\'cb\'f9\'d3\'d0\'b3\'cc\'d0\'f2\rdblquote\'b1\'e4\'b3\'c9\'bf\'c9\'d5\'b9\'bf\'aa\'b5\'c4\'b2\'cb\'b5\'a5\'a3\'ac\'b2\'bb\'d4\'d9\'b9\'ea\'cb\'f5\'d4\'da\'bf\'aa\'ca\'bc\'b2\'cb\'b5\'a5\'c0\'ef\'c3\'e6\f2\par -{\pntext\f5\'B7\tab}\f1\'d6\'a7\'b3\'d6\'bf\'c9\'b6\'a8\'d6\'c6\'b5\'c4\'bf\'aa\'ca\'bc\'b2\'cb\'b5\'a5\'b0\'b4\'c5\'a5\f2\par -{\pntext\f5\'B7\tab}\f1\'bf\'c9\'d2\'d4\'cf\'d4\'ca\'be\'a1\'a2\'cb\'d1\'cb\'f7\'ba\'cd\'c6\'f4\'b6\'af\f2 Windows\f1\'ca\'d0\'b3\'a1\'d3\'a6\'d3\'c3\'a3\'a8\f2 Windows 8\f1\'a3\'a9\f2\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl480\slmult1\cf5\b\f1\fs28\'be\'ad\'b5\'e4\'d7\'ca\'d4\'b4\'b9\'dc\'c0\'ed\'c6\'f7\f0\par - -\pard\widctlpar\sa200\sl276\slmult1\cf3\f1\fs22\'be\'ad\'b5\'e4\'d7\'ca\'d4\'b4\'b9\'dc\'c0\'ed\'c6\'f7\cf0\b0\'ca\'c7\'d2\'bb\'b8\'f6\'d5\'eb\'b6\'d4\f2 Windows\f1\'d7\'ca\'d4\'b4\'b9\'dc\'c0\'ed\'c6\'f7\'d6\'c6\'d7\'f7\'b5\'c4\'b2\'e5\'bc\'fe\'a3\'ba\f2\par - -\pard{\pntext\f5\'B7\tab}{\*\pn\pnlvlblt\pnf5\pnindent0{\pntxtb\'B7}}\widctlpar\fi-420\li420\f1\'bf\'c9\'d2\'d4\'cc\'ed\'bc\'d3\'d6\'b4\'d0\'d0\'c8\'d5\'b3\'a3\'b2\'d9\'d7\'f7\'b5\'c4\'b9\'a4\'be\'df\'c0\'b8\'a3\'ac\'c0\'fd\'c8\'e7\'b7\'c3\'ce\'ca\'b8\'b8\'ce\'c4\'bc\'fe\'bc\'d0\'a1\'a2\'bc\'f4\'c7\'d0\'a1\'a2\'b8\'b4\'d6\'c6\'a1\'a2\'d5\'b3\'cc\'f9\'a1\'a2\'c9\'be\'b3\'fd\'a1\'a2\'ca\'f4\'d0\'d4\'a1\'a2\'b5\'e7\'d7\'d3\'d3\'ca\'bc\'fe\'b5\'c8\'a3\'a8\'b9\'a4\'be\'df\'c0\'b8\'bf\'c9\'cd\'ea\'c8\'ab\'b6\'a8\'d6\'c6\'a3\'a9\f2\par -{\pntext\f5\'B7\tab}\f1\'bd\'ab\'b8\'b4\'d6\'c6\'ce\'c4\'bc\'fe\'ca\'b1\'b3\'f6\'cf\'d6\'b5\'c4\'ce\'c4\'bc\'fe\'b3\'e5\'cd\'bb\'b6\'d4\'bb\'b0\'bf\'f2\'b8\'c4\'b3\'c9\ldblquote\'be\'ad\'b5\'e4\rdblquote\'b5\'c4\f2 Windows XP\f1\'c4\'a3\'ca\'bd\f2\par -{\pntext\f5\'B7\tab}\f1\'d4\'da\'ce\'c4\'bc\'fe\'bc\'d0\'c0\'b8\'d6\'d0\'b0\'b4\'cf\'c2\f2 Alt + Enter\f1\'bf\'c9\'cf\'d4\'ca\'be\'cb\'f9\'d1\'a1\'ce\'c4\'bc\'fe\'bc\'d0\'b5\'c4\'ca\'f4\'d0\'d4\f2\par -{\pntext\f5\'B7\tab}\f1\'bd\'ab\'ce\'c4\'bc\'fe\'bc\'d0\'c0\'b8\'b1\'e4\'b5\'c3\'b8\'fc\'cf\'f1\f2 Windows XP\f1\'b5\'c4\'d1\'a1\'cf\'ee\f2\par -{\pntext\f5\'B7\tab}\f1\'d4\'da\'d7\'b4\'cc\'ac\'c0\'b8\'cf\'d4\'ca\'be\'bf\'d5\'cf\'d0\'b4\'c5\'c5\'cc\'bf\'d5\'bc\'e4\'ba\'cd\'ce\'c4\'bc\'fe\'d5\'bc\'d3\'c3\'bf\'d5\'bc\'e4\f2\par -{\pntext\f5\'B7\tab}\f1\'bf\'c9\'d2\'d4\'bd\'fb\'d3\'c3\'d4\'da\'b5\'d8\'d6\'b7\'c0\'b8\'b5\'c4\'b2\'e3\'bc\'b6\'b0\'b4\'c5\'a5\f2\par -{\pntext\f5\'B7\tab}\f1\'d0\'de\'b8\'b4\f2 Windows 7\f1\'d6\'d0\'b4\'e6\'d4\'da\'b5\'c4\'d0\'a1\'ce\'ca\'cc\'e2\'a3\'ac\'c0\'fd\'c8\'e7\'b6\'aa\'ca\'a7\'b5\'c4\'b9\'b2\'cf\'ed\'ce\'c4\'bc\'fe\'bc\'d0\'cd\'bc\'b1\'ea\'a1\'a2\'ce\'c4\'bc\'fe\'bc\'d0\'c0\'b8\'c4\'bf\'c9\'cf\'cf\'c2\'b4\'dc\'b6\'af\'a1\'a2\'cf\'d4\'ca\'be\'c1\'d0\'b1\'ed\'ca\'d3\'cd\'bc\'d6\'d0\'b1\'bb\'d2\'fe\'b2\'d8\'b5\'c4\'c5\'c5\'d0\'f2\'b1\'ed\'cd\'b7\'b5\'c8\'b5\'c8\f2\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl480\slmult1\cf5\b\f1\fs28\'be\'ad\'b5\'e4\f0 IE\par - -\pard\widctlpar\sa200\sl276\slmult1\cf3\f1\fs22\'be\'ad\'b5\'e4\f2 IE\cf0\b0\f1\'ca\'c7\'d3\'c3\'d3\'da\f2 Internet Explrer 9\f1\'bb\'f2\'b8\'fc\'d0\'c2\'b0\'e6\'b1\'be\'b5\'c4\'b2\'e5\'bc\'fe\'a3\'ba\f2\par - -\pard{\pntext\f5\'B7\tab}{\*\pn\pnlvlblt\pnf5\pnindent0{\pntxtb\'B7}}\widctlpar\fi-420\li420\f1\'d4\'da\'b1\'ea\'cc\'e2\'c0\'b8\'cf\'d4\'ca\'be\'cd\'f8\'d2\'b3\'b1\'ea\'cc\'e2\f2\par -{\pntext\f5\'B7\tab}\f1\'d4\'da\'d7\'b4\'cc\'ac\'c0\'b8\'cf\'d4\'ca\'be\'b0\'b2\'c8\'ab\'c7\'f8\'d3\'f2\f2\par -{\pntext\f5\'B7\tab}\f1\'d4\'da\'d7\'b4\'cc\'ac\'c0\'b8\'cf\'d4\'ca\'be\'bc\'d3\'d4\'d8\'bd\'f8\'b6\'c8\f2\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl480\slmult1\cf5\b\f1\fs28\'b0\'b2\'d7\'b0\'cb\'b5\'c3\'f7\f0\par - -\pard\widctlpar\sa200\sl276\slmult1\cf0\b0\f1\fs22\'d4\'da\'b0\'b2\'d7\'b0\'cd\'ea\'b3\'c9\'ba\'f3\'a3\'ac\f2 Windows\f1\'d7\'ca\'d4\'b4\'b9\'dc\'c0\'ed\'c6\'f7\'b5\'c4\'b9\'a4\'be\'df\'c0\'b8\'bf\'c9\'c4\'dc\'b2\'bb\'bb\'e1\'d7\'d4\'b6\'af\'cf\'d4\'ca\'be\'a3\'ac\'d0\'e8\'d2\'aa\'d6\'b4\'d0\'d0\'d2\'bb\'d0\'a9\'b2\'d9\'d7\'f7\'a1\'a3\f2\par -\cf3\b Windows 7\cf0\b0\f1\'a3\'ba\'b0\'b4\f2 Alt + V\f1\'bc\'fc\'a3\'ac\'b4\'f2\'bf\'aa\ldblquote\'b2\'e9\'bf\'b4\rdblquote\'b2\'cb\'b5\'a5\'a3\'ac\'d4\'d9\'b4\'f2\'bf\'aa\ldblquote\'b9\'a4\'be\'df\'c0\'b8\rdblquote\'d7\'d3\'b2\'cb\'b5\'a5\'a3\'ac\'d1\'a1\'d4\'f1\ldblquote\f2 Classic Explorer Bar\f1\rdblquote\'c3\'fc\'c1\'ee\'a1\'a3\'bc\'c7\'d7\'a1\'a3\'ac\'d6\'bb\'d2\'aa\'b9\'a4\'be\'df\'c0\'b8\'bf\'c9\'bc\'fb\'a3\'ac\'d7\'ca\'d4\'b4\'b9\'dc\'c0\'ed\'c6\'f7\'b5\'c4\'b2\'cb\'b5\'a5\'bd\'ab\'b2\'bb\'d4\'d9\'d2\'fe\'b2\'d8\'a1\'a3\f2\par -\cf3\b Windows 8\cf0\b0\f1\'a3\'ba\'b0\'b4\f2 Alt + V\f1\'bc\'fc\'a3\'ac\'b4\'f2\'bf\'aa\ldblquote\'b2\'e9\'bf\'b4\rdblquote\'b9\'a6\'c4\'dc\'cf\'ee\'a3\'ac\'d4\'d9\'d1\'a1\'d4\'f1\ldblquote\'d1\'a1\'cf\'ee\rdblquote\'d2\'bb\'bd\'da\'b5\'c4\ldblquote\f2 Classic Explorer Bar\f1\rdblquote\'a1\'a3\f2\par - -\pard\widctlpar\f1\'c8\'e7\'b9\'fb\'c9\'cf\'ca\'f6\'b2\'bd\'d6\'e8\'ce\'de\'b7\'a8\'cf\'d4\'ca\'be\'b9\'a4\'be\'df\'c0\'b8\'a3\'ac\'bf\'c9\'c4\'dc\'ca\'c7\'be\'ad\'b5\'e4\'d7\'ca\'d4\'b4\'b9\'dc\'c0\'ed\'c6\'f7\'bc\'d3\'d4\'d8\'cf\'ee\'b5\'c4\'b9\'a6\'c4\'dc\'b1\'bb\'bd\'fb\'d3\'c3\'a1\'a3\'c7\'eb\'b0\'b4\'c8\'e7\'cf\'c2\'b2\'bd\'d6\'e8\'bc\'ec\'b2\'e9\'a3\'ac\'c8\'bb\'ba\'f3\'d4\'d9\'b4\'ce\'b3\'a2\'ca\'d4\'c9\'cf\'ca\'f6\'b2\'d9\'d7\'f7\'cf\'d4\'ca\'be\'b9\'a4\'be\'df\'c0\'b8\'a3\'ba\f2\par - -\pard -{\pntext\f2 1)\tab}{\*\pn\pnlvlbody\pnf2\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li360\f1\'b4\'f2\'bf\'aa\f2 Internet Explorer\f1\'a3\'ac\'b0\'b4\'cf\'c2\'bc\'fc\'c5\'cc\'b5\'c4\f2 F10\f1\'bc\'fc\'cf\'d4\'ca\'be\'b2\'cb\'b5\'a5\'a3\'ac\'d4\'da\ldblquote\'b9\'a4\'be\'df\rdblquote\'b2\'cb\'b5\'a5\'d6\'d0\'d1\'a1\'d4\'f1\ldblquote\'b9\'dc\'c0\'ed\'bc\'d3\'d4\'d8\'cf\'ee\rdblquote\'c3\'fc\'c1\'ee\'a1\'a3\'d5\'d2\'b5\'bd\ldblquote\f2 Ivaylo Beltchev\f1\rdblquote\'b7\'d6\'d7\'e9\'cf\'c2\'b5\'c4\'cf\'ee\'c4\'bf\ldblquote\f2 Classic Explorer Bar\f1\rdblquote\'ba\'cd\ldblquote\f2 ExplorerBHO Class\f1\rdblquote\'a3\'ac\'c8\'b7\'b1\'a3\'c1\'bd\'b8\'f6\'bc\'d3\'d4\'d8\'cf\'ee\'b4\'a6\'d3\'da\ldblquote\'c6\'f4\'d3\'c3\rdblquote\'d7\'b4\'cc\'ac\'a1\'a3\'c8\'e7\'cf\'c2\'cd\'bc\'cb\'f9\'ca\'be\'a3\'ba\f2\line{\pict{\*\picprop{\sp{\sn wzDescription}{\sv Image}}{\sp{\sn posv}{\sv 1}} -}\pngblip\picw13122\pich9349\picwgoal7439\pichgoal5300 -89504e470d0a1a0a0000000d49484452000003200000023a0803000000e894dc13000000017352 -474200aece1ce90000000467414d410000b18f0bfc6105000002e5504c5445676567475b67e7e6 -e8c7dfe77c4744f79d957fd3f76f4747df4f47f4928c8f53575655577eb7bf07050762b5eb5753 -3721539d6e875f37869f3703070703376fbbef77a7978edadf7bc3d71f033707035f3887c0ffff -ff8bd9f76eb9df87c7cf7cc7ef6fb7cb5ba7ce1f0307370337ef8b8787b8c0f0847dea7d771f03 -5f1f535fe7776fafdbf02a7dd7bfd9f7b9d2edabcbeda8c6ea9cc4ed8dbcea89b6e67bafe56ea8 -e57fb3e7def0fe4a91dfd7ebf71e78d7acd1f399beead9e5f75c9ddf096acf3485d71773d14f97 -df5fa3df0f6fcfc9def568a3e0ebf7ff3f8bd979abe2cde5fa4c91d73f8fdff7f3f75797df679f -dfb7b7b7efedef3f5d736a97c75f8ba787cbef9cb5cd475f73bedffcd7d5d7272527afaeafbebe -bf9796978785872e2e2fa7a6a78e94987775774745479e9da04e4d4fdedee15d5d606e6d6f1714 -171f1d1fc7c7c77e7d7fcccdd19ea5a93735373f3d3f0f0c0f8e8d8f7f8387aeb5ba2f33376f74 -795f65683f4347bec4c9879dcd6d88c77b93cc1844a59fb3dd07369f5b7abfdee3ef0e3c9f5773 -bfa9badcc7d4e3c8d6ef98acd7214ca72f55af8fa6d7acbfdb335caf4f70b8476ab73f65b68fa3 -ce9aaec3bfcdd6b7c3e7bcc6d9adc4db8ba4be488bd67791af7f97af9fabb7aaafb8bf8b97ec5b -54f7c7c7afbbc3d7837fec564cba4e4aa76d6fcf534ff74f47e7abaf8fabc497a7bfb767678793 -abefdfdfdf776feb413bdac3ca6f89a3cf7377ea4a42bf716ff763578f5b5fd79b9fc76367f773 -6fba3e3ccfd6dacc8e97c7696bdf5757af3737677f97db5b5f9f474fef372fcf2f2f7765735773 -8faf57578f9b9f978f8f5f57570f6bb79fd3ff9dcdfa8fc3e77c9dd28aafdc8dc5ff5b91cf578b -cdcf6707379bff4e85c7477fbf3a79c13f9ffe4fa7ff67afff78bbff6fb6fc97c7fe7fbffe5ba9 -df49a3ff5badfe67b3ff1c8cda2792ec4f9be71f95e00c8de02e97e22991d83799df1493df0b84 -d81a86d40a7bd0479bd73f536f374b6f273f5f5767872c46677e8b937e84917c48dedb00000009 -7048597300000ec400000ec401952b0e1b0000754f49444154785eedbd7f6023d77dd8c9806ddc -06417e5cd2b88d9f9d36b936edc50380c4af2187586000821880244822b9ea96204190f83df841 -10e0f297566b996bef6a5792257b657b1ba9ad2eed5ddb6b2fedb577d7ebf6dadc5d9bdbbb4a1b -a9d74d2b59b662c96d6da7b6dab891ffbeeff7bd3720b80b60498ac42e16efb38bc1cc7b330f03 -f0fb99f7defc1ca2fc884020b807e6c690c9342c100c207fe48f76e58f0c0f9b4c28c88f0a0483 -c8c7fee81febc21ffd18cc82820cb3b9058201e308820c0b4104038b104420e8c2c7fe3877a12d -7f9c0bf2234210c160d222c88f99cde61fe3430e13e4479a82fcb8e527f0ed277f0a873f6d01fe -8b9fc1a1c5f2b37fe2477ff4e768f2011fff1998fb4ffea93ff9933fcf137e9ccd6bb17c822708 -048f382d82980921e61fa3439e72af201fa736fcfccfd120fff91ffde44f7fe2931fff994fe1db -2ffca93ffdc94f82209f6cc2e6b5fcec9f819c9ffe7966d32f42fa4fc280162610f401876a1074 -835ac2530e0b0231ff899f032d7ee197fecc4f7e824a709f2098c8f4f9148c61de273ffe5f420e -027301bff04b98231c11f4091ffbb3dc05801ad2eac71ffbb32d82b010ffe95ffcb99ffdd346d4 -5341a80f969ffdd34c0c78074d400d5a653431aa9be6943044d017b40ac2eb90033fee11e4177e -89c537036a021af32d35c8cfa3395c10f087d5333fc9aa0c6366e0c78520827ee1c8824060530b -3810ebb4caf8c5c34dac0341fe1cb5087af1d0e9a06daf039ba820c210413f70e42616d58235a3 -80963e084b8076177a00a21835c8c77f06fbe43813ab388420823ee463bfcc5d68db49ffe57b05 -c1aa008028e76f3ce6690dc2de0d41e0fda751919ffb29b6d4c1cc421041dfd0220873830e79ca -fd82b0eaa2a5066979fb3834a60e04f9f84fb239a1ad85b58b2108ce240411f40d1ffbf3dc05ac -41ee3b50f8e70f75d20f6a100ec4bcd1d5b0801cbff4a9d61a04f3b106c1a6d62ffc0598c0a38a -9fc29944275dd037b408d286fb04e136b03db518f3a88051918019bff0177eb4551098f1cffc8c -e5a73ef9e33ff5d3ac1ef9f8cffc57bfc42a14f6f102c1a3cd3105316a10ac0478cc1b82fc38ee -f8fdb99fff5126d1a7e8692558ad401ffd177f8e290482c1081d0841047dc1c77e85bbd0965f69 -110415b9a706397c68e4173f09dd0eb64fb7d9c4a2bbb27e81571a3f0e7509e527c5b958823ee1 -63bfd2954382002cc03f22bc2c81e0d1e7630f00666915442010dc83104420e882104420e88210 -4420e882104420e882104420e88221c8a70502c13db40a420402c1218420024117842002411784 -200241178420024117842002411784200241178420024117842002411784200241178420024117 -84200241178420024117842002411784200241178420024117ba0a22f17742ac569b7d64d4e174 -b93d2c411e1d65239431370cc6152b9b426c13143ed523c646f808c7ed25c4e5b6daf82421e718 -329f14081e440741ec3ec44f871875aaa4aa81c058d037898278d44048754f79917330edf4abaa -0ab3c33048880fdec22149f5c37f0d0b2364ca6ae563470416b04ef1f12663f859dd904008720e -16b58202536eb71471bbdc4147c801c99ec9c949672010f0c30b56522038121d04b1b9ddee60c8 -1f0ac2bb1da61d1e8f471a83810783cd36ea8e10120d81097e884947c82b39ecaed0a83262834a -6462d43f620b4d93d03912e25accf803c666dc8ac575c4c855428180ca460ff0dfa7cc211cbed0 -accf3735038bfa612db920d13132aac6a02601dd9d607e88cf2d101c858e4dac733ec91ab24a41 -1694519f2f12a0f549944ebb501078110504713badd1396f68d4ea73e1a69b681084a1e09c1ffe -1bf586825e5166c37ca42d46eec1fc2d3c5890315fc83e034548b0b8271c9622e1f0ac140e875d -98ef27243ca686c6c6c6e8ec02c111e820c8c84cc0ad119568d1800adb5d2798a1485410342412 -f0434ba5298813ab12066dcd50415c1e3ffc6f11c4679d9bf592a8a2fae45874d6370e6d315bd0 -cb93094ba2b97c7ec0091fedf510df946f16431c05718dc1327cd1d66228ca0809b40832af801b -63811641241f56823022101c8d0e82b8c24a8811f040f48d783caa84b105d060545a6b10efacd3 -c52011988c46fc11cfe1261606bc5f75bafd3627347be4d9886346828855dd233c99b0249a4be7 -7759ade7c84468ea5cc00eb3b89c81492ac8acea7485a01b44176d2d8602f3066c862036675071 -3a9d5e89d8d88e0514c441242b8e080447a363132bc0da33d3bccdeef42bac8ea07d09873fe03b -100466f6415fc5ed66916777f81d13d81180ffad8240d0aa6e6c44d9c19b586882f8a182e0c946 -52b38905cb831293b3411fcc821509ac877fca1e027d3c0a4b3a540c2534d522c8e8983f087d12 -e874cc42490013043a434210c191e92c088709e20c8570e790d52a612f3a26cdaad258ab209351 -84471e36b15c32d62051e81d535010e8bf43a882022e3fd44c2006a6f06423e99e3e88a628a018 -ce32ed8f81202eecb85be16330e95031c838f818b21a8210353a8ab387bc6815c0040189842082 -2373b41ac41d1af14b143f0ae2965c9173d1fb6b10bedf090481dca8df1d8d1ab18b8240816354 -10a7a40118f090c3928da47b04b1050213300bd45ab8f7c93fe584ca838f82b4adc5205eac5aa6 -0c4140ae805f51cea9215ec3f8ed1ec9811209410447e66835886742f3b35e86828244ec87f662 -c1cc6a8441b7d59adfe99e9bc3bd5873c6cedd0341c67c64ca3f0a61cea29c271b49906bcc0f68 -92d325810190383b86b39e0b39486c76862d75a8182418848973cd1a045a59ea945d8e28c40a05 -b8557f202839dc21e8d3d04c81e0087414646e4a46a6f94135cd3f49817e302132dbcd0bdb6705 -8f8380205e1bc58f87f2c2925fc26e3134b10c227eff0417c4eb57ce794252609647364fe64998 -8b0b287e40f341952485897f4c0948d374566f400944600eba686b31c039a8dda6fd9a711cc4a5 -c0bb14199342234e28278cb599ec08f9426346b526103c900e82e0d17003ba51d7fcac8a800d30 -4205514189c3350815c4e51c27633801896d8e599f8378d6ace37caa094fc2dc7bf14f4d1da4d2 -232d9cc3c544d4515591c88c6f7a1a6b9069ab36aa6aaa74ce155278c36d240235d054b3cd2510 -3c900e824c8c1c404fa8d266ed9439b6f97580353674c3414377ccc166654d2c606494c174fa88 -1855c403704f9d7379ce9111f84cb6566462923870b75790d765b33e3ac2f6540b0447a06313eb -11e288820804a74f3f0822103c3484200241178420024117842002411784200241178420024117 -842002411784200241178420024117842002411784200241178420024117842002411784200241 -178420024117842002411784200241178420024117842002411784200241178420024117842002 -411784200241178420024117842002411784200241178420024117842002411784200241178420 -0241178420024117842002411784200241178420024117842002411784200241170e09b2201008 -0ef198d7200bfcbddf697938fc23c469afd5a3505efc1e84207dc16986ceaff2f78f8e10a4ef11 -82dcc7affeda7fcdc73e324290be4708722fbffa6b7ff12f3ec1c73f2a4290be4708720fffcd9f -3bffe9a9e9693ef5111182f43d4290b3a42f0589e1204e47dbc1bd683230822c2696f8587c39b9 -4252ab7caa3f30fed46b4992ce906c2ecf26d339f68eaca66010e319bda1198059fcecc4f21a9b -2285221f3926cdf274fe4e49c549bc546e2d32017fbc4a8e2c2429559e7a3f4679eb450e4ed430 -0e3692386ad0529e214881bf0f8c20a6547d032912b36ed918cad6b3c032cf7cf431fed48906c9 -15882957aa92ece6e666290783cdcd24c9160a39bd5058c965f88c3dc1582b131544bf90c8c417 -707d6a74b58e5f7b3705a9c36b11237a61bd56b3d46a593d5fdb886feaba4ebf1f06743e3154a9 -21fa0a26b5c528af50a37a14a1d8fc567dabb0b4948657b55d795c9042c130644004c9d732ab40 -a55e818912215b3590452fb0cc3e80ffa92fd42b9544ae52a9982bc94a2e9728e528db64a952d9 -29552aa9c4229bb137f0b52a9a9920d57c219e359bcd394b1d86e62ccb3d06bcbc42c9522a6516 -ea3b3b898aa95ad5cb55934ee269ac3b93b53404ba6eae2c15aafcab6e1c4190c2220504594c64 -b3b55a0aa9b42d8f5a017e1886741424cddf292b3112abe4791b657199522526485802f92e9888 -891e755c8e9b4883cdf488c0055948e4d2dbf035d08fca507da89020db957cfdf8dbb88705ff53 -2f830d16430ab2a8674989b6a916d6d7d72ba5f55a29b97e81ced81bf85a55eb8d943993b1ec66 -32b8fd21b9dddd936d7a7879f96abddad85a80edd86e259348d4138984055e351ad03b10ba7aae -98dd22435001e8c52309a2c3e258caeaca6262ab51e3c9edcaa382a01d86211d05813f0018002c -561b8ded46a39c8e37d662d9959595a56c36ddc8669788a9d130adaec7932b79925fdf5e4f6eae -eead1d16eba1c31548a7c9b26ede28adc3f84ad1b2bdbd0aede4eaa3b5aa5d31fed4846ce2c69a -91dba856eb7b55d8f4157701683ac2708767f60263ad323ba9e4ca8aa508b141c8de8665091a44 -7b3cef3834bf659dacd59820503f0d414269912c4240e71b35dc4c43930802da0c99db85a308b2 -6366ef4b66f362622d5d23bba9d42e0a727f795c1063d05190d54ab152492ea657573717622653 -256f8aa5496c89e4f73617e3b015a6d5512cb69a5f5d5f5c8fe38e810a013b1e554180a58d7a81 -f5602b16b36973a850ac9de46ff8903810a406cd8f52a90e3f73c5021b46d8b496e816712d514a -2e2ff7f62b35d70a9b584b1674733557df49961af19d7ae6c44d2ca81a49830b92860a24952a6c -2d2553245d2fe9d01d3119019d49a733471264b55ea23548495fc8c00f5623faf2b20e82b4298f -0942d5e82a48dcb46d5a6e2c6ec20fbf90dcdc4c439fab08af0681a4c56d6804578a79ec8fa58b -98b5b9b094dc4e362ac9a5475490bd62ca62496c01b0394ad5cdb9d44aa158e86987f6a3d10cc5 -853aee22dad3a1935eaf4144d6f3104bd0a1853f35b07568f7cf9963ac55560741d2a9048c160b -55421acb84940b27176421411a1bbc06c9a487a0d59eaba4e8febb648da48a46406f140ab52309 -4262b40b329484d54a2caf8220744759bbf27827fd802e7d903d2e08eb68900af434406e106493 -94aba4029be3d8ea4a76b3b10015c8e272a5bcd4282fc3b7608b3f227041cc998d1c3617978676 -c966ad049b1453a1b858ef9f2aa4f9a7de28e44b0b26f43c57293405a96d64682ba2fa5004d9ae -ef8020a94602fb9fc5d5d44202ba20e6433b528f86f12d2bf057da6582542d09bd9428564a1b46 -40279b017dd426d606ad3ea033534a6c545329280305c92fb42befc882c4a1d5ce0559dadcde5c -59596f54cbb02a4c90ec2a08b298ad64634b4bf9ec66364fb2596c5f9198e9116d620db16628fc -f4b5a512319b715f7d8e374dfb00237456f43c592f6de1e18f18310481d821451d77cc241e8a20 -95256862354af07f91c4f4bdc4c2626e7123a91f346f8f8af12d77b74106a30f02819bafae59aa -f9627a6309fa0f000fe8baaed7778e2048b55c3497815aba5c5dd828e66a55285a5f28b52befc8 -828005862024b9b40a75667261a5dc1464090459002fc812e4c49796ca9b7152cd9a48257d820d -c719d246902a29919d651464e1d192b91bfc4fbd5acf927c5ad777e9be2a2a482397405d8a0fb1 -06c13ec8b20e7ff88d5a7e738be011d97c3dd67a10f388f0f2caf545f87b2d406fa15e81865bbd -94cae989f46a2dada7a0ff009468405758a81da589b598c295a9413857cca6a55a1a7ae8fa7aaa -6d79dc8b269d04595883ff4c105371255d59595aa8e081d2c54dd3de265a53c92f61ef235dc1e1 -12590443935918f47447fc033910a48e7ddb920e3f0d1e07c99a4bf0ddfa07fea7de4daf6cd477 -974cf06d40ee4d088dfa523a8d3f7991edc97c58822474dcd7b498c864d749ae54ab954ed4bfe3 -e5d5cce9ad7a63a154ad6e54aae598b9b2a62717f44461a540960a646577c3b288018d2c1587ea -d8fe6f4f73fd8869692193b1ac43d9ab8ddc860e915c2fe5da95776441d696c85292d720f0032c -c44d7bc57c7c6961ad985edf8ca75190182c5eae5496e12d4696d6d6d6363761d079751f064d41 -1acc872ceebd8616f27211aabc3e82ffa9e364ad48cfac3055f8590066e8172259ba1dcdf7f6d0 -673300978b6c6b9ea72bb7b0b474fce615c2cb5b31ed3596481e3af94bd066218dd54528eec210 -dff42e57d250452db3da7fd98c3d874e1c0802f2a6d3b8d7608964d365ec2b2d437b8772b83c3a -6ca58320f9b489ac66178b50452c2cad403db192ad6c2e551beb4bd0cc5c6c342a8d32eedb2d57 -96ab95257afa17003d93478d93fda11e3d5affd48f0ea7bd568f4279f488f7019d0469649756b6 -97172b261334b1a00bbeb097de5b4c6fe28136d3523a198b65d34bd5d5954d303cbf964e2e2471 -cf6f3a8dc347aa132204394b06589085587eb94ae210ff553cbab65c354105b7b88ab592899d3e -592d2f64b10204f2d8537f3411829c25032cc8e38210e42c1182f43d4290b34408d2f72cc802c1 -3110358840d00d2e868110442068858b61200411085ae16218b41124ff9840bf8c1044703cb818 -06ed04893d1608410427818b613050823c79f1293ed682e9121fa13c75f1e267f8e8e19cc3b309 -1e5bb818068325c8d39fe5632dec3fcd4728973ff7b94bc64c9873f1f32d138201808b6130584d -accb57f80819beca4778e45fe1e7f6c21ccf5c83f718cc8939d79fc5d42bfb3871751fc73147f0 -f8c2c530e82ac8734ff0917ea4bd20d79f24e4b39f25cf5fbbf63cb90e0dae8b5f400d9ebc74fd -d2453e07f9ec0bd0d2ba74fdda15c879f1e94b2f922f42eed5fda7bf70fd322c4073782982c710 -2e86414741f69fdb8f3ff184e9ca97f6e964ffd15e90a75e24b14b37c84b845cfbfc53cfc3f039 -d0e0c6a52b64f8126d4c5dbe76e9d297216198ab0335c8954b2f11f83d9e7e967ce612cfe1a500 -fb82c78ba30bf2c457be62bbf1a52f7db54d8bebaa8f731526a458cced8ec57cf3b1d8f84874ce -c666895d85f458cc33864347d800a77a447b41f62fef3f035e7ce673cf5f7e367e79f8f3d7b1ed -04f14ec80bb40ab9fcdc8da72e0d3f75e985179ebfce05a1b9b4bd158759590e2b45f018c2c530 -e82088c9b4ff95e1e1e12b37bef2c4953c55c4df2416f32a2cdc152f64044086c0882d648fcd07 -426a74d8170446623625161f191955bc23b6d8cd60941182f9bd760f5df89c6718cb3d333af441 -5e78ea8527a19bf1ccd5e79f255f78ea0b4f3505f90213047a18d79e79eaf9679e79e6f3f70942 -60569ac34a113c8e70310c3a08f2c473b67337bef4d5af3ef1c4734f7cf52fb1888bc58273ecdd -1b400982c18037e69ef1cf383cf31e35e2198dc566a2b158c8ed72499e9b8a5f72f9552418bba9 -b2f98320d755e99c7b4e55e6e6ce3923acb433a283209f79fe5a8c5c7c815cbdfc2c79eefa35da -fb7e09d287a121c5e6f8fce5abcf5dba0a9d7174e2f927696e1c9a5890fb346139ac14c1e30817 -c3a083205ffecab0edd75f36999ef8d257bef2d55758c4b508a2382850838c38fd0eef0c25ea0a -4b91b037041583ea19b729e7ce618581dcf439c2730e67c47133169b038762511593a5111c9e15 -6d0479e1e96b503f40e7faa54bd7afe3fea9eb5f605503f4bc2fb14324972f5fbef645e8bb5f7a -feda339873f1d217e005227141580e2b45f038c2c530e8d4c4facbbff257feca2fffd558ecc697 -5efd2a0b38a0294888560d6a089a5851bfd1eb8879dca19b6e2e0836b10e0409cf47a4795f687e -3e1e0b9c830426889b177736b4ab419ac46fd00ae09a71942376e59e0a81cf40c8d538e4de68b9 -c1433347f058c2c530682fc897ffdbdff86b1ffbebffdd7fff3762a6bff9c4577ffd6ff1986b0a -22d928120822f915074b85ceb87f6c2ac6051909a9cea620eee8981a7587a2d1f8b082094c103b -edc79f155d05a1ece36e2c81e0105c0c83f682fce5dff88dffe16fc7fecefff89b7f37fe55e883 -fc3d1e734d41fc0ac5ef8d79d4807d4e0a20f69824a9ca5526881a0a39ae42ff9d1209ba672577 -38e4767bed540d260893e5ac78b0205f785e1cf313dc0b17c3a0bd20bff2d7fefa6ffc4fe5d8df -f9fbffe0ca579ff8756c73519a82d0f8060fbc3175d4b000c25e9a89861d4c101b34b1468c1a42 -9a53555f281c9e0f7a6d348d09c2f6049f150f164420b81f2e86417b41fee7ffe52bffeb6ffec3 -c5d8fff68fbefaa5277efd160f3943103510a25506bca95771372f471da17bb19a7d90303d0802 -84ae867db199d970c0171ba7b333410ccfce062188e02470310cda0bf2577eec09fb3ffecdfffd -e57ff24fffe697befa977e0bc2cd360a446ee2103ae5c33e502518c6e3842d820cb3ddbc922485 -a8208a93a58f046261df39efacdf0513921d064c9039370ecf0a2188e02470310cda0bf2cb7f6d -efb9e7fef16ffe1fbff97f7ee9ab7febc69721dc7c10f61c9f430d04c192d1999004fdf3408c75 -410210f45490119b4df54455d5adc459a8467cb1b9402818732aa170cc33cb1263b1730aeed03a -3384208293c0c530682fc85ffdfbbff277ffe6dffa87ffd73ffbe7bffef7508fc338a2e36c24ee -1989c5e6d93825ea85861368317275347a75c438cce13d177378e82236a8732223fc88fc9c87e6 -9e154210c149e06218b41724f6377ef3efff937ff29bffec63afbefcdb7b2cdefa0e2188e02470 -310c3a0812fbbbffe01ffdd3fffb9fff562cfe2a8db63e44082238095c0c834e82f43f42908747 -ac8f4f36e062180841041f99d8aa01bdad3921b9227b5f6818f067719c94f872121fe559e4e59e -255c0c8376823c26d02fd3511053c55c681053894f1eb0b8d172e255ba582c2ef1714a9b059aa4 -8bdbc77fb0ebf15829b6796adce1756a5d8b4339dd56fda391c707ec223a04f0e6c6c646aa0e83 -8d32192a6532b57a2693a91ffbf6fff16d7c0a281b12524859f0efb053889df9638fb818066d04 -79ace824c84269a3389423790b9f3e20de1a827573a170e8a9406d166852379bf5337ec2d3267d -16f93d1c5ea7d6b5c09ca2b1fedd56fd94c880206633af4d4a17e88321f111eaa4746c416a99b4 -dee0434407f577760a667cd2db99c2c53018504162255659d3a059a48f392963f3800e9032ab80 -0e3d28baba6844d91edb8e5563f4092a6c8cce9cc4ad342b8fa59d36072bc43f0538b44ecdb5c0 -35c39c143e5912bf0f4cd067bd18eb7c8ae4f846850a6284700204d94d26b74bc964523fae204b -2044658b0d61b268b69857361a3b85b26efc85ce0a2e86c1800a424308c008aa25125b6431954a -34e800931aa55489fe21683c0e6d90aabe6431a7f40c5d60b394d287602ca72f5760c63d3ac666 -dec9f0f28cb4d3a6be97da84202cb04f495560ed7207ebc4e6a06bc1d78cec5af45df67d609552 -7588649ac34b392576732b94140ac29e965a2a594090d2ee6eadbebbbb7bec265611bec2729d0d -61325bb0345675d34e81988fffecdce3c1c5301850418af8687100630b6629ad6ed6a05aa10348 -2aeb0b7c474c3d954a95e3896c269db76c422b3e09b9cb7a992cea4b98b0ac2f922204287b4068 -bda4a314b43c23edb4a9efa56b24061f433fa5022b5c823531d689ce41d7c258335a83b0ef93b7 -344856e739bc9453623795a360bd6c74d049360f7d869336b10ad0383359d810a7339695951a96 -b770ead5df3d70310c065510fa786c2648d65cab3796753346150c20a9c2f581684baeae9ac86a -a906c9608c790772f121dbd098c084b40e9dd004cdc2999796d3107db43c23edb4a9efe5eb8b49 -6875d04f31d5179712b8c67c9de81c742d8c35a382b0ef8313719895e5b0524e895d2e053e8a2f -535919624098e75657d309e88f1cdbc51d5063b1ce8630994fe8a962190459ae3f4282ec25d75f -ceae9ef96e8333a58320d93aeb6340d0644bc9ea56835477f4353a30c28dc29afc4bfa060d2fd8 -3a1ab9b96d4c48a7a07d0db505cec4662e25597946da69039f914967568cb5cea5a1f97fb04e7c -0e588b83350341d8f7a1ab04b3d21c56ca6961084296d6c85632652e22f071b904dfa36539ae20 -e8f452820d61b250d0abd0974aae24e8773c4bb818065d0459f8aa55d3e42bc9d65dd81a7f3fc1 -b1a083457b490741486a030ca1d5c5508654eb0de87fef98e900922ec066cac49a58280834b1b6 -36f39635d6b0220b90bba82f60bc2d4197315ea691c7665ead97597946da69039f91dd2ac5f85a -93a55489f6bef93af139602d0ed66c6b857f1fba4a16beceac94d3a229c8d02ed1cb29b6df0cb6 -fcb883e0244dac2a7cb92a74f7d91012b616a1bb0e9becd2d93f079e8b61d05990c5db13e32088 -6c637bd59d41a28d3825bbd5ca22dde7a36fc43947a62611274c38664964848c4660747ad43dea -c2dbfbb8e96cc4ae3c94c7ec7512647103daeab45e58d0b16b5e296d9596e800e3685bc7c003ea -80b99083992e583658d71cea0dc8a5db6d080818c57e0905e62d35787946da2993b1c0f614a384 -7d0a2109e8b31eac13c2d6e260cdb6f51cfb3e7495e045735829a7458ef79cf3a9e26a89340559 -b4c026e7048224c186a29ed8caf321fcb970376fbea0b7390a74da70310c3a0bb23a725e1e9f9e -9a9e7e99eecf71ce1035e292c29190f51c5e6e1b0ae1708a7866c888e4743add2acca4ba89344a -bc30ea93fcf3f6801bef8545886b0c08456000b68cd888ec9af34d38cf61b1674d2741e0e75e66 -ad2c125fc64de9220ee980a5dddbb284f0da33ead2d85e73e36b329638809577d6f04f49188731 -5bd689d15cb32aacf6a1efd3669d3f22eb750b23b1581b22299dedc52266ecfb64536573cec27f -eb23429da09d8de6ce6c7db956cf9c75ff03e162187416246b3d3f3d3e2ecbf273f837980d8454 -c9264b56f84fb3790d12544212bdc9890456584356a712764e2a4e982700ffd101106436080651 -46c89424cbca6cd4e772603d73e67416e4989c5195f0d1c8a771f3fc2860a2272f80852b2632c4 -aa0b3349e2af5f6d988a43f470f847a2105f399e6427858b61d04590f3e3b489257f05db589a73 -4c93a431c9a586ac6ea83c02f4be0d21f7b9e8d8f4883a3d3d3d0a82cc4626664291193534331a -f5857cde00de1bc80fe9d17976add52c21732ee255e807a876fa76b69c9a20a64725145bc9d5e8 -4e04c129c2c530e8d2c4ba2acb1a20bf4c6b71e78c264d11a83e54ab7b0e5a555ee274903937f1 -8c7946f02a5b45255e3f540abc89e5f5859c769fcd6ab5065190731363365b24e02004ba2256bf -174b8cf25ecc99726a820806042e86416741f2598da020d39bb4e9ed0ea8a0811ffe5ba7a7dcfe -c8ac3a6b2553d3da9c3f62f74e4c4cd81d5665f640103213723a68ad21b940101273070293d04d -9fc6dac3118ad80899c0d9ce1a2188e07870310c3a0b42fe9f5b3130445ea131a68654794ad624 -9b36a54167c33ba68e4c29a3e08332668b4422012912093b3c11db88121d714b2376590a289e73 -e7c2c173e764129983a6968277ea75dba815b22f344aceb196d6d92204111c0f2e8641971a64f5 -ffcd96cbcb69b6cb63c2394366a1fe9042d08fb046fc91b02fa8faa364ca334346c7c8986b7a5a -239ec83cc882ccf9e60356afcb15515dae734475daedf6a864b74b61ab440b276e15baeb6cf44c -1182088e0717c3a0a320f90b9bab8bababcd03e92008999cd5bc012b21e37363ae3975c4611f93 -71376f18049154e8737ba089e5f691b930d438e702643c1c56d570788a84a6a00068785943e372 -00fc82c93074597ab11b4b0822381e5c0c834e829816f2e9438702501032a604a0f340ecd21871 -46ac4ac44e40104d51a26378981005718240538a8f9cc3ddbce0c11cce4edb52d83301b9a40932 -8a87506cc417c5e433460822381e5c0c830e82c4964c438b7c9ce2547d23936ac02705665dbe80 -c3312941e87b023eb73ae78b4c45fcd26cc40782b842b8ef762a00754880cc2a4a20a028508bc0 -f263b88f170b1a2344c33a44eec9a17521c8c3e0f1be261d5930150f8796d73ded0c8fc2f7b67a -46a19b6e0f4731bce529a77bda350e8dae09fb8895d85dde093ab70d3439d889eb80596d51e88b -5066edecb6583e5ae99c3542901e3060d7a423abe9641f6f045ae824c8d12f36e7d778a7f1386e -1217a916cdfc58312cd5e9caf633425c937eef2940a70e17c3a083207b87cee1ed633a0972f48b -cdf935def4bcdedc1021d97aa668aeb353c53b5fd97e46886bd28d0b7acf0c2e8641a74efae342 -47415acfd1e87ab139cc8917e81a829874bc54305bc7c6c403af6c3f7d0ed65b5c937e3670310c -065a90235d6c0e73e235de86200dd65049614874b9b29d659c3ee29a74714dfaa9d25190235f6c -ceaf34c7053006412a2483c1d5e5ca769671fa886bd24fbdfabb072e86c1c00a72e48bcdf995e6 -b8c0eac69071353b8c81209daf6c3f2bc435e9429053a56b13eb48179be39ca5245b009a58abf4 -6af6b88e7b8aba5cd94ed3cf00580d714dfa99c2c5301868418e74b139ccb90a198620646bc344 -4c39767548e72bdb69f61900ab21ae493f53b81806032bc8912f36e7d7783705c1abd9eb1bec34 -83ce57b6d3ecd3475c937ee670310c06559003206e8e78b1b941f36a76a0eb95ed6789b826fd8c -e06218741064f413ffe2804f8cf2d43ee44882f42de29af4d3878b61d041904f7cfa3cf069bc52 -7064d4f1099eda873c589047f262f32322ae493f7db818061d04f9179f7eedf5d75fff8b771c0e -8f2beafd1798444f5fa79c9ba76fec8240afc7e3b1da60f06856330f16442068858b61d05110d0 -838fff8e930a1282d7393760d324b7371289f8e115264a38ac7ac291b00fafa51dc1ab459c2338 -e8c95daf1e8c1044703cb818069d04790daa0f3efe6b6f8020f3017f2030660b4d4e2a1e6253a6 -ec767b085e56a26864ce1376932910644a9209190fe1a5b4bdb9ebd5831182088e0717c3a0a320 -6f12f22fff3f800b224ffba71daa0d9a55b31ebccfee98aafa55152c502435e00907e08ddef38a -90e858086f2dd793bb5e3d98b682fcabbbe29ff8d7fedf510579dd4188d51efddd7f4dc8efa220 -d8c4f27241c6243751a6a643d3d301228f9e3b371571d9248f4dc67b5ee17d7f8278ad544fee7a -f560da0a725720e8c0510519857a82447ff77740907ff36b28c878009a4d4c9029779028be49ff -e464887824490af8fd0abcb9e93daf2602c41e88f5e8ae570fa6430d2210b4e7a88238a002f89d -dffd9de7fe0d08328f82801b8620c4152441a7ea0fe3f5e553ce3165d4a98447a6657acfab60c4 -eb0d41f5d393bb5e3d1851833c0cdee2ef307630da1f1c5590e8bf24e45fff0eb9018248932888 -6716fe1f082207c74252c44ac6fcca9c776aca3116f0fbf09e575a28128948d037e9c95daf1e8c -a8417ac29be761f0f6d7de79fdeb7472fc1bf4edad77ef5a5fbf7bf7ebe374aa3f38aa2061e89d -532449fd3d1464364a5c634d41bc8a0f3a25d1908728733ec9e3567d4189e03daf9ce8c5947fba -3777bd7a301d6b90b75e3f6f7df3ee3735faabb4f2f634dfe87de3b5d7efbefeda6baf7d1d87ef -42c2ebdf84c1bbefc0e0bdd7ce4fbc8ff3001d0b3a0b709deee3f067f395a51cca39bb55fcc6f4 -b4363dfd0d4d9e3effeedb6f02131a0edf7b4f9bb0be3631715e9b9860c6f4014715e4d7a0f341 -51bff56fdf0341a642e74878cee6579490675a921c5e7a60646a0a3be63e8fdb4d6b0c69029f10 -820bb97b73d7ab07d3a906795f9b7e6de2fcdd6fdedfdc7acb08c16f9089bbda79abf51d189ed7 -ac77ef6a5f83d4f313208976feb5f31afb9b772ee82cc075ba8fc39fcd57968239afa1d1c6c4d9 -f0f6f977de7fed755a8bc06f33cdd1debcfbdeebd3b085b16aafbdf6180af26f00a83ebef56fa9 -20ea5c540d396ccaf474c4a386dd017c1aced8d86c98ede6a577b666f7bce2f4e6ae570fa6530d -22bf467f0e1a346fbf87a3efe1900e90afbd4d85a04ee0f05df94090b73474e8dd189df741059d -326c8510f661088bfcaff18a8fafecddb7201f73c6dfc454f83e30f11e7c2b9673babc6e7d4f7b -9f0b02eda9d7a6716cfacdb75ed7b4d7bff9f6bbe36fbfdd375d91230af2097a0c6466ecdffdbb -6fbefdf67b9f80d897a71c76228f10629f9a802ef8a8c3810fc4b1138f46466c76c8c2db5c19f7 -bcead55daf1e4c871ae44ddedca01124cbe377df1e1f97bf410798f4a636aebd87a1c6e211869f -86bf3e9d0041dec4f883e550932e05b18c5346fb1ab6efcf5bd987e12a4c9cc7cffe06ac31ab5c -f8cabeae8dcb5f839c69a24db3eff34d727e1cd5a639bc94d3615a46cecb131313f89b7c53e395 -d66bf23bd6d7cfd34c6a693f7044411eefb3798d6d1c8b6be8576aef7c03367c6fd10124c1e610 -77bfa020f2f8380e3548a1131886136c611a5f5d0a6219a78cf6b5d7e113616de887bd0e9f237f -1d3efb7df0f96d16976c65dfd7debefb1a55076a10f67dbe49de840610cfe1a59c165f83e2de1c -7f5db67e635c634fcd80c138fc04ef7c1ddba47dc41105796ce85083b4c6f5bbb0617df37ded3c -46150c2009a3074041de7ce71d30e59df75f87b0c28977a6278c8561ecb020f7147426685ffba6 -066d16fe6130fe8edc5ce3f3b4b5c756f675e88a4ccb5c10f67d70e22d9895e5b0524e87d7c765 -6d7cfcf5f377c751d1af83ace0240ccea3290cfe333dfa084100082f0df748d1a079577bf33ddc -ca7e1a3b953030c28d096234b1eecaefb209d820be43177e4bc39d455d0aa2e9a70dac036cfdbf -617cd8f9d7cfbf7eaf2074655f1f7ff7dd77df41270e09721766a539ac9453e2ad37bf2ebff3d6 -6b9f6682e0ee8bb7a679f3ed9be7c7e5b7eebe8e2daffe400802fc2b089b69e8afd2ea62e23c6c -eede84a94f9fa70348fa3a04196f621982bcc3fa24541058f89b77df3acf36c09d0ba2d9a70dac -c3bbe3da5bfcc3eebe330e82d235c626163d08c1561613de826e07ace037f8f7c1091084e5b052 -4e89af695f1f9f7e6dfa4d2608163dce3631d04bb7deb58ecbd3cd1dcf8f3c4210007e87b7a7a1 -ad3e8db1f53eb40ee437b1e7fa753ac038c291b7a7897c175b07563a840aa129085b182ce85a10 -cd3e65709deee25e5cf661505780877c8de9be35c8652b3b01ab80b52136a9d8f7c1091084e5b0 -524e89f3afbd3ffe9e151aa14c90f7e013b4f3f063bda64dcb6fbefd8d4f6bafb1dfaa1f108200 -f448fadbeff3bfda5bb4bbf0360ee90079ebfdee9bd7b7df672d2ba46b416706fbb0bb320d49e0 -2d5ad7b5f04de32bbc07ef87be4f33e7b478ffb5e9e9bbe7415510e4fdf3b0bdf83abc91f377df -fdfa5de89d9cbffbf5e953b4f18c118200fcb7e87fbe89bbb11e01defdc6db77df814dc6ebefdd -fde6a7df64fabd4f3b61afd3e1ddb70eb6278f384210e0b13917ebfcf8bdf586e023220401f86f -2110dc87100468bd824cfc13ff5aff1d5d90e99ff8f7dffef6bfff89693ed9a7b4154420e80817 -c3a09320da4f7cfbdf7fe73bdff9eeb7befd131a4fba9747e36cc4072004111c0f2e8641074162 -bfff1f7e1f2a906f7ffb5bdffdf6efe38d2a353c33d1ee01bc4476b95c3642c6e899edc4e77546 -11a77191d42372bb06861044703cb818061d04f989fff0fbdff90fd0ba9afe896f431d020972c0 -1d0c8e457cbea0021e78665d3edf58c0e7f3102d704ef2b9dd6e9f02822844b3db7d63763bd42e -2336e28237e7e843bd45961044703cb81806ed0599fef6ef7fe73bdf4231c8ebdffbfef7c01459 -22dee018d61220884ac2d1801788468857c5eba408b12ac427f925a75f05425e7a8facd014f128 -d30ff516594210c1f1e06218b417e4f7be057c9719f27bdfffdeef610d121e0b8e0514804c0582 -92cb3505d81d24e22692736464c4a190737665ca4aef50aa7ae93db242532301ebc36d73094104 -c7838b61d05e906f7de77be37fe2fbdffd3e1a32febd0fbe057d90b9d9393baf41ceb955e73957 -04991af183209131ff588435b1a60c41f08ac2d06800dd7898b7c81282088e0717c3a0bd20dffb -cef708f9d4f7bf857507f9de073061f54c7ac8983a86228c78669b7582aabac9948677b60621ec -21d515821ebc4bf1d27b6485027877ad877a8b2c2188e07870310cda0bf2c1773f80e1a7be470d -f9de073031323319981d0b4b2eefe439a76f560a4a948863d21d8166971f5e113514f2da433e20 -e0a5f7c80af914eca03fcc5b64094104c7838b61d05e90ef7ef7033c40f8a9ef7dff83df9bfe00 -9b582008d4204e57c41d7082207632659f92a66c844cba09195503ea14d432d0c4823e3b206b78 -8f2ce88304f176d60ff31659870579ea33f4edd92f92fd175b1eb9d48e97ae5de36384c49ffaec -679fe5e30fe481250b1e69b818061d3ae9dfff3e36aec8a73ef8e083ef7ff0018c734162927a8e -504182e129c921692888353011b04bd01b0741e6e76801f41e5920480cef6ffd306f91755890cb -34e8f72f3f4f624fd184ce7ce12221173f4f475fbaf4e2c58b5fa0a30f02967860c982471a2e86 -417b41a63ff8eef7e8d30fd0900fb03671a811e88bbbe63d0137995415c51790a1628884411067 -c00b7d1047208a82285e5a00bd4716eee61d57e61eea2db2ee15e419185ebcf63c9b2457f67178 -35066374b37ff52a0ee9f88b4f12729d561bb16be00a83cd4517b83a4c470f52867159b60460a4 -d30f10f4115c0c83f68290df838a63d2aa6956a83fb0022141d5e7b44a7edf399b12f4851d56af -c7178910ab0b04898cd0c74fd93c51557535bb1b07f7c87aa8b7c8ba4790a7408dd8a58bcf93fd -a709f9e2a5eb97aeee3ffd854b379e84b18b64fffaf56b5f246cfc0b972f7de1c5a72fbd080b3d -73892dcc737081cf3ffdb9eb975e684db9f1fc35d00e97c0929be9d72f8bfaa4cfe06218741084 -fc476c5a31fe234f22c4031d0d22f303e31e173d8fd14bef09441b5623ae291b3e5d8ad1bc47d6 -43bd45d63d820c5f7a893cf9e29354902b301e8bed3ffd24b971e90a19bef4794826313ede5283 -5c444b009e830be02b7eed999614f21221d73e8f4b40c9cdf467c913ccae97047dc251052177b8 -1e1f180f9aea4fee11641ffa12d7d00408e3a768e0ef3f1d63632f5cfcf2a5cfdd30c65b05e10d -329e830be08b7ceeb32d29e4339f7bfef2b35c90663af4efe125e827b818061d0521e3aeef8642 -df758df3c93ee55e41f62f3d7b9d1c1684873ef4caaf7ef6d2b3c6f881209fb9cc3a123c0717c0 -178cb6a43c73ed99abcf1f1284a5137c09fa082e864167411e0fee15847ceef2935c90972e5f21 -716862410308c6a0f105ddeecf7e8e8f53419e871770fd4530e4cbc65cb800369e862f3dd79272 -f10572156a10588297ccd38520fd0617c360e004b9712dc60521172f5dbfb64fa3f829e8543f05 -c3e7af3dc7c7a920172fd19dbbc32f5ebe86dd7596830bec3ffd22f6c25b525eba74fd3a541fb0 -044e1da40b41fa0d2e86c16009720fb11b6c672c8c5dc18b5e866fe0908d53aef2fcfd2fd35656 -3307429fedc73d98374e973596682943d05f70310c065a901343eb06c1630917c340087212e2d7 -f988e0b1838b61200411085ae162180841048256b81806421081a0152e868110442068858b61d0 -5190ff5425ffe90f7e8bbcfa9ffee0559ed297084104c7838b61d04990dffac17f263f203fa8fe -e05562a209b60821731e42c26132858fef644cd9dd4d1ea5db61351182088e0717c3a093207f40 -7e60fac11ffec16fff369f261312481238670dd9882730c69e023d16f0d8c3c0ac8443bb2384f8 -fd3070d1fb6211d933e773908779632c2188e07870310c3a0852fdc10f7ef05b5083fcf6aff21a -c427f955d76c64565166bdceb1517e11ed9893787d3e9faac0c0b852ca4fcf82a7f7c5b20522ee -f00c799837c612823c0c627d7c1e0117c3a08320fff93f93bffd873ff8833f34bdfc87d01101ce -8d4a53369feaf586bc53d0ce0ae1ede154159a5c93b34e6750753a672761aea8dc1464ce45620a -bb39e9c3bc319610a407c4560daa2c215764ef0b0d03d64e3f31f1e5e4508390222ff723d3a53c -2e8641c74e7a93f3e7e91b36b13c6384847022323942015726d57038024d2c15050941827f4ad3 -3482f7c5f2d27b64010ff1c6581d05a916cd43cbf0be504ae06b71c3382dab49ba58dc2cf3f1e3 -62aa980bf00768c154e22306e93c0c924b6ce21089f27d33374967e95ba341daacf161f09b19dc -bf3e5d7860c9f792af717408b8cd8d8d8d541d061b653254ca646af54c2653c79ffa58c4b7cd49 -785b62215c48598af053ed1462c75cb526ac3c5e6ab7f2b818060f14c43b368657cc6a9e9032d5 -1424e0c3bb5fb95c0e1024e272cdaa2e57a4290874410204ef8be5369a560ff1c6589d04c9d633 -45737d856dece0154ff38c03ea66f3463dc7278e487195be2d94368a438717cd5bf888417d0f06 -b9213671087defbe999bd469d0e7ebb5766b7c18fc669dd7a713b0c4034bee48063ed26ce6b549 -e9021932c32f9d828cd2b105a965d27a23a627ea7c5a878dc3ce4ec1dcee073b0ab43c3e443a96 -c7c530789020d64884b68f244519519580aafad520f448829408d42a9311b75b55ddee03416813 -0bef8be536bc788837c6ea208849df8461b65e251b2009be2865dcaac779b581115cd63158f6d8 -6686e61ac0447c9936b5f9fc55cc4dade168acc4b67bb03166793033c43c9de350f14c103e13cf -ae1a8218e51e6acfd713b8052c266a6c92af13cec356b24c1b39741cbfd5bdeb637c155ca0ba48 -470f52e87ab0250023bdf54b7722c795a28218219700417693c9ed523299d48f2bc8120470658b -54ab4c90a2d9625ed968ec14ca3a6fc51d13561e2fb56b795c0c830708321e51d92d49e409499b -980b4e4c8426acf8a0618a130c1891dceec01c081286b90e04b1823ba3217eb786877863ac0e82 -34581b2695ced5f51cbe30241ba554a94a2a30c4d86511bc9d229ba5940e7f749abb04cb5d2841 -b4e752f595540a7f5d3a3f4da8905d8bbe0b0b258d16522d91803f075d92ce017174b8781484ce -c40b20693d55ab53418c720fc7563d0d6a40c0d768956494ac2fb3955c4ca5120dbec2f8adee5d -1f96830bac5acc293dd39ab24cd70397c0929be974ad1ec46e6e85924241ea2586050429edeed6 -eabbbbbbc76e621561dd96410e2e48b66069aceaa69d02311fb34ee7b0f28c528f535e2741466d -30d0c6d4207f7e0ef64154276d62a90186e49a858c487022603c63e740107a5f2c29320eaa3cd4 -1b637510646883be650a460d024151d617482cb6ac2f9222fdd16804674bcb7a992cea4b2cb729 -48960cd5cb64a348d8fc794b036635b6bf45563afdf4d22a5b92cea1f3d931af9e022008d94cbc -8065506ed5828218e5624dd7427d114adbdcd8a48218256fc2dc74252199c037a0e32d3588b13e -3c0717c097a9946c4961eb814bd04fe7e9ec6b3d88dd548e823595d14127d93cb4f1e1ed444dac -0234ce4c202a1784642c2b2b352c6f8157c0c784956794daadbcf83d7410c42e49d0b49a9754e3 -9a7410c48e3502ed83707c7833134df2474002c06af38fd86c7ebbcd66b3d2fb629d8bf89500c8 -f1106f8cd54110d802231b432d82546818a575e857d2863e15642591c66d70a6c8729b8210b206 -7ff84281cf8f097178f180341a405973adde604bf2395a8a4f423b1d5680cdc4b32bf861b48965 -947bcf0ed3fa22f42512ab4c10a3e418e12bb9ac9b978df15641f8faf01c5c80166cde694961eb -c10569a6b3aff52076b9144be041a6b232c480df27b7ba9a4ec0f73c76136b074279f1a006c927 -f454b10c01bd0c9ba593c0ca334aed561ef7a2490741ce41a7c3eb511416fa844455d5466f456d -0832a54622fe51323aa748cea01292d448186fd2cb51f97db1c6ad20d8c3bc3156074156ebd8b4 -8eebd91641685090740a9accb46b4b05d928d0e4dc36cb4541e08581430531f3f93181c08b0564 -96960eefa56475abc196e473dc533c34b1d84c3c7b1bda0090836b73506e2bf5c5bcde80661f15 -e4a064be92a4baa3af19e3078218ebc37370015a70aed892c2d6a35510968e5feb41188290a535 -b2954c998b082c974bf03d5a96e30a82ee2fc186840b5228e855f82ac995c4369d3e36ac3ca3d4 -6ee5712f9a746a624d49d88aa237bd42465c5356178e605703d13c2e175412ce3036c588661b75 -d291039af7c57aa837c6ea2008d9da3011530e62fc40900bb03131c596a091c3bac710c1557369 -710192a15dc37217a15b3f74481036bf11495b501a90da80885c264319f80337d8927c8e43c543 -040df19978f62a34acd66813aba5dc56ea8bd0c85fe1821c94cc5712badd3b663e4ebfd9e1f5e1 -39b840deb206a34b2d296c3d7009986a493f962043bb442fa7d8ae33086df4f3244dac2aac4a95 -76f7b9205b8bd0bd2664af046db61360946794daad3cee45938e9df47135147a88f70c3d253a09 -b2b8512fd53720a00e0421db7aaa94274330a4fbcaeb75e8e6c21cd06f2e41ef9ae59af554e690 -206c7e2392b675dabfc0d2f50db2a0d34e335dd298e3a0782e089bc9c8c6f2d95eac83725b0141 -964b312e484bc96c252ba5add292b1c2f8cd0eaf0fcfc105f2960dda013a4869ae2cdd6171907e -144172bca79b4f15574ba429c8a2057ebe13089284e82dea89ad3c29e9165c6fb288bb65f305ba -4ff1f81c94c7865dcbe35e34e92808d1e666f8581fd34910f8799659bba385f832eeda34b1bdb7 -07c4f66802cb5dbc6f37e3a1f9abfc90312bddd8114c97e4dc573c9f89936f967fdf8c6d382899 -ade4225d86af3072787d0e7220f4f768d6c1bc7c3df8122d653c98f5ba859158ac0d9194cef662 -1133c676365536e72cf7fdd65da1317cb873a02fd7ea9993f53f5acb6b96dab13cee4593ce823c -16741664b0a175c32962ca2360eb8a89d03314a0322449fcf5ab0d537188d6991f89427ce57892 -3d808ee5712f9a0841061213367c046de05e34118208042d702f9a0841048216b8174d84200241 -0bdc8b26421081a005ee4513218840d002f7a28910442068817bd144082210b4c0bd6822041108 -5ae05e34118208042d702f9a0841048216b8174d842002410bdc8b268325c8d58b9fbbf8653ede -82893dcddce0c9cff391fbd87fb1e5bc5c83272f3ec5c704fd0ff7a2c94009f299cb2f5cc4c7dc -decbe147aaed5feef800a9583b159e7cfab37c4cd0ff702f9a0c9220f14be8c6672e5f85e1d518 -19c67742aeec33416257e824214fbd7089d532901363cfe6e479b01002e9c4581ab98cb957d9d3 -d4699ea07fe15e34192441be788dbe5d7f6affe92f5cbaf1fcb56bcf43daa5eb97aea2204f5dba -7e8d6970fd89cf419500f35cbffce475c8e579b8d0e76146ba04614b332e63def5cb50bbb03c41 -1fc3bd683248825c7c91bebdf0d9fda7a12a7989906b9fbf72e925128b8120372e0d938bf4b1e8 -cf5d229fbf1403419e2017a1b279f122cfc3856046b6045b9a16c70479963c71c9c863bc24e843 -065b10b6cd7ff1e2fed310c59ff9dcf3979f7d8a3a0371ffd4a5175e789ef63d3ef7e233cf5c7a -9636bb9e8584cf7e96e7e1423823b38c2e4dc79820b0e969e609fa18ee45934112e43397b18310 -bff4198ce767ae3d73f5f916419e7fe69967b04a885d7ef1c517afbf7848109a870938235d822d -8d6300138408411e07b8174d064910f2fc8b2612ffc2751afc175f20572f3ffb1274b0e3d8c47a -0efa0eb42bfe245623579fa6fd122e08cbc30478b125d8d2fb5fa4c53605617944f442fa18ee45 -93811264f8c5cbd72ebf384c0579e9d2f5ebd79f2517a1ffbd8fd3172f3d7fed1998e7f98b38e7 -f3d00c6b0ac2f23081cd084bb0a5bff802cefbc2d3d7301d046179cf1c3eaa22e82bb8174d064a -1088f02f3777c3c6f91edc1bfcd81f9f6ecba13cba044df99cd1c86a42f3c49ede3e867bd164c0 -04395d9eeaac94a04fe15e34118208042d702f9a0841048216b8174d842002410bdc8b26421081 -a005ee4513218840d002f7a28910442068817bd144082210b4c0bd68220411085ae05e34118208 -4e9de629ff7d08f7a2891044f05189ad1af0c763198f825e6818f0075d9d94f87272a84148d178 -16e219c2bd6832a882acb47d6a5e76898f18ac2cb2f774713b4b88a9ed33c3578aad8fba3355cc -850b6c58a19fb189c3343ece286994debe9c23512d9af9139c0e714f892bec31816d58dc6873db -89c3dfe0d8e46b1c1d027873833fd976a34c864a994cad9ec964ea6d7fed6ec4b7cd4963484821 -6529c28fb75388b559fbd3857bd1645005610f48be876a224f8a87626b0d1fb307d4cde6d24687 -07976d5a76f818604a64d2850a1be6cc9050ada363c6233b19277f005ab69e29e2636eefe57089 -f97ac70748c5dba970e81b7c04322088d9cc6b93d20532043fc0499e720bd43269bdc187880e1b -999d9d027d46ed99c2bd6832c882b43e27928e9b217a9839e53c7fa8658a6df521c0f375f65864 -4efce0699e34faabec917749ba2967c32cfc5549912a7620083e049a9553a5b5137b2834a91ea9 -d96ed2376198ade367c312fc0bc0cad2127951104a19fee4fee6d7b8e76320fdd0d76ffd0634ef -78e4b875541023841320c86e32b95d4a26937c758ece12fc74952d3684c9a2d9625ed968ec14ca -fa7d0f513d65b8174d0658905a22b145521071e6021b27a53cd9b5e8bb794b2e555f49a5f08f91 -c65a804590be0461b804a17f015e693d55a3614533e912151c5fae639b800d49099a6509ba056c -0a5229a54af898e7bcc59cd233cde9dcd142a8c15a52a9345d82ad74034aa8a220b4289a9fc8c2 -57828f38f81acd8f598519e912fc2b330ebe01cb3b26bbb9154a0a05a9d367dc964a1610a4b4bb -5babefeeee1ebb8955849f66b9ce8630992d581aabba69a740ccfc89d36706f7a2c9000b0279a5 -d5748dc42038e97835c132f2962c19aa97c906fcbd975863a5beb45c48e033fbb920cb90bd6a69 -11a441b22c781bf50d288c0d0b39b2acd36d763d05e84330b9488af824f2bc65133a0e49631a2b -862330c45a7c99025d82ae74595f20315c33561466c38677093eb6e56b1c7c0cccc896604bd3e2 -5abe01cf3b26bba91ca5043f98d14127d93cf4194edac4c227d09b2c6c88d319cbca4a0dcb5b38 -a8f6ce06ee459381152449b2e65abd91af2f2661434ac797708b4a0581ce07fc5d0bf0f75d6461 -5fd713b92a6670412abb90a8ef2d43d8e76978c12f4bff92b0e12ed4a1e2a0c3857a6c87d74049 -68956f0c41c503ddd604cc9eb740189a778ce923c664b146df3686e81274a52bd4192891158513 -e60d68d4345abfc6c1c740225b822d4dc79820f41bf0bc63b2cba558020f32959521066e205657 -d309f8e6c76e62e1cfb658674398cc27f454b10c82e086e96ce15e3419544112abd952b2bad520 -99746605b69d38be8c1bbb5641e0ef53a62107118443c84041e085953f24c6f27968b1b3f0225c -100863da74c161a2516af66168132b9d8216f92acc4e97c8159bd34763b58e1d84b89ec525d84a -a751552c8e1585d9b80f29c17629f0af71f03138235d827f7d46f31bb0bce362084296d6c85632 -652e2250602ec1f768598e2b088aba946043982c14f42af40d932b896d967f76702f9a0ca820d5 -7a7e28034368576c9562848dd37da55b2bad9145926c93da1464113ac84325b20a6d96646b130b -def04596610b3754634342b653ccafa6204bd021889761f6bc658d2cea4bcde923b2b56122a65c -8aae225be90bb04d35d1c61f2d0ae659c1cfac5a68bf847f8d838f81175b822d9d678a34bf01cb -23c7ec85340519da257a39c51a6eb0e5878dcd899a585558b52a74f7d91012b616717f07d92b41 -9d7ec6702f9a0ca620293d4d16f4540a7bd0f8a3f3f1d40588691dbb084d4170c716d0148498f5 -540644c237ecfd02190bb699b82059e8a32616d810da07161e3a862064484f9592307bdeb2817d -92e6f41159dca897ea1b8b744df84a6f4309799ca645c13c35fa99b522a6195fa3f931f8a24bb0 -a51b5813b67e039a97a4e1787472bce79c4f15574ba429c8a265f14482e0c717f5c4569e0fe16b -e36ede7c01fe6a670ef7a2c9600a42f768f21da01436be82e1526d3dea9b2fddb7d373916991af -9ab0757c1fb165cc67c37698d8a74240eed10fe2d34726bfdc5c23630fee323f7ad6ada8437974 -09bab4f9bec34134efbe2fdd9df5ba859158ac0dc1d687edc582be10e465536573ce72bc02716e -b613bab92b5a5faed533c6c459c2bd6832a87d90f6ec1e3a4a0814ee3f26478955aae50cddfa9e -10bac57ef8a44fe9c8b4093a63f93c14b66222fc48bf9924f1d7af364cc521bad3fb235188af1c -d3da13c2bd6822043911b14c2255f828271899b0e52178f4e05e34118208042d702f9a08410482 -16b8174d842002410bdc8b26421081a005ee4513218840d002f7a2492741aaf49c7ea00ae3654e -a77dfb8f2e4210c1f1e05e34e924c8d2ca1265658990757edd6423cb33fb0721c8c36010ae496f -15a48f1182f48081bc26bd9320a774e4b5577414e4ccae49df1b6297519fd1c5e983754d3a5962 -4a3c82d7a4b708b2b6d9646d8f5e36d73f7414044f34bd8f53b8269d948a9512fe48677371fa60 -5d931ed313c6f96e3a6c5b1ea96bd2171aab6babeb6bab8d05925f04162a38cc938f5857f69aae -82b45c94cdc64fe19a743cd16e05ad3a938bd307ec9a7452ad32411ec16bd2b371b2995f5c21f1 -2cfca4d0f2286f92d58ef5f6a34b3741cee49a74845ef87a2617a70fd835e9202d13e411bc263d -99648264e10fbc9836a120f9f4c126a75fe82608e49dc135e9f0472dd14f3d8b8bd307ec9af4a6 -208fe035e9f1f4320a52ae409b6a057e4b10842c8328c7af7f1f2ab0e6ed39c36bd213bc8b7006 -17a70fd835e94d411ec56bd2ab2614240ecde355fc19f768e337f9d874d2cfec9af47ceaa01b7c -ea17a70fd835e94d411ebd6bd2b3d0a2dc5ed9dc86b72c74deb28d34f65de3a6c76537ef995d93 -9e4ff14dc8d95c9c3e58d7a4370579f4ae49a77bae18b8cdaa2e189775f6191d0439bb6bd2872c -baae634fe06c2e4e1fb06bd24bba45c72d94b826fdace820c8195e93dee48c2e4e1fac6bd29b88 -6bd2cf868e7d90f6f4ee9af42674d3fdd010d7a4df0bf7a28910e4447ce46bd29b888bd31f2db8 -174dee17849d62d2ffd02f735682081e57508a0255830ddb0842d3fb1e2188e02460ec14d00d3a -1082080487c0d829801cf842842002410b3478c00eee871044206885454fd30f218840d00a0f1f -c38f4e82ec2dc33ce6787c790fa76a9bf17836918fc7f34903c88feb986700d9f9d2f2108e66d2 -f1f8a24e97ec380f4430bb062bcba64e1d2188e024f0f069d24190ed52396e36c7aba5427c3599 -1c2a2593297332b95ec593b5111da3bc0eaf329eb7b99adcdab26c6d35ead5d4463ebf575faa9a -2aa5bdbdbdc54ef3e4a088a14c464f653245fcb83340082238093c7c9a746a62991355b3b99ada -858a04af2f664095c2d91d8a9b758baeef2ed50b85527a716f4f5fde5bd4e3f9623c0dc996249e -6f6029769a6761a5b45485ea65951777060841042781874f938e7d10f382d99ccd99608cde96a2 -bcb818cf40eb896ff04190ea5e7d6f33b5548ac737d21ba5125e486681572dbd016da9a20eb547 -2ddd699ef86a22be8a63250bb6d54e0dd672a4432188e024d0086aa1bd20f95da05482410e5a49 -19680c2577ccd85cdac8542829d6c45ad95aa5c11f8f0f615496f6e2e53815c45c5c88c7b72a9d -e6a18294e2c96c5c3f5d41f013d80e082188e02460ecb4d2461093c994a7971803e9bac954cf66 -b30910c404e31b09b005280d994c55ddb4525b2d4162ba98a8271209732adb4899d289745a4fa6 -4b55536ab3d33ca6d5840952cd3b267d013eeed428140af40508410427806b71407b419a2ca020 -d0fba81b8280184816e68208dfe4c16fda28ee6c9a4c9974a2614a9772b97ad2b4b16b4aad749a -870b921b3a6541d00ee6872108ff9a079005c160717fd01f870e829861638f945090d5d5d544b2 -7048105376c5b4bd614a6fb0e05fb624743db1b3add74c9066322592a6e55a154ce8300f08b2bc -52426b4e5910a3fe1082080cce4490f232631505a9d56af57b05296ce0787197d70e26532e5d5d -5eb12c5787b8204009ea914ef3587473a95a3f7d414cdc0f21888073268218d02616bca7924b4b -8b3092c9b0f4726267a1be672ae4705f541dfa17a5ba9ecae9a56232854d2c1d05c9d7573bcd63 -1e5a352daed6b64ab5469e1578ea0841048cb310a4a21b5041d676f4f5e55c0d2a8264f3e2cae5 -54ae98aa6fae9696976be9e5857c2ebda23756eb09733a3134a4279753b5849eef340f7c447948 -df5d5c34d78b349c4f9f7b0481a6171b11820c1a0f16a4191c6d78400db2073546ce942d6c9b16 -8760ab0f54298b20d1e28595aca9ba06fd116c266d26f7207fb5505e853e7863d954d94ec3a0c3 -3c30bebc4b9b6149c83b130e0b72f0130841068d23d4205d0c798020fdcb21415a7e0021c8a071 -9426566743064290d6af2f0419348ed407e96888a841048f39a206698be8830818a7de07794ca0 -5fc610e4e02710820c1a0f16a48b1f6d0479ac680ad2440832681ca90fd2112188e0314708d205 -21884008d20521884008d285368208060dfe973f198704e1ca090402ce214134c159220b80f1fe -4208d23b78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f1082f40e1e -21030e0fbc7e4108d23b78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af -5fe824883ce2b569daec149f3c847b9cbd5b6d36195e362b8e4e60a295e6c0829a363d3aca6743 -e45147c7e206061e21030e0fbc7ea18320ee902285a29a1f62ff3e64891aa06963fec084120a04 -544d534221ff18bc392179dc3faec941bfa4f827d97cbc3877fbe206071e21030e0fbc7ea1bd20 -e1801dfe9e530f8a68f0812a41c726fc8e0341820a2c390a4e508e58dce30e8f900187075ebfd0 -56906988750a44f46830129621d8c7221e63e89bd634cfd8acf7b0205ae04010ab7f14535d211c -7628ce650c07061e21030e0fbc7ea1ad204e16d834a2236ea732a9d9422e67549ba0434c0d2a2e -97870a12b5d9a067a1841d416c69c194cdee1f7705e8e2d3fe097cf3dc571c14e471f3e1e0c023 -64c0e181d72fb415c42df11188686052d59c01ec71b321a44ef869771b05813e880fc6024a08ba -e0381508f8c78d025845d2ae38a884f87070e01132e0f0c0eb17da0ac22b001ad161057be1b21a -8286151b42aa8b853c0ad26c62c9915936054d2c5ec01433a26d7173b438180e0e3c42061c1e78 -fd425b41ac7e2f1bf15b1d01ab1685c6936657510a3af45b3d0acd3e24085614862056ff1d4c75 -b3d91e50dcc0c02364c0e181d72fb415440b06a06d649d808886a89755150f708c86f81052a7fc -6002b4a85a05b149734d41a0003b766558264c8121cde2a47b8a1b1878840c383cf0fa85f68268 -3e7f2804e10d2a041465163a0d212910e54348853125e08ef8fd76c50fc81abc8582f066080205 -04fc010f2b4cd3e68ce2acac380f14e4e6c3c18147c880c303af5fe8208826dbac321fa11df329 -7aa49c0d29130f382a2e4fb41ef490276cbcb809daebb8afb8418047c880c303af5fe82488e0f4 -e11132e0f0c0eb178420bd8347c880c303af5f1082f40e1e21030e0fbc7e4108d23b78840c383c -f0fa052148efe01132e0f0c0eb17da0ab259dce6632de44b7c84b25d2cdee6a387730ecf266881 -47c880c303af5f682f8865878fb590b7f0114a3d67d6cd7cfc16e40cadb74c08dac22364c0e181 -d72fb46f62d597f98856dde3235c90e57d3a8173ac615d61827c7422d5c0d4bd5b3801439e2368 -8547c880c303af5fe824486a53d3cc66ad96286d69a98aa6ede450904a29a5b3ca050429646842 -69199cd8b5e8bbda87905bbe65c9a5ead042a339b8249422a0f008197078e0f50b9d04d9ae6931 -7d597b45d34aeb951a0c97409057f53dadaad3c654bda4eb0b9050d58632bc06d9d32f68f1f82d -4b43bbadd39c9d0c9412875204141e21030e0fbc7ea19320b7eab7d6b634ed76ae566fe4ebd5f5 -0436b1b637202f53a473acbfbaad57b7f54ca696e082543097b6b7f6615696c34a115078840c38 -3cf0fa858e7d904c7a7753bb5d5adbdb6a68b9eddc36156417f2b820502f94d6b6536b6b6beb5c -109acb3ae9302bcdd132db508a80c12364c0e181d72f7414e4f656290e8d24ad5a6f68aba9521e -05b950c7261634bbe81cd9fadecbd09032eda1135b9bda2b909b872616e45a34ccd9df63a50818 -3c42061c1e78fd425b41762d09a81fa0737d414fa5120d4d4b407f1c3be9db7aaac40e91d4ebf5 -d20af4dd21610d9d28ea3978a54ab7b8202c87952260f008197078e0f50bed6b9026fbafc6f0ad -641ce5882fd3e903f2cbbc86a8e635cdf42adf098c3473041c1e21030e0fbc7ee1018250f2db29 -3e26f828f008197078e0f50b47112453137b6a4f031e21030e0fbc7ee12882084e071e21030e0f -bc7e4108d23b78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f682308 -7f82ba4030d07414447046f04de880c3e2ae6f1082f40e1e21030e0fbc7e4108d23b78840c383c -f0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f1082f40e1e210f8161fe7e9871fe -de5b78e0f50bed0559d75634d3adeadec22abbf3c2ba7136afa00bc32fb35fea95616df802e5dc -b0466f66c1e01172245ede91e50f333896dbdccbc93b05b9b841333eac542a175e86c11a4e9530 -65737373587e797d7dfd86bc711b53f7d676d6b677109c92e56ce90a1be114687a2145277a0d0f -bc7ea1bd2015f8b756596924d74f47900bf42a446dbf685ea323ed52fa9f7c6325bf9e3db7b679 -4bbb92ddceae55d65f6d68699e09f008391257526679b8764b36ef652aaf96e41df3b0ae271209 -b35cdad94955766a3be6945c49242c89c4877573ce72452ed536f44d3985da981396c26d7da758 -2cd665797b17a86fc060677b0bd88319720518ec607925cbcbf869bd84075ebfd04510e646360d -6c6fe3304b134e403c855751695a6d775bff908edd9fd2ffc8fbfbebb7d6b3d5ecb97d590331c0 -8e930b220fdf2e954af55ae2021724b75b79f5c68d5b726958ce55a06a7835254335a5432da5cb -19a8114a37e4dd4a41cf140aafcab20eff6f402120c846062a18caed0b6b6b6bf535a85752b5ed -2f6fe8951ffef087a5dd1f7ec83eaf67f0c0eb17da0b925e4a5f58cb6223218f93e5e27695a6b7 -5c0f751c0a05aac3ba0e25b34b4b5a521e9b8b4d2e4010a68b698cc50beb6bdb6b1f56d6d6a920 -c6afc623e448ecaccbaf9e93132f1b82e412370a2533047d2995d2b7774aa5444adedb4ad5b7b6 -c006f3d6be5c2aec242a3b7a6e475f2f9aebe60ff51454171610a458809a02d8956fe7e42feb6b -66b33991dad9d577cde65a092640a69ec203af5fe820c82baf5c586b54d6d7d3780fb8f86632b9 -82c9cb2d9bc363b09e88531d8a1928a2de3ee5b1607c7df37665e595714dbb71a1b2b7beb27761 -0d6b12e357e31172243ed4d7323be3ba8c825cd9966f63d3e98a39270fafddb8f16a6d7b3d5159 -bff2e14e0e1a5cb721c2377e28978adb894db9b42e975efed05cafac9b5f86cd5b0e05f9f2faee -fa7a4dffa17c2ef1c31fd686a1c6c026d66e0e6b12a84e84205de9d4c4d2b4b5572b9a89fe6d93 -d0ffcbd2f615ad4f8ecb7e62092f5267b790c32bdbdba43c0edcc8566eefbfbc7e255bc9ded292 -596c5f69e3c3dbd079e733f008391aeb7bafea9b292a887cbb0ecd2d6c71419702ea02bd6e29c1 -5b71ad58376f6fafebe6523d4b9b589bb27e412e5d9033f5cd1fd25a23b10d82c8e33bba5ec06e -faba5edbbea2dfa682140a3b7a09ba29c55df6793d83075ebfd05e90ed9515ad51aee417b007bd -ba125b5f8f6f2eb1ace3632eecef5bb09951c869da2dac2f0ea55c795c6a9057c00bede50b9a76 -6e7d69afb2afed65f35a3addb20f8247c8d1b8b027172cdb5c9014f4bcd76997427e7533535adb -2c156eef5dd94b65c018b3f9dcad73ace9b529d787657def4a422f6ddfb851c8ddb8312cd772d0 -d42a5960001d9582e596bc5d1a0741f636774b3bface8ded04d4323d85075ebfd05610d326d421 -2bd5f5ec2674d4d72b79dc8b752b7dd23d595bb025b3242078d21b501aded097a55c01118d94c7 -81f50ab09dc6e1bab607ac25617083e7023c428e46ae28bf6cb97d204802e21b04d9b594726b7b -affe7057b798d70b3a5627f0820658e9c2dec6e605682fd5af40bfe2c287c5e2c656b1b827a72a -b76fdf2e266edfc602764139d97c0304316f54b64b3bf50454393d86075ebfd056906a03f763c5 -f3696824aca7971b8d4aa5d1d8ab644fd6c442a019b5a795eb7b5a6e07469a293758cae3c1f8fe -fefe72ba7201dec6b5f506fbd51ab059816d038547c8d148accba9544ade789509725b073bf457 -8b7229674e6cefa4ccb904cc043e6c430d50837e0534b1360a05682fd5e5d40d5dbeb1b3534bed -ececc9f55761be0f53f285fa0decd8d04910640d7ae93f4c94b637c098dec203af5f682bc885ac -56d95b89652be93dedd6adfd7239992c97e379f8f3f3198e8d455bd3356d484fa46ee1c8e1143a -fd58f06afac25e7addd86b956575ee893ae937eab23975ae04910f82ecef15eb1f62fb6a2d2597 -6ec9e66ddccddb14e4d695c41a349e4af053d6d771c11b982ecb3bd878ba8d87125110f982bc5e -ff901d02c9ecc86bdb9bb5d2dacece8dd24efbc3ec67060fbc7ea1ad208d3dadb2b25e699896f9 -b10fe340e10977f352d0832ade1ea5294433e5f1606f7db302dfe65623bdf6ca1a36b4d2b4b9b5 -76a2ddbc95ad9dd29efce187db66fdc30f37ea5beb7269239729edf0ddbc7a2a818240dc6fe772 -7aea8afce1da9ebc5f327fb855da82745dde289574bd54dada02212abb09da13c7da625f7e75ab -66f9502ee8a9e24e11da6637367adc09e181d72fb415a40c95c89e6901c6f22c9a97c57d7f1ecc -85dbafb291ea3af4d4dbc023e4485cb87d018ff4c96b3bdbe31f16b15d74e3c30f3f848efaf6be -7cfbe5f575f95605b36186963652457eb5b289bbabcc6c1af821d40febc56d5a163bdf647c7bfb -b62cbff26579cf6ceef5414284075ebfd05610c199c02364c0e181d72f08417a078f900187075e -bf2004e91d3c42061c1e78fd8210a477f008197078e0f50b0f559001bbfd3b8f902e1c5cc2347e -dcab990ecdff11ca397378e0f50b9d0569e05e2c6469152279999e3261c203c4c8bea665abdac2 -aa96054e7c20031f037a98ed02a37944f2d66dce893fa4674c8f4d4f45292e6d22324ed33c114d -9b08036e4d53ac101e6e07068934854379362acbd3014c965d63f2b8c3258ddaed2ca28341fa26 -bb82b2cd87b860c21391237764470446ad8e49871bd327e96cf2688015d9a91c5a921c9aa6a321 -3ae448d3b00e13bc18bb8b72874d9d093cf0fa85ce825ca027f0029baf6a955b0bf4cab8f27683 -b2bda7ed6d665f49ae54d30b17f07c94ae2cefe05551fcdaa8f5219a86174ce5eb891ae3b6919e -300f21961bda6d7cdfd6d62d6c0ecb3d17a3dc2a9ad97524afee9861d5d8f0211319b34ecefa26 -67fd60853a46935caaa639231ec5a3685ac0a74ec98e10065f08a379dc1a9a98925d8ad56a9d96 -5db3b2a4ba259f1ab24f29402884439b1c9d95bd0a84eca40a4ba893b2e4909d12c4bde29fbb13 -9804f3fc20dd2c10526130d95a8ef5a09c0958d80d5ef99920b08c6c9d04461daaea575567684a -52a7c724499a1c1b0b4963636e59768ccaf2947b2ce8915dd4e05383075ebfd05690643a4daf90 -82c16dad9a8e57b7cbab2b7b7bb7b4329ee60b54f6b4854a72bdb1b297a68715bb531aaa942aec -daa8b89ea0e726d20ba6ccbbebebeb896d18548df404f3a07e435b837aa4566b9ea955ba479044 -0ecb044a3b95529a0f1f3256c5aa4d4aaa3a8ae31107c49ba484a439a7342945244d0bc993106a -10f13c50a3fe40c07f470dc0d01d09f955c93e2dd9a7243b0d23bee51f0b8424674855550904b1 -87ec2ec5e79a535c304f00fe63e4426d101963db7d97cbc1ca8142ee29479e9d6082d824d75c00 -3e38620fcdcd29ee69ab3530619d0ec9d36179c2a3d841dcc008ce3fa14cc9230175d2372b7bd0 -cdd383075ebfd0a1066115c60ab6b2929b5a76b3b1926e409bab4510adb1ba9ccd6ae9f57598e8 -7e841d5a479b357eb554f90615012f985ad3afc0580a6a0fe0064b4f98f10cec22d420c8d6879d -04c1b977325832fcafd4f8f0e1139014bf220570746a14989446279c419f34270571531d9eb0e3 -c65cf6e3300a112b8503d01452a3e3aed971499a95dc92df3e091bfd809f6efe27a7c211eb1d15 -ea18074469441dc58a420dcd3adc73fe3967006454a1368884e75046498ac89dca919551b714f6 -f89d2168075afd56976457604177043261069c4b9547157914dc016127e4a05b1e5778bb4b82ca -e4f4e081d72f7410c49436e100ba02d5e2e67e1aba1bac89d52ac85a76050479e595cdbd079fa3 -55cc19d7465111e805539b6b353cab172f6d58e6e95a22634698201774b9932072a97223f1213f -adab983b183e4422019f066ad0ff9140501b73f22656400da921eb84df3e3115813884e68ddf03 -432a48d00daea82e681a8d4b13326cf625fb6450be23396597470e4e428513f5fab12a5265a71f -96e54d2c67d0ef1a0dda813114c43a1a191d5503506a6b3963b2979533460551826e7fc089311a -929d2a134496277d9000dd23a88d50104576dc91033619ba341ea8a428e1663fe634e081d72f74 -ea832457a1778e5234d6366f417072418a787651a552444196f6b006a14dac079de55b2ebd625c -1b852218174cd55fdddb4b34a0cf1f370429d147e862130bc0f37cd72dec5aa17bfb2017ea1628 -9036eef6e8426cf830990a8f6910cbf85fd3dcb3da6868820a621d9d96c61dda841ffbe7b4bde2 -f063c84525972b7027aa4ccbaa470e874002096a1fbfdd3a31e9572352c42edbacd3637e75d489 -75916742891c0822cf865c1e566db84110797c32109ac38ecd64bb72263e8d8260138b7627a642 -b01a4c1037567852501ac5429920411f0862855c1fae2a328a1f786af0c0eb173a09722b7d2b0f -1587a6ad9637ababababc9caeaea2b5083e429b40669dc366a10b648676e25369b574ba108c605 -53756819f126161744dffe10a182e47528785dbf41b9a706b955dab9cd9fb77b2b81d5da153a7c -b8b8c7b4c0d414fea78268be592a087484a117a139436805152438861be768007ac4776435224b -4e9863ca363d2ed9c727a0c965774424c78402424981593bb4a3b031e5f3b8d4518712764c2a8e -d12929a444ad56df1876f0d5319c055a70ea24963331057d99695a8ed328c7108476d24714d965 -d4209130ee1f9b8d42556308320982a01374bf0082b69c1e3cf0fa854e8268af5436a112014010 -e846272bebeb28084dc226d6ad950bd5f5e42dd607e9cead0484b271b5148ac02e982a16eb43c5 -a28ebd0e28960a225bf02635bbbbb489855753756a626187e336cda285831fcc96870a08d25a83 -68e3d35410bb271af005ed639368056cbad5f1c028c6236d62dd91adeab4e41871cdca116c4a85 -207122e2577dc131c91f966dd0a77744e459b7d53a0e513d071220c1e05cc0ee74bb55d5edb6ca -92ebce9d3b61e5ce1dc9377aa81ce8f6f0720e049970e2feac68840962f54ba18034e90ea00ca3 -8ad5a3a035019b1d0471d07d6dc08410a48d207bdbdbec14def2260eefeb8364e9fedeecca839b -582c84f9d552bca6c0eb41d8310fbc514da1c8d359ccf3265609eb967b0559a3eba16d26647841 -13eb11f283d620d00199b08798209a7b4e823757d0e7738f4d84a6a0ab010dfb80734e85b72943 -1040b983bb67655f64dc19802ec9d4d8ac3b28393ca39169dce9e59b956715551d054160b33e27 -8f41af41b206e4299f4f957c3eab1cb24119d046b2434437cbb1b796334505b18d82201e099b64 -6e2e082c18744f593dfe89a9c9a8ea0f0595a950140499429925155a64508ed3a84a4e051e78fd -4207419657d20b17d29baf40e41f1224bd4c4943a5b1da8096165e13d47840277dc7a2eb7a8e5f -1b55d22d3adddd847d108437b1587a06fa15808c354896aab1ae53111b3a17648b293abea1a74a -59e8a4b3c2f9473c5c2614c51a8186d59ce4c3713ba8313667d5b4d1a03a198e8c8d4123cb2afb -60cb1f82a053d5a9a8120cd2a32232246060cb1105b3a0cd1f0119261470020419571477040f13 -a2202e98612230075d6ada83f641175df6d251ec44805cac9cc0bde5d802b38a3fe403957c9109 -5c8d31bb5f51fceeb0a4400d321650c277a4e0e4a83c3d0a8d35d5314ef75c5955bf82554b106a -a0d383075ebfd0569057d29555e8379b562b456856b50ab2bd46d9ded3562b79ad9c4ddf5a86d7 -d12ea46a7f6d94d10741d62c38cb66aec6f64e21eb75d6e8aa734174e8b6506e60c3ce98782450 -b1a51289cc4622aa2f12760614dc0b0b3de08853b5bb5d81294d865eb675c2e3c73d49534a242a -85c3813b5649950210c741874f0a04a540c41d0c789c73127458a281b949684da910a852440dc2 -4cee10ee71b505a00e09804e4a20a440dd0253ae599001385c8ecbc3cb0946a4a00bea99597fc8 -ef548361c9efb107ac56d56d9d180fba9d21a73da4600fc93a198a4c4f07fd6ed9458bb3daa10e -815e158e9f163cf0fa85b682dc6a86f25e5cbb45bb22557a0d509eef29829a65019b55b72e68d5 -a5b6717f64765a2e2e7a85560f2f178b07697bbced044a227bac8a792499d0b4e95187d3e3713a -ed53306db5e3dea751eb1d791c3a22a350314ee1767d829dc7316db543e7d961955d6e9755764e -5a5d3eec4c4fb81cd0bd1ef5853128a7275c9356378c4d8ddeb96397efb89df4209e6c074d309e -192ee8798f86a12f02b072b07f1e75d8a6e53bac9c297af005999e82aeccf48467549e824f1bc5 -b699e78e15566b149a6af0e9b374e5ee405ee48e9f13a4d5d7a9c103af5fe8d807119c3a3c4206 -1c1e78fd8210a477f008197078e0f50b4290dec12364c0e181d72f08417a078f900187075ebf20 -04e91d3c42061c1e78fd425b416c3e7849e39a2c8dc0946263a9487852d3ec2a9fd0469b638223 -c02364c0e181d72fb415645a99d3b4599f361781098faa85fd217f28e477822c6e20e473bb3d9a -83ed86a747c4b451bb160d8761060feee014b48547c880c303af5f68dfc4b2454631f4fd8a1296 -15bbc337a705dd9aead4ecca285e8806443567648a228d6a9a15aa9b5030a8a890ca8b10dc078f -900187075ebfd0a90f326eb55afd1356eb74786c22143404898c69f442689f6f5aa317ba012110 -2418d5b490551bf75b35092b14413b78840c383cf0fa85b682a8219f661f19f18f8e8c8c4714bf -7b920b32ea1fd39cece2ce71cd29b1b100081218a7824cf9a73477901722b8171e21030e0fbc7e -a17d0d02511ea197f3ab1320823619c293a2434e156a101fde216076764a732aacb105824c29b0 -0cd4335218baf0122b42701f3c42061c1e78fd42474100ff340cac8151872f681d9bb4aace3bae -318d9d60342a6bce0053059a5874bf56c8372bc1025416413b78840c383cf0fa854e8278c6c6c6 -fcb36363bea05f518d26960682f858cf43d346274747238ed1519f5db361ad014dacb131ecafb3 -2204f7c12364c0e181d72f7412e40ef42efcf0728ccb9ad62a88eab101216d2a0075c5a4343eea -0c58c7f1361e20c834d4260e716ca4133c42061c1e78fd427b41c252005a4bb489353a1909cc48 -3e49f5294c903b3843489b0ce2a5d74e4d758555baeb0a04d1a28a0c2609dac32364c0e181d72f -b41724428ffe51417c738ee949097be35c90003d42a2f96c5a6836189c0d4d6956cd83179852a6 -1576cf4dc1fdf008197078e0f50bed0599a0511e34627d94d61a4e9b36ead2c213384e3bf156bc -3808ea0d2032caafae99f3d069411b78840c383cf0fa85f68208ce021e21030e0fbc7e4108d23b -78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f1082f40e1e21030e0f -bc7e4108d23b78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f1082f4 -0e1e21030e0fbc7e4108d23b78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c3 -03af5f1082f40e1e21030e0fbc7e4108d23b78840c383cf0fa052148efe01132e0f0c0eb178420 -bd8347c880c303af5f1082f40e1e21030e0fbc7e4108d23b78840c383cf0fa052148efe01132e0 -f0c0eb178420bd8347c880c303af5f1082f40e1e21030e0fbc7e4108d23b78840c383cf0fa0521 -48efe01132e0f0c0eb178420bd8347c880c303af5f1082f40e1e21030e0fbc7e4108d23b78840c -383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f1082f40e1e21030e0fbc7e41 -08d23b78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f1082f40e1e21 -030e0fbc7e4108d23b78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f -1082f40e1e21030e0fbc7e4108d23b78840c383cf0fa052148efe01132e0f0c0eb178420bd8347 -c880c303af5f1082f40e1e21030e0fbc7e4108d23b78840c383cf0fa052148efe01132e0f0c0eb -178420bd8347c880c303af5f1082f40e1e21030e0fbc7e4108d23b78840c383cf0fa052148efe0 -1132e0f0c0eb178420bd8347c880c303af5f1082f40e1e21030e0fbc7e4108d23b78840c383cf0 -fa052148efe01132e0f0c0eb178420bd8347c880c303af5f1082f40e1e21030e0fbc7e4108d23b -78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f1082f40e1e21030e0f -bc7e4108d23b78840c383cf0fa052148efe01132e0f0c0eb178420bd8347c880c303af5f1082f4 -0e1e21030e0fbc7e4108d23b78840c383cf028e414399b0285203d8447c880c3e28e415e3e35b8 -207cea141082f41c1e21030e8b3b0679b97c4a3405e1d31f192148efe11132e0b0b8630841042d -f008197058dc318420821678840c382cee184210410b3c42061c16778c4ef1bcbccc478e8c10e4 -318047c880c3e28ed1299e37ccecbd51345862091de922483685c3120e8e5e9e10e421c02364c0 -6171c76817cf435b5b5b090b0cb6b2e59c5eaba5eab55acd922c972b8d72c16c36af0cadf2395b -e928483a95aaa7721b294b2a556c575e053eb14b8142901ec22364c06171c76827c8eec626436f -94731988e30424eac972b6b454ae6f64329bc52d36e3213a0ab2944de8c5d5f59a6523bbd4a6bc -5d3d53ee56a010a487f008197058dc31da0ac29b57e51208b2954e9b4be974ba9e2c670ae532bc -0189159a7f88ce826c994b5b859a59376f25db9597d6bb162804e9213c42061c16778cb682d475 -86050481265182378974e83630410a500fdc4b47416a8564a29ccb95f5f2ce46bbf272b5ae050a -417a088f900187c51da39d204607bd9c3ed4245ac75e76bd944824cb2b98720f1d052937766b19 -a0964997ef2f4fafeb6be56e050a417a088f900187c51da39d20b5c21074c591723903fd914209 -fa23f5640383b8bebdb9b9505e8556d1bd741624b9c369b4296f2559a8af762b5008d24378840c -382cee18ed04496c2732d40f0bd426a5542a514fa55296e41a0d68dac44ad25db687e92848011a -549c5cdbf2f474b70285203d8447c880c3e28ed14e907a36b1c94650966693e8026ee59920697a -60e3301d0569a4b7cdd831cfa5d32bedcadbac67bb152804e9213c42061c16778c36826ceae5a6 -20ab96d583ddb2096822d5810cddff742f1d05296feb99f276623d51da6e5b9e5e849657e70285 -203d8447c880c3e28ed1269e53b97282efc52a6770cb5e4964373620b28b3536437909f73fdd4b -4741cc8995954c02962dea2bedcbeb5aa010a487f008197058dc31da0852bc50ced1865479a39c -868d7c395b5c32e7d23052dbb450324334fb301d05598012cce62c8c2d7728af6b8142901ec223 -64c06171c76823c809e928c8491182f41e1e21030e8b3b861044d0028f900187c51d4308226881 -47c880c3e28e210411b4c02364c06171c71082085ae01132e0b0b86388dbfe085ae01132e0b0b8 -63f05bb49d0a6753a010a487f008197058dcf50d4290dec12364c0e181d72f08417a078f900187 -075ebf2004e91d3c42061c1e78fdc22141e20281e010421081a00b421081a00b421081a00b4210 -81a00b421081a00b5d04990ff311d51e8ffbe6a3301c996f3282396ec546e73884cdc7c13c291e -0f43393e5f3cbeef75078dd96d901e8fbf7113874e5ee2fc3c4e09048f12ed05894a4020804377 -3caea020738e808b0912917008829882fe8002ccc4e3fe26f1b8570953142f94140019425e5b68 -24ee0b8454f755df0c3012b72971d3c88837e018b1c76fceb8192198df3b127763e9aeab744504 -82874b7b41f68787472455951cc3c3fbf36a489d898783719b7738ee080683aa0203078a10b15d -bd7a758e8a00cc04d9bb378012cccc04bcf1f08c7fc6e9f24525d50533cd806c2177342ab9228a -5f89fad13f69267e5385f21090cb260dc7433373735e67841526103c543a34b1ec3312d41620c9 -1b26bb5779c33daf06a440c817f7455cae19d5e58af8e2b64074441a764a3787f9324d41142705 -c4f1bee1773a982eeee8bc14997784a066505dfb766578182b0ce4e69c333ce7f444d089203a44 -db61d228cd14081e2aed059953149fefe68ccf875b78686245e76624fb3e84ac4ff5f954095ed0 -a7808a460d49f326ba04d01424a45242506944fdd03c63bc11f6df0c7b9920d8c43a1064de1781 -22433e9f291e00db98206e5e9a407064f889eaa7022fb253132bc4bb0510cf2605bacf5e291e56 -4c2088db1d811708b2ffc6cd50241cb8e9f17858d7bb298864a7482088e4579c2c153ae3fe9b57 -e35c1090c8d314c4edbea9bac3f089a6ab0a4c87d448c4161fa1dd7881e01890a553a3bb20f161 -ff4d8aff6a3c12f247a2f1ab0177003cf0a9e1b08a2f5f3caaba6d73019847f5b34e4853103ff6 -dc1505925d6a60640e7afbc0485c5254c5c604514321a70dfaef1475267c530acf87c261c7880a -d321f71b6f0cc7a92b02c171200f7cb2da5179a020210705e2d9b68f7bb14c21ba47d70bb54920 -383f8f4dacfdf9d04d48f306a26c99831a84bd430da27a0d0b70cfd88c7bdec904b141136bd430 -400aaaaa2f343fef0b3aecb8286b62c11c02c1f1e8a1206c1793043508ddcdeb5502d02d87fe48 -646624c47b1daa3abaaf388301a30dc5055103215a65c09b6ac3ddbc1c7584eec5624d2c08ff30 -3d0802846cf373f1999b61f8847d9c9d09e280ca0446d87f81e028f44e90fd9bac1f3183bba814 -bb1a70da433627c4ac49f2e37143043c1951fd740ebb1788dcc421645ef5812a33611ad807825c -65bb79c1ba1015447983a54325333fb7efb8e9c78a481a31040986e3ce00ff2f101c899e091264 -f507127406fd57bd20c37c400a3b828a149d51420a348aaeba6f2aa139b6799fe33303734e3534 -039678674212d42d8138eb8204402e2ac8a8ddaebadcaa845d7e4ac4170f064233718f129ae7c7 -d6816105c46bfe17088e42cf04b1b1fa03b18dccf33694737eff8d795a7b98ec8e3746f66f86e9 -e926f7e28ceeb311131e1ca4bb83396e07b49c2073d4e675db4659cf1e4c1a8e3b5d74111bd816 -f1b203f2732e9a29101c83b682e47230582ae18dab0b35e351e97837eb6e3ca8892510f4216d05 -c9ea60c8067d46ce526977883e6caa5e2cd3e7a4e3fc6d1f932e04113c86b41324534b256a35cb -562d535ed958857aa408bea48aec39e9f8a085b68f49ff0882348f9cf79487f3a982fea29d20c5 -a1a1a1c4160c8ae5746229994c166ac95510a4fb73d71f20c8b0ad89899e9a3e4ccfcfc57dbef1 -9966b702cf618f0fe38ea7437ca4d3dd6f4661c6007e901d16b14bfb71133d2b0b8fc518e08cf4 -9022c5db1c130c3a9d3ae91bd80d298320c552a964a997322048f7e7ae3f40906888e3f70fc767 -025264783e343f1fb2bb666666fc2a3df91082f4aa02317c93c627eb592310b1273fdddd743564 -1b364595ab57afee0f2b413c91313e871ff0861a9ff787fcb0426f802c587ac8170e47e34e4509 -85f0b03d5a8aa7cae3670ebbe3e26cf981a48d20e91c504ae0703b8d8f272c5a36b089c59e934e -0569f798f4a335b14c73fef9b85332dd74c7af42a407ae8e46a3921aa538e3733755f566c41fb9 -c98fa0378fa49ffc74f7a83f10f07bd580a2f8dd717bc44bcf585194799332ea9c0be2b111f58d -f888e2e555941bc40197003cef8b9e2a8f0722eda1b8385b7e20e92488a5de14a4a2e7a820ec39 -e95490768f493f92202392040d9b9b01c92f8555df8c84277f78fdf3d40f682b39e14d8dc0801f -f16b0a72f2d3dda310d75238b00ff3e061c37d68e2f9476cb6e1f99bb650d0102432130fcf5186 -e36fb49c394c4f958f40ab0d04898bb3e507910e4dac6d1d9f658b4dacf2507d73880af280e7ae -1f4510af9f5d73ab786fbad5a03d1a1e86565540a2a1a918e75f353b242d829cfc74772ac89c1b -ecc3131ae7e2235eafdfebf50e438d139ee78278fd33710f9534ba1f7f436263505bb153e5ed01 -2715449c2d3f88b417a4512f56ea15184927cc7aa3cc0479c073d78f22888b9f74189202ca7c18 -5a525edb552530430f1fc206de898d1c49c5213b927870b2229de524a7bb4721de03dea8b28f35 -45381807cdfc92aada4104d37c48090594d01b2ad42073ec5ce3abf13714d6bd0741d8a9f23667 -601f051167cb0f226d05d9a99bcbe5214b66150469ac6f9a13d027874ebaf1dc7573dbc7a41f47 -10c51b09cf4baaa244a2ea8c2fc06a8768dc816af861bb7f9f20273fdd3daacccc40c503ed24c9 -8982007e3cd3c416f03a7d33b699799bfa86233a131fc5b3bebc5ea841f07c7b001662a7cadbe2 -37832888385b7e1069234851d7f199cfe59592c58c7d90959cb992cbd51b0f78eefab16a909b8a -ea8bc4e7e6a1751ff7cdd1b4086b6239030715444b0dc2de4f70ba3b6d624165a0ee4b0e10c405 -a18f17a6f8827e5805a30f0282cc514bc108efbcd71b717abdbed1b871aafcd5d01b20087c8060 -e06823c8e6d0321f4baf26595591cc65b04bd2f5b9ebc710c4a6b855dc611550d49978dc4777aa -2af4d45b68ecbfe1c09e06830bf2514e77e78200d0c30f8330d1a8df1d8d3a87f164c916415417 -b6e142d025829a625e1af63a03b6e6a9f2ae00088267cb0b068df67d9093701441c24c1047043a -e9f376fbcc9c1da2afb5068986a05271f983c3a776ba7b540906a971a6901d021fbbddb489e59d -57033312f678602914c4814b86e2be19dcfdfc86498dce4b07a7caab2008b82418387a28c81b01 -c5cff65045dc576754086d6c623141aece6014bfa10468988e48fef0699dee1e95c2e180f7aaa4 -4a01533c428ffe5141e6e69cc3f3f4765c5c107a3f2e7f7cce660add9c998940bd643b38551ea0 -67cb0b068d1e0a72d5e9e4a79078f6e351f73ebcd3de861386a6701886dea8717e94139a4d077c -94d3dded38c7d5f81bd1281469a389415e5adc4b7574dae183e3ecac7b68f1c15c6fb85c6fd0ca -aa79aa3c20ce961f487adbc41208fa0c218840d085deddf64720e843f83ddf4e055ea4104420e8 -82104420e882104420e882104420e882104420e882104420e882104420e882104420e882104420 -e882104420e8021764880a221008ee010519628208048236084104822ea020263e2e1008eec184 -8298860502411b4c2808f2230281e01e408ca1a1ff1fde46a7cb55f647cf0000000049454e44ae -426082 -}\par -{\pntext\f2 2)\tab}\f1\'c1\'ed\'d2\'bb\'b8\'f6\'cd\'be\'be\'b6\'ca\'c7\'e4\'af\'c0\'c0\'c6\'f7\'b5\'c4\'bc\'d3\'d4\'d8\'cf\'ee\'d4\'da\'cf\'b5\'cd\'b3\'c9\'cf\'b1\'bb\'cd\'ea\'c8\'ab\'bd\'fb\'d3\'c3\'a1\'a3\'d5\'e2\'cd\'a8\'b3\'a3\'ca\'c7\f2 Windows\f1\'b7\'fe\'ce\'f1\'c6\'f7\'c9\'cf\'b5\'c4\'c4\'ac\'c8\'cf\'c9\'e8\'d6\'c3\'a3\'ac\'c7\'eb\'b4\'d3\f2 Internet Explorer\f1\'bb\'f2\'bf\'d8\'d6\'c6\'c3\'e6\'b0\'e5\'b4\'f2\'bf\'aa\ldblquote\f2 Internet\f1\'d1\'a1\'cf\'ee\rdblquote\'a3\'ac\'d5\'d2\'b5\'bd\ldblquote\'b8\'df\'bc\'b6\rdblquote\'d1\'a1\'cf\'ee\'bf\'a8\'a3\'ac\'c8\'bb\'ba\'f3\'d1\'a1\'d6\'d0\ldblquote\'c6\'f4\'d3\'c3\'b5\'da\'c8\'fd\'b7\'bd\'e4\'af\'c0\'c0\'c6\'f7\'c0\'a9\'d5\'b9\rdblquote\'b8\'b4\'d1\'a1\'bf\'f2\'a1\'a3\'c8\'e7\'cf\'c2\'cd\'bc\'cb\'f9\'ca\'be\'a3\'ba\f2\line{\pict{\*\picprop{\sp{\sn wzDescription}{\sv Image}}{\sp{\sn posv}{\sv 1}} -}\pngblip\picw9355\pich11111\picwgoal5304\pichgoal6299 -89504e470d0a1a0a0000000d49484452000001a5000001f40803000000aadec2ce000000017352 -474200aece1ce90000000467414d410000b18f0bfc6105000002d6504c54453748563f4f5b3f55 -605f6367475761cfdbe2bfd7e1c6dbe76e848f7f473ff79f97dfe7edc7d7e74fb4df57b5e357bb -e75fbce667bee267c3df67c4e86fc5df67bbd75fb7e45fb5d65bafd157a8d56fc6e967cbef6fce -f277cbe5477d8f8fdaf66f4544df4f4767b7d7f79a925f8a9f4f57676fbfe4fffffff7938f8f53 -5777c7e967a3af07035d5f978f1f4f9677c7d4474b37070407070337ef8f873203072f7ab52f7f -b3679b9677bbc71e03076fafb77fcdef7fcde31f03375f7d5f77cfef5379574f4e375fabd73003 -3767835f579fb76f9f9777c0cf4f9ecdef8b8787d4f17fd3f76797954797c75f999f77afb76fa3 -975fafdf7fc2cf87d3e377d3f6ef847c6fb4c71b03596ba9b77eb5b767b6dfeb7f7753a3cf67af -c757837f5d928f374f37e7776f37539767afd797cbe3a0cfe297c7dfa7d5e7a7dbefefeeefafab -af272527575558cfcdcfa7a3a70f1317979797878692bfbcbfb7b7b73f3d3f1f1d1f171517f7f3 -f74745473735372f2d2fafafaf9f9d9f6f6e6f6765677f7d7f0f0d0fdfdbdf4f4d4fdfdfdf5f5d -5fa7a7a7d7d4d7e7e7e7272c31070b0f8f9090c7c7c79793978f8b8f7775771f2528f7f8f93f4a -4f465b67bfc7d77f8fa7277fd7348be73f93e7579fe78fc3d77fb3e7afe3ff87cef287c3ff7fbf -ff97dbf7d7ffffb7f3ffd7f3fbf4ffffbfe7ffc7f7ffe7ffff77a399b7dfd7cfe3df3767575f93 -6f8fbbafcfe7ff1f4b2f1f572f376f474783675f9f7f57a3876ba9afa7d3cf1f4b673767874f8b -976fb3af7fafa7175f9f3883b84f8bc75f93cb679bcf87afdfa7bfe79fafcfb7bfcf677d8d9fc8 -f4cf6707379bffa1cfffe7f3ff67afffddeeffb7dbffc9e3ff90c6ff77bbff6bb5ff47a3ffbfdf -ff77b7ff5aacffb0d6ff97cbffa7d6f34fa7ffeff7ffd7e7ff4fa3ff9fc7d77f97a797b7c74f5e -676f8b97778f9c5f767f273337171d212f3b3f97bbc78fafbf2f373f576c744f636e89a9b73743 -477f9ea957676f5f6f7787a3af8fb3bff52006e9000000097048597300000ec400000ec401952b -0e1b0000587d49444154785eedbd89a3e4c87ddf47aa2552b663924b72c988e44ab42c6dd934c5 -65d1246589b2d7161d2b26e5d8b2e85b4ee2440ed58dea873e50784035aec6431f6874a37b64c7 -399c9d2856a29c9b3bb1733997e2d9b733b3c77067b8bba6ee752cd19223ff07f9fdaaaa1be8f7 -ba67de9b7957cfe2b33baf81aac2f5fbe25755401d7887e49def7ce7b7ac01012743a75fa1834f -c4c36df036a386bce35bbfeddbdeb5c6bbf5efcef2ee323aec14e80d1f896fd7bf1bf81dbff354 -fc8e77bffb77fdaeda3bdef9cffd6ee03def7deffbdef7c4fb3ff041e4fd4f3cf9a10f7ff89f97 -7c784579552ee3da879e7ce289f7234f204f3ef9a1d586c8777cc777e08fde48b10cf8d0934fbe -ef7def7b1237419651abc4e5650d6c020779ff07567c04f828003f3a048320e0631ffbd8534f3d -a52e468157867132a13a5b00c2d55e60238cf8c007707772fb47e23bbf4b2f1ce3bb3efe3b7fcf -29f89d1f876d40a56f79d7ef7e0fb0aed2134f96cd294db46e375cc615b49bb482bc6830bab2b7 -8ad7e0fa77831c4f7eb78a43502334f913f083e8cd3e7c54980f2f35843f900c369086d528f3a2 -4a3ae03e2ac1a561724ca9cf1658aa04bb902ae1ce1069d047e07e2afd5e2dc089f8bda8d2bb51 -a595484fbc5f5e17aa843229a411f532f2dd805e54229554426f52be017185446a1f325246c35f -259102430b7d65b4de8b5e9680df415a69ef25d2ea68d4b24a4b236b95e4c9014b95304d4925b9 -89da07fed1e0f68fc499abf48e7781445a24e54aca9920d3fbd087d0059419511c496945462a91 -1075e1188f80890bababa875d6b602a4577d68a51f648712b5a65012ad24598ab496e32dadfcd1 -35952046b912bacceaa06a7f72176be0f68f4449a5eff95ee07bf4ca23f8124ab42692bc36696e -bc90a79fc6b5a5f9d5e5a9050887489d93c88d9e06548a422eb9893214fcd5a07596a810b9cd92 -f2aa8a06968606602bbda4fc60a592347259252913c6e06962525cd6bb5711652752e0e68f46a1 -d2f77c2f010a99beebe3bf4f0b50f0fb41c7dfafff1ee1f74995be05545212c9dceea94f204f7d -0297c1e0f8b3853ff049d8e0fb3ef981effbd447e436c0339fa68acf7c58e9bc44ed5b19b55882 -92bc8432defbb5e524652d75aae328bbc202a6825f5c53f6f8a852e9831f8408fc59a6c584281d -20b73986dafc9128549222814c7a1554fa835a80024cf3bdbf5ffed5212bfee04a2575b7c275a0 -a9213b7f0a6402f0ca64d0469ef9ece79e7ae6d39fffc4f77f0ab7f8433f00e27c126edf1ffce4 -4755bcd443ee785922acd0c658476a8606d509e0076da857cb1b41c80a1d8414abca1c20d347e5 -25688a8247ee77890e2bd01b3f1a6b2a7d2ffed3ab1b55520249a974c88a422525d152a32f7ce1 -0b52280506e17a991f92fce0679efc41e53a947efe0b5ff8437ff809d8f20b7fe453cf7ee1d967 -3115e804acebf31175a647908691160243960d5f422644e49ada995cdc804e29d34a81e45da2e2 -245a20448794d0db3e1ae51cef7b31d3bbaf4a4aa64d22152abd1b45faa3f433dfad1ce9a9a7fe -d80fcb9fe52a1a7fc90ffdd0335f7c522ffff17fe1b3a0ce9f0059901ff9c34f7fe14f68d1fec5 -6701d8521973893acbfb52b692349944072cd1a18af535894e86c87538b4fc2dd2aa5a376a744c -69bde1a352aa3da892a9a4d29fd4029451de745ca4dff3270b95e05efbe0a7bf436654c0539ffe -61bda45d6b8d1fd22a7d49032a7d19d7a54ab0fca52ffcd01f932a011f039d744e74128d4eceba -45d5da121da8d181ab60bd862725cfeb083ad5235356490a50aa3d3cb44a9033814a3ffab94f83 -473df35928613e8235813ff58967bef82fd1cf7fffe721f80959f67ce6492c80c07bbef4a7e1e7 -cf68d7017eec4ba0122af667fff0d33fbe52e959786a51865167787e4813237a7d3b3add1674a2 -47e6884a6b35f10d2a6dcff1562a41b9f401a512857f9f0281c0adfec8e7a07ef01dcf7cf6539f -80e01f866058fde14ffce0273ff6cc179f568ef4673ef5e52f7de98f7ffe4b7ffa935ff9322c29 -95beac5482a249812ac11dab4ef08aa00529a363304a2f3d22eb395e492450e9cf69010aee537b -f8732b5fc2da2fa8f4911ffddc273ef1e7ff8254e9992f7e18e4f91c08853f32f82f4295fb994f -fff0335fc45a4249a5bff4c9afa068204fa1d297b548e84d570fa5cc1a3ae6cc38ea4b7a11d8a4 -921248fed5212b562abd4b3ed1804adf27e59082fd79ac59d3cf81581f01f13ef21108fe5199b5 -2d55fab254e9cffec05f46957efcb37f79a9d25ffae4b3a852e14c5712ad4d191d7346dc4fa5bf -a20528b8cf53ed5fd12abd13557ae2fd9ffe890f7e9f920354fae05ffd0bb272fecc177fec2320 -de4770fdfb3ef7417c7e2dabf4972828052aa1427f164aad7ff9535ffee39ffab254a92413647a -5791f31067c5fd72bce32add874225f9eae1d33ff1f4bff2b90f821ca0d29f7afa839ffe1cbeec -f9912ffed8d310fcf4d37ff52f3cf1577fe0275026289e40a52f7f19f4f8911ff809c8ea7e1c6a -1bb0483f8ff9de9ff8ccbf8a0b10ad45baaade74ce94555ae3a30fa5d2b74a95def7043c2ffd98 -96e3e93f403ff904981d42962a3da182418e8f7ce2fbb18ef7851fffece7c16d509825a0dd0f7d -f6334f43cc679e06950a99b44e7a055101ebe8a8ede87427476f77041d793f74ca3574d41674a2 -82effcae0d5bc8baff777dfcaf69014ec45f03959e952a7d48bd7946e7298319e11af85e0fbce9 -a9a79e7df60b3ff2af3dfbe5e5432cf063f8c0fbc7e8bf8e2f25bef0a751a6679ffdca57bea2cf -f938fabc97e8d007a2939f00bdc13674aa63e8e86de8542574c451bef3bb8ea3efe68fffb553f1 -71388452e943a09356a20cbe29d7a09098e66978b4923221e03d05f2ad9142c53ebb5da3e357ab -c34b80c62574a0426fa3d18105e520bd79810e5fa17722d141804ebc4487de179d54f39ddbf9f8 -29817d4b95de23654211a41625b01dae0053bcfffd20d327b44c05f826e919092c2c65926c3423 -205f20e166ba72a1e396e8ab2da1234e81def0383a7ec5da09e83447d1b19bd0298ea3e361e7f2 -6d997ca388af14e19275542921bea85194deac3d25132a95def31ee52bc06a412984cdb8d82de2 -77cb5677a5936c4590b6c53d20ba2507df81e35fb0fc2a428ba0d711583bfa866f25d51248a6cf -bf406dbd44270474c0925290de70033ac192d27e74820da8f80de8f84da804ea82650b0a1a082f -7875d6ab744a2419abc1e56d2ae9a5f7be576ba4452ac9a4da7ae495a10a8012488332492791c9 -105c91c9253a02b7d1c875996cb984e7a6cebf049e2fa2f77394728c4aa8b7db844aa038e1362a -5e274654c0830f03499548b2c50d9b5af10ad73687443249c91c7a511e48d6c4c1fc4a9a32ef05 -9d4a1a214aa5f7639b4ff1a0f111d926aa15c21c519dc6f23812b98a482154d8b2214ea63f8294 -495e66197551fab00f4026d5db6d42c62bf4160fdc4646eba41a19f4a0c3403abcfbe08255692f -bd49dfb57a7b4cf494b4cbaa2d4eda41aba49e974aaeb4047b42a0f3aca904324194caf2d43321 -be5cc6bda1b157a51a36fb61f0eab48ee880faa89812522efc83bf707a1b64929724cffa04a8cb -df8adc17a2934b705dc76fe0686a04c34eb08dbc3597d7ac323dcc5f640e83db6b915617af8c2a -cd289329958e89046899b43e0a99b0a4d25274d8f9934a23ec4281edd45aa365af07449e03a057 -658f88153a50f37ee94dfa4a57e84b3e2178f5dbc17d013aed1208d1f11bd8905ecba4136c406d -b226125e9db23e180f75c23d284f52f6c15825120ab6a6d24ffe75cd4f1ee1df2803eb2ad557cb -a8a0d5a67a0d3916504645aed0a11adcef4f1d431eeea4e86db6a293ada3e336a2931c45c76e41 -27d297b544876a54221d059496211c0a94954af58aabc957a1d47f57a5d215e7ab90f92995def3 -a14aa5ab4a49a5f7542a5d552a9576814aa55da052e9d4341e02bde9c352a9746a1ae4d43cb24a -ab9a7849257d03546c469bfe143cba4acba7dab24afaf7849cd6a1773cfde5a8a4df10bde7bd95 -4a27a2ac52dd60f0b7592764cf6c3581764745ac73ca133ac6579ffd18aaf42def7aeffb8a770f -bb6dc58b52a96b019cc21fdbda278edb10dcb0a8a363d738e5091de3abcfca564039caecafebb0 -954a3dc3f3eda611e07218753bfedede1eebcba832e5ab8cdd03bd54ef9b422f1d6199de0a12ab -6fb8cd3db93648ccb0ce3a72799df2fe6b514f2d0ceb7d03f73f52ab6596e99310fed4a2ae5c89 -c7a3ba677bf74bdf6c3b298b8320703bf53e5cc6246ad7ebeae4caac7ca9978918e05eb359ef44 -9915bad3990d6e759cd2053c14f753a933603c1ffb46cf83536ef37a973a8e455b2ab2c4ca8ab5 -5e6740f73add442a558b8ce397882cd31bb1215a746ea790cc19db76107668a2a2d658a647cb05 -46bd8e7b9fce19b328638c6f30a34edfa07e187237f439681fc79324a173c695686574fa862bcc -3c30f33ca0bd7a83838f50db72294abd4629c73392e974469be0577316a6133ee5fe4447adb134 -d0c3f2534b953ef0810f1c5529b08d746e53634cdd9e1f9b5642c3792b5571659656e9a4ae2bb8 -eb729ac3da80862df3b8a4c04aa5dcec89da010fa5211277349ca54319b3ce6afff3381e9b713c -67f5ba2b02bb9dbb61ccf158eb2cd3d7ad16b3220b9c63d2b6b89d721abad4dfae6a7dc63b330e -59085c638fe6700bc04dd0d6be5bb052a94ee65c0841870bd28d404e12c511a75d1d5b66798087 -e5a79efdca57b6a8d489f28025492242d11905b1e9fbb46de3151c65799589516fa513f00bd4a6 -6bc7904dd278c309ae54721c3fe263634e1b1e63a0af60ae8a5967993ea3eda925a6d379501fc5 -6d7b6c8d93d4de9045eaf49d5ed81af15ac440f9833dc76974e73523f7b7fa92ef1aa9c9f14ea3 -a8522761b520b28f3bf74aa5d0b2631012fcb3430e1c469af6b5617c2ee5d24f7d45a9f4ee8f7e -f4a35fd5615aa5617e908cc330883a4d589bf1bd360ded1e5cc151f455763dcf8b6df833150d28 -0228dc6622a5f478e1b452c9e709deaf965d3fc8db86319b6d700c6099be493b7561d5eb631f8a -0b5eeba591e745b07c149d7e266c37a62c75385a3ab6a8a0742ec435991d97d1e9877b4eb4175e -cbb21e6f824af5ba67da791daf7d9d42a57938769c79e29ba3611c3137198bcc6ce9c835f4053c -342b953ef6b18f152a8d344964f079040ba1cdd3f198fad4a12aa64c43a5ef3a8e435dc785d2ab -968bd6a0198ca16aea776464199d7e64e481d1cedbed9a0d2b7b60c2419af554d41acbf4a05283 -ba466fecc39935bab6e3d97e6b4fc59559a61f59ac9db4a3a01df6fb21b7db2336ef8c065d1d59 -b04a6f47299fcfd3b191c0e9c0d58ce18f1deac815854aa243c3705e9bda64688a3c73986f1b3a -6e9d3351e9a7dff1ad1b554a5cc7b293d845d34119d2a53175b88a2ab3ba4a10f36064b9b0301c -f57abdc4e885b98a5863a592c3e8dca0c23047a3be61ba86709b7c834c25958ce4409806a834da -b345a3d7a6a673fc08854a02caa49405dc4f28e78641b9c1ed7153c7ae58a66f53eecc46137b04 -424eec59cb0bb897f063fb5f53298e6d1f5422ddd0e1b433d95c113f3b95a016f1533a6ca592e5 -e60ecf73eac1726c44ed1e8f120f57d629541af3c4a7eaeef685654496e51cbf750b95e6d46563 -c36abbfd916325ae37ce478971a0224b142ac14d3eea46a05227e673db821a983051b2750a959c -24cf53f817f6bd381e3131722d1d5566997e0cb76020e0b6a1ed918ff75a688cc24cc59528a9d4 -737b3dc8396ce251239cb77dd38fc4a62cef8c54fae977c3ef7195d8281f77330a673a3427b193 -732bf1031d5950a834da7368ea2c75f4c77ae1082b95f2de3ce62d5f184ece46cc9da6619ed0ed -566fcadb65d4851ccf6bf7af39b0488732669d65fad036c033a3a95c0195628383fd8fa3d38756 -9b8f8683b6dd6c0e4716ba10a8b481954ab9257f421b7edb233717ac49baee4c06ae73ae2ab96c -e41b619af6e1229d5116db7b96eb1e3ff342a51e8b020f9ebf471954223c36f7bc19d40f8fb24c -3fcffd284ce129c689618d09c8969c600ec63fc2327d46715f2c8ea4908edb6ee7f458f605e8f4 -13da0e23c382a2d272fbb1118f321639a9755c579dde1bb6ed299492669b051d0ed75c73eeaf52 -5fff6623f953df973f9b385795da5d506934813b3877863d1167a3a9651dbf1bf5550e1dc348d0 -8e503a3521afd36cf78d31ec6ac81c874953c756130beaf078c1b44cdf41a71ef52c5b0aef08c6 -e2f4788654a40727ca7cc785aae6de288cc09362a83c4025e228cbf4a3904f1cac74c28ef1547c -753b1c65a5d2c939579580aeba59e1061c6eca5c24cbabdc50046d64991e6ed7121baa0d9a65fa -a64ad254a7842bc34d2215562f9375d4f96f70be55face2a522d1ccf06902ba8d249d86895fbb0 -e3e92b953652a9b44125dd2259b10d6dfa53a0373c354a90cd2ae95d575c36954abb40a5d22e50 -a9b40b542aed02954abb40a5d22e50a9b40b542aed02954abbc0a9541acd07c47798b806cb99ed -4ab86a01ab384f4ee74bcc20fe7ccf8d61b14f7b8ed3a399852b15e7cbe954eab5496211073bae -0fa961524a8d6873378c8ab3e4342a75a76172c06724367942029e2446ca92a8caf1ce9fd3a894 -c5ae6df330cc4dbf417acc8d6d11736736d4d115e7c6e972bcc09ed4b8cf681b967bd8859ef1aa -58ba004ea992bbe8187de6e2728f1a4014c8886360d7a18a87411b708dd3aa64858195ca3df564 -ffef6d2a559c25a7548932d2a086ec76d6a3f8815b5ea974019c4e257fdef7cd641c39f9b0b947 -7d8027fe9e8eac38374ea752df325846f6f379dbc761550aabaae49d37a7538934f56fc585724a -952a2e854aa55da0526917a854da052a9576814aa55da0526917a854da051e56a576c5d9a36d7b -9c875649ff569c1d954a571065e4824aa5ab883272c1b9a974f0374a1cc820a045077a89b4f1f5 -6c46f53422698d10d7c5e9fdc2b9eacde7465ebf8724131224dbe749781c51462e383795fe86fc -abf99bfa977811a9eff7401d42f2c8afd5125a4b788f741b76b3334a737cb11ecefb41d40ec321 -6dd6991bc5d4620d1a2f67b7787ba08c5c708e2afd9b7feb6ffd5b7febdffec9affee4bfb354a9 -155b34e63e15220dc9be3dadb5db74e2b707d8418cdb3975adb40d2a8d6c1ea76284f333ce3831 -7b23c357dbbf6d50462e384795feddbffdef3d77fddfff19f21f3cbd54697f2f8c7a364e8f6942 -c6d7a9e7b6a0228a096131a9397cd6ecd20c54aab139b387f5a54a2d11f6633541ccdb0565e482 -7354e9effceccffe9dfff06fff473ff373ef2a72bc0927dc932af9c27673b7498908954ad4e841 -31d5272167fb31f509a8e4b946ead2c86e5ad154efe0ed8132727d3587e539aaf41fff27e4e77e -e6677fee677eee3f2d540ac7c46e4895ea9913e4910dbe9463277326e6dda8dba123f0a5ae15f9 -91c1205933370ea2c181634039f6764219394996329da34affd97ffe5f3cffb33ffb733ff7b307 -854ac9351275748ee7048d7644aff9909931cb8b1d22821e052153b75d4b03e6608e975824f2dc -7814428de36d84b43188b494e91c55fa2fffabfffabff96fffbbfffe2ffe0fdf56a864b417f460 -a552076a1261eae87289ccb201aa34878ab793608e4788c849140ec8848a8d73703faea08951a2 -a54ce7a8d2fff877ffee777ee7dffb7bdfff3ffdcf2b95f6cc612f2214b2ba0169f0b9f03a747f -cf58aa44c834922a357d9e66a852271a92a801eef536ebda872696029dbf4affcbe7fed7ffedef -fffdfffdfff83fffafa54afb02cc6f11ea879137a1613cf77d3a69e735c26c615b24b00c502c8c -f0ab03d4b06887585066457b8caf1e85df26a089953ee7ae5209ad92ef93261bd68d3e499a23a8 -dab52c6e4611541f5848f236590438877338ce241dbb394960a3789cbcbd1e690165e4827353e9 -e06f96f8bf651059a89fe32cdfff60e1335cae8c74fab7d7a3924419b9e0dc54aa780494910b2a -95ae22cac805954a571165e4828b54090762acd061159b50462eb85095f42f525ae6f0a4c4d5ba -219fb713cb857ac31e363dc98fb5016337238e219f6c1b318a1cab0d8621cbc390f9a4239ba280 -86d5e8869adcc62f1d6dd9fffdd97c948b4219b9e0f255ea517f32b16b13cb836723bfe5dbad96 -6391613398376b1dba27eb7d1dea8dd935354eb747510061e10bf3888f4d27cf85433c378e63db -c6ef8625fd9a9fe7313c3be779b8d8b27f4d33769d6e60598e5f6756402c6bf9c270f3512e0a65 -e482cb5729b66a49cd746a89bf2091475a9c90c4217b22e296358e18e3337ccfb79fce1ca79780 -0fe0bb3ed84a3a9908e17f2764b0323c20c4de23a4af2beeae1ce10b6cdebfc6601dde1ed259d7 -753c6c3561cb17515b8e425a1722953272c1a5ab344cc5ccb022e1e260cfc8b5446a599847d553 -23ae73cbf7e1a1b7991a9e6971900d72b01e7e4fc75103e045de1121f7d17e0d53885408c1d5a0 -d1298ddab21d7fdbfe2553739fb47d423dd28e7af4804c6a3a62cb511a6d9f77e171fcbc51462e -b8749558eab4ec8c87be80956892b5799631b062ce9dc4096233e8c12d1d3971486295e30d3816 -3f715c273d1199360fed36aa0437bfe57b367164aaa6c98d19c7a1d8dbf62f5143ea51a5da7c5d -a5cd47f1e998479b3f9f74a62823175cb64a8d71e2b4ccdc640e5a31edad7224cb06dbf8960da1 -9e60969b658e93f903d236c061c6e037d63e69cabc28f51928d35daa84f9d248b8b941a669b07d -ff12cb22cd5e6f44c105f7d654da7694764a9d0b7817a28c5c70d92aed3513674af3a886fe30a2 -6331876ccb062b1e8c9c38f7c6bc4bc8a4092a413e05395e3c921d58e076960d4e68bf1aa55813 -2cab74e05a23508984b4bd75ff12c7256134efd0491f9db1ec4b9b8fe25301750999e05c51462e -b86c95e48d3db3b02d098e982e96f7fa308c4d9e673440d720328bd2395e00377e2a0c8a956ce1 -0ac60cdae87a458ec748360e20c7c48cc9819ac7e6fd2b72705551c31c4fa9345bb5906c3e4a77 -5ae3d9dbb15c922613a67ced1d40c577aaacd88f1c372189db8cf0aba16595464d799703d37914 -8c3ad18c36db4159a50e6ee2ab34dbf6afe84733c2b54a07d4db7756dd2bb61c85ccf035fdb9a3 -8c5c701554daf74d2b8adb3d321f60ff15cf9983153bc449a63c23d7f0c9b450a93705120e7fc6 -ed213cdd783654d166b1bbdf902a51b67c0ef6e7ea77dbfe152d63ce3cc6b1cc82b268358fc8d6 -a3e8f8f34619b9e0f255627ccc9aa46551d646037bc92884c71ac09a5b1da849cf21543eb7c8da -5bd751af0f80008a71e6621590f3840c2ce2f59b5d3fd23381a0df48b6eeff3e6c3dca05a18c5c -70a12a95d1618464fa636c2372b07c6fa30232599648e447fcbb1b5eeb14499691cbc7d2554d6c -ebfe4f4e71940b4219b9e02255aa3829cac805954a571165e4824aa5ab883272c179a93439828c -a93821cac805e7a6d2b72df979fc4fabd473b28e832f41794832d6b4fd3ead5d7cd97cf551462e -3837959a6b2c7dc915c460a301315b24a33ddb0ba9e5a495a31d4519b9e0dc54928b9ac542add6 -f707dcb1854963d30395086fcd9d71bbfb36ebaa7f0294910bce4fa5ffa7845669c0f704f38c1a -f7a54afbb6e5109fe2fb9c8a3594910b2e46a57ded5ab12144d7f604aad4f4c1ad7c3fa1952b1d -4319b9e0fc54d22c80fda54a19631e4f475225d24b43270e63d5e7a4a28c3272c1f9a9a4eb0d92 -fa5234774284205aa58830dacc97fd132a0a94910bced997a423edd7b54a1383f63b51da5bfa12 -7129f3dde6dbaeb3fe0351462eb8585f0aa30323b4e2a08b2a0ddc4e6a879349b074b48a25cac8 -05e7e94b4b4702b41081ed86240c584cf708d9f7ec9a483c4f7eb3a9a28cb459897354a924d252 -a581ea95d8b444bd1b8fa190cac786212ea0897ac750462b3837958e20635640b5ae5f55c0b7a3 -8c5c705e2a553c0acac805954a571165e4824aa5ab883272c145aaa47b3c287458c52694910b2e -5425fd8b94969973406ab6ec45ead95e074996fd47f24e8629e31cc7a984bead8edba433f93b12 -aaff5c6740c841825fb9635c56185b793f903d5a904e60af9d92de273162c20536761dc0139d88 -5bb4d1aca9b62e3d52eac87eb03b52d1afc58f9611dbc6471553fe21f008a2298dc5028aa512ca -c8055740a5baed90b9ec09173a6e6cd9ae63c96e8c008b3b1c0f6538799eba799e833a8d05e9d3 -beea6194d31e7e40c8c4fe8d83d61e20c79511832654f7b963c2e67e286a35434f1aa1f7999171 -d8c4e38c4857b89669084aa91b90ae074f7016fcc35328ed076d99e0db2c106a717070e01b073d -d9f36bcbf8a8f2947f483bc23ff0af34166bed586594910b2e5da5e96ce6b8be3d0bdc110979a7 -49123eecc8c14360783ab30cbcdb8d1cfee92e8d0e17820a61a33275d5434ef6e0efcdc72098d2 -37379b366ca208ac7a97ce66547aeb6a9f6928c230851bdf0e09f3ba4eab6ba4b60592398ccd0d -e6b0007429edc787f0b1cd98c58764640997a7ae0b0f7ce0e79bc74795a6fcebb8383400ced9a0 -d7e02e29c662ad1dab3c324a19b9e0d2559ab12070ed00d823a13d9d4e1d91c75aa590ba733965 -a891743adceff46afb845c73a42f812586cdaecaf940a5be7a15d5b4274e8f1c88496ea9ce774d -c79adb06a707725a2360b9cfb42b42d79e4e68d822864fe7a03b35d1a56b09719283144fb0b41f -e2cf3defdad8f398ec070b02e25dd2df3e3e4a4edaa3a7fcebf4f79c7a9d0930dcfa58ace258eb -23a394910b2e5d2524c09c048c1872b857e93cb9a655aae79d9e3c7343b80e751d17fd21769a1d -da6932878406b74749e2fb63462606772d838285acb8de6d90d9b28764d6898c4ea35069b9cfa8 -2b02ce473dc8880e6c830a8347d4c752a49f866e10f203582cef27077530c7f305e9e0570f2ddb -f799d9db3a3e0a555a4ef907f07d9d19ac8dc52a8eb53e324a19b9e0b255dac3d25670f8130538 -51d442980e64dd3a76099f81ff7470e649709cc872510dcc20120bca9d3074716f096f84d1604a -5737a426a75194a34aeb2f3b40253eb166b2e164d2a3623eafa5e093ddd98cc79c1949aeea332b -72a3d78b45af97801a617b12402106f5196febf8a8f2947f8013c2ad05bfe5b1586bc75a1b19a5 -8c5c70d92ad5f3c9746a1b16769faf834acca86d50c96c9016dcf4f918960741800ed0c49b1c55 -028bc84ef60b9ef8aec1db47da4186b66bd5c406950233246de142b1338b6c7054c788a20119b2 -5a9050c3811c785deedc8414b6e38c658e379a9b86acd76c1d1f559ef20fe8d9966c482b8fc5ea -948eb53e324a19b9e0b255426669c7969d1fc279e20e83e32a0de17eb4e0ca6bb287fe42b8d252 -40628563f4a91c370f5d2a8263efd7ad20b0488386e1ba4a7db04a48f6798aa2322772cdd4129c -c8a1b83531508373cbb4a08a8839de002fbd6e8d7d63a2060580e36c1a1fa526935353fe21eeb2 -7f4779944f71acf59151cac8055740a55e141295bf84d41f3ae2b84aa14506f87822eb72704574 -de52c54562430d097ee3493377793b14fbc2d5156e4d18909a0b3b0c7c99e114b4eb22245d5b66 -9090391973ee4451136f03cfec92586c7a192c6be2c0505823df80b2c4826a084ab2617c945209 -d6b1060ef751c4853ab335954ac72a8f8c52462eb87c9542a80ac3b953c783da039c376f317644 -2531d8e31e0890e2ae47b9192769241cb82a27edd4386418dc1d503688dd31390087521bad4095 -acfaa2bdac072c19871e071773f396350e99efd0d0b22db2efe3a0e9ba459d23eff101ad52630c -678ce3a342fcbcf596f151e529ffc8c015dda143b9031b9654da7a2c65e482cb56a9276275d786 -664272bc00083bf29dfc49ad8d2399faf3181f31e60eceea103a73384e2724c3248e63d6207046 -b3080f1d1ecdac12e581c7300c0b32218f27032c537c6b4046b1e12d67e3cbedf2e92aa481a14e -884790f5525cd8323eaa34e55fcb75f07182f4e239441463b1b61f4b19b9e042552aa3c370320d -05d47ce1ff4d2c4a13ebf5f5a3fc4656fb5ae35811a3e9aae4b06fbc4f54aa6e73cb3948cab960 -b63ca72de3a34a53fead9f80cc78e558acedc752462eb848952a4e8a327241a5d2554419b9a052 -e92aa28c5c70912ae91249a1c32a36a18c5c70a12ae95fa4b4ec42a5a7437b58dc96da67fc80f9 -13b3b9b7d09d2af348bdb1e9b89d26c32fe5c54de2c9d398d8866a666ae9c79933a1a8b01c2354 -55bd734419b9e052540a0f56cb9d5a8dbb1c9e906a38c35aa97d2671056b190b879baa5a8ecf52 -b2ad86f1210d0c1ed016e9a5386d40cb6cd321fc76ec0e892d0bdb794e878f1398abb7eb4b98c0 -9751dbb07423cab9a18c5c70192af56854520c1ef6f2dca2d6049e294aed33b5d8e196c98dc0ca -9bd808eb468cc529384d333fa0b910f23318461c86612d0d299acd853fcd80375715df70fd35c4 -118ad8219d65c1fab3f07035f5ca26b268d39b89334419b9e01254aa47342c541a9a91c1a726b5 -f109afd43e53b34dd6e29e009548abe54d28753dcf6b787e1c1c505f5809aab47710f87e40a198 -1b914c3a548e2ed7970f220bddde2e918f592a5c518ea51ef196efd046ea41272ca9547e4453cb -ee6a56a9f34119b9e082550ae12a637c87b354692402d78f798bf66c28554aed33e04b22e031fa -12a66394cbcffb3403831d50c3e6116d86cedc6936b344caa3b244a9929fbaf6b83f30e85c64a4 -319e3b073ee7ccb654b80ad1b10a3a6b8c89c77962b32415dc8293942ab58c715c57db96f7a35f -3c9c23cac80517ab9247a3668fa2172c551a4c72d3129097f11edce8a5f61928975c8706a65269 -40190fd577632cff80c67e12d2e6c19e9b38636a517936be2c49a42f410668806fd8e02d757bba -10099950364854b80e91b11a2ac6208a97e2eb51ea2ff0f53baad48c1a0bf01ab9edda7e48be9c -e4e89c50462eb85895ea8252ccef0a957a5ec8b0e9b35673276bed33893b0e5c3188a54a4d9e80 -ab08179dc6f29b9103c2a2d6508cb76c826d4470d8952f11da25d830883a80bccc70c9c4c48c4c -86eb903595bc3a3a8793c2fe210d7a25aa84fb827f72dbb5fd3ce6be84ef7fd53beba54a9ec52c -db4a5d87b164546e9f717cc7e103d362a0c1d0e621b3c339c577d0566ccf9d6b6e4da9c4429b40 -c90fc267187044a5517340b167117ee96e19ae43642c066238540bf31111f8ce1dd2a0a7ac549a -ab6dd7f6f3b8974ba08034e64a25f0137b9edb038e5df0caed33c27328943f9453af6784beef98 -be9f63a736973acc710d5faac4dd80ce83a88df7b6345d592523cf83919dc3a35759251d226331 -10c33db2c789ef84769fd07084f9e12ac7d3dbaeeda7f3f8d7f1d40dbc52a9c7133fb049c78467 -db52fb4c9f4f2c362053376890016ea22a078013cc3bde41225532229bfb0724a7a85266f78865 -70e1d5b8339d1b7dd895057505c19d7a6d0cc14487cb103c10c44a123e1670169cf9dc8532ca60 -23e2c07ef6882744a2b72def6721fb599c27cac80517af9262b59cf4888f3d133d9f94db6782b6 -23fb7839cb843879a7649463d0c0859b9db472d5fc5093127a67505a74e41ca0f7275c6ffe3a07 -94910b2e54a5323a4ca2dbbacbed33e02832b4b70ceb281f04d4532b9c7a09753e6b410f47ae26 -7abf2fea89ea3c51462eb848952a4e8a327241a5d2554419b9a052e92aa28c5c70912ae91249a1 -c32a36a18c5c70a12ae95fa4b47cb6ed4ba19941d57a841b8d2854c628be9838ff16a1b34519b9 -e052543ab7f6a5ba5fb3cc5a0d1e6d383c77b6d36c814fb2c0b9b7089d2dcac80597a1d239b62f -7961624f268e984cc0f32cd6b0bdb4db86639d7b8bd0d9a28c5c70092a9d6bfb123890eb72f045 -7cb1e7f64040831bf0cc75de6fdece1665e4820b56e9dcdb97489bf7fb895489d1684efdb4ebe3 -da79bfc53e5b94910b2e56a5f36f5f025f12d8411b5c89c74e232251578ed438ef16a1b34519b9 -e062553afff625f953b3f6936638604e17548a0dac7e54be7484fba874deed4b2117061522e263 -1cc8ac546a1b21649555b97484fba9040aa0750b95c04fceb47d8984d4593863d9db4baac49b24 -689f7f8bd0d9a28c5c70e12a9d6ffbd288453ed4e8128a43b698d3a15ecbf32cb77eee2d42678b -3272c1c5aba4582d9f69fb5266c4ea26a8616ccceaced8c009f8cebf45e86c51462eb85095cae8 -30c999b52f2d562398307591c99d7f8bd0d9a28c5c70912a559c1465e4824aa5ab88327241a5d2 -554419b9e02255d225924287556c4219b9e04255d2bf48b10c25bb6feb827e6d7eb907f1a019e7 -86dc23ed99e78539d4e3e7ae02878feb9628524f1fdc13e5a138c9d9935ce84a135c893b22013c -d8addac194910b2e45a552fb123ccac6b584c63581af794aed4b920047160503f917961dbf5cb1 -7be08c736c9c059c3161ec834a7d78f60dc3a17ca6eed89de66030c8a93718b4dd65bdf062c63e -151896aeaeee47600d5fde38ba1d4c19b9e032545a6b5f22893199cc26132e552ada972438b228 -34599ccc5b1c96bbae8e38c98c739ecba9cd2ce6e0dec2f9c8e6712a46522537207de75a1c09c1 -e3385e9eefc58c7d928c70624c613039210999d22476d48b46dd0ea68c5c70092aadb72f919ae8 -21722acf52fb92827aa419b2666090601f96a5fb202798718e0cebbc1658cc0aa44a353667f650 -cebfa65ba2a6d17092ae721d40f65e3ef7b14f92bd0938bd378e02dcc271db46e44895f46b2e65 -e4820b56e958fb12d8d586fb398e23a952d1bea4a0de089b1c4025698f5aa9fde14133cee1eb8a -7a60c531be1d0c39db8fa94fa44aea65536e86646aab8fae2b50a5f31ffb54c06c798f643419a5 -a19f3ae8a0caa594910b2e56a5e3ed4b98bde57dc0c7cca6d4bea4a08691c28f52093228ece7a0 -79e08c739d945a89e52895e65d2bf22343b677c896a80343b8c69c0a8e3d24146a24c0798f7d5a -c1b872e46bcce6f6beef320a9653ed60cac80517abd2f1f625b0364b0554bee0465f6b5f5280ff -a049954a13ddfb5ef1a019e7868635b68dc0a0d8fc14a66ebb96064cf696c026a83edcf6a305f8 -5289f2788df31bfbb48461a50ee83aa405b700d41e62d0f02af8d2f1f625a8ea8411babadd8223 -96da9714a01256c19639de1a0f98712ef442e17532f0dc8e07be4482c449548e275ba25ad8ec7e -3f95ce6bec9362e488e53db72033bb8f2ae15bc82b512e810268a7924a59345ca9546e5f526865 -36a9f4e019e742b81f1cf09e69822a357d9e666af656698aa54a93d51d5e56e9dcc63e29665c76 -5253f46cb8325513d7ed60cac80517ae92aee9ac54ba1690d4c029a6a182569e5f4ec2b874bc3d -8307cb65cd49669c0bc7a358f4699b19248cf0b9861a962ccab0250a6e17431850194f1dfd107a -21639f14139aef9973a8d938ae80aa0706cbac6e39324a19b9e0e255522c977b7047cbce414e77 -ad7de9fe9c6cc6b99c0ba8e93af881a7709c493ab6bc4970a4134b647dfc0c39c9d8270ddc8efd -3cb6a03c6ef65493580d555ab6832923175ca84a65745879ccd1dafc72f7653d81ac2a6d98712e -ebafd20d97d99a0e81746b559133e124639fb692e1192ecf5219b9e02255aa3829cac805954a57 -1165e482cb5589fe83cbfe4f9fc8154319b9e02255d225924286fc831b97cc91c996af0acac805 -17aa92fe45d43255b67ae1f045b570f396e4f6f3b0fcd2e2e5575e3dbc73e36b2a0a79f535f573 -7857fedef8daedd75eb9fd2a2c1cdebbf1e2add70ebffefae2ee0d4cf3fc0b77efbc74eb85dbcf -c1f2bd375eb971e3f62d4c76e3e61dc9cd3bb88254be748c954aabf625f4a5bb77eede2577eebe -f9022c2f5e78eeeb6f3cf71caaf4eae1e2e662410e6f82e1ef29f16edd3c5432bd44c0e62fc1f2 -f337c1f0afbe7ce38de76ebc48be7678fd1eb97d7bf1d28d1b6fdcbd73f3a537eebd710f12df3b -7cf56bafbeb6b8f7dcebb8ff9791376fc9dd0057d4978e71092a15ed4be84b776fbe841c4a95ae -df78eef0c68d5bb74180dbcf2d5e3c54067dedde75cd8bf70e6fdebc7948e0cfe2cdd76ebc7c78 -fb8d9b6f903b6f5cbff11ab971f8dccddb375f7a05fcf2f0ee9d379f3b7c09c47beeeeedc5e1e1 -1b37c9cd43d8e91b3751fb9b6fe04eafc3fa55f5a5ee3a97a152a97d49fad2cdaf2190698115df -bcfde6e2f66d30e88b776fdf0647bafd0601d728035ef42a813c0c78f9f0e59b77aedfbc7bf802 -a8f422b9f1c6f3b76fbc20e3deb8f53cb94d1687d76fbcfed2dd379e7b1e735064f1f2d7c8cbb7 -6fde7de5c6d7eebd70f8cabdabea4b5a9d2517add291f625e94b87b2ac90b9d3e2257096175fbc -83b7f94b2fbf787df1e28b8ba25c7af1bafe2577efdeba0919d81d70a9570eafbf892abdf67570 -abaf7ffd1679f1c62b776fdfbd450eef2edec4dc0fbcf470a91241a77ae38dc5ed1b5f07e75adc -ac7ce938c7db97d0976edd7ee175e0052cde4192658e77e3ce1b37c1a437c9cbe03cb7418e9b37 -df800c11b977f8d24bb7b1887aedd6adeb878b57a54a37beb6b877fbcebd3b3731c14b2f2c6ebd -7478e7a597aebff8c2cdc5d7e5fe90c52baf2c6edcb9f52ae4ae2f2d08543c2a5f3ac6f1f625f4 -a5db7716379f7ffef90558ee5559de40b903567df5f0d6f57b8bebd75fb80572bc2e6b684b6e43 -b122ddedc69bcfddb8f9e68da54a376e91d75e906e73ef8d3bcf5d7ff9f0f0d60b2f2d6e1fdeb8 -a3eb74ff101c09caa89be4f0ebd2970e2b5f3a0e2873a47d097de9e6bd05b80b56d36ebcbcb8b1 -f2a5576ede7a932ca0564e743eb7e29505d40fde84caf87337c9ebaf2c165fbbf975add29be4ce -0b6fbef6fa7337175035840c7001f5c3975f3a848ab9daf2fae18dc3ebb7efdd069f7ce5b9bb87 -2f56e5d206a4326bed4be04b2f2e5e5fa97417d459e578379e5bdc5abc76fdde1bb8acb90785d1 -ab37bf0e4baa92bdf887375f78fecedd5750a5979f7f657178efb9e7eebef4fa8d37efbd74f3ce -ad1b8758f378e9f0557c6242eede01959e5b3c0f7b8170ace855be740ca58c14a9f0a53b776f40 -1e07191da87408723d07773be6785fbb7d78fd6b8bd79e27776ebc80f192c5cdd75f072f7ae1f6 -2d5995bb7bf8fcbd1bf7eedeba2375be7e78f7cd5bd7af3f0fd9dbcdc3c34328d716f76efcc33b -b7a15a8eaa0087afdc78e3f0f997de38bcad9dabf2a5e32865144b5ffa1a087213df3cdc7e45dd -ddd7efbe0ac5d18d17de0467811cf0d57b5024c97b5ff1e29be81f770926bdf1f26df9cee2b5db -6fde78e5ce4d28a4a49eb0e19d975fbe7beb851bb740caeb6fdc795e976af72097bc09ff5ebf7b -73998b56be740cfd064f2143b05c2a585511960bafeb174765545c49370085dc9054f1faaaea81 -bfcb654de54b2740bfc7bb3c2a5f3a01a526844bfa4f9fc81543abb3e49255aad88c5667c985aa -a44b24850eabd8845667c9c5aaa47f9162791f56368e5feac3d9d23d5c1a59106f85ba43495a23 -c4c52f9e93c40f25b90bf1f25b9dbe5015fd1d47abb3e40aa8b479fc52cf756d3776686c60ca98 -93768b76dd042ea061373ba334c7e7ae6b220ffc3c0f587440544f7fd5f770e7d1ea2cb9022a6d -19bf349c502ff469c80d38c906236221fa11a4894dceed9cba56da26b1d1c8f984d8cc24cdac65 -f7e2fddc68390feaccb7036875965c0195b68d5f32fcd8b1a8638a5acfab4d89d320030a599efc -f2359f35bb3423b133174c84b46d92e91836b326394f92f2617614adce92aba0d2c6f14b8b5a5a -13aea02ef84fcf01d94246e407b251256af4480692c571483b3d6a7926f89fd7a421c9ab1cef9c -72bccde397824088869776c7581db0027260f7a5bb3183897937ea76e80854f2291b457c0a2acd -846776583ccfadb3ee587c15b87495b68c5f0af65c66b9d482aa1daad4cc63c3462199e5c50e11 -410f1e48e39807a6efd82ea8d4a1b56b1deafbb17df65d8b2f1c65e482cb5769cbf8a51ee47658 -2e5929d4062c36f7ba54f6c296e5129965035429aaf563a39fa04aa3c89ab4210c47d6ec3ccac8 -0597aed2d6f14b2eef76a1f6ddedc273904bf3e1d895639a954a902e0295e0b9aa95910328973a -a113cd9d4aa5735269dbf8a59e6df0a446bd690849e74e83d7482be53e61364ecb1a588601dbaa -8124b1b049376203780816625ea974f62a6d1bbfb4277a8bb6c523009276988543e7ba6e481854 -e4da641198e07b4c1d6a88b3a8609da1070a798f303ae5caa08c5c70a12a95d161dbc62f1dacc6 -514a8af73eab213efab74c7db9835d4719b9e02255aa3829cac805954a571165e4824aa5ab8832 -72c145aaa44b24850eabd8843272c185aaa47f9162796bfb123c43b9ab3a447d440221d7928464 -b447f0a56a97f53bfb19ddcbf0a58480ca1dd763bc4960e290e80ebeb7d84594910b2e45a513cd -8fd71af6ec2619f90b92c5712cc481fcaa083ed61e64f4e0c0c11ab76b05b6a0427ea249049e97 -c23f9c63a0231fc18481f30cec22cac80597a1d2c9e6c78b4d69689c55dcdb1b0c5a7b89dbcba1 -46ee18ae10ae6be3c44b038b89196d8900dfb672cba162cc5850efcfa9e5388e30f0955e0b77b6 -632823175c824a279c1f8f49d7d9a3e019180f36b71d7c47645896ed1b16778927ba466c58d4c1 -4949e6067743c34f21ef6c8ab66b856188b34935da3eefee5cc6a78c5c70c12a9d627e3c66e3a4 -340254f21c978a3848628213f6f07c6a4e6d99c6b1283890e3b80e9b5111b42d6ef103a75fcf88 -0b3ec5c6a0924fc73cc2598c760a65e4828b55e934f3e331ab094c412558c68f063a013107a012 -37cc161536944559c2420ed962e4934e4b84c3941b762c67d97431bbc4ef6e91764a1ddcf54ea1 -8c5c70b12a9d667e3c66e1813c5429b33ba24df894e07736f964604e3801cf22c49acce61db767 -e0f4b6224c8c880b4b4a1250d37150489f0a1eeddc0b5869e31217abd269e6c763baf680330eb2 -b64367519de08c5c9161986184be3473697f361fd08e8187143e1f76a2b6ac8b1f400da3e7a4e1 -8274a7359e55e5d271eea7122870d2f9f18adac394da71388f72d2a47db217d507268ba52f0536 -690b3f6206ee40406dd04af6b1e81a0a9f38b68da150f92bcfc2b9232823175cb84a279e1f8f71 -fc00aa8539de94908515b71cc7840cd26756640f429c698d71d26c9913f0ac035029d98fad3a64 -7101f10659cd1491937bea4bc43b873272c1c5aba4582e6f9f1f2f76711ecd1027d785d3c68fd1 -e6694820471bbab45dafa1aa6dcec602caa48ed9059572811fc85ac46133368ca4439accc08f3f -ef22cac80517aa52191db67d7e3c39611ce9ebbe26b2631084e3ef08dffe4897ac77d42b249439 -5bcd7837d2a17a473b883272c145aa54715294910b2a95ae22cac805954a571165e4828b544997 -480a1d56b10965e4820b5549ff22a5657cb7cad5fa89bebfb4396e54eeaee2e8d9a7b19a91f03e -e1d76465a3078fb7ed8efc7627327310d9cb8f107cf7a1c16d1d71ace6b1e53cbbf2e99bcb2eb5 -43be3722bd835c6424cceb3507075739befc4a891741a5f4a40f06cac80597af528ffa93895d9b -e0b78f8e7e7f891c24eeb5f5a7d2d2d78dd47799d4724d7f8f40e1b00e9a4ee0cba8c0eab7a961 -5e03838ecc90a409257bb02db8330f7a22e9f5a0160fa4936e17e78c1eb31867cd97cd576b6c3b -4fecf6ecfb96806a67c238e7b574ec241312889c594912e5793eea72b81ba8edc02384dad78350 -462eb87c9562ab96d44ca796c0d34eb97d49e25a590001a5af21e9af1b6560c5447e97498692a6 -7aa5a189d92819f19cd0de14fbf4d196677be821b13fa0632a68420e7c671c0a66b3c490135d93 -145faec359a57992c2731ae8afd45bb1ed3c0b95489be64e34a17243dfa256ecc422771b9024c4 -2774369fa8633d1065e4824b5769988a996145c2c58f531cfdfe9287b6b716fa7b474a07f9dd1c -d2c3d60ff55d2619aa3e8da0688463db30dae96c0406cb6a969532eebae81c8da11336a97aea0a -2c307c90e7388e104831379ad4493a08a9c5183758f974ef739e5d8a2e6d087ca91fc7e3593b85 -e7f30c55620c540bd301a8d4ac25811fd9cbcf2e3c0865e4824b5789a54ecbce78e8e3cd78f4fb -4b89f414f5bda3e5f78b50a5fa41431c8075f1fb178b643c76f6ebd4e2ae16ca0bdc18b237da18 -5278dc0d0c93cee8c4c58f5d98b61d5fa3b183efd64125c67cd333c954668ef23595b59f32c7a8 -35d47cff65b69ce7d4b06dc1a15c9aa7719bdbd4c63d99dc1a050eaad4a761d40595e0224c1eca -2fab9c0465e482cb56a9314e9c96999bccc1ab3ffafd251908c82fe9e8ef17a14a3ed883f3a154 -a9430f4834a8432e26dd4582361ed0514687cdb661ced22e1dca02ccf2a733eaf3c100721ea592 -e899907d426ea82b11240a626392368eaab4fd3c0d115390c9e007f57e3f666d2fed70a89fd462 -a552062af528f6dc48e3d8de6eed3594910b2e5ba5bd66e24c691ed51898e5d8f7976299bb2d55 -52df2f2a723ce54b241406f5eae036c5f7f962d677d81832a37a8b1a76421d9a70fca0a6e58343 -4de6f8291e12b881c96a6e4f7fc42ee5460d5f34418e6710de562a755615c7ede7693879ea8deb -864f0e2c702cd7a24d540924922a0d41258fb7063d7fde0b64b78113a08c5c70d92ac91b720657 -868bc7bebfe447208c8b2a8d9a447f19e7a84a2dc8f84d50a9496a854a82b7ed9ceca5903070c3 -696c1bad566b042a8d78082ab9cd4ec279ee304b0cc09790b4d7e658eea733d869635faae4d155 -6573fb791a2e4b3dd7c121703db8252c2f22a89295a04a3d50a94772dc4ddb2093930e5354462e -b8122a1161ca37a56bed4b4833ad8d7c2863e4f78ed6546a629723a9926fd7bba935a0d33a7625 -52b8a917f07dd2c68f60c14efb7c223b92cd4c0b8aa701356890d933f0ce6eca4c7d2690898d70 -783b75054e492055cacadff1db7c9ef52e544ca81b503c76ec30668083a14af399cbe230e01cd2 -caf18ca0d28951462eb80a2aedfba615c5eddef1ef2f91bdb1ed40918bdf3bd2df2f525f37d2b1 -f85da6be6558b1db775d83adf2a7c134b7bb35ec6774c05ca709f2754c6b9ad39693267958036b -ca0a638f43954236f0834afa9278e679a4cde6a8528797ae73f37936e83c6945d3799cc6b38111 -1b2c349b9841f7e60bc8f46676b79706430e27e6c72b4f7f3068e2441a5afdbd7c95181fb32669 -41c5f5e4df5f7a20356748f6130e3958cb8c5d2cd5ba463e82a77f0f32436e9b788e234756f063 -e995aa260ec8b2efc097edc761f99169cb79e21d436d8f78463e187af644c07e60159ff0dac282 -5a4ace6a705c92e3641527054d9ca040f2cf05ab54468741b622fb0f83d14ef1fda50722f7a09e -a4565ff03b868ad8571e7824d5f13af37dceb3bb72e2451db344ac85206a9f7595eca465128226 -4e4021fc875ca44a152745da58be2a944b954a571265e49548954a571265645d75002e52255d22 -297458c52694910b2e5425fd8b949637b7db1cc8e7f464f990518c5f7a102d780a2eed67849f95 -f7bc10fbbc069ec7ea6d775533a845fa1db53cbc9da862bf136c7b91b35e01e8b89d266b037193 -0c878181558805365e05bcd9c71bd11aaca58167eae05a9bf91624813ae56a963fa82fda0d6258 -b24e72404686b81a2aad8d5fdad66e93bbc3163e37eed5d7c72f21816c5952ed4bb0ecf8ab4a16 -e9e027e4cbfb0962e69a8c31a8751bae80583b270355edc24611893d81bda4c2483dc284cdfd50 -d46ab22b2650b32c063572cfb2e2496e2dbf538b303ea4013cb28132ed883959b33923f872c210 -6eab2d44889f412ea521762d9eb7ed103bb29766f9eb77bb5d239e98836e3c84fabcec82a88c5c -70192aad8f5fdadc6e33188f23319fdba6a0f1faf825644867596832d9be04cb5d77f5184cb0e3 -ded176aa5c7ba411baa6812fd84d8cc8880f697c34bb3dcdd2961d1a72a6a9c0aa77e96c46f503 -54934ef268af63f77a3cef9bf9b2160e34f3039a0b81df668f236edaf301edc1b267fa51786087 -230a7b2ba5217610bb137b862f254bb3fc1d5c731c93c329b94e4e2cd7b727e15550697dfcd2b6 -769b663f9a19ed9a933ba3f5f14b12b84d9b2153ed4bb0dcd6af4cc1f4689aa3ed545225b899c7 -b931da7712b24057ea0b7cc1b447196927d1d8bde6f2d00cfb4dc79adb06a707ab06ab3a1d906b -02bff6dd9a11b3785deaf97170407d6125b499f14e6035835e04be34e2b66dd3b16551be960654 -0237716824dfc59666f9eb8187db3c1269972cd8d416cee5e678152744d9b8c4b9a8a4d294383a -2ddf6e72fcba2e8a4aa59353a9b40b542aed028fa94af060a9162a951eccca581b384f958ae356 -2a9d80fbc8748e2a958e5aa97412b6cb747e2a958f59a97422b6ca54f9d2c9791c7da97cd44aa5 -13b05da47355a9386ea5d283b98f48e7abd28a4aa547a352e9e4542aed02954abbc063afd2e381 -be9a8be75c54aa386bce41a58ab347dbf6380fab52c54572262ad571089ee4a0e3858915c929c2 -4bf322accd270ee98b7e77161fe26c9192a2f75ae6620facb1eaa612d23d6f6858fb0d88a9f1d1 -5eaf9ee1f806d9afaed9aa19d83ba51f923cd2fbefce7be0eb14875a3c2e3cb24acdc16090536f -30901d15e398b9f3d9c00bd7e74528cd27bedeef6e48db03ec6d05062e7fa396e4d84b48ce6b4d -88619bdca6f3b191c07e5cd24e0537314d6c084358cccfe1b8210dc365bf3bc27877c6703ad7c7 -8647520967f1ee3bd7e248080ec66f8f2c0396606d6e7b6bf32294e7135feb77178c491c599615 -256bdfa8258b045c6d2e55caed36f5a3599bce486fe61856c0512b20d65dbcb017ab33ee05bcd7 -4b723272a3b93d16299b394587ad5de711545acde23d8d86935476f3dd0f9dc4e5c935996d95e6 -4528cd27bed6efae1f191db3e724216fef977baf910e76e00595269dcc9d52e1b8cedcac932c31 -78e0ac549a270833f7c828721c01ff1cec03ec1a019fa4813b97332e3f163c824acb59bc733324 -539b74d06b42de62e3560c569c95e74528cd27be366f781cb9963fb49219181755d2dfa8cd05b7 -5dcb4ab998c3b6038a5335a8d1afb6dd9ead54725b8a06f1c1ad96395e23ea78e3888e9c93ce8e -b1033c4a8ea766f13e30846bcca9e01c7c20844223123818786d5e04529e4fbc9837dc1381ebc5 -dc8ddd3e0497be514b7028bfcef148a350a997ce2377a992132713d088f548df009541a561b220 -23c3c95cdb763d79dcc78447f2259cc5bb0f9a8c16e04b92d00e2c1eb860d1b57911caf38997e6 -0deff50377614fac5a22466bdfa85d53694071562e035562ae3bb18456c9aa192ee4789071668d -840b9e0a61408eea0d78bad7f15dc8211f1b1e4125358b77d84ac07e2b95e2596ccc98000b95e7 -4520c57ce2ebf386076e5b80b94776b2f68d5a5069325baad48b8da4673b9359b3c9731787ff07 -6ed7832ae0648c0970f66ba4a8e35974429a7407e7aedecaa3e4787a16efa54a937db28793f560 -8d0f9e7ccaf32294e6135f9b371cec3dee824ab80fa512d645e00fd4e20f944a33d825e5f83fb7 -9269ee8eec016c1506a46b8e8c632aa1ffe0e74a468cea61438f058fa49222a1f0e002d2a44e03 -877ab131fc194fcaf322accd270eabab79c349904e27351e90acb7f68d5a7007788852cf4bfb75 -c6ebe038b05827be9b5c83bc96bb73e2e484e3f72f609f037cbdc26cf80395c8d9bcb910969b71 -433efb3e169c814a2c590e9f1b58728638a4e695e64528cf270eace60d078563d267d2cdd6be51 -4b3a28909ad0c73762703a5b99bc16e170bf8cc59309f89d7c439164a4c382257ed7e99396802d -3b7370e8c7843350a934706e9d625e8423998f54553ecce03b0439d068397143392d4642f12723 -f4d419dde1720058ff3e19da506e521a2ab6eb9c814a15e74ea5d22e50a9b40b542aed02954abb -c0db5625dd65e8aaa1cfee086f5f95b2ab48a5d23a954abbc00354ca8d16be766a871624342ccb -1296c5cd164675b9037f3d080fa31c3fc51640708f8719732dc385a8963996d8b882bb923f59a2 -56ef4ba5d23a0ff225eeb896454dcbf2b3cc646118f1300c5b33d9d4850d5ea6e864ae681b3617 -14cd6ff18cf1706cc16283b65db74d5b2eae64d368ca84705937130cd7ef4ba5d23a0f52c99fc1 -bf543a4f66fa864b5dd7062bb75be858961d7a5e7712b54432cefd08f7d50e324764529801e511 -a594a7d279449c0dd25a683b594befee3e542aad737f9526edc4cfba36efc935d3b793e974ca6b -b8c21ddff7a90769b855a3beeddbcccf667e72ad67fb9915417618db8ec3a9e5a40292b7e85e96 -a51003f91e08f6002a95d6b9bf4abeb045e6502e125c337dce0dc34841a56ec66dc398d3bd4e36 -4971caf2d44a6d3af12cc334ed204822d6ceda8e61998665bb3e0814d8b083d41f606116eb126a -3b954aeb3c28c773633f62bcc18d06a89473a756abd9a052e29a96e358dcb25b59c375b23dd3dd -b3306763911fdbcc01dd20f7937d006c592c310e7f524e5d386082cbf7a552699d07aa24f824e0 -999782374521779c9471a848d4788dbb2e7758d4dbb352475ce3732fca213d1b77a6bc81f95a96 -cd28075299bf695fe2b852f9d26979a04abc0192406d7b907569234f63735ceb80d1e7135aabf1 -d837b3bd689eb45c8799d24398216ab1a0212ecfe81c502a79aa5c4a22d8785c954ba7e4012a25 -36cf550ed5c9723e89acdc6c717b0a2a4da965450c54ca6635d7a6535f56c4b3983a90d3a9eac6 -0c3ff213db4a13ac32a47e83fad9b4aae39d96fbabe4d3f68ca734e53c3232e170df31ec6c0faa -e2b579db68c3e3506c662185dc2f60114be790e5313e60510cb56fb6b71752ec5400d9227a562b -9ac5f63c7378dba89e974ecb037c099e96b2a99f80b17b130b72bdc118aa0e536ff9022131a196 -1df4c6896179d96c0c05564370a7957512d00d2a811a3180b4e1f2dd83ac4ddc9f4aa5751e542e -6d01cd8ee00b22a00ba58d068a9f2d74e1111728926ea752699d8754e99ca9545aa7526917a854 -da0574dbe855439fdd11deb62aed14954abb40a5d22e50a9b40b542aed02954abb40a5d22e703a -954a13d864b62bc1f1e867cd83471e8de603e23b4c5c83e5f33c932bc2e9542a26b0217dda739c -1ecdace52c4224b62cfca0dce9f0b147ce4caf289818eba5fbc00ce2cff75c3cf8f13379ec388d -4a6b13d80ca961524a8d48cf33434833e04d35ac0fc08f576fa788c5cfca05eb1f1f1ffacbaf39 -de875e1b474c3b38e1c0f13379ec38952f9527b009789218294ba2229fc97194b81a49b9905f2f -d7c89197e51196e558ea11744dc9488dda0c4b2aa9519b8a62b93b0d93033ec3b98b924d67f2b8 -71ba1caf98c086f4981bdb22e6ce6c39f659aae4a7ae3dee0ff0eb8919698ce7ce81cf39b32d15 -ae4274ac82ce1a63e2719ed82c4905b7400aa952cb18c775b56d793f6aa32c766d9b87616efa8d -4d67f2b8714a95c08e6a021b9c7543361b970a03e94b342006f806ce1f50b7a70b919009658344 -85eb1019aba1620ca27829cef540fd85053fa852336a2cdc9ada766d3f9ac09ed4b8cf28cecfb8 -3a139cc860e751d7b7ce29555a4d6083b6c136e3a834279352a94b5c5fe93000eb192e99989891 -c9701db2a6925747d7745270044883736ba04ab82ff827b75ddb8f2670171da3af66c13b7e268f -1ba754a998c0066c833ddbb7ab346a0e288e4820130c5eaa2443642c066238dc3cf988089c150f -d2e4f3924a73b5edda7e3470ab848195ca3beff8993c6e9c4aa5f20436609b1ac0b7a864e47930 -b273e207659574888cc5400cf760b7f0ec13da7d42c311e687ab1c4f6fbbb61f4d40196950fcfc -eda63379dc388d4a3dcc36f50436c3e61ec5cf88f3c407df905806175e8d3bd3b9d107935a5057 -10dca9d7c6104c74b80c212a5692f0b1807d70e67317ca28838d8803fbd9239e1089deb6bc9f25 -febcef9bc93872f20d67f2d8711a95ca13d8f8380590427ef1fa2ce8e0344527a46f192c23fbf9 -bc7d1e6772d5385db974bee4f1722ae513507e907aecb94a2a556ca3526917a854da052a957681 -4aa55da0526917780495a2097e4b44af9c298fd056bbad35d9cf489baa79782d78048ef7032edb -b8920e54ead5d4e357b8fdf7a1555a10dae9528bc5d6b2e1e84ab4d56e6b4d0ea34688d3f90274 -1c45bcefbb1c9fce02b34f9a54bdb4384dfbafee307ce6e8dd1fe161556a8826cdc6636f92c6cb -f6d92bd0567b9fd6641104b8dbce3e913366c0ed21a7c46ea643925175a5a769ff3da7c10067dd -4fdc75c191cc7c6c15d9937cdb7ab96db55b5a9347b1255c6e82dbda16aa04e76ed8160547e9c0 -fdd2936fa64ed7febb232acd180de18ac696fc588c0455baecb6da2dadc99d5e96719c6183e7c4 -0acd30f6184e7f92cf6d63413cfcb0c329db7f8faad49b86b56b22353adb268b1a9c64b2a8b31f -1933a0b9eb7a5e3a5d5d876ab9b8c4b65a607b6b72878ada0131db999853833763b9e93e83e3f9 -ba8eb06d9f9b38aa12b8a9c1fd30ac6d982c2a0b85b0fc934c1675e62aedd99442016050beaa3e -94db972eabad767b6b723cee0bbb0319ec41cf6c057521e4ab5de68c028b71599e9ea6fd775da5 -9ee08661a786c1cdf0f86451137336b393934c1675d62a857446335f8cf6b008d6acab74396db5 -5b5b930770a03ecf69a7254cdb9937534f8aceacb14f7b964cb3659fc3b1fc7cc33a477ca95373 -9db1edb802c28f4d1695409e97fb27992ceaac55ea3242b3513ad9a6d225b5d56e6d4dce6cfc01 -a3d587dcc985305d32c6348c2650dbde4bb1d2b9659fed6bdef13ac4d11c2fb17387e7160a736c -b2a819752798e6c113dc9c7db9845fe6c9fda050e90ab4d56e6d4dee70b8731a4e220cb2e089c5 -637308e51c68c0e6167e39c349f36dfb24cdb98d25d53a4755aa51ccf16c54e9f86451e19ce294 -950f9e2cea1c544a33d20fd2e3b7d943f3e86db5932dadc96da5efc0b04130a7ebe5aefc360a38 -53477d98e6c0c2c7e06dedbfa5878825c77c298a851d8fa54ac7268bc2f91061ed527c49d6a53b -67f8cd8ff36bab1de9b3ecebfa47f1f4b08f5fe85c728a7d1ef325cbb7b86fcd31fce864510c1e -011828f4e0c9a2ce41a5b73547540aed39e678733943d4d1c9a202dbcb5c474d16e541656ffdef -1a954a67caba4ab3107070fe5dee1f9f2c6a36e7dcea75e464515e74f4ef1a954a67caba4aa18b -f50549fc289345552a9d2d47cba5fb708ac9a22a95ce9653a8741a2a95ce944aa55da0526917d0 -4dab678edefd112a9576814aa55da0526917a854da052a9576814aa55da0526917a854da052a95 -76814aa55da0526917a854da051e5ea58e088058e82e5b062ea8cec8f554f732e93959c7c1ee1f -3c24196bda7e9fd6641710cb0faeb5996fc97143e33621891cb931c28e5a9e1762df2b4f7ed4b7 -dd761342260e1e24c2fe730077e01ff6ec86832612cbc5de2729c4bbd88d1f23ae11cf0c96b374 -08b1ea8382091d21bbdc1da155f4606a9a704af2bab61dabc35b0b2a7b1f5dc8a8a7875729a3e1 -6c368bb193779ee73e8df33c48dbcdc16090536f3068bb60195710838d06c46c41f29eed85d8e5 -138c61d7e279db0e6d1c6c21fb77d564b75f12c4cc351963d87d99058130e03ef09b6461c43d42 -cc8154b847fdc9c4ae4d70ac54e4b77cbbd572c02add86ddec8cd21cd22c9a649c9341da89f4dd -62809d9bac4ec64cde5472eccb31bc54fe341cb89a88e74104b7d09663c1dee89050d5e5e82266 -bd7c78959a14efb65c805e499ef3315c5c9e874de75a8c7d4be3386ed7f707dcb1854963d30395 -086fcd9d71bb9b814a41ec4eec99ec2e1ea6b320a8adeebe1c645f12abab6deeb7daa9655121cc -0e0e66ab2535d3a925fe82441e6971f044b8e36393733ba7ae05770a1f889c3452120ad2e36321 -a8ec4eec93344fd2bdbd3dcbb2d65a08863d244c7b3d50a347e58500e04f5b8ed50bfbf400541a -c590795cc4ac970fafd270a512e051e6fb3193dddda6d17092628fb701df13cc336adc972aeddb -96437c8a06b299451d1ac991928e1bd8469232dd194eaaa48656120b72bb26db9ff1ae9f0f9aa6 -d76c1e90612a66861509177b0a47ae25403fcc97584c6a0e9f35bb3423cc064d12eafba91c1915 -9a891aab910ec09919e3065399986668398e6351ec91ca465d3aab4f203a60fdadc7f2e88036a7 -b4e3a6e1c5cc7af928395ea152d3166118ba32dbcacd904c6dd20135624388aeed0954a9e9835b -f960bb8c746b7077529ea4229a901158329dd45c371a78387ad3882c4bd0648abd4bd3742e0c3b -21100ac7821cafdb212c755a76c6431f0f1c4db236cf321cde822a51a3274fabe70a0b8e04e784 -5d8721e31b19d7b0c84c9963d41a6463e74c2755395e370d927ed4252e1f6e3dd6c0ac53c3a09c -0d2f68d6cb47a83dc86c84e318d8e19ccfa1601da3a31f1870ebcda9e03c831a03f3783a922a91 -5e1a3a71181b50bc87b33c65339b4d262db8d1ad463aaa5975512383acd90ce64d048f504fe1fe -443a81cdc5981a828be938715a666e32072d97f656b91033989877a36e87c27ddf317312cee7b8 -ed023c895b4d835a398982d898a48d4d2a4d69ae54f2a261da802a02dc408d6dc7429520c783b2 -1238cda8a787e5e155eaba71b01fb7676013234cc4743ac511627dc1add1027c49e24ea07e45b4 -4a1161b4994b7f0bcdb8b537e09ce5753eb01d8740b9d454dd824be5522bc22c0f11937d924458 -65db6b260e5834aa3130f5888ec53c15c246952c2f7688087a9490996de784391cf6181a713e88 -a3fdfddc68638e6710de562a75cabdbf3b51ae6b0f6d9bb816d47f4090adc7d22aa93cfa2266bd -7c7895e094928336da7fd021890d991566d9610b8a52ccf1808941fb9d28ed2d7d89b8507ab9cd -fe44447c1e410648d3200b49403d544953524924a852d89bf1a80e76f44259cac0cd3cb394851a -e9a2f0252c97c82c1b5092d316d41eec09664e23e2802b99c38900c9a09e6290c6be54c9a3a5c2 -03876468957c8bf8a2c36259cdde722c54290b21bc0dd59fd38c7a7a581e5ea50339123fc15162 -7827432e05f732866895e0f60fa30323b4e2a02bb5743ba91d4e26c164b82fc2c91c6e50287521 -5f73a9d5c36b57142af9761f556221f10dd237723232e41121a930b14c24011e6a4d25acbb9051 -4844dee68b2ee64239af597da32f5804756757602e2855ca966374810687845a25c818871919f1 -115ed796630d229fce7d5029c06ac629463d3d2c0fadd2c8c56b2523cc01c0460e81cc0c9fec40 -37431850194f9d4560bb21090316e3840afb9e5d1389e7e19305945a1cca591cff9709a709d53d -e1627e496650f4e04e60c78c77a1fe17867303ca9c033b35b821287853e2ecfba615c5ed1e8107 -4a32e19e33874da15e07760f2c43aa3caed91017d3a019d582b1e7b5238f1f109e791e69b3399e -7987af2eafed76c9acc6e448acbe9d603f62d77628ec74f3b14293ba500b4d1dc6f9e254a39e1e -968756c99159025ca2cc84c1310e122a67d760c9aa8233b0e4e899a625eadd780c85543e360c01 -968ef7060183a2a30bd531cc179a21735c79b83d5be513de3880bb136b7d8e4706013c8f78f094 -1c83a9181f43adbd6551d6466b7bc928844719743978c25904f0000d18f25c46024fae31867b42 -0e58920f0a077e8403ffc2e2910973b47e426519e8871d4f3e3e01a32dc71a1af218b324810ae3 -a9463d3d2c0fad52692432204b7e29897ab3b20e9c6f5f453e183dd2a8b9f51ab34c662e50e21c -e8b4b0589c8fdaae79bfc395872c15a8ab55fb5eb2e558ebe7a62a11e7ca23d41e2a2e8c4aa55d -a0526917a854da052a9576814aa55da0526917a854da052a9576814aa55da0526917a854da052a -9576814aa55da0526917a854da052a9576814aa55da0526917a854da052a9576814aa55da05269 -17a854da052a9576814aa55da0526917a854da052a9576814aa55da0526917a854da052a957681 -4aa55da0526917a854da052a9576814aa55da0526917a854da052a9576814aa55da0526917a854 -da052a9576814aa55da0526917a854da052a9576814aa55da0526917a854da052a9576814aa55d -a0526917a854da052a9576814aa55da0526917a854da052a9576814aa55da0526917a854da052a -957681fbaa54715550826c54a9e2ca51a9b40b542aed02954abb40a5d22e50a9b40b542aed023b -a812d1bf8f8ede937e863c0bce6987bba8d2df3d2b9646d5cf908fce79ed702755fac6d950a894 -9d0d854a3ae051a954aa543a57eeabd22ffce22fa5bffc2b7a65fe0ebdb09907aa14c600676ac5 -b3f6c23c9bbb53aba3028e735f95bc288014b0c01d893b96fbc90dfc9b6589ab7ed7781c55fad5 -f97c1efd9a6dbe457f09d6fed1affcca4fd35ff9955fbef6ffaad8e33c50a5469cfa6e64f97e12 -c39ae083c831986b872af6385b556abb4992a476c2d23ccb52963333cf5d8131d3689a653e2a24 -f4dd50e6b1f4a55f7eebda3f7ee7fc1bffe8d77ff91bdff88df4d77ffdd7e6bffeeb6fd16fead8 -633c38c70ba3d0e242c49cef75bb6dcb720c63cc5b3af238db55a2a09204fc290ab3dcce32473a -8f40fd0ddacbb2567a7cc78fa54aff84fec2b7a7d19cce4199f96faab0f457d5ef064ea012b5b8 -1b3a19e47a6ddbef19a99d52dbeeead8636c556946fdae0fbec22c88890cd7485dd746955a740f -fe9a145c4c09b6ce63a9d237e998bee3addf4abf117dfb37be69cee76fc13ff3d77e51c71ee324 -be94c56e833728644b0e4f62daceb258e6541bb98f4acc6944b34cd803c8f1fc5660b75a16aa14 -805365edb18102c5ba842af158aaf496fd1be63fa56f812f7d3b38d66ffed637dfd2119b39892f -19a69bf198c3f29ecf67941b86f9102a85e91e6dbb4627f56105a45ee5780cf7cc62295082cbeb -3c8e2afd86fdd6cf9bbfa47de91bbf4c7fe39be63ffdd6f93fd6b1c739992f8d6b0e4d70a56d67 -34dcdb731e4225dfcc0c91d0103da70752730a6aaf7c69cc3985fadedbc4977efeff7beb57cd77 -46da97be497ffb9bd13bdff9ce9fd7b1c779a04a1ea3501425605e2841846d65d410c27e089598 -c89831b52c54bb9d760a5ff2a05cea98a01c1c61fc3629977e357d2bfab5776a5f1acfdffad647 -ccf142eae68eeb452282d2dd8b12ccac1eaa5c12493668655dbb0762e0f66b75bc107c88c7d9f4 -ed52c7fb8db77ee19bd16fff16fda5f4dbbff1abe63ff9161afde6b77ceb3bffa98e3dc68373bc -0918534005cfa263284f0250a91d1ba75769603a2e30365d0aa51c28e5dbb9cba54aad6866d861 -c879db78bb3c2ffdc26fffb3f9cf7fe3b7e6bf6effe35f78eb57a068facd393ce3c2c3d3661eac -12e0502cf16b709f1b7e964e1b4cae6f669b4a2c9886334de24040ee7483543d1ca3272189a57e -d7782c55027e1bfffce22f7ee39ffd13b97a5f4ea4d25ef97d102684baf436b6a904cfac2b7acb -fd2d03bb54b2f1b5d3e3aad26938914aa7619b4a0f4da552a5d2b952a9b40b546db5bb803ef333 -6069d4b3e39c76b8832abd0da954da052a9576814aa55da0526917a854da05b44a8154a9e2aa82 -2a054aa58aab4ca5d22e802a8df472c55565842a8dde5d719519a14ac84f575c55409d20f8ff01 -fe1f8c621bb876530000000049454e44ae426082 -}\par - -\pard\widctlpar\sa200\sl276\slmult1\f1\'d4\'da\f2 Windows 7\f1\'d6\'d0\'a3\'ac\'c8\'e7\'b9\'fb\'c4\'e3\'d0\'e8\'d2\'aa\'b2\'e9\'bf\'b4\'ce\'c4\'bc\'fe\'b4\'f3\'d0\'a1\'a3\'ac\'c4\'e3\'d0\'e8\'d2\'aa\'d4\'da\ldblquote\'b2\'e9\'bf\'b4\rdblquote\'b2\'cb\'b5\'a5\'d6\'d0\'d1\'a1\'d4\'f1\'cf\'d4\'ca\'be\'d7\'b4\'cc\'ac\'c0\'b8\'a3\'a8\'b0\'b4\'bc\'fc\'c5\'cc\'b5\'c4\f2 Alt\f1\'bc\'fc\'bb\'f2\f2 F10\f1\'bc\'fc\'cf\'d4\'ca\'be\'b2\'cb\'b5\'a5\'c0\'b8\'a3\'a9\'a1\'a3\f2\par -Windows 8\f1\'d6\'d0\'d3\'d0\'be\'ad\'b5\'e4\'b4\'b0\'bf\'da\'bd\'e7\'c3\'e6\'ba\'cd\'c8\'ab\'c6\'c1\'bd\'e7\'c3\'e6\'b5\'c4\'c1\'bd\'b8\'f6\'d7\'ca\'d4\'b4\'b9\'dc\'c0\'ed\'c6\'f7\'a3\'ac\'d0\'e8\'d2\'aa\'b7\'d6\'b1\'f0\'c9\'e8\'d6\'c3\'d2\'d4\'cf\'d4\'ca\'be\'b9\'a4\'be\'df\'c0\'b8\'a1\'a3\f2\par -Internet Explorer\f1\'b5\'c4\'cd\'f8\'d2\'b3\'b1\'ea\'cc\'e2\'bf\'c9\'c4\'dc\'d4\'da\'b0\'b2\'d7\'b0\'b1\'be\'c8\'ed\'bc\'fe\'ba\'f3\'b2\'bb\'bb\'e1\'d7\'d4\'b6\'af\'cf\'d4\'ca\'be\'a1\'a3\'c4\'e3\'bf\'c9\'c4\'dc\'bb\'e1\'bf\'b4\'b5\'bd\'c6\'f4\'d3\'c3\ldblquote\f2 ClassicIE BHO Class\f1\rdblquote\'bc\'d3\'d4\'d8\'cf\'ee\'b5\'c4\'cc\'e1\'ca\'be\'a1\'a3\'c8\'e7\'b9\'fb\'bf\'b4\'b5\'bd\'b8\'c3\'cc\'e1\'ca\'be\'a3\'ac\'c7\'eb\'b5\'e3\'bb\'f7\ldblquote\'c6\'f4\'d3\'c3\rdblquote\'b0\'b4\'c5\'a5\'a1\'a3\'c8\'e7\'cf\'c2\'cd\'bc\'cb\'f9\'ca\'be\'a3\'ba\f2\par -\f4\lang9{\pict{\*\picprop{\sp{\sn wzDescription}{\sv Image}}{\sp{\sn posv}{\sv 1}} -}\pngblip\picw16287\pich863\picwgoal9234\pichgoal489 -89504e470d0a1a0a0000000d49484452000003c20000003308030000006b1341be000000017352 -474200aece1ce90000000467414d410000b18f0bfc6105000002c7504c5445ffffff000000f2b1 -00acacacf0f0f0efefefeeeeeef6f6f6ededede5e5e5e1e1e1f2f2f2a5a5a5cecece3e3e3e9191 -91c6c6c6696969a6a6a6ececec606060d9d9d94343439f9f9f3636365656568b8b8b1b1b1bbaba -bae4e4e4666666636363282828494949818181e6e6e6d3d3d31515152b2b2b1d1d1dc9c9c97171 -71bdbdbd4a4a4aadadad343434141414707070aeaeae6767670b0b0b8383833535351313131111 -11020202333333c4c4c48080802121210404041717178686867b7b7b0909099090904646460a0a -0abebebe8282827f7f7f4141413f3f3fe9e9e9a0a0a07474744040402a2a2a797979dddddd7272 -728989896d6d6d7676767878789e9e9e6262620d0d0dc0c0c0848484242424d1d1d17e7e7e5a5a -5a8f8f8f3a3a3ab0b0b0dfdfdf999999abababd0d0d05555550c0c0cd7d7d7b6b6b63737370808 -089c9c9c1212125151512f2f2f6c6c6c4f4f4f1616167777773b3b3bb8b8b85e5e5e1e1e1e3232 -320f0f0f9494946f6f6f656565a3a3a37d7d7dc5c5c54c4c4c060606b7b7b79393934b4b4bb9b9 -b92323235959592c2c2c5c5c5c2d2d2d5353535f5f5f262626c1c1c13c3c3c5252525d5d5d6a6a -6aa2a2a21919190505051a1a1aa7a7a70e0e0e474747878787010101cccccc4d4d4d9898982525 -259b9b9b7575754e4e4e383838d5d5d5b2b2b2c7c7c72e2e2eb5b5b53d3d3d6868689797973030 -308c8c8c6b6b6bdbdbdb2929291f1f1f8d8d8d454545b3b3b31c1c1cebebeb616161afafaf5050 -507a7a7ac7c6c7b7b6b6f9f9f9cbcbcb202020101010b1b1b1a8a8a85b5b5b484848c3c3c38585 -859595958a8a8a6e6e6ecfcfcfc8c8c8a7a5a5222222393939181818929292272727313131eaea -ea575757b4b4b49d9d9d070707969696bcbcbca9a9a9585858888888c2c2c27c7c7c4444446464 -64a4a4a4424242dadada030303d2d2d2737373545454e8e8e89a9a9a8e8e8ecdcdcda1a1a1e7e7 -e748a4bf2f000000097048597300000ec400000ec401952b0e1b00000ce849444154785eed9d89 -5753571ac03f27324c438cc6148a46b60ae206289208221511430312da88c51a1677143106a934 -da3aa8105050112322d5ba51a4a275292e5815b558ebccd852e9b475196d6da7c32cfd23e62eef -a18124b496aa39fd7ee7e4be7bef77df77939efcb8f7bdbc63014110f7a61f82206e0b55989b8c -2088fbc115fe0382206e092a8c206e0d2a8c206e0d2a8c206e0d2a8c206e0d2a8c206e8da03082 -206e0a2a8c206e0d2a8c206e0d2a8c206e0d2a8c206e0d2a8c206e0d2a8c206e0d2a8cfc0e91f4 -217d9fd11e9edf39a830f23b44d2bfcf1015169a7d0e2a8c203d9178f419a2c242b3cf418511a4 -27a83082b835923ff619a2c242b3cf418511a427a8f02fc2d353a820c83382e44f8e794e2a547e -3ea2c242d3158f91bd2bbf731c2bec251319405af281831494c1e0a1ecc2039ef7069f1748d897 -9e3164282954b406c3868af8b1b67f003b5086050a95df8ea0170186ab8285d693244438324678 -8047e8c851bc319affe718cc5bc8d3c7997063fcf971ec8b22c1bcc339bf40e1c7c8fed80a4bc3 -04c22300c6a93ca8c2e3232740949aa399a88e06750c4c8a252bec64728267dc4b53a64c8927af -a9e01f9b90e0ab494848989608d3b55a6dd2cba4d0ea20392565466a0a2119409ff60abc6a98c9 -677b143ffe674020dd306a9650b58fd80fe328bc5f03afe08cd952cfd7e7188d461d9b04409739 -242bdbd109de394a5ea16f24dd6030cc15e74b9f478af90b48b1306291ff683a86e034119b1960 -3179e592348625b2a54bf37c972ecb978625792c37994c2bcce68230b359cf0623cf001261217a -9495858585a9d34851f88672555152d29b96a4a4a4f8b94ae56a9972cd5b6fbdf5f6da3f0b23ed -1015169a8f501c4959174f8aa05eb28fd7af572a5de6778e6385bb48200afbbeba611880475289 -d047282d20055118ac295ce1f9be2f050404e491d714f02f03482e279daa44d838a4acccb4a9ac -aca24c0a66df4a86af1960f396ad3021fee1f2dc85345ea830345543e2b609751aa9161732fb61 -0ce59ced3ea08db7d976c8c26c4545d3f46c1228ad295ca12876748247ba50a16f4453b571e34e -713e0df96450ac009855bb2ba26a711d1be53c119bf979d53b2ad5ae524d408055ab341ae3761b -75e1e0b1126256c7964a01e2d60b83916701470a9bf7bccba919ac5c5545dc0a249db6b9cad17b -172a2dc58b16ed7ba9900fb4c7b9c28cfd162ea6ebeccb7322c7285de6778e13850f082b065158 -7bb03efc3d6838644924ed9d1184ec870acb1ac16b1da9bf7fd88f2caf79e4950bfe494d4da362 -9b9a9a42c819478ed28df4c0582f0033f97340893043b2fc0383600aa37ea450110c8911d64732 -a2a9881c3d1a78c4b481f60e4aa38dddc7689d4638cb86bc55075a1f80e3af1490d30b33d9249e -27f8ac2c2f9f66e46eb1a09064741afe5e84f9588328ac534f229559d38ca4749188cd3ccf1869 -3c195d1a0be0a3fdd06acdb05aad93c92b079a3743635ed1a9a2a275e294c8534772ba27e63342 -2556767ad5d6a1430f9f20173feab3a75bd69c3e6d69a48111c92c6e8fa8b0d0ecc67b91e778a5 -b7eca5e11fb8cc2ff2d1f90b0017ce7f2434094e14f629a9631c89009f53910103ce84afd4c72d -3a0695d1fefe25610f152634e4030c7e4771516330e4190c71cde0dfeae31376c9c7c7876ca4e1 -f2a5d1fe018de157c840736a1023d50c3ae93c629926a67c02b98afe187cf75aa361931660fc01 -6ac8f41a53c861969bb8f45a1b40a66a53ec5512f1c92bf08193aa43350ba5f166532dd901b008 -cfa2d3cdf3e20a67a513af0f7ec226b926ec7b695e368d77f926eba7aca05d2c199da64b613a9f -a8f0d156da09e5f4ef998b446c66800cb8e6cb1506b8ee4f3a5aebc11ba8c2cd56d8be006c1759 -02e419c0a1c296539c1d44b250b9fc88452e97c79f3d5df3175161c37236d01e970aff35b476e6 -9579b4d66bf6ea5497f945ceffedfc850ba4109a04670a97173342c9d23330507aa38248e11d54 -029564efdb64aff0b55480a5858a8b64f5b2107f9a216055d746faa442b15cb1346afc18856228 -985b36305ac8469aa189d17f46aea2b7402340e8ceb5bee44b3f971892a86e80fa107a250a9aa2 -b8cf4743625c3054975077c82adc905f0a5e5ed27ed930cb2644842c146df984092a59e61c3f88 -3eca3aaae5ecc0cc63d34c27d378b18274f1644ce154936990301f6b98d40a50cc60e706910fe4 -2a110fa485407b0e5758bf39f28bf2f2cae871f36f8a0a6f54a0c2cf10928e9e048d172ad9173b -3efeb2a3634320a9dbcece6e2507cb17234634766c2f67717b448585a61d238f17b66515b6ee23 -5597d9ff4e8aa99fbbcc2f42f5a51a0b4d02d137d791c2c2a6579208c36ccbda2f9b290acf1e0a -93abbc218b00be32288c2ab673cc6b866d076432bd5526931524b6936df7b6c95f8f2787a98f6e -a4399a987916ef6fa2c956b5c23772ea704dfd82406a883e89c482d6b01192c4fd21b97a5b50d0 -c14041e1b52fd3807407b904cd031e11b250b4a15555f93298b10b8eb03d37ac38c80ecc3c36cd -2d755522b08274f1644ce1d5b76feb84f958e3b65c01d797b2f00cba25709188b3fe069c940bab -f087331527c93afe62ea7c51e13b0654f819c2917049a3f467381d1d8bda9a9ad6b4928bc1f0b3 -6f9b48cc7277dfbefa8e7f14f19176b850787d6bf4b1a0ac8eeac816a3ebec54e17b375ce6ef82 -386c6730f4cb85fe2e148605032b3252efcfaeab2bbf53f72e40e59c8484b02e8547cabf05ef0c -b28d05830256ae1e779c2cd9deb0676f4ecea1da9c9c9c78faedfeae28e960395b22cdf9458cfc -870ac32efdfdbbb02f74f5ee9bd9702065793a3564e603121b436f26d311d0dab4ff08f9b48305 -8553c856998b04eb8047781606db48cb20f833bfd465ace3854bf4ee323b4198c618903f9015a4 -8b27630a8b1b69321f6f908df477167ab2328edea5769188f543a60f4cf0e10a1b271f57ab8eaf -585b4357eee6cdc6d556783009157e8690e87a525e17d81240c9d3e9126e4445a566444545e58d -5b709cc42ccd7444e30d5a76435458683e4266ed81ef756d593added1bf2deb3e754b9ccdf454f -85fbbb5658f1c0837c898f91a588dd97ad0c22ce8ce50a6b366654a57915a6aa973085af1424dd -a143e050fbc33bd2caf135b7fd03aed952e8ed2c8394617844e159d1a15ea068838519d930f6d0 -29293564bda601726d24291b21cb1839576d048f066a6df45d68d60c021ddd0453857984676108 -0a13acc2cdeb435bc99bbf45f3f269ea01ce54b08274f164741a66ad301f6fd03bd2375ff6035d -f1211a72918885e1410ae8dbc46b6128d34a8357ff3040ba667ad20fe1abacd2dad7a9c2e70e74 -dd7d439e268e14d6bc11b88f553274bad44f74baf64052b78dfba78d1cb8c2470fd2b21bce15ae -d092822aacfb3eb1b7ecb7f6d8aebacc2fe26023ed58e1e203fc9896ba6243c5085593a8b01f7f -5a43120770a55fec60d81d16386f54480c5518f6f46bbb4a62b979b95d0ab7ab7c77d33bd2b74c -35fa1e1be9fb13e7906bca2c8052b5c914980df045095f5ef5052615bf23aeb15c0a25d7b4dfaa -8f9cb846233f8617c38f6ad38963b44114e6119e85a13d5156a6a60a7be60fe33df5f2c8d8b842 -9a974f93a97ab3752e2b58429a8cbe118d45a32913e7eb523857be38b6564e3e8fcb442cdc509b -0bfeff2a5d67b56668d34758352a5355dcdefd3bc356452c01e5921cdf13855f79bd17baea3e1b -8c3c65249d3df846d519f86f56cbe8bcfaf5d5cecef64052ff7c6c67eadb9d9d965a8b6579674b -358bdb232a2c34bbd396c50ebd64cfc8df35bbd3657e11aa6fb7db598e15de7e69c73acac4cdc1 -5afd1608b5d9f23436db461ebcbf2bf62680f76b1e505d9b40ae865bb6128553ac372f7fab8e4d -3877a7900c492e6fa832af3bf60afd51863d9df59f8160b6d818167115ee4299c89ec1bcc16e61 -11bc62ba3d93397c8bb0ca1a75001eb3859f9c285d118e363025c5265b68926f5275a548bb95c6 -2b7c9ae02da46405c52e9903d26ef1fd33c565a2a82ff7df5c3cb5f484d128d71a1b3ccbb4d742 -9a86a9375792d0b1eb21413a5dd662fda082a543f868e4e9e240b8e88d9d81052acac4ce9628d2 -d11ed858d2b6a3a1f3de033ea0f3e2a9ff0ab547f9790af79ebd97fc220e7e5472ac30596fd9a6 -d7e1f7fbdef599f4b94bc2ca645a7ae5c2371b2268d553f263f27cfa10c3ee937ed50a72ed4cd9 -30951feb8407ad66f14725ba234d3f22d47e05c3e603ecab87bb6b27902dee13a54e37a87d1c48 -ff073097fe689c7d3bb714a0f130fdf17ae118b6a9bf9d0c973f219725c8d347f2530fee2dfc69 -db59561bf3d3d0c1e4503a69c0f3959f92cafbeff2ff1577c53916ee86a8b0d0eccea84c76e83d -7b2ff99de354e1274e892fbb1c4590df1e67c23d06bd28fcab71238511e4892119de67880a0bcd -3e071546909ea0c208e2d6489eeb33448585669f830a23484f506104716b847fa2b94fe8fb8cf6 -f0fcce418511c4ad418511c4ad418511c4ad418511c4ad418511c4ad418511c4ad418511c4ad41 -8511c4ad418511c4ad610a2308e2aef4ebff7fadf2190f380909f40000000049454e44ae426082 -}\f2\lang1033\par -\f1\'c8\'e7\'b9\'fb\'bf\'b4\'b2\'bb\'b5\'bd\'a3\'ac\'c7\'eb\'b0\'b4\'bc\'fc\'c5\'cc\f2 F10\f1\'bc\'fc\'cf\'d4\'ca\'be\'e4\'af\'c0\'c0\'c6\'f7\'b5\'c4\'b2\'cb\'b5\'a5\'a3\'ac\'c8\'bb\'ba\'f3\'d4\'da\ldblquote\'b9\'a4\'be\'df\rdblquote\'b2\'cb\'b5\'a5\'d6\'d0\'d1\'a1\'d4\'f1\ldblquote\'b9\'dc\'c0\'ed\'bc\'d3\'d4\'d8\'cf\'ee\rdblquote\'c3\'fc\'c1\'ee\'a3\'ac\'d5\'d2\'b5\'bd\ldblquote\f2 ClassicIE BHO\f1\rdblquote\'b2\'e5\'bc\'fe\'b2\'a2\'bd\'ab\'c6\'e4\'b8\'fc\'b8\'c4\'ce\'aa\ldblquote\'c6\'f4\'d3\'c3\rdblquote\'d7\'b4\'cc\'ac\'a3\'ac\'d4\'d9\'d6\'d8\'d0\'c2\'c6\'f4\'b6\'af\f2 Internet Explorer\f1\'a1\'a3\f2\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl480\slmult1\cf5\b\f1\fs28\'d0\'b6\'d4\'d8\f0\par - -\pard\widctlpar\sa200\sl276\slmult1\cf0\b0\f1\fs22\'d2\'aa\'d0\'b6\'d4\'d8\cf3\b\f2 Open-Shell\cf0\b0\f1\'a3\'ac\'bf\'c9\'b0\'b4\'d2\'d4\'cf\'c2\'b2\'bd\'d6\'e8\'b2\'d9\'d7\'f7\'a3\'ba\f2\par -1)\f1\'b4\'f2\'bf\'aa\'bf\'d8\'d6\'c6\'c3\'e6\'b0\'e5\'a3\'ac\'d1\'a1\'d4\'f1\ldblquote\'b3\'cc\'d0\'f2\'ba\'cd\'b9\'a6\'c4\'dc\rdblquote\'a3\'ac\'d5\'d2\'b5\'bd\'b2\'a2\'cb\'ab\'bb\'f7\ldblquote\f2 Open-Shell\f1\rdblquote\'a3\'ac\'c8\'bb\'ba\'f3\'b0\'b4\'d5\'d5\'cb\'b5\'c3\'f7\'b2\'d9\'d7\'f7\'a1\'a3\'c4\'e3\'bf\'c9\'c4\'dc\'d0\'e8\'d2\'aa\'d6\'d8\'d0\'c2\'c6\'f4\'b6\'af\f2 Windows\f1\'d2\'d4\'cd\'ea\'b3\'c9\'d0\'b6\'d4\'d8\'c1\'f7\'b3\'cc\'a1\'a3\f2\par -2)\f1\'c8\'e7\'b9\'fb\'c4\'e3\'b0\'b2\'d7\'b0\'c1\'cb\'c8\'ce\'ba\'ce\'b6\'ee\'cd\'e2\'b5\'c4\'bf\'aa\'ca\'bc\'b2\'cb\'b5\'a5\'c6\'a4\'b7\'f4\'a3\'ac\'c4\'e3\'d0\'e8\'d2\'aa\'d7\'d4\'d0\'d0\'bd\'ab\'c6\'e4\'c9\'be\'b3\'fd\'a1\'a3\f2\par -} - diff --git a/Src/Localization/Chinese/OpenShellTOC.hhc b/Src/Localization/Chinese/OpenShellTOC.hhc deleted file mode 100644 index 9835e23..0000000 --- a/Src/Localization/Chinese/OpenShellTOC.hhc +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -
    -
  • - - - - -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
  • - - - - -
- diff --git a/Src/Localization/Chinese/OpenShellText-zh-CN.wxl b/Src/Localization/Chinese/OpenShellText-zh-CN.wxl deleted file mode 100644 index afbb142..0000000 --- a/Src/Localization/Chinese/OpenShellText-zh-CN.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - 此安装程序用于 32 位 Windows 操作系统,请下载 OpenShell 的 64 位安装程序。 - Open-Shell 要求操作系统为 Windows 7 或更高的版本。 - 当前已经安装了更新版本的 [ProductName],安装程序将退出。如需继续安装,请先卸载当前版本。 - 经典资源管理器 - 经典资源管理器能为系统的资源管理器添加一个包含复制、粘贴、向上等按钮的工具条,替换复制文件的对话框,并修复一些系统易用性的问题。 - 经典开始菜单 - 经典开始菜单允许你自由定义自己的开始菜单,或对系统的开始菜单作出一定的调整。 - 经典 IE - 经典 IE 让你自定义 Internet Explorer 浏览器的标题栏和状态栏。 - 自动更新 Open-Shell - 安装定期检查 Open-Shell 是否有新版本的组件 - 查看 Open-Shell 的使用说明文档 - 查看 Open-Shell 的介绍文档 - 编辑 Classic Explorer 的配置 - 编辑经典开始菜单的配置 - 编辑 Internet Explorer 的标题栏和状态栏配置 - 修改 Open-Shell 的新版本检查方式 - 创建开始菜单文件夹 - 访问 Open-Shell 网站 - 捐赠给 Open-Shell - 访问我们在 Facebook 的页面 - 查看使用文档 - Open-Shell 帮助 - Open-Shell 说明 - 更新 Open-Shell - 经典资源管理器设置 - 经典开始菜单设置 - 经典 IE 设置 - 打开开始屏幕 - Open-Shell,使你的 Windows 操作系统用得更得心应手 - diff --git a/Src/Localization/Chinese/WixUI_zh-CN.wxl b/Src/Localization/Chinese/WixUI_zh-CN.wxl deleted file mode 100644 index 962630e..0000000 --- a/Src/Localization/Chinese/WixUI_zh-CN.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - 上一步(&B) - 下一步(&N) - 取消 - 完成(&F) - 重试(&R) - 忽略(&I) - 是(&Y) - 否(&N) - 确定 - 打印(&P) - - [ProductName] 安装程序 - WixUI_Bmp_Banner - {\WixUI_Font_Title}请阅读 [ProductName] 许可协议 - 我接受许可协议中的条款(&A) - 单击“安装”使用默认选项为所有用户安装本产品。单击“高级”可更改安装选项。 - 单击“安装”使用默认选项仅为您安装本产品。单击“高级”可更改安装选项。 - 安装(&I) - 高级(&D) - 8 - 12 - 9 - 8 - 宋体 - - [ProductName] 安装程序 - 查找范围(&L): - WixUI_Bmp_Up - 向上一级 - WixUI_Bmp_New - 新建文件夹 - 文件夹名称(&F): - WixUI_Bmp_Banner - 浏览到目标文件夹 - {\WixUI_Font_Title}更改目标文件夹 - - [ProductName] 安装程序 - 是否确实要取消安装 [ProductName]? - WixUI_Ico_Info - 信息图标 - - [ProductName] 安装程序 - 选择树 - 浏览(&R)... - 重置(&S) - 磁盘使用情况(&U) - WixUI_Bmp_Banner - 单击下面树中的图标可更改功能的安装方式。 - 选择所需的功能安装方式。 - {\WixUI_Font_Title}自定义安装 - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - 位置: - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 突出显示的卷没有足够的磁盘空间用于所选功能。您可以从突出显示的卷中删除一些文件,安装较少的功能,或者选择其他目标驱动器。 - 安装选择的功能所需的磁盘空间。 - {\WixUI_Font_Title}磁盘空间要求 - {120}{70}{70}{70}{70} - - [ProductName] 安装程序 - 信息文本 - WixUI_Ico_Info - 信息图标 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 单击“完成”按钮退出安装向导。 - {\WixUI_Font_Bigger}[ProductName] 安装向导已完成 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安装向导提前结束 - 由于发生错误,[ProductName] 安装向导提前结束。您的系统尚未修改。若要稍后安装该程序,请再次运行安装向导。 - 单击“完成”按钮退出安装向导。 - - [ProductName] 安装程序 - 产品功能 - WixUI_Bmp_Banner - 选择所需的功能安装方式。 - {\WixUI_Font_Title}产品功能 - FeaturesDlgItemDescription - FeaturesDlgItemSize - 安装(&I) - 更改(&C) - - [ProductName] 安装程序 - 退出(&X) - WixUI_Bmp_Banner - 以下应用程序正在使用需要通过此安装程序更新的文件。请关闭这些应用程序,然后单击“重试”继续安装,或单击“退出”退出安装(&R)。 - 一些需要更新的文件当前正在使用中。 - {\WixUI_Font_Title}使用中的文件 - - [ProductName] 安装程序 - 更改(&C)... - {\WixUI_Font_Title}目标文件夹 - 单击“下一步”安装到默认文件夹或单击“更改”选择其他位置。 - WixUI_Bmp_Banner - [ProductName] 安装位置: - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 选择安装范围和文件夹 - {\WixUI_Font_Title}安装范围 - {\WixUI_Font_Emphasized}只为您([LogonUser])安装(&J) - [ProductName] 将安装在每用户文件夹中并且仅供您的用户帐户使用。您不需要本地管理员特权。 - [ProductName] 不支持每用户安装。 - {\WixUI_Font_Emphasized}为此计算机的所有用户安装(&M) - [ProductName] 默认情况下安装在每计算机文件夹中并且可供所有用户使用。您可以更改默认安装文件夹,并且必须具有本地管理员特权。 - 安装文件夹(&F): - 更改(&C)... - - [ProductName] 安装程序 - 安装目录必须位于本地硬盘驱动器上。 - WixUI_Ico_Info - 信息图标 - - [ProductName] 安装程序 - 我接受许可协议中的条款(&A) - WixUI_Bmp_Banner - 请认真阅读以下许可协议 - {\WixUI_Font_Title}最终用户许可协议 - - [ProductName] 安装程序 - 更改(&C) - 更改安装 - 修复(&P) - 修复安装 - 删除(&R) - 删除安装 - WixUI_Bmp_Banner - 选择希望执行的操作。 - {\WixUI_Font_Title}更改、修复或删除安装 - 允许您更改功能的安装方式。 - [ProductName] 没有单独可选的功能。 - 从您的计算机中删除 [ProductName]。 - [ProductName] 无法删除。 - 通过修复丢失和损坏的文件、快捷方式和注册表项,修复最近安装的软件中的错误。 - [ProductName] 无法修复。 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 通过安装向导可以更改在您的计算机上安装 [ProductName] 功能的方式,或将其从您的计算机中删除。单击“下一步”继续,或单击“取消”退出安装向导。 - {\WixUI_Font_Bigger}欢迎使用 [ProductName] 安装向导 - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 以下应用程序正在使用此安装程序需要更新的文件。可以让安装向导关闭这些应用程序,稍后再尝试重新启动这些应用程序或重新启动计算机。 - 一些需要更新的文件当前正在使用中。 - {\WixUI_Font_Title}使用中的文件 - 关闭应用程序,然后尝试将其重新启动(&C)。 - 不关闭应用程序。需要重新启动(&D)。 - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 突出显示的卷没有足够的磁盘空间用于安装当前所选功能。您可以从突出显示的卷中删除一些文件,安装较少的功能,或者选择其他目标驱动器。 - 安装所需的磁盘空间超出了可用磁盘空间。 - {\WixUI_Font_Title}磁盘空间不足 - {120}{70}{70}{70}{70} - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 突出显示的卷没有足够的磁盘空间用于安装当前所选功能。您可以从突出显示的卷中删除一些文件,安装较少的功能,或者选择其他目标驱动器。 - 安装所需的磁盘空间超出了可用磁盘空间。 - {\WixUI_Font_Title}磁盘空间不足 - {120}{70}{70}{70}{70} - 或者,您可以选择禁用安装程序的回滚功能。禁用回滚功能将在因任何原因中断安装时,阻止安装程序还原计算机的原始状态。如果希望冒险禁用回滚功能,请单击“是”。 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 安装向导正准备指导您完成安装过程,请稍候。 - {\WixUI_Font_Bigger}欢迎使用 [ProductName] 安装向导 - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 安装向导正在安装 [ProductName],请稍候。 - {\WixUI_Font_Title}正在安装 [ProductName] - 安装向导正在更改 [ProductName],请稍候。 - {\WixUI_Font_Title}正在更改 [ProductName] - 安装向导正在修复 [ProductName],请稍候。 - {\WixUI_Font_Title}正在修复 [ProductName] - 安装向导正在删除 [ProductName],请稍候。 - {\WixUI_Font_Title}正在删除 [ProductName] - 安装向导正在更新 [ProductName],请稍候。 - {\WixUI_Font_Title}正在更新 [ProductName] - 安装过程已完成 - 状态: - - [ProductName] 安装程序 - 安装(&I) - WixUI_Bmp_Dialog - 安装向导将在您的计算机上完成 [ProductName] 的安装。请单击“安装”继续,或单击“取消”退出安装向导。 - {\WixUI_Font_Bigger}正在继续执行 [ProductName] 安装向导 - - [ProductName] 安装程序 - 典型(&T) - 典型安装 - 自定义(&U) - 自定义安装 - 完整(&O) - 完整安装 - WixUI_Bmp_Banner - {\WixUI_Font_Title}选择安装类型 - 选择最符合您需求的安装类型 - 安装最常用的程序功能。建议大多数用户使用。 - 允许用户选择要安装的程序功能及其安装位置。建议高级用户使用。 - 将安装所有程序功能。需要最多磁盘空间。 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安装向导中断 - [ProductName] 安装程序已中断。您的系统尚未修改。若要稍后安装此程序,请再次运行安装程序。 - 单击“完成”按钮退出安装向导。 - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 安装(&I) - 单击“安装”开始安装。单击“上一步”查看或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好安装 [ProductName] - 更改(&C) - 单击“更改”开始安装。单击“上一步”查看或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好更改 [ProductName] - 修复(&P) - 单击“修复”修复 [ProductName] 的安装。单击“上一步”检查或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好修复 [ProductName] - 删除(&R) - 单击“删除”可从计算机上删除 [ProductName]。单击“上一步”检查或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好删除 [ProductName] - 更新(&U) - 单击“更新”以更新计算机上的 [ProductName]。单击“上一步”检查或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好更新 [ProductName] - - [ProductName] 安装程序 - 返回(&R) - 安装程序正在确定磁盘空间需求,请稍候。 - WixUI_Ico_Exclam - 感叹号图标 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 安装向导将在计算机上安装 [ProductName]。单击“下一步”继续,或单击“取消”退出安装向导。 - 安装向导将更新您计算机上的 [ProductName]。单击“下一步”继续或单击“取消”退出安装向导。 - {\WixUI_Font_Bigger}欢迎使用 [ProductName] 安装向导 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 我接受许可协议中的条款(&A) - 安装(&I) - 更新(&U) - {\WixUI_Font_Title}请阅读 [ProductName] 许可协议 - - 正在验证安装 - 正在复制新文件 - 文件: [1],目录: [9],大小: [6] - 正在复制网络安装文件 - 文件: [1],目录: [9],大小: [6] - 正在计算空间需求 - 正在计算空间需求 - 正在计算空间需求 - 正在创建快捷方式 - 快捷方式: [1] - 正在发布合格的组件 - 组件 ID: [1],限定符: [2] - 正在发布产品功能 - 功能: [1] - 正在发布产品信息 - 正在注册类服务器 - 类 ID: [1] - 正在注册扩展服务器 - 扩展: [1] - 正在注册 MIME 信息 - MIME 内容类型: [1],扩展: [2] - 正在注册程序标识符 - ProgId: [1] - 正在分配注册表空间 - 可用空间: [1] - 正在搜索已安装的应用程序 - 属性: [1],签名: [2] - 正在绑定可执行文件 - 文件: [1] - 正在搜索合格的产品 - 正在创建文件夹 - 文件夹: [1] - 正在删除服务 - 服务: [1] - 正在创建重复文件 - 文件: [1],目录: [9],大小: [6] - 正在搜索相关应用程序 - 找到的应用程序: [1] - 正在安装 ODBC 组件 - 正在安装新服务 - 服务: [2] - 正在评估启动条件 - 正在从相关应用程序迁移功能状态 - 应用程序: [1] - 正在移动文件 - 文件: [1],目录: [9],大小: [6] - 正在修补文件 - 文件: [1],目录: [2],大小: [3] - 正在更新组件注册 - 正在注册 COM+ 应用程序和组件 - AppId: [1]{{,AppType: [2],用户: [3],RSN: [4]}} - 正在注册字体 - 字体: [1] - 正在注册产品 - [1] - 正在注册类型库 - 库 ID: [1] - 正在注册用户 - [1] - 正在删除重复的文件 - 文件: [1],目录: [9] - 正在更新环境字符串 - 名称: [1],值: [2],操作 [3] - 正在删除应用程序 - 应用程序: [1],命令行: [2] - 正在删除文件 - 文件: [1],目录: [9] - 正在删除文件夹 - 文件夹: [1] - 正在删除 INI 文件条目 - 文件: [1],节: [2],项: [3],值: [4] - 正在删除 ODBC 组件 - 正在删除系统注册表值 - 项: [1],名称: [2] - 正在删除快捷方式 - 快捷方式: [1] - 正在搜索合格的产品 - 正在注册模块 - 文件: [1],文件夹: [2] - 正在撤消模块的注册 - 文件: [1],文件夹: [2] - 正在初始化 ODBC 目录 - 正在启动服务 - 服务: [1] - 正在停止服务 - 服务: [1] - 正在取消合格组件的发布 - 组件 ID: [1],限定符: [2] - 正在取消产品功能的发布 - 功能: [1] - 撤消类服务器的注册 - 类 ID: [1] - 正在撤消 COM+ 应用程序和组件的注册 - AppId: [1]{{,AppType: [2]}} - 正在撤消扩展服务器的注册 - 扩展: [1] - 正在撤消字体的注册 - 字体: [1] - 正在撤消 MIME 信息的注册 - MIME 内容类型: [1],扩展: [2] - 正在撤消程序标识符的注册 - ProgId: [1] - 正在撤消类型库的注册 - 库 ID: [1] - 正在更新环境字符串 - 名称: [1],值: [2],操作 [3] - 正在写入 INI 文件值 - 文件: [1],节: [2],项: [3],值: [4] - 正在写入系统注册表值 - 项: [1],名称: [2],值: [3] - 通知应用程序 - 正在生成脚本操作,用于: - [1] - 正在安装系统目录 - 文件: [1],依赖项: [2] - 正在发布程序集信息 - 应用程序环境: [1],程序集名称: [2] - 正在取消发布程序集信息 - 应用程序环境: [1],程序集名称: [2] - 正在回滚操作: - [1] - 正在删除备份文件 - 文件: [1] - 正在删除移动过的文件 - 文件: [1],目录: [9] - 正在取消发布产品信息 - - {{错误: }} - {{错误 [1]。}} - 警告 [1]。 - 信息 [1]。 - 安装程序在安装此软件包时遇到了错误。这可能表示此软件包有问题。错误码是 [1]。{{参数是: [2]、[3]、[4]}} - {{磁盘已满: }} - 操作 [Time]: [1]。[2] - [ProductName] - {[2]}{,[3]}{,[4]} - 消息类型: [1],参数: [2] - === 记录开始: [Date] [Time] === - === 记录停止: [Date] [Time] === - 操作开始 [Time]: [1]。 - 操作结束 [Time]: [1]。返回值 [2]。 - 剩余时间: {[1] 分 }{[2] 秒} - 内存不足。请先关闭其他应用程序,然后再试。 - 安装程序已不再反应。 - 安装程序过早停止。 - Windows 正在配置 [ProductName],请稍候 - 正在收集所需信息... - 正在删除该应用程序的旧版本... - 正在准备删除该应用程序的旧版本... - {[ProductName]} 的安装已成功完成。 - {[ProductName]} 安装失败。 - 读取文件 [2] 时出错。{{系统错误 [3]。}}请确认该文件存在,并且您能够访问该文件。 - 无法创建文件“[2]”。具有此名称的目录已经存在。请取消此安装,然后尝试安装到其他位置。 - 请插入磁盘: [2] - 安装程序没有访问目录 [2] 的足够权限。安装无法继续。请以管理员身份登录,或者联络您的系统管理员。 - 写入文件 [2] 时出错。请确认您有访问该目录的权限。 - 读取文件 [2] 时出错。{{系统错误 [3]。}}请确认该文件存在,并且您能够访问该文件。 - 另一应用程序正在独占访问文件“[2]”。请关闭所有其他应用程序,然后单击“重试”。 - 磁盘空间不足,无法安装文件 [2]。请释放一些磁盘空间,然后单击“重试”,或者单击“取消”退出。 - 找不到源文件: [2]。请确认该文件存在,并且您能够访问该文件。 - 读取文件 [3] 时出错。{{系统错误 [2]。}}请确认该文件存在,并且您能够访问该文件。 - 写入文件 [3] 时出错。{{系统错误 [2]。}}请确认您有访问该目录的权限。 - 找不到源文件 {{(cabinet)}}: [2]。请确认该文件存在,并且您能够访问该文件。 - 无法创建目录“[2]”。已经存在一个同名文件,请重命名或删除该文件,然后单击“重试”,或者单击“取消”退出。 - 目前无法使用卷 [2],请另选其他卷。 - 指定的路径“[2]”不可用。 - 无法写入指定的文件夹: [2]。 - 尝试读取文件 [2] 时发生网络错误 - 尝试创建目录 [2] 时发生错误 - 尝试创建目录 [2] 时发生网络错误 - 尝试打开源文件 Cabinet [2] 时发生网络错误 - 指定的路径过长: [2] - 安装程序没有修改文件 [2] 的足够权限。 - 文件夹路径“[2]”的一部分无效。该路径或者为空,或者超出了系统允许的长度。 - 文件夹路径“[2]”中含有非法字词。 - 文件夹路径“[2]”中含有非法字符。 - “[2]”不是有效的短文件名。 - 获取文件安全设置时出错: [3] GetLastError: [2] - 无效驱动器: [2] - 对文件 [2] 应用修补程序时出错。可能已采用其他方式进行更新,无法再使用此修补程序进行修改。有关详细信息,请与修补程序供应商联系。{{系统错误: [3]}} - 由于 CAB 文件 [2] 没有进行数字签名,无法安装所需文件。这可能指示该 CAB 文件已损坏。 - 由于 CAB 文件 [2] 具有无效的数字签名,无法安装所需文件。这可能指示该 CAB 文件已损坏。{{WinVerifyTrust 返回错误 [3]。}} - 未能正确地复制 [2] 文件: CRC 错误。 - 未能正确地移动 [2] 文件: CRC 错误。 - 未能正确地修补 [2] 文件: CRC 错误。 - 无法安装文件“[2]”,因为在 CAB 文件“[3]”中找不到该文件。这可能表明发生网络错误、在读取 CD-ROM 时出错或者该包存在问题。 - 此安装所需的 CAB 文件“[2]”已损坏,无法使用。这可能表明发生网络错误、在读取 CD-ROM 时出错或者该包存在问题。 - 在创建完成此安装所需的临时文件时出错。{{文件夹: [3]。系统错误代码: [2]}} - 无法创建注册表项 [2]。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法打开注册表项 [2]。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法从注册表项 [3] 删除值 [2]。{{系统错误 [4]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法删除注册表项 [2]。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法从注册表项 [3] 读取值 [2]。{{系统错误 [4]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法将值 [2] 写入注册表项 [3]。{{系统错误 [4]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法获取注册表项 [2] 的值名称。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法获取注册表项 [2] 的子项名称。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法读取注册表项 [2] 的安全信息。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法增加可用的注册表空间。安装该应用程序需要 [2] KB 的可用注册表空间。 - 另一安装过程正在进行当中。您必须先完成那个安装过程,然后才能继续本次安装过程。 - 访问受保护的数据时出错。请确保 Windows Installer 配置正确,然后重新安装。 - 用户“[2]”以前启动过产品“[3]”的安装。该用户需要再次运行该安装才能使用该产品。您的当前安装现在将继续进行。 - 用户“[2]”以前启动过产品“[3]”的安装。该用户需要再次运行该安装才能使用该产品。您的当前安装现在将继续进行。 - 磁盘空间不足 -- 卷:“[2]”;所需空间: [3] KB;可用空间: [4] KB。请释放一些磁盘空间,然后重试。 - 是否确实要取消? - 文件 [2][3] 正在使用中 {由以下进程使用: 名称: [4],ID: [5],窗口标题: “[6]”}。请关闭该应用程序,然后重试。 - 产品“[2]”已经安装,现在无法安装本产品。这两种产品不兼容。 - 卷“[2]”上的磁盘空间不足,无法继续安装并启用恢复功能。需要 [3] KB 磁盘空间,但只有 [4] KB 可用空间。请单击“忽略”继续安装但不保存恢复信息,单击“重试”再次检查可用空间,或单击“取消”退出安装。 - 无法访问网络位置 [2]。 - 在继续安装之前,应关闭下列应用程序: - 对于本产品的安装,未能在计算机上找到任何此前安装的兼容产品。 - 应用安全设置时出错。[2] 不是有效的用户或组。这可能是软件包有问题,或者是连接到网络上的域控制器时出现了连接问题。请检查网络连接,然后单击“重试”,或者单击“取消”结束安装。{{无法找到用户的 SID,系统错误 [3]}} - 注册表项 [2] 无效。请确保您输入了正确的注册表项。 - 安装程序必须先重新启动您的系统,然后才能继续配置 [2]。单击“是”可立即重新启动,单击“否”可在以后手动重新启动。 - 您必须重新启动系统,对 [2] 进行的配置更改才能生效。单击“是”可立即重新启动,单击“否”可在以后手动重新启动。 - [2] 的安装正处于暂停状态,您必须先撤消该安装过程所做的更改,然后才能继续操作。是否撤消这些更改? - 本产品的上一次安装正在进行中。您必须先撤消该安装过程所做的更改,然后才能继续操作。是否撤消这些更改? - 无法找到产品 [2] 的安装程序包。请尝试使用该安装程序包的有效副本“[3]”重新进行安装。 - 安装成功完成。 - 安装失败。 - 产品: [2] -- [3] - 您可以将计算机还原到以前的状态,也可以稍后继续安装。是否还原? - 将安装信息写入磁盘时出错。请进行检查以确保有足够的可用磁盘空间,然后单击“重试”,或者单击“取消”结束安装。 - 未找到将计算机还原到以前状态所需的一个或多个文件。将无法进行还原。 - [2] 无法安装所需的某个产品。请与技术支持小组联系。{{系统错误: [3]。}} - 无法删除 [2] 的较早版本。请与技术支持小组联系。{{系统错误 [3]。}} - 已安装 [2] - 已配置 [2] - 已删除 [2] - 文件 [2] 被数字签名策略拒绝。 - 无法访问 Windows Installer 服务。原因可能是您在安全模式下运行 Windows,或者是 Windows Installer 安装不正确。请与技术支持人员联系以获取帮助。 - 该 Windows Installer 软件包存在问题。完成此安装所需的一个脚本无法运行。请与技术支持人员或软件包供应商联系。{{自定义操作 [2] 脚本错误 [3],[4]: [5] 行 [6],列 [7],[8] }} - 该 Windows Installer 软件包存在问题。完成此安装所需的一个程序无法运行。请与技术支持人员或软件包供应商联系。{{操作: [2],位置: [3],命令: [4] }} - 该 Windows Installer 软件包存在问题。作为此安装程序的一部分运行的一个程序未按预期完成。请与技术支持人员或软件包供应商联系。{{操作 [2],位置: [3],命令: [4] }} - 该 Windows Installer 软件包存在问题。完成此安装所需的一个 DLL 无法运行。请与技术支持人员或软件包供应商联系。{{操作 [2], 条目: [3], 库: [4]}} - 删除已成功完成。 - 删除失败。 - 广告已成功完成。 - 广告失败。 - 配置已成功完成。 - 配置失败。 - 只有系统管理员才能删除此应用程序。要删除此应用程序,您可以以系统管理员的身份登录,或者与技术支持小组联系,以寻求帮助。 - 产品 [2] 的源安装程序包和客户端的程序包不同步。请使用有效版本的程序包“[3]”来重新尝试安装。 - 为了完成 [2] 的安装,必须重新启动计算机。当前已有其他用户登录到此计算机,重新启动计算机会导致这些用户无法工作。是否要立即重新启动? - 路径 [2] 无效,请指定一个有效路径。 - 内存不足。请先关闭其他应用程序,然后再试。 - 驱动器 [2] 中没有磁盘。请插入一张磁盘,然后单击“重试”,或者单击“取消”返回到以前选定的卷。 - 驱动器 [2] 中没有磁盘。请插入一张磁盘,然后单击“重试”,或者单击“取消”返回到浏览对话框并选择其他卷。 - 文件夹 [2] 不存在。请输入一个现有文件夹路径。 - 您没有足够的权限,无法读取此文件夹。 - 无法确定有效的安装目标文件夹。 - 尝试读取源安装数据库 [2] 时出错。 - 正在安排重新启动操作: 正在将文件 [2] 重命名为 [3]。只有重新启动后才能完成操作。 - 正在安排重新启动操作: 正在删除文件 [2]。只有重新启动后才能完成操作。 - 模块 [2] 注册失败。HRESULT [3]。请与技术支持人员联系。 - 模块 [2] 注销失败。HRESULT [3]。请与技术支持人员联系。 - 无法缓存软件包 [2]。错误: [3]。请与技术支持人员联系。 - 无法注册字体 [2]。请确保您有足够的权限安装字体,并且系统支持该字体。 - 无法注销字体 [2]。请确保您有足够的权限删除字体。 - 无法创建快捷方式 [2]。请确保该目标文件夹存在,并且您能够访问该文件夹。 - 无法删除快捷方式 [2]。请确保该快捷方式文件存在,并且您能够访问该文件。 - 无法将文件 [2] 注册到类型库中。请与技术支持人员联系。 - 无法从类型库中注销文件 [2]。请与技术支持人员联系。 - 无法更新 INI 文件 [2][3]。请确保该文件存在,并且您能够访问该文件。 - 无法安排文件 [2] 在重新启动时替换文件 [3]。请确保您对文件 [3] 具有写权限。 - 删除 ODBC 驱动程序管理器时出错,ODBC 错误 [2]: [3]。请与技术支持人员联系。 - 安装 ODBC 驱动程序管理器时出错,ODBC 错误 [2]: [3]。请与技术支持人员联系。 - 删除 ODBC 驱动程序 [4] 时出错,ODBC 错误 [2]: [3]。请确保您有足够的权限删除 ODBC 驱动程序。 - 安装 ODBC 驱动程序 [4] 时出错,ODBC 错误 [2]: [3]。请确保文件 [4] 存在,并且您能够访问该文件。 - 配置 ODBC 数据源 [4] 时出错,ODBC 错误 [2]: [3]。请确保文件 [4] 存在,并且您能够访问该文件。 - 服务“[2]”([3])启动失败。请确保您有足够的权限启动系统服务。 - 无法停止服务“[2]”([3])。请确保您有足够的权限停止系统服务。 - 无法删除服务“[2]”([3])。请确保您有足够的权限删除系统服务。 - 无法安装服务“[2]”([3])。请确保您有足够的权限安装系统服务。 - 无法更新环境变量“[2]”。请确保您有足够的权限修改环境变量。 - 您没有足够的权限为这台计算机的所有用户完成此安装。请以管理员身份登录,然后重试此安装。 - 无法为文件“[3]”设置文件安全性。错误: [2]。请确保您有足够的权限修改此文件的安全权限。 - 该计算机上未安装组件服务(COM+ 1.0)。此安装需要使用组件服务才能成功完成。Windows 2000 中提供了组件服务。 - 注册 COM+ 应用程序时出错。有关详细信息,请与技术支持人员联系。 - 注销 COM+ 应用程序时出错。有关详细信息,请与技术支持人员联系。 - 无法更改服务“[2]”([3])的说明。 - 由于系统文件 [2] 受 Windows 保护,Windows Installer 服务无法更新该文件。您可能需要更新操作系统才能使此程序正常运行。{{软件包版本: [3],操作系统保护的版本: [4]}} - Windows Installer 服务无法更新受保护的 Windows 文件 [2]。{{软件包版本: [3],操作系统保护的版本: [4],SFP 错误: [5]}} - Windows Installer 服务无法更新一个或多个受保护的 Windows 文件。{{SFP 错误: [2]。受保护的文件列表:\r\n[3]}} - 已通过计算机上的策略禁用用户安装。 - 安装程序集“[6]”期间出错。有关详细信息,请参考“帮助和支持”。HRESULT: [3]。{{程序集接口: [4],函数: [5],组件: [2]}} - 安装程序集“[6]”期间出错。该程序集没有强名称或者未按最小密钥长度进行签名。HRESULT: [3]。{{程序集接口: [4],函数: [5],组件: [2]}} - 安装程序集“[6]”期间出错。签名或目录无法验证或者无效。HRESULT: [3]。{{程序集接口: [4],函数: [5],组件: [2]}} - 安装程序集“[6]”期间出错。找不到该程序集的一个或多个模块。HRESULT: [3]。{{程序集接口: [4],函数: [5],组件: [2]}} - - 字节数 - GB - KB - MB - 整个功能将不可用 - 功能将在需要时安装 - 整个功能将安装为从光盘上运行 - 整个功能将安装在本地硬盘上 - 整个功能将安装为从网络上运行 - 将安装为从光盘上运行 - 将安装在本地硬盘上 - 将安装为从网络上运行 - Folder|新建文件夹 - 正在收集所需信息... - 将不安装此功能 - 此功能将被设置为在需要时安装 - 此功能将安装为从光盘上运行 - 此功能将安装在本地硬盘上 - 此功能将安装为从网络上运行 - 此功能将不可用 - 将在需要时安装 - 此功能将从光盘上运行 - 此功能将安装在本地硬盘上 - 此功能将从网络上运行 - 此功能将被完全卸载,您将无法从光盘上运行它 - 此功能将由从光盘上运行改为在需要时安装 - 此功能将保留为从光盘上运行 - 此功能将由从光盘上运行改为安装在本地硬盘上 - 此功能在硬盘上释放 [1] 磁盘空间。 - 此功能要求硬盘上有 [1] 磁盘空间。 - 正在计算此功能的开销... - 此功能将被完全删除 - 此功能将从本地硬盘上删除,但会设置为在需要时安装 - 此功能将从本地硬盘上删除,但仍可从光盘上运行 - 此功能将保留在本地硬盘上 - 此功能将从本地硬盘上删除,但仍可从网络上运行 - 此功能将被完全卸载,您将无法从网络上运行它 - 此功能将由从网络上运行改为在需要时安装 - 此功能将由从网络上运行改为安装在本地硬盘上 - 此功能将保留为从网络上运行 - 此功能在硬盘上释放 [1] 磁盘空间。已选择了它的 [3] 项子功能中的 [2] 项。这些子功能在硬盘上释放 [4] 磁盘空间。 - 此功能在硬盘上释放 [1] 磁盘空间。已选择了它的 [3] 项子功能中的 [2] 项。这些子功能要求硬盘上有 [4] 磁盘空间。 - 此功能要求硬盘上有 [1] 磁盘空间。已选择了它的 [3] 项子功能中的 [2] 项。这些子功能在硬盘上释放 [4] 磁盘空间。 - 此功能要求硬盘上有 [1] 磁盘空间。已选择了它的 [3] 项子功能中的 [2] 项。这些子功能要求硬盘上有 [4] 磁盘空间。 - 剩余时间: {[1] 分 }{[2] 秒} - 有空 - 差额 - 所需空间 - 磁盘大小 - - diff --git a/Src/Localization/Chinese/images/OpenShell.png b/Src/Localization/Chinese/images/OpenShell.png deleted file mode 100644 index 1c17868..0000000 Binary files a/Src/Localization/Chinese/images/OpenShell.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/acc_locked.png b/Src/Localization/Chinese/images/acc_locked.png deleted file mode 100644 index 7db4e06..0000000 Binary files a/Src/Localization/Chinese/images/acc_locked.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/after.png b/Src/Localization/Chinese/images/after.png deleted file mode 100644 index 4a26aea..0000000 Binary files a/Src/Localization/Chinese/images/after.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/before.png b/Src/Localization/Chinese/images/before.png deleted file mode 100644 index cd53850..0000000 Binary files a/Src/Localization/Chinese/images/before.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/button_images.png b/Src/Localization/Chinese/images/button_images.png deleted file mode 100644 index e8bfa32..0000000 Binary files a/Src/Localization/Chinese/images/button_images.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/button_settings.png b/Src/Localization/Chinese/images/button_settings.png deleted file mode 100644 index 738cb92..0000000 Binary files a/Src/Localization/Chinese/images/button_settings.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/customize_menu.png b/Src/Localization/Chinese/images/customize_menu.png deleted file mode 100644 index 3111129..0000000 Binary files a/Src/Localization/Chinese/images/customize_menu.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/customize_menu_.png b/Src/Localization/Chinese/images/customize_menu_.png deleted file mode 100644 index ef06aab..0000000 Binary files a/Src/Localization/Chinese/images/customize_menu_.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/explorer_settings.png b/Src/Localization/Chinese/images/explorer_settings.png deleted file mode 100644 index 7850fc6..0000000 Binary files a/Src/Localization/Chinese/images/explorer_settings.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/ie9_caption.png b/Src/Localization/Chinese/images/ie9_caption.png deleted file mode 100644 index 07f0c8a..0000000 Binary files a/Src/Localization/Chinese/images/ie9_caption.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/ie9_settings.png b/Src/Localization/Chinese/images/ie9_settings.png deleted file mode 100644 index 14b053d..0000000 Binary files a/Src/Localization/Chinese/images/ie9_settings.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/ie9_status.png b/Src/Localization/Chinese/images/ie9_status.png deleted file mode 100644 index 265571d..0000000 Binary files a/Src/Localization/Chinese/images/ie9_status.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/item_settings.png b/Src/Localization/Chinese/images/item_settings.png deleted file mode 100644 index bfd64bc..0000000 Binary files a/Src/Localization/Chinese/images/item_settings.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/menu_settings.png b/Src/Localization/Chinese/images/menu_settings.png deleted file mode 100644 index 6d99c16..0000000 Binary files a/Src/Localization/Chinese/images/menu_settings.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/search1.png b/Src/Localization/Chinese/images/search1.png deleted file mode 100644 index 40fedca..0000000 Binary files a/Src/Localization/Chinese/images/search1.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/search2.png b/Src/Localization/Chinese/images/search2.png deleted file mode 100644 index 049f69e..0000000 Binary files a/Src/Localization/Chinese/images/search2.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/search3.png b/Src/Localization/Chinese/images/search3.png deleted file mode 100644 index 9de67eb..0000000 Binary files a/Src/Localization/Chinese/images/search3.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/settings1.png b/Src/Localization/Chinese/images/settings1.png deleted file mode 100644 index 288b5c6..0000000 Binary files a/Src/Localization/Chinese/images/settings1.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/settings2.png b/Src/Localization/Chinese/images/settings2.png deleted file mode 100644 index 6af5ae1..0000000 Binary files a/Src/Localization/Chinese/images/settings2.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/settings3.png b/Src/Localization/Chinese/images/settings3.png deleted file mode 100644 index 3cbdd3e..0000000 Binary files a/Src/Localization/Chinese/images/settings3.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/settings4.png b/Src/Localization/Chinese/images/settings4.png deleted file mode 100644 index 09275bc..0000000 Binary files a/Src/Localization/Chinese/images/settings4.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/settings5.png b/Src/Localization/Chinese/images/settings5.png deleted file mode 100644 index 30075ad..0000000 Binary files a/Src/Localization/Chinese/images/settings5.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/settings_disable_ex.png b/Src/Localization/Chinese/images/settings_disable_ex.png deleted file mode 100644 index b8b6268..0000000 Binary files a/Src/Localization/Chinese/images/settings_disable_ex.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/settings_disable_ie9.png b/Src/Localization/Chinese/images/settings_disable_ie9.png deleted file mode 100644 index 7bb6f2d..0000000 Binary files a/Src/Localization/Chinese/images/settings_disable_ie9.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/settings_disable_sm.png b/Src/Localization/Chinese/images/settings_disable_sm.png deleted file mode 100644 index d65b65a..0000000 Binary files a/Src/Localization/Chinese/images/settings_disable_sm.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/skins.gif b/Src/Localization/Chinese/images/skins.gif deleted file mode 100644 index c9a26cf..0000000 Binary files a/Src/Localization/Chinese/images/skins.gif and /dev/null differ diff --git a/Src/Localization/Chinese/images/statusbar.png b/Src/Localization/Chinese/images/statusbar.png deleted file mode 100644 index e9cfc00..0000000 Binary files a/Src/Localization/Chinese/images/statusbar.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/style1.png b/Src/Localization/Chinese/images/style1.png deleted file mode 100644 index 02cf5be..0000000 Binary files a/Src/Localization/Chinese/images/style1.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/style2.png b/Src/Localization/Chinese/images/style2.png deleted file mode 100644 index 9bbd1d1..0000000 Binary files a/Src/Localization/Chinese/images/style2.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/style3.png b/Src/Localization/Chinese/images/style3.png deleted file mode 100644 index 67a4f0f..0000000 Binary files a/Src/Localization/Chinese/images/style3.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/titlebar.png b/Src/Localization/Chinese/images/titlebar.png deleted file mode 100644 index bbad38b..0000000 Binary files a/Src/Localization/Chinese/images/titlebar.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/toolbar.png b/Src/Localization/Chinese/images/toolbar.png deleted file mode 100644 index 7a23fbe..0000000 Binary files a/Src/Localization/Chinese/images/toolbar.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/toolbar_settings.png b/Src/Localization/Chinese/images/toolbar_settings.png deleted file mode 100644 index a58139c..0000000 Binary files a/Src/Localization/Chinese/images/toolbar_settings.png and /dev/null differ diff --git a/Src/Localization/Chinese/images/up_locked.png b/Src/Localization/Chinese/images/up_locked.png deleted file mode 100644 index 980f201..0000000 Binary files a/Src/Localization/Chinese/images/up_locked.png and /dev/null differ diff --git a/Src/Localization/ChineseTW/ClassicExplorer.html b/Src/Localization/ChineseTW/ClassicExplorer.html deleted file mode 100644 index 49b2661..0000000 --- a/Src/Localization/ChineseTW/ClassicExplorer.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - - - - Classic Explorer - -

Open-Shell   Classic Explorer


-Classic Explorer O Windowsɮ`ު~{:
    - -
  • bɮ`ޥ[JYǤ@ާ@uC (ܤWhƧBŤUBƻsBKWBRBeBEmail)C uCiۭq
  • -
  • ϥΧ͵u嫬vN Windows 7 ƻs UIA Windows XP
  • - -
  • Bz Windows ɮ`ުƧO Alt+Enter ܿƧe
  • - -
  • ѦۭqƧOﶵAϬݰ_ӧ Windows XP AΤHJHXi}s
  • -
  • bACܥiκϺЪŶMXpɮפjp
  • -
  • b}Cέys
  • -
  • ״_b Windows 7 _M\ V ʤ֦@θƧ|ϥܡBb檺DƧBbM˵ʤֱƧǼYMh
    -
  • - - - - -

- - -

sƻs UI (ȭ Windows 7)
-

- -b Vista ƻsɮץBĬɡA|He{:
- -
- -e
- -

?

- -

uzŪr@beC ~ثe|MIdzC z|Bʷƹӱ UIApb Lucas Arts ICC ̫OV|LiΩʡC iD uOAڪDڥbAڭnмgҦɮסv zU Alt+DAWBWBWBŮ! o Street Fighter 3 Akuma Kara Demon ٧xC oFuɶMŶAOƻsɮסC

- -

Classic Explorer ~q Windows XP ^²檺ܤ:
-

- -


-

- -

ߧYFѯI諸 (u V bݪs)A²L (U Y 䬰uOvAA 䬰ƻsҦɮ) BMiHݨɮ׸sMӸjC MANpP Windows XPAb@U [_] sɫ Shift Nuҧ_v (ΥunU Shift+N )C
-

- -

pG@U [hK] No Windows lܤC q̱NݨҦԲӸƨèouƻsAOdɮסvB~ﶵC

-

n: uN UIC iڽƻshtΤvTC
-

-


-

- - - -

Alt+Enter bƧO

- -Alt+Enter O Windows UΧֳtAHaXeC s Windows AbܸƧOLkʧ@C bkɮװϫhʧ@`C P Windows XP Alt+Enter bүॿ`ʧ@ۤAoO}{HC

YnѨMDA Classic Explorer ~{|zU Alt+Enter ܥثeƧeC
-

-


-

- - -

Windows ɮ`ުuC

-b Vista Windows ɮ`ިSpP Windows XP uCC pGnܤWhƧAϥέysCC pGnHƹƻsΧRɮסA@UkM [R] ROC k\|Hۦw˧h߼hXR\ܱoVӶVjA]ӻݭn@ǮɶMkROC
-

YnѨMDA Classic Explorer ~{[JsuC:
-

- - ɮ`ޤuC
-
-ҥΪs: ܤWhBŤUBƻsBKWBRBeBqllB]wC iHq []w] ܤ[JhsC
-
-:
    - @U [W] sɫ Ctrl Hbsɮ`޵}ҤWhƧC
    - @U [R] sɫ Shift Hä[Rɮ
- -
- -suCbw˫ᤣ|۰ܩɮ`ޡC ϥΫei@ǰʧ@:
- -
    - -
  1. }ҷs Windows ɮ`޵ (Win + E )
  2. -
  3. bɮ`޶}ҥ\ V u (Alt + T )Ƨﶵ˵ ޼ҡAýT{Ŀu@ܥ\vC
  4. -
  5. b\CkÿuClassic Explorer CvHܤuCC
  6. -
  7. pGﶵiϥ (uݨuwuCv)Aziॲq Internet Explorer ҥΥ~{C Internet ExplorerAbuC@UkAÿuClassic Explorer BarvC N߰ݱzO_nҥΦ[AuҥΡvAۦAƨBJ 1 3C
  8. -
  9. YϦpݤuCAi Internet Explorer XR\wbtΰΡC oq`OAw]ȡC }ҡuںﶵvAܡuiv޼ҡAˬd]wuҥΨOtsvC
    -
  10. - -

-

AC
-

-Classic Explorer ٭lɮ`ުACAܥiκϺЪŶMɮתjp:
-
-ACɮפjp
-
-تACAYϿWL 100 ɮסA|ܿjpC ɮ׮ɡC|ܸƧҦɮתXpjpC
-
Windows 7 : Classic Explorer Wjw]ACӤONC Yn˵Aq [˵] \}ҡC ACPɮ`ޤUݨ쪺Ŧ [ԲӸƵ] PC ziHq [´޲z] \ [ԲӸƵ] H`٪ŶC o]O Windows 7 ɮ`ޤ BugAɦbACܥrC U F5 Hsz˵èoACrC
-
Windows 8 : Classic Explorer [JۤvACC zùw]ACH`٪ŶC b\Ͽ [˵] ޼ҡA۫@U [ﶵ]C bﶵ [˵] ޼ҡAuܪACv ֨AèC
-
- - -

]w

ziHquCαq [}l] \s Classic Explorer ]w:
-
-
ziHܥudݰ򥻳]wAΩҦiΪ]wC ȯdbCӳ]wWHdݨ@Ϊ²zC bjMJ̦WٴM]wC
Cӳ]ww]ȡC w]ȥiHO`ơAήھڥثetγ]wөwC s]w|uwקvBHܡC Yn^w]ȡAb]w@UkC
-
ziHxs]w XML ɮסAõyJ^ӡC U [ƥ] sHsoǥ\C q]iH]Ҧ]ww]ȡC
- -
- -U [Tw] s]wC j]wNbU}ҷsɮ`޵ɮMΡC ּƳ]wbݨܧeNݭnnXC
- -
- -Ƶ: Ҧ]wiվjpC վjpHߩұmC ̱N|OsmC
- -
-oOۭq@ӽd:
- - DCվ
-
-@U [uCs] ޼ҥHۭquC:
-
-
ܥثeuCsAΥkCXi[JuCsC ziHqk즲s쥪AWU즲wƫsC pG즲@ӫsbt@ӤNإߤl\C
ȯdbCӫsWHdݨ@Ϊ²zC bCӫs@UkHsh\ (pRBsRW)C qk\]iH]uClAC
b檺CӶإߤ@W١C oOتѧOrBu]t^rBƦrMuC YǶ (p SEPARATOR) ୫sRWC
-
-n: ëDҦiΪROw]ϥܩΤrC ] Windows SөROϥܡAp _BC pGznbuCϥγoǫsANѦۤvϥܡC Ѿ\HUpiC
-
-buCmsAiHsݩʡC Uss:
-suCs
-bsROBrMϥܡC U [٭w]] sHoܩROw]rMϥܡC
ROiHO:
-
    - - -
  • Odť - ɦpGϥγsݩʡANHROʧ@
  • -
  • wwqRO@ - qUԦ\
  • -
  • open <YǸƧ> - oNbثes}ҸƧ
  • -
  • sortby <property> - oN̵eƧ - name, type, size dateC beeϥΡu-vHDZƧ: "sortby -name"C ziHϥΨ䥦eApGDNXC Ҧp "sortby {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10" P "sortby name" ۦPC heNXAаѦ Windows SDK ɮ propkey.h (]b - U "Full property table")C ëDҦeNXĩΤ䴩 (Ҧp album year e {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 ubܭֱMɰʧ@)
  • -
  • groupby <property> - sortbyA̵eɮסC ϥΩRO groupby teӰΤ
    -
  • - - - -
  • ۭqr - oiHO{W٩M޼ơAάƦ URL (p http://www.google.com)C iHϥܼơAp %SystemRoot%C ]iHϥιwdm %1, %2, %3, %4 M %5:
  • -
      -
    • %1 OثeƧ|C аOApGثeƧOϺоڥؿANϥΤϱ׽u (p C:\)
      -
    • -
    • %2 Oɮת|C (u@ɮ׮)
    • -
    • %3 OȦsrɮתW١A]tҦɮסC rɮפC]t@ɮ׻P䧹|
      -
    • -
    • %4 P %3 ۦPAɮ׬O Unicode (UTF16) 榡C ɮץ]tL byte ǼаOC ۦPROPɨϥ %3 M %4
      -
    • -
    • }o̴: ϥ %3 %4 ɡAR{ɮ׬OROdC _hNd{ɮרîOϺЪŶC ~ApGROODxε{Χ妸ɮסANHLTҦҰʤtDx
    • - -
    • %5 OȦsrɮתW١AΨӱNRO^ Classic ExplorerC pGɮת}l 2 bytes 255 M 254Ahɮ׵ UnicodeC @uϥΤ@өROC ROର:
    • -
        -
      • open <ƧW> - ɮ`޾쵹Ƨ
      • -
      • select <ɮצWٲM> - ɮסAѾlC ɮצW٥H tab δrjC ɮפ]t|C pGAN|
        -
      • -
      • refresh - szɮ`
      • -
      -
    -
      -
    • }o̴: ϥ %5 RONHLTҦ (pPϥ %3 %4 RO)Aɮ`ޤ]NݳBz{ǧC Bz{ǥ֧A]ɮ`ަbRON^
    • -
    • @ǽdҽЬdݤU@`ApϥγoǰѼ
      -
    • - -
    -
-siHOɮשθƧ|C YOɮסANɮסC YOƧANHl\}ҸӸƧ (uw̤Whs)C
-
-ϥܥiHO:
-
    -
  • Odť - ɦpGϥγsݩʫVɮשθƧANϥθɮשθƧϥ
    -
  • -
  • 귽ɮ,ϥ ID - Ҧp %windir%\notepad.exe,2C ɮשMr঳ŮC T{ϥιϥܪ귽 IDAӫDϥܪޡC FF̨ήĪGAϥιϥܤǪ [...] s
  • -
  • ,ϥ ID - PW@ˡA귽ɮ׬ ClassicExplorer.dll C ѷӨ Classic Explorer ۤvϥܮɬOΪ
    -
  • -
  • ϥɮ -  Ҧp C:\Program Files\Mozilla Thunderbird\Email.ico
  • -
  • none - oNϥΪťչϥ
  • -
-pGҩδݩʥH $ (rŸ) }YAhtαN䬰 ExplorerL10N.ini ɮפrꪺW١C ڤrNھڥثey]wөwC obإߦhyҨϥΪuCɬOΪC
-
-}o̴: ۭqROswĿΤwΡC uCˬdnɾX HKCU\Software\OpenShell\ClassicExplorer tsW٪ DWORD ƭ (W٥Ω)C 0 ܥ`A1 wΡA2 wĿC uCbҰʮŪnɾXC Ynjss䪬AbݭnMҦɮ`޵AO OpenShell.CBandWindow lAöKWT WM_CLEARC pGzb}ou@CҨϥΪۭq exe ɬOΪC
- -
-

ۭqROd

-

0) ݭnɨϥΤ޸

F䴩]tŮ檺|AziHb|ѼƫeϥΤ޸C ޸Dl׻ݭnApbHUd 1 M 2C нTե]tŮ|ROHקKN~C
-
-

1) CLثeƧ

- -ϥΦRO: cmd.exe /k echo %1C ثeƧ|NN %1C
-
-

2) bOƥ}ҿɮ

-ϥΦRO: %SystemRoot%\notepad.exe %2C ɮתWٱNN %2C ݭn޸A] Notepad ϥξөROCɮצW١C
-
-

3) ƻsɮרWhƧ
-

-إߧ妸ɮצW٬C:\CopyParent.bat:
-set list=%1
set list=%list:"=%
for /F "delims=" %%i in (%list%) do copy /Y "%%i" ..
del %1
-
-ϥΦRO: C:\CopyParent.bat "%3"C ]tҦɮתW٪rɮױNN %3C 妸ɮױNŪӤrɮתC@AýƻsCӿɮרWhƧC b妸ɮ׵ARlȦsɮסC e set ROq %1 ѼƲ޸C
-
-

4) Ҧrɮ

-إߧ妸ɮצW٬ C:\SelectText.bat:
echo select > %1
dir *.txt /b >> %1
-
-ϥΦRO: C:\SelectText.bat "%5"C %5 NHťդrɨNA䤤ROXr "select" MnɮײMCudir *.txt /bvROѸӲMC
-
-
- -

tκ޲z]w

]wOCӨϥΪ̥BsbnɡC w]CӨϥΪ̯sҦ]wC tκ޲zww]wA]SϥΪ̯s:
-
-bdҡA]wuܤWsvwlסubW@/U@evBϥΪ̵LkܧC oOzL[J]w HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicExplorer nɾXӹFC إߦW٬uShowUpButtonvrȨó]uBeforeBackvC
-
YDZΤUziणnwҦϥΪwƭȡAӥuO²檺ק]wlȡC bΫhbƭȪW٥[Ju_DefaultvC ҦpApGznw] [W] sb [W@] e\ϥΪ̵ݭnܧAإߦW٬uShowUpButton_DefaultvrȨó]uBeforeBackvC
-
-Fѳ]wnɦWٻPƭȤP覡AOק復ۦbHUXM: HKEY_CURRENT_USER\Software\OpenShell\ClassicExplorer\SettingsC
ɱzinw]ww]ȡAw]ȬC hإ DWORD ƭȨó]w 0xDEFAC
-
-o]O]w EnableSettingsC bnɳ]w 0 HϥΪ̶} []w] ܤ:
-ΩҦ]w
-
-ziHϥ 2 ӵnɳ]wuProcessWhiteListvMu"ProcessBlackListvAӧOBz{DZҥΩΰ Classic ExplorerC ProcessWhiteList ONJ Classic Explorer Bz{DzMC uϥγBz{ǪW (punotepad.exev)AH , ; jhӦW١C ProcessBlackList OJ Classic Explorer Bz{DzMC zuϥΨ䤤@زMApGwزMAN¦WC Mubҥɮ`ޥH~Bz{Ǥ䴩\ɨϥΡC ɳoǥ\O: @έ|ϥܩMNƻsܤC
-
-]䴩zLsխhs]wC ^bw˸Ƨ쪺ɮ PolicyDefinitions.zip þ\Ū PolicyDefinitions.rtf ohԲӸơC
-
- -
- -

Windows ]w̩ۨ
-

-Y Classic Explorer ]wݭnҥίSw Windows ]w:
-
    -
  • Windows Vista ˦ - ϥ Windows ϥ Aero Basic GDD
  • -
  • ۰ʾƧ - ɮ`޳]wu۰ʮi}ثeƧvɡA]w~]uûvC b u -> Ƨﶵ @ ޼Ҭd
  • -
  • bDCܼD - DNܧ|W٩ΥuثeƧW١C Yndݧ|Aݭnb u -> Ƨﶵ ˵ ޼ҤҥΡubDCܧ| (ȭ Classic DD)v
  • -
  • ҦAC]w - ݭnܪAC (nPԲӸƵVc)C ˬd ˵ -> AC
  • -
- -
- -

a

- - - - -ϥΪ̤ (Fu]wvܤ) ½Ķ 35 ػyC
ּƻy½Ķ]tu]wvܤC w]w˥u]t^C hyiHq translations UC нT{U Open-Shell T½Ķ]C
- -
- - diff --git a/Src/Localization/ChineseTW/ClassicExplorerADMX.txt b/Src/Localization/ChineseTW/ClassicExplorerADMX.txt deleted file mode 100644 index d70992a..0000000 --- a/Src/Localization/ChineseTW/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell 設定 -State.text = 狀態: -State1.text = 鎖定為此數值 -State2.text = 鎖定為預設值 -State3.text = 不鎖定 -State1Help.text = 如果設定狀態為「鎖定為此數值」,將針對所有使用者鎖定設定為指定的值。 -State2Help.text = 如果設定狀態為「鎖定為預設值」,將針對所有使用者鎖定設定為預設值。 忽略指定的值。 -State3Help.text = 如果設定狀態為「不鎖定」,將變更設定的預設值為指定的值。 個別使用者能覆寫設定。 - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Classic Explorer 群組原則設定 -SUPPORTED_CS404.text = 需要 Open-Shell 4.0.4 或以上。 -SUPPORTED_CS404_WIN7.text = 需要 Windows 7。 -SUPPORTED_CS404_WIN881.text = 需要 Windows 8 或 Windows 8.1。 - -AddressAltD.nameOverride = 網址列的額外快速鍵 -AddressAltD.tipOverride = 輸入字母「A」到「Z」作為網址列的快速鍵,與 Alt 鍵結合 -EnableSettings.nameOverride = 啟用設定 -EnableSettings.tipOverride = 允許使用者能編輯自己的設定 -ProcessWhiteList.nameOverride = 處理白名單 -ProcessWhiteList.tipOverride = 能載入 Classic Explorer 的處理程序清單。 只使用處理程序的名稱 (比如「notepad.exe」),以 , 或 ; 分隔多個名稱。 -ProcessBlackList.nameOverride = 處理黑名單 -ProcessBlackList.tipOverride = 不載入 Classic Explorer 的處理程序清單。 只使用處理程序的名稱 (比如「notepad.exe」),以 , 或 ; 分隔多個名稱。 -ToolbarItems.nameOverride = 工具列按鈕 -ToolbarItems.tipOverride = 選取顯示在工具列的按鈕。\n取得正確字串的最佳方式,在 Open-Shell Menu 設定對話方塊組態按鈕,接著在以下位置尋找名稱 ToolbarItems 的數值 HKCU\Software\OpenShell\ClassicExplorer\Settings - - -; os-specific -FileExplorer.nameOverride = 只在檔案總管啟用對話方塊 (提昇效能) diff --git a/Src/Localization/ChineseTW/ClassicIE.html b/Src/Localization/ChineseTW/ClassicIE.html deleted file mode 100644 index cd2114b..0000000 --- a/Src/Localization/ChineseTW/ClassicIE.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - Classic IE - -

Open-Shell   Classic IE


-Classic IE
-O Internet Explorer p~{:
-
    -
  • bDC[JDAHKݨ쭶D
  • -
  • bACܦwʰϰ
  • -
  • bACܸJi
  • -
-
-˵㭶DAYϤAX޼:
-
-
dݶiשMwʰϰ:
-
-
-

w

-zw Classic IE ᭺ Internet Explorer Aiണܦw˷s[٬ ClassicIEBHO MO_nҥΡC @U [ҥ] sC pGo촣ܡA u -> ޲z[ ýT{ ClassicIEBHO wҥΡC ҥΪ[ᥲsҰ Internet Explorer HҰʥ~{C
-
-

]w

-ziHq u -> Classic IE ]w αq [}l] \s]wC ]wDmMrAHΦbACܤTC
-
-
ziHܥudݰ򥻳]wAΩҦiΪ]wC ȯdbCӳ]wWHdݨ@Ϊ²zC bjMJ̦WٴM]wC
Cӳ]ww]ȡC w]ȥiHO`ơAήھڥثetγ]wөwC s]w|uwקvBHܡC Yn^w]ȡAb]w@UkC
- -
-ziHxs]w XML ɮסAõyJ^ӡC U [ƥ] sHsoǥ\C q]iH]Ҧ]ww]ȡC
- - -
- - -U [Tw] ٭]wC zݭnsҰ Internet Explorer HMηs]wC
- - -
-

tκ޲z]w

-]wOCӨϥΪ̥BsbnɡC w]CӨϥΪ̯sҦ]wC tκ޲zww]wA]SϥΪ̯sC oOzL[J]w HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicIE nɾXӹFC
-
-zi]Ʊ椣w]wuмglȡC hbnɼƭȪW٥[Ju_Defaultv"C
-
-Fѳ]wnɦWٻPƭȤP覡AOק復ۦbHUXM: HKEY_CURRENT_USER\Software\OpenShell\ClassicIE\SettingsC
ɱzinw]ww]ȡAw]ȬC hإ DWORD ƭȨó]w 0xDEFAC
- -
- -o]O]w EnableSettingsC bnɳ]w 0 HϥΪ̶} []w] ܤ:
- -
-
-]䴩zLsխhs]wC ^bw˸Ƨ쪺ɮ PolicyDefinitions.zip þ\Ū PolicyDefinitions.rtf ohԲӸơC
-
- diff --git a/Src/Localization/ChineseTW/ClassicIEADMX.txt b/Src/Localization/ChineseTW/ClassicIEADMX.txt deleted file mode 100644 index aa63496..0000000 --- a/Src/Localization/ChineseTW/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell 設定 -State.text = 狀態: -State1.text = 鎖定為此數值 -State2.text = 鎖定為預設值 -State3.text = 不鎖定 -State1Help.text = 如果設定狀態為「鎖定為此數值」,將針對所有使用者鎖定設定為指定的值。 -State2Help.text = 如果設定狀態為「鎖定為預設值」,將針對所有使用者鎖定設定為預設值。 忽略指定的值。 -State3Help.text = 如果設定狀態為「不鎖定」,將變更設定的預設值為指定的值。 個別使用者能覆寫設定。 - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Classic IE 群組原則設定 -SUPPORTED_CS404.text = 需要 Open-Shell 4.0.4 或以上。 -SUPPORTED_IE9.text = 需要 Internet Explorer 9 或以上。 - - -EnableSettings.nameOverride = 啟用設定 -EnableSettings.tipOverride = 允許使用者能編輯自己的設定 -CaptionFont.tipAddition = .\n\n格式為 , , 。 例如 "Segoe UI, normal, 9" diff --git a/Src/Localization/ChineseTW/License.html b/Src/Localization/ChineseTW/License.html deleted file mode 100644 index 2c064ef..0000000 --- a/Src/Localization/ChineseTW/License.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - -

Open-Shell   vij
-


-Open-Shell c 2009-2017, Ivo Beltchev

-http://www.classicshell.net/
-
-ϥΦnYzoDZڡApGAФnϥγnC
-
-pGzuoDZvڡAzHUvQC
-
-
    -
  1. -

    vdC ڥu@Ǩϥγn骺vQC @֦̾ҦLvQC

    -
  2. -
  3. -

    w˩MϥvQC oӳnKOѭӤHMӷ~ϥΡC ziHw˩MϥΦbzqKOC

    -
  4. -
  5. -

    AovQC ziHsonAunOKOMᦱlnC

    -
  6. -
  7. -

    ӼСC OpenShell W٩M logo O@̪ӼСC ϥΥ̨ѧOL~ΪAȬO\C

    -
  8. -
  9. -

    OKdnC nOھڡu{vѡASΦOAܩηtܡA]tAPʪOAAΩSwγ~MIǡC bƥA@̩ΪvHӾߡBl`ΨLdAL׬ObXPAIvk@Ӱʧ@Χ_hAް_AsnΨϥΩΨLnC

    -
  10. -
  11. -

    yܻ: 򥻤WziHۥѪϥγoӳn鬰ت; nPYApGॿ`u@zҴݡC z@̩Ӿl`C zPoӳnQC zOKOϥΪC

    -
  12. -
- - - diff --git a/Src/Localization/ChineseTW/Links.html b/Src/Localization/ChineseTW/Links.html deleted file mode 100644 index 519ba5a..0000000 --- a/Src/Localization/ChineseTW/Links.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - Open-Shell - -

Open-Shell   s


b Open-Shell ̷s:
http://www.classicshell.net/
-
-b˵M׾{O:
{O: http://www.classicshell.net/history/
-
-
-

oU

-`D^Ьdݦ:
FAQ: http://www.classicshell.net/faq/
- -
-pGb FAQ 䤣zݭnסAйհQװ:
Qװ: http://www.classicshell.net/forum/viewforum.php?f=6
- -
-
-

^D

-b}oQװϦ^DM\ݨD:
}oQװ: http://www.classicshell.net/forum/viewforum.php?f=11
- - diff --git a/Src/Localization/ChineseTW/Main.html b/Src/Localization/ChineseTW/Main.html deleted file mode 100644 index d66f3fb..0000000 --- a/Src/Localization/ChineseTW/Main.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Open-Shell - -

Open-Shell   Open-Shell

-4.3.1 V qΪ

-

O Open-Shell?

-Open-Shell™ OWj Windows iΩʪu㶰C iۭqƪ [}l] \M [}l] sA[J Windows ɮ`ުuCM䴩Uظp\C
-
-
-

tλݨD

-Open-Shell b Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 M Windows Server 2012 R2 ʧ@C Pɤ䴩 32 M 64 줸 (HۦPw˵{)C Y [}l] \Oݭn ҥ Aero GDDC 䥦ܤֻݭn Basic GDDC
-
-
-


- -Open-Shell 3 ӥDn: -
-

Ѱw

-ziHq x -> {M\ Ѱw Open-ShellC t@ؤ覡O Aw˵{ÿ []C
iݭnnXH{ǡC
-
- diff --git a/Src/Localization/ChineseTW/Menu.html b/Src/Localization/ChineseTW/Menu.html deleted file mode 100644 index 7c03963..0000000 --- a/Src/Localization/ChineseTW/Menu.html +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Open-Shell Menu - -

Open-Shell   Open-Shell Menu


-Open-Shell Menu
-OF [}l] \Aҥ Windows 2000, XP M Windows 7 \欰C \hi\:
    - -
  • ܡu嫬vΡuWindows 7v˦
    -
  • -
  • H´޲zε{
  • - -
  • ﶵܡuڪ̷RvBi}uxv
  • -
  • ̪ܳϥΪC iۭqܪƶq
  • -
  • ½Ķ 35 ػyA]t餤HΥѥkܥArabic M Hebrew
  • -
  • Windows l [}l] \C ziHb [}l] s [Shift + @U] Ӧs
  • -
  • b\ث@UkHRBsRWBƧǩΰ䥦u@
  • -
  • jMبUzM{PɮצӤݥHLֳt覡o
  • -
  • 䴩DM洣ѻPs̪񪺤M@u@
  • -
  • 䴩 32 M 64 줸@~t
  • -
  • 䴩OA]tB~ 3 譱OC ۦs@!
  • -
  • ~[M\iۭq
  • -
  • 䴩 Microsoft Active Accessibility
  • -
  • ഫ Windows \ [Ҧ{] sh\
  • -
  • {iۭq [}l] \
    -
  • -
  • ܡBjMαҰ Windows ε{ (Windows 8)
  • - - - - -
  • ̭nO V KO!
  • -

-

˦

-[}l] \ 3 ؼ˦ܡC
-

2) 嫬˦

-
-˦ Windows 2000 \C 1 [}l] \MrbC ziHۭqءBϥܩMrǡC
{BDMMjMGHhŤl\ܡC
- -
-

2) 嫬˦

-
-˦ Windows XP \C wƥ\ 2 C ۭqǡBϥܩMrC
{BDMMjMGHhŤl\ܡC
-
-

3) Windows 7 ˦
-

-
-˦ Windows Vista M Windows 7 \C 椤جOwwqӰvM̪ϥΪ{BҦ{MMjMC 椤د৹ۭqC
DMMjMGbD\ܡC {bD\ΥHhŤl\}ҡC
˦Ѥ嫬˦֪ۭqﶵAϥ Windows 7 Hx~[C
-
-
-

ާ@

-pGzb Windows ªϥ [}l] \A|ıoD`x:
- - - -

-U Win Ϋ@Uù [] лxH} [}l] \C

-

-@U [] лxɫ Shift Hs@~tΦۤv [}l] \C

-

-@UذC

-

-즲{Hܧ{b\ǡAβʨt@ӸƧC

-

-bث@UkHsRWBRBɮ`޶}ҡBƧǥ\ΰ䥦u@C

-

-b [] лx@UkHs [}l] \]wB˵ɮשΰ[}l] \C
-

-


- -

- -

-]w

b [}l] s@UkHs]w:
-
-
-ziHܥudݰ򥻳]wAΩҦiΪ]wC ȯdbCӳ]wWHdݨ@Ϊ²zC bjMJ̦WٴM]wC
Cӳ]ww]ȡC w]ȥiHO`ơAήھڥثetγ]wөwC s]w|uwקvBHܡC Yn^w]ȡAb]w@UkC
-
- -ziHxs]w XML ɮסAõyJ^ӡC U [ƥ] sHsoǥ\C q]iH]Ҧ]ww]ȡC
- - -
- -j]w|bsߧYܧC ҦpiHs [}l] \Aۦbu]wvܤ}ҮɡAs [}l] \HdܧC ּƳ]wbݨܧeNݭn[}l] \C
- -
- - -Ƶ: Ҧ]wiվjpC վjpHߩұmC ̱N|OsmC
- - -
-@U uۭq [}l] \v޼ҥHۭq\ءC ھڼ˦AzNݨ줣P UIC
-
-w 嫬 ˦AziHۭq [}l] \Mإߤl\C ܥثe\ءAΥkܥiΥ\ءC qk즲쥪H[Jب\C
-
-
-w Windows 7 ˦Azus覸MSl\ءC
-
-

-Uϥܽs趵ؤe:
-
-bتROBrMϥܡC U [٭w]] sHoܩROw]rMϥܡC
-
-ROiH:
- -
    -
  • wwqRO@ - qUԦ\
  • ۭqir - oiHO{W٩M޼ơAάƦ URL (p http://www.google.com)C 䴩ܼơAp %SystemRoot%
  • Odť - ɦpGϥγsݩʡANHROʧ@
    -
  • -
-siHOɮשθƧ|C YOɮסANɮסC YOƧANHl\}ҸӸƧC Yǥ\ (p [{] M [ڪ̷R]) tݩʡA]usvNΡC
- -
- -ϥܥiHO:
- -
    -
  • Odť - ɦpGϥγsݩʫVɮשθƧANϥθɮשθƧϥ
    -
  • 귽ɮ,ϥ ID - Ҧp %windir%\notepad.exe,2C ɮשMr঳ŮC T{ϥιϥܪ귽 IDAӫDϥܪޡC FF̨ήĪGAϥιϥܤǪ [...] s
    -
  • ,ϥ ID - PW@ˡA귽ɮ׬ StartMenuDLL.dll C ѷӨ}l\ۤvϥܮɬOΪ
    -
  • ϥɮ -  Ҧp C:\Program Files\Mozilla Thunderbird\Email.ico
  • none - oNϥΪťչϥ
  • -
-pGҩδݩʥH $ (rŸ) }YAhtαN䬰 StartMenuL10N.ini ɮפrꪺW١C ڤrNھڥثey]wөwC obإߦhyҨϥΪ\ɬOΪC
-
-pGuJl\svAӤOܥ\إA[}l] \NܤlجsCC w]Oإ߫sC ziH[JjŸ̫ᶵرNsaAΥ[JjŸĤ@ӶرNsakC @إi઺ϥάOHuBsҰʡBnXvӧOsN\C
-
-

tκ޲z]w

-]wOCӨϥΪ̥BsbnɡC w]CӨϥΪ̯sҦ]wC tκ޲zww]wA]SϥΪ̯s:
- -
-bdҡA]wuҥΥk\vwlפBϥΪ̵LkܧC oOzL[J]w HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\Menu nɾXӹFC إߦW٬uEnableContextMenuv DWORD Ȩó] 0C
-
-YDZΤUziणnwҦϥΪwƭȡAӥuO²檺ק]wlȡC bΫhbƭȪW٥[Ju_DefaultvC ҦpApGznw]Τe\\ϥΪ̵ݭnҥΡAإߦW٬uEnableContextMenu_Defaultv DWORD Ȩó] 0C
-
-Fѳ]wnɦWٻPƭȤP覡AOק復ۦbHUXM: HKEY_CURRENT_USER\Software\OpenShell\StartMenu\SettingsC
ɱzinw]ww]ȡAw]ȬC hإ DWORD ƭȨó]w 0xDEFAC
- -
- -o]O]wuEnableSettingsvC bnɳ]w 0 HϥΪ̶} []w] ܤ:
- -
-
-[}l] \]ˬdtκ޲zҳ]wjhƸsխhC gpedit.msc ò ϥΪ̳]w -> tκ޲zd -> [}l] \Mu@CC qBiHΰBBM䥦\C (b Windows aΪiϥ)C
-
-]䴩zLsխhs]wC ^bw˸Ƨ쪺ɮ PolicyDefinitions.zip þ\Ū PolicyDefinitions.rtf ohԲӸơC
-
-
-

hO

-ziHq\hww˪OD:
-
-Open-Shell Menu O
-
Ϊ̥iHUæwB~ 3 譱O (qDΨ䥦a)C UsOAƻs .skin ɮר Skins ؿ V q`O C:\Program Files\Open-Shell\SkinsC Nb]wiHϥΡC
-
-Ъ`N: Yǥ~[i|w Classic, Basic, Aero ҦM]pC Ҧp Aero Oݭn Glass 䴩ApG Classic Basic GDDNݰ_өDzC Y Aero O]ݭnSw Glass C
-
-ziHإߦۤvOC zNݭn䴩 alpha OϹs边 (Ҧp Gimp Photoshop) Ms귽ɮתu (p Resource Hacker Visual Studio)C M٦@ǹϧγ]pH~ :)C }leо\Ū Skinning TutorialC
-
-

-

jM


-
- jMzjM [}l] \BPATH ܼƤ{ίɮתeC ziHbjMܼзǥ\ءAۨϥΤW/UVC ΥiHܶ} [}l] \ɹw]ujMءC ΥiHܨϥ Tab ɥuҰʷjMءA]U Tab iHϥLiApjMجOsbC
-
-pGOϥ Windows 7 ˦jMGܦbD\ApGO嫬˦hܦbl\C
@UCOHi}άdݧhGC @UϥܥHbɮ`˵ҦGC
-
-嫬˦\zUB~ujMѪ̡vAiHbjMإΨӷjMrC q\ΫU Alt + jM{C bdҡAϥ Alt + A ϥ Agent RansackC
-
-
-oOb ۭq [}l] \ ޼ҥ[J SearchBoxItem lبӧ:
-
-
-}ҨCӤlبÿJROHҰʷjM{C pGzbROϥ %1ANHjMؤeNApGϥ %2ANH URL ˦sXjMبNC ƤJҡBܩMϥܥHz\ءC bҤriHϥ & ӼаOֳtr (Ҧp &Agent Ransack)C
-
-oOi઺@ǩRO:
H Agent Ransack jM: "C:\Program Files\Agent Ransack\AgentRansack.exe" -r -f "%1"
H Everything jM: "C:\Program Files\Everything\Everything.exe" -search "%1"
H Google jM: http://www.google.com/#q=%2
H Bing jM: http://www.bing.com/search?q=%2
-
-
-

ۭq [}l] s
-

Open-Shell [Jۤv [}l] su@CC ƦܯN Windows 7 w] [}l] sC Aero ˦ [] лxBxΨ嫬sΦۦs@C zݭn]t 3 ثsAϹӦۭq [}l] s - зǡBJIMwU:
-[}l] sϤ
-ϤO 32 줸 PNG BMPC w]ϤeרMwsjpAiHJۭqeмgC
ziHuWM\hۭq [}l] sϤC o̬O@ǽd:
http://www.classicshell.net/forum/viewforum.php?f=18
-http://www.sevenforums.com/themes-styles/34951-custom-start-menu-button-collection.html
-
http://www.sevenforums.com/customization/78291-big-group-custom-start-orbs.html
http://tutoriales13.deviantart.com/art/Orbs-153450418
-
-
-

a

- -ϥΪ̤ (Fu]wvܤ) ½Ķ 35 ػyC
ּƻy½Ķ]tu]wvܤC w]w˥u]t^C hyiHq translations UC нT{U Open-Shell T½Ķ]C
- - -
-

ROC

-StartMenu.exe 䴩 5 өROCѼ: -open, -toggle, -togglenew, -exit M -settingsC
-
-eӦW٪ijC @Ӷ}Ҩ嫬 [}l] \At@ӤC iHϥΰѼƦb [ֳtҰʦC] إ߶} [}l] \|C Φb{]wAp WinKey C
-
- 3 ӡu-togglenewvw] Windows [}l] \ ( [}l] e)C pGznإ߶}ҹw]\|μOΪAèϥ Win 䬰嫬\C
-
-ϥΡu-exitv [}l] \C ROub [}l] \ثeLɤ~ʧ@C
-
-ϥΡu-settingsv} [}l] \C obإߡus]wv|ɦΡC
-
-
-

Uu

[}l] \䴩ùŪuAp JAWS Microsoft NarratorC pGUu䴩yDAiHq]w @欰 ޼ҰΡC
- -
- diff --git a/Src/Localization/ChineseTW/MenuADMX.txt b/Src/Localization/ChineseTW/MenuADMX.txt deleted file mode 100644 index c77ab22..0000000 --- a/Src/Localization/ChineseTW/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Open-Shell 設定 -State.text = 狀態: -State1.text = 鎖定為此數值 -State2.text = 鎖定為預設值 -State3.text = 不鎖定 -State1Help.text = 如果設定狀態為「鎖定為此數值」,將針對所有使用者鎖定設定為指定的值。 -State2Help.text = 如果設定狀態為「鎖定為預設值」,將針對所有使用者鎖定設定為預設值。 忽略指定的值。 -State3Help.text = 如果設定狀態為「不鎖定」,將變更設定的預設值為指定的值。 個別使用者能覆寫設定。 - -MenuCat.text = Open-Shell Menu -MenuCatHelp.text = Open-Shell Menu 群組原則設定 -SUPPORTED_CS404.text = 需要 Open-Shell 4.0.4 或以上。 -SUPPORTED_CS404_WIN7.text = 需要 Windows 7。 -SUPPORTED_CS404_WIN78.text = 需要 Windows 7 或 Windows 8.1。 -SUPPORTED_CS404_WIN781.text = 需要 Windows 7 或 Windows 8。 -SUPPORTED_CS404_WIN8.text = 需要 Windows 8。 -SUPPORTED_CS404_WIN881.text = 需要 Windows 8 或 Windows 8.1。 -SUPPORTED_CS404_WIN81.text = 需要 Windows 8.1。 -SUPPORTED_CS404_CLASSIC1_STYLE.text = 需要典型一欄式功能表樣式。 -SUPPORTED_CS404_CLASSIC2_STYLE.text = 需要典型兩欄式功能表樣式。 -SUPPORTED_CS404_CLASSIC_STYLE.text = 需要典型功能表樣式。 -SUPPORTED_CS404_WIN7_STYLE.text = 需要 Windows 7 功能表樣式。 - - -EnableSettings.nameOverride = 啟用設定 -EnableSettings.tipOverride = 允許使用者能編輯自己的設定 - -MenuStyle.nameOverride = 功能表樣式 -MenuStyle.tipOverride = 選取 [開始] 功能表的預設樣式。\n樣式決定功能表的整體外觀和功能。 -MenuStyle_Classic1.nameOverride = 典型一欄式 -MenuStyle_Classic2.nameOverride = 典型兩欄式 -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = 按一下左鍵開啟 -ShiftClick.nameOverride = Shift + 按一下開啟 -WinKey.nameOverride = Windows 鍵開啟 -ShiftWin.nameOverride = Shift + Windows 鍵開啟 -MiddleClick.nameOverride = 按一下中鍵開啟 -Hover.nameOverride = 暫留開啟 - -; skins -SkinC1.nameOverride = 典型一欄式功能表的面板 -SkinC1.tipOverride = 選取一欄典型樣式所用的面板 -SkinVariationC1.nameOverride = 典型一欄式功能表的面板變數 -SkinVariationC1.tipOverride = 選取一欄典型樣式所用的面板變數 (針對支援多變數的面板) -SkinOptionsC1.nameOverride = 典型一欄式功能表的面板選項 -SkinOptionsC1.tipOverride = 選取一欄典型樣式所用的面板選項。\n選項為 16 進位數字的清單。 取得它們的最佳方式,在 Open-Shell Menu 設定對話方塊調整選項,接著在以下位置尋找名稱 SkinOptionsC1 的數值: HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = 典型一欄式功能表的功能表項目 -MenuItems1.tipOverride = 選取一欄典型樣式所用的功能表項目。\n取得正確字串的最佳方式,在 Open-Shell Menu 設定對話方塊組態項目,接著在以下位置尋找名稱 MenuItems1 的數值: HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = 典型兩欄式功能表的面板 -SkinC2.tipOverride = 選取兩欄典型樣式所用的面板 -SkinVariationC2.nameOverride = 典型兩欄式功能表的面板變數 -SkinVariationC2.tipOverride = 選取兩欄典型樣式所用的面板變數 (針對支援多變數的面板) -SkinOptionsC2.nameOverride = 典型兩欄式功能表的面板選項 -SkinOptionsC2.tipOverride = 選取兩欄典型樣式所用的面板選項。\n選項為 16 進位數字的清單。 取得它們的最佳方式,在 Open-Shell Menu 設定對話方塊調整選項,接著在以下位置尋找名稱 SkinOptionsC2 的數值: HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = 典型兩欄式功能表的功能表項目 -MenuItems2.tipOverride = 選取兩欄典型樣式所用的功能表項目。\n取得正確字串的最佳方式,在 Open-Shell Menu 設定對話方塊組態項目,接著在以下位置尋找名稱 MenuItems2 的數值: HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Windows 7 樣式的面板 -SkinW7.tipOverride = 選取 Windows 7 樣式所用的面板 -SkinVariationW7.nameOverride = Windows 7 樣式的面板變數 -SkinVariationW7.tipOverride = 選取 Windows 7 樣式所用的面板變數 (針對支援多變數的面板) -SkinOptionsW7.nameOverride = Windows 7 樣式的面板選項 -SkinOptionsW7.tipOverride = 選取 Windows 7 樣式所用的面板選項。\n選項為 16 進位數字的清單。 取得它們的最佳方式,在 Open-Shell Menu 設定對話方塊調整選項,接著在以下位置尋找名稱 SkinOptionsW7 的數值: HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Windows 7 樣式的功能表項目 -MenuItems7.tipOverride = 選取 Windows 7 樣式所用的功能表項目。\n取得正確字串的最佳方式,在 Open-Shell Menu 設定對話方塊組態項目,接著在以下位置尋找名稱 MenuItems7 的數值: HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Windows 7 [開始] 功能表的 [所有程式] 子功能表的面板 -SkinA.tipOverride = 選取 Windows 7 開始功能表的 [所有程式] 子功能表所用的面板 -SkinVariationA.nameOverride = Windows 7 [開始] 功能表的 [所有程式] 子功能表的面板變數 -SkinVariationA.tipOverride = 選取 Windows 7 開始功能表的 [所有程式] 子功能表所用的面板變數 (針對支援多變數的面板) -SkinOptionsA.nameOverride = Windows 7 [開始] 功能表的 [所有程式] 子功能表的面板選項 -SkinOptionsA.tipOverride = 選取 Windows 7 開始功能表的 [所有程式] 子功能表所用的面板選項。\n選項為 16 進位數字的清單。 取得它們的最佳方式,在 Open-Shell Menu 設定對話方塊調整選項,接著在以下位置尋找名稱 SkinOptionsA 的數值: HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = 此設定不支援 Windows 8.1。 您需要使用內建 Windows 設定以開機到桌面 - -; hidden -FolderStartMenu.nameOverride = [開始] 功能表資料夾 -FolderStartMenu.tipOverride = 輸入覆寫每個使用者 [開始] 功能表資料夾 (同時覆寫每個使用者 [程式] 資料夾)。\n路徑能包含環境變數。\n請注意: 此設定無法從「設定」對話方塊編輯 -FolderPrograms.nameOverride = [程式] 資料夾 -FolderPrograms.tipOverride = 輸入覆寫每個使用者 [程式] 資料夾。\n路徑能包含環境變數。\n請注意: 此設定無法從「設定」對話方塊編輯 -FolderCommonStartMenu.nameOverride = 公用 [開始] 功能表資料夾 -FolderCommonStartMenu.tipOverride = 輸入覆寫公用 [開始] 功能表資料夾 (同時覆寫公用 [程式] 資料夾)。\n路徑能包含環境變數。\n請注意: 此設定無法從「設定」對話方塊編輯 -FolderCommonPrograms.nameOverride = 公用 [程式] 資料夾 -FolderCommonPrograms.tipOverride = 輸入覆寫公用 [程式] 資料夾。\n路徑能包含環境變數。\n請注意: 此設定無法從「設定」對話方塊編輯 -AutoStartDelay.nameOverride = 自動啟動延遲 -AutoStartDelay.tipOverride = 輸入登入期間自動啟動 [開始] 功能表的延遲時間,單位毫秒 (以執行 StartMenu.exe 手動啟動功能表時不適用)。\n請注意: 此設定無法從「設定」對話方塊編輯 - -; other -StartButtonIcon.tipAddition = 數值可以是 ICO 檔案的路徑或 EXE/DLL 的路徑及圖示的 ID -StartButtonPath.tipAddition = 數值是 BMP 或 PNG 檔案的完整路徑 -SoundMain.tipAddition = 數值可以是系統事件名稱或 WAV 檔案的路徑 -SoundPopup.tipAddition = 數值可以是系統事件名稱或 WAV 檔案的路徑 -SoundCommand.tipAddition = 數值可以是系統事件名稱或 WAV 檔案的路徑 -SoundDrop.tipAddition = 數值可以是系統事件名稱或 WAV 檔案的路徑 -ExpandFolderLinks.tipAddition = 只能在符號連結動作 (比如聯結) 且不支援純捷徑 -StartHoverDelay.nameOverride = 暫留延遲 (針對 [開始] 按鈕) -AllProgramsDelay.nameOverride = 暫留延遲 (針對 Windows 7 中 [所有程式]) -CSMHotkey.tipAddition = .\n\n基礎值為主機碼的虛擬碼。 加入 256 為 Shift 鍵,512 為 Ctrl 鍵,1024 為 Alt 鍵。\n取得數值的最佳方式,在 Open-Shell Menu 設定對話方塊選取熱鍵,接著在以下位置尋找名稱 CSMHotkey 的數值: HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\n基礎值為主機碼的虛擬碼。 加入 256 為 Shift 鍵,512 為 Ctrl 鍵,1024 為 Alt 鍵。\n取得數值的最佳方式,在 Open-Shell Menu 設定對話方塊選取熱鍵,接著在以下位置尋找名稱 WSMHotkey 的數值: HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/ChineseTW/OpenShell.hhp b/Src/Localization/ChineseTW/OpenShell.hhp deleted file mode 100644 index be8ce5c..0000000 --- a/Src/Localization/ChineseTW/OpenShell.hhp +++ /dev/null @@ -1,17 +0,0 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=OpenShell.chm -Contents file=OpenShellTOC.hhc -Default Font=Ln,10,0 -Default topic=Main.html -Display compile progress=Yes -Language=0x404 (cAxW) - - -[FILES] -ClassicExplorer.html -Menu.html -ClassicIE.html - -[INFOTYPES] - diff --git a/Src/Localization/ChineseTW/OpenShellADMX.txt b/Src/Localization/ChineseTW/OpenShellADMX.txt deleted file mode 100644 index 19321ce..0000000 --- a/Src/Localization/ChineseTW/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Open-Shell 設定 -State.text = 狀態: -State1.text = 鎖定為此數值 -State2.text = 鎖定為預設值 -State3.text = 不鎖定 -State1Help.text = 如果設定狀態為「鎖定為此數值」,將針對所有使用者鎖定設定為指定的值。 -State2Help.text = 如果設定狀態為「鎖定為預設值」,將針對所有使用者鎖定設定為預設值。 忽略指定的值。 -State3Help.text = 如果設定狀態為「不鎖定」,將變更設定的預設值為指定的值。 個別使用者能覆寫設定。 - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Open-Shell 群組原則設定 -SUPPORTED_CS404.text = 需要 Open-Shell 4.0.4 或以上。 - -Language.nameOverride = Open-Shell 元件的語言 -Language.tipOverride = 選取 Open-Shell 所使用的語言 (例如: zh-TW 或 en-US 或 de-DE)。 語言將影響 [開始] 功能表、工具列等中文字。 如果已安裝適當的語言 DLL,設定 UI 也會翻譯 -Update.nameOverride = 啟用自動檢查新版本 -Update.tipOverride = 選取時,Open-Shell 將每星期檢查新的版本。 如果有 Open-Shell 軟體的新版本或目前語言的更新將通知您 diff --git a/Src/Localization/ChineseTW/OpenShellEULA.rtf b/Src/Localization/ChineseTW/OpenShellEULA.rtf deleted file mode 100644 index affdc74..0000000 Binary files a/Src/Localization/ChineseTW/OpenShellEULA.rtf and /dev/null differ diff --git a/Src/Localization/ChineseTW/OpenShellReadme.rtf b/Src/Localization/ChineseTW/OpenShellReadme.rtf deleted file mode 100644 index 1a43070..0000000 --- a/Src/Localization/ChineseTW/OpenShellReadme.rtf +++ /dev/null @@ -1,109 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fnil\fprq2\fcharset136 PMingLiU;}{\f2\fswiss\fprq2\fcharset0 Calibri;}{\f3\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52 Open-Shell\par - -\pard\widctlpar\cf0\expndtw0\b0\f2\fs22\par -\f1\'b7\'50\'c1\'c2\'b1\'7a\'a6\'77\'b8\'cb\f2 \cf3\b Open-Shell\'99\cf0\b0\f1\'a1\'43\f2 \f1\'a5\'a6\'a6\'62\f2 Windows 7, Windows 8, Windows 8.1\f1\'a9\'4d\f2 Windows 10\f1\'bc\'57\'a5\'5b\'a4\'46\'a4\'40\'a8\'c7\'af\'ca\'a4\'d6\'aa\'ba\'a5\'5c\'af\'e0\f2 - \f1\'a4\'f1\'a6\'70\'a4\'40\'ad\'d3\'a8\'e5\'ab\'ac\f2 [\f1\'b6\'7d\'a9\'6c\f2 ] \f1\'a5\'5c\'af\'e0\'aa\'ed\'a1\'42\f2 [\f1\'b6\'7d\'a9\'6c\f2 ] \f1\'ab\'f6\'b6\'73\'a1\'42\f2 Windows \f1\'c0\'c9\'ae\'d7\'c1\'60\'ba\'de\'a4\'75\'a8\'e3\'a6\'43\'a9\'4d\'a8\'e4\'a5\'a6\'a1\'43\f2\par -\par -\f1\'b3\'cc\'b7\'73\'aa\'a9\'a5\'bb\'a5\'69\'a5\'48\'a6\'62\f2 OpenShell\f1\'aa\'ba\'ba\'f4\'af\'b8\'a7\'e4\'a8\'ec\f2 :\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f2\fs22\par -\par -\f1\'b1\'60\'a8\'a3\'b0\'dd\'b5\'aa\'b6\'b0\'bd\'d0\'ac\'dd\'b3\'6f\'b8\'cc\f2 :\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f2\fs22\par -\par -\f1\'a9\'ce\'a8\'cf\'a5\'ce\'b0\'51\'bd\'d7\'b0\'cf\'a8\'fa\'b1\'6f\'a8\'f3\'a7\'55\f2 :\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f2\fs22\par -\par -\f1\'a6\'62\f2 Open-Shell \f1\'b6\'7d\'b5\'6f\'b0\'51\'bd\'d7\'b0\'cf\'b3\'f8\'a7\'69\'b0\'dd\'c3\'44\f2 :\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f2\fs22 \par -\par -\f1\'a5\'bf\'c5\'e9\'a4\'a4\'a4\'e5\'bb\'79\'a8\'a5\'a7\'40\'aa\'cc\'ba\'f4\'af\'b8\f2 :\par -{{\field{\*\fldinst{HYPERLINK http://sts.stable.com.tw }}{\fldrslt{http://sts.stable.com.tw\ul0\cf0}}}}\f2\fs22\par -\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Open-Shell Menu\par - -\pard\widctlpar\cf0\b0\f2\fs22\par -\cf3\b Open-Shell Menu\cf0\b0\f1\'ac\'4f\'c6\'46\'ac\'a1\'aa\'ba\f2 [\f1\'b6\'7d\'a9\'6c\f2 ] \f1\'a5\'5c\'af\'e0\'aa\'ed\'a1\'41\'af\'e0\'bc\'d2\'a5\'e9\f2 Windows 2000, XP \f1\'a9\'4d\f2 Windows 7 \f1\'aa\'ba\'a5\'5c\'af\'e0\'aa\'ed\'a6\'e6\'ac\'b0\'a1\'43\f2 \f1\'a6\'b3\'b3\'5c\'a6\'68\'b6\'69\'b6\'a5\'a5\'5c\'af\'e0\f2 :\par -\par - -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720\f1\'bf\'ef\'be\'dc\'a1\'75\'a8\'e5\'ab\'ac\'a1\'76\'a9\'ce\'a1\'75\f2 Windows 7\f1\'a1\'76\'bc\'cb\'a6\'a1\f2\par -{\pntext\f3\'B7\tab}\f1\'a5\'48\'a9\'ec\'a9\'f1\'b2\'d5\'c2\'b4\'ba\'de\'b2\'7a\'c0\'b3\'a5\'ce\'b5\'7b\'a6\'a1\f2\par -{\pntext\f3\'B7\tab}\f1\'bf\'ef\'b6\'b5\'c5\'e3\'a5\'dc\'a1\'75\'a7\'da\'aa\'ba\'b3\'cc\'b7\'52\'a1\'76\'a1\'42\'ae\'69\'b6\'7d\'a1\'75\'b1\'b1\'a8\'ee\'a5\'78\'a1\'76\'b5\'a5\f2\par -{\pntext\f3\'B7\tab}\f1\'c5\'e3\'a5\'dc\'b3\'cc\'aa\'f1\'a8\'cf\'a5\'ce\'aa\'ba\'a4\'e5\'a5\'f3\'a1\'43\f2 \f1\'a5\'69\'a6\'db\'ad\'71\'c5\'e3\'a5\'dc\'aa\'ba\'a4\'e5\'a5\'f3\'bc\'c6\'b6\'71\f2\par -{\pntext\f3\'B7\tab}\f1\'c2\'bd\'c4\'b6\'a6\'a8\f2 35 \f1\'ba\'d8\'bb\'79\'a8\'a5\'a1\'41\'a5\'5d\'a7\'74\'a5\'bf\'c5\'e9\'a4\'a4\'a4\'e5\'a5\'48\'a4\'ce\'a5\'d1\'a5\'6b\'a6\'dc\'a5\'aa\'aa\'ba\f2 Arabic \f1\'a9\'4d\f2 Hebrew\par -{\pntext\f3\'B7\tab}\f1\'a4\'a3\'b0\'b1\'a5\'ce\f2 Windows \f1\'aa\'ba\'ad\'ec\'a9\'6c\f2 [\f1\'b6\'7d\'a9\'6c\f2 ] \f1\'a5\'5c\'af\'e0\'aa\'ed\'a1\'43\f2 \f1\'b1\'7a\'a5\'69\'a5\'48\'a6\'62\f2 [\f1\'b6\'7d\'a9\'6c\f2 ] \f1\'ab\'f6\'b6\'73\f2 [Shift + \f1\'ab\'f6\'a4\'40\'a4\'55\f2 ] \f1\'a8\'d3\'a6\'73\'a8\'fa\f2\par -{\pntext\f3\'B7\tab}\f1\'a6\'62\'a5\'5c\'af\'e0\'aa\'ed\'aa\'ba\'b6\'b5\'a5\'d8\'ab\'f6\'a4\'40\'a4\'55\'a5\'6b\'c1\'e4\'a5\'48\'a7\'52\'b0\'a3\'a1\'42\'ad\'ab\'b7\'73\'a9\'52\'a6\'57\'a1\'42\'b1\'c6\'a7\'c7\'a9\'ce\'b0\'f5\'a6\'e6\'a8\'e4\'a5\'a6\'a4\'75\'a7\'40\f2\par -{\pntext\f3\'B7\tab}\f1\'b7\'6a\'b4\'4d\'ae\'d8\'a8\'f3\'a7\'55\'b1\'7a\'b4\'4d\'a7\'e4\'b5\'7b\'a6\'a1\'bb\'50\'c0\'c9\'ae\'d7\'a6\'d3\'a4\'a3\'bb\'dd\'a5\'48\'c1\'e4\'bd\'4c\'a7\'d6\'b3\'74\'c1\'e4\'a4\'e8\'a6\'a1\'a8\'fa\'b1\'6f\f2\par -{\pntext\f3\'B7\tab}\f1\'a4\'e4\'b4\'a9\'b8\'f5\'c5\'44\'b2\'4d\'b3\'e6\'b4\'a3\'a8\'d1\'bb\'b4\'c3\'50\'a6\'73\'a8\'fa\'b3\'cc\'aa\'f1\'aa\'ba\'a4\'e5\'a5\'f3\'a9\'4d\'b1\'60\'a8\'a3\'a4\'75\'a7\'40\f2\par -{\pntext\f3\'B7\tab}\f1\'a4\'e4\'b4\'a9\f2 32 \f1\'a9\'4d\f2 64 \f1\'a6\'ec\'a4\'b8\'a7\'40\'b7\'7e\'a8\'74\'b2\'ce\f2\par -{\pntext\f3\'B7\tab}\f1\'a4\'e4\'b4\'a9\'ad\'b1\'aa\'4f\'a1\'41\'a5\'5d\'a7\'74\'c3\'42\'a5\'7e\'b2\'c4\f2 3 \f1\'a4\'e8\'ad\'b1\'aa\'4f\'a1\'43\f2 \f1\'af\'e0\'a6\'db\'a6\'e6\'bb\'73\'a7\'40\f2 !\par -{\pntext\f3\'B7\tab}\f1\'a5\'7e\'c6\'5b\'a9\'4d\'a5\'5c\'af\'e0\'a5\'69\'a7\'b9\'a5\'fe\'a6\'db\'ad\'71\'a4\'c6\f2\par -{\pntext\f3\'B7\tab}\f1\'a4\'e4\'b4\'a9\f2 Microsoft \f1\'aa\'ba\f2 Active Accessibility\par -{\pntext\f3\'B7\tab}\f1\'c2\'e0\'b4\'ab\f2 Windows \f1\'a5\'5c\'af\'e0\'aa\'ed\'aa\'ba\f2 [\f1\'a9\'d2\'a6\'b3\'b5\'7b\'a6\'a1\f2 ] \f1\'ab\'f6\'b6\'73\'ac\'b0\'b6\'a5\'bc\'68\'a6\'a1\'a5\'5c\'af\'e0\'aa\'ed\f2\par -{\pntext\f3\'B7\tab}\f1\'b9\'ea\'b2\'7b\'a5\'69\'a6\'db\'ad\'71\f2 [\f1\'b6\'7d\'a9\'6c\f2 ] \f1\'a5\'5c\'af\'e0\'aa\'ed\f2\par -{\pntext\f3\'B7\tab}\f1\'af\'e0\'c5\'e3\'a5\'dc\'a1\'42\'b7\'6a\'b4\'4d\'a4\'ce\'b1\'d2\'b0\'ca\f2 Windows \f1\'a5\'ab\'b6\'b0\'c0\'b3\'a5\'ce\'b5\'7b\'a6\'a1\f2 (Windows 8)\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic Explorer\par - -\pard\widctlpar\cf0\b0\f2\fs22\par -\cf3\b Classic Explorer\cf0 \b0\f1\'ac\'4f\f2 Windows\f1\'c0\'c9\'ae\'d7\'c1\'60\'ba\'de\'aa\'ba\'a5\'7e\'b1\'be\'b5\'7b\'a6\'a1\f2 :\par -\par - -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720\f1\'a6\'62\'c0\'c9\'ae\'d7\'c1\'60\'ba\'de\'a5\'5b\'a4\'4a\'ac\'59\'a8\'c7\'a4\'40\'af\'eb\'be\'de\'a7\'40\'aa\'ba\'a4\'75\'a8\'e3\'a6\'43\f2 (\f1\'b2\'be\'a6\'dc\'a4\'57\'bc\'68\'b8\'ea\'ae\'c6\'a7\'a8\'a1\'42\'b0\'c5\'a4\'55\'a1\'42\'bd\'c6\'bb\'73\'a1\'42\'b6\'4b\'a4\'57\'a1\'42\'a7\'52\'b0\'a3\'a1\'42\'a4\'ba\'ae\'65\'a1\'42\f2 Email)\f1\'a1\'43\f2 \f1\'a4\'75\'a8\'e3\'a6\'43\'a5\'69\'a7\'b9\'a5\'fe\'a6\'db\'ad\'71\f2\par -{\pntext\f3\'B7\tab}\f1\'a8\'cf\'a5\'ce\'a7\'f3\'a4\'cd\'b5\'bd\'aa\'ba\'a1\'75\'a8\'e5\'ab\'ac\'a1\'76\'aa\'a9\'a5\'bb\'a8\'fa\'a5\'4e\f2 Windows 7 \f1\'aa\'ba\'bd\'c6\'bb\'73\f2 UI\f1\'a1\'41\'c3\'fe\'a6\'fc\f2 Windows XP\par -{\pntext\f3\'B7\tab}\f1\'b3\'42\'b2\'7a\f2 Windows \f1\'c0\'c9\'ae\'d7\'c1\'60\'ba\'de\'aa\'ba\'b8\'ea\'ae\'c6\'a7\'a8\'ad\'b1\'aa\'4f\'a4\'a4\f2 Alt+Enter \f1\'c1\'e4\'a8\'c3\'c5\'e3\'a5\'dc\'bf\'ef\'a8\'fa\'b8\'ea\'ae\'c6\'a7\'a8\'aa\'ba\'a4\'ba\'ae\'65\f2\par -{\pntext\f3\'B7\tab}\f1\'b4\'a3\'a8\'d1\'a6\'db\'ad\'71\'b8\'ea\'ae\'c6\'a7\'a8\'ad\'b1\'aa\'4f\'aa\'ba\'bf\'ef\'b6\'b5\'a1\'41\'a8\'cf\'ac\'dd\'b0\'5f\'a8\'d3\'a7\'f3\'b9\'b3\f2 Windows XP \f1\'aa\'a9\'a1\'41\'a9\'ce\'a4\'a3\'b2\'48\'a4\'4a\'b2\'48\'a5\'58\'ae\'69\'b6\'7d\'ab\'f6\'b6\'73\f2\par -{\pntext\f3\'B7\tab}\f1\'af\'e0\'a6\'62\'aa\'ac\'ba\'41\'a6\'43\'c5\'e3\'a5\'dc\'a5\'69\'a5\'ce\'ba\'cf\'ba\'d0\'aa\'c5\'b6\'a1\'a9\'4d\'a6\'58\'ad\'70\'c0\'c9\'ae\'d7\'a4\'6a\'a4\'70\f2\par -{\pntext\f3\'B7\tab}\f1\'af\'e0\'a6\'62\'ba\'f4\'a7\'7d\'a6\'43\'b0\'b1\'a5\'ce\'ad\'79\'b8\'f1\'c2\'73\'c4\'fd\f2\par -{\pntext\f3\'B7\tab}\f1\'ad\'d7\'b4\'5f\'a6\'62\f2 Windows 7 \f1\'a4\'a4\'c2\'5f\'aa\'ba\'aa\'f8\'b2\'4d\'b3\'e6\'a5\'5c\'af\'e0\f2 \endash \f1\'af\'ca\'a4\'d6\'a6\'40\'a5\'ce\'b8\'ea\'ae\'c6\'a7\'a8\'aa\'ba\'ad\'ab\'c5\'7c\'b9\'cf\'a5\'dc\'a1\'42\'a6\'62\'be\'c9\'c4\'fd\'b5\'a1\'ae\'e6\'aa\'ba\'b8\'f5\'c5\'44\'b8\'ea\'ae\'c6\'a7\'a8\'a1\'42\'a6\'62\'b2\'4d\'b3\'e6\'c0\'cb\'b5\'f8\'a4\'a4\'af\'ca\'a4\'d6\'b1\'c6\'a7\'c7\'bc\'d0\'c0\'59\'a9\'4d\'a7\'f3\'a6\'68\f2\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic IE\par - -\pard\widctlpar\cf0\b0\f2\fs22\par -\cf3\b Classic IE\cf0\b0\f1\'ac\'4f\f2 Internet Explorer 9 \f1\'a9\'4d\'a5\'48\'a4\'57\'aa\'ba\'a5\'7e\'b1\'be\'b5\'7b\'a6\'a1\cf3\b\f2 :\par -\cf0\b0\par - -\pard{\pntext\f3\'B7\tab}{\*\pn\pnlvlblt\pnf3\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720\f1\'a6\'62\'bc\'d0\'c3\'44\'a6\'43\'a5\'5b\'a4\'4a\'bc\'d0\'c3\'44\'a1\'41\'a5\'48\'ab\'4b\'af\'e0\'ac\'dd\'a8\'ec\'ad\'b6\'ad\'b1\'aa\'ba\'a7\'b9\'be\'e3\'bc\'d0\'c3\'44\f2\par -{\pntext\f3\'B7\tab}\f1\'a6\'62\'aa\'ac\'ba\'41\'a6\'43\'c5\'e3\'a5\'dc\'a6\'77\'a5\'fe\'a9\'ca\'b0\'cf\'b0\'ec\f2\par -{\pntext\f3\'B7\tab}\f1\'a6\'62\'aa\'ac\'ba\'41\'a6\'43\'c5\'e3\'a5\'dc\'b8\'fc\'a4\'4a\'b6\'69\'ab\'d7\f2\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f1\fs28\'a6\'77\'b8\'cb\'a4\'b6\'b2\'d0\f0\par - -\pard\widctlpar\cf0\b0\f2\fs22\par -\f1\'a6\'77\'b8\'cb\'ab\'e1\f2 Windows\f1\'c0\'c9\'ae\'d7\'c1\'60\'ba\'de\'aa\'ba\'a4\'75\'a8\'e3\'a6\'43\'a4\'a3\'b7\'7c\'a6\'db\'b0\'ca\'c5\'e3\'a5\'dc\'a1\'43\f2 \f1\'a8\'cf\'a5\'ce\'ab\'65\'a5\'b2\'b6\'b7\'b6\'69\'a6\'e6\'a4\'40\'a8\'c7\'b0\'ca\'a7\'40\'a1\'43\f2\par -\par -\cf3\b Windows 7:\cf0\b0 \f1\'ab\'f6\'a4\'55\f2 Alt+V \f1\'c1\'e4\'a5\'48\'b6\'7d\'b1\'d2\'a1\'75\'c0\'cb\'b5\'f8\'a1\'76\'a5\'5c\'af\'e0\'aa\'ed\'a1\'43\f2 \f1\'b6\'7d\'b1\'d2\'a1\'75\'a4\'75\'a8\'e3\'a6\'43\'a1\'76\'a4\'6c\'a5\'5c\'af\'e0\'aa\'ed\'a8\'c3\'bf\'ef\'a8\'fa\'a1\'75\f2 Classic Exlporer \f1\'a6\'43\'a1\'76\'a1\'43\f2 \f1\'bd\'d0\'b0\'4f\'a6\'ed\'a1\'41\'a5\'5c\'af\'e0\'aa\'ed\'b1\'4e\'a6\'62\'a4\'75\'a8\'e3\'a6\'43\'a5\'69\'a8\'a3\'ae\'c9\'a9\'6c\'b2\'d7\'c5\'e3\'a5\'dc\'a1\'43\f2\par -\par -\cf3\b Windows 8:\cf0\b0 \f1\'ab\'f6\'a4\'55\f2 Alt+V \f1\'c1\'e4\'a5\'48\'b6\'7d\'b1\'d2\'a1\'75\'c0\'cb\'b5\'f8\'a1\'76\'a5\'5c\'af\'e0\'b0\'cf\'a1\'43\f2 \f1\'a6\'62\'a1\'75\'bf\'ef\'b6\'b5\'a1\'76\'b0\'cf\'ac\'71\'ab\'f6\'a4\'40\'a4\'55\'a6\'56\'a4\'55\'bd\'62\'c0\'59\'a1\'43\f2 \f1\'bf\'ef\'a8\'fa\'a1\'75\f2 Classic Exlporer \f1\'a6\'43\'a1\'76\f2\par -\par -\f1\'a6\'70\'aa\'47\'b3\'6f\'a8\'c7\'a8\'42\'c6\'4a\'a8\'53\'a6\'b3\'a7\'40\'a5\'ce\'a1\'41\'a6\'b3\'a5\'69\'af\'e0\f2 Internet Explorer\f1\'c2\'58\'a5\'52\'a5\'5c\'af\'e0\'a4\'77\'b8\'67\'b0\'b1\'a5\'ce\'a1\'43\f2 \f1\'c0\'cb\'ac\'64\'a5\'48\'a4\'55\'a1\'41\'b1\'b5\'b5\'db\'b9\'c1\'b8\'d5\'a6\'41\'a6\'b8\'c5\'e3\'a5\'dc\'a4\'75\'a8\'e3\'a6\'43\f2 :\par - -\pard -{\pntext\f2 1)\tab}{\*\pn\pnlvlbody\pnf2\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720\f1\'b6\'7d\'b1\'d2\f2 Internet Explorer \f1\'a8\'c3\'b2\'be\'a6\'dc\f2 \f1\'a4\'75\'a8\'e3\f2 -> \f1\'ba\'de\'b2\'7a\'aa\'fe\'a5\'5b\'a4\'b8\'a5\'f3\'a1\'43\f2 \f1\'b4\'4d\'a7\'e4\'aa\'fe\'a5\'5b\'a4\'b8\'a5\'f3\'a1\'75\f2 Classic Explorer Bar\f1\'a1\'76\'a9\'4d\'a1\'75\f2 ExplorerBHO Class\f1\'a1\'76\'a8\'c3\'bd\'54\'bb\'7b\'a4\'77\'b1\'d2\'a5\'ce\'a1\'43\f2\par -{\pntext\f2 2)\tab}\f1\'a5\'69\'af\'e0\f2 Internet Explorer \f1\'c2\'58\'a5\'52\'a5\'5c\'af\'e0\'a4\'77\'a6\'62\'a8\'74\'b2\'ce\'b0\'b1\'a5\'ce\'a1\'43\f2 \f1\'b3\'6f\'b3\'71\'b1\'60\'ac\'4f\f2 Windows \f1\'a6\'f8\'aa\'41\'be\'b9\'aa\'ba\'b9\'77\'b3\'5d\'ad\'c8\'a1\'43\f2 \f1\'b6\'7d\'b1\'d2\'a1\'75\'ba\'f4\'bb\'da\'ba\'f4\'b8\'f4\'bf\'ef\'b6\'b5\'a1\'76\'a1\'41\'b2\'be\'a6\'dc\'a1\'75\'b6\'69\'b6\'a5\'a1\'76\'af\'c1\'a4\'de\'bc\'d0\'c5\'d2\'a1\'41\'a8\'c3\'c0\'cb\'ac\'64\'b3\'5d\'a9\'77\'a1\'75\'b1\'d2\'a5\'ce\'a8\'f3\'a4\'4f\'bc\'74\'b0\'d3\'c2\'73\'c4\'fd\'be\'b9\'a9\'b5\'a6\'f9\'a1\'76\'a1\'43\f2\par - -\pard\widctlpar\par -\f1\'a6\'62\f2 Windows 7\f1\'a1\'41\'a6\'70\'aa\'47\'b1\'7a\'ad\'6e\'ac\'64\'ac\'dd\'c0\'c9\'ae\'d7\'a4\'6a\'a4\'70\'a6\'62\'a1\'41\'a5\'b2\'b6\'b7\'b1\'71\'a1\'75\'c0\'cb\'b5\'f8\'a1\'76\'a5\'5c\'af\'e0\'aa\'ed\'b6\'7d\'b1\'d2\'a1\'75\'aa\'ac\'ba\'41\'a6\'43\'a1\'76\'a1\'43\f2\par -\f1\'a6\'62\f2 Windows 8\f1\'a1\'41\f2 Classic Explorer\f1\'a1\'75\'aa\'ac\'ba\'41\'a6\'43\'a1\'76\'bb\'50\'c0\'c9\'ae\'d7\'c1\'60\'ba\'de\'a4\'a3\'a6\'50\'a1\'43\f2 \f1\'b1\'7a\'a5\'69\'a5\'48\'b1\'71\f2 Classic Explorer\f1\'b3\'5d\'a9\'77\'b9\'ef\'b8\'dc\'a4\'e8\'b6\'f4\'c5\'e3\'a5\'dc\f2 /\f1\'c1\'f4\'c2\'c3\'b2\'c4\'a4\'40\'ad\'d3\'a8\'c3\'b1\'71\'c0\'c9\'ae\'d7\'c1\'60\'ba\'de\'aa\'ba\'b8\'ea\'ae\'c6\'a7\'a8\'bf\'ef\'b6\'b5\'b9\'ef\'b8\'dc\'a4\'e8\'b6\'f4\'c5\'e3\'a5\'dc\f2 /\f1\'c1\'f4\'c2\'c3\'b2\'c4\'a4\'47\'ad\'d3\'a1\'43\f2\par -\par -\f1\'a6\'77\'b8\'cb\'ab\'e1\f2 Internet Explorer \f1\'aa\'ba\'bc\'d0\'c3\'44\'a5\'69\'af\'e0\'a4\'a3\'b7\'7c\'a6\'db\'b0\'ca\'c5\'e3\'a5\'dc\'a1\'43\f2 \f1\'a5\'69\'af\'e0\'b7\'7c\'b4\'a3\'a5\'dc\'b1\'d2\'a5\'ce\f2 ClassicIEBHO \f1\'aa\'fe\'a5\'5b\'a4\'b8\'a5\'f3\'a1\'43\f2 \f1\'a6\'70\'aa\'47\'a5\'58\'b2\'7b\'b4\'a3\'a5\'dc\'a1\'41\'bf\'ef\'a8\'fa\'a1\'75\'b1\'d2\'a5\'ce\'a1\'76\'a1\'43\f2 \f1\'a6\'70\'aa\'47\'ac\'b0\'a5\'58\'b2\'7b\'b4\'a3\'a5\'dc\'a1\'41\'b2\'be\'a6\'dc\f2 \f1\'a4\'75\'a8\'e3\f2 -> \f1\'ba\'de\'b2\'7a\'aa\'fe\'a5\'5b\'a4\'b8\'a5\'f3\f2 \f1\'a8\'c3\'bd\'54\'bb\'7b\'a1\'75\f2 ClassicIEBHO\f1\'a1\'76\'a4\'77\'b1\'d2\'a5\'ce\'a1\'43\f2 \f1\'b1\'b5\'b5\'db\'ad\'ab\'b7\'73\'b1\'d2\'b0\'ca\f2 Internet Explorer\f1\'a1\'43\f2\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f1\fs28\'b8\'d1\'b0\'a3\'a6\'77\'b8\'cb\f0\par - -\pard\widctlpar\cf0\b0\f2\fs22\par -\f1\'ad\'59\'ad\'6e\'b8\'d1\'b0\'a3\'a6\'77\'b8\'cb\f2 \cf3\b Open-Shell\cf0\b0\f1\'a1\'41\'bd\'d0\'bf\'ed\'b4\'60\'a5\'48\'a4\'55\'b3\'6f\'a8\'c7\'a8\'42\'c6\'4a\f2 :\par - -\pard -{\pntext\f2 1)\tab}{\*\pn\pnlvlbody\pnf2\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720\f1\'b6\'7d\'b1\'d2\f2 \b\f1\'b1\'b1\'a8\'ee\'a5\'78\f2 -> \f1\'b5\'7b\'a6\'a1\'a9\'4d\'a5\'5c\'af\'e0\b0\f2 \f1\'a8\'c3\'a6\'62\b\f2 Open-Shell\b0 \f1\'ab\'f6\'a8\'e2\'a4\'55\'a1\'41\'b1\'b5\'b5\'db\'ab\'f6\'b7\'d3\'ab\'fc\'a5\'dc\'a1\'43\f2 \f1\'a5\'69\'af\'e0\'a5\'b2\'b6\'b7\'ad\'ab\'b7\'73\'b1\'d2\'b0\'ca\f2 Windows \f1\'a5\'48\'a7\'b9\'a6\'a8\'b5\'7b\'a7\'c7\'a1\'43\f2\par -{\pntext\f2 2)\tab}\f1\'a6\'70\'aa\'47\'b1\'7a\'a6\'b3\'a6\'77\'b8\'cb\'a5\'f4\'a6\'f3\f2 [\f1\'b6\'7d\'a9\'6c\f2 ] \f1\'a5\'5c\'af\'e0\'aa\'ed\'aa\'ba\'c3\'42\'a5\'7e\'ad\'b1\'aa\'4f\'a1\'41\'b1\'7a\'b1\'4e\'a5\'b2\'b6\'b7\'a4\'e2\'b0\'ca\'a7\'52\'b0\'a3\f2\par - -\pard\widctlpar\par - -\pard\widctlpar\sa200\sl276\slmult1\par -} - diff --git a/Src/Localization/ChineseTW/OpenShellTOC.hhc b/Src/Localization/ChineseTW/OpenShellTOC.hhc deleted file mode 100644 index c8da139..0000000 --- a/Src/Localization/ChineseTW/OpenShellTOC.hhc +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -
    -
  • - - - - -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
  • - - - - -
- diff --git a/Src/Localization/ChineseTW/OpenShellText-zh-TW.wxl b/Src/Localization/ChineseTW/OpenShellText-zh-TW.wxl deleted file mode 100644 index 789ba58..0000000 --- a/Src/Localization/ChineseTW/OpenShellText-zh-TW.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - 此安裝程式只針對 32 位元版本的 Windows。 對於 64 位元 的 Windows,您需要執行 Setup64。 - Open-Shell 需要 Windows 7 或以上。 - 已經安裝 [ProductName] 的新版本。 安裝程式現在將結束。 - Classic Explorer - Classic Explorer 在 Windows 檔案總管加入一個工具列,取代複製 UI 和修復一些可用性問題 - Open-Shell Menu - Open-Shell Menu 是可以高度自訂化的取代 Windows [開始] 功能表 - Classic IE - Classic IE 讓您自訂 Internet Explorer 的標題列和狀態列 - Open-Shell 更新 - Open-Shell 更新定期檢查新版本 - 檢視 Open-Shell 文件 - 檢視 Open-Shell 介紹 - 編輯 Classic Explorer 的設定 - 編輯 Open-Shell Menu 的設定 - 編輯 Internet Explorer 標題列和狀態列的設定 - 編輯 Open-Shell 的新版本檢查設定 - 建立 [\[]開始[\]] 功能表資料夾 - Open-Shell 網站 - 贊助 Open-Shell - 在 Facebook 訪問我們 - 檢視讀我檔案 - Open-Shell 說明 - Open-Shell 讀我 - Open-Shell 更新 - Classic Explorer 設定 - Open-Shell Menu 設定 - Classic IE 設定 - 開啟 [\[]開始[\]] 畫面 - Open-Shell 是增強 Windows 可用性的工具集 - diff --git a/Src/Localization/ChineseTW/WixUI_zh-TW.wxl b/Src/Localization/ChineseTW/WixUI_zh-TW.wxl deleted file mode 100644 index 9fa614e..0000000 --- a/Src/Localization/ChineseTW/WixUI_zh-TW.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - 上一步(&B) - 下一步(&N) - 取消 - 完成(&F) - 重試(&R) - 忽略(&I) - 是(&Y) - 否(&N) - 確定 - 列印(&P) - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - {\WixUI_Font_Title}請閱讀 [ProductName] 授權合約 - 我接受授權合約中的條款(&A) - 按一下 [\[]安裝[\]] 以預設選項為所有使用者安裝產品。按一下 [\[]進階[\]] 可變更安裝選項。 - 按一下 [\[]安裝[\]] 以預設選項僅為您安裝產品。按一下 [\[]進階[\]] 可變更安裝選項。 - 安裝(&I) - 進階(&D) - 9 - 12 - 9 - 9 - Tahoma - - [ProductName] 安裝程式 - 查詢(&L): - WixUI_Bmp_Up - 上移一層 - WixUI_Bmp_New - 建立新資料夾 - 資料夾名稱(&F): - WixUI_Bmp_Banner - 瀏覽到目的地資料夾 - {\WixUI_Font_Title}變更目的地資料夾 - - [ProductName] 安裝程式 - 您確定要取消 [ProductName] 安裝嗎? - WixUI_Ico_Info - 資訊圖示 - - [ProductName] 安裝程式 - 選項樹狀目錄 - 瀏覽(&R)... - 重設(&S) - 磁碟使用量(&U) - WixUI_Bmp_Banner - 按一下下面樹狀結構中的圖示,可變更每項功能的安裝方式。 - 選取您想要的功能安裝方式。 - {\WixUI_Font_Title}自訂安裝 - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - 位置: - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 反白顯示的磁碟區沒有足夠磁碟空間可供選取的功能使用。您可以從反白顯示的磁碟區移除一些檔案、安裝較少功能,或是選取其他目的地磁碟機。 - 安裝已選取功能所需的磁碟空間。 - {\WixUI_Font_Title}磁碟空間需求 - {120}{70}{70}{70}{70} - - [ProductName] 安裝程式 - 資訊文字 - WixUI_Ico_Info - 資訊圖示 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 按一下 [\[]完成[\]] 按鈕結束安裝精靈。 - {\WixUI_Font_Bigger}已完成 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安裝精靈提前結束 - [ProductName] 安裝精靈因發生錯誤而提前結束,您的系統尚未被修改。若要稍後再安裝此程式,請再執行一次安裝精靈。 - 按一下 [\[]完成[\]] 按鈕結束安裝精靈。 - - [ProductName] 安裝程式 - 產品功能 - WixUI_Bmp_Banner - 選取您想要的功能安裝方式。 - {\WixUI_Font_Title}產品功能 - FeaturesDlgItemDescription - FeaturesDlgItemSize - 安裝(&I) - 變更(&C) - - [ProductName] 安裝程式 - 結束(&X) - WixUI_Bmp_Banner - 下列應用程式正在使用要由此安裝程式更新的檔案。請按 [\[]結束[\]] 結束,或關閉這些應用程式,然後按一下 [\[]重試[\]] 繼續進行安裝(&R) - 有些需要更新的檔案目前正在使用中。 - {\WixUI_Font_Title}檔案使用中 - - [ProductName] 安裝程式 - 變更(&C)... - {\WixUI_Font_Title}目的地資料夾 - 按一下 [\[]下一步[\]] 安裝至預設資料夾,或按一下 [\[]變更[\]] 選擇其他位置。 - WixUI_Bmp_Banner - 安裝 [ProductName] 到: - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 選擇安裝範圍和資料夾 - {\WixUI_Font_Title}安裝範圍 - {\WixUI_Font_Emphasized}僅為您安裝 ([LogonUser])(&J) - [ProductName] 將安裝在個別使用者資料夾中,並且僅供您的使用者帳戶使用。您不需要本機系統管理員權限。 - [ProductName] 不支援個別使用者安裝。 - {\WixUI_Font_Emphasized}為這部電腦的所有使用者安裝(&M) - [ProductName] 將依預設安裝在個別電腦資料夾中,並且可供所有使用者使用。您可以變更預設安裝資料夾。您必須擁有本機系統管理員權限。 - 安裝資料夾(&F): - 變更(&C)... - - [ProductName] 安裝程式 - 安裝目錄必須在本機硬碟上。 - WixUI_Ico_Info - 資訊圖示 - - [ProductName] 安裝程式 - 我接受授權合約中的條款(&A) - WixUI_Bmp_Banner - 請仔細閱讀下面的授權合約 - {\WixUI_Font_Title}使用者授權合約 - - [ProductName] 安裝程式 - 變更(&C) - 變更安裝 - 修復(&P) - 修復安裝 - 移除(&R) - 移除安裝 - WixUI_Bmp_Banner - 選取您要執行的作業。 - {\WixUI_Font_Title}變更、修復或移除安裝 - 讓您變更各項功能安裝的方式。 - [ProductName] 沒有可以單獨選取的功能。 - 從您的電腦移除 [ProductName]。 - [ProductName] 無法移除。 - 藉由修正遺失及損毀的檔案、捷徑和登錄項目修復最近安裝中的錯誤。 - [ProductName] 無法修復。 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 安裝精靈可以讓您變更 [ProductName] 功能安裝在電腦上的方式,或從電腦移除它們。請按 [\[]下一步[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - {\WixUI_Font_Bigger}歡迎使用 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 下列應用程式正在使用要由此安裝程式更新的檔案。您可以讓安裝精靈關閉它們,稍後再嘗試重新啟動它們或重新啟動電腦。 - 有些需要更新的檔案目前正在使用中。 - {\WixUI_Font_Title}檔案使用中 - 關閉應用程式,稍後再嘗試重新啟動它們(&C) - 不關閉應用程式,必須重新開機(&D) - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 反白顯示的磁碟區沒有足夠磁碟空間可供目前選取的功能使用。您可以從反白顯示的磁碟區移除一些檔案、安裝較少功能,或是選取其他目的地磁碟機。 - 安裝所需的磁碟空間超過可用的磁碟空間。 - {\WixUI_Font_Title}磁碟空間不足 - {120}{70}{70}{70}{70} - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 反白顯示的磁碟區沒有足夠磁碟空間可供目前選取的功能使用。您可以從反白顯示的磁碟區移除一些檔案、安裝較少功能,或是選取其他目的地磁碟機。 - 安裝所需的磁碟空間超過可用的磁碟空間。 - {\WixUI_Font_Title}磁碟空間不足 - {120}{70}{70}{70}{70} - 或者,您可以選擇停用安裝程式的復原功能。停用復原會阻礙安裝程式在安裝受到任何形式的中斷時,將電腦還原成原先的狀態。如果您願意承擔停用復原功能的風險,請按一下 [\[]是[\]]。 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 安裝精靈正在準備引導您完成安裝,請稍候。 - {\WixUI_Font_Bigger}歡迎使用 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 安裝程式精靈正在安裝 [ProductName],請稍候。 - {\WixUI_Font_Title}正在安裝 [ProductName] - 安裝精靈正在變更 [ProductName],請稍候。 - {\WixUI_Font_Title}正在變更 [ProductName] - 安裝精靈正在修復 [ProductName],請稍候。 - {\WixUI_Font_Title}正在修復 [ProductName] - 安裝精靈正在移除 [ProductName],請稍候。 - {\WixUI_Font_Title}正在移除 [ProductName] - 安裝精靈正在更新 [ProductName],請稍候。 - {\WixUI_Font_Title}正在更新 [ProductName] - 處理完畢 - 狀態: - - [ProductName] 安裝程式 - 安裝(&I) - WixUI_Bmp_Dialog - 安裝精靈即將完成在您的電腦上安裝 [ProductName]。請按 [\[]安裝[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - {\WixUI_Font_Bigger}繼續執行 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - 一般(&T) - 一般安裝 - 自訂(&U) - 自訂安裝 - 完整(&O) - 完整安裝 - WixUI_Bmp_Banner - {\WixUI_Font_Title}選擇安裝類型 - 選擇最符合您需求的安裝類型 - 安裝最常用的程式功能。建議一般使用者使用。 - 讓使用者選擇要安裝的程式功能以及安裝位置。建議進階使用者使用。 - 將安裝所有程式功能。需要最大磁碟空間。 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安裝精靈已中斷 - [ProductName] 安裝程式已中斷。您的系統尚未被修改。若要稍後再安裝此程式,請再執行一次安裝精靈。 - 按一下 [\[]完成[\]] 按鈕結束安裝精靈。 - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 安裝(&I) - 按一下 [\[]安裝[\]] 即可開始安裝。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備安裝 [ProductName] - 變更(&C) - 按一下 [\[]變更[\]] 即可開始安裝。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備變更 [ProductName] - 修復(&P) - 按一下 [\[]修復[\]] 即可修復 [ProductName] 安裝。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備修復 [ProductName] - 移除(&R) - 按一下 [\[]移除[\]] 即可從電腦移除 [ProductName]。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備移除 [ProductName] - 更新(&U) - 按一下 [\[]更新[\]] 即可更新您電腦中的 [ProductName]。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備更新 [ProductName] - - [ProductName] 安裝程式 - 返回(&R) - 安裝程式正在判斷您的磁碟空間需求,請稍候。 - WixUI_Ico_Exclam - 驚歎號圖示 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 安裝精靈將在您的電腦上安裝 [ProductName]。請按 [\[]下一步[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - 安裝精靈將更新您電腦上的 [ProductName]。請按 [\[]下一步[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - {\WixUI_Font_Bigger}歡迎使用 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 我接受授權合約中的條款(&A) - 安裝(&I) - 更新(&U) - {\WixUI_Font_Title}請閱讀 [ProductName] 授權合約 - - 正在驗證安裝 - 正在複製新檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在複製網路安裝檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在計算空間需求 - 正在計算空間需求 - 正在計算空間需求 - 正在建立捷徑 - 捷徑: [1] - 正在發行合格的元件 - 元件識別碼: [1],辨識符號: [2] - 正在發行產品功能 - 功能: [1] - 正在發行產品資訊 - 正在註冊類別伺服器 - 類別識別碼: [1] - 正在註冊擴充伺服器 - 擴充: [1] - 正在註冊 MIME 資訊 - MIME 內容類型: [1],副檔名: [2] - 正在註冊程式識別元 - ProgId: [1] - 正在配置登錄空間 - 可用空間: [1] - 正在搜尋已安裝的應用程式 - 屬性: [1],簽章: [2] - 正在繫結可執行檔 - 檔案: [1] - 正在搜尋合格的產品 - 正在建立資料夾 - 資料夾: [1] - 正在刪除服務 - 服務: [1] - 正在建立重複的檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在搜尋相關的應用程式 - 找到的應用程式: [1] - 正在安裝 ODBC 元件 - 正在安裝新服務 - 服務: [2] - 正在評估啟動條件 - 正在從相關應用程式移轉功能狀態 - 應用程式: [1] - 正在移動檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在修補檔案 - 檔案: [1],目錄: [2],大小: [3] - 正在更新元件登錄 - 正在註冊 COM+ 應用程式及元件 - AppId: [1]{{, AppType: [2], 使用者: [3], RSN: [4]}} - 正在註冊字型 - 字型: [1] - 正在註冊產品 - [1] - 正在註冊型別程式庫 - LibID: [1] - 正在註冊使用者 - [1] - 正在移除重複的檔案 - 檔案: [1],目錄: [9] - 正在更新環境字串 - 名稱: [1],值: [2],動作 [3] - 正在移除應用程式 - 應用程式: [1],命令列: [2] - 正在移除檔案 - 檔案: [1],目錄: [9] - 正在移除資料夾 - 資料夾: [1] - 正在移除 INI 檔案項目 - 檔案: [1],區段: [2],機碼: [3],值: [4] - 正在移除 ODBC 元件 - 正在移除系統登錄值 - 機碼: [1],名稱: [2] - 正在移除捷徑 - 捷徑: [1] - 正在搜尋合格的產品 - 正在註冊模組 - 檔案: [1],資料夾: [2] - 正在解除註冊模組 - 檔案: [1],資料夾: [2] - 正在初始化 ODBC 目錄 - 正在啟動服務 - 服務: [1] - 正在停止服務 - 服務: [1] - 正在解除發行合格的元件 - 元件識別碼: [1],辨識符號: [2] - 正在解除發行產品功能 - 功能: [1] - 解除註冊類別伺服器 - 類別識別碼: [1] - 正在解除註冊 COM+ 應用程式及元件 - AppId: [1]{{, AppType: [2]}} - 正在解除註冊擴充伺服器 - 擴充: [1] - 正在解除註冊字型 - 字型: [1] - 正在解除註冊 MIME 資訊 - MIME 內容類型: [1],副檔名: [2] - 正在解除註冊程式識別元 - ProgId: [1] - 正在解除註冊型別程式庫 - LibID: [1] - 正在更新環境字串 - 名稱: [1],值: [2],動作 [3] - 正在寫入 INI 檔案值 - 檔案: [1],區段: [2],機碼: [3],值: [4] - 正在寫入系統登錄值 - 機碼: [1],名稱: [2],值: [3] - 正在通告應用程式 - 正在產生動作的指令碼作業: - [1] - 正在安裝系統目錄 - 檔案: [1],相依性: [2] - 正在發行組件資訊 - 應用程式內容:[1],組件名稱:[2] - 正在解除發行組件資訊 - 應用程式內容:[1],組件名稱:[2] - 正在復原的動作: - [1] - 正在移除備份檔案 - 檔案: [1] - 正在移除移動的檔案 - 檔案: [1],目錄: [9] - 正在解除發行產品資訊 - - {{嚴重錯誤: }} - {{錯誤 [1]。}} - 警告 [1]。 - 資訊 [1]。 - 安裝程式在安裝此套件時發生意外的錯誤。這可能表示此套件有問題。錯誤碼為 [1]。{{引數為: [2]、[3]、[4]}} - {{磁碟已滿: }} - 動作 [Time]: [1]。[2] - [ProductName] - {[2]}{, [3]}{, [4]} - 訊息類型: [1],引數: [2] - === 開始記錄時間: [Date] [Time] === - === 停止記錄時間: [Date] [Time] === - 動作開始 [Time]: [1]。 - 動作結束 [Time]: [1]。傳回值 [2]。 - 剩餘時間: {[1] 分 }{[2] 秒} - 記憶體不足,重試之前請先關閉其他應用程式。 - 安裝程式沒有回應。 - 安裝程式太早停止。 - 請稍候,Windows 在設定 [ProductName] - 正在蒐集必要的資訊... - 正在移除舊版應用程式... - 正在準備移除舊版應用程式... - {[ProductName] }安裝成功。 - {[ProductName] }安裝失敗。 - 從檔案 [2] 讀取時發生錯誤。{{系統錯誤 [3]。}} 請確認檔案存在,而且您可以存取它。 - 無法建立檔案 '[2]'。同名的目錄已經存在,請取消安裝然後嘗試安裝至別的位置。 - 請插入磁片: [2] - 安裝程式的權限不足,無法存取這個目錄: [2],安裝無法繼續,請以管理員身分登入或是與您的系統管理員連絡。 - 寫入檔案 [2] 時發生錯誤。請檢查您是否有存取該目錄的權限。 - 讀取檔案 [2] 時發生錯誤。{{ 系統錯誤 [3]。}} 請確認檔案存在,而且您可以存取它。 - 其他的應用程式對檔案 '[2]' 獨佔存取。請關閉所有其他的應用程式,然後按一下 [\[]重試[\]]。 - 磁碟空間不足,無法安裝這個檔案: [2]。請釋放一些磁碟空間然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束。 - 找不到來源檔案: [2]。請確認檔案存在,而且您可以存取它。 - 讀取檔案 [3] 時發生錯誤。{{ 系統錯誤 [2]。}} 請確認檔案存在,而且您可以存取它。 - 寫入至檔案時發生錯誤: [3]。{{ 系統錯誤 [2]。}} 請檢查您是否有存取該目錄的權限。 - 找不到來源檔案{{(封包檔)}}: [2]。請確認檔案存在,而且您可以存取它。 - 無法建立目錄 '[2]'。同名的檔案已經存在,請更名或移除此檔案,然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束。 - 目前無法使用磁碟區 [2],請選取別的磁碟區。 - 指定的路徑 '[2]' 無法使用。 - 無法寫入指定的資料夾: [2]。 - 嘗試讀取檔案時發生網路錯誤: [2] - 嘗試建立目錄時發生錯誤: [2] - 嘗試建立目錄時發生網路錯誤: [2] - 嘗試開啟來源檔案封包時發生網路錯誤: [2] - 指定的路徑太長: [2] - 安裝程式的權限不足,無法修改檔案 [2]。 - 部分資料夾路徑 '[2]' 無效。它是空的或超過系統允許的長度。 - 資料夾路徑 '[2]' 含有無效的資料夾路徑字元。 - 資料夾路徑 '[2]' 含有無效的字元。 - '[2]' 不是有效的短檔名。 - 取得檔案安全性時發生錯誤: [3] GetLastError: [2] - 無效的磁碟機: [2] - 將修補套用至檔案 [2] 時發生錯誤。它可能已由其他的方法更新,而不能再由這個修補修改。如需詳細資訊,請連絡您的修補廠商。{{系統錯誤: [3]}} - 因為封包檔 [2] 未經過數位簽署,所以無法安裝必要的檔案。這可能表示封包檔已損毀。 - 因為封包檔 [2] 具有無效的數位簽章,所以無法安裝必要的檔案。這可能表示封包檔已損毀。{{ WinVerifyTrust 傳回錯誤 [3]。}} - 無法正確複製 [2] 檔案: CRC 錯誤。 - 無法正確移動 [2] 檔案: CRC 錯誤。 - 無法正確修補 [2] 檔案: CRC 錯誤。 - 因為在封包檔 '[3]' 中找不到檔案 '[2]',所以無法安裝它。這可能表示有網路錯誤、讀取 CD-ROM 時發生錯誤或這個套件有問題。 - 這個安裝所需的封包檔 '[2]' 已損毀而且無法使用。這可能表示有網路錯誤、讀取 CD-ROM 時發生錯誤或這個套件有問題。 - 建立完成此安裝所需的暫存檔時發生錯誤。{{ 資料夾: [3]。系統錯誤碼: [2]}} - 無法建立機碼: [2]。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法開啟機碼: [2]。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法從機碼 [3] 刪除值 [2]。{{ 系統錯誤 [4]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法刪除機碼 [2]。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法從機碼 [3] 讀取值 [2]。{{ 系統錯誤 [4]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法寫入值 [2] 至機碼 [3]。 {{ 系統錯誤 [4]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法取得機碼 [2] 的值名稱。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法取得機碼 [2] 的子機碼名稱。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法讀取機碼 [2] 的安全性資訊。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法增加可用的登錄空間。安裝此應用程式需要 [2] KB 以上的空間。 - 其他的安裝正在進行中,您必須完成該項安裝之後才能繼續。 - 存取安全性資料時發生錯誤,請確定 Windows Installer 是否正確設定,然後再試一次。 - 使用者 '[2]' 之前已經啟動了產品 '[3]' 的安裝。這位使用者必須再次執行安裝才能使用該產品。您目前的安裝將會繼續。 - 使用者 '[2]' 之前已經啟動了產品 '[3]' 的安裝。這位使用者必須再次執行安裝才能使用該產品。 - 磁碟空間不足 -- 磁碟區: '[2]'; 需要空間: [3] KB; 可用空間: [4] KB。請釋放一些空間,然後再重試。 - 您確定要取消嗎 ? - 檔案 [2][3] 正在使用中 {由下列處理序使用: 名稱: [4],識別碼: [5],視窗標題: '[6]'},請關閉該應用程式然後重試。 - 已經安裝產品 '[2]',無法安裝本產品。這兩項產品不相容。 - 磁碟區 '[2]' 上的磁碟空間不足,無法繼續進行啟用修復功能的安裝。需要 [3] KB 的空間,但是只有 [4] KB 可供使用。請按一下 [\[]忽略[\]] 繼續安裝但不儲存修復資訊,按一下 [\[]重試[\]] 再檢查一次是否有可用的空間,或按一下 [\[]取消[\]] 結束安裝。 - 無法存取網路位置 [2]。 - 繼續安裝之前應先關閉下列應用程式: - 在此機器上,找不到與本產品相容的舊版產品。 - 套用安全性設定時發生錯誤。[2] 不是有效的使用者或群組。可能是因為套件有問題,或連線至網路上的網域控制站時發生問題。請檢查您的網路連線再按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束安裝。{{找不到使用者的 SID,系統錯誤 [3]}} - 金鑰 [2] 無效。請檢查您輸入的金鑰是否正確。 - 安裝程式必須重新啟動您的系統才能繼續設定 [2]。請按一下 [\[]是[\]] 立即重新啟動,或如果您想要稍後手動重新啟動請按一下 [\[]否[\]]。 - 您必須重新啟動系統,才能使對 [2] 的設定變更生效。請按一下 [\[]是[\]] 立即重新啟動,或如果您想要稍後手動重新啟動請按一下 [\[]否[\]]。 - [2] 的安裝目前已暫停。您必須復原該安裝所做的變更才能繼續。是否要復原那些變更? - 本產品先前的安裝正在進行中,您必須復原該安裝所做的變更才能繼續。是否要復原那些變更? - 找不到產品 [2] 的安裝套件。請試著使用有效的安裝套件 '[3]' 再安裝一次。 - 安裝已成功完成。 - 安裝失敗。 - 產品: [2] -- [3] - 您可以將電腦還原成先前的狀態或稍後再繼續安裝。要還原嗎? - 寫入安裝資訊至磁碟時發生錯誤。請檢查確定有足夠的可用磁碟空間,然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束安裝。 - 找不到將您的電腦還原為之前狀態所需的一個或多個檔案。無法還原。 - [2] 無法安裝其中一項必要的產品。請連絡技術支援團隊。{{系統錯誤: [3]。}} - 無法移除舊版的 [2]。請連絡技術支援團隊。{{系統錯誤: [3]。}} - 已安裝 [2] - 已設定 [2] - 已移除 [2] - 檔案 [2] 已因數位簽章原則而被拒絕。 - 無法存取 Windows Installer 服務。如果您在安全模式中執行 Windows,或者並未正確安裝 Windows Installer,便會發生這個問題。請連絡支援人員取得協助。 - 這個 Windows Installer 套件有問題。有個完成此安裝所需的指令碼無法執行。請連絡支援人員或套件廠商。{{自訂動作 [2] 指令碼錯誤 [3], [4]: [5] 行 [6], 欄 [7], [8] }} - 這個 Windows Installer 套件有問題。有個完成此安裝所需的程式無法執行。請連絡支援人員或套件廠商。{{動作: [2], 位置: [3], 命令: [4] }} - 這個 Windows Installer 套件有問題。有個安裝程式中包含的程式並未如預期完成。請連絡支援人員或套件廠商。{{動作 [2], 位置: [3], 命令: [4] }} - 這個 Windows Installer 套件有問題。有個完成此安裝所需的 DLL 無法執行。請連絡支援人員或套件廠商。{{動作 [2], 項目: [3], 程式庫: [4] }} - 移除已順利完成。 - 移除失敗。 - 通告已順利完成。 - 通知失敗。 - 設定已順利完成。 - 設定失敗。 - 您必須是系統管理員才能移除這個應用程式。如果要移除這個應用程式,請以系統管理員身分登入,或連絡技術支援人員取得協助。 - 產品 [2] 的來源安裝套件與用戶端套件不同步。請使用有效的安裝套件 '[3]' 再安裝一次。 - 若要完成 [2] 的安裝,您必須重新啟動電腦。這部電腦目前有其他使用者登入,重新啟動可能會造成他們工作遺失。是否要立即重新啟動? - 路徑 [2] 無效。請指定有效的路徑。 - 記憶體不足,重試之前請先關閉其他應用程式。 - 磁碟機 [2] 中沒有磁片,請插入磁片然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 回到上次選取的磁碟機代號。 - 磁碟機 [2] 中沒有磁片,請插入磁片然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 返回瀏覽對話方塊,並選取其他磁碟機代號。 - 資料夾 [2] 不存在,請輸入現有資料夾的路徑。 - 您的權限不足,無法讀取這個資料夾。 - 無法判斷安裝的有效目的地資料夾。 - 嘗試讀取來源安裝資料庫時發生錯誤: [2]。 - 正在排定重新開機作業: 正在將 [2] 重新命名為 [3]。必須重新開機才能完成作業。 - 正在排定重新開機作業: 正在刪除檔案 [2]。必須重新開機才能完成作業。 - 模組 [2] 無法註冊。HRESULT [3]。請連絡支援人員。 - 模組 [2] 無法解除註冊。HRESULT [3]。請連絡支援人員。 - 無法快取封裝 [2]。錯誤: [3]。請連絡支援人員。 - 無法註冊字型 [2]。請確認您有安裝字型的足夠權限,且系統支援此字型。 - 無法解除註冊字型 [2]。請確認您有移除字型的足夠權限。 - 無法建立捷徑 [2]。請確認目的地資料夾是否存在,且您可以存取它。 - 無法移除捷徑 [2]。請確認捷徑檔案是否存在,且您可以存取它。 - 無法註冊檔案 [2] 的型別程式庫。請連絡支援人員。 - 無法解除註冊檔案 [2] 的型別程式庫。請連絡支援人員。 - 無法更新 INI 檔 [2][3]。請確認檔案存在,而且您可以存取它。 - 無法排定檔案 [2] 在重新開機時取代檔案 [3]。請確認您具有檔案 [3] 的寫入權限。 - 移除 ODBC 驅動程式管理員時發生錯誤,ODBC 錯誤 [2]: [3]。請連絡支援人員。 - 安裝 ODBC 驅動程式管理員時發生錯誤,ODBC 錯誤 [2]: [3]。請連絡支援人員。 - 移除 ODBC 驅動程式時發生錯誤: [4],ODBC 錯誤 [2]: [3]。請確認您有移除 ODBC 驅動程式的足夠權限。 - 安裝 ODBC 驅動程式時發生錯誤: [4],ODBC 錯誤 [2]: [3]。請確認檔案 [4] 是否存在,且您可以存取它。 - 設定 ODBC 資料來源時發生錯誤: [4],ODBC 錯誤 [2]: [3]。請確認檔案 [4] 是否存在,且您可以存取它。 - 服務 '[2]' ([3]) 無法啟動。請確認您有啟動系統服務的足夠權限。 - 服務 '[2]' ([3]) 無法停止。請確認您有停止系統服務的足夠權限。 - 服務 '[2]' ([3]) 無法刪除。請確認您有移除系統服務的足夠權限。 - 服務 '[2]' ([3]) 無法安裝。請確認您有安裝系統服務的足夠權限。 - 無法更新環境變數 '[2]'。請確認您有修改環境變數的足夠權限。 - 您沒有足夠的權限為此電腦上的所有使用者完成此安裝。請以系統管理員身分登入,然後再重試此安裝。 - 無法設定檔案 '[3]' 的檔案安全性。錯誤: [2]。請確認您有修改此檔案安全性權限的足夠權限。 - 這台電腦並未安裝 Component Services (COM+ 1.0)。這項安裝需要有 Component Services 才能順利完成。Component Services 包含在 Windows 2000 中。 - 註冊 COM+ 應用程式時發生錯誤。請連絡支援人員取得詳細資訊。 - 解除註冊 COM+ 應用程式時發生錯誤。請連絡支援人員取得詳細資訊。 - 無法變更服務 '[2]' ([3]) 的描述。 - Windows Installer 服務無法更新系統檔案 [2],因為檔案受到 Windows 保護。可能需要更新您的作業系統才能正確執行這個程式。{{封裝版本: [3],OS 保護的版本: [4]}} - Windows Installer 服務無法更新受保護的 Windows 檔案 [2]。{{封裝版本: [3],OS 保護的版本: [4],SFP 錯誤: [5]}} - Windows Installer 服務無法更新一或多個受保護的 Windows 檔案。{{SFP 錯誤: [2]。受保護的檔案清單:\r\n[3]}} - 電腦上的使用者安裝已透過原則停用。 - 組件 '[6]' 安裝期間發生錯誤。請參閱說明與支援取得詳細資訊。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - 組件 '[6]' 安裝期間發生錯誤。此組件不是以強式名稱命名,或未以最短金鑰長度簽章。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - 組件 '[6]' 安裝期間發生錯誤。簽章或目錄無法驗證或無效。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - 組件 '[6]' 安裝期間發生錯誤。有一或多個組件的模組找不到。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - - 位元組 - GB - KB - MB - 整個功能將無法使用 - 這項功能將在需要時才進行安裝 - 整個功能將安裝成從光碟執行 - 整個功能將安裝在本機硬碟上 - 整個功能將安裝成從網路執行 - 將安裝成從光碟執行 - 將安裝在本機硬碟上 - 將安裝成從網路執行 - 資料夾|新資料夾 - 正在蒐集必要的資訊... - 這項功能將保持未安裝的狀態 - 這項功能將設定成在必要時才安裝 - 這項功能將安裝成從光碟執行 - 這項功能將安裝在本機硬碟上 - 這項功能將安裝成從網路執行 - 這項功能將無法使用 - 將會在必要時才安裝 - 這項功能將可從光碟執行 - 這項功能將安裝在本機硬碟上 - 這項功能將可從網路執行 - 將完全解除安裝這項功能,且無法從光碟執行 - 這項功能原本是從光碟執行,將變更為在必要時才安裝 - 這項功能將繼續從光碟執行 - 這項功能原本是從光碟執行,將變更為安裝到本機硬碟 - 這個功能會釋放 [1] 的硬碟空間。 - 這個功能需要 [1] 的硬碟空間。 - 正在計算此功能所需的空間... - 這項功能將完全移除 - 這項功能將從本機硬碟移除,但設定成必要時才安裝 - 這項功能將從本機硬碟移除,但仍然可以從光碟執行 - 這項功能將保留在您的本機硬碟上 - 這項功能將從本機硬碟移除,但仍然可以從網路執行 - 將完全解除安裝這項功能,且無法從網路執行 - 這項功能原本是從網路執行,將變更為在必要時才安裝 - 這項功能原本是從網路執行,將變更為安裝到本機硬碟 - 這項功能將繼續從網路執行 - 這個功能會釋放 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能會釋放 [4] 的硬碟空間。 - 這個功能會釋放 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能需要 [4] 的硬碟空間。 - 這個功能需要 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能會釋放 [4] 的硬碟空間。 - 這個功能需要 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能需要 [4] 的硬碟空間。 - 剩餘時間: {[1] 分 }{[2] 秒} - 可用 - 差異 - 需要 - 磁碟大小 - 磁碟區 - diff --git a/Src/Localization/Dutch/ClassicExplorerADMX.txt b/Src/Localization/Dutch/ClassicExplorerADMX.txt deleted file mode 100644 index b9f1a95..0000000 --- a/Src/Localization/Dutch/ClassicExplorerADMX.txt +++ /dev/null @@ -1,61 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell instellingen -State.text = Status: -State1.text = Vergrendelen op deze waarde -State2.text = Vergrendelen op standaard -State3.text = Niet vergrendelen -State1Help.text = Als u de status op 'Vergrendelen op deze waarde' instelt, zullen de instellingen op de opgegeven waarde voor alle gebruikers worden vergrendeld. -State2Help.text = Als u de status op 'Vergrendelen op standaard' instelt, zullen de instellingen op de standaardwaarde voor alle gebruikers worden vergrendeld. De opgegeven waarden worden genegeerd. -State3Help.text = Als u de staat 'Niet vergrendelen' instelt, zal de standaardwaarde voor de instelling worden gewijzigd naar de opgegeven waarde. Individuele gebruikers kunnen dan de instellingen overschrijven. - - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Classic Explorer groep beleidsinstellingen -SUPPORTED_CS404.text = Nodig Open-Shell 4.0.4 of hoger. -SUPPORTED_CS404_WIN7.text = Nodig Windows 7. -SUPPORTED_CS404_WIN881.text = Nodig Windows 8 of Windows 8.1. - -AddressAltD.nameOverride = Extra snelkoppeling voor de adresbalk -AddressAltD.tipOverride = Geef een letter van 'A' tot 'Z' in als een snelkoppeling voor de adresbalk in combinatie met de Alt-toets -EnableSettings.nameOverride = Instellingen inschakelen -EnableSettings.tipOverride = Inschakelen dat gebruikers hun eigen instellingen kunnen bewerken -ProcessWhiteList.nameOverride = Proces wittelijst -ProcessWhiteList.tipOverride = Lijst van processen die Classic Explorer kunnen laden. Gebruik alleen de bestandsnaam van het proces (zoals "notepad.exe"), Scheid meerdere namen met een komma of een puntkomma. -ProcessBlackList.nameOverride = Proces zwartelijst -ProcessBlackList.tipOverride = Lijst met processen die door Classic Explorer niet kunnen worden geladen. Gebruik alleen de bestandsnaam van het proces (zoals "notepad.exe"), Scheid meerdere namen met een komma of een puntkomma. -ToolbarItems.nameOverride = Werkbalk knoppen -ToolbarItems.tipOverride = Selecteer de knoppen die getoond dienen te worden op de werkbalk.\nDe beste manier om de juiste tekenreeks te configureren voor de knoppen is in het montage dialoog Classic Explorer en vervolgens de waarde met de naam ToolbarItems in HKCU\Software\OpenShell\ClassicExplorer\Settings op te zoeken. - - -; os-specific -FileExplorer.nameOverride = Inschakelen van dialoog vensters alleen in de Verkenner (verbetert de prestaties) diff --git a/Src/Localization/Dutch/ClassicIEADMX.txt b/Src/Localization/Dutch/ClassicIEADMX.txt deleted file mode 100644 index e848f22..0000000 --- a/Src/Localization/Dutch/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell instellingen -State.text = Status: -State1.text = Vergrendelen op deze waarde -State2.text = Vergrendelen op standaard -State3.text = Niet vergrendelen -State1Help.text = Als u de status op 'Vergrendelen op deze waarde' instelt, zullen de instellingen op de opgegeven waarde voor alle gebruikers worden vergrendeld. -State2Help.text = Als u de status op 'Vergrendelen op standaard' instelt, zullen de instellingen op de standaardwaarde voor alle gebruikers worden vergrendeld. De opgegeven waarden worden genegeerd. -State3Help.text = Als u de staat 'Niet vergrendelen' instelt, zal de standaardwaarde voor de instelling worden gewijzigd naar de opgegeven waarde. Individuele gebruikers kunnen dan de instellingen overschrijven. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Classic IE groep beleidsinstellingen -SUPPORTED_CS404.text = Nodig Open-Shell 4.0.4 of hoger. -SUPPORTED_IE9.text = Nodig Internet Explorer 9 of hoger. - - -EnableSettings.nameOverride = Instellingen inschakelen -EnableSettings.tipOverride = Het mogelijk maken dat gebruikers hun eigen instellingen kunnen bewerken -CaptionFont.tipAddition = .\n\nDe format is , , . Bij voorbeeld "Segoe UI, normal, 9" diff --git a/Src/Localization/Dutch/MenuADMX.txt b/Src/Localization/Dutch/MenuADMX.txt deleted file mode 100644 index e590cbd..0000000 --- a/Src/Localization/Dutch/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Open-Shell instellingen -State.text = Status: -State1.text = Vergrendel deze waarde -State2.text = Vergrendel naar stndaard -State3.text = Ontgrendeld -State1Help.text = Als u de status op 'Vergrendelen op deze waarde' instelt, zullen de instellingen op de opgegeven waarde voor alle gebruikers worden vergrendeld. -State2Help.text = Als u de status op 'Vergrendelen op standaard' instelt, zullen de instellingen op de standaardwaarde voor alle gebruikers worden vergrendeld. De opgegeven waarden worden genegeerd. -State3Help.text = Als u de staat 'Niet vergrendelen' instelt, zal de standaardwaarde voor de instelling worden gewijzigd naar de opgegeven waarde. Individuele gebruikers kunnen dan de instellingen - -MenuCat.text = Open-Shell Menu -MenuCatHelp.text = Open-Shell Menu groep beleidsinstellingen -SUPPORTED_CS404.text = Nodig Open-Shell 4.0.4 of hoger. -SUPPORTED_CS404_WIN7.text = Nodig Windows 7. -SUPPORTED_CS404_WIN78.text = Nodig Windows 7 of Windows 8. -SUPPORTED_CS404_WIN781.text = Nodig Windows 7 of Windows 8.1. -SUPPORTED_CS404_WIN8.text = Nodig Windows 8. -SUPPORTED_CS404_WIN881.text = Nodig Windows 8 of Windows 8.1. -SUPPORTED_CS404_WIN81.text = Nodig Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Nodig Classic menu stijl met een kolom. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Nodig Classic menu stijl met twee kolommen. -SUPPORTED_CS404_CLASSIC_STYLE.text = Nodig Classic menu stijl. -SUPPORTED_CS404_WIN7_STYLE.text = Nodig Windows 7 menu stijl. - - -EnableSettings.nameOverride = Instellingen inschakelen -EnableSettings.tipOverride = Inschakelen dat gebruikers hun eigen instellingen kunnen bewerken - -MenuStyle.nameOverride = Menu stijl -MenuStyle.tipOverride = Selecteer de stijl voor het startmenu.\nDe stijl bepaalt het gehele aanzicht en functionaliteit van het menu. -MenuStyle_Classic1.nameOverride = Classic met een kolom -MenuStyle_Classic2.nameOverride = Classic met twee kolommen -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Links klikken opent -ShiftClick.nameOverride = Shift+klik opent -WinKey.nameOverride = Win Knop opent -ShiftWin.nameOverride = Shift+Win opent -MiddleClick.nameOverride = Middelste klik opent -Hover.nameOverride = Zweven opent - -; skins -SkinC1.nameOverride = Uiterlijk voor Classic Menu met een kolom -SkinC1.tipOverride = Selecteer het uiterlijk welke gebruikt dient te worden door Classic stijl met een kolom -SkinVariationC1.nameOverride = Uiterlijk variatie voor Classic Menu met een kolom -SkinVariationC1.tipOverride = Selecteer de uiterlijk variatie welke gebruikt dient te worden door Classic stijl met een kolom(dit is voor uiterlijken welke meervoudige variaties ondersteunen) -SkinOptionsC1.nameOverride = Opties uiterlijk voor Classic Menu met een kolom -SkinOptionsC1.tipOverride = Selecteer de uiterlijk opties welke gebruikt dient te worden door Classic stijl met een kolom.\nDe opties zijn een lijst met hex nummers. De beste manier om deze te krijgen is het aanpassen van de opties in Open-Shell Menu instellings dialoog en zoek vervolgens naar de waarde met de naam SkinOptionsC1 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Menu items voor Classic menu met een kolom -MenuItems1.tipOverride = Selecteer de menu items die gebruikt dienen te worden door de Classic stijl met een kolom.\nDe beste manier om de juiste tekenreeks te krijgen is om de items te configureren in de Open-Shell Menu instellings dialoogvenster en dan te kijken naar de waarde met de naam MenuItems1 in HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Uiterlijk voor Classic Menu met twee kolommen -SkinC2.tipOverride = Selecteer het uiterlijk dat door de Classic Stijl gebruikt dient te worden bij twee kolommen -SkinVariationC2.nameOverride = Uiterlijk variaties voor Classic Menu met twee kolommen -SkinVariationC2.tipOverride = Selecteer de uiterlijk variatie die gebruikt dient te worden door de Classic Stijl voor twee kolommen (voor uiterlijk dat meervoudige variaties ondersteund) -SkinOptionsC2.nameOverride = Uiterlijk opties voor Classic Menu met twee kolommen -SkinOptionsC2.tipOverride = Selecteer de uiterlijk opties die gebruikt dient te worden door Classic Stijl met twee kolommen.\nDe opties is een lijst met hexadecimale (hex) nummers. De beste manier om deze te krijgen is om deze opties aan te passen in de Open-Shell Menu instellings dialoogvenster en dan te kijken naar de waarde met de naam SkinOptionsC2 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Menu items voor Classic menu met twee kolommen -MenuItems2.tipOverride = Selecteer de menu items die wordt gebruikt door Classic Stijl met twee kolommen.\nDe beste manier om de juiste tekenreeks te krijgen is om het item te configureren in Open-Shell Menu instellings dialoogvensterog en dan te kijken naar de waarde met de naam MenuItems2 in HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Uiterlijk voor Windows 7 stijl -SkinW7.tipOverride = Selecteer het uiterlijk dat gebruikt dient te worden voor de Windows 7 stijl -SkinVariationW7.nameOverride = Uiterlijke variaties voor de Windows 7 stijl -SkinVariationW7.tipOverride = Selecteer de uiterlijk variatie dat gebruikt dient te worden voor de Windows 7 stijl (voor uiterlijken welke meervoudige variaties ondersteunen) -SkinOptionsW7.nameOverride = Uiterlijk opties voor Windows 7 stijl -SkinOptionsW7.tipOverride = Selecteer de uiterlijk opties welke worden gebruikt door de Windows 7 stijl.\nDe opties zijn een lijst met hexadecimale (hex) nummers. De beste manier is om deze opties aan te passen in de Open-Shell Menu instellings dialoogvenster en dan te kijken naar de waarde met de naam SkinOptionsW7 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Menu items voor de Windows 7 stijl -MenuItems7.tipOverride = Selecteer de menu items de gebruikt worden de Windows 7 stijl.\nDe beste manier om de juist tekenwaarde te configureren is het item te configureren in de Open-Shell Menu instellings dialoogvenster en dan te kijken naar de waarde met de MenuItems7 in HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Uiterlijken voor alle Programma's sub menu voor het Windows 7 start menu -SkinA.tipOverride = Selecteer het uiterlijk dat gebruikt dient te worden door Alle Programma's sub menu voor het Windows 7 start menu -SkinVariationA.nameOverride = Uiterlijk variatie voor Alle Programma's sub-menu voor het Windows 7 start menu -SkinVariationA.tipOverride = Selecteer de uiterlijk variatie dat gebruikt dienst te worden door Alle Programma's sub-menu voor het Windows 7 start menu (voor uiterlijken die meervoudige variaties ondersteunen) -SkinOptionsA.nameOverride = Uiterlijk opties voor Alle Programma's sub-menu voor het Windows 7 start menu -SkinOptionsA.tipOverride = Selecteer de uiterlijk opties die gebruikt dienen te worden door Alle Programma's sub-menu voor het Windows 7 start menu.\nDe opties zijn een lijst met hexadecimale (hex) nummers. De beste manier is om deze opties aan te passen in de Open-Shell Menu instellings dialoogvenster en dan te kijken naar de waarde met de naam SkinOptionsA in HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = De instellingen werken niet bij Windows 8.1. U moet de ingebouwde Windows-instelling gebruiken voor de opstartconfiguratie naar het bureaublad - -; hidden -FolderStartMenu.nameOverride = Start Menu map -FolderStartMenu.tipOverride = Breng in en vervang de start menu map per gebruiker (vervang ook de per gebruiker de gebruikte Programma map).\nHet pad bevat werkomgevings variabelen.\nNote: Deze instelling is niet te bewerken via de Instellings dialoogvenster -FolderPrograms.nameOverride = Programma map -FolderPrograms.tipOverride = Breng in en vervang de Programma map per gebruiker.\nHet pad bevat werkomgevings variabelen.\nNoot: Deze instellingen is niet te bewerken via de Instellings dialoogvenster -FolderCommonStartMenu.nameOverride = Gemeenschappelijke Start Menu map -FolderCommonStartMenu.tipOverride = Breng in en vervang de gemeenschappelijke Start Menu map (vervang ook de gemeenschappelijke Programma map).\nHet pad bevat werkomgevings variabelen.\nNoot: Deze instelling is niet te bewerken via de Instellings dialoogvenster -FolderCommonPrograms.nameOverride = Gemeenschappelijke programma map -FolderCommonPrograms.tipOverride = Breng in en pas aan voor de Gemeenschappelijke programma map.\nDe pad kan werkomgevings variabelen bevatten.\nNoot: Deze instelling is niet te bewerken via de Instellings dialoogvenster -AutoStartDelay.nameOverride = Auto-start vertraging -AutoStartDelay.tipOverride = Breng een vertraging in in ms wanneer het het Start Menu automatisch gestart dient te worden bij het inloggen (is niet toepasbaar bij het handmatig opstarten van StartMenu.exe).\nNote: Deze instelling is niet te bewerken via de Instellings dialoogvenster - -; other -StartButtonIcon.tipAddition = De waarde kan een pad zijn naar een ICO-bestand of een pad naar een EXE/DLL bestand en de ID van het pictogram -StartButtonPath.tipAddition = De waarde is een volledig pad naar het B

- - - - - Classic Explorer - -

Open-Shell website  Classic Explorer


-Classic -Explorer is a plugin for Windows Explorer that: - -
    - -
  • Adds a toolbar to Explorer for some common operations (Go -to parent folder, Cut, Copy, Paste, Delete, Properties, Email). The toolbar is fully customizable
  • -
  • Replaces the copy UI in Windows 7 with the more user-friendly “classic” version similar to Windows XP
  • - -
  • Handles Alt+Enter in the folder panel of Windows Explorer and shows the properties of the selected folder
  • - -
  • Has options for customizing the folder panel to look more like the Windows XP version or to not fade the expand buttons
  • -
  • Can show the free disk space and the total file size in the status bar
  • -
  • Can disable the breadcrumbs in the address bar
  • -
  • Fixes -a long list of features that are broken in Windows 7 – missing icon -overlay for shared folders, the jumping folders in the navigation pane, -missing sorting headers in list view, and more
    -
  • - - - - -

- - -

New copy UI (Windows 7 only)
-

- -In Vista when you copy files and there is a conflict you are presented -with this:
- -
- -Before
- -

What’s wrong with it?

- -

Well, for -starters it is half a screen full of text that you have to read. Also -it is not immediately clear what parts of it are clickable. You have to -move the mouse around to discover the UI like in a Lucas Arts -adventure game. And finally the keyboard usability is awful. To -tell it -“yes, I know what I’m doing, I want to overwrite all files” you have to -press Alt+D, up, up, up, Space! It is harder than performing the Akuma -Kara Demon move in Street Fighter 3. There is a time and a place -for -that stuff and copying files is not it.

- -

The Classic Explorer plugin brings back the simpler dialog box from Windows XP:
-

- -

After
-

- -

It -is immediately clear what is clickable (clue – the buttons at the -bottom), there is easy keyboard navigation (press Y for “Yes”, A to -copy all files) and you can still see which file is newer and which is -larger. And of course just like in Windows XP, holding down Shift while clicking on the No button means "No to All" (or just press Shift+N).
-

- -

If you click -on More… you will get -the original dialog from Windows. From there you -will see all the details and you’ll get an extra option to “Copy, but -keep both files”.

-

Important Note: Only the UI is replaced. The underlying system that does the actual copying is not affected.
-

-


-

- - - -

Alt+Enter in the folder panel

- -Alt+Enter is -universal shortcut across Windows to bring up the properties of the -selection. But newer versions of Windows it doesn’t work in the left -panel that shows the folders. It works fine on the right where the -files are. This is broken compared to Windows XP where Alt+Enter works -in both places. -

To solve the -problem, the Classic Explorer plugin detects when you press Alt+Enter -and shows the properties for the currently selected folder.
-

-


-

- - -

Toolbar for Windows Explorer

-Windows -Explorer in Vista doesn’t have a toolbar like the one in Windows XP. If -you want to go to the parent folder you have to use the breadcrumbs -bar. If you want to copy or delete a file with the mouse you have to -right-click and look for the Delete command. The right-click menu gets -bigger and bigger the more shell extensions you have installed, and -finding the right command can take a while.
-

To solve the problem, the Classic Explorer plugin adds a new toolbar:
-

- - Explorer Toolbar
-
-The available button are: Go Up, Cut, Copy, Paste, Delete, Properties, -Email, Settings. More buttons can be added from the Settings dialog.
-
-Hints:
-    - Hold the Control key when clicking the Up button to open the parent folder in a new Explorer window.
-    - Hold the Shift key when clicking the Delete button to permanently delete a file
- -
- -The new toolbar doesn’t show up in Explorer automatically after -installation. You have to do a few things before you can use it:
- -
    - -
  1. Open a new Windows Explorer window (Win key+E)
  2. -
  3. Turn on the menu in Explorer – Go to Tools (Alt+T), Folder -Options, the View tab, and make sure “Always show menus” is checked.
  4. -
  5. Right click on the menu bar and select “Classic Explorer Bar” to -show the toolbar.
  6. -
  7. If that option is not available (you only see “Lock the -Toolbars”) you may have to enable the plugin from Internet Explorer. -Run IE, right click on its toolbar and select “Classic Explorer Bar”. -It will ask you if you want to enable this add-on. Select “Enable”, -then repeat steps 1 through 3 again.
  8. -
  9. If even then you don't see the toolbar, maybe the browser -extensions are disabled on your system. This is usually the default for -servers. Open the "Internet Options", go to the "Advanced" tab, and check -the option "Enable third-party browser extensions".
    -
  10. - -

-

Status bar
-

-Classic Explorer restores the original Explorer status bar that shows the free disk space and the size of the selected files:
-
-File size in status bar
-
-Unlike the built-in status bar, the selection size is shown even if -more than 100 files are selected. When no files are selected the total -size of all files in the folder is shown.
-
Windows 7 note: Classic Explorer enhances the -default status bar instead of replacing it. To see it, you have to turn -it on first from the View menu. -The status bar is different from the blue -Details Pane you see at the bottom of Explorer. You can turn off the -Details Pane from the Organize menu to save space. Also there is a bug -in the Windows 7 Explorer that sometimes doesn't show any text in the -status bar. Press F5 to refresh the view and get the status text.
-
Windows 8 note: Classic Explorer adds its own -status bar. You should hide the default status bar to save space. -Select the View tab in the ribbon, then click on Options. Select the -View tab in the options. Locate the checkbox "Show status bar" and -uncheck it. -
-
- - -

Settings

You can access the settings of Classic Explorer from the toolbar or from the start menu:
-
-
You can choose from seeing only the basic settings, or all -available settings. Hover over each setting to see a description of -what it's for. Type in the search box to find a setting by name.
-Every setting has a default value. The default value can be constant, -or it may depend on the current system settings. Once you edit a -setting it becomes "modified" and is shown in bold. To revert to the -default value, right-click on the setting.
-
You can save the settings to an XML file, and later load them back. -Press the Backup button to access these functions. From there you can -also reset all settings to their default value.
- -
- -Press OK to store your settings. Most of the settings will be applied -the next time you open a new Explorer window. Small number of settings -will require a log off before you can see the change.
- -
- -Note: All Settings windows are resizable. Resize them and place them where you want them to be. They will remember the new position.
- -
-Here's one example of what can be customized:
- - Title bar tweaks
-
-Click on the Toolbar Buttons tab to customize the toolbar:
-
-
The column on the left shows the current buttons in the toolbar, -and the column on the right lists the buttons you can add to the -toolbar. You can drag and drop buttons from the right column to the -left. You -can rearrange the buttons by dragging them up and down. If you drop one button inside another you will create a sub-menu.
-Hover over each -button to see a short description of what it does. Right-click on each -button to access more functions (like Delete, Rename, etc). From the -right-click menu you can also reset the toolbar to the original state.
-Each item in the left column must have a unique name. This is the -identifier of the item and can only contain English letters, digits and -underscore. Some items (like SEPARATOR) cannot be renamed.
-
-Important Note: Not all available commands have default icons or text. That's because Windows doesn't have icons for things like Undo, Select All, etc. If you want to use such buttons in your toolbar you will have to provide your own icon. See below how to do it.
-
-After you place a button in the toolbar, you can edit it's attributes. Double-click on the button to edit:
-Edit toolbar button
-Here you can select a command for the button, its text and icon. Press the Restore Defaults button to get the default text and icon for the chosen command.
-The command can be:
-
    - - -
  • left blank - then if the link attribute is used, it will act as a command
  • -
  • one of the predefined commands - from the dropdown
  • -
  • open <some folder> - this will open the folder in the current browser
  • -
  • sortby <property> - this will sort the folder by the given property - name, type, size or date. Use '-' in front of the property to sort in descending order: "sortby -name". You can use other properties if you know their code. For example "sortby {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10" is the same as "sortby name". For more property codes refer to the file propkey.h in the Windows SDK (also found here - scroll down to the "Full property table"). Not all property codes are valid or supported (for example the album year property {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 only works when showing music albums)
  • -
  • groupby <property> - similar to sortby, but groups the files by a given property. Use the command groupby with no property to disable the grouping
    -
  • - - - -
  • custom executable string -- this can be a name of a program and its arguments, or even a URL -(like http://www.google.com). You can use environment variables like %SystemRoot%. You can also use the -placeholders %1, %2, %3, %4 and %5:
  • -
      -
    • %1 is the path of the -current folder. Keep in mind that if the current folder is a root of a -drive it will end with a backslash (like C:\)
      -
    • -
    • %2 is the path of the selected file (only when a single file is -selected)
    • -
    • %3 -is a name of a temporary text file that contains all selected files. -Each line in the text file contains one file with its full path
      -
    • -
    • %4 -is the same as %3, but the file is in Unicode (UTF16) format. The file -contains no byte order mark. %3 and %4 can't both be used by the same command
      -
    • -
    • Note to developers: When -%3 or %4 is used, it is the responsibility of the command to delete the -temporary file when it finishes. Otherwise the temp file will be left -behind and waste disk space. Also if the command is a console application -or a batch file it will be launched in silent mode with no console -window
    • - -
    • %5 is a name of a -temporary text file, which can be used to return a command back to -Classic Explorer. If the first 2 bytes of the file are 255 and 254, the -file is treated as Unicode. Only one command can be used at a time. The command -can be:
    • -
        -
      • open <folder name> - causes Explorer to navigate to the given folder
      • -
      • select <list of file names> -- selects the given files, deselects the rest. The file names must be -separated by a tab or a newline character. The files should not contain -a path. If they do, the path will be ignored
        -
      • -
      • refresh - refreshes Explorer
      • -
      -
    -
      -
    • Note to developers: -commands using %5 will run in silent mode (like commands using %3 or -%4) but -also Explorer will wait for the process to finish. The process must -finish as quickly as possible, because Explorer will be frozen during -the execution of the command
    • -
    • See the next section for a few examples how to use these parameters
      -
    • - -
    -
-The link can be a path to a file or a folder. If it is a file, that -file will be executed. If it is a folder, that folder will be opened as -a sub-menu (only for top-level buttons).
-
-The icon can be:
-
    -
  • left blank - then if the link attribute points to a file or a folder, the icon of that file or folder will be used
    -
  • -
  • resource file,icon ID - for example %windir%\notepad.exe,2. Do not leave space between the file name and the comma. Make sure you are using the icon's resource ID, and not the icon's index. For best results use the [...] button next to the icon box
  • -
  • ,icon ID - same as above, but the resource file is the ClassicExplorer.dll itself. This is useful when referring to Classic Explorer's own icons
    -
  • -
  • icon file -  for example C:\Program Files\Mozilla Thunderbird\Email.ico
  • -
  • none - this will use a blank icon
  • -
-If the label or the tip attribute start with $ (dollar sign), then the -system will treat it as a name of a string in the ExplorerL10N.ini -file. The actual text will depend on the current language setting. This -is useful when creating a toolbar that can be used by multiple languages.
-
-Note to developers: Buttons for custom commands can be checked or disabled. The toolbar checks the registry key HKCU\Software\OpenShell\ClassicExplorer -for a DWORD value with the name of the button (the name used in left -column). 0 means normal, 1 is disabled and 2 is checked. The toolbar -reads the registry keys on startup. To force the buttons to update -their state after that you need to find all Explorer windows, locate -the child window with class OpenShell.CBandWindow, and post a message WM_CLEAR. This is useful if you are developing a custom exe to be used by the toolbar.
- -
-

Examples for Custom Commands

-

0) Use quotes when necessary

In order to support paths that -contain spaces, you should use quotes around the path parameters. The -quotes are not always required, like in examples 1 and 2 below. Make -sure you test your commands with paths containing spaces to avoid -surprises.
-
-

1) Print the current folder

- -Use this command: cmd.exe /k echo %1. %1 will be replaced by the path of the current folder.
-
-

2) Open the selected file in Notepad

-Use this command: %SystemRoot%\notepad.exe %2. -%2 will be replaced by the full name of the selected file. It doesn't -need to be in quotes because Notepad uses the whole command line as a -file name.
-
-

3) Copy selected files to the parent folder
-

-Create a batch file called C:\CopyParent.bat:
-set list=%1
-set list=%list:"=%
-for /F "delims=" %%i in (%list%) do copy /Y "%%i" ..
-del %1
-
-Use this command: C:\CopyParent.bat "%3". -%3 will be replaced by a text file containing the full names of all -selected files. The batch file will read each line of that text file, -and copy each of the selected files to the parent folder. At the end -the batch file deletes the initial -temp file. The first two set commands remove the quotes from the %1 parameter.
-
-

4) Select all text files

-Create a batch file called C:\SelectText.bat:
-echo select > %1
-dir *.txt /b >> %1
-
-Use this command: C:\SelectText.bat "%5". -%5 will be replaced by a blank text file, where the command must output -the word "select" and a list of files it wants to select. The "dir -*.txt /b" command provides that list.
-
-
- -

Administrative Settings

The settings are -per user and are stored in the registry. By default every user can edit -all of their settings. An administrator can lock specific settings, so -no user can edit them:
-
-In this example the setting "Show Up button" is locked to always be -"Before Back/Forward" and can't be changed by any user. This is achieved -by adding the setting to the HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicExplorer registry key. Create a string value called "ShowUpButton" and set it to "BeforeBack".
-
In some cases you may not want to lock the value for all users, but -simply modify the initial value of the setting. In such case add -"_Default" to the name of the value. For example if you want the Up -button to be before Back by default but still allow the users to change -it if they wish, create a string value named "ShowUpButton_Default" and -set it to "BeforeBack".
-
-The easiest way to know the registry name of a setting and its value is to modify it, and then look it up in HKEY_CURRENT_USER\Software\OpenShell\ClassicExplorer\Settings.
-Sometimes you may want to lock a setting to its default value, but you -don't know what the default value is. Then create a DWORD value and set -it to 0xDEFA.
-
-There is also a global setting EnableSettings. Set it to 0 in the -registry to prevent the users from even opening the Settings dialog:
-Disable all settings
-
-You can enable or disable Classic Explorer for individual processes -using the 2 registry settings "ProcessWhiteList" and -"ProcessBlackList". ProcessWhiteList is -a list of processes for which Classic Explorer will load. Use only the -file name of the process (like "notepad.exe"), separate multiple names -with a comma or a semicolon. ProcessBlackList -is a list of processes for which Classic Explorer will not load. You -should only use one of the two lists. If both lists are specified, the -black list will be ignored. The lists are only used when you enable the -features that are supported for processes other than Explorer. At the -moment these features are: the shared overlay icon and the replacements -for the copy dialogs.
-
-Editing the settings through group policies is also supported. Extract the file PolicyDefinitions.zip found in the installation folder and read the document PolicyDefinitions.rtf for more details.
-
- -
- -

Dependencies on Windows settings
-

-Some Classic Explorer settings require specific Windows settings to be enabled:
-
    -
  • Windows Vista navigation pane style - requires Windows to be using Aero or Basic theme
  • -
  • Auto-navigate to the selected folder -- this setting can be set to "Always" only when Explorer is set to -"Automatically expand to current folder". Look for it in the General tab of Tools -> Folder Options
  • -
  • Show caption in the title bar -- the caption will show either the full path name or only the name of -the current folder. To see the full path you need to enable "Display -the full path in the title bar (Classic theme only)" in the View tab of Tools -> Folder Options
  • -
  • All status bar settings - require the status bar to be visible (not to be confused with the Details Pane). Check View -> Status bar
  • -
- -
- -

Localization

- - - - -The user -interface (except the Settings dialog box) is localized in 35 -languages.
-The Settings dialog box is translated in a smaller number of languages. -The default installation contains only English. More languages can be -downloaded from the translations page. Make sure you download the translation package for the exact version of Open-Shell.
- -
- - diff --git a/Src/Localization/English/ClassicExplorerADMX.txt b/Src/Localization/English/ClassicExplorerADMX.txt deleted file mode 100644 index b290183..0000000 --- a/Src/Localization/English/ClassicExplorerADMX.txt +++ /dev/null @@ -1,62 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell settings -State.text = State: -State1.text = Locked to this value -State2.text = Locked to default -State3.text = Unlocked -State1Help.text = If you set the state to 'Locked to this value', the setting will be locked to the specified value for all users. -State2Help.text = If you set the state to 'Locked to default', the setting will be locked to the default value for all users. The specified value is ignored. -State3Help.text = If you set the state to 'Unlocked', the default value for the setting will be changed to the specified value. Individual users can override the setting. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Classic Explorer group policy settings -SUPPORTED_CS404.text = Requires Open-Shell 4.0.4 or later. -SUPPORTED_CS404_WIN7.text = Requires Windows 7. -SUPPORTED_CS404_WIN881.text = Requires Windows 8 or Windows 8.1. - -AddressAltD.nameOverride = Additional shortcut for the address bar -AddressAltD.tipOverride = Enter a letter 'A' to 'Z' to be a shortcut for the address bar in combination with the Alt key -EnableSettings.nameOverride = Enable settings -EnableSettings.tipOverride = Enables the users to edit their own settings -ProcessWhiteList.nameOverride = Process white list -ProcessWhiteList.tipOverride = List of processes that can load Classic Explorer. Use only the file name of the process (like "notepad.exe"), separate multiple names with a comma or semicolon. -ProcessBlackList.nameOverride = Process black list -ProcessBlackList.tipOverride = List of processes that will not load Classic Explorer. Use only the file name of the process (like "notepad.exe"), separate multiple names with a comma or semicolon. -ToolbarItems.nameOverride = Toolbar buttons -ToolbarItems.tipOverride = Select the buttons to be shown in the toolbar.\nThe best way to get the right string is to configure the buttons in the Classic Explorer settings dialog and then look up the value named ToolbarItems in HKCU\Software\OpenShell\ClassicExplorer\Settings -NoInitialToolbar.nameOverride = No initial showing of the toolbar -NoInitialToolbar.tipOverride = When this is checked, the Explorer toolbar will not be automatically displayed - - -; os-specific -FileExplorer.nameOverride = Enable dialogs only in Explorer (improves performance) diff --git a/Src/Localization/English/ClassicIE.html b/Src/Localization/English/ClassicIE.html deleted file mode 100644 index c121d16..0000000 --- a/Src/Localization/English/ClassicIE.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - Classic IE - -

Open-Shell website  -Classic IE


-Classic IE
-is a -small plugin for Internet Explorer that:
-
    -
  • Adds a caption to the title -bar so you can see the full title of the page
  • -
  • Shows the security zone in the status bar
  • -
  • Shows the loading progress in the status bar
  • -
-
-See the full page title even when it doesn't fit in the tab:
-
-
See the progress and the security zone:
-
-
-

Installation

-When you run Internet Explorer for the first time after installing -Classic IE it may prompt you that a new add-on called ClassicIEBHO is -installed and if you want to enable it. Click on the Enable button. If -you don't get a prompt, go to Tools -> Manage add-ons and make sure ClassicIEBHO is enabled. After enabling the add-on you have to restart Internet Explorer to activate the plugin.
-
-

Settings

-You can access the settings from Tools -> Classic IE Settings -or from the start menu. The settings control the color and the font of -the caption, and what information to display on the status bar.
-
-
You can choose from seeing only the basic settings, or all -available settings. Hover over each setting to see a description of -what it's for. Type in the search box to find a setting by name.
-Every setting has a default value. The default value can be constant, -or it may depend on the current system settings. Once you edit a -setting it becomes "modified" and is shown in bold. To revert to the -default value, right-click on the setting.
- -
-You can save the settings to an XML file, and later load them back. -Press the Backup button to access these functions. From there you can -also reset all settings to their default value.
- - -
- - -Press OK to store your settings. You need to restart Internet Explorer to apply the new settings.
- - -
-

Administrative Settings

-The settings are -per user and are stored in the registry. By default every user can edit -all of their settings. An administrator can lock specific settings, so -no user can edit them. This is achieved by adding the setting to the HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicIE registry key.
-
-You may also wish to not lock the setting but only override its initial -value. Then add "_Default" to the name of the registry value.
-
-The easiest way to know the registry name of a setting and its value is to modify it, and then look it up in HKEY_CURRENT_USER\Software\OpenShell\ClassicIE\Settings.
- -Sometimes you may want to lock a setting to its default value, but you -don't know what the default value is. Then create a DWORD value and set -it to 0xDEFA.
- -
- -There is also a global setting EnableSettings. Set it to 0 in the -registry to prevent the users from even opening the Settings dialog:
- -
-
-Editing the settings through group policies is also supported. Extract the file PolicyDefinitions.zip found in the installation folder and read the document PolicyDefinitions.rtf for more details.
-
- diff --git a/Src/Localization/English/ClassicIEADMX.txt b/Src/Localization/English/ClassicIEADMX.txt deleted file mode 100644 index 1d2662b..0000000 --- a/Src/Localization/English/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn = never - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell settings -State.text = State: -State1.text = Locked to this value -State2.text = Locked to default -State3.text = Unlocked -State1Help.text = If you set the state to 'Locked to this value', the setting will be locked to the specified value for all users. -State2Help.text = If you set the state to 'Locked to default', the setting will be locked to the default value for all users. The specified value is ignored. -State3Help.text = If you set the state to 'Unlocked', the default value for the setting will be changed to the specified value. Individual users can override the setting. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Classic IE group policy settings -SUPPORTED_CS404.text = Requires Open-Shell 4.0.4 or later. -SUPPORTED_IE9.text = Requires Internet Explorer 9 or later. - - -EnableSettings.nameOverride = Enable settings -EnableSettings.tipOverride = Enables the users to edit their own settings -CaptionFont.tipAddition = .\n\nThe format is , , . For example "Segoe UI, normal, 9" diff --git a/Src/Localization/English/License.html b/Src/Localization/English/License.html deleted file mode 100644 index ae628ea..0000000 --- a/Src/Localization/English/License.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - License Agreement - -

Open-Shell website  License Agreement
-


-Open-Shell 2009-2017, Ivo Beltchev

-http://www.classicshell.net/
-
-BY USING THIS SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.
-
-If you comply with these license terms, you have the rights below.
-
-
    -
  1. -

    SCOPE OF LICENSE. This agreement only gives you some rights to use the software. The author reserves all other rights.

    -
  2. -
  3. -

    INSTALLATION AND USE RIGHTS. This software is free for both personal and commercial use. You may install and use it on your computers free of charge.

    -
  4. -
  5. -

    REDISTRIBUTION RIGHTS. You may redistribute the software as long as you do it free of charge and you don’t misrepresent the origin of the software.

    -
  6. -
  7. -

    TRADEMARKS. The Open-Shell name and logo are trademarks of the author. Using them to to identify other products or services is not permitted.

    -
  8. -
  9. -

    DISCLAIMER OF WARRANTY. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    -
  10. -
  11. -

    IN OTHER WORDS: -Basically you can use this software freely for any purpose but don’t be -surprised if it doesn’t work as you expect. You can’t hold the author -responsible for any damages that come to you from using the software. -You can’t profit from selling this software. You got it for free after -all.

    -
  12. -
- - - diff --git a/Src/Localization/English/Links.html b/Src/Localization/English/Links.html deleted file mode 100644 index 36f21b4..0000000 --- a/Src/Localization/English/Links.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Open-Shell - -

Open-Shell website  Links


The latest version can be found on the Open-Shell website:
-http://www.classicshell.net/
-
-View the project history here:
-History: http://www.classicshell.net/history/
-
-
-

Get Help

-For answers to frequently asked questions look here:
-FAQ: http://www.classicshell.net/faq/
- -
-If you don't find your answer in the FAQ, try the discussion forums:
-Discussion Forums: http://www.classicshell.net/forum/viewforum.php?f=6
- -
-
-

Report Problems

-Report bugs and feature requests in the development forums:
-Development Forums: http://www.classicshell.net/forum/viewforum.php?f=11
- - diff --git a/Src/Localization/English/LocComments.txt b/Src/Localization/English/LocComments.txt deleted file mode 100644 index 18c609a..0000000 --- a/Src/Localization/English/LocComments.txt +++ /dev/null @@ -1,41 +0,0 @@ -; These are comments for the localization CSV files. They explain how to translate some of the trickier lines of text -; "ignore" is a special comment, that forces the text line to not be included in the CSV file (for text that doesn't need translation) - -2001/242=ignore -2001/243=ignore -2001/246=ignore -2001/248=ignore -3001/242=ignore -3001/243=ignore -3001/246=ignore -4002/1002=ignore -4004/259=ignore -4004/1007=ignore -4004/1009=ignore - -2006=%d.%d.%d will be replaced by the version number -2048=here 'fix' means "to repair" (as in "fix the problem"), not "to prevent from changing" (as in "fixed price") -3003=%d.%d.%d will be replaced by the version number -3015=the following 13 lines may be left in English. they will show up only for people who develop new skins. since the instructions for making skins are in English, the error messages can be left in English too -3021=do not translate the word "SKIN" -3022=do not translate the word "SKIN" -3024=do not translate the word "SKIN" -3025=do not translate the word "SKIN" - -4004=this is a filter for the "open file" dialog. be very careful to preserve the | characters (the vertical lines) -4006=this is a filter for the "open file" dialog. be very careful to preserve the | characters (the vertical lines) -4033=this is a filter for the "open file" dialog. be very careful to preserve the | characters (the vertical lines) -4049=this is a filter for the "open file" dialog. be very careful to preserve the | characters (the vertical lines) - -4034=this is the title for the dialog -4035=this is the title for the dialog -4037=this is the title for the dialog -4040=this is item in the Backup menu -4041=this is item in the Backup menu -4042=this is item in the Backup menu - -5002=%d.%d.%d will be replaced by the version number - -2001/255=this means "disabled icon", which is the grayed-out icon shown when the command is disabled -3001/1057=this means "the menu will try to open closer to the top of the screen, instead of closer to the bottom" - diff --git a/Src/Localization/English/Localization.rtf b/Src/Localization/English/Localization.rtf deleted file mode 100644 index 5b573a8..0000000 --- a/Src/Localization/English/Localization.rtf +++ /dev/null @@ -1,108 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset0 Arial;}{\f2\fnil\fcharset2 Symbol;}} -{\colortbl ;\red0\green0\blue255;} -{\*\listtable -{\list\listhybrid -{\listlevel\levelnfc23\leveljc0\levelstartat1{\leveltext\'01\'B7;}{\levelnumbers;}\f2\jclisttab\tx0} -{\listlevel\levelnfc23\leveljc0\levelstartat1{\leveltext\'01\'B7;}{\levelnumbers;}\f2\jclisttab\tx0}\listid1 }} -{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}} -{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\keepn\widctlpar\s1\sb240\sa60\sl276\slmult1\kerning32\b\f0\fs32 Localization of Open-Shell\par - -\pard\nowidctlpar\kerning0\b0\f1\fs20\par -This file explains the localization system used by Open-Shell and how to translate Open-Shell in new languages.\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 1. What can be localized\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Open-Shell has 2 major systems for providing localized text.\par -\par -The first one is the L10N.ini files. There are 3 files \endash ExplorerL10N.ini, StartMenuL10N.ini and StartMenuHelperL10N.ini. They contain translations for the text in Explorer and the start menu that users will encounter during normal use. These files contain translations for all of the 35 supported languages. Each language is separated in its own section. You will generally not need to edit these files unless you find a typo. If you do, please send the correction to {{\field{\*\fldinst{HYPERLINK "mailto:classicshell@ibeltchev.com" }}{\fldrslt{\ul\cf1\cf1\ul classicshell@ibeltchev.com}}}}\f1\fs20 , so I can fix the typo in the next release.\par -\par -The second system is for localizing the settings UI and the system messages that Open-Shell displays. The translations are packaged into a resource DLL with the name of the language \endash en-US.dll, ja-JP.dll, etc. The DLL can contain:\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720 A string table with replacement strings\par -{\pntext\f2\'B7\tab}Dialog resources for the Settings UI\par -{\pntext\f2\'B7\tab}Overrides for text lines in the L10N.ini files\par - -\pard\nowidctlpar\par -The same DLL contains resources for all of the Open-Shell components \endash Classic Explorer, Open-Shell Menu, etc. Generally resources from 2000 to 3000 belong to Classic Explorer, from 3000 to 4000 belong to Open-Shell Menu, from 5000 to 6000 belong to Classic IE, 6000 to 7000 belong to the updater component and from 4000 to 5000 are shared by all components.\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 2. What else can be localized (if you really want to)\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Open-Shell is designed to mainly support localizations for the UI. Localizations for other areas, like the installer and the documentation will require more work.\par -\par -To translate the installer you need to translate the OpenShellText-en-US.wxl file. It contain the text for the installer. One benefit of translating the installer is that you can localize the names of the shortcuts in the Start menu. You also need to translate the OpenShellReadme.rtf file and OpenShellEULA.rtf if you want them to display in your language.\par -\par -To translate the help file you will need to translate the HTML files included in OpenShellLoc.zip. If you install the tool HTML Help Workshop from Microsoft, you will be able to also compile the CHM file and preview it yourself. Use the OpenShell.hhp help project file for that.\par -\par -To translate the group policies you will need to translate the files ClassicExplorerADMX.txt, ClassicIEADMX.txt, OpenShellADMX.txt and MenuADMX.txt. You may also translate the PolicyDefinitions.rtf file.\par -\par -When you are done, send all translations to me and I will prepare an installer for your language. \par -\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 3. The DLL structure in detail\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Look at the provided \b en-US.dll\b0 file. It contains all English resources that can be translated.\par -\b\i Note:\b0 Open-Shell doesn\rquote t need the en-US.dll file. The English text is already built-in. The purpose of the en-US.dll file is to serve as an example and starting point for other languages.\par -\i0\par -The localization DLL contains the following resources:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720 A version resource. It must match the version of Open-Shell it is intended to be used with. The reason is that the text often changes between versions, so translations from one version will not work with the next. You may also use the comments section to list your name as the author.\par - -\pard\nowidctlpar\li720\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720 A string table. Provides translations for the UI text in Open-Shell. Use the text from en-US.dll as a source. The string table doesn\rquote t need to include all strings. If a string is missing, it will stay in English.\line\par -{\pntext\f2\'B7\tab}A set of dialog resources. These are the dialog boxes that the Settings UI needs. You can replace the text in the dialogs with your own. You can also resize some of the dialog elements to make the text fit. Like with the strings, if a dialog is missing from the DLL, the English version will be used.\line\par -{\pntext\f2\'B7\tab}A L10N resource (its resource ID must be 1). This is a UTF-16 text file that contains replacement strings for the ini files. For example the ini files do not have the text \ldblquote Settings for Open-Shell Menu\rdblquote translated in all languages (since I don\rquote t know how to say it in all 35 languages). So the DLL can provide the translations for the current language. It is possible to replace even text that is already translated \endash for example if you want to fix a typo in the ini file, or to provide a better version of some text line.\line\par - -\pard\widctlpar\sa200\sl276\slmult1 You can edit a DLL using a resource editor like Visual Studio, Res Hacker, and many others.\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 4. What if I don\rquote t know how to edit DLLs?\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Look at the provided \b en-US.csv\b0 file. It is a tab-separated file in UTF-16 format. You can open it in Excel or any compatible editor. The file contains 4 columns:\par - -\pard -{\listtext\f1\u10625?\tab}\ls1\nowidctlpar\fi-360\li720\b ID\b0 \endash this is the identifier of the text line. There are 3 types of IDs:\par - -\pard -{\listtext\f1\u10625?\tab}\ls1\ilvl1\nowidctlpar\fi-360\li1440 A number, like 2001, 4030, etc. These correspond to the strings in the string table\par -{\listtext\f1 1\tab}A pair of numbers, like 3002/1025. These correspond to strings found in the dialog boxes. The first number is the ID of the dialog, and the second is the ID of the control in that dialog\par -{\listtext\f1 2\tab}Text, like \ldblquote Menu.SettingsTip\rdblquote . These correspond to the lines of the L10N resource\par - -\pard\nowidctlpar\li720\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\b English\b0 \endash this is the original English text\par - -\pard\nowidctlpar\li720\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\b Translation\b0 \endash this column is empty. That\rquote s where you will have to enter the translations for your language\line\par -{\pntext\f2\'B7\tab}\b Comment\b0 \endash some lines contain hints for the meaning of the translation, or instructions for providing better translation. If you are still unclear about something, ask me. I will provide more comments in future versions based on which text lines people find confusing\par - -\pard\nowidctlpar\par -\par -Once you are done, send the CSV file to {{\field{\*\fldinst{HYPERLINK "mailto:classicshell@ibeltchev.com" }}{\fldrslt{\ul\cf1\cf1\ul classicshell@ibeltchev.com}}}}\f1\fs20 and I will convert that text into a DLL and upload it to the Open-Shell website.\par -\par - -\pard\keepn\widctlpar\s2\sb240\sa60\sl276\slmult1\b\i\f0\fs28 5. Special characters\par - -\pard\nowidctlpar\b0\i0\f1\fs20\par -Some text lines in the DLL or the CSV contain special characters. They are:\par -\b\\t\b0 \endash this is the Tab character. Do not enter an actual tab in the text, because the CSVs don\rquote t handle it well\par -\b\\r\b0 \endash this is a carriage return character\par -\b\\n\b0 \endash this is a new line character\par -\b\\\\\b0 - this is the backslash character. You must use \\\\ instead of \\, because a single \\ can be mistaken for a special character\par -\b %d\b0 \endash this is a placeholder for a number. The actual number will be provided at run-time\par -\b %s\b0 \endash this is a placeholder for a string. The actual string will be provided at run-time\par -\par -In general, try to keep the special characters as they are.\par -\par -} - diff --git a/Src/Localization/English/Main.html b/Src/Localization/English/Main.html deleted file mode 100644 index ce136c6..0000000 --- a/Src/Localization/English/Main.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - Open-Shell - -

Open-Shell website  Open-Shell

-Version 4.3.1 – general release

-

What is Open-Shell?

-Open-Shell™ is a collection of usability enhancement for Windows. It -has a customizable Start menu and Start button, it adds a -toolbar for Windows Explorer and supports a variety of smaller features.
-
-
-

System Requirements

-Open-Shell works on Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, -Windows Server 2012 and Windows Server 2012 R2. Both 32 and 64-bit versions are -supported (the same installer works for both). Some skins for the start menu -require Aero theme to be enabled. Others require at least Basic theme.
-
-
-

Components


- -Open-Shell has three major components: -
-

Uninstallation

-You can uninstall Open-Shell from Control Panel -> Programs and Features. Another way is  to run the setup again and chose "Remove".
-A logoff may be required to complete the process.
-
- diff --git a/Src/Localization/English/Menu.html b/Src/Localization/English/Menu.html deleted file mode 100644 index 87e69c7..0000000 --- a/Src/Localization/English/Menu.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - - - - - - Open-Shell Menu - -

Open-Shell website  -Open-Shell Menu


-Open-Shell Menu
-is a flexible start menu that can mimic the menu behavior of Windows -2000, XP and Windows 7. It has a variety of advanced features: -
    - -
  • Choose between “Classic” and “Windows 7” styles
    -
  • -
  • Drag and drop to let you organize your applications
  • - -
  • Options to show Favorites, expand Control Panel, etc
  • -
  • Shows recently used documents. The number of documents to display -is customizable
  • -
  • Translated in 35 languages, including Right-to-left support for -Arabic and Hebrew
  • -
  • Does not disable the original start menu in Windows. You can -access it by Shift+Click on the start button
  • -
  • Right-click on an item in the menu to delete, rename, sort, or -perform other tasks
  • -
  • The search box helps you find your programs and files without getting in the way of your keyboard shortcuts
  • -
  • Supports jumplists for easy access to recent documents and common tasks
  • -
  • Available for 32 and 64-bit operating systems
  • -
  • Has support for skins, including additional 3rd party skins. Make your own!
  • -
  • Fully customizable in both looks and functionality
  • -
  • Support for Microsoft’s Active Accessibility
  • -
  • Converts the “All Programs” button in the Windows menu into a cascading menu
  • -
  • Implements a customizable start button
    -
  • -
  • Can show, search and launch Windows Store apps (Windows 8)
  • - - - - -
  • And last but not least – it's FREE!
  • -

-

Styles

-The start menu offers 3 styles to choose from.
-

1) Single-column classic style

-
-This style is similar to the menu found in Windows 2000. It has one -column in the main menu with vertical text on the side. you can -customize the order of items, icons and text.
- -Programs, jumplists and search results show as cascading sub-menus.
- -
-

2) Two-column classic style

-
-This style is similar to the Windows XP menu. There are two columns -where you can arrange your menu items. Customize the order, icons and -text.
-Programs, jumplists and search results show as cascading sub-menus.
-
-

3) Windows 7 style
-

-
-This style is similar to the Windows Vista and Windows 7 menu. The -items in the first column are pre-defined to pinned and recent -programs, all programs list and search box. The items in the second -column are fully customizable.
-The jumplists and search results show inside the main menu. The -programs can be inside the main menu or open as a cascading sub-menu.
-This style offers less customizing options than the classic styles, but -has look and feel more familiar to people used to Windows 7.
-
-
-

Operation

-If you have used the start menu in older versions of Windows you’ll -feel right at home:
- - - -

-Press the Windows key or click on the orb in the corner of the -screen to open the start menu.

-

-Hold down Shift while clicking on the orb to access the operating -system's own -start menu. -

-

-Click on an item to execute it. -

-

-Drag a program to change the order of the programs in a menu, or to -move it to another folder. -

-

-Right-click on an item to rename it, delete it, explore it, sort the -menu, or perform other tasks.

-

-Right-click on the orb to edit the settings for the start menu, to view this help file, or to -stop the start menu.
-

-


- -

- -

-Settings

Right-click on the start button to access the settings:
-
-
-You can choose from seeing only the basic settings, or all available -settings. Hover over each setting to see a description of what it's for. Type in the search box to find a setting by name.
- -Every setting has a default value. The default value can be constant, -or it may depend on the current system settings. Once you edit a -setting it becomes "modified" and is shown in bold. To revert to the -default value, right-click on the setting.
-
- -You can save the settings to an XML file, and later load them back. -Press the Backup button to access these functions. From there you can -also reset all settings to their default value.
- - -
- -Most settings will be changed immediately as you edit them. For example -you can edit the start menu, then while the Settings dialog is open, -access the start menu to see the changes. Small number of settings will -require you to exit the start menu before you can see the change.
- -
- - -Note: All Settings windows are resizable. Resize them and place them where you want them to be. They will remember the new position.
- - -
-Click on the Customize Start Menu tab to customize the menu items. Depending on the style you will see different UI.
-
-For classic styles you can customize both columns of the start menu and -create sub-menus. The left column shows the current items in the menu -and the right column shows the available menu items. Drag from the -right to the left to add items to the menu.
-
-
-For the Windows 7 style you can only edit the items for the second column and there are no sub-menus.
-
-

-Double-click on the icon to edit the item properties:
-
-Here you can select a command for the item, its text, icon and other attributes. Press the Restore Defaults button to get the default text and icon for the chosen command.
-
-The command can be:
- -
    -
  • one of the predefined commands - from the dropdown
  • custom executable string -- this can be a name of a program and its arguments, or even a URL -(like http://www.google.com). Environment variables like %SystemRoot% are supported
  • left blank - then if the link attribute is used, it will act as a command
    -
  • -
-The link can be a path to a file or a folder. If it is a file, that -file will be executed. If it is a folder, that folder will be opened as -a sub-menu. Some menu items (like Programs and Favorites) have an implicit -link attribute, so for them the Link box will be disabled.
- -
- -The icon can be:
- -
    -
  • left blank - then if the link attribute points to a file or a folder, the icon of that file or folder will be used
    -
  • resource file,icon ID - for example %windir%\notepad.exe,2. Do not leave space between the file name and the comma. Make sure you are using the icon's resource ID, and not the icon's index. For best results use the [...] button next to the icon box
    -
  • ,icon ID - same as above, but the resource file is the StartMenuDLL.dll itself. This is useful when referring to the start menu's own icons
    -
  • icon file -  for example C:\Program Files\Mozilla Thunderbird\Email.ico
  • none - this will use a blank icon
  • -
-If the label or the tip attribute start with $ (dollar sign), then the system will treat it as a name of a string in the StartMenuL10N.ini -file. The actual text will depend on the current language setting. This -is useful when creating a menu that can be used by multiple languages.
-
-If you check "Insert Sub-items as Buttons", instead of showing the menu -item itself, the start menu will show the sub-items as a row of -buttons. By default the buttons are centered. You can align them to the -left by adding a separator as the last item, or align them to the right -by adding a separator as the first item. One possible use is to replace -the shutdown menu item with -separate buttons for shutdown, restart, log off, etc.
-
-

Administrative Settings

-The settings are -per user and are stored in the registry. By default every user can edit -all of their settings. An administrator can lock specific settings, so -no user can edit them:
- -
-In this example the setting "Enable right-click menu" is locked to always -be unchecked and can't be changed by any user. This is achieved -by adding the setting to the HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\Menu registry key. Create a DWORD value called "EnableContextMenu" and set it to 0.
-
-In some cases you may not want to lock the value for all users, but -simply modify the initial value of the setting. In such case add -"_Default" to the name of the value. For example if you want to context -menu to be disabled by default but still allow the users to enable it -if they wish, create a DWORD value named "EnableContextMenu_Default" -and set it to 0.
-
-The easiest way to know the registry name of a setting and its value is to modify it, and then look it up in HKEY_CURRENT_USER\Software\OpenShell\StartMenu\Settings.
- -Sometimes you may want to lock a setting to its default value, but you -don't know what the default value is. Then create a DWORD value and set -it to 0xDEFA.
- -
- -There is also a global setting "EnableSettings". Set it to 0 in the -registry to prevent the users from even opening the Settings dialog:
- -
-
-The start menu also checks most of the group policies set by the administrator. Run gpedit.msc and go to User Configuration -> Administrative Templates -> Start Menu and Taskbar. From there you can disable Run, Shutdown, Help, and other features. (Not available on Home versions of Windows).
-
-Editing the settings through group policies is also supported. Extract the file PolicyDefinitions.zip found in the installation folder and read the document PolicyDefinitions.rtf for more details.
-
-
-

More About Skins

-You can pick from the many pre-installed skins:
-
-Skins for Open-Shell Menu
-
Or you can download and install additional 3rd party skins (from -the main website or from another place). After you download a new skin -you -must copy the .skin file to the Skins directory – usually C:\Program -Files\Open-Shell\Skins. After that it will be available in the settings.
-
-Note: Some skins may be specifically designed for -Classic, Basic, or Aero mode. For example an Aero skin may require -glass support any will look weird if the Classic or Basic theme is -selected. Some Aero skins may also require specific glass color to be -selected.
-
-You can create your own skin. You will need an image editor that -supports alpha channel (like Gimp or Photoshop) and a tool to edit -resource files (like Resource Hacker or Visual Studio). And of course -some talent for graphical design :). Read the Skinning Tutorial before you begin.
-
-

-

Search


-
- The search box lets you search the contents of the start menu, the -programs in the PATH environment variable and the indexed files. You can have the search box -appear as a normal menu item and then you can get to it using the -up/down arrow keys. You can choose to have the search box selected by -default when you open the start menu. Or you can choose to activate the -search box only with the Tab key, so until you press Tab you can use -the keyboard for navigation as if the search box is not there.
-
-The search results show in the main menu if you are using the Windows 7 style or in a sub-menu for the classic styles.
-Click on each category to expand it and see more results. Click on the icon at the end to view all results in Explorer.
-
-The classic styles allow you to register additional "search providers", which you can use to -search for the text from the search box. You run the search program -either by selecting it from the menu, or by -pressing Alt+key. In this example use Alt+A for Agent Ransack.
-
-
-This is done by adding sub-items of the SearchBoxItem in the Customize Start Menu tab:
-
-
-Open each of the sub-items and enter a command to start the search program. If you use %1 in the command, it will be replaced by the contents of the search box. If you use %2 -it will be replaced by the url-style encoded search text. Enter a -label, tip, and icon to complete your menu entry. In the label text you -can use & to mark the accelerator character (for example &Agent Ransack).
-
-Here are a few possible commands:
-Search with Agent Ransack: "C:\Program Files\Agent Ransack\AgentRansack.exe" -r -f "%1"
-Search with Everything: "C:\Program Files\Everything\Everything.exe" -search "%1"
-Search with Google: http://www.google.com/#q=%2
-Search with Bing: http://www.bing.com/search?q=%2
-
-
-

Custom Start Button
-

Open-Shell can add its own start button to the taskbar. It can -even replace the default start button in Windows 7. You can choose from -an Aero-style orb, a rectangular classic button, or -you can make your own. For a custom start button you need an image that -contain the 3 states of the button - normal, hot and pressed:
-Start button images
-The image must be a 32-bit PNG or BMP. By default the width of the -image determines the size of the button. You can override that by -entering a custom width.
-Read the Button Tutorial for more information about creating custom buttons.
-You can find many custom start button images online. Here are few examples:
-http://www.classicshell.net/forum/viewforum.php?f=18
-http://www.sevenforums.com/themes-styles/34951-custom-start-menu-button-collection.html
-
http://www.sevenforums.com/customization/78291-big-group-custom-start-orbs.html
-http://tutoriales13.deviantart.com/art/Orbs-153450418
-
-
-

Localization

- -The user interface (except the Settings dialog box) is localized in 35 -languages.
- -The Settings dialog box is translated in a smaller number of languages. -The default installation contains only English. More languages can be -downloaded from the translations page. Make sure you download the translation package for the exact version of Open-Shell.
- - -
-

Command Line

-The StartMenu.exe supports 5 command line parameters: -open, -toggle, -togglenew, -exit and -settings.
-
-The first two do what the name suggests. One opens the classic start menu, the other -toggles it. You can use the parameters to create a shortcut in your -QuickLaunch bar that opens the start menu. Or to set a hotkey in -programs such as WinKey.
-
-The third one "-togglenew" toggles the default Windows start menu (or start screen). It is useful if -you want to create a shortcut or a hotkey to open the default menu and use the Win -key for the classic menu.
-
-Use "-exit" to exit the start menu. This command will only work if the start menu is not currently busy.
-
-Use "-settings" to open the start menu settings. This is useful for creating a shortcut for editing the settings.
-
-
-

Accessibility

The start menu supports screen readers like JAWS, -or Microsoft's Narrator. If the accessibility support causes problems it can be disabled from the General Behavior tab of the Settings.
- -
- diff --git a/Src/Localization/English/MenuADMX.txt b/Src/Localization/English/MenuADMX.txt deleted file mode 100644 index 712f70e..0000000 --- a/Src/Localization/English/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic2 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Open-Shell settings -State.text = State: -State1.text = Locked to this value -State2.text = Locked to default -State3.text = Unlocked -State1Help.text = If you set the state to 'Locked to this value', the setting will be locked to the specified value for all users. -State2Help.text = If you set the state to 'Locked to default', the setting will be locked to the default value for all users. The specified value is ignored. -State3Help.text = If you set the state to 'Unlocked', the default value for the setting will be changed to the specified value. Individual users can override the setting. - -MenuCat.text = Open-Shell Menu -MenuCatHelp.text = Open-Shell Menu group policy settings -SUPPORTED_CS404.text = Requires Open-Shell 4.0.4 or later. -SUPPORTED_CS404_WIN7.text = Requires Windows 7. -SUPPORTED_CS404_WIN78.text = Requires Windows 7 or Windows 8. -SUPPORTED_CS404_WIN781.text = Requires Windows 7 or Windows 8.1. -SUPPORTED_CS404_WIN8.text = Requires Windows 8. -SUPPORTED_CS404_WIN881.text = Requires Windows 8 or Windows 8.1. -SUPPORTED_CS404_WIN81.text = Requires Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Requires Classic menu style with one column. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Requires Classic menu style with two columns. -SUPPORTED_CS404_CLASSIC_STYLE.text = Requires Classic menu style. -SUPPORTED_CS404_WIN7_STYLE.text = Requires Windows 7 menu style. - - -EnableSettings.nameOverride = Enable settings -EnableSettings.tipOverride = Enables the users to edit their own settings - -MenuStyle.nameOverride = Menu style -MenuStyle.tipOverride = Select the style for the start menu.\nThe style determines the overall look and functionality of the menu. -MenuStyle_Classic1.nameOverride = Classic with one column -MenuStyle_Classic2.nameOverride = Classic with two columns -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Left Click opens -ShiftClick.nameOverride = Shift+Click opens -WinKey.nameOverride = Windows Key opens -ShiftWin.nameOverride = Shift+Win opens -MiddleClick.nameOverride = Middle Click opens -Hover.nameOverride = Hover opens - -; skins -SkinC1.nameOverride = Skin for classic menu with one column -SkinC1.tipOverride = Select the skin to be used by the classic style with one column -SkinVariationC1.nameOverride = Skin variation for classic menu with one column -SkinVariationC1.tipOverride = Select the skin variation to be used by the classic style with one column (for skins that support multiple variations) -SkinOptionsC1.nameOverride = Skin options for classic menu with one column -SkinOptionsC1.tipOverride = Select the skin options to be used by the classic style with one column.\nThe options are a list of hex numbers. The best way to get them is to adjust the options in the Open-Shell Menu settings dialog and then look up the value named SkinOptionsC1 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Menu items for classic menu with one column -MenuItems1.tipOverride = Select the menu items to be used by the classic style with one column.\nThe best way to get the right string is to configure the items in the Open-Shell Menu settings dialog and then look up the value named MenuItems1 in HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Skin for classic menu with two columns -SkinC2.tipOverride = Select the skin to be used by the classic style with two columns -SkinVariationC2.nameOverride = Skin variation for classic menu with two columns -SkinVariationC2.tipOverride = Select the skin variation to be used by the classic style with two columns (for skins that support multiple variations) -SkinOptionsC2.nameOverride = Skin options for classic menu with two columns -SkinOptionsC2.tipOverride = Select the skin options to be used by the classic style with two columns.\nThe options are a list of hex numbers. The best way to get them is to adjust the options in the Open-Shell Menu settings dialog and then look up the value named SkinOptionsC2 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Menu items for classic menu with two columns -MenuItems2.tipOverride = Select the menu items to be used by the classic style with two columns.\nThe best way to get the right string is to configure the items in the Open-Shell Menu settings dialog and then look up the value named MenuItems2 in HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Skin for the Windows 7 style -SkinW7.tipOverride = Select the skin to be used by the Windows 7 style -SkinVariationW7.nameOverride = Skin variation for the Windows 7 style -SkinVariationW7.tipOverride = Select the skin variation to be used by the Windows 7 style (for skins that support multiple variations) -SkinOptionsW7.nameOverride = Skin options for the Windows 7 style -SkinOptionsW7.tipOverride = Select the skin options to be used by the Windows 7 style.\nThe options are a list of hex numbers. The best way to get them is to adjust the options in the Open-Shell Menu settings dialog and then look up the value named SkinOptionsW7 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Menu items for the Windows 7 style -MenuItems7.tipOverride = Select the menu items to be used by the Windows 7 style.\nThe best way to get the right string is to configure the items in the Open-Shell Menu settings dialog and then look up the value named MenuItems7 in HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Skin for the All Programs sub-menu for the Windows 7 start menu -SkinA.tipOverride = Select the skin to be used by the All Programs sub-menu for the Windows 7 start menu -SkinVariationA.nameOverride = Skin variation for the All Programs sub-menu for the Windows 7 start menu -SkinVariationA.tipOverride = Select the skin variation to be used by the All Programs sub-menu for the Windows 7 start menu (for skins that support multiple variations) -SkinOptionsA.nameOverride = Skin options for the All Programs sub-menu for the Windows 7 start menu -SkinOptionsA.tipOverride = Select the skin options to be used by the All Programs sub-menu for the Windows 7 start menu.\nThe options are a list of hex numbers. The best way to get them is to adjust the options in the Open-Shell Menu settings dialog and then look up the value named SkinOptionsA in HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = This setting doesn't work for Windows 8.1. You need to use the built-in Windows setting for booting to Desktop - -; hidden -FolderStartMenu.nameOverride = Start Menu folder -FolderStartMenu.tipOverride = Enter an override for the per-user start menu folder (also overrides the per-user Programs folder).\nThe path can contain environment variables.\nNote: This setting is not editable from the Settings dialog -FolderPrograms.nameOverride = Programs folder -FolderPrograms.tipOverride = Enter an override for the per-user Programs folder.\nThe path can contain environment variables.\nNote: This setting is not editable from the Settings dialog -FolderCommonStartMenu.nameOverride = Common Start Menu folder -FolderCommonStartMenu.tipOverride = Enter an override for the common start menu folder (also overrides the common Programs folder).\nThe path can contain environment variables.\nNote: This setting is not editable from the Settings dialog -FolderCommonPrograms.nameOverride = Common Programs folder -FolderCommonPrograms.tipOverride = Enter an override for the common Programs folder.\nThe path can contain environment variables.\nNote: This setting is not editable from the Settings dialog -AutoStartDelay.nameOverride = Auto-start delay -AutoStartDelay.tipOverride = Enter a delay in ms when launching the start menu automatically during login (does not apply when starting the menu manually by running StartMenu.exe).\nNote: This setting is not editable from the Settings dialog - -; other -StartButtonIcon.tipAddition = The value can be a path to an ICO file or a path to an EXE/DLL and an the ID of the icon -StartButtonPath.tipAddition = The value is a full path to the BMP or PNG file -SoundMain.tipAddition = The value can be a name of a system event or a path to a WAV file -SoundPopup.tipAddition = The value can be a name of a system event or a path to a WAV file -SoundCommand.tipAddition = The value can be a name of a system event or a path to a WAV file -SoundDrop.tipAddition = The value can be a name of a system event or a path to a WAV file -ExpandFolderLinks.tipAddition = Only works for symbolic links (like junctions) and not for plain shortcuts -StartHoverDelay.nameOverride = Hover delay (for Start button) -AllProgramsDelay.nameOverride = Hover delay (for All Programs in Windows 7) -CSMHotkey.tipAddition = .\n\nThe base value is the main key's virtual code. Add 256 for Shift, 512 for Control and 1024 for Alt.\nThe best way to get the value is to select the hotkey in the Open-Shell Menu settings dialog and then look up the value named CSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\nThe base value is the main key's virtual code. Add 256 for Shift, 512 for Control and 1024 for Alt.\nThe best way to get the value is to select the hotkey in the Open-Shell Menu settings dialog and then look up the value named WSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/English/OpenShell.hhp b/Src/Localization/English/OpenShell.hhp deleted file mode 100644 index 3237197..0000000 --- a/Src/Localization/English/OpenShell.hhp +++ /dev/null @@ -1,16 +0,0 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=OpenShell.chm -Contents file=OpenShellTOC.hhc -Default topic=Main.html -Display compile progress=Yes -Language=0x409 English (United States) - - -[FILES] -ClassicExplorer.html -Menu.html -ClassicIE.html - -[INFOTYPES] - diff --git a/Src/Localization/English/OpenShellADMX.txt b/Src/Localization/English/OpenShellADMX.txt deleted file mode 100644 index 9219b6f..0000000 --- a/Src/Localization/English/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Open-Shell settings -State.text = State: -State1.text = Locked to this value -State2.text = Locked to default -State3.text = Unlocked -State1Help.text = If you set the state to 'Locked to this value', the setting will be locked to the specified value for all users. -State2Help.text = If you set the state to 'Locked to default', the setting will be locked to the default value for all users. The specified value is ignored. -State3Help.text = If you set the state to 'Unlocked', the default value for the setting will be changed to the specified value. Individual users can override the setting. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Open-Shell group policy settings -SUPPORTED_CS404.text = Requires Open-Shell 4.0.4 or later. - -Language.nameOverride = Language for Open-Shell components -Language.tipOverride = Select the language to be used by Open-Shell (for example en-US or de-DE). The language will affect the text in the start menu, toolbars, etc. If the appropriate language DLL is installed, the settings UI may also be translated -Update.nameOverride = Enable automatic checks for new versions -Update.tipOverride = When this is checked, Open-Shell will check for new releases every week. You will be notified if there is a new version of the Open-Shell software or a new update for your current language diff --git a/Src/Localization/English/OpenShellEULA.rtf b/Src/Localization/English/OpenShellEULA.rtf deleted file mode 100644 index dde4415..0000000 Binary files a/Src/Localization/English/OpenShellEULA.rtf and /dev/null differ diff --git a/Src/Localization/English/OpenShellReadme.rtf b/Src/Localization/English/OpenShellReadme.rtf deleted file mode 100644 index de2d4e6..0000000 --- a/Src/Localization/English/OpenShellReadme.rtf +++ /dev/null @@ -1,106 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset0 Calibri;}{\f2\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52 Open-Shell\par - -\pard\widctlpar\cf0\expndtw0\b0\i0\f1\fs22\par -Thank you for installing \cf3\b Open-Shell\'99\cf0\b0 . It adds some missing features to Windows 7, Windows 8, Windows 8.1 and Windows 10 - like a classic start menu, start button, a toolbar for Windows Explorer and others.\par -\par -The latest version can be found on the Open-Shell website:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f1\fs22\par -\par -For answers to frequently asked questions look here:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f1\fs22\par -\par -Or use the discussion forums to get help:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f1\fs22\par -\par -Report problems in the Open-Shell development forums:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f1\fs22\par -\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Open-Shell Menu\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Open-Shell Menu\cf0 \b0 is a flexible start menu that can mimic the menu behavior of Windows 2000, XP and Windows 7. It has a variety of advanced features:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Choose between \ldblquote Classic\rdblquote and \ldblquote Windows 7\rdblquote styles\par -{\pntext\f2\'B7\tab}Drag and drop to let you organize your applications\par -{\pntext\f2\'B7\tab}Options to show Favorites, expand Control Panel, etc\par -{\pntext\f2\'B7\tab}Shows recently used documents. The number of documents to display is customizable\par -{\pntext\f2\'B7\tab}Translated in 35 languages, including Right-to-left support for Arabic and Hebrew\par -{\pntext\f2\'B7\tab}Does not disable the original start menu in Windows. You can access it by Shift+Click on the start button\par -{\pntext\f2\'B7\tab}Right-click on an item in the menu to delete, rename, sort, or perform other tasks\par -{\pntext\f2\'B7\tab}The search box helps you find your programs and files without getting in the way of your keyboard shortcuts\par -{\pntext\f2\'B7\tab}Supports jumplists for easy access to recent documents and common tasks\par -{\pntext\f2\'B7\tab}Available for 32 and 64-bit operating systems\par -{\pntext\f2\'B7\tab}Has support for skins, including additional 3rd party skins. Make your own!\par -{\pntext\f2\'B7\tab}Fully customizable in both looks and functionality\par -{\pntext\f2\'B7\tab}Support for Microsoft\rquote s Active Accessibility\par -{\pntext\f2\'B7\tab}Converts the \ldblquote All Programs\rdblquote button in the Windows menu into a cascading menu\par -{\pntext\f2\'B7\tab}Implements a customizable start button\par -{\pntext\f2\'B7\tab}Can show, search and launch Windows Store apps (Windows 8)\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic Explorer\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic Explorer\cf0 \b0 is a plugin for Windows Explorer that:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Adds a toolbar to Explorer for some common operations (Go to parent folder, Cut, Copy, Paste, Delete, Properties, Email). The toolbar is fully customizable\par -{\pntext\f2\'B7\tab}Replaces the copy UI in Windows 7 with the more user-friendly \ldblquote classic\rdblquote version similar to Windows XP\par -{\pntext\f2\'B7\tab}Handles Alt+Enter in the folder panel of Windows Explorer and shows the properties of the selected folder\par -{\pntext\f2\'B7\tab}Has options for customizing the folder panel to look more like the Windows XP version or to not fade the expand buttons\par -{\pntext\f2\'B7\tab}Can show the free disk space and the total size of the selected files in the status bar\par -{\pntext\f2\'B7\tab}Can disable the breadcrumbs in the address bar\par -{\pntext\f2\'B7\tab}Fixes a long list of features that are broken in Windows 7 \endash missing icon overlay for shared folders, the jumping folders in the navigation pane, missing sorting headers in list view, and more\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic IE\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic IE is a plugin for Internet Explorer 9 and later versions that:\par -\cf0\b0\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Adds a caption to the title bar so you can see the full title of the page\par -{\pntext\f2\'B7\tab}Shows the security zone in the status bar\par -{\pntext\f2\'B7\tab}Shows the loading progress in the status bar\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Installation instructions\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -The toolbar for Windows Explorer may not show up automatically after installation. You have to do a few things before you can use it.\par -\par -\cf3\b Windows 7:\cf0\b0 Press Alt+V to open the View menu. Open the \ldblquote Toolbars\rdblquote sub-menu and select \ldblquote Classic Exlporer Bar\rdblquote . Keep in mind that the menu will always be displayed as long as the toolbar is visible.\par -\par -\cf3\b Windows 8:\cf0\b0 Press Alt+V to open the View ribbon. Click on the down arrow in the \ldblquote Options\rdblquote section. Select \ldblquote Classic Explorer Bar\rdblquote\par -\par -If these steps don\rquote t work, it may be possible that the Explorer extensions have been disabled. Check the following, then try to show the toolbar again:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720 Open Internet Explorer and go to Tools -> Manage add-ons. Locate the add-ons \ldblquote Classic Explorer Bar\rdblquote and \ldblquote ExplorerBHO Class\rdblquote and make sure they are enabled.\par -{\pntext\f1 2)\tab}Maybe the browser extensions are disabled on your system. This is usually the default for Windows Server. Open the "Internet Options", go to the "Advanced" tab, and check the option "Enable third-party browser extensions".\par - -\pard\widctlpar\par -On Windows 7 you have to turn on the status bar from the View menu if you want to see the file sizes.\par -On Windows 8 the Classic Explorer status bar is different from the one in Explorer. You can show/hide the first one from the Classic Explorer settings dialog and show/hide the second one from Explorer\rquote s folder options dialog.\par -\par -The caption in Internet Explorer may not show up automatically after installation. You may get a prompt to enable the ClassicIEBHO plugin. If you get the prompt, select \ldblquote Enable\rdblquote . If you don\rquote t get a prompt, go to Tools -> Manage add-ons and make sure the add-on \ldblquote ClassicIEBHO\rdblquote is enabled. After that restart Internet Explorer.\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Uninstallation\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -To uninstall \cf3\b Open-Shell\cf0\b0 follow these steps:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720 Open \b Control Panel -> Programs and Features\b0 and double-click on \b Open-Shell\b0 . Then follow the instructions. You may have to restart Windows to complete the process.\par -{\pntext\f1 2)\tab}If you installed any additional skins for the start menu you will have to delete them manually\par - -\pard\widctlpar\par - -\pard\widctlpar\sa200\sl276\slmult1\par -} - diff --git a/Src/Localization/English/OpenShellTOC.hhc b/Src/Localization/English/OpenShellTOC.hhc deleted file mode 100644 index 9835e23..0000000 --- a/Src/Localization/English/OpenShellTOC.hhc +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -
    -
  • - - - - -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
  • - - - - -
- diff --git a/Src/Localization/English/OpenShellText-en-US.wxl b/Src/Localization/English/OpenShellText-en-US.wxl deleted file mode 100644 index dd4bc02..0000000 --- a/Src/Localization/English/OpenShellText-en-US.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - This installer is only for 32-bit version of Windows. For 64-bit Windows you need to run Setup64. - Open-Shell requires Windows 7 or above. - A newer version of [ProductName] is already installed. The setup will now exit. - Classic Explorer - Classic Explorer adds a toolbar to Windows Explorer, replaces the copy UI and fixes some usability problems - Open-Shell Menu - Open-Shell Menu is a highly customizable replacement for the Windows start menu - Classic IE - Classic IE lets you customize the title bar and the status bar of Internet Explorer - Open-Shell Update - Open-Shell Update checks periodically for new versions - View the Open-Shell documentation - View the Open-Shell introduction - Edit the settings of Classic Explorer - Edit the settings of the classic start menu - Edit the settings of the Internet Explorer title bar and status bar - Edit the settings for Open-Shell's new version check - Create a start menu folder - Open-Shell website - Donate to Open-Shell - Visit us on Facebook - View Readme file - Open-Shell Help - Open-Shell Readme - Open-Shell Update - Classic Explorer Settings - Open-Shell Menu Settings - Classic IE Settings - Open the Start screen - Open-Shell is a collection of usability enhancements for Windows - diff --git a/Src/Localization/English/PolicyDefinitions.rtf b/Src/Localization/English/PolicyDefinitions.rtf deleted file mode 100644 index e68967d..0000000 Binary files a/Src/Localization/English/PolicyDefinitions.rtf and /dev/null differ diff --git a/Src/Localization/English/WixUI_en-us.wxl b/Src/Localization/English/WixUI_en-us.wxl deleted file mode 100644 index 72fcc6e..0000000 --- a/Src/Localization/English/WixUI_en-us.wxl +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/Src/Localization/English/en-US.csv b/Src/Localization/English/en-US.csv deleted file mode 100644 index fc7f9e7..0000000 Binary files a/Src/Localization/English/en-US.csv and /dev/null differ diff --git a/Src/Localization/English/images/OpenShell.png b/Src/Localization/English/images/OpenShell.png deleted file mode 100644 index 1c17868..0000000 Binary files a/Src/Localization/English/images/OpenShell.png and /dev/null differ diff --git a/Src/Localization/English/images/acc_locked.png b/Src/Localization/English/images/acc_locked.png deleted file mode 100644 index 0dd5dc9..0000000 Binary files a/Src/Localization/English/images/acc_locked.png and /dev/null differ diff --git a/Src/Localization/English/images/after.png b/Src/Localization/English/images/after.png deleted file mode 100644 index bdb89f9..0000000 Binary files a/Src/Localization/English/images/after.png and /dev/null differ diff --git a/Src/Localization/English/images/before.png b/Src/Localization/English/images/before.png deleted file mode 100644 index 62f32e9..0000000 Binary files a/Src/Localization/English/images/before.png and /dev/null differ diff --git a/Src/Localization/English/images/button_images.png b/Src/Localization/English/images/button_images.png deleted file mode 100644 index e8bfa32..0000000 Binary files a/Src/Localization/English/images/button_images.png and /dev/null differ diff --git a/Src/Localization/English/images/button_settings.png b/Src/Localization/English/images/button_settings.png deleted file mode 100644 index 8dcb650..0000000 Binary files a/Src/Localization/English/images/button_settings.png and /dev/null differ diff --git a/Src/Localization/English/images/customize_menu.png b/Src/Localization/English/images/customize_menu.png deleted file mode 100644 index ef06aab..0000000 Binary files a/Src/Localization/English/images/customize_menu.png and /dev/null differ diff --git a/Src/Localization/English/images/explorer_settings.png b/Src/Localization/English/images/explorer_settings.png deleted file mode 100644 index d1d2c15..0000000 Binary files a/Src/Localization/English/images/explorer_settings.png and /dev/null differ diff --git a/Src/Localization/English/images/ie9_caption.png b/Src/Localization/English/images/ie9_caption.png deleted file mode 100644 index 5d853f7..0000000 Binary files a/Src/Localization/English/images/ie9_caption.png and /dev/null differ diff --git a/Src/Localization/English/images/ie9_settings.png b/Src/Localization/English/images/ie9_settings.png deleted file mode 100644 index 47342d5..0000000 Binary files a/Src/Localization/English/images/ie9_settings.png and /dev/null differ diff --git a/Src/Localization/English/images/ie9_status.png b/Src/Localization/English/images/ie9_status.png deleted file mode 100644 index ebfb297..0000000 Binary files a/Src/Localization/English/images/ie9_status.png and /dev/null differ diff --git a/Src/Localization/English/images/item_settings.png b/Src/Localization/English/images/item_settings.png deleted file mode 100644 index d978eb3..0000000 Binary files a/Src/Localization/English/images/item_settings.png and /dev/null differ diff --git a/Src/Localization/English/images/menu_settings.png b/Src/Localization/English/images/menu_settings.png deleted file mode 100644 index 6d99c16..0000000 Binary files a/Src/Localization/English/images/menu_settings.png and /dev/null differ diff --git a/Src/Localization/English/images/search1.png b/Src/Localization/English/images/search1.png deleted file mode 100644 index 9c3b512..0000000 Binary files a/Src/Localization/English/images/search1.png and /dev/null differ diff --git a/Src/Localization/English/images/search2.png b/Src/Localization/English/images/search2.png deleted file mode 100644 index 049f69e..0000000 Binary files a/Src/Localization/English/images/search2.png and /dev/null differ diff --git a/Src/Localization/English/images/search3.png b/Src/Localization/English/images/search3.png deleted file mode 100644 index 9de67eb..0000000 Binary files a/Src/Localization/English/images/search3.png and /dev/null differ diff --git a/Src/Localization/English/images/settings1.png b/Src/Localization/English/images/settings1.png deleted file mode 100644 index fbbb6ff..0000000 Binary files a/Src/Localization/English/images/settings1.png and /dev/null differ diff --git a/Src/Localization/English/images/settings2.png b/Src/Localization/English/images/settings2.png deleted file mode 100644 index 45c8d55..0000000 Binary files a/Src/Localization/English/images/settings2.png and /dev/null differ diff --git a/Src/Localization/English/images/settings3.png b/Src/Localization/English/images/settings3.png deleted file mode 100644 index c72ae67..0000000 Binary files a/Src/Localization/English/images/settings3.png and /dev/null differ diff --git a/Src/Localization/English/images/settings4.png b/Src/Localization/English/images/settings4.png deleted file mode 100644 index a2ebb4a..0000000 Binary files a/Src/Localization/English/images/settings4.png and /dev/null differ diff --git a/Src/Localization/English/images/settings5.png b/Src/Localization/English/images/settings5.png deleted file mode 100644 index f4b0c0c..0000000 Binary files a/Src/Localization/English/images/settings5.png and /dev/null differ diff --git a/Src/Localization/English/images/settings_disable_ex.png b/Src/Localization/English/images/settings_disable_ex.png deleted file mode 100644 index 4bb572d..0000000 Binary files a/Src/Localization/English/images/settings_disable_ex.png and /dev/null differ diff --git a/Src/Localization/English/images/settings_disable_ie9.png b/Src/Localization/English/images/settings_disable_ie9.png deleted file mode 100644 index 352b100..0000000 Binary files a/Src/Localization/English/images/settings_disable_ie9.png and /dev/null differ diff --git a/Src/Localization/English/images/settings_disable_sm.png b/Src/Localization/English/images/settings_disable_sm.png deleted file mode 100644 index d65b65a..0000000 Binary files a/Src/Localization/English/images/settings_disable_sm.png and /dev/null differ diff --git a/Src/Localization/English/images/skins.gif b/Src/Localization/English/images/skins.gif deleted file mode 100644 index c9a26cf..0000000 Binary files a/Src/Localization/English/images/skins.gif and /dev/null differ diff --git a/Src/Localization/English/images/statusbar.png b/Src/Localization/English/images/statusbar.png deleted file mode 100644 index e9cfc00..0000000 Binary files a/Src/Localization/English/images/statusbar.png and /dev/null differ diff --git a/Src/Localization/English/images/style1.png b/Src/Localization/English/images/style1.png deleted file mode 100644 index 02cf5be..0000000 Binary files a/Src/Localization/English/images/style1.png and /dev/null differ diff --git a/Src/Localization/English/images/style2.png b/Src/Localization/English/images/style2.png deleted file mode 100644 index 9bbd1d1..0000000 Binary files a/Src/Localization/English/images/style2.png and /dev/null differ diff --git a/Src/Localization/English/images/style3.png b/Src/Localization/English/images/style3.png deleted file mode 100644 index 67a4f0f..0000000 Binary files a/Src/Localization/English/images/style3.png and /dev/null differ diff --git a/Src/Localization/English/images/titlebar.png b/Src/Localization/English/images/titlebar.png deleted file mode 100644 index bbad38b..0000000 Binary files a/Src/Localization/English/images/titlebar.png and /dev/null differ diff --git a/Src/Localization/English/images/toolbar.png b/Src/Localization/English/images/toolbar.png deleted file mode 100644 index 7a23fbe..0000000 Binary files a/Src/Localization/English/images/toolbar.png and /dev/null differ diff --git a/Src/Localization/English/images/toolbar_settings.png b/Src/Localization/English/images/toolbar_settings.png deleted file mode 100644 index 93416f2..0000000 Binary files a/Src/Localization/English/images/toolbar_settings.png and /dev/null differ diff --git a/Src/Localization/English/images/up_locked.png b/Src/Localization/English/images/up_locked.png deleted file mode 100644 index e1284d8..0000000 Binary files a/Src/Localization/English/images/up_locked.png and /dev/null differ diff --git a/Src/Localization/French/ClassicExplorer.html b/Src/Localization/French/ClassicExplorer.html deleted file mode 100644 index 0770f3f..0000000 --- a/Src/Localization/French/ClassicExplorer.html +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - Classic Explorer - -

Site web Open-Shell  Classic Explorer


-Classic -Explorer est une extension pour l’Explorateur Windows qui : - -
    - -
  • Ajoute une barre d’outils à L’Explorateur Windows pour des opérations courantes (Aller au dossier parent, Couper, Copier, Coller, Supprimer,, Courriel). La barre d’outils est entièrement personnalisable
  • -
  • Remplace la boîte de dialogue de Copie dans Windows 7 avec une version “classique” plus ’user-friendly’ similaire à celle de Windows XP
  • - -
  • Réponds au raccourci clavier Alt+Entrée dans le panneau de L’Explorateur Windows et affiche les propriétés du dossier sélectionné
  • - -
  • Dispose d’options pour personnaliser le panneau dossier pour ressembler d’avantage à celui de la version de Windows XP ou ne pas faire de fondu sur les boutons qui servent à développer
  • -
  • Peut afficher l’espace libre et la taille totale des fichiers dans la barre d’état
  • -
  • Peut désactiver le fil d’Ariane dans la barre d’adresse
  • -
  • Corrections -une longue liste de fonctions qui étaient cassés dans Windows 7 – absence d’icône, surimpression des dossiers partagés, les dossiers de saut dans le panneau de navigation, l’absence des entêtes de colonnes de trie dans la vue liste, et plus
    -
  • - - - - -

- - -

Nouvelle boîte de dialogue Copie (Windows 7 uniquement)
-

- -Dans Vista quand vous copiez des fichiers et qu’il y a un conflit, on vous affiche ça :
- -
- -Avant
- -

Quel est le problème ?

- -

Pour les débutants -c’est une fenêtre de la taille d’une moitié d’écran que vous avez à lire. Aussi ce n’est pas -immédiatement clair quelles parties sont cliquables. -Vous devez déplacer la souris autour pour découvrir les zones UI comme Jeu d’aventure de Lucas Arts -Et finalement la convivialité du clavier est terrible. Pour vous dire -“oui, je sais ce que je fais. Je veux remplacer tous les fichiers” vous devez -presser Alt+D, flèche haut, flèche haut, flèche haut, Espace ! C’est plus difficle que de faire le mouvement Akuma -Kara Demon dans Street Fighter 3. Il y a un temps et une place pour ce genre de choses et copier des fichiers n’en est pas une. - -

L’extension Classic Explorer ramène les boîtes de dialogues simples Windows XP:
-

- -

After
-

- -

C’est immédiatement clair ce qui est cliquable(indice – les boutons en bas), il ya une navigation facile via le clavier (pressez O pour “Oui”, A pour copier tous les fichiers) - et vous pourrez quand même continuer à voir quel fichier est plus récent et quel fichier est plus grand. Et bien sûr tout comme dans Windows XP, Maintenir enfoncé Majuscule pendant que vous cliquerez sur le bouton Non signifiera "Non à tous" (ou pressez juste Majuscule+N).
-

- -

Si vous cliquez sur Plus… vous obtiendrez le dialogue original de Windows. A partir de là -vous verrez tous les détails et vous obtiendrez une option supplémentaire pour “Copier, mais garder les deux fichiers”.

-

Note Importante : Seulement cette boîte de dialogue sera remplacée. Le sous-système qui réalise la copie ne sera pas affecté.
-

-


-

- - - -

Alt+Entrée dans le panneau dossier

- -Alt+Entrée est raccourci clavier universel à travers Windows pour afficher les -proriété de la sélection. Mais dans les nouvelles versions de Windows, cela -ne marche pas dans le panneau de gauche qui montre les dossiers. Cela marche bien -dans le panneau de droite où s’affichent les fichiers. C’était cassé en comparaison -avec Windows XP où Alt+Entrée marchait des deux côtés. -

Pour résoudre ce problème, l’extension Classic Explorer détecte lorsque -vous appuyez sur Alt+Entrée et affiche les propriétés pour le dossier courant sélectionné.
-

-


-

- - -

Barre d’outils pour l’Explorateur Windows

-L’Explorateur Windows dans Vista n’a pas de barre d’outils comme celle -dans Windows XP. Si vous voulez aller au dossier parent vous devez utiliser la barre fil d’Ariane. -Si vous voulez copier ou supprimer un fichier avec la souris vous devez faire un clic droit et chercher -la commande Supprimer. Le menu contextuel devient de plus en plus grand au fur et à mesure que vous -avez des extensions du shell installées, et trouver la bonne commande peut prendre du temps.
-

Pour solutionner ce problème, l’extension Classic Explorer ajoute une nouvelle barre d’outils :
-

- - Barre d’outils Explorer
-
-Les boutons disponibles sont : Aller au dossier parent, Couper, Copier, Coller, Supprimer, Propriétés, Courriel, Paramètres. -Plus de boutons peuvent être ajouter dans la boîte de dialogue Paramètres
-
-Astuces:
-    - Maintenez la touche Contrôle (Ctrl) appuyée lorsque vous cliquez sur le bouton Haut pour ouvrir le dossier parent dans une nouvelle fenêtre Explorateur.
-    - Maintenez la touche Majuscule lorsque vous cliquez sur le bouton Supprimer pour supprimer définitivement un fichier
- -
- -La nouvelle barre d’outils ne s’affiche pas automatiquement dans l’Explorateur après l’installation. -Vous devez d’abord faire quelques réglages avant de pouvoir l&#
- -
    - -
  1. Ouvrir une nouvelle fenêtre de l’Explorateur (Touche Win+E)
  2. -
  3. Activer le menu dans l’Explorateur – Aller à Outils (Alt+T), Option du dossier, - l’onglet Vue, et vérifiez que “Toujours afficher les menus” est coché.
  4. -
  5. Clic droit sur la barre de menu et sélectionnez “Classic Explorer Bar” pour afficher la barre d’outils.
  6. -
  7. Si cette option n’est pas disponible (vous ne voyez que “Verrouillez les barres d’outils”) vous devez -peut-être actvier la barre d’outils dans Internet Explorer. -Exécutez IE, clic droit sur la barre d’outils et sélectionnez “Classic Explorer Bar”. -Il vous demandera si vous voulez activer cette extension. Sélectionnez “Activer”, -puis répétez les étapes 1 jusqu’à 3 de nouveau.
  8. -
  9. Si même avec ça vous ne voyez toujours pas la barre d’outils, peut-être que les extensions de votre -navigateur sont désactivées sur votre système. C’est normalement le réglage par défaut pour -les serveurs. Ouvrez les "Options Internet", allez à l’onglet "Avancé", et vérifiez que l’option "Activer les extensions tierce partie".
    -
  10. - -

-

Barre d’état
-

-Classic Explorer restaure la barre d’état originale de l&#Explorateur qui affiche l’espace libre et la taille des fichiers sélectionnés :
-
-Taille du fichier dans la barre d’état
-
-A la différence de la barre d’état, la taille de la sélection est afficher même si -plus de 100 fichiers sont sélectionnés. Quand aucun fichier n’est sélectionné le total -de tous les fichiers du dossier est affiché.
-
Note Windows 7 : Classic Explorer améliore la barre d’état -par défaut à la place de la remplacer. Pour le voir, vous devez l’activer à partir du menu Affichage/Vue. -La barre d’état est différente du Panneau de Détails bleu que vous apercevez en bas de l’Explorateur. Vous pouvez désactiver le -Panneau de Détails à partir du menu Organiser pour gagner de l’espace. Aussi, il y a un bug dans -l’Explorateur de Windows 7 qui des fois ne vous montre plus aucun texte dans la barre d’état. -Appuyez F5 pour rafraîchir la vue et obtenir le texte d’état.
-
Note Windows 8 : Classic Explorer ajoute sa propre -barre d’état. Vous devriez cacher la barre d’état par défaut pour économiser de l’espace. -Sélectionnez l’onglet Affichage dans le rubban, puis cliquez sur Options. Sélectionnez -Modifier les options des dossiers et de recherche dans le menu déroulants. Sélectionnez l’onglet Affichage. -Trouvez la case à cocher "Afficher la barre d’état" et décochez-là. -
-
- - -

Paramètres

Vous pouvez accéder aux paramètres de Classic Explorer à partir de la barre d’outils ou à partir du menu démarrer :
-
-
Vous pouvez choirsir de voir les paramètres de base, ou tous les paramètres disponibles. -Survolez chaque paramètre pour afficher une description de sa fonction. Saisissez un terme dans -la boîte de recherche pour trouver un paramètre par son nom.
-Chaque paramètre à une valeur par défaut. La valeur par défaut peut être une constante, -ou cela peut dépendre de vos paramètres systèmes actuels. Une fois que vous modifiez -un paramètre, il devient ’modifié’ et est affiché en gras. Pour revenir à la valeur par -défaut, clic droit sur le paramètre.
-
Vous pouvez enregistrer les paramètres dans un fichier XML, et plus tard les recharger. -Appuyez le bouton Sauvegarde pour accéder à ces fonctions. A partir -de là vous pouvez réinitialiser tous les paramètres à leur valeurs par défaut.
-
- -Appuyez OK pour stocker vos paramètres. La plupart des paramètres seront appliqués -la prochaine fois que vous ouvrirez une nouvelle fenêtre de l’Explorateur. Un petit nombre -de paramètres nécessiterons que vous fermiez la session pour prendre effet.
- -
- -Note: Toutes les fenêtres de paramètres sont redimensionnables.Redimensionnélez et placez-les où vous voulez qu’elles soient. Elles se -rappeleront leurs nouvelles positions.
- -
-Voici un exemple de ce qui peut être personnalisé :
- - Trucs de la barre de Titre
-
-Cliquez sur l’onglet Boutons de la barre d’outils pour personnaliser la barre d’outils :
-Paramètres de la barre d’outils
-
La colonne sur la gauche affiche les boutons actifs sur la barre d’outils, -et la colonne de droite liste les boutons que vous pouvez ajouter à -la barre d’outils. Vous pouvez glisser et déposer les boutons de -la colonne de droite à celle de gauche. Vous pouvez réarranger les -boutons en les déplaçant vers le haut ou le bas. Si vous vous lcher un bouton -sur un autre vous créerai un sous-menu.
-Survolez chaque bouton pour voir une courte description de leur fonction. Clic droit -sur chaque bouton pour accéder à plus de fonctions (comme Supprimer, Renommer, etc.). A partir du menu -contextuel vous pouvez aussi réinitialiser la barre d’outils à son état d’origine.
-Chaque élément dans la colonne de gauche doit avoir un nom unique. C’est l’identifiant de l’élément -et ne peut contenir que des lettres Anglaise, nombre et tiret bas. Certains éléments (comme SEPARATEUR) -ne peuvent pas être renommés.

-Note Importante : Pas toutes les commandes ont un icône ou un text par défaut disponible. C’est parce que Windows n’a pas d’icône pour des fonctions comme Annuler, Tout sélectionner, etc. Si vous voulez ce genre de boutons dans votre -barre d’outils vous devrez fournir vos propres icônes. Voir ci-dessous comment faire.
-
-Après avoir placé un bouton dans la barre d’outils, vous pouvez éditer ses attributs. Double cliquez sur le bouton pour l’éditer.
-Modifier le bouton de la barre d’outils
-Là vous pouvez sélectionnez une commande pour le bouton, son texte et son icône. Appuyez sur le bouton Restaurer les paramètres par défaut -pour retrouver le texte et l’icône par défaut de la commande choisie.
-La commande peut être :
-
    - - -
  • laisser vide - alors si l’attribut lien est utilisé, il agira comme une commande
  • -
  • une des commandes prédéfinies - à partir de la liste déroulante
  • -
  • open <folder name> - ceci ouvrira le dossier dans le navigateur courant
  • -
  • sortby <property> - Ceci triera le dossier avec la propriété choisie - name, type, size ou date. Utilisez ’-’ devant la propriété pour trier dans l’ordre descendant : "sortby -name". Vous pouvez utiliser -d’autres propriétés si vous connaissez leurs codes. Par exemple "sortby {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10" est la même chose que "sortby name". Pour plus de codes de propriétés référez-vous au fichier propkey.h dans le SDK de Windows (ou là ici - défilez vers le bas jusqu’à "Full property table"). Pas tous les codes de propriétés sont valides ou supportés (par exemple la propriété album year{56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 marche seulement quand vous affichez des albums de musique)
  • -
  • groupby <property> - similaire à sortby, mais regroupes les fichiers par la propriété choisies. - Utilisez la commande groupby avec aucune propriété pour désactiver le regroupement
    -
  • - - - -
  • une chaîne exécutable personnalisée -- ceci peut être un nom d’un programme et ses arguments, ou même une URL -(comme http://www.google.com). Vous pouvez utiliser des variables d’environnement comme %SystemRoot%. Vous pouvez aussi utiliser les variables d’espace réservé %1, %2, %3, %4 et %5:
  • -
      -
    • %1 est le chemin d’accès du dossier courant. -Gardez en tête que si le dossier courant est la racine d’un lecteur il finira avec un antislash (comme C:\)
      -
    • -
    • %2 est le chemin d’accès du fichier sélectionné (seulement quand un fichier unique est sélectionné)
    • -
    • %3 est le nom d’un fichier texte temporaire qui contient tous les fichiers sélectionnés. -Chaque ligne de ce fichier texte contient un fichier avec son chemin d’accès complet
      -
    • -
    • %4 est pareil que %3, mais le fichier est en format Unicode (UTF16). Le fichier contient pas d’octet de marque d’ordre. -%3 et %4 ne peuvent pas être utilisés dans la même commande
      -
    • -
    • Note aux développeurs : Quand -%3 ou %4 sont utilisés, c’est de la responsabilité de la commande à supprimer le fichier temporaire quand la commande finie. -Autrement le fichier temporaire sera laissé derrière et gaspillera de l’espace disque. De plus, si la commande est une application console -ou un fichier de commandes (batch) il sera exécuté en mode silence sans fenêtre de console
    • - -
    • %5 est le nom d’un fichier texte temporaire, qui peut être utilisé pour rendre une commande à Classic Explorer. -Si les 2 premiers octets du fichier sont 255 et 254, le fichier sera traité comme étant de l’Unicode. Seulement une commande peut être utilisée à la fois. -La commande peut être : -
    • -
        -
      • open <folder name> - force l’Explorateur à naviguer vers le dossier choisi
      • -
      • select <list of file names> -- sélectionne les fichiers choisis, désélectionne les autres. Les nom de fichiers doivent être séparé par une tabulation ou par un caractère retour chariot. -Les fichiers ne devraient pas contenir un chemin d’accès. Si c’est le cas, le chemin d’accès sera ignoré.br> -
      • -
      • refresh - rafraîchit l’Explorateur
      • -
      -
    -
      -
    • Note aux développeurs : -les commandes utilisant %5 s’exécuteront en mode silence (comme les commandes utilisant %3 ou %4) mais l’Explorateur attendra que le -processus se termine. Le processus doit finir aussi rapidement que possible, car l’Explorateur sera gelé pendant l’exécution de la commande
    • -
    • Voir la section suivante pour quelques exemples sur comment utiliser ces paramètres
      -
    • - -
    -
-Le lien peut être un chemin d’accès vers un fichier ou un dossier. Si c’est un fichier, ce fichier sera exécuté. Si c’est un dossier, ce dossier sera ouvert -sous la forme d’un sous-menu (seulement pour les boutons du niveau supérieur).
-
-L’icône peut être :
-
    -
  • laisser vide - Alors si l’attribut lien pointe vers un fichier ou un dossier, l’icône de ce fichier ou dossier sera utilisé
    -
  • -
  • fichier ressource,icône ID - par exemple %windir%\notepad.exe,2. Ne laissez pas d’espace -entre le nom du fichier et la virgule. Vérifiez que vous utilisez l’icône ID de la ressource, et pas l’index de l’icône. -Pour de meilleurs résultats utilisez le bouton [...] à côté de la zone de saisie icône
  • -
  • ,icône ID - identique à au-dessus, mais le fichier ressource est ClassicExplorer.dlllui-même. Ceci -est utile quand vous vous réferrez aux icônes propres à Classic Explorer
    -
  • -
  • fichier icône -  par exemple C:\Program Files\Mozilla Thunderbird\Email.ico
  • -
  • none - ceci utilisera un icône vide
  • -
-Si les attributs légende et infos rapides commence par $ (signe dollar), alors le système le traitera comme le nom d’une chaîne -dans le fichier ExplorerL10N.ini. Le texte actuel dépendra des paramètres du langage courant. Ceci est utiles lorsque vous créez une barre -d’outils qui peut être utilisé dans des langages multiples.
-
-Note aux développeurs : Les boutons des commandes personnalisées peuvent cochés ou désactivés. La barre d’outils vérifie la -clef de registrerie HKCU\Software\OpenShell\ClassicExplorer pour une valeur avec le nom de ce bouton (le nom utilisé dans la colonne gauche). -0 signifie normal, 1 signifie désactivé et 2 signifie coché. La barre d’outils lit la clef de registrerie au démarrage. Pour forcer les boutons à mettre à jour leurs états après ça, -vous devez trouver toutes les fenêtre de l’Explorateur, trouver la fenêtre enfant avec la classe OpenShell.CBandWindow, et -poster un message WM_CLEAR. Ceci est utile si vous développez un exe personnalisé pour être utilisé par la barre d’outils.
- -
-

Exemples de Commandes personnalisées

-

0) Utilisez les guillements quand cela est nécessaire

Afin de supporter les chemins d’accès qui contiennent des espaces, -vous devriez utiliser des guillemets autour du paramètre chemin d’accès. Les guillemets ne sont pas toujours obligatoires, comme dans l’exemple 1 -et 2 qui suit. Soyez sûr de tester les vos commandes avec des chemines d’accès contenant des espaces pour éviter les surprises.
-
-

1) Imprimer le dossier courant

- -Utilisez cette commande : cmd.exe /k echo %1. %1 sera remplacé par le chemin d’accès du dossier courant.
-
-

2) Ouvrir le fichier sélectionné dans le Notepad

-Utilisez la commande : %SystemRoot%\notepad.exe %2. -%2 sera remplacé par le chemin d’accès complet du fichier sélectionné. Il n’est pas besoin de mettre les guillemets car le Notepad -utilise la ligne de commande complète comme nom de fichier.
-
-

3) Copier les fichiers sélectionnés vers le dossier parent
-

-Créez un fichier de commandes (batch) appelé C:\CopyParent.bat:
-set list=%1
-set list=%list:"=%
-for /F "delims=" %%i in (%list%) do copy /Y "%%i" ..
-del %1
-
-Utilisez cette commande : C:\CopyParent.bat "%3". -%3 sera remplacé par un fichier texte contenant le chemin d’accès complet de tous les fichiers sélectionnés. Le fichier de commandes (batch) lire chacune des lignes de ce fichier texte, et copiera chacun des fichiers sélectionné vers le dossier parent. A la fin le fichier supprimera le fichier temporaire initial. -Les deux premières commandes set supprime les guillements du paramètre %1 .
-
-

4) Sélectionner tous les fichiers textes

-Créez un fichier de commandes (batch) appelé C:\SelectText.bat:
-echo select > %1
-dir *.txt /b >> %1
-
-Utilisez cette commande : C:\SelectText.bat "%5". -%5 sera remplacé par un fichier texte vide, où la commande devra sortir le mot ’select’ et une liste de fichiers qu’il veut sélectionner. -La commande ’dir *.txt /b’ fournit cette liste.
-
-
- -

Paramètres Administratifs

-Ces paramètres sont par utilisateurs et sont stockés dans la registrerie. Par défaut chaque utilisateur peut éditer chacun de ses paramètres. -Un administrateur peut verrouiller des paramètres spécifiques, de façon à ce qu’aucun utilisateur ne puisse les modifier. -
-
-Dans cet exemple le paramètre "Afficher le bouton Haut" est verrouillé pour toujours être "Avant Précédent/Suivant" et ne peut pas être changer par aucun utilisateur. -Ceci est effectué par l’ajout du paramètre dans la clef de registrerie HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicExplorer. -Créez une valeur chaîne appelée "ShowUpButton" et saisissez "BeforeBack".
-
Dans certains cas vous ne voudrez pas verrouiller la valeur pour tous les utilisateurs, mais simplement modifier la valeur initiale du paramètre. Dans ce cas, ajoutez "_Default" -au nom de la valeur. Par exemple si vous voulez que le bouton "Haut" soit avant le bouton "Précédent" par défaut mais que vous voulez laisser les utilisateurs changer cet état comme ils le veulent, créez une valeur chaîne nommée "ShowUpButton_Default" et saisissez "BeforeBack".
-
-La façon la plus simple de connaître le nom de la registrerie correspondant à un paramètre et sa valeur, c’est de le modifier, et ensuite de le chercher dans HKEY_CURRENT_USER\Software\OpenShell\ClassicExplorer\Settings.
-Quelques fois vous voudrez verrouiller un paramètre à sa valeur par défaut, mais vous ne savez pas quelle est sa valeur par défaut. Dans ce cas, créez une valeur DWORD et saisissez -0xDEFA .
-
-Il y a aussi un paramètre global EnableSettings. Saisissez 0 dans la registrerie pour empêcher les utilisateurs d’ouvrir le boîte de dialogue des paramètres :
-Désactiver tous les paramètres
-
-Vous pouvez activer ou désactiver Classic Explorer pour les processus individuels en utilisant 2 paramètres de la registrerie "ProcessWhiteList" et "ProcessBlackList". -ProcessWhiteList est la liste des processus pur lesquels Classic Explorer se chargera. Utilisez uniquement le nom du fichier du processus (comme "notepad.exe"), séparez plusieurs noms avec une virgule ou un point-virgule. ProcessBlackList est la liste des processus pour lesquels -Classic Explorer ne se chargera pas. Vous devriez seulement utiliser une seule de ces listes. Si les deux listes sont spécifiées, la "ProcessBlackList" sera ignorée. Ces listes sont -seulement utilisées quand vous activez les fonctions qui sont supportées par des processus autres que l’explorateur. Actuellement, ces fonctions sont : la surimpressoin sur les icônes des dossiers partagés et le remplacement des dialogues de copie.
-
-La modification des ces paramètres à travers les stratégies de groupe est aussi supportée. Décompressez le fichier PolicyDefinitions.zip qui se trouve dans -le dossier d’installation et lisez le document PolicyDefinitions.rtf pour plus de détails.
-
- -
- -

Dépendances en rapport aux paramètres Windows
-

-Certains paramètres de Classic Explorer nécessitent que des paramètres spécifiques de Windows soient activés :
-
    -
  • Style du panneau de navigation de Windows Vista - nécessite que Windows utilise Aero ou le thème Basic
  • -
  • Auto-navigation vers le dossier sélectionné -- ce paramètre peut être configuré à "Toujours" seulement quand l’Explorateur est configuré avec "Développer automatiquement le dossier courant". Cherchez le dans -l’onglet Général de Outils -> Options des dossiers
  • -
  • Afficher la légende dans la barre de titre -- la légende affichera le chemin d’accès complet ou seulement le nom du dossier courant. Pour afficher le chemin d’accès complet vous devez activer -"Afficher le chemin d’accès complet dans la barre de titre (Thème Classic seulement)" dans l’onglet Affichage/Vue de Outils -> Options des dossiers
  • -
  • Paramètre de toutes les barres d’état - nécessite que la barre d’état soit visible (ne doit pas être confondu avec le Panneau de Détails). Vérifiez Affichage -> Barre d’état
  • -
- -
- -

Localisation

- - - -L’interface utilisateur (excepté la boîte de dialogue des Paramètres) est traduite dans 35 langages.
-La boîte de dialogue des Paramètres est traduite dans un nombre moins important de langages. -L’installation par défaut contient seulement l’Anglais. Plus de langages peuvent être téléchargés à partir de - Page de traduction. Vérifiez que vous téléchargez le packet de traduction pour la version correcte de votre Open-Shell.
- -
- - diff --git a/Src/Localization/French/ClassicExplorerADMX.txt b/Src/Localization/French/ClassicExplorerADMX.txt deleted file mode 100644 index bae2c77..0000000 --- a/Src/Localization/French/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Paramètres Open-Shell -State.text = Etat: -State1.text = Verrouillé sur cette valeur -State2.text = Verrouillé sur le paramètre par défaut -State3.text = Déverrouillé -State1Help.text = Si vous configurez l'état à 'Verrouillé sur cette valeur', le paramètre sera verrouillé à la valeur spécifiée pour tous les utilisateurs. -State2Help.text = Si vous configurez l'état à 'Verrouillé sur le paramètre par défaut', le paramètre sera verrouillé à sa valeur par défaut pour tous les utilisateurs. La valeur spécifiée est ignorée. -State3Help.text = Si vous configurez l'état à 'Déverrouillé', la valeur par défaut de ce paramètre sera modifié par la valeur spécifiée. Chaque utilisateurs pourra surcharger ce paramètre. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Paramètres de la stratégie de groupe de Classic Explorer -SUPPORTED_CS404.text = Nécessite Open-Shell 4.0.4 ou plus. -SUPPORTED_CS404_WIN7.text = Nécessite Windows 7. -SUPPORTED_CS404_WIN881.text = Nécessite Windows 8 or Windows 8.1. - -AddressAltD.nameOverride = Raccourci Additionnel pour la barre d'adresse -AddressAltD.tipOverride = Saisissez une lettre de 'A' à 'Z' pour être un raccourci clavier pour la barre d'adresse en combinaison avec la touche Alt -EnableSettings.nameOverride = Activer les paramètres -EnableSettings.tipOverride = Permettre aux utilisateurs de modifier leurs propres paramètres -ProcessWhiteList.nameOverride = Liste blanche des processus -ProcessWhiteList.tipOverride = Liste des processus qui pourront charger Classic Explorer. Utilisez seulement le nom du fichier du processus (comme "notepad.exe"), séparez les noms multiples avec une virgule ou un point virgule. -ProcessBlackList.nameOverride = Liste noir des processus -ProcessBlackList.tipOverride = Liste des processus qui ne pourront pas charger Classic Explorer. Utilisez seulement le nom du fichier du processus (comme "notepad.exe"), séparez les noms multiples avec une virgule ou un point virgule. -ToolbarItems.nameOverride = Boutons de la barre d'outils -ToolbarItems.tipOverride = Sélectionnez les boutons à afficher dans la barre d'outils.\nLa meilleur façon d'obtenir la bonne chaîne est de configurerles boutons dans la boîte de dialogue des paramètres de Classic Explorer et de chercher la valeur nommé ToolbarItems dans HKCU\Software\OpenShell\ClassicExplorer\Settings - - -; os-specific -FileExplorer.nameOverride = Activer les dialogues seulement dans Explorer (augmente les performances) diff --git a/Src/Localization/French/ClassicIE.html b/Src/Localization/French/ClassicIE.html deleted file mode 100644 index e843407..0000000 --- a/Src/Localization/French/ClassicIE.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - Classic IE - -

Site web Open-Shell  -Classic IE


-Classic IE
-est une extension pour Internet Explorer qui :
-
    -
  • Ajoute une légende à la barre des titres de façon à ce que vous puissiez voir le titre complet de la page
  • -
  • Affiche la zone de sécurité dans la barre de statut
  • -
  • Affiche le progrès de chargement dans la barre de statut
  • -
-
-Afficher le titre complet de la page même lorsqu’il ne s’adapte pas à l’onglet :
-
-
Voir le progrès et la zone de sécurité :
-
-
-

Installation

-Quand vous lancez Internet Explorer pour la première fois après avoir installé -Classic IE il vous avertira peut être qu’un nouveau module complémentaire nommé ClassicIEBHO est installé et si vous voulez l’activer. -Cliquez sur le bouton activer. Si vous n’avez cet avertissement, allez dans Outils -> Gérer les modules complémentaires et assurez-vous que ClassicIEBHO est activé. Après avoir activé le module complémentaire vous devrez redémarrer Internet Explorer pour activer l’extension.
-
-

Paramètres

-Vous pouvez accéder aux paramètres à partir de Outils -> Classic IE Settings -ou à partir du menu démarrer. Les paramètres contrôlent la couleur et la police de la légende, et quelles informations sont à afficher dans la barre de statut.
- -
-
Vous pouvez choisir de voir seulement les paramètres de base, ou tous les paramètres disponibles. Survolez chaque paramètre pour voir une description de leur fonction. -Saisissez un mot dans la zone de recherche pour retrouver un paramètre par son nom.
-Chaque paramètre à une valeur par défaut. La valeur par défaut peut être une constante, ou elle peut dépendre des paramètres systèmes actuels. -Une fois que vous avez modifié un paramètre il devient "modifié" et est afficher en gras. Pour revenir à sa valeur par défaut, clic droit sur le paramètre.
- -
-Vous pouvez enregistrez les paramètres vers un fichier XML, et les recharger plus tard. -Appuyez sur le bouton Sauvegarde pour accéder à ces fonctions. A partir de là vous pouvez aussi réinitialiser tous les paramètres à leurs valeurs par défaut.
- - -
- - -Appuyez sur OK pour stocker vos paramètres. Vous devrez redémarrer Internet Explorer pour appliquer les nouveaux settings.
- - -
-

Administrative Settings

-Les paramètres sont par utilisateur et sont stocker dans la registrerie. Par défaut chaque utilisateur peut modifier n’importe quel paramètre. Un administrateur peut verrouiller des paramètres spécifiques, de façon à ce qu’aucun utilisateur ne puisse les modifier. Ceci est achevé en ajoutant le paramètre à la clef de registrerie HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicIE
-
-Vous voudrez peut être ne pas verrouiller le paramètre mais seulement surcharger sa valeur initiale. Pour cela, ajoutez "_Default" au nom de la valeur de la registrerie.
-
- -La façon la plus facile de connaître le nom registrerie d’un paramètre et ça valeur pour la modifier, est de la rechercher dans HKEY_CURRENT_USER\Software\OpenShell\ClassicIE\Settings.
- -Quelqes fois vous voudrez verrouiller un paramètre à sa valeur par défaut, mais vous ne savez quelle est la valeur par défaut. Dans ce cas créez une valeur DWORD et -configurez là à 0xDEFA.
- -
-Il y a aussi un paramètre global EnableSettings. Configurez le à 0 dans la registrerie pour même empêcher les utilisateurs d’ouvrir la boîte de dialogue des Paramètres :
- -
-
- -Modifier les paramètres au travers des stratégies de groupe est aussi supporté. Décompressez le fichier PolicyDefinitions.zip qui se trouve dans le dossier d’installation et lisez le document PolicyDefinitions.rtf pour plus de détails.
- -
- diff --git a/Src/Localization/French/ClassicIEADMX.txt b/Src/Localization/French/ClassicIEADMX.txt deleted file mode 100644 index f87108b..0000000 --- a/Src/Localization/French/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn = never - - - -; TRANSLATE =================================================================== - -Title.text = Paramètres Open-Shell -State.text = Etat: -State1.text = Verrouillé sur cette valeur -State2.text = Verrouillé sur le paramètre par défaut -State3.text = Déverrouillé -State1Help.text = Si vous configurez l'état à 'Verrouillé sur cette valeur', le paramètre sera verrouillé à la valeur spécifiée pour tous les utilisateurs. -State2Help.text = Si vous configurez l'état à 'Verrouillé sur le paramètre par défaut', le paramètre sera verrouillé à sa valeur par défaut pour tous les utilisateurs. La valeur spécifiée est ignorée. -State3Help.text = Si vous configurez l'état à 'Déverrouillé', la valeur par défaut de ce paramètre sera modifié par la valeur spécifiée. Chaque utilisateurs pourra surcharger ce paramètre. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Paramètres de la stratégie de groupe de Classic IE -SUPPORTED_CS404.text = Nécessite Open-Shell 4.0.4 ou plus. -SUPPORTED_IE9.text = Nécessite Internet Explorer 9 ou plus. - - -EnableSettings.nameOverride = Activer les paramètres -EnableSettings.tipOverride = Permettre aux utilisateurs de modifier leurs propres paramètres -CaptionFont.tipAddition = .\n\nLe format est , , . Par exemple "Segoe UI, normal, 9" diff --git a/Src/Localization/French/License.html b/Src/Localization/French/License.html deleted file mode 100644 index 347341a..0000000 --- a/Src/Localization/French/License.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - Accord de Licence - -

Site web de Open-Shell  Accord de Licence
-


-Open-Shell 2009-2017, Ivo Beltchev

-http://www.classicshell.net/
-
-EN UTILISANT CE LOGICIEL, VOUS EN ACCEPTEZ LES TERMES. SI VOUS NE LES ACCEPTEZ PAS N’UTILISEZ PAS CE LOGICIEL.
-
-Si vous acceptez les termes de cette licence, vous avec les droits suivant.
-
-
    -
  1. -

    PORTEE DE LA LICENCE. Cet accord vous donnes les droits d’utiliser le logiciel. L’auteur se réserve tous les autres droits.

    -
  2. -
  3. -

    INSTALLATION ET DROITS D’UTILISATION. Ce logiciel est gratuit pour l’usage personnel et l’usage commercial. Vous pouvez l’installer sur vos ordinateurs gratuitement.

    -
  4. -
  5. -

    DROITS DE REDISTRIBUTION. Vous pouvez redistribuer ce logiciel aussi longtelos que vous le faîtes gratuitement et que vous ne déformez pas l’origine du logiciel.

    -
  6. -
  7. -

    MARQUES. Le nom Open-Shell et le logo sont des marques de l’auteur. Leur utilisation pour identifier d’autres produits ou services n’est pas permise.

    -
  8. -
  9. -

    EXCLUSIONS DE LA GARANTIE. -LE LOGICIEL EST FOURNIT EN L’ETAT, SANS GARANTIE D4AUCUNE SORTE, EXPRESSE OU IMPLIQUE, INCLUANT MAISPAS LIMITE AUX GARANTIES DE COMMERCIALISATIONS, HABILITE POUR UNE FONCTION SPECIFIQUE ET ABSENCE DE CONTREFACON. DANS AUCUN EVENEMENT LES AUTEURS OU LES POSSESSEURS DU COPYRIGHTS POURRAIENT ETRE RESPONSABLE D’AUCUNE RECLAMATION, DOMMAGES OU D’AUTRES RESPONSABILITES. QU’ILS SOIENT DANS UNE ACTION DE CONTRAT, TORT OU AUTRES, SUITE DE, EN DEHORS OU EN DEDANS D’UNE CONNXION AVEC LE LOGICIEL OU UN AUTRE CONTRAT AVEC LE LOGICIEL.

    -
  10. -
  11. -

    EN D’AUTRES MOTS: -Concrêtement vous pouvez utiliser ce logiciel gratuitement pour n’importe quelle fonction mais ne soyez pas surpris si il ne marche pas comme prévu. Vous ne pouvez pas tenir pour responsible l’auteur pour n’importe quels dommages qui vous arriverez en vous servant de ce logiciel. Vous ne pouvez pas faire du profit en vendant ce logiciel. Vous l’avez eu gratuitement après tout.

    -
  12. -
- - - diff --git a/Src/Localization/French/Links.html b/Src/Localization/French/Links.html deleted file mode 100644 index 999853b..0000000 --- a/Src/Localization/French/Links.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Open-Shell - -

Site web de Open-Shell  Liens


La dernière version peut être trouvée sur le site web de Open-Shell:
-http://www.classicshell.net/
-
-Afficher l'historique du projet ici :
-History: http://www.classicshell.net/history/
-
-
-

Obtenez de l'aide

-Pour les réponses aux questions fréquentes regardez ici:
-FAQ: http://www.classicshell.net/faq/
- -
-Si vous ne trouvez pas une réponse dans la FAQ, essayez les forums de discussion :
-Discussion Forums: http://www.classicshell.net/forum/viewforum.php?f=6
- -
-
-

Rapportez les problmes

-Rapporter les bugs et suggestions de fonctions dans les forums de développement :
-Development Forums: http://www.classicshell.net/forum/viewforum.php?f=11
- - diff --git a/Src/Localization/French/Main.html b/Src/Localization/French/Main.html deleted file mode 100644 index b6eca13..0000000 --- a/Src/Localization/French/Main.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - Open-Shell - -

Site web Open-Shell  Open-Shell

-Diffusion générale – Version 4.3.1

-

Qu’est-ce Open-Shell?

-Open-Shell™ est une collection d'améliorations d'utilisation pour Windows. il a un Menu démarrer et un bouton démarrer personnalisable, il ajoute un barre d’outils à l'Explorateur Windows et supporte une variété de petites fonctions
-
-
-

Configuration Système requise

-Open-Shell fonctionne sur Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, -Windows Server 2012 et Windows Server 2012 R2. Les deux versions 32 and 64-bit sont supportées (le même programme d'installation fonctionne pour les deux). Quelques peaux (skins) pour le menu démarrer nécessitent que le thème Aero -soit activé. D'autres nécessitent le théme de base (Basic).
-
-
-

Composants


- -Open-Shell a trois composants majeurs : -
-

Désinstallation

-Vous pouvez désinstaller le Open-Shell à partir du Panneau de configuration -> Programmes et fonctionnalités. Une autre méthode est  d’exécuter le programme d’installation de nouveau et de répondre "oui" à la question posée.
-Une fermeture de session sera peut-être nécessaire pour terminer le processus.
-
- diff --git a/Src/Localization/French/Menu.html b/Src/Localization/French/Menu.html deleted file mode 100644 index 4b68541..0000000 --- a/Src/Localization/French/Menu.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - - - - - - Open-Shell Menu - -

Site web Open-Shell  -Menu Démarrer Classique (Open-Shell Menu)


-Menu Démarrer Classique (Open-Shell Menu)
-est un menu démarrer flexible qui peut mimiquer l’attitude du menu démarrer de Windows 2000, XP et Windows 7. Il a une variété de fonctions avancées : -
    - -
  • Choisissez parmis les styles “Classic” et “Windows 7”
    -
  • -
  • Le Glisser et Déposer vous laisse organiser vos applications
  • - -
  • Options pour afficher les Favoris, développer le Panneau de Configuration, etc
  • -
  • Afficher les documents récemment utilisés. Le nombre de documents à afficher et personnalisable
  • -
  • Traduit dans 35 langues, incluant le support Droite-Gauche pour l’Arabe et l’Hébreux
  • -
  • Ne désactive pas le menu démarrer orginal de Windows. You can access it by Maj+Clic sur le bouton du menu
  • -
  • Clic droit sur un élément du menu pour le supprimer, le renomer, le trier, ou effectuer d’autres tches
  • -
  • La boîte de recherche vous aide à trouver les logiciels et fichiers sans avoir à utiliser vos raccourcis claviers
  • -
  • Support des listes de raccourcis pour un accès rapide aux documents récents et tches courantes
  • -
  • Disponible pour les systèmes d'exploitation 32 et 64-bit
  • -
  • Supporte les peaux (skins), incluant aditionnellement les peaux (skins) de tierces parties. Créez la vôtre !!
  • -
  • Entièrement personnalisable autant pour le look que pour les fonctionnalités
  • -
  • Support pour l'Active Accéssibilité de Microsoft (Microsoft’s Active Accessibility)
  • -
  • Convertit le bouton “Tous les Programmes” de menu Windows en menu cascadé
  • -
  • Implémente un bouton démarrer personnalisable
    -
  • -
  • Peut afficher, rechercher et lancer les applications du Magasin Windows (Windows 8) - (Windows Store)
  • - - - - -
  • Et enfin, mais pas moins important, – c”est GRATUIT
  • -

-

Styles

-Le menu démarrer offre 3 choix de styles.
-

1) Simple colonne style classique (classic)

-
-Ce style est très similaire au menu trouvé dans Windows 2000. Il a une colonne dans le menu principal avec du texte vertical sur le côté, vous pouvez personnaliser l'ordre des éléments, icônes et texte.
- -Programmes, listes de raccourcis, et résultats de recherche s'affichent comme des sous-menus cascadés.
- -
-

2) Style classique (classic) 2 colonnes

-
-Ceci est similaire au menu de Windows XP. Il y a 2 colonnes où vous pouvez arranger vos éléments de menu. -Personnaliser leurs ordres, icônes et texte.
-Programmes, listes de raccourcis, et résultats de recherche s'affichent comme des sous-menus cascadés.
-
-

3) Style Windows 7
-

-
-Ceci est similaire au menu Windows Vista et Windows 7. Les éléments dans la première colonne sont prédéfinis comme épingler et Programmes Récents, la liste de Tous les Programmes et la zone de recherche. -Les éléments dans la seconde colonne sont entièrement personnalisable.
-Les listes de raccourcis et les résultats de recherche sont affichés à l'intérieur du menu principal. Les programmes peuvent être à l'intérieur du menu principal ou -s'afficher sous la forme d’un sous-menu cascadé.
-Ce style offre moins d’ options de personnalisation que les styles classiques (classic), mais donne une apparence et un sentiment plus familier aux personnes ayant utilisé Windows 7.
-
-
-

Opération

-Si vous avez utilisé le menu démarrer dans les anciennes versions de Windows, vous vous sentirez comme à la maison :
- - - -

-Appuyez sur la touche Windows ou cliquez sur l’ orbe de Open-Shell dans le coin de l’ écran pour ouvrir le menu démarrer.

-

-Maintenez Majuscule enfoncée pendant que vous cliquez sur l’ orbe de Open-Shell pour accéder au menu démarrer d'origine du système d'exploitation. -

-

-Cliquez sur un élément pour l'exécuter. -

-

-Glissez un programme pour changer l'ordre des programmes dans un menu, ou pour le déplacer dans un autre dossier. -

-

-Clic droit sur un élément pour le renomer, le supprimer, l’explorer, trier le menu, ou effectuer d'autres tches.

-

-Clic droit sur l’orbe de Open-Shell pour modifier les paramètres du menu démarrer, pour voir ce fichier d’aide, ou pour stopper le menu démarrer.
-

-


- -

- -

-Paramètres

Clic droit sur le menu démarrer pour accéder aux paramètres.
-
-
-Vous pouvez choisir d'afficher les paramètres de base ou tous les paramètres disponibles. Survolez chaque paramètre pour obtenir une description de sa fonction. -Saisissez un mot dans la zone de recherche pour trouver un paramètre grce à son nom.
- -Chaque paramètre à une valeur par défaut. La valeur par défaut peut-être une constante, ou elle peut dépendre des paramètres systèmes actuels. -Une fois que vous modifiez un paramètre, celui-ci devient "modifié" et est affiché en gras. Pour revenir au paramètre par défaut, clic droit sur le paramètre.
-
- -Vous pouvez sauvegarder les paramètres dans un fichier XML, et plus tard les recharger. -Appuyer sur le bouton Sauvegarde pour avoir accès à ces fonctions. A partir de là vous pouvez réinitialiser tous les paramètres à leurs paramètres par défaut.
- - -
- -La plupart des paramètres prendront effets immédiatement au moment ou vous les modifiez. Par exemple, vous pouvez modifier le menu démarrer -pour voir les changements. Un petit nombre de paramètres nécessiteront que vous quittiez le menu démarrer avant que vous puissiez voir les changements.
- -
- - -Note: Toutes les fenêtres des paramètres sont redimensionnables. Redimensionnez-les et placez-les où vous voulez qu'elles soient. Elles se rappeleront de la nouvelle position.
- - -
Cliquez sur l’onglet Personnaliser le Menu Démarrer pour personnaliser les éléments du menu. En fonction du style vous verrez différentes interfaces graphiques.
-
-Pour les styles classiques (classic) vous pouvez personnaliser les deux colonnes du menu démarrer et créer des sous-menus. La colonne de gauche affiche les éléments actuels du menu -et la colonne de droite affiche les éléments de menu disponibles. Faîtes un Glisser/Déposer de la droite à la gauche pour ajouter des éléments au menu.
-
-
-Pour le style Windows 7 vous pouvez seulement modifier les éléments de la seconde colonne et il n’y a pas de sous-menus.
-
-

-Double cliquez sur l'icône pour modifier les propriétés de l'élément:
-
-Ici vous pouvez sélectionner une commande pour l'élément, son texte, icône et autres attributs.Appuyer sur le bouton -Restaurer les paramètres par défaut pour obtenir le texte et l’icône par défaut pour la commande choisie.
-
-La commande peut être :
- -
    -
  • une des commandes prédéfinies - à partir de la liste déroulante
  • chaîne d'exécutable personnalisée -- ceci peut être le nom d’un programme et de sesarguments, ou même une URL -(comme http://www.google.com). Les variables d'environnement comme %SystemRoot% sont supportées
  • laisser vide - Puis si l'attribut lien est utilisé, il agira comme une commande.
    -
  • -
-Ce lien peut être un chemin d'accès vers un fichier ou un dossier. Si c'est un fichier, ce fichier sera exécuter. Si c'est un dossier, ce dossier sera ouvert sous la forme d'un sous-menu. -Certains éléments de menu (comme Programmes et Favories) ont un lien implicite, alors dans ce cas la zone de Lien sera désactivée.
- -
- -L’icône peut être :
- -
    -
  • laisser vide - puis si le l'attribut lien pointe vers un fichier ou un dossier, l’icône de ce fichier ou dossier sera utilisé
    -
  • fichier ressource, icône ID - par exemple%windir%\notepad.exe,2. Ne laissez pas d'espace entre le nom du fichier et la virgule. Soyez certain d'utiliser la ressource ID de l’icône, et pas l’index de l’icône. Pour de meilleurs résultats utilisez le bouton the [...] à côté de la zone d'édition d'icône
    -
  • ,icône ID - pareil qu'au dessus, mais le fichier ressource est la StartMenuDLL.dll elle-même. -C'est utile quand vous vous réferrez aux icônes du menu démarrer
    -
  • fichier icône -  par exemple C:\Program Files\Mozilla Thunderbird\Email.ico
  • none - ceci utilisera un icône vide/transparent
  • -
-Si l’étiquette ou la bulle d’aide commence par un signe $ (dollar), alors le système la traitera comme le nom d’une chaîne dans ke fichier StartMenuL10N.ini. Le texte courant dépendra des paramètres langages courants. Ceci est utile quand vous créez un menu qui peut être -utilisé dans de multiples langages.
-
-Si vous cochez "Sous-entrées insérer que des boutons", à la place d’afficher les éléments de menu eux-même, le menu démarrer affichera les sous-éléments comme une rangée de boutons. -Par défaut les boutons seront centrés. Vous pouvez les aligner à gauche en ajoutant un séparateur en dernier élément, ou les aligner à droite en ajoutant un séparateur comme premier élément. -Une utilisation possible est de remplacer l’élément menu arrêter par des boutons séparés pour arrêter, redémarrer, fermer la session, etc.
-
-

Paramètres Administratifs

-Les paramètres sont par utilisateur et sont stocker dans la registrerie. Par défaut chaque utilisateur peut modifier n’importe quel paramètre. Un administrateur peut verrouiller des paramètres spécifiques, de façon à ce qu’aucun utilisateur ne puisse les modifier :
- -
-Dans cet exemple le paramètre "Activer menu clic-droit" est verrouillé non coché et ne peut pas être modifer par aucun utilisateur. Ceci est rendu possible par l’ajout du paramètre HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\Menu dans la clef de registrerie. Créez une valeur DWORD nommée "EnableContextMenu" et -configurez là à 0.
-
-Dans certains cas vous ne voudrez peut être pas verrouiller une valeur pour tous les utilisateurs, mais simplement modifier la valeur initiale du paramètre. Dans ce cas ajoutez "_Default" au -nom de la valeur. Par exemple si vous voulez que le menu contextuel soit désactivé par défaut mais que vous voulez autoriser les utilisateurs à modifier cette valeur s’ils le veulent, créez -une valeur DWORD nommée "EnableContextMenu_Default" et configurez là à 0.
-
-La façon la plus facile de connaître le nom registrerie d'un paramètre et ça valeur pour la modifier, est de la rechercher dans HKEY_CURRENT_USER\Software\OpenShell\StartMenu\Settings.
- -Quelqes fois vous voudrez verrouiller un paramètre à sa valeur par défaut, mais vous ne savez quelle est la valeur par défaut. Dans ce cas créez une valeur DWORD et -configurez là à 0xDEFA.
-
- -Il y a aussi un paramètre global "EnableSettings". Configurez le à 0 dans la registrerie pour même empêcher les utilisateurs d’ouvrir la boîte de dialogue des Paramètres :
- -
-
-Le menu démarrer vérifie aussi la plupart des stratégies de groupe configurées par l’administrateur. Exécutez gpedit.msc et aller à Configuration User Configuration -> Modèles Administratifs -> Menu Démarrer et Barre des Tches. A partir de là, vous pouvez désactiver Exécuter, Arrêter, Aide, et d'autres fonctions. (Non disponible sur les version Home de Windows).
-
-Modifier les paramètres au travers des stratégies de groupe est aussi supporté. Décompressez le fichier PolicyDefinitions.zip qui se trouve dans le dossier d’installation et lisez le document PolicyDefinitions.rtf pour plus de détails.
-
-
-

En savoir plus à propos des Peaux (Skins)

-Vous pouvez choisir parmis les nombreuses peaux (skins) préinstallés :
-
-Peaux (Skins) pour le Menu Classique Démarrer (Open-Shell Menu)
-
Ou vous pouvez télécharger et installer une peau (skin) additionnelle tierce partie (à partir du site web principal ou d’un autre endroit). -Après avoir télécharger une nouvelle peau (skin) vous devez copier le fichier .skin dans le dossier Skins – habituellement dans C:\Program -Files\Open-Shell\Skins. Après cela, elle sera disponible dans les paramètres.
-
-Note: Certaines peaux (skins) peuvent être spécifiquement conçues pour le mode -Classic, Basic, ou Aero. Par exemple une peau (skin) Aero nécessitera peut être le support de l'option verre, les autres auront une apparence bizarre si le thème Classique (Classic) ou Base (Basic) est sélectionné. Certaines peaux (skins) Aero nécessiteront aussi peut être une couleur de verre spécifique à sélectionner.
-
-Vous pouvez créer votre propre peau (skin). Vous aurez besoin d'un logiciel de retouche d’image qui supporte le canal Alpha (comme Gimp ou Photoshop) et un outil pour modifier les fichiers ressources (comme Resource Hacker ou Visual Studio). Et bien sûr quelques talents en conception de graphisme :). Lisez le Tutoriel de peaux (Skinning Tutorial) en anglais avant de commencer.
-
-

-

Recherche


-
- La zone de recherche vous laisse rechercher du contenu dans le menu démarrer, les programmes qui se trouvent dans la variable d'environnement PATH et les fichiers indexés. -Vous pouvez avoir la zone de recherche apparaître sous forme d'élément de menu normal et ensuite vous pouvez y aller en utilisant les touches claviers flèches haut/bas. -Vous pouvez choisir d'avoir la zone de recherche sélectionné par défaut quand vous ouvrez le menu démarrer. Ou vous pouvez choisir d’activer la zone de recherche seulement avec la touche Tab, de façon que tant que vous n'utilisez pas la touche tab vous pouvez utiliser le clavier pour naviguer comme si la zone de recherche n'était pas là.
-
-Les résultats de recherche s'affichent dans le menu principal si vous utilisez le style Windows 7 ou dans un sous-menu pour les styles Classiques (Classic).
-Cliquez sur chaque catégorie pour la développer et voir plus de résultats. Cliquez sur l’icône à la fin pour voir tous les résultats dans l’Explorateur.
-
-Les styles Classiques (Classic) vous permettent de configurer des "fournisseurs de recherche" additionnels, que vous pouvez utiliser pour rechercher du texte à partir de la zone de recherche. Vous pouvez exécuter ce programme de recherche soit en le sélectionnant à partir du menu, soit en appuyant sur la touche Alt. Dans cet exemple utilisez Alt+A pour l'Agent Ransack.
-
-
-Ceci est fait en ajoutant des sous-éléments à l'élément zone de recherche dans l’onglet Personnaliser le Menu Démarrer :
-
-
-Ouvrez chaque sous-élément et saisissez la commande pour démarrer le programme de recherche. Si vous utilisez %1 dans la commande, cela sera remplacé par le contenu de la zone de recherche. Si vous utilisez %2 cela sera remplacé par le texte de la zone de recherche encodé au format url. -Saisissez une étiquette, bulle d’aide, et icône pour compléter cet élément de menu. Dans l’étiquette vous pouvez utiliser -& pour marquer le caractère d’accélération (par exemple &Agent Ransack).
-
-Voilà quelques commandes possibles :
-Recherche avec l’Agent Ransack : "C:\Program Files\Agent Ransack\AgentRansack.exe" -r -f "%1"
-Recherche avec Everything : "C:\Program Files\Everything\Everything.exe" -search "%1"
-Recherche avec Google : http://www.google.com/#q=%2
-Recherche avec Bing : http://www.bing.com/search?q=%2
-
-
-

Bouton Démarrer Personnalisable
-

Open-Shell peut ajouter son propre bouton démarrer à la barre des tches. Il peut même remplacer le bouton démarrer par défaut de Windows 7. -Vous pouvez choisir entre un bouton orbe style Aero, un bouton classique rectangulaire, ou vous pouvez faire le vôtre. Pour un bouton démarrer personnalisé vous avez besoin -d’une image qui contient 3 états du bouton - normal, chaud et cliqué :
-Images du bouton démarrer
-L’image doit être un PNG 32-bit ou un BMP. Par défaut la largeur de l’image détermine la taille du bouton. Vous pouvez surcharger ceci en saisissant -une largeur personnalisée.
-Lisez le Tutorial du bouton (Button Tutorial) en anglais pour plus d’information sur la création -de boutons personnalisés.
-Vous pouvez trouver de nombreuses images de bouton de menu démarrer en ligne. Voici quelques exemples :
-http://www.classicshell.net/forum/viewforum.php?f=18
-http://www.sevenforums.com/themes-styles/34951-custom-start-menu-button-collection.html
-
http://www.sevenforums.com/customization/78291-big-group-custom-start-orbs.html
-http://tutoriales13.deviantart.com/art/Orbs-153450418
-
-
-

Localisation

- -L'interface utilisateur (excepté la boîte de dialogue des Paramètres) est localisée en 35 langages.
- -La boîte de dialogue des Paramètres est traduite dans un moins grand nombre de langages. -L’installation par défaut contient seulement l'Anglais. Plus de langages peuvent être télécharger à partir de -page de traduction (translations page). Soyez certain de télécharger le paquet de traduction pour la version exact -de votre Open-Shell.
- - -
-

Ligne de commande

-Le StartMenu.exe supporte 5 paramètres de commandes en ligne : -open, -toggle, -togglenew, -exit and -settings.
-
-Les deux premiers font ce que leurs noms suggèrent. L’un ouvre le menu classique démarrer (classic start menu), l’autre le bascule. -Vous pouvez utilisez les paramètres pour créer un raccourci dans votre barre de lancement rapide qui ouvre le menu démarrer. Ou pour configurer -un raccourci clavier dans un programme comme WinKey.
-
-Le troisième "-togglenew" bascule le menu démarrer par défaut de Windows (ou écran d'accueil). C’est utile si vous voulez créer un raccourci ou un raccouci clavier pour ouvrir le -menu par défaut et utiliser la touche Win pour le menu classique (classic menu)
-
-Utilisez "-exit" pour sortir du menu démarrer. Cette commande ne marchera que si le menu démarrer n'est pas occupé.
-
-Utilisez "-settings" pour ouvrir la boîte de dialogue des Paramètres. Ceci est utile pour créer un raccourci pour modifier les paramètres.
-
-
-

Accessibilité

Le menu démarrer supporte les lecteurs d’écran comme JAWS, -ou Microsoft's Narrator. Si le support pour l'accessibilité pause des problèmes, il peut être désactiver à partir de l’onglet -Comportement Général des Paramètres.
- -
- diff --git a/Src/Localization/French/MenuADMX.txt b/Src/Localization/French/MenuADMX.txt deleted file mode 100644 index 1303a76..0000000 --- a/Src/Localization/French/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Paramètres Open-Shell -State.text = Etat: -State1.text = Verrouillé sur cette valeur -State2.text = Verrouillé sur le paramètre par défaut -State3.text = Déverrouillé -State1Help.text = Si vous configurez l'état à 'Verrouillé sur cette valeur', le paramètre sera verrouillé à la valeur spécifiée pour tous les utilisateurs. -State2Help.text = Si vous configurez l'état à 'Verrouillé sur le paramètre par défaut', le paramètre sera verrouillé à sa valeur par défaut pour tous les utilisateurs. La valeur spécifiée est ignorée. -State3Help.text = Si vous configurez l'état à 'Déverrouillé', la valeur par défaut de ce paramètre sera modifié par la valeur spécifiée. Chaque utilisateurs pourra surcharger ce paramètre. - -MenuCat.text = Menu Démarrer Classique -MenuCatHelp.text = Paramètres de la stratégie de Menu Démarrer Classique -SUPPORTED_CS404.text = Nécessite Open-Shell 4.0.4 ou plus. -SUPPORTED_CS404_WIN7.text = Nécessite Windows 7. -SUPPORTED_CS404_WIN78.text = Nécessite Windows 7 ou Windows 8. -SUPPORTED_CS404_WIN781.text = Nécessite Windows 7 ou Windows 8.1. -SUPPORTED_CS404_WIN8.text = Nécessite Windows 8. -SUPPORTED_CS404_WIN881.text = Nécessite Windows 8 ou Windows 8.1. -SUPPORTED_CS404_WIN81.text = Nécessite Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Nécessite le style de menu Classic avec une colonne. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Nécessite le style de menu Classic avec deux colonnes. -SUPPORTED_CS404_CLASSIC_STYLE.text = Nécessite le style de menu Classic. -SUPPORTED_CS404_WIN7_STYLE.text = Nécessite le style de menu Windows 7. - - -EnableSettings.nameOverride = Activer les paramètres -EnableSettings.tipOverride = Permettre aux utilisateurs de modifier leurs propres paramètres - -MenuStyle.nameOverride = Style du menu -MenuStyle.tipOverride = Sélectionnez le style pour le menu démarrer.\nLe style détermine l'apparence générale et les fonctionnalités du menu. -MenuStyle_Classic1.nameOverride = Classique avec une colonne -MenuStyle_Classic2.nameOverride = Classique avec deux colonnes -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Clic gauche ouvre -ShiftClick.nameOverride = Maj+Clic ouvre -WinKey.nameOverride = Touche Windows ouvre -ShiftWin.nameOverride = Maj+Win ouvre -MiddleClick.nameOverride = Clic milieu ouvre -Hover.nameOverride = Le survol ouvre - -; skins -SkinC1.nameOverride = Peau (skin) pour le menu classique avec une colonne -SkinC1.tipOverride = Sélectionnez la Peau (skin) à être utilisée par le style classique avec une colonne -SkinVariationC1.nameOverride = Variété de Peau (skin) pour le menu classique avec une colonne -SkinVariationC1.tipOverride = Sélectionnez la variété de peau (skin) à être utilisée avec le style classique avec une colonne (pour les peaux (skins) qui supportent de multiples variations) -SkinOptionsC1.nameOverride = Options de Peaux (skins) pour le menu classique avec une colonne -SkinOptionsC1.tipOverride = Sélectionnez les options de Peaux (skins) à être utilisée avec le style classique avec une colonne.\nLes options sont une liste de nombres Hexa. La meilleur façon de les obtenir est d'ajuster les options dans la boîte de dialogue des paramètres du Menu Démarrer Classique et de les chercher la valeur nommée SkinOptionsC1 dans HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Elément de menu pour le menu classique avec une colonne -MenuItems1.tipOverride = Sélectionnez les éléments de menu à être utilisés avec le style classique avec une colonne.\nLa meilleur façon de les obtenir est de configurer les éléments dans la boîte de dialogue des paramètres du Menu Démarrer Classique et de les chercher la valeur nommée MenuItems1 dans HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Peau (skin) pour le menu classique avec deux colonne -SkinC2.tipOverride = Sélectionnez la Peau (skin) à être utilisée par le style classique avec deux colonne -SkinVariationC2.nameOverride = Variété de Peau (skin) pour le menu classique avec deux colonne -SkinVariationC2.tipOverride = Sélectionnez la variété de peau (skin) à être utilisée avec le style classique avec deux colonne (pour les peaux (skins) qui supportent de multiples variations) -SkinOptionsC2.nameOverride = Options de Peaux (skins) pour le menu classique avec deux colonne -SkinOptionsC2.tipOverride = Sélectionnez les options de Peaux (skins) à être utilisée avec le style classique avec deux colonne.\nLes options sont une liste de nombres Hexa. La meilleur façon de les obtenir est d'ajuster les options dans la boîte de dialogue des paramètres du Menu Démarrer Classique et de les chercher la valeur nommée SkinOptionsC2 dans HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Elément de menu pour le menu classique avec deux colonne -MenuItems2.tipOverride = Sélectionnez les éléments de menu à être utilisés avec le style classique avec deux colonne.\nLa meilleur façon de les obtenir est de configurer les éléments dans la boîte de dialogue des paramètres du Menu Démarrer Classique et de les chercher la valeur nommée MenuItems2 dans HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Peau (skin) pour le style Windows 7 -SkinW7.tipOverride = Sélectionnez la Peau (skin) à être utilisée par le style Windows 7 -SkinVariationW7.nameOverride = Variété de Peau (skin) pour le style Windows 7 -SkinVariationW7.tipOverride = Sélectionnez la variété de peau (skin) à être utilisée avec le style Windows 7 (pour les peaux (skins) qui supportent de multiples variations) -SkinOptionsW7.nameOverride = Options de Peaux (skins) pour le style Windows 7 -SkinOptionsW7.tipOverride = Sélectionnez les options de Peaux (skins) à être utilisée avec le style Windows 7.\nLes options sont une liste de nombres Hexa. La meilleur façon de les obtenir est d'ajuster les options dans la boîte de dialogue des paramètres du Menu Démarrer Classique et de les chercher la valeur nommée SkinOptionsW7 dans HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Elément de menu pour le style Windows 7 -MenuItems7.tipOverride = Sélectionnez les éléments de menu à être utilisés avec le style Windows 7.\nLa meilleur façon de les obtenir est de configurer les éléments dans la boîte de dialogue des paramètres du Menu Démarrer Classique et de les chercher la valeur nommée MenuItems7 dans HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Peau (skin) pour le sous-menu Tous les Programmes dans le menu démarrer de Windows 7 -SkinA.tipOverride = Sélectionnez la peau (skin) pour le sous-menu Tous les Programmes dans le menu démarrer de Windows 7 -SkinVariationA.nameOverride = Variété de Peau (skin) pour le sous-menu Tous les Programmes dans le menu démarrer de Windows 7 -SkinVariationA.tipOverride = Sélectionnez variété de Peau (skin) pour le sous-menu Tous les Programmes dans le menu démarrer de Windows 7(pour les peaux (skins) qui supportent de multiples variations) -SkinOptionsA.nameOverride = Options de Peaux (skins) pour le sous-menu Tous les Programmes dans le menu démarrer de Windows 7 -SkinOptionsA.tipOverride = Sélectionnez les options de Peaux (skins) pour le sous-menu Tous les Programmes dans le menu démarrer de Windows 7.\nLes options sont une liste de nombres Hexa. La meilleur façon de les obtenir est d'ajuster les options dans la boîte de dialogue des paramètres du Menu Démarrer Classique et de les chercher la valeur nommée SkinOptionsA dans HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = Ce paramètre ne marche pas sous Windows 8.1. Vous devez utiliser le paramètre interne de Windows pour charger vers le bureau - -; hidden -FolderStartMenu.nameOverride = Dossier Menu Démarrer -FolderStartMenu.tipOverride = Saisissez une surcharge pour le dossier menu démarrer par utilisateur (surcharge aussi le dossier Programmes).\nLe chemin d'accès peut contenir des variables d'environnement.\nNote: Ce paramètre est modifiable à partir de la boîte de dialogue des Paramètres -FolderPrograms.nameOverride = Dossier Programmes -FolderPrograms.tipOverride = Saisissez une surcharge pour le dossier Programmes par utilisateur.\nLe chemin d'accès peut contenir des variables d'environnement.\nNote: Ce paramètre est modifiable à partir de la boîte de dialogue des Paramètres -FolderCommonStartMenu.nameOverride = Dossier Menu Démarrer commun -FolderCommonStartMenu.tipOverride = Saisissez une surcharge pour le dossier menu démarrer commun (surcharge aussi le dossier Programmes communs).\nLe chemin d'accès peut contenir des variables d'environnement.\nNote: Ce paramètre est modifiable à partir de la boîte de dialogue des Paramètres -FolderCommonPrograms.nameOverride = Dossier Programmes communs -FolderCommonPrograms.tipOverride = Saisissez une surcharge pour le dossier Programmes communs.\nLe chemin d'accès peut contenir des variables d'environnement.\nNote: Ce paramètre est modifiable à partir de la boîte de dialogue des Paramètres -AutoStartDelay.nameOverride = Délai de l'Auto-démarrage -AutoStartDelay.tipOverride = Saisissez le délai en ms lorsque vous lancez le menu démarrer automatiquement pendant une ouverture de session (ne s'applique pas lorsque vous démarrez manuellement le menu en lançant StartMenu.exe).\nNote: Ce paramètre n'est pas modifiable à partir de la boîte de dialogue des Paramètres - -; other -StartButtonIcon.tipAddition = Cette valeur peut être un chemin d'accès vers un fichier ICO ou un chemin d'accès vers un EXE/DLL et un ID d'icône -StartButtonPath.tipAddition = Cette valeur est un chemin d'accès complet vers un fichier BMP ou PNG -SoundMain.tipAddition = Cette valeur peut être un nom d'un événement système ou un chemin d'accès vers un fichier WAV -SoundPopup.tipAddition = Cette valeur peut être un nom d'un événement système ou un chemin d'accès vers un fichier WAV -SoundCommand.tipAddition = Cette valeur peut être un nom d'un événement système ou un chemin d'accès vers un fichier WAV -SoundDrop.tipAddition = Cette valeur peut être un nom d'un événement système ou un chemin d'accès vers un fichier WAV -ExpandFolderLinks.tipAddition = Fonctionne seulement pour les liens symboliques (comme jonctions) et pas les raccourcis simples -StartHoverDelay.nameOverride = Délai du survol (pour le bouton Démarrer) -AllProgramsDelay.nameOverride = Délai du survol (Pour Tous les Programmes dans Windows 7) -CSMHotkey.tipAddition = .\n\nLa valeur de base est le code virtuel principal de la touche. Ajouter 256 pour Maj, 512 pour Contrôle et 1024 pour and 1024 Alt.\nLa meilleur façon pour obtenir la valeur est de sélectionnez la touche raccourcie dans le boîte de dialogue des Paramètres et de chercher la valeur nommée CSMHotkey dans HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\nLa valeur de base est le code virtuel principal de la touche. Ajouter 256 pour Maj, 512 pour Contrôle et 1024 pour and 1024 Alt.\nLa meilleur façon pour obtenir la valeur est de sélectionnez la touche raccourcie dans le boîte de dialogue des Paramètres et de chercher la valeur nommée WSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/French/OpenShell.hhp b/Src/Localization/French/OpenShell.hhp deleted file mode 100644 index 2966625..0000000 --- a/Src/Localization/French/OpenShell.hhp +++ /dev/null @@ -1,16 +0,0 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=OpenShell.chm -Contents file=OpenShellTOC.hhc -Default topic=Main.html -Display compile progress=Yes -Language=0x40C French (France) - - -[FILES] -ClassicExplorer.html -Menu.html -ClassicIE.html - -[INFOTYPES] - diff --git a/Src/Localization/French/OpenShellADMX.txt b/Src/Localization/French/OpenShellADMX.txt deleted file mode 100644 index d29752a..0000000 --- a/Src/Localization/French/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Paramètres Open-Shell -State.text = Etat: -State1.text = Verrouillé sur cette valeur -State2.text = Verrouillé sur le paramètre par défaut -State3.text = Déverrouillé -State1Help.text = Si vous configurez l'état à 'Verrouillé sur cette valeur', le paramètre sera verrouillé à la valeur spécifiée pour tous les utilisateurs. -State2Help.text = Si vous configurez l'état à 'Verrouillé sur le paramètre par défaut', le paramètre sera verrouillé à sa valeur par défaut pour tous les utilisateurs. La valeur spécifiée est ignorée. -State3Help.text = Si vous configurez l'état à 'Déverrouillé', la valeur par défaut de ce paramètre sera modifié par la valeur spécifiée. Chaque utilisateurs pourra surcharger ce paramètre. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Paramètres de la stratégie de groupe de Open-Shell -SUPPORTED_CS404.text = Nécessite Open-Shell 4.0.4 ou plus. - -Language.nameOverride = Langage pour les composants Open-Shell -Language.tipOverride = Sélectionnez la langue pour être utilisée avec Open-Shell (par exemple en-US ou de-DE). La langue affectera le texte dans le menu démarrer, les barres d'outils, etc. Si la DLL de langue appropriée est installée, les paramètres UI peuvent aussi être traduits -Update.nameOverride = Activer la vérification automatique de nouvelles versions -Update.tipOverride = Lorsque ceci est coché, Open-Shell vérifiera s'il y a des nouvelles versions chaque semaine. Vous serez averti s'il y a une nouvelle version du logiciel ou une mise à jour pour votre langage actuel diff --git a/Src/Localization/French/OpenShellEULA.rtf b/Src/Localization/French/OpenShellEULA.rtf deleted file mode 100644 index cc6ad61..0000000 Binary files a/Src/Localization/French/OpenShellEULA.rtf and /dev/null differ diff --git a/Src/Localization/French/OpenShellReadme.rtf b/Src/Localization/French/OpenShellReadme.rtf deleted file mode 100644 index 15bcae4..0000000 --- a/Src/Localization/French/OpenShellReadme.rtf +++ /dev/null @@ -1,106 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 Calibri;}{\f3\froman\fprq2\fcharset2 Symbol;}{\f4\fnil\fcharset1 Cambria Math;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mmathFont4\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \nowidctlpar\sa300\sl200\slmult0\qc\cf1\expndtw5\kerning1\f0\fs52 Open-Shell\par - -\pard\nowidctlpar\cf0\expndtw0\kerning1\i0\f2\fs22\par -\b Merci d'avoir install\f1\'e9\f2 \cf3 Open-Shell\'99\cf0 . Cela permet d'ajouter des fonctions manquantes \f1\'e0\f2 Windows 7, Windows 8, Windows 8.1 et Windows 10 \f1\endash\f2 Comme le classique menu d\f1\'e9\f2 marrer, le bouton d\f1\'e9\f2 marrer, une barre d'outils pour l'explorateur Windows et d'autres.\b0\par -\par -\b La derni\f1\'e8\f2 re version peut \f1\'ea\f2 tre trouv\f1\'e9\f2 e sur le site web de Open-Shell:\b0\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f2\fs22\par -\par -Pour les r\f1\'e9\f2 ponses aux questions fr\f1\'e9\f2 quentes regardez ici:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f2\fs22\par -\par -Ou utilisez les forums de discussions pour obtenir de l'aide:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f2\fs22\par -\par -Rapporter les probl\f1\'e8\f2 mes dans les forums de d\f1\'e9\f2 veloppement Open-Shell:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f2\fs22\par -\par - -\pard\keep\keepn\nowidctlpar\s1\sb480\sl276\slmult1\cf5\kerning0\b\f0\fs28 Classique Menu D\f1\'e9\f0 marrer (Open-Shell Menu)\par - -\pard\nowidctlpar\cf0\kerning1\b0\f2\fs22\par -\cf3\b Classique Menu D\f1\'e9\f2 marrer (Open-Shell Menu)\cf0 \b0 est un menu d\f1\'e9\f2 marrer flexible qui peut mimiquer l'attitude des menus de Windows 2000, XP et Windows 7. Il a une vari\f1\'e9\f2 t\f1\'e9\f2 de fonctions avanc\f1\'e9\f2 es:\par -\par - -\pard\nowidctlpar\fi-360\li720\tx720\f3\'b7\tab\f2 Choisissez le style parmis \f1\ldblquote\f2 Classic\f1\rdblquote\f2 et \f1\ldblquote\f2 Windows 7\f1\rdblquote\f2\par -\f3\'b7\tab\f2 Glisser et d\f1\'e9\f2 poser pour vous laisser organiser vos applications\par -\f3\'b7\tab\f2 Options pour afficher vos Favoris, d\f1\'e9\f2 velopper le Panneau de Configuration, etc\par -\f3\'b7\tab\f2 Affiche les documents r\f1\'e9\f2 cents. Le nombre de documents r\f1\'e9\f2 cents \f1\'e0\f2 afficher est personnalisable\par -\f3\'b7\tab\f2 Traduit dans 35 langues, incluant Droite-\f1\'e0\f2 -gauche support pour les Arabes et H\f1\'e9\f2 breux\par -\f3\'b7\tab\f2 Ne d\f1\'e9\f2 sactive pas le menu d\f1\'e9\f2 marrer original de Windows. Vous pouvez y avoir acc\f1\'e8\f2 s avec Majuscule+Clique sur le bouton D\f1\'e9\f2 marrer\par -\f3\'b7\tab\f2 Clique-Droit sur un \f1\'e9\f2 l\f1\'e9\f2 ment du menu pour le supprimer, renommer, trier, ou faire d'autres t\f1\'e2\f2 ches\par -\f3\'b7\tab\f2 La bo\f1\'ee\f2 te de recherche vous aide \f1\'e0\f2 trouver vos programmes et fichiers sans utiliser vos raccourcis clavier\par -\f3\'b7\tab\f2 Supporte les listes de saut pour un acc\f1\'e8\f2 s facile aux documents r\f1\'e9\f2 cents et t\f1\'e2\f2 ches courantes\par -\f3\'b7\tab\f2 Disponible pour syst\f1\'e8\f2 mes d'exploitation 32 et 64-bit\par -\f3\'b7\tab\f2 Support pour les peaux (skin), incluant des peaux additionnelles de partis tiers. Fa\f1\'ee\f2 tes la v\f1\'f4\f2 tre !\par -\f3\'b7\tab\f2 Totallement personnalisable tant au point de vue esth\f1\'e9\f2 tque que des fonctionnalit\f1\'e9\f2 s\par -\f3\'b7\tab\f2 Support pour Accessibilit\f1\'e9\f2 Active de Microsoft (Microsoft's Active Accessibility)\par -\f3\'b7\tab\f2 Convertit le bouton \f1\ldblquote\f2 Tous les programmes\f1\rdblquote\f2 dans le menu Windows en un menu cascad\f1\'e9\f2\par -\f3\'b7\tab\f2 Impl\f1\'e9\f2 mente un bouton d\f1\'e9\f2 marrer personnalisable\par -\f3\'b7\tab\f2 Peut Afficher, recherche et lancer des applications du Windows Store (Windows 8)\par - -\pard\keep\keepn\nowidctlpar\s1\sb480\sl276\slmult1\cf5\kerning0\b\f0\fs28 Classique Explorateur (Classic Explorer)\par - -\pard\nowidctlpar\cf0\kerning1\b0\f2\fs22\par -\cf3\b Classique Explorateur (Classic Explorer) est un plugin pour l'Explorateur Windows qui :\cf0\b0\par -\par - -\pard\nowidctlpar\fi-360\li720\tx720\f3\'b7\tab\f2 Ajoute une barre d'outils \f1\'e0\f2 l'Explorateur pour des op\f1\'e9\f2 rations courantes (Aller au dossier parent, Couper, Coller, Supprimer, Propri\f1\'e9\f2 t\f1\'e9\f2 s, Email). La barre d'outils est totalement personnalisable\par -\f3\'b7\tab\f2 Remplace la fen\f1\'ea\f2 tre de copie UI dans Windows 7 avec une version \f1\ldblquote\f2 classic\f1\rdblquote\f2 plus user-friendly similaire \f1\'e0\f2 celle de Windows XP\par -\f3\'b7\tab\f2 Capte Alt+Enter dans le panneau dossier de l'Explorateur Windows et affiche les propri\f1\'e9\f2 t\f1\'e9\f2 du dossier s\f1\'e9\f2 lectionn\f1\'e9\f2\par -\f3\'b7\tab\f2 Dispose d'options pour personnaliser le panneau dossier pour obtenir un look plus proche de Windows XP ou ne pas faire de fondu avec les boutons d\f1\'e9\f2 veloppeurs\par -\f3\'b7\tab\f2 Peut afficher l'espace libre du disque et la taille totale des fichiers s\f1\'e9\f2 lectionn\f1\'e9\f2 s dans la barre d'\f1\'e9\f2 tat\par -\f3\'b7\tab\f2 Peut d\f1\'e9\f2 sactiver les fils d'Ariane dans la barre d'adresse\par -\f3\'b7\tab\f2 Corrige une longue liste de fonctions qui sont cass\f1\'e9\f2 s dans Windows 7 \f1\endash\f2 manque des ic\f1\'f4\f2 nes en surimpression sur les dossiers partag\f1\'e9\f2 s, les dossiers sautant dans le panneau de navigation, manque des ent\f1\'ea\f2 tes de tri dans la vue liste, et plus\par - -\pard\keep\keepn\nowidctlpar\s1\sb480\sl276\slmult1\cf5\kerning0\b\f0\fs28 Classique IE (Classic IE)\par - -\pard\nowidctlpar\cf0\kerning1\b0\f2\fs22\par -\cf3\kerning0\b Classique IE (Classic IE) est un plugin pour Internet Explorer 9 et version d'apr\f1\'e8\f2 s qui:\par -\cf0\kerning1\b0\par - -\pard\nowidctlpar\fi-360\li720\tx720\f3\'b7\tab\f2 Ajoute une l\f1\'e9\f2 gende \f1\'e0\f2 la barre de titre de fa\f1\'e7\f2 on \f1\'e0\f2 ce que vous puissiez voir le titre complet de la page\par -\f3\'b7\tab\f2 Affiche la zone de s\f1\'e9\f2 curit\f1\'e9\f2 dans la barre d'\f1\'e9\f2 tat\par -\f3\'b7\tab\f2 Affiche le progr\f1\'e8\f2 s de chargement dans la barre d'\f1\'e9\f2 tat\par - -\pard\keep\keepn\nowidctlpar\s1\sb480\sl276\slmult1\cf5\kerning0\b\f0\fs28 Instructions d'installation\par - -\pard\nowidctlpar\cf0\kerning1\b0\f2\fs22\par -La barre d'outils pour l'Explorateur Windwos ne se montrera peut-\f1\'ea\f2 tre pas automatiquement apr\f1\'e8\f2 s l'installtion. You devez faire quelques petites choses avant de pouvoir l'utiliser.\par -\par -\cf3\b Windows 7:\cf0\b0 Appuyez sur Alt+V pour ouvrir le menu Vue. Ouvrez le sous-menu \f1\ldblquote\f2 barre d'outils\f1\rdblquote\f2 et s\f1\'e9\f2 lectionnez \f1\ldblquote\f2 Classic Explorer Bar\f1\rdblquote\f2 . Gardez en m\f1\'e9\f2 moire que le menu sera toujours afficher aussi longtemps que la barre d'outils est visible.\par -\par -\cf3\b Windows 8:\cf0\b0 Appuyez sur Alt+V pour ouvrir le rubban Vue. Cliquez sur la fl\f1\'e8\f2 che vers le bas dans la section \f1\ldblquote\f2 Options\f1\rdblquote\f2 . S\f1\'e9\f2 lectionnez \f1\ldblquote\f2 Classic Explorer Bar\f1\rdblquote\f2\par -\par -Si ces \f1\'e9\f2 tapes ne fontionnent pas, il est possible que les extensions de l'explorateur aient \f1\'e9\f2 t\f1\'e9\f2 d\f1\'e9\f2 sactiv\f1\'e9\f2 es. V\f1\'e9\f2 rifiez les choses suivantes, puis essayez d'afficher la barre d'outils de nouveau :\par - -\pard -{\pntext\f2 1)\tab}{\*\pn\pnlvlbody\pnf2\pnindent0\pnstart1\pndec{\pntxta)}} -\nowidctlpar\fi-360\li720\tx720 Ouvrez Internet Explorer et allez dans Outils \f4\u8594?\f2\lang1033 G\f1\'e9\f2 rer les modules compl\f1\'e9\f2 mentaires. Localiser l'extension/AddOn \f1\ldblquote\f2 Classic Explorer Bar\f1\rdblquote\f2 et \f1\ldblquote\f2 ExplorerBHO Class\f1\rdblquote\f2 et v\f1\'e9\f2 rifiez qu'ils soient activ\f1\'e9\f2 s.\par -{\pntext\f2 2)\tab}Peut-\f1\'ea\f2 tre que les extensions du navigateur sont d\f1\'e9\f2 sactiv\f1\'e9\f2 es sur votre syst\f1\'e8\f2 me. C'est normalement le cas sur Windows Server. Ouvrez les \f1\ldblquote\f2 Options Internet\f1\rdblquote\f2 , allez \f1\'e0\f2 l'onglet \f1\ldblquote\f2 Avanc\f1\'e9\rdblquote\f2 , et v\f1\'e9\f2 rifiez l'option \f1\ldblquote\f2 Activer les extensions tierce partie du navigateur\f1\rdblquote\f2 .\par - -\pard\nowidctlpar\par -Sur Windows 7 vous devez activer l'affichage de la barre d'\f1\'e9\f2 tat \f1\'e0\f2 partir du menu Affichage si vous voulez voir la taille des fichiers.\par -Sur Windows 8 la barre d'\f1\'e9\f2 tat de l'Explorateur Classique (Classic Explorer) est diff\f1\'e9\f2 rente de celle de l'Explorateur. Vous pouvez afficher/cacher la premi\f1\'e8\f2 re \f1\'e0\f2 partir de la bo\f1\'ee\f2 te de dialogue de param\f1\'e8\f2 trages de l'Explorateur Classique (Classic Explorer) et afficher/cacher la seconde \f1\'e0\f2 partir des options de dossiers de l'Explorateur.\par -\par -La l\f1\'e9\f2 gende dans Internet Explorer ne s'affichera paut-\f1\'ea\f2 tre pas automatiquement apr\f1\'e8\f2 s l'installation. Vous aurez peut-\f1\'ea\f2 tre une demande pour activer le plugin ClassicEBHO. Si vous avez cette demande, choisissez \f1\ldblquote\f2 Activer\f1\rdblquote\f2 . Si vous n'avez pas la demande, allez dans Outils \f4\u8594?\f2\lang1033 G\f1\'e9\f2 rer les modules compl\f1\'e9\f2 mentaires et v\f1\'e9\f2 rifiez que l'extension \f1\ldblquote\f2 ClassicIEBHO\f1\rdblquote\f2 est activ\f1\'e9\f2 e. Apr\f1\'e8\f2 s cela, red\f1\'e9\f2 marrez Internet Explorer.\par - -\pard\keep\keepn\nowidctlpar\s1\sb480\sl276\slmult1\cf5\kerning0\b\f0\fs28 D\f1\'e9\f0 sinstallation\par - -\pard\nowidctlpar\cf0\kerning1\b0\f2\fs22\par -Pour d\f1\'e9\f2 sintaller \cf3\b Classique Bouclier (Open-Shell) \cf0\b0 suivez ces \f1\'e9\f2 tapes:\par - -\pard -{\pntext\f2 1)\tab}{\*\pn\pnlvlbody\pnf2\pnindent0\pnstart1\pndec{\pntxta)}} -\nowidctlpar\fi-360\li720\tx720 Ouvrez le \b Panneau de Configuration \f4\u8594?\f2\lang1033 Programmes et fonctionnalit\f1\'e9\f2 s\b0 et double cliquez sur \b Open-Shell\b0 . Puis suivez les instructions. Vous aurez peut \f1\'ea\f2 tre \f1\'e0\f2 red\f1\'e9\f2 marrer Windows pour compl\f1\'e9\f2 ter le processus.\par -{\pntext\f2 2)\tab}Si vous avez install\f1\'e9\f2 n'importe quelle peau additionnelle (skin) pour le menu d\f1\'e9\f2 marrer vous aurez \f1\'e0\f2 les supprimer manuellement.\par - -\pard\nowidctlpar\par - -\pard\nowidctlpar\sa200\sl276\slmult1\par -} - diff --git a/Src/Localization/French/OpenShellTOC.hhc b/Src/Localization/French/OpenShellTOC.hhc deleted file mode 100644 index 2352b44..0000000 --- a/Src/Localization/French/OpenShellTOC.hhc +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -
    -
  • - - - - -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
  • - - - - -
- diff --git a/Src/Localization/French/OpenShellText-fr-FR.wxl b/Src/Localization/French/OpenShellText-fr-FR.wxl deleted file mode 100644 index 531a806..0000000 --- a/Src/Localization/French/OpenShellText-fr-FR.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - Cet installeur est seulement conçu pour la version 32 bit de Windows. Pour la version 64 bit de Windows, il faut exécuter Setup64. - Open-Shell nécessite Windows 7 ou supérieur. - Une version plus récente de [ProductName] est déjà installée. L’assistant va maintenant s’arrêter. - Classic Explorer - Classic Explorer ajoute une barre d’outils à l’Explorateur Windows, remplace l’interface graphique de copie et corrige quelques problèmes d’ergonomie - Open-Shell Menu - Open-Shell Menu est un programme hautement personnalisable remplaçant le menu de démarrage de Windows - Classic IE - Classic IE permet de personnaliser la barre de titre et la barre d’état de Internet Explorer - Open-Shell Update - Open-Shell Update vérifie périodiquement la disponibilité de nouvelles versions - Voir la documentation de Open-Shell - Voir une introduction à Open-Shell - Éditer les paramètres de Classic Explorer - Éditer les paramètres de Open-Shell Menu - Éditer les paramètres de la barre de titre et de la barre d’état de Internet Explorer - Éditer les paramètres pour la vérification des mises à jour de Open-Shell - Créer un dossier de menu de démarrage - Site Web de Open-Shell - Donner à Open-Shell - Nous visiter sur Facebook - Voir le fichier Lisez-moi - Aide de Open-Shell - Lisez-moi de Open-Shell - Mettre à jour Open-Shell - Paramètres de Classic Explorer - Paramètres de Open-Shell Menu - Paramètres de Classic IE - Ouvrir le menu daccueil - Open-Shell est une collection d’utilitaires qui améliorent l’ergonomie de Windows - diff --git a/Src/Localization/French/WixUI_fr-fr.wxl b/Src/Localization/French/WixUI_fr-fr.wxl deleted file mode 100644 index 6b38a17..0000000 --- a/Src/Localization/French/WixUI_fr-fr.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Précédent - &Suivant - Annuler - &Terminer - &Réessayer - &Ignorer - &Oui - &Non - OK - &Imprimer - - Installation de [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lisez attentivement le contrat de licence de [ProductName] - J'&accepte les termes du contrat de licence - Cliquez sur Installer pour installer le produit avec les options par défaut pour tous les utilisateurs. Cliquez sur Avancé pour modifier les options d'installation. - Cliquez sur Installer pour installer le produit avec les options par défaut uniquement pour vous. Cliquez sur Avancé pour modifier les options d'installation. - &Installer - A&vancé - 8 - 12 - 9 - 8 - Tahoma - - Installation de [ProductName] - &Regarder dans : - WixUI_Bmp_Up - Remonter d'un niveau - WixUI_Bmp_New - Créer un dossier - &Nom du dossier : - WixUI_Bmp_Banner - Sélectionner le dossier de destination - {\WixUI_Font_Title}Modifier le dossier de destination - - Installation de [ProductName] - Êtes-vous sûr de vouloir annuler l'installation de [ProductName] ? - WixUI_Ico_Info - Icône d'information - - Installation de [ProductName] - Arborescence des sélections - Pa&rcourir... - Réinitiali&ser - &Utilisation du disque - WixUI_Bmp_Banner - Cliquez sur les icônes dans l'arborescence ci-dessous pour modifier la façon dont les composants sont installés. - Sélectionnez la façon d'installer les composants. - {\WixUI_Font_Title}Installation personnalisée - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Emplacement : - - Installation de [ProductName] - WixUI_Bmp_Banner - Les volumes mis en surbrillance ne disposent pas de suffisamment d'espace disque pour les composants sélectionnés. Vous pouvez supprimer certains fichiers des volumes mis en surbrillance, installer moins de composants ou sélectionner d'autres lecteurs de destination. - Espace disque nécessaire pour l'installation des composants sélectionnés. - {\WixUI_Font_Title}Espace disque nécessaire - {120}{70}{70}{70}{70} - - Installation de [ProductName] - Texte d'information - WixUI_Ico_Info - Icône d'information - - Installation de [ProductName] - WixUI_Bmp_Dialog - Cliquez sur le bouton Terminer pour quitter l'Assistant Installation. - {\WixUI_Font_Bigger}Assistant Installation de [ProductName] terminé - - Installation de [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] L'Assistant Installation a pris fin prématurément. - Une erreur a causé la fin prématurée de l'Assistant Installation de [ProductName]. Votre système n'a pas été modifié. Pour installer ce programme ultérieurement, réexécutez l'Assistant Installation. - Cliquez sur le bouton Terminer pour quitter l'Assistant Installation. - - Installation de [ProductName] - Composants du produit - WixUI_Bmp_Banner - Sélectionnez la façon d'installer les composants. - {\WixUI_Font_Title}Composants du produit - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installer - &Modifier - - Installation de [ProductName] - &Quitter - WixUI_Bmp_Banner - Les applications suivantes utilisent des fichiers qui doivent être mis à jour par ce programme d'installation. Fermez ces applications et cliquez sur Réessayer pour continuer l'installation, ou cliquez sur Quitter pour la quitter. - Certains fichiers qui doivent être mis à jour sont en cours d'utilisation. - {\WixUI_Font_Title}Fichiers en cours d'utilisation - - Installation de [ProductName] - &Modifier... - {\WixUI_Font_Title}Dossier de destination - Cliquez sur Suivant pour effectuer l'installation dans le dossier par défaut, ou cliquez sur Modifier pour choisir un autre dossier. - WixUI_Bmp_Banner - Installer [ProductName] sur : - - Installation de [ProductName] - WixUI_Bmp_Banner - Choisir l'étendue et le dossier d'installation - {\WixUI_Font_Title}Étendue d'installation - {\WixUI_Font_Emphasized}Installer &uniquement pour vous ([LogonUser]) - [ProductName] sera installé dans un dossier spécifique à chaque utilisateur et sera disponible uniquement pour votre compte d'utilisateur. Vous n'avez pas besoin de disposer de privilèges d'administrateur local. - [ProductName] ne prend pas en charge l'installation spécifique à chaque utilisateur. - {\WixUI_Font_Emphasized}Installer pour tous les utilisateurs de cet &ordinateur - [ProductName] sera installé dans un dossier spécifique à chaque ordinateur par défaut et sera disponible pour tous les utilisateurs. Vous pouvez modifier le dossier d'installation par défaut. Vous devez disposer de privilèges d'administrateur local. - &Dossier d'installation : - &Modifier... - - Installation de [ProductName] - Le répertoire d'installation doit se trouver sur un disque dur local. - WixUI_Ico_Info - Icône d'information - - Installation de [ProductName] - J'&accepte les termes du contrat de licence - WixUI_Bmp_Banner - Lisez attentivement le contrat de licence suivant - {\WixUI_Font_Title}Contrat de Licence Utilisateur Final - - Installation de [ProductName] - &Modifier - Modifier l'installation - Ré&parer - Réparer l'installation - &Supprimer - Supprimer l'installation - WixUI_Bmp_Banner - Sélectionnez l'opération à exécuter. - {\WixUI_Font_Title}Modifier, réparer ou supprimer l'installation - Vous permet de modifier la façon dont les composants sont installés. - [ProductName] n'a aucun composant individuellement sélectionnable. - Supprime [ProductName] de votre ordinateur. - [ProductName] ne peut pas être supprimé. - Corrige les erreurs de l'installation la plus récente en réparant les fichiers, raccourcis et entrées de Registre manquants ou endommagés. - [ProductName] ne peut pas être réparé. - - Installation de [ProductName] - WixUI_Bmp_Dialog - L'Assistant Installation vous permet de modifier la façon dont les composants de [ProductName] sont installés sur votre ordinateur ou de supprimer celui-ci. Cliquez sur Suivant pour continuer ou sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Bigger}Bienvenue dans l'Assistant Installation de [ProductName] - - Installation de [ProductName] - WixUI_Bmp_Banner - Les applications suivantes utilisent des fichiers qui doivent être mis à jour au cours de cette installation. Vous pouvez laisser l'Assistant Installation se charger de les fermer et tenter de les redémarrer, ou redémarrer l'ordinateur ultérieurement. - Certains fichiers qui doivent être mis à jour sont en cours d'utilisation. - {\WixUI_Font_Title}Fichiers en cours d'utilisation - &Fermer les applications et tenter de les redémarrer. - Ne pas fermer les applications. Vous devrez re&démarrer l'ordinateur. - - Installation de [ProductName] - WixUI_Bmp_Banner - Les volumes mis en surbrillance ne disposent pas de suffisamment d'espace disque pour les composants actuellement sélectionnés. Vous pouvez supprimer certains fichiers des volumes mis en surbrillance, installer moins de composants ou sélectionner un lecteur de destination différent. - L'espace disque requis pour l'installation dépasse l'espace disponible. - {\WixUI_Font_Title}Espace disque insuffisant - {120}{70}{70}{70}{70} - - Installation de [ProductName] - WixUI_Bmp_Banner - Les volumes mis en surbrillance ne disposent pas de suffisamment d'espace disque pour les composants actuellement sélectionnés. Vous pouvez supprimer certains fichiers des volumes mis en surbrillance, installer moins de composants ou sélectionner un lecteur de destination différent. - L'espace disque requis pour l'installation dépasse l'espace disponible. - {\WixUI_Font_Title}Espace disque insuffisant - {120}{70}{70}{70}{70} - Vous pouvez également désactiver la fonctionnalité de restauration du programme d'installation. La désactivation de la restauration empêche le programme d'installation de restaurer l'état d'origine de l'ordinateur en cas d'interruption de l'installation. Cliquez sur Oui si vous souhaitez prendre le risque de désactiver la restauration. - - Installation de [ProductName] - WixUI_Bmp_Dialog - Veuillez patienter pendant que l'Assistant Installation se prépare pour vous guider dans l'installation. - {\WixUI_Font_Bigger}Bienvenue dans l'Assistant Installation de [ProductName] - - Installation de [ProductName] - WixUI_Bmp_Banner - Veuillez patienter pendant que l'Assistant Installation installe [ProductName]. - {\WixUI_Font_Title}Installation de [ProductName] - Veuillez patienter pendant que l'Assistant Installation modifie [ProductName]. - {\WixUI_Font_Title}Modification de [ProductName] - Veuillez patienter pendant que l'Assistant Installation répare [ProductName]. - {\WixUI_Font_Title}Réparation de [ProductName] - Veuillez patienter pendant que l'Assistant Installation supprime [ProductName]. - {\WixUI_Font_Title}Suppression de [ProductName] - Veuillez patienter pendant que l'Assistant Installation met à jour [ProductName]. - {\WixUI_Font_Title}Mise à jour de [ProductName] - État d'avancement - Statut : - - Installation de [ProductName] - &Installer - WixUI_Bmp_Dialog - L'Assistant Installation va terminer l'installation de [ProductName] sur l'ordinateur. Cliquez sur Installer pour continuer, ou sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Bigger}Reprise de l'installation de [ProductName] - - Installation de [ProductName] - Par &défaut - Installation par défaut - Perso&nnalisée - Installation personnalisée - C&omplète - Installation complète - WixUI_Bmp_Banner - {\WixUI_Font_Title}Sélectionner le type d'installation - Choisissez le type d'installation qui correspond le mieux à vos besoins. - Installe les composants les plus courants du programme. Recommandé pour la plupart des utilisateurs. - Permet à l'utilisateur de sélectionner les composants du programme qui seront installés et l'emplacement d'installation. Ceci est recommandé pour les utilisateurs expérimentés. - Tous les composants du programme vont être installés. Nécessite une quantité d’espace disque maximale. - - Installation de [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}L'Assistant Installation de [ProductName] a été interrompu - L'installation de [ProductName] a été interrompue. Votre système n'a pas été modifié. Pour installer ce programme ultérieurement, réexécutez l'installation. - Cliquez sur le bouton Terminer pour quitter l'Assistant Installation. - - Installation de [ProductName] - WixUI_Bmp_Banner - &Installer - Cliquez sur Installer pour commencer l'installation. Cliquez sur Précédent pour vérifier ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant. - {\WixUI_Font_Title}Prêt à installer [ProductName] - &Modifier - Cliquez sur Modifier pour lancer l'installation. Cliquez sur Précédent pour consulter ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Title}Prêt à modifier [ProductName] - Ré&parer - Cliquez sur Réparer pour réparer l'installation de [ProductName]. Cliquez sur Précédent pour consulter ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Title}Prêt à réparer [ProductName] - &Supprimer - Cliquez sur Supprimer pour supprimer [ProductName] de votre ordinateur. Cliquez sur Précédent pour vérifier ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant. - {\WixUI_Font_Title}Prêt à supprimer [ProductName] - Mettre à jo&ur - Cliquez sur Mettre à jour pour mettre à jour [ProductName] sur votre ordinateur. Cliquez sur Précédent pour vérifier ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant. - {\WixUI_Font_Title}Prêt à mettre à jour [ProductName] - - Installation de [ProductName] - &Retour - Veuillez patienter pendant que l'Assistant Installation finit de calculer l'espace disque nécessaire. - WixUI_Ico_Exclam - Icône d'exclamation - - Installation de [ProductName] - WixUI_Bmp_Dialog - L'Assistant Installation va installer [ProductName] sur l'ordinateur. Cliquez sur Suivant pour continuer, ou sur Annuler pour quitter l'Assistant Installation. - L'Assistant Installation va mettre à jour [ProductName] sur l'ordinateur. Cliquez sur Suivant pour continuer, ou sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Bigger}Bienvenue dans l'Assistant Installation de [ProductName] - - Installation de [ProductName] - WixUI_Bmp_Dialog - J'&accepte les termes du contrat de licence - &Installer - Mettre à jo&ur - {\WixUI_Font_Title}Lisez attentivement le contrat de licence de [ProductName] - - Validation de l'installation - Copie des nouveaux fichiers - Fichier : [1], répertoire : [9], taille : [6] - Copie des fichiers d'installation réseau - Fichier : [1], répertoire : [9], taille : [6] - Calcul de l'espace nécessaire - Calcul de l'espace nécessaire - Calcul de l'espace nécessaire - Création des raccourcis - Raccourci : [1] - Publication des composants qualifiés - Identificateur du composant : [1], qualificateur : [2] - Publication des composants du produit - Composant : [1] - Publication des informations sur le produit - Inscription des serveurs de classes - Identificateur de classe : [1] - Inscription des serveurs d'extensions - Extension : [1] - Inscription des informations MIME - Type de contenu MIME : [1], extension : [2] - Inscription des identificateurs de programmes - ID du programme : [1] - Allocation de l'espace du Registre - Espace libre : [1] - Recherche des applications déjà installées - Propriété : [1], signature : [2] - Liaison des exécutables - Fichier : [1] - Recherche des produits éligibles - Création des dossiers - Dossier : [1] - Suppression des services - Service : [1] - Création de fichiers dupliqués - Fichier : [1], répertoire : [9], taille : [6] - Recherche des applications associées - Application trouvée : [1] - Installation des composants ODBC - Installation des nouveaux services - Service : [2] - Évaluation des conditions de lancement - Migration de l'état des composants à partir des applications associées - Application : [1] - Déplacement des fichiers - Fichier : [1], répertoire : [9], taille : [6] - Mises à jour correctives des fichiers - Fichier : [1], répertoire : [2], taille : [3] - Mise à jour de l'inscription des composants - Inscription des applications et des composants COM+ - ID d'application : [1]{{, Type application : [2], Utilisateurs : [3], RSN : [4]}} - Inscription des polices - Police : [1] - Inscription du produit - [1] - Inscription des bibliothèques de types - ID de la bibliothèque : [1] - Inscription de l'utilisateur - [1] - Suppression des fichiers dupliqués - Fichier : [1], répertoire : [9] - Mise à jour des chaînes d'environnement - Nom : [1], valeur : [2], action : [3] - Suppression des applications - Application : [1], ligne de commande : [2] - Suppression des fichiers - Fichier : [1], répertoire : [9] - Suppression des dossiers - Dossier : [1] - Suppression des entrées des fichiers INI - Fichier : [1] ; section : [2] ; clé : [3] ; valeur : [4] - Suppression des composants ODBC - Suppression des valeurs du Registre système - Clé : [1] ; nom : [2] - Suppression des raccourcis - Raccourci : [1] - Recherche des produits éligibles - Inscription des modules - Fichier : [1] ; dossier : [2] - Annulation de l'inscription des modules - Fichier : [1] ; dossier : [2] - Initialisation des répertoires ODBC - Démarrage des services - Service : [1] - Arrêt des services - Service : [1] - Annulation de la publication des composants qualifiés - Identificateur du composant : [1], qualificateur : [2] - Annulation de la publication des composants du produit - Composant : [1] - Annulation de l'inscription des serveurs de classes - Identificateur de classe : [1] - Annulation de l'inscription des applications et des composants COM+ - ID d'application : [1]{{, Type application : [2]}} - Annulation de l'inscription des serveurs d'extensions - Extension : [1] - Annulation de l'inscription des polices - Police : [1] - Annulation de l'inscription des informations MIME - Type de contenu MIME : [1], extension : [2] - Annulation de l'inscription des identificateurs de programmes - ID du programme : [1] - Annulation de l'inscription des bibliothèques de types - ID de la bibliothèque : [1] - Mise à jour des chaînes d'environnement - Nom : [1], valeur : [2], action : [3] - Écriture des valeurs des fichiers INI - Fichier : [1] ; section : [2] ; clé : [3] ; valeur : [4] - Écriture des valeurs du Registre système - Clé : [1] ; nom : [2] ; valeur : [3] - Publication d'informations sur l'application - Génération d'opérations de script pour l'action : - [1] - Installation du catalogue système - Fichier : [1] ; dépendances : [2] - Publication des informations d'assembly - Contexte de l'application : [1], nom de l'assembly : [2] - Annulation de la publication des informations d'assembly - Contexte de l'application : [1], nom de l'assembly : [2] - Annulation de l'action : - [1] - Suppression des fichiers de sauvegarde - Fichier : [1] - Suppression des fichiers déplacés - Fichier : [1], répertoire : [9] - Annulation de la publication des informations sur le produit - - {{Erreur irrécupérable : }} - {{Erreur [1]. }} - Avertissement [1]. - Informations [1]. - Le programme d'installation a rencontré un problème lors de l'installation de ce package. Cette erreur peut indiquer un problème dans ce package. Le code d'erreur est [1]. {{Les arguments sont : [2], [3], [4]}} - {{Disque plein : }} - Action [Time] : [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Type de message : [1] ; argument : [2] - === Début de l'écriture dans le journal : [Date] [Time] === - === Fin de l'écriture dans le journal : [Date] [Time] === - Début de l'action [Time] : [1]. - Fin de l'action [Time] : [1]. Valeur renvoyée : [2]. - Durée restante : {[1] minute(s) }{[2] seconde(s)} - Mémoire insuffisante. Fermez les autres applications avant de recommencer. - Le programme d'installation ne répond plus. - Le programme d'installation s'est arrêté prématurément. - Veuillez patienter pendant que Windows configure [ProductName] - Collecte des informations nécessaires... - Suppression des anciennes versions de cette application... - Préparation à la suppression des anciennes versions de cette application... - L'installation de [ProductName] s'est terminée correctement. - Échec de l'installation de [ProductName]. - Erreur lors de la lecture du fichier [2]. {{ Erreur système [3].}} Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Impossible de créer le fichier « [2] ». Un répertoire du même nom existe déjà. Annulez l'installation et essayez d'effectuer l'installation dans un autre emplacement. - Veuillez insérer le disque : [2] - Le programme d'installation ne dispose pas des privilèges nécessaires pour accéder au répertoire [2]. Impossible de poursuivre l'installation. Ouvrez une session en tant qu'administrateur, ou contactez l'administrateur système. - Erreur lors de l'écriture dans le fichier : [2]. Vérifiez que vous êtes autorisé à accéder à ce répertoire. - Erreur lors de la lecture du fichier [2]. {{ Erreur système [3].}} Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Une autre application a un accès exclusif au fichier « [2] ». Fermez toutes les autres applications, puis cliquez sur Réessayer. - Espace disque insuffisant pour installer le fichier : [2]. Libérez de l'espace disque et cliquez sur Réessayer, ou cliquez sur Annuler pour abandonner l'opération. - Fichier source [2] introuvable. Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Erreur lors de la lecture du fichier [3].{{ Erreur système [2].}} Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Erreur lors de l'écriture dans le fichier [3]. {{ Erreur système [2].}} Vérifiez que vous êtes autorisé à accéder à ce répertoire. - Fichier source introuvable{{(cabinet)}} : [2]. Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Impossible de créer le répertoire « [2] ». Un fichier portant ce nom existe déjà. Renommez ou supprimez le fichier et cliquez sur Réessayer, ou cliquez sur Annuler pour quitter. - Le volume [2] n'est pas disponible actuellement. Veuillez en sélectionner un autre. - Le chemin d'accès spécifié « [2] » n'est pas disponible. - Impossible d'écrire dans le dossier spécifié : [2]. - Une erreur réseau s'est produite lors de la tentative de lecture à partir du fichier : [2] - Erreur lors de la tentative de création du répertoire : [2] - Une erreur réseau s'est produite lors de la tentative de création du répertoire : [2] - Une erreur réseau s'est produite lors de la tentative d'ouverture du fichier CAB du source : [2] - Le chemin d'accès spécifié est trop long : [2] - Le programme d'installation ne dispose pas des privilèges nécessaires pour modifier le fichier [2]. - Une partie du chemin d'accès au dossier « [2] » n'est pas valide. Elle est vide, ou elle dépasse la longueur maximale autorisée par le système. - Le chemin d'accès du dossier « [2] » contient des mots non valides. - Le chemin d'accès du dossier « [2] » contient un caractère non valide. - Le nom de fichier court « [2] » n'est pas valide. - Erreur lors de l'obtention des informations sur la sécurité du fichier [3] GetLastError : [2] - Lecteur non valide : [2] - Erreur lors de l'application du correctif logiciel au fichier [2]. Celui-ci a probablement été mis à jour par d'autres moyens et ne peut plus être modifié par ce correctif logiciel. Pour plus d'informations, contactez le fournisseur du correctif logiciel. {{Erreur système : [3]}} - Un fichier requis ne peut pas être installé, car le fichier CAB [2] n'est pas signé numériquement. Cela indique peut-être que le fichier CAB est endommagé. - Un fichier requis ne peut pas être installé, car la signature numérique du fichier CAB [2] n'est pas valide. Ceci peut indiquer que le fichier CAB est endommagé. {{L'erreur [3] a été retournée par WinVerifyTrust.}} - Échec de la copie du fichier [2] : erreur CRC. - Échec du déplacement du fichier [2] : erreur CRC. - Échec de la modification du fichier [2] : erreur CRC. - Impossible d'installer le fichier « [2] », car il ne se trouve pas dans le fichier CAB « [3] ». Ceci peut venir d'une erreur réseau, d'une erreur de lecture du CD-ROM ou d'un problème lié à ce package. - Le fichier CAB « [2] » requis pour cette installation est endommagé et inutilisable. Ceci peut venir d'une erreur réseau, d'une erreur de lecture du CD-ROM ou d'un problème lié à ce package. - Une erreur s'est produite lors de la création d'un fichier temporaire requis par cette installation.{{ Dossier : [3]. Code d'erreur système : [2]}} - Impossible de créer la clé [2]. {{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'ouvrir la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible de supprimer la valeur [2] de la clé [3].{{ Erreur système [4].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible de supprimer la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible de lire la valeur [2] de la clé [3].{{ Erreur système [4].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'écrire la valeur [2] dans la clé [3].{{ Erreur système [4].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'obtenir le nom des valeurs de la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'obtenir le nom des sous-clés de la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible de lire les informations sur la sécurité de la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'augmenter l'espace disponible dans le Registre. [2] Ko d'espace doivent être libres dans le Registre pour permettre l'installation de cette application. - Une autre installation est en cours d'exécution. Vous devez la terminer avant de poursuivre cette installation. - Erreur lors de l'accès aux données protégées. Vérifiez que Windows Installer est correctement configuré, puis recommencez l'installation. - L'utilisateur « [2] » a précédemment lancé une installation du produit « [3] ». Il devra réexécuter cette installation avant de pouvoir utiliser ce produit. Votre installation va maintenant se poursuivre. - L'utilisateur « [2] » a précédemment lancé une installation du produit « [3] ». Il devra réexécuter cette installation avant de pouvoir utiliser ce produit. - Espace disque insuffisant - Volume : « [2] » ; espace nécessaire : [3] Ko ; espace disponible : [4] Ko. Libérez de l'espace sur le disque, puis réessayez. - Êtes-vous sûr de vouloir annuler ? - Le fichier [2][3] est en cours d'utilisation {par le processus suivant : nom : [4], ID : [5], titre de fenêtre : « [6] »}. Fermez cette application et réessayez. - « [2] » est déjà installé, ce qui empêche l'installation de ce produit. Les deux produits sont incompatibles. - Espace insuffisant sur le volume « [2] » pour continuer l'installation avec l'option de récupération. [3] Ko sont requis, alors que seuls [4] Ko sont disponibles. Cliquez sur Ignorer pour poursuivre l'installation sans enregistrer les informations de récupération, cliquez sur Réessayer pour revérifier l'espace disponible, ou cliquez sur Annuler pour arrêter. - Impossible d'accéder à l'emplacement réseau [2]. - Fermez les applications suivantes avant de poursuivre l'installation : - Impossible de trouver un produit compatible précédemment installé permettant l'installation de ce produit sur cet ordinateur. - Une erreur s'est produite lors de l'activation des paramètres de sécurité. [2] n'est pas un nom de groupe ou d'utilisateur reconnu. Le problème peut venir du package ou de la connexion au contrôleur de domaine sur le réseau. Vérifiez vos connexions réseau et cliquez sur Réessayer, ou cliquez sur Annuler pour arrêter. {{Le SID de l'utilisateur est introuvable, erreur système [3]}} - La clé [2] n'est pas valide. Vérifiez que vous avez entré la clé correcte. - Le programme d'installation doit redémarrer l'ordinateur afin de poursuivre la configuration de [2]. Cliquez sur Oui pour redémarrer maintenant, ou sur Non pour redémarrer manuellement ultérieurement. - Vous devez redémarrer votre système pour que les modifications apportées à la configuration de [2] prennent effet. Cliquez sur Oui pour redémarrer maintenant, ou sur Non pour redémarrer manuellement ultérieurement. - L’installation de [2] est suspendue. Vous devez annuler les modifications apportées par cette installation pour continuer. Voulez-vous annuler les modifications ? - Une installation de ce produit est déjà en cours. Vous devez annuler les modifications apportées par cette installation pour continuer. Voulez-vous annuler les modifications ? - Aucun package d'installation pour le produit [2] n'a été trouvé. Recommencez l'installation en utilisant une copie valide du package d'installation « [3] ». - Installation effectuée. - Échec de l'installation. - Produit : [2] -- [3] - Vous pouvez restaurer l'état antérieur de votre ordinateur ou poursuivre l'installation ultérieurement. Voulez-vous restaurer votre ordinateur ? - Erreur lors de l'écriture sur le disque des informations concernant l'installation. Vérifiez que l'espace disponible sur le disque est suffisant et cliquez sur Réessayer, ou cliquez sur Annuler pour mettre fin à l'installation. - Impossible de trouver les fichiers requis pour restaurer l'état antérieur de votre ordinateur. Impossible de procéder à la restauration. - [2] ne peut pas installer l'un des produits nécessaires. Contactez votre service de support technique. {{Erreur système : [3].}} - La version précédente de [2] ne peut pas être supprimée. Contactez votre service de support technique. {{Erreur système : [3].}} - [2] installé - [2] configuré - [2] supprimé - Le fichier [2] a été rejeté par la stratégie de signature numérique. - Impossible d'accéder au service Windows Installer. Ceci peut se produire si vous exécutez Windows en mode sans échec, ou si le programme d'installation de Windows n'est pas bien installé. Contactez votre service de support technique pour obtenir de l'assistance. - Problème détecté dans ce package Windows Installer. Un script requis pour cette installation ne peut pas s'exécuter. Contactez votre service de support technique ou l'éditeur du package. {{Action personnalisée [2] erreur de script [3], [4] : [5] ligne [6], colonne [7], [8]}} - Problème détecté dans ce package Windows Installer. Un programme requis pour cette installation n'a pas pu être exécuté. Contactez votre service de support technique ou l'éditeur du package. {{Action : [2], emplacement : [3], commande : [4] }} - Problème détecté dans ce package Windows Installer. Un programme exécuté dans le cadre de l'installation ne s'est pas terminé normalement. Contactez votre service de support technique ou l'éditeur du package. {{Action [2], emplacement : [3], commande : [4]}} - Problème détecté dans ce package Windows Installer. Un fichier DLL requis pour cette installation n'a pas pu être exécuté. Contactez votre service de support technique ou l'éditeur du package. {{Action [2], entrée : [3], bibliothèque : [4]}} - Suppression effectuée. - Échec de la suppression. - Annonce effectuée. - Échec de l'annonce. - Configuration effectuée. - Échec de la configuration. - Vous devez être administrateur pour supprimer cette application. Pour la supprimer, ouvrez une session avec un compte d'administrateur ou contactez votre service de support technique pour obtenir de l'assistance. - Le package d'installation source du produit [2] n'est pas synchronisé avec le package client. Recommencez l'installation en utilisant une copie valide du package d'installation « [3] ». - Vous devez redémarrer l’ordinateur afin de terminer l’installation de [2], or d’autres utilisateurs sont actuellement connectés à cet ordinateur, et un redémarrage risque d’entraîner la perte de leurs données. Voulez-vous redémarrer maintenant ? - Le chemin d'accès [2] n'est pas valide. Spécifiez un chemin d'accès valide. - Mémoire insuffisante. Fermez les autres applications avant de recommencer. - Le lecteur [2] est vide. Insérez un disque et cliquez sur Réessayer, ou cliquez sur Annuler pour revenir au volume sélectionné précédemment. - Le lecteur [2] est vide. Insérez un disque et cliquez sur Réessayer, ou cliquez sur Annuler pour revenir à la boîte de dialogue de sélection de l'emplacement et sélectionner un autre volume. - Le dossier [2] n'existe pas. Entrez un chemin d'accès à un dossier existant. - Vous ne disposez pas des privilèges nécessaires pour lire le contenu de ce dossier. - Impossible de trouver un dossier de destination valide pour l'installation. - Une erreur s'est produite lors de la tentative de lecture de la base de données d'installation source : [2]. - Planification du redémarrage : le fichier [2] est renommé [3]. Pour terminer l'opération, votre système doit être redémarré. - Planification du redémarrage : suppression du fichier [2]. Pour terminer l'opération, votre système doit être redémarré. - Impossible d'inscrire le module [2]. HRESULT [3]. Contactez votre service de support technique. - Impossible d'annuler l'inscription du module [2]. HRESULT [3]. Contactez votre service de support technique. - Impossible de placer le package [2] dans le cache. Erreur : [3]. Contactez votre service de support technique. - Impossible d'inscrire la police [2]. Vérifiez que vous disposez des autorisations nécessaires pour installer des polices et que le système prend en charge cette police en particulier. - Impossible d'annuler l'inscription de la police [2]. Vérifiez que vous disposez des autorisations nécessaires pour supprimer des polices. - Impossible de créer le raccourci [2]. Vérifiez que le dossier de destination existe et que vous êtes autorisé à y accéder. - Impossible de supprimer le raccourci [2]. Vérifiez que le fichier de raccourcis existe et que vous êtes autorisé à y accéder. - Impossible d'inscrire la bibliothèque de types pour le fichier [2]. Contactez votre service de support technique. - Impossible d'annuler l'inscription de la bibliothèque de types pour le fichier [2]. Contactez votre service de support technique. - Impossible de mettre à jour le fichier ini [2][3]. Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Impossible de planifier le remplacement du fichier [3] par le fichier [2] au redémarrage. Vérifiez que vous disposez des autorisations d'écriture sur le fichier [3]. - Erreur lors de la suppression du gestionnaire de pilotes ODBC. Erreur ODBC [2] : [3]. Contactez votre service de support technique. - Erreur lors de l'installation du gestionnaire de pilotes ODBC. Erreur ODBC [2] : [3]. Contactez votre service de support technique. - Erreur lors de la suppression du pilote ODBC [4]. Erreur ODBC [2] : [3]. Vérifiez que vous disposez des privilèges nécessaires pour supprimer des pilotes ODBC. - Erreur lors de l'installation du pilote ODBC [4]. Erreur ODBC [2] : [3]. Vérifiez que le fichier [4] existe et que vous êtes autorisé à y accéder. - Erreur lors de la configuration de la source de données ODBC [4]. Erreur ODBC [2] : [3]. Vérifiez que le fichier [4] existe et que vous êtes autorisé à y accéder. - Impossible de démarrer le service « [2] » ([3]). Vérifiez que vous disposez des privilèges nécessaires pour démarrer les services système. - Impossible d'arrêter le service « [2] » ([3]). Vérifiez que vous disposez des privilèges nécessaires pour arrêter les services système. - Impossible de supprimer le service « [2] » ([3]). Vérifiez que vous disposez des privilèges nécessaires pour supprimer les services système. - Impossible d'installer le service « [2] » ([3]). Vérifiez que vous disposez des privilèges nécessaires pour installer les services système. - Impossible de mettre à jour la variable d'environnement « [2] ». Vérifiez que vous disposez des privilèges nécessaires pour modifier les variables d'environnement. - Vous ne disposez pas des privilèges nécessaires pour effectuer cette installation pour tous les utilisateurs de cet ordinateur. Ouvrez une session en tant qu'administrateur, puis réessayez. - Impossible de définir la sécurité du fichier « [3] ». Erreur : [2]. Vérifiez que vous disposez des privilèges nécessaires pour modifier les autorisations de sécurité pour ce fichier. - Les services de composants (COM+ 1.0) ne sont pas installés sur cet ordinateur. Cette installation nécessite les services de composants afin de se terminer correctement. Les services de composants sont disponibles dans Windows 2000. - Erreur lors de l'inscription de l'application COM+. Contactez le support technique pour plus d'informations. - Erreur lors de l'annulation de l'inscription de l'application COM+. Contactez le support technique pour plus d'informations. - La description du service « [2] » ([3]) n'a pas pu être modifiée. - Le service Windows Installer ne peut pas mettre à jour le fichier système [2], car celui-ci est protégé par Windows. Vous devrez peut-être mettre à jour votre système d'exploitation pour que ce programme fonctionne correctement. {{Version du package : [3], version protégée du système d'exploitation : [4]}} - Le service Windows Installer ne peut pas mettre à jour le fichier Windows protégé [2]. {{Version du package : [3], version protégée du système d'exploitation : [4], erreur SFP : [5]}} - Le service Windows Installer ne peut pas mettre à jour un ou plusieurs des fichiers Windows protégés. {{Erreur SFP : [2]. Liste des fichiers protégés :\r\n[3]}} - Les installations utilisateur sont désactivées via une stratégie sur cet ordinateur. - Une erreur s'est produite lors de l'installation de l'assembly « [6] ». Voir Aide et support pour plus d'informations. HRESULT : [3]. {{interface de l'assembly : [4], fonction : [5] composant : [2]}} - Une erreur s'est produite lors de l'installation de l'assembly « [6] ». L'assembly n'a pas un nom fort ou n'est pas signé avec la longueur de clé minimale. HRESULT : [3]. {{interface de l'assembly : [4], fonction : [5], composant : [2]}} - Une erreur s'est produite lors de l'installation de l'assembly « [6] ». La signature ou le catalogue n'a pas pu être vérifié ou n'est pas valide. HRESULT : [3]. {{interface de l'assembly : [4], fonction : [5], composant : [2]}} - Une erreur s'est produite lors de l'installation de l'assembly « [6] ». Un ou plusieurs des modules de l'assembly sont introuvables. HRESULT : [3]. {{interface de l'assembly : [4], fonction : [5], composant : [2]}} - - octets - Go - Ko - Mo - Ce composant ne sera pas disponible en totalité - Ce composant sera installé à la demande - Ce composant sera installé pour être exécuté à partir du CD - Ce composant sera installé en totalité sur le disque dur local - Ce composant sera installé en totalité pour être exécuté à partir du réseau - Installation pour une exécution à partir du CD - Installation sur le disque dur local - Installation pour une exécution à partir du réseau - Folder|Nouveau dossier - Collecte des informations nécessaires... - Ce composant ne sera pas installé - Ce composant sera configuré pour être installé à la demande - Ce composant sera installé pour être exécuté à partir du CD - Ce composant sera installé sur le disque dur local - Ce composant sera installé pour être exécuté à partir du réseau - Ce composant ne sera plus disponible - Installation à la demande - Ce composant sera disponible pour être exécuté à partir du CD - Ce composant sera installé sur le disque dur local - Ce composant sera disponible pour être exécuté à partir du réseau - Ce composant sera désinstallé en totalité et ne pourra plus être exécuté à partir du CD - Ce composant ne pourra plus être exécuté à partir du CD et sera configuré pour être installé à la demande - Ce composant pourra encore être exécuté à partir du CD - Ce composant ne pourra plus être exécuté à partir du CD et sera installé sur le disque dur local - Ce composant libère [1] sur votre disque dur. - Ce composant requiert [1] sur votre disque dur. - Calcul de l'espace nécessaire pour ce composant... - Ce composant sera supprimé en totalité - Ce composant sera supprimé du disque dur local, mais sera configuré pour être installé à la demande - Ce composant sera supprimé du disque dur local, mais pourra encore être exécuté à partir du CD - Ce composant sera conservé sur le disque dur local - Ce composant sera supprimé du disque dur local, mais pourra être exécuté à partir du réseau - Ce composant sera désinstallé en totalité et ne pourra plus être exécuté à partir du réseau - Ce composant ne pourra plus être exécuté à partir du réseau et sera configuré pour être installé à la demande - Ce composant ne pourra plus être exécuté à partir du réseau et sera installé sur le disque dur local - Ce composant pourra encore être exécuté à partir du réseau - Ce composant libère [1] sur votre disque dur. [2] de ses [3] sous-composants sont sélectionnés. Les sous-composants libèrent [4] sur votre disque dur. - Ce composant libère [1] sur votre disque dur. [2] de ses [3] sous-composants sont sélectionnés. Les sous-composants requièrent [4] sur votre disque dur. - Ce composant requiert [1] sur votre disque dur. [2] de ses [3] sous-composants sont sélectionnés. Les sous-composants libèrent [4] sur votre disque dur. - Ce composant requiert [1] sur votre disque dur. [2] de ses [3] sous-composants sont sélectionnés. Les sous-composants requièrent [4] sur votre disque dur. - Durée restante : {[1] minute(s) }{[2] seconde(s)} - Disponible - Différence - Nécessaire - Taille du disque - Volume - diff --git a/Src/Localization/French/images/OpenShell.png b/Src/Localization/French/images/OpenShell.png deleted file mode 100644 index 1c17868..0000000 Binary files a/Src/Localization/French/images/OpenShell.png and /dev/null differ diff --git a/Src/Localization/French/images/acc_locked.png b/Src/Localization/French/images/acc_locked.png deleted file mode 100644 index 0dd5dc9..0000000 Binary files a/Src/Localization/French/images/acc_locked.png and /dev/null differ diff --git a/Src/Localization/French/images/after.png b/Src/Localization/French/images/after.png deleted file mode 100644 index bdb89f9..0000000 Binary files a/Src/Localization/French/images/after.png and /dev/null differ diff --git a/Src/Localization/French/images/before.png b/Src/Localization/French/images/before.png deleted file mode 100644 index 62f32e9..0000000 Binary files a/Src/Localization/French/images/before.png and /dev/null differ diff --git a/Src/Localization/French/images/button_images.png b/Src/Localization/French/images/button_images.png deleted file mode 100644 index 597287a..0000000 Binary files a/Src/Localization/French/images/button_images.png and /dev/null differ diff --git a/Src/Localization/French/images/button_settings.png b/Src/Localization/French/images/button_settings.png deleted file mode 100644 index 40a3a49..0000000 Binary files a/Src/Localization/French/images/button_settings.png and /dev/null differ diff --git a/Src/Localization/French/images/customize_menu.png b/Src/Localization/French/images/customize_menu.png deleted file mode 100644 index ef06aab..0000000 Binary files a/Src/Localization/French/images/customize_menu.png and /dev/null differ diff --git a/Src/Localization/French/images/explorer_settings.png b/Src/Localization/French/images/explorer_settings.png deleted file mode 100644 index e53e8ac..0000000 Binary files a/Src/Localization/French/images/explorer_settings.png and /dev/null differ diff --git a/Src/Localization/French/images/ie9_caption.png b/Src/Localization/French/images/ie9_caption.png deleted file mode 100644 index abbe654..0000000 Binary files a/Src/Localization/French/images/ie9_caption.png and /dev/null differ diff --git a/Src/Localization/French/images/ie9_settings.png b/Src/Localization/French/images/ie9_settings.png deleted file mode 100644 index 96b90bd..0000000 Binary files a/Src/Localization/French/images/ie9_settings.png and /dev/null differ diff --git a/Src/Localization/French/images/ie9_status.png b/Src/Localization/French/images/ie9_status.png deleted file mode 100644 index d941878..0000000 Binary files a/Src/Localization/French/images/ie9_status.png and /dev/null differ diff --git a/Src/Localization/French/images/item_settings.png b/Src/Localization/French/images/item_settings.png deleted file mode 100644 index d978eb3..0000000 Binary files a/Src/Localization/French/images/item_settings.png and /dev/null differ diff --git a/Src/Localization/French/images/menu_settings.png b/Src/Localization/French/images/menu_settings.png deleted file mode 100644 index 6d99c16..0000000 Binary files a/Src/Localization/French/images/menu_settings.png and /dev/null differ diff --git a/Src/Localization/French/images/search1.png b/Src/Localization/French/images/search1.png deleted file mode 100644 index 9e62fbd..0000000 Binary files a/Src/Localization/French/images/search1.png and /dev/null differ diff --git a/Src/Localization/French/images/search2.png b/Src/Localization/French/images/search2.png deleted file mode 100644 index b1352b2..0000000 Binary files a/Src/Localization/French/images/search2.png and /dev/null differ diff --git a/Src/Localization/French/images/search3.png b/Src/Localization/French/images/search3.png deleted file mode 100644 index 5457763..0000000 Binary files a/Src/Localization/French/images/search3.png and /dev/null differ diff --git a/Src/Localization/French/images/settings1.png b/Src/Localization/French/images/settings1.png deleted file mode 100644 index f2164dd..0000000 Binary files a/Src/Localization/French/images/settings1.png and /dev/null differ diff --git a/Src/Localization/French/images/settings2.png b/Src/Localization/French/images/settings2.png deleted file mode 100644 index 6e5e8ad..0000000 Binary files a/Src/Localization/French/images/settings2.png and /dev/null differ diff --git a/Src/Localization/French/images/settings3.png b/Src/Localization/French/images/settings3.png deleted file mode 100644 index 3114522..0000000 Binary files a/Src/Localization/French/images/settings3.png and /dev/null differ diff --git a/Src/Localization/French/images/settings4.png b/Src/Localization/French/images/settings4.png deleted file mode 100644 index 7a8199e..0000000 Binary files a/Src/Localization/French/images/settings4.png and /dev/null differ diff --git a/Src/Localization/French/images/settings5.png b/Src/Localization/French/images/settings5.png deleted file mode 100644 index 1e71653..0000000 Binary files a/Src/Localization/French/images/settings5.png and /dev/null differ diff --git a/Src/Localization/French/images/settings_disable_ex.png b/Src/Localization/French/images/settings_disable_ex.png deleted file mode 100644 index 4bb572d..0000000 Binary files a/Src/Localization/French/images/settings_disable_ex.png and /dev/null differ diff --git a/Src/Localization/French/images/settings_disable_ie9.png b/Src/Localization/French/images/settings_disable_ie9.png deleted file mode 100644 index 352b100..0000000 Binary files a/Src/Localization/French/images/settings_disable_ie9.png and /dev/null differ diff --git a/Src/Localization/French/images/settings_disable_sm.png b/Src/Localization/French/images/settings_disable_sm.png deleted file mode 100644 index d65b65a..0000000 Binary files a/Src/Localization/French/images/settings_disable_sm.png and /dev/null differ diff --git a/Src/Localization/French/images/skins.gif b/Src/Localization/French/images/skins.gif deleted file mode 100644 index c9a26cf..0000000 Binary files a/Src/Localization/French/images/skins.gif and /dev/null differ diff --git a/Src/Localization/French/images/statusbar.png b/Src/Localization/French/images/statusbar.png deleted file mode 100644 index 46f1058..0000000 Binary files a/Src/Localization/French/images/statusbar.png and /dev/null differ diff --git a/Src/Localization/French/images/style1.png b/Src/Localization/French/images/style1.png deleted file mode 100644 index d485e0f..0000000 Binary files a/Src/Localization/French/images/style1.png and /dev/null differ diff --git a/Src/Localization/French/images/style2.png b/Src/Localization/French/images/style2.png deleted file mode 100644 index 48d9bba..0000000 Binary files a/Src/Localization/French/images/style2.png and /dev/null differ diff --git a/Src/Localization/French/images/style3.png b/Src/Localization/French/images/style3.png deleted file mode 100644 index ed8de00..0000000 Binary files a/Src/Localization/French/images/style3.png and /dev/null differ diff --git a/Src/Localization/French/images/titlebar.png b/Src/Localization/French/images/titlebar.png deleted file mode 100644 index 45d5da9..0000000 Binary files a/Src/Localization/French/images/titlebar.png and /dev/null differ diff --git a/Src/Localization/French/images/toolbar.png b/Src/Localization/French/images/toolbar.png deleted file mode 100644 index 7a23fbe..0000000 Binary files a/Src/Localization/French/images/toolbar.png and /dev/null differ diff --git a/Src/Localization/French/images/toolbar_settings.png b/Src/Localization/French/images/toolbar_settings.png deleted file mode 100644 index a32c591..0000000 Binary files a/Src/Localization/French/images/toolbar_settings.png and /dev/null differ diff --git a/Src/Localization/French/images/up_locked.png b/Src/Localization/French/images/up_locked.png deleted file mode 100644 index e1284d8..0000000 Binary files a/Src/Localization/French/images/up_locked.png and /dev/null differ diff --git a/Src/Localization/German/ClassicExplorerADMX.txt b/Src/Localization/German/ClassicExplorerADMX.txt deleted file mode 100644 index bc4c114..0000000 --- a/Src/Localization/German/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell Einstellungen -State.text = Status: -State1.text = auf diesen Wert gesperrt -State2.text = auf Standardwert gesperrt -State3.text = entsperrt -State1Help.text = Wenn Sie die Einstellung "Auf diesen Wert gesperrt" aktivieren, wird die Einstellung für alle Benutzer auf den angegebenen Wert gesperrt werden. -State2Help.text = Wenn Sie die Einstellung "Auf Standardwert gesperrt" aktivieren, wird die Einstellung für alle Benutzer auf den Standardwert gesperrt werden. Der benutzerdefinierte Wert wird ignoriert. -State3Help.text = Wenn Sie die Einstellung "Entsperrt" aktivieren, wird der Standardwert für die Einstellung auf den benutzerdefinierten Wert geändert. Der Einstellungswert kann durch den Benutzer verändert werden. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Classic Explorer Gruppenrichtlinien Einstellungen -SUPPORTED_CS404.text = Erfordert Open-Shell 4.0.4 oder neuer. -SUPPORTED_CS404_WIN7.text = Erfordert Windows 7. -SUPPORTED_CS404_WIN881.text = Erfordert Windows 8 oder Windows 8.1. - -AddressAltD.nameOverride = Zusätzliche Tastenkombination für die Adressleiste -AddressAltD.tipOverride = Geben Sie für die Tastenkombination mit der Alt-Taste zum Aufruf der Adressleiste einen Buchstaben von 'A' bis 'Z' ein -EnableSettings.nameOverride = Einstellungen aktivieren -EnableSettings.tipOverride = Ermöglicht den Benutzern ihre eigenen Einstellungen zu bearbeiten -ProcessWhiteList.nameOverride = Prozess Positiv-Liste -ProcessWhiteList.tipOverride = Übersicht der Prozesse die Classic Explorer ausführen können. Verwenden Sie nur den Dateinamen des Prozesses (wie "notepad.exe"), trennen Sie mehrere Namen mit einem Komma oder Semikolon. -ProcessBlackList.nameOverride = Prozess Negativ Liste -ProcessBlackList.tipOverride = Übersicht der Prozesse die Classic Explorer nicht ausführen dürfen. Verwenden Sie nur den Dateinamen des Prozesses (wie "notepad.exe"), trennen Sie mehrere Namen mit einem Komma oder Semikolon. -ToolbarItems.nameOverride = Schaltflächen der Werkzeugleiste -ToolbarItems.tipOverride = Wählen Sie die Schaltflächen aus die in der Werkzeugleiste angezeigt werden sollen.\nAm einfachsten erhalten Sie die richtige Bezeichnung für die Schaltfläche, wenn Sie die Schaltflächen im Menü für die Classic Explorer Einstellungen konfigurieren und dann den Registrierungswert "ToolbarItems" im Windows Registrierungschlüssel "HKCU\Software\OpenShell\ClassicExplorer\Settings" auslesen. - - -; os-specific -FileExplorer.nameOverride = Aktiviere Dialoge nur im Explorer (verbessert die Leistung) diff --git a/Src/Localization/German/ClassicIE.html b/Src/Localization/German/ClassicIE.html deleted file mode 100644 index d57c583..0000000 --- a/Src/Localization/German/ClassicIE.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - Classic IE - -

Open-Shell Webseite  -Classic IE


-Classic IE
-ist ein kleines Plugin fr den Internet Explorer mit folgenden Merkmalen:
-
    -
  • Fgt in der Titelleiste eine Beschriftung ein, so dass der vollstndige Titel der Seite gesehen werden kann
  • -
  • Zeigt die Sicherheitszone in der Statusleiste
  • -
  • Zeigt den Download-Fortschritt in der Statusleiste
  • -
-
-Zeigt den vollstndigen Seitentitel, auch wenn dieser nicht auf die Registerkarte passt:
-
-
Zeigt den Fortschritt und die Sicherheitszone:
-
-
-

Installation

-Wenn der Internet Explorer nach der Classic IE Installation zum ersten Mal ausgefhrt wird, kann es sein, dass eine Eingabeaufforderung ber die Installation des neuen Add-on ClassicIEBHO angezeigt wird und das Aktivieren des Add-on besttigt werden soll. Klicken Sie auf die Schaltflche Aktivieren. Wenn diese Eingabeaufforderung nicht angezeigt wird, gehen Sie auf Extras -> Add-Ons verwalten und stellen Sie sicher, dass ClassicIEBHO aktiviert ist. Nach der Aktivierung des Add-On muss der Internet Explorer zur endgltigen Plugin Aktivierung neu gestartet werden.
-
-

Einstellungen

-Die Einstellungen knnen ber Extras -> Classic IE Einstellungen -oder ber das Start-Men aufgerufen werden. ber die Einstellungen kann die Farbe und die Schriftart verndert werden und ausgewhlt werden welche Informationen auf der Statusleiste angezeigt werden.
-
-
Sie knnen die Grundeinstellungansicht auswhlen oder alle Einstellungen anzeigen lassen. Bewegen Sie den Mauszeiger ber die einzelnen Einstellungen, um eine Beschreibung der jeweiligen Option zu sehen. Verwenden Sie das Suchfeld, um eine Einstellung nach dem Namen zu suchen.
-Jede Einstellung hat einen Standardwert. Der Standardwert kann konstant sein oder kann von den aktuellen Systemeinstellungen abhngen. Sobald Sie eine Einstellung ndern, wird diese "modifiziert" und fett dargestellt. Um die Einstellung auf den Standardwert zurckzusetzen, muss auf die jeweilige Option mit der rechten Maustaste geklickt werden.
- -
-Sie knnen die Einstellungen in einer XML-Datei speichern und spter wieder laden. Um diese Funktion verwenden zu knnen, klicken Sie auf die Schaltflche Speichern. Dort knnen Sie auch alle Einstellungen auf ihren Standardwert zurcksetzen.
- - -
- - -Zum bernehmen der Einstellungen mssen Sie OK drcken. Zum Aktivieren der neuen Einstellungen muss der Internet Explorer neu gestartet Werden.
- - -
-

Administrative Einstellungen

-Die Einstellungen sind fr den aktuellen Benutzer und werden in der Registry gespeichert. Standardmig kann jeder Benutzer seine gesamten Einstellungen bearbeiten. Ein Administrator kann bestimmte Einstellungen sperren, so dass diese von keinem Benutzer bearbeiten werden knnen. Dies funktioniert dadurch, indem Sie die jeweilige Einstellung zu dem HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicIE Registrierungsschlssel hinzufgen.
-
-Vielleicht mchten Sie auch nicht eine Einstellung sperren, sondern nur den Ausgangswert berschreiben. Dann fgen Sie zu dem Namen des jeweiligen Registrierungswerts die Ergnzung "_Default" hinzu.
-
-Der einfachste Weg um den Namen des jeweiligen Registrierungswertes herauszufinden, ist eine Einstellung zu verndern und danach im Registrierungsschlssel HKEY_CURRENT_USER\Software\OpenShell\ClassicIE\Settingsnachzuschauen.
- -Manchmal mchten Sie vielleicht eine Einstellung unverndert auf ihren Standardwert belassen, ohne den Standardwert zu kennen. Dann erstellen Sie einen DWORD-Wert und setzen Sie ihn auf den Wert 0xDEFA.
- -
- -Es gibt auch die globale Einstellung EnableSettings. Setzen Sie diesen Wert in der Registrierung auf 0, um zu vermeiden, dass die Benutzer von selbst den Einstellungs-Dialog ffnen:
- -
- -
- diff --git a/Src/Localization/German/ClassicIEADMX.txt b/Src/Localization/German/ClassicIEADMX.txt deleted file mode 100644 index b63b450..0000000 --- a/Src/Localization/German/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell Einstellungen -State.text = Status: -State1.text = Auf diesen Wert gesperrt -State2.text = Auf Standardwert gesperrt -State3.text = Entsperrt -State1Help.text = Wenn Sie die Einstellung "Auf diesen Wert gesperrt" aktivieren, wird die Einstellung für alle Benutzer auf den angegebenen Wert gesperrt werden. -State2Help.text = Wenn Sie die Einstellung "Auf Standardwert gesperrt" aktivieren, wird die Einstellung für alle Benutzer auf den Standardwert gesperrt werden. Der benutzerdefinierte Wert wird ignoriert. -State3Help.text = Wenn Sie die Einstellung "Entsperrt" aktivieren, wird der Standardwert für die Einstellung auf den benutzerdefinierten Wert geändert. Der Einstellungswert kann durch den Benutzer verändert werden. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Classic IE Gruppenrichtlinien Einstellungen -SUPPORTED_CS404.text = Erfordert Open-Shell 4.0.4 oder neuer. -SUPPORTED_IE9.text = Erfordert Internet Explorer 9 oder neuer. - - -EnableSettings.nameOverride = Einstellungen aktivieren -EnableSettings.tipOverride = Erlaubt Benutzern, ihre eigene Einstellungen vorzunehmen -CaptionFont.tipAddition = .\n\nDas Format ist , , . Als Beispiel "Segoe UI, normal, 9" diff --git a/Src/Localization/German/License.html b/Src/Localization/German/License.html deleted file mode 100644 index 08cb748..0000000 --- a/Src/Localization/German/License.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - Endnutzer-Lizenzvereinbarung - -

Open-Shell Webseite  Endnutzer-Lizenzvereinbarung
-


-Open-Shell 2009-2017, Ivo Beltchev

-http://www.classicshell.net/
-
-DURCH BENUTZUNG DIESER SOFTWARE AKZEPTIEREN SIE DIESE VEREINBARUNG. WENN SIE SICH MIT DEN FOLGENDEN BESTIMMUNGEN NICHT EINVERSTANDEN ERKLREN, DRFEN SIE DIE SOFTWARE NICHT VERWENDEN.
-
-Wenn Sie dieser Lizenzvereinbarung zustimmen, haben Sie folgende Rechte:
-
-
    -
  1. -

    GLTIGKEITSBEREICH DER LIZENZ. Dieser Vertrag gibt Ihnen nur einen Teil der Rechte zur Verwendung der Software. Der Autor behlt sich weitere Rechte vor.

    -
  2. -
  3. -

    INSTALLATION UND NUTZUNG. Diese Software darf zur privaten und gewerblichen Nutzung frei verwendet werden. Sie knnen die Software kostenlos auf ihrem Computer installieren und benutzen.

    -
  4. -
  5. -

    VERBREITUNGSRECHTE. Sie drfen die Software berall verteilen und verbreiten, so lange Sie das kostenlos tun und nicht die Herkunft und den Autor der Software verndern.

    -
  6. -
  7. -

    MARKENRECHTE. Der Open-Shell Name und das Logo sind eingetragene Warenzeichen des Autors. Diese mit anderen Produkten in Verbindung zu bringen oder zu verwenden ist nicht gestattet.

    -
  8. -
  9. -

    HAFTUNGSAUSSCHLUSS. -DIE SOFTWARE WIRD IM "ISTZUSTAND" OHNE JEGLICHE GARANTIE BEREITGESTELLT. SMTLICHE GARANTIEN AUSDRCKLICHER ODER STILLSCHWEIGENDER ART SIND AUSGESCHLOSSEN, EINSCHLIESSLICH DER, ABER NICHT BEGRENZT AUF DIE GESETZLICHE GEWHRLEISTUNG DER MARKTGNGIGKEIT ODER VERWENDBARKEIT FR EINEN BESTIMMTEN ZWECK. IN KEINEM FALL WERDEN DIE AUTOREN ODER URHEBERRECHTSINHABER FR SCHDEN HAFTEN ODER SONSTIGE HAFTUNGEN BERNEHMEN, DIE AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DEREN VERWENDUNG ODER IN ANDEREN ZUSAMMENHNGEN MIT DER VERWENDUNG DER SOFTWARE ENTSTANDEN SIND.

    -
  10. -
  11. -

    ZUSAMMENGEFASST: -Grundstzlich darf man diese Software fr jeden Zweck frei verwenden, aber es kann nicht gewhrleistet werden, dass die Software in allen Bereichen so funktioniert, wie man es erwartet. Der Autor bernimmt keinerlei Verantwortung fr Schden, die Ihnen durch die Verwendung der Software entstanden sind. Sie knnen keine Einnahmen oder Gewinne durch einen Verkauf dieser Software erhalten. Sie erhalten die Software kostenfrei.

    -
  12. -
- - - diff --git a/Src/Localization/German/Links.html b/Src/Localization/German/Links.html deleted file mode 100644 index 65a401e..0000000 --- a/Src/Localization/German/Links.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Open-Shell - -

Open-Shell Webseite  Verweise


Die neuste Version kann ber die Open-Shell Webseite bezogen werden:
-http://www.classicshell.net/
-
-Projekt Versionsverlauf anzeigen:
-Versionsverlauf: http://www.classicshell.net/history/
-
-
-

Hilfe erhalten

-Antworten auf hufig gestellte Fragen anzeigen:
-FAQ: http://www.classicshell.net/faq/
- -
-Wenn keine Antwort bei den FAQs gefunden wird, bitte versuchen das Forum zu verwenden:
-Diskussions-Forum: http://www.classicshell.net/forum/viewforum.php?f=6
- -
-
-

Fehler melden

-Fehler und Verbesserungswnsche bitte im Entwickler-Forum melden:
-Entwickler-Forum: http://www.classicshell.net/forum/viewforum.php?f=11
- - diff --git a/Src/Localization/German/Main.html b/Src/Localization/German/Main.html deleted file mode 100644 index 2701aa6..0000000 --- a/Src/Localization/German/Main.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - Open-Shell - -

Open-Shell Webseite  Open-Shell

-Version 4.3.1 – Finale Version

-

Was ist Open-Shell?

-Open-Shell™ ist eine Sammlung von Bedienungsverbesserungen fr Windows. Es besteht aus einem anpassbaren Startmen und einem Start-Button, fgt im Windows Explorer eine Werkzeugleiste hinzu und stellt eine Vielzahl von kleinen Verbesserungen bereit.
-
-
-

System Anforderungen

-Open-Shell funktioniert unter Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, -Windows Server 2012 und Windows Server 2012 R2. Dabei werden sowohl die 32 und 64-bit Version untersttzt (die Setup-Datei funktioniert fr beide Versionen). Fr einige Startmen Skins muss das Aero-Theme aktiviert sein und fr andere Skins mindestens das Basic-Theme.
-
-
-

Programmteile


- -Open-Shell besteht aus drei Hauptprogrammteilen: -
-

Deeinstallation

-Open-Shell kann hierrber deeinstalliert werden Systemsteuerung -> Programme und Funktionen. Eine andere Mglichkeit ist die Setup-Datei nochmal aufzurufen und auf "Entfernen" zu gehen.
-Zum Abschluss des Vorgangs ist ein Neustart erforderlich.
-
- diff --git a/Src/Localization/German/MenuADMX.txt b/Src/Localization/German/MenuADMX.txt deleted file mode 100644 index 0b26a76..0000000 --- a/Src/Localization/German/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Open-Shell Einstellungen -State.text = Status: -State1.text = Auf diesen Wert gesperrt -State2.text = Auf Standardwert gesperrt -State3.text = Entsperrt -State1Help.text = Wenn Sie die Einstellung "Auf diesen Wert gesperrt" aktivieren, wird die Einstellung für alle Benutzer auf den angegebenen Wert gesperrt werden. -State2Help.text = Wenn Sie die Einstellung "Auf Standardwert gesperrt" aktivieren, wird die Einstellung für alle Benutzer auf den Standardwert gesperrt werden. Der benutzerdefinierte Wert wird ignoriert. -State3Help.text = Wenn Sie die Einstellung "Entsperrt" aktivieren, wird der Standardwert für die Einstellung auf den benutzerdefinierten Wert geändert. Der Einstellungswert kann durch den Benutzer verändert werden. - -MenuCat.text = Open-Shell Menü -MenuCatHelp.text = Classic IE Gruppenrichtlinien Einstellungen -SUPPORTED_CS404.text = Erfordert Open-Shell 4.0.4 oder neuer. -SUPPORTED_CS404_WIN7.text = Erfordert Windows 7. -SUPPORTED_CS404_WIN78.text = Erfordert Windows 7 oder Windows 8. -SUPPORTED_CS404_WIN781.text = Erfordert Windows 7 oder Windows 8.1. -SUPPORTED_CS404_WIN8.text = Erfordert Windows 8. -SUPPORTED_CS404_WIN881.text = Erfordert Windows 8 oder Windows 8.1. -SUPPORTED_CS404_WIN81.text = Erfordert Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Erfordert Classic Menü Design mit einer Spalte. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Erfordert Classic Menü Design mit zwei Spalten. -SUPPORTED_CS404_CLASSIC_STYLE.text = Erfordert Classic Menü Design. -SUPPORTED_CS404_WIN7_STYLE.text = Erfordert Windows 7 Menü Design. - - -EnableSettings.nameOverride = Einstellungen aktivieren -EnableSettings.tipOverride = Erlaubt Benutzern, ihre eigene Einstellungen vorzunehmen - -MenuStyle.nameOverride = Menü Design -MenuStyle.tipOverride = Wählen Sie das Design für das Startmenü aus.\nDas Design bestimmt das Erscheinungsbild und die Funktionen des Menüs. -MenuStyle_Classic1.nameOverride = Classic mit einer Spalte -MenuStyle_Classic2.nameOverride = Classic mit zwei Spalten -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Linksklick öffnet -ShiftClick.nameOverride = Shift+Klick öffnet -WinKey.nameOverride = Windows Taste öffnet -ShiftWin.nameOverride = Shift+Win öffnet -MiddleClick.nameOverride = Mittelklick öffnet -Hover.nameOverride = Überfahren öffnet - -; skins -SkinC1.nameOverride = Layout für das Classic Menü Design mit einer Spalte -SkinC1.tipOverride = Wählen Sie das Layout für die Verwendung des Classic Menü Designs mit einer Spalte aus -SkinVariationC1.nameOverride = Layout Variationen für das Classic Menü Design mit einer Spalte -SkinVariationC1.tipOverride = Wählen Sie die Layout Variation für die Verwendung des Classic Menü Designs mit einer Spalte (für Layouts die mehrere Variationen unterstützen) -SkinOptionsC1.nameOverride = Layout Optionen für das Classic Menü Design mit einer Spalte -SkinOptionsC1.tipOverride = Wählen Sie die Layout Optionen für die Verwendung des Classic Menü Designs mit einer Spalte.\nDie Optionen bestehen aus einer Liste von Hexadezimalen Nummern. Am einfachsten ist es die Optionen in den Open-Shell Menü Einstellungen anzupassen und dann aus dem Registrierungswert "SkinOptionsC1" in dem Registrierungsschlüssel "HKCU\Software\OpenShell\StartMenu\Settings" auszulesen -MenuItems1.nameOverride = Menü Einträge für das Classic Menü Design mit einer Spalte -MenuItems1.tipOverride = Wählen Sie die Menüeinträge die in dem Classic Menü Design mit einer Spalte verwendet werden.\nAm einfachsten erhalten Sie die richtige Bezeichnung, wenn Sie die Einträge in den Open-Shell Menü Einstellungen konfigurieren und dann den Registrierungswert "MenuItems1" im Windows Registrierungschlüssel "HKCU\Software\OpenShell\StartMenu\Settings" auslesen. -SkinC2.nameOverride = Layout für das Classic Menü Design mit zwei Spalten -SkinC2.tipOverride = Wählen Sie das Layout für die Verwendung des Classic Menü Designs mit zwei Spalten aus -SkinVariationC2.nameOverride = Layout Variationen für das Classic Menü Design mit zwei Spalten -SkinVariationC2.tipOverride = Wählen Sie die Layout Variation für die Verwendung des Classic Menü Designs mit zwei Spalten (für Layouts die mehrere Variationen unterstützen) -SkinOptionsC2.nameOverride = Layout Optionen für das Classic Menü Design mit zwei Spalten -SkinOptionsC2.tipOverride = Wählen Sie die Layout Optionen für die Verwendung des Classic Menü Designs mit zwei Spalten.\nDie Optionen bestehen aus einer Liste von Hexadezimalen Nummern. Am einfachsten ist es die Optionen in den Open-Shell Menü Einstellungen anzupassen und dann aus dem Registrierungswert "SkinOptionsC2" in dem Registrierungsschlüssel "HKCU\Software\OpenShell\StartMenu\Settings" auszulesen -MenuItems2.nameOverride = Menü Einträge für das Classic Menü Design mit zwei Spalten -MenuItems2.tipOverride = Wählen Sie die Menüeinträge die in dem Classic Menü Design mit zwei Spalten verwendet werden.\nAm einfachsten erhalten Sie die richtige Bezeichnung, wenn Sie die Einträge in den Open-Shell Menü Einstellungen konfigurieren und dann den Registrierungswert "MenuItems2" im Windows Registrierungschlüssel "HKCU\Software\OpenShell\StartMenu\Settings" auslesen. -SkinW7.nameOverride = Layout für das Windows 7 Design -SkinW7.tipOverride = Wählen Sie das Layout für die Verwendung des Windows 7 Designs -SkinVariationW7.nameOverride = Layout Variationen für das Windows 7 Design -SkinVariationW7.tipOverride = Wählen Sie die Layout Variation für die Verwendung des Windows 7 Designs (für Layouts die mehrere Variationen unterstützen) -SkinOptionsW7.nameOverride = Layout Optionen für das Windows 7 Design -SkinOptionsW7.tipOverride = Wählen Sie die Layout Optionen für Verwendung des Windows 7 Designs.\nDie Optionen bestehen aus einer Liste von Hexadezimalen Nummern. Am einfachsten ist es die Optionen in den Open-Shell Menü Einstellungen anzupassen und dann aus dem Registrierungswert "SkinOptionsW7" in dem Registrierungsschlüssel "HKCU\Software\OpenShell\StartMenu\Settings" auszulesen -MenuItems7.nameOverride = Menü Einträge für das Windows 7 Design -MenuItems7.tipOverride = Wählen Sie die Menüeinträge die in dem Windows 7 style.\nverwendet werden.\nAm einfachsten erhalten Sie die richtige Bezeichnung, wenn Sie die Einträge in den Open-Shell Menü Einstellungen konfigurieren und dann den Registrierungswert "MenuItems7" im Windows Registrierungschlüssel "HKCU\Software\OpenShell\StartMenu\Settings" auslesen. - -; windows 7 -SkinA.nameOverride = Layout für das "Alle Programme" Untermenü im Windows 7 Start Menü -SkinA.tipOverride = Wählen Sie das Layout für die Verwendung des "Alle Programme" Untermenüs im Windows 7 Start Menü -SkinVariationA.nameOverride = Layout Variation für das "Alle Programme" Untermenü im Windows 7 Start Menü -SkinVariationA.tipOverride = Wählen Sie die Layout Variation für die Verwendung des "Alle Programme" Untermenü im Windows 7 Start Menü (für Layouts die mehrere Variationen unterstützen) -SkinOptionsA.nameOverride = Layout Optionen für das "Alle Programme" Untermenü im Windows 7 Start Menü -SkinOptionsA.tipOverride = Wählen Sie die Layout Optionen für die Verwendung des "Alle Programme" Untermenü im Windows 7 Start Menü.\nDie Optionen bestehen aus einer Liste von Hexadezimalen Nummern. Am einfachsten ist es die Optionen in den Open-Shell Menü Einstellungen anzupassen und dann aus dem Registrierungswert "SkinOptionsA" in dem Registrierungsschlüssel "HKCU\Software\OpenShell\StartMenu\Settings" auszulesen - -; metro settings -SkipMetro.tipAddition = Diese Einstellung ist nicht für Windows 8.1 verfügbar. Sie müssen die in Windows integrierte Einstellung zum Booten im Desktop Modus verwenden - -; hidden -FolderStartMenu.nameOverride = Start Menü Ordner -FolderStartMenu.tipOverride = Geben Sie ein override für den Benutzer Start Menü Ordner ein (überschreibt auch den Benutzer Programme Ordner).\nDer Verzeichnispfad darf Umgebungsvariablen enthalten.\nHinweis: Diese Einstellung kann nicht über das Einstellungsmenü verändert werden -FolderPrograms.nameOverride = Programme Ordner -FolderPrograms.tipOverride = Geben Sie ein override für den Benutzer Programme Ordner ein.\nTDer Verzeichnispfad darf Umgebungsvariablen enthalten.\nHinweis: Diese Einstellung kann nicht über das Einstellungsmenü verändert werden -FolderCommonStartMenu.nameOverride = Gemeinsamer Start Menü Ordner -FolderCommonStartMenu.tipOverride = Geben Sie ein override für den gemeinsamen Start Menü Ordner (überschreibt auch den gemeinsamen Programme Ordner).\nDer Verzeichnispfad darf Umgebungsvariablen enthalten.\nHinweis: Diese Einstellung kann nicht über das Einstellungsmenü verändert werden -FolderCommonPrograms.nameOverride = Gemeinsamer Programme Ordner -FolderCommonPrograms.tipOverride = Geben Sie ein override für den gemeinsamen Programme Ordner.\nDer Verzeichnispfad darf Umgebungsvariablen enthalten.\nHinweis: Diese Einstellung kann nicht über das Einstellungsmenü verändert werden -AutoStartDelay.nameOverride = Auto-Start Verzögerung -AutoStartDelay.tipOverride = Geben Sie eine Zeitverzögerung in Millisekunden ein, wenn das Start Menü automatisch während des Logins gestartet werden soll (funktioniert nicht wenn das Start Menü manuell durch das Ausführen von StartMenu.exe gestartet werden soll).\nHinweis: Diese Einstellung kann nicht über das Einstellungsmenü verändert werden - -; other -StartButtonIcon.tipAddition = Der Eintrag kann ein Dateipfad zu einer ICO-Datei oder ein Dateipfad zu einer EXE/DLL-Datei sein und die ID eines Symbols -StartButtonPath.tipAddition = Der Eintrag ist ein vollständiger Dateipfad zu einer BMP- oder PNG-Datei -SoundMain.tipAddition = Der Eintrag kann ein Name eines Systemereignisses oder ein Dateipfad zu einer WAV-Datei sein -SoundPopup.tipAddition = Der Eintrag kann ein Name eines The value can be a name of a system event oder a path to a WAV file -SoundCommand.tipAddition = Der Eintrag kann ein Name eines The value can be a name of a system event oder a path to a WAV file -SoundDrop.tipAddition = Der Eintrag kann ein Name eines The value can be a name of a system event oder a path to a WAV file -ExpandFolderLinks.tipAddition = Funktioniert nur für symbolische Verweise (wie Junctions) und nicht für plain Verknüpfungen -StartHoverDelay.nameOverride = Hover Verzögerung (für den Start Button) -AllProgramsDelay.nameOverride = Hover Verzögerung (für "Alle Programme" in Windows 7) -CSMHotkey.tipAddition = .\n\nDer Grundwert ist der virtuelle Hauptschlüssel Code. Ergänze 256 für die Shift-Taste, 512 für Steuerungs-Taste und 1024 für die Alt-Taste.\nAm einfachsten erhalten Sie den richtigen Wert, wenn Sie den Hotkey in den Open-Shell Menü Einstellungen auswählen und dann den Registrierungswert "CSMHotkey" im Windows Registrierungschlüssel "HKCU\Software\OpenShell\StartMenu\Settings" auslesen. -WSMHotkey.tipAddition = .\n\nDer Grundwert ist der virtuelle Hauptschlüssel Code. Ergänze 256 für die Shift-Taste, 512 für Steuerungs-Taste und 1024 für die Alt-Taste.\nAm einfachsten erhalten Sie den richtigen Wert, wenn Sie den Hotkey in den Open-Shell Menü Einstellungen auswählen und dann den Registrierungswert "WSMHotkey" im Windows Registrierungschlüssel "HKCU\Software\OpenShell\StartMenu\Settings" auslesen. diff --git a/Src/Localization/German/OpenShell.hhp b/Src/Localization/German/OpenShell.hhp deleted file mode 100644 index 3237197..0000000 --- a/Src/Localization/German/OpenShell.hhp +++ /dev/null @@ -1,16 +0,0 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=OpenShell.chm -Contents file=OpenShellTOC.hhc -Default topic=Main.html -Display compile progress=Yes -Language=0x409 English (United States) - - -[FILES] -ClassicExplorer.html -Menu.html -ClassicIE.html - -[INFOTYPES] - diff --git a/Src/Localization/German/OpenShellADMX.txt b/Src/Localization/German/OpenShellADMX.txt deleted file mode 100644 index 6ad966c..0000000 --- a/Src/Localization/German/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Open-Shell Einstellungen -State.text = Status: -State1.text = Auf diesen Wert gesperrt -State2.text = Auf Standardwert gesperrt -State3.text = Entsperrt -State1Help.text = Wenn Sie die Einstellung "Auf diesen Wert gesperrt" aktivieren, wird die Einstellung für alle Benutzer auf den angegebenen Wert gesperrt werden. -State2Help.text = Wenn Sie die Einstellung "Auf Standardwert gesperrt" aktivieren, wird die Einstellung für alle Benutzer auf den Standardwert gesperrt werden. Der benutzerdefinierte Wert wird ignoriert. -State3Help.text = Wenn Sie die Einstellung "Entsperrt" aktivieren, wird der Standardwert für die Einstellung auf den benutzerdefinierten Wert geändert. Der Einstellungswert kann durch den Benutzer verändert werden. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Classic Explorer Gruppenrichtlinien Einstellungen -SUPPORTED_CS404.text = Erfordert Open-Shell 4.0.4 oder neuer. - -Language.nameOverride = Sprache der Open-Shell Erweiterungen -Language.tipOverride = Wählen Sie die Sprache für die Open-Shell Benutzeroberfläche aus (als Beispiel en-US oder de-DE). Die ausgewählte Sprache wirkt sich auf das Startmenü, die Werkzeugleisten und weitere Bereiche aus. Wenn die entsprechende Sprach-DLL Datei installiert ist, wird der Einstellungsdialog auch übersetzt. -Update.nameOverride = Aktiviert automatische Überprüfungen auf neue Versionsaktualisierungen. -tipOverride = Wenn dies aktiviert ist, wird wöchentlich überprüft ob eine neue Open-Shell Version verfügbar ist. Sie werden benachrichtigt wenn es eine neue Version der Open-Shell Software gibt oder wenn es eine Aktualisierung für die installierte Sprachendatei gibt. diff --git a/Src/Localization/German/OpenShellEULA.rtf b/Src/Localization/German/OpenShellEULA.rtf deleted file mode 100644 index d7b55cb..0000000 Binary files a/Src/Localization/German/OpenShellEULA.rtf and /dev/null differ diff --git a/Src/Localization/German/OpenShellReadme.rtf b/Src/Localization/German/OpenShellReadme.rtf deleted file mode 100644 index 08b0936..0000000 --- a/Src/Localization/German/OpenShellReadme.rtf +++ /dev/null @@ -1,105 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset0 Calibri;}{\f2\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52 Open-Shell\par - -\pard\widctlpar\cf0\expndtw0\b0\i0\f1\fs22\par -Vielen Dank f\'fcr die Installation von \cf3\b Open-Shell\'99\cf0\b0 . Durch Open-Shell werden in Windows 7, Windows 8, Windows 8.1 und Windows 10 einige fehlende Funktionen aus fr\'fcheren Windows Versionen hinzugef\'fcgt - wie ein klassisches Startmen\'fc, eine Starttaste (Startschaltfl\'e4che mit Windows Symbol), eine Werkzeugleiste f\'fcr den Windows Explorer und andere Funktionen.\par -\par -Die aktuellste Version befindet sich auf der Open-Shell Webseite:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f1\fs22\par -\par -H\'e4ufig gestellte Fragen werden hier beantwortet:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f1\fs22\par -\par -Oder nutzen Sie das Diskussionsforum f\'fcr weitere Hilfe:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f1\fs22\par -\par -Fehlermeldungen bitte im Open-Shell Entwickler Forum melden:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f1\fs22\par -\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Open-Shell Men\'fc\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Open-Shell Men\'fc\cf0 \b0 ist ein flexibles Startmen\'fc, dass die Men\'fccharakteristik von Windows 2000, XP und Windows 7 nachbilden kann. Es hat eine Vielzahl von erweiterten Funktionen:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Auswahl zwischen \ldblquote Classic\rdblquote und \ldblquote Windows 7\rdblquote Design\par -{\pntext\f2\'B7\tab}Organisieren der Anwendungen \'fcber \ldblquote Drag & Drop\rdblquote\par -{\pntext\f2\'B7\tab}Optionen zum Anzeigen der Favoriten, Erweitern der Systemsteuerung und vieles mehr\par -{\pntext\f2\'B7\tab}Anzeigen der zuletzt verwendeten Dokumente. Die Anzahl der Anzeige der zuletzt verwendeten Dokumente ist ver\'e4nderbar\par -{\pntext\f2\'B7\tab}\'dcbersetzt in 35 Sprachen, einschlie\'dflich Rechts-nach-Links Unterst\'fctzung f\'fcr arabische und hebr\'e4ische Sprachen\par -{\pntext\f2\'B7\tab}Das original Windows Startmen\'fc wird nicht deaktivert. Es kann beim \'dcberfahren der Starttaste mit den Tasten Shift+Click weiterhin aufgerufen werden\par -{\pntext\f2\'B7\tab}\'dcber die rechte Maustaste kann ein Men\'fceintrag gel\'f6scht, umbenannt, sortiert oder f\'fcr andere Aktionen verwendet werden\par -{\pntext\f2\'B7\tab}\'dcber das Suchfeld k\'f6nnen Programme und Dateien gefunden werden, die nicht \'fcber eine Tastenverkn\'fcpfung erreicht werden\par -{\pntext\f2\'B7\tab}Unterst\'fctzt Jumplisten f\'fcr einen einfachen Zugang der zuletzt aufgerufenen Dokumenten und gemeinsamen Aufgaben\par -{\pntext\f2\'B7\tab}Unterst\'fctzt 32 und 64-Bit Betriebssysteme\par -{\pntext\f2\'B7\tab}Unterst\'fctzt Skin-Dateien, einschlie\'dflich zus\'e4tzlicher Drittanbieter Skin-Dateien. Erstellen Sie ihr eigenes Design!\par -{\pntext\f2\'B7\tab}In beiden Windows-Grunddesigns und allen Funktionalit\'e4ten vollst\'e4ndig anpassbar\par -{\pntext\f2\'B7\tab}Unterst\'fctzt Microsoft\rquote s Active Zugang\par -{\pntext\f2\'B7\tab}Konvertiert die \ldblquote Alle Programme\rdblquote Schaltfl\'e4che im Windows Men\'fc in ein unterteilbares Men\'fc\par -{\pntext\f2\'B7\tab}Implementiert eine anpassbare Starttaste (Startschaltfl\'e4che mit Windows Symbol)\par -{\pntext\f2\'B7\tab}Kann Windows Store Apps (Windows 8) anzeigen, suchen und ausf\'fchren\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic Explorer\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic Explorer\cf0 \b0 ist ein Plugin f\'fcr den Windows Explorer, mit folgenden Funktionen:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 F\'fcgt im Explorer eine Symbolleiste f\'fcr einige gemeinsame Dateivorg\'e4nge hinzu (Zum \'fcbergeordneten Ordner navigieren, Ausschneiden, Kopieren, Einf\'fcgen, L\'f6schen, Eigenschaften, Email). Die Symbolleiste kann vollst\'e4ndig angepasst werden\par -{\pntext\f2\'B7\tab}Ersetzt den Windows 7 Kopier-Dialog durch die benutzerfreundlichere Windows XP \'e4hnliche "Classic"-Version\par -{\pntext\f2\'B7\tab}Steuert die Tastenkombination Alt+Enter in der Ordneransicht im Windows Explorer und zeigt die Eigenschaften des ausgew\'e4hlten Ordners\par -{\pntext\f2\'B7\tab}Optionen zum Anpassen der Ordnerdarstellung an eine Windows XP \'e4hnlichere Darstellung oder um das Ausblenden der Vergr\'f6\'dferungsschaltfl\'e4chen zu deaktivieren\par -{\pntext\f2\'B7\tab}Kann den freien Speicherplatz und die Gesamtgr\'f6\'dfe der ausgew\'e4hlten Dateien in der Statusleiste anzeigen\par -{\pntext\f2\'B7\tab}Kann die Brotkrumennavigation in der Adresszeile deaktivieren\par -{\pntext\f2\'B7\tab}Verbessert eine gro\'dfe Anzahl von Funktionen, die in Windows 7 fehlerhaft sind - fehlende Symboleinblendungen f\'fcr freigegebene Ordner, die wechselnden Ordner im Navigationsbereich, die fehlende \'dcberschriftensortierung in der Listenansicht und vieles mehr\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic IE\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic IE ist ein Plugin f\'fcr den Internet Explorer 9 und neuere Versionen, mit folgenden Funktionen:\par -\cf0\b0\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 F\'fcgt zur Titelleiste eine Beschriftung hinzu, so dass der gesamte Titel der Seite angezeigt wird\par -{\pntext\f2\'B7\tab}Zeigt die Sicherheitszone in der Statusleiste\par -{\pntext\f2\'B7\tab}Zeigt den Download Fortschritt in der Statusleiste\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Installationsanleitung\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -Die Symbolleiste f\'fcr den Windows Explorer wird nach der Installation m\'f6glicherweise nicht automatisch angezeigt. Sie m\'fcssen erst ein paar Aktionen durchf\'fchren, bevor die Symbolleiste verwendet werden kann.\par -\par -\cf3\b Windows 7:\cf0\b0 Dr\'fccken Sie Alt+V um die Men\'fc Ansicht zu \'f6ffnen. \'d6ffnen Sie das "Symbolleisten" Untermen\'fc und w\'e4hlen Sie "Classic Exlporer Leiste". Beachten Sie, dass das Men\'fc immer solange angezeigt wird, wie auch die Symbolleiste sichtbar ist.\par -\par -\cf3\b Windows 8:\cf0\b0 Dr\'fccken Sie Alt+V um die Ribbon Ansicht zu \'f6ffnen. Klicken Sie im Abschnitt "Optionen" auf den Pfeil nach unten. W\'e4hlen Sie "Classic Explorer Leiste".\par -\par -Wenn diese Schritte nicht funktionieren, kann es m\'f6glich sein, dass die Explorer Erweiterungen deaktiviert sind. \'dcberpr\'fcfen Sie die folgenden Schritte und versuchen anschlie\'dfend noch mal die Symbolleiste anzuzeigen:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720\'d6ffnen Sie den Internet Explorer und gehen auf Extras ->Add-Ons verwalten. \'dcberpr\'fcfen Sie die Add-Ons "Classic Explorer Leiste" und "ExplorerBHO Class" und stellen Sie sicher, dass diese aktiviert sind\par -{\pntext\f1 2)\tab}M\'f6glicherweise sind die Browser Erweiterungen auf ihrem System deaktiviert. Das ist normalerweise die Standardeinstellung f\'fcr einen Windows Server. \'d6ffnen Sie die "Internet Optionen", gehen auf die Registerkarte "Erweitert" und \'fcberpr\'fcfen ob die "Drittanbieter Browser Erweiterungen" aktiviert sind.\par - -\pard\widctlpar\par -Unter Windows 7 muss die Statusleiste \'fcber die Men\'fc Ansicht abgeschaltet werden, sofern die Dateigr\'f6\'dfe angezeigt werden soll. Unter Windows 8 ist die Classic Explorer Statusleiste eine andere als die Statusleiste im Explorer. Die Startleiste aus dem Classic Explorer k\'f6nnen Sie \'fcber den Classic Explorer Einstellungsdialog anzeigen/verstecken und die Statusleiste aus dem Explorer k\'f6nnen Sie \'fcber den Explorer Ordneroptionen Dialog anzeigen/verstecken.\par -\par -M\'f6glicherweise wird die Beschriftung im Internet Explorer nicht automatisch nach der Installation angezeigt. Eventuell erhalten Sie eine Aufforderung das "ClassicIEBHO Plugin zu aktivieren". Wenn Sie die Eingabeaufforderung erhalten, w\'e4hlen Sie "Aktivieren". Wenn Sie die Eingabeaufforderung nicht bekommen, gehen Sie auf Extras -> Add-Ons verwalten und stellen sicher, dass das Add-on "ClassicIEBHO" aktiviert ist. Danach m\'fcssen Sie den Internet Explorer neu starten.\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Deinstallation\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -Um \cf3\b Open-Shell\cf0\b0 zu deinstallieren bitte die nachfolgenden Schritte ausf\'fchren:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720\b Systemsteuerung -> Programme und Funktionen\b0 \'f6ffnen und auf \b Open-Shell\b0 klicken. Danach den Anweisungen folgen. Anschlie\'dfend muss Windows neu gestartet werden, damit der Vorgang vollst\'e4ndig abgeschlossen wird.\par -{\pntext\f1 2)\tab}Sofern f\'fcr das Startmen\'fc nachtr\'e4glich zus\'e4tzliche Skin-Dateien installiert worden sind, m\'fcssen diese anschlie\'dfend manuell deinstalliert werden\par - -\pard\widctlpar\par - -\pard\widctlpar\sa200\sl276\slmult1\par -} - diff --git a/Src/Localization/German/OpenShellTOC.hhc b/Src/Localization/German/OpenShellTOC.hhc deleted file mode 100644 index 9835e23..0000000 --- a/Src/Localization/German/OpenShellTOC.hhc +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -
    -
  • - - - - -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
  • - - - - -
- diff --git a/Src/Localization/German/OpenShellText-de-DE.wxl b/Src/Localization/German/OpenShellText-de-DE.wxl deleted file mode 100644 index 0930786..0000000 --- a/Src/Localization/German/OpenShellText-de-DE.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - Dieses Installationsprogramm funktioniert nur mit der 32-bit Windows Version. Für die 64-bit Windows Version muss die Setup64.exe verwendet werden. - Für Open-Shell ist Windows 7 oder eine neuere Windows Version erforderlich. - Es ist schon eine neuere [ProductName] Version installiert. Die Installation wird beendet. - Classic Explorer - Classic Explorer fügt eine Werkzeugleiste im Windows Explorer ein, ersetzt den Kopier-Dialog und verbessert einige Benutzerdialoge. - Open-Shell Menü - Open-Shell Menü ist ein sehr umfangreich anpassbarer Ersatz für das Windows Start Menü - Classic IE - Classic IE ermöglicht die Anpassung der Internet Explorer Titelleiste und der Statusleiste - Open-Shell Aktualisierung - Open-Shell Aktualisierung überprüft regelmäßig auf eine neue Versionen - Open-Shell Dokumentation anzeigen - Open-Shell Einführung anzeigen - Classic Explorer Einstellungen bearbeiten - Open-Shell Menü Einstellungen bearbeiten - Einstellungen der Internet Explorer Titelleiste und der Statusleiste bearbeiten - Einstellungen für die Überprüfung auf eine neue Open-Shell Version - Startmenü Ordner erstellen - Open-Shell Internetseite - Für Open-Shell spenden - Besuche uns auf Facebook - Liesmich Datei anzeigen - Open-Shell Hilfe - Open-Shell Liesmich - Open-Shell Aktualisierung - Classic Explorer Einstellungen - Open-Shell Menü Einstellungen - Classic IE Einstellungen - Startbildschirm öffnen - Open-Shell ist eine Sammlung von Bedienungsverbesserungen für Windows - diff --git a/Src/Localization/German/WixUI_de-DE.wxl b/Src/Localization/German/WixUI_de-DE.wxl deleted file mode 100644 index b55fc87..0000000 --- a/Src/Localization/German/WixUI_de-DE.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Zurück - &Weiter - Abbrechen - &Fertig stellen - &Wiederholen - &Ignorieren - &Ja - &Nein - OK - &Drucken - - [ProductName]-Setup - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lesen Sie die Lizenzbedingungen für [ProductName]. - Ich &stimme den Bedingungen der Lizenzvereinbarung zu. - Klicken Sie auf "Installieren", um das Produkt mit Standardoptionen für alle Benutzer zu installieren. Klicken Sie auf "Erweitert", um die Installationsoptionen zu ändern. - Klicken Sie auf "Installieren", um das Produkt mit Standardoptionen nur für Sie zu installieren. Klicken Sie auf "Erweitert", um die Installationsoptionen zu ändern. - &Installieren - &Erweitert - 8 - 12 - 9 - 8 - Tahoma - - [ProductName]-Setup - &Suchen in: - WixUI_Bmp_Up - Eine Ebene nach oben - WixUI_Bmp_New - Neuen Ordner erstellen - &Ordnername: - WixUI_Bmp_Banner - Zielordner suchen - {\WixUI_Font_Title}Zielordner ändern - - [ProductName]-Setup - Möchten Sie die Installation von [ProductName] wirklich abbrechen? - WixUI_Ico_Info - Informationssymbol - - [ProductName]-Setup - Auswahlstruktur - Du&rchsuchen... - Zurück&setzen - Datenträger&verwendung - WixUI_Bmp_Banner - Klicken Sie in der Struktur unten auf die Symbole, um den Installationstyp der einzelnen Funktionen zu ändern. - Wählen Sie aus, wie die Funktionen installiert werden sollen. - {\WixUI_Font_Title}Benutzerdefiniertes Setup - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Ort: - - [ProductName]-Setup - WixUI_Bmp_Banner - Die hervorgehobenen Laufwerke weisen nicht genügend Speicherplatz für die ausgewählten Funktionen auf. Sie können entweder Dateien von den hervorgehobenen Laufwerken entfernen, weniger Funktionen installieren oder andere Ziellaufwerke bestimmen. - Der für die Installation der ausgewählten Funktionen erforderliche Speicherplatz. - {\WixUI_Font_Title}Speicherplatzbedarf auf dem Datenträger - {120}{70}{70}{70}{70} - - [ProductName]-Setup - Informationstext - WixUI_Ico_Info - Informationssymbol - - [ProductName]-Setup - WixUI_Bmp_Dialog - Klicken Sie auf "Fertig stellen", um den Setup-Assistenten zu beenden. - {\WixUI_Font_Bigger}Der Setup-Assistent für [ProductName] wurde abgeschlossen. - - [ProductName]-Setup - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Der Setup-Assistent für [ProductName] wurde vorzeitig beendet. - Der Setup-Assistent für [ProductName] wurde aufgrund eines Fehlers vorzeitig beendet. Das System wurde nicht verändert. Sie müssen den Setup-Assistenten erneut ausführen, um dieses Programm zu einem späteren Zeitpunkt zu installieren. - Klicken Sie auf "Fertig stellen", um den Setup-Assistenten zu beenden. - - [ProductName]-Setup - Produktfunktionen - WixUI_Bmp_Banner - Wählen Sie aus, wie die Funktionen installiert werden sollen. - {\WixUI_Font_Title}Produktfunktionen - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installieren - &Ändern - - [ProductName]-Setup - Be&enden - WixUI_Bmp_Banner - Folgende Anwendungen verwenden Dateien, die aktualisiert werden müssen. Schließen Sie diese Anwendungen, und klicken Sie auf "&Wiederholen", um die Installation fortzusetzen, oder auf "Beenden", um den Vorgang zu beenden. - Einige Dateien, die aktualisiert werden müssen, werden zurzeit verwendet. - {\WixUI_Font_Title}Dateien werden verwendet - - [ProductName]-Setup - &Ändern... - {\WixUI_Font_Title}Zielordner - Klicken Sie auf "Weiter", um die Installation im Standardordner vorzunehmen, oder klicken Sie auf 'Ändern', um einen anderen Ordner auszuwählen. - WixUI_Bmp_Banner - [ProductName] installieren in: - - [ProductName]-Setup - WixUI_Bmp_Banner - Wählen Sie Installationsumfang und -ordner - {\WixUI_Font_Title}Installationsumfang - {\WixUI_Font_Emphasized}&Nur für mich installieren ([LogonUser]) - [ProductName] wird in einem Benutzerordner installiert und steht nur unter Ihrem Benutzerkonto zur Verfügung. Sie benötigen keine Administratorberechtigungen. - [ProductName] unterstützt keine Installation für einzelne Benutzer. - {\WixUI_Font_Emphasized}Für alle Benutzer dieses &Computers installieren - [ProductName] wird in einem Computerordner erstellt und steht allen Benutzern zur Verfügung. Sie können den Standardinstallationsordner ändern. Sie benötigen dazu lokale Administratorberechtigungen. - Installations&ordner: - &Ändern... - - [ProductName]-Setup - Das Installationsverzeichnis muss sich auf einer lokalen Festplatte befinden. - WixUI_Ico_Info - Informationssymbol - - [ProductName]-Setup - Ich &stimme den Bedingungen der Lizenzvereinbarung zu. - WixUI_Bmp_Banner - Lesen Sie die nachfolgenden Lizenzbedingungen aufmerksam durch - {\WixUI_Font_Title}Lizenzbedingungen - - [ProductName]-Setup - &Ändern - Installation ändern - Re&parieren - Installation reparieren - &Entfernen - Installation entfernen - WixUI_Bmp_Banner - Wählen Sie den gewünschten Vorgang aus. - {\WixUI_Font_Title}Ändern, Reparieren oder Entfernen der Installation - Ermöglicht eine benutzerspezifische Anpassung der installierten Funktionen. - [ProductName] verfügt nicht über unabhängig voneinander auswählbare Funktionen. - Entfernt [ProductName] vom Computer. - [ProductName] kann nicht entfernt werden. - Repariert das zuletzt installierte Programm durch Berichtigen von fehlenden und beschädigten Dateien, Verknüpfungen und Registrierungseinträgen. - [ProductName] kann nicht repariert werden. - - [ProductName]-Setup - WixUI_Bmp_Dialog - Mit dem Setup-Assistenten können Sie die Installationsart der [ProductName]-Funktionen auf dem Computer ändern oder das Produkt vom Computer entfernen. Klicken Sie auf "Weiter", um den Vorgang fortzusetzen, bzw. auf "Abbrechen", um den Setup-Assistenten zu beenden. - {\WixUI_Font_Bigger}Willkommen beim Setup-Assistenten von [ProductName] - - [ProductName]-Setup - WixUI_Bmp_Banner - Folgende Anwendungen verwenden Dateien, die aktualisiert werden müssen. Sie können diese vom Setup-Assistenten schließen lassen und versuchen, sie neu zu starten, oder Sie führen später einen Neustart des Computers aus. - Einige Dateien, die aktualisiert werden müssen, werden zurzeit verwendet. - {\WixUI_Font_Title}Dateien werden verwendet - &Anwendungen zuerst schließen und dann neu starten - Anwendungen &nicht schließen (späterer Neustart erforderlich) - - [ProductName]-Setup - WixUI_Bmp_Banner - Die hervorgehobenen Volumes verfügen nicht über genügend Speicherplatz für die aktuell ausgewählten Funktionen. Sie können einige Dateien von diesen Volumes entfernen, weniger Funktionen installieren oder ein anderes Ziellaufwerk auswählen. - Für die Installation ist nicht genügend Speicherplatz verfügbar. - {\WixUI_Font_Title}Nicht genügend Speicherplatz - {120}{70}{70}{70}{70} - - [ProductName]-Setup - WixUI_Bmp_Banner - Die hervorgehobenen Volumes verfügen nicht über genügend Speicherplatz für die aktuell ausgewählten Funktionen. Sie können einige Dateien von diesen Volumes entfernen, weniger Funktionen installieren oder ein anderes Ziellaufwerk auswählen. - Für die Installation ist nicht genügend Speicherplatz verfügbar. - {\WixUI_Font_Title}Nicht genügend Speicherplatz - {120}{70}{70}{70}{70} - Alternativ können Sie die Rollbackfunktion des Installationsprogramms deaktivieren. Das Deaktivieren des Rollbacks verhindert, dass das Installationsprogramm den Ursprungszustand des Computers wiederherstellen kann, wenn die Installation unterbrochen werden sollte. Klicken Sie auf "Ja", wenn Sie das Risiko eingehen möchten, das Rollback zu deaktivieren. - - [ProductName]-Setup - WixUI_Bmp_Dialog - Warten Sie, während die Installation vorbereitet wird. - {\WixUI_Font_Bigger}Willkommen beim Setup-Assistenten von [ProductName] - - [ProductName]-Setup - WixUI_Bmp_Banner - Warten Sie, während [ProductName] vom Setup-Assistenten installiert wird. - {\WixUI_Font_Title}[ProductName] wird installiert - Warten Sie, während [ProductName] vom Setup-Assistenten geändert wird. - {\WixUI_Font_Title}[ProductName] wird geändert - Warten Sie, während [ProductName] vom Setup-Assistenten repariert wird. - {\WixUI_Font_Title}[ProductName] wird repariert - Warten Sie, während [ProductName] vom Setup-Assistenten entfernt wird. - {\WixUI_Font_Title}[ProductName] wird entfernt - Der Setup-Assistent aktualisiert [ProductName]. Bitte warten Sie. - {\WixUI_Font_Title}[ProductName] wird aktualisiert - Ausgeführt - Status: - - [ProductName]-Setup - &Installieren - WixUI_Bmp_Dialog - Die Installation von [ProductName] wird vom Setup-Assistenten auf dem Computer abgeschlossen. Klicken Sie auf "Installieren", um den Vorgang fortzusetzen, bzw. auf "Abbrechen", um den Setup-Assistenten zu beenden. - {\WixUI_Font_Bigger}Der Setup-Assistent für [ProductName] wird fortgesetzt - - [ProductName]-Setup - &Standard - Standardinstallation - &Benutzerdefiniert - Benutzerdefinierte Installation - &Vollständig - Vollständige Installation - WixUI_Bmp_Banner - {\WixUI_Font_Title}Installationstyp wählen - Wählen Sie die für Sie passende Installationsart aus - Standardprogrammfunktionen werden installiert. Empfohlen für die meisten Benutzer. - Installiert die vom Benutzer festgelegten Programmfunktionen am vom Benutzer angegebenen Speicherort. Empfohlen für fortgeschrittene Benutzer. - Alle Programmfunktionen werden installiert. Erfordert den meisten Speicherplatz. - - [ProductName]-Setup - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Der Setup-Assistent für [ProductName] wurde unterbrochen. - Die [ProductName]-Installation wurde unterbrochen. Das System wurde nicht verändert. Sie müssen die Installation erneut ausführen, wenn Sie dieses Programm zu einem späteren Zeitpunkt installieren möchten. - Klicken Sie auf "Fertig stellen", um den Setup-Assistenten zu beenden. - - [ProductName]-Setup - WixUI_Bmp_Banner - &Installieren - Klicken Sie auf "Installieren", um die Installation zu starten. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zur Installation von [ProductName] - &Ändern - Klicken Sie auf "Ändern", um die Installation zu starten. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zur Änderung von [ProductName] - Re&parieren - Klicken Sie auf "Reparieren", um die Installation von [ProductName] zu reparieren. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zur Reparatur von [ProductName] - &Entfernen - Klicken Sie auf "Entfernen", um [ProductName] vom Computer zu entfernen. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zum Entfernen von [ProductName] - &Aktualisieren - Klicken Sie auf "Aktualisieren", um [ProductName] auf Ihrem Computer zu aktualisieren. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zum Aktualisieren von [ProductName] - - [ProductName]-Setup - &Zurückspringen - Das Installationsprogramm ermittelt den Speicherplatzbedarf. Bitte warten Sie. - WixUI_Ico_Exclam - Hinweissymbol - - [ProductName]-Setup - WixUI_Bmp_Dialog - Mit dem Setup-Assistenten können Sie die [ProductName]-Funktionen auswählen die auf dem Computer installiert werden sollen oder das Programm vom Computer entfernen. Klicken Sie auf "Weiter", um den Vorgang fortzusetzen, oder auf "Abbrechen", um den Setup-Assistenten zu beenden. - [ProductName] wird auf dem Computer aktualisiert. Klicken Sie auf "Weiter", um den Vorgang fortzusetzen, oder auf "Abbrechen", um den Setup-Assistenten zu beenden. - {\WixUI_Font_Bigger}Willkommen beim Setup-Assistenten von [ProductName] - - [ProductName]-Setup - WixUI_Bmp_Dialog - Ich &stimme den Bedingungen der Lizenzvereinbarung zu. - &Installieren - &Aktualisieren - {\WixUI_Font_Title}Lesen Sie die Lizenzbedingungen für [ProductName]. - - Installation wird überprüft - Neue Dateien werden kopiert - Datei: [1], Verzeichnis: [9], Größe: [6] - Netzwerkinstallationsdateien werden kopiert - Datei: [1], Verzeichnis: [9], Größe: [6] - Speicherplatzbedarf wird berechnet - Speicherplatzbedarf wird berechnet - Speicherplatzbedarf wird berechnet - Verknüpfungen werden erstellt - Verknüpfung: [1] - Qualifizierte Komponenten werden veröffentlicht - Komponenten-ID: [1], Qualifizierer: [2] - Produktfunktionen werden veröffentlicht - Funktion: [1] - Produktinformationen werden veröffentlicht - Klassenserver werden registriert - Klassen-ID: [1] - Erweiterungsserver werden registriert - Erweiterung: [1] - MIME-Informationen werden registriert - MIME-Inhaltstyp: [1], Erweiterung: [2] - Programm-IDs werden registriert - Programmkennung: [1] - Registrierungsspeicher wird zugeordnet - Freier Speicherplatz: [1] - Installierte Anwendungen werden gesucht - Eigenschaft: [1], Signatur: [2] - Ausführbare Dateien werden gebunden - Datei: [1] - Berechtigende Produkte werden gesucht - Ordner werden erstellt - Ordner: [1] - Dienste werden gelöscht - Dienst: [1] - Dateiduplikat wird erstellt - Datei: [1], Verzeichnis: [9], Größe: [6] - Verwandte Anwendungen werden gesucht - Gefundene Anwendung: [1] - ODBC-Komponenten werden installiert - Neue Dienste werden installiert - Dienst: [2] - Die Startbedingungen werden überprüft - Funktionsstatus verwandter Anwendungen wird migriert - Anwendung: [1] - Dateien werden verschoben - Datei: [1], Verzeichnis: [9], Größe: [6] - Dateien werden gepatcht - Datei: [1], Verzeichnis: [2], Größe: [3] - Komponentenregistrierung wird aktualisiert - COM+-Anwendungen und -Komponenten werden registriert - Anwendungs-ID: [1]{{, Anwendungstyp: [2], Benutzer: [3], RSN: [4]}} - Schriftarten werden registriert - Schriftart: [1] - Produkt wird registriert - [1] - Typbibliotheken werden registriert - Bibliothekenkennung: [1] - Benutzer wird registriert - [1] - Dateiduplikate werden entfernt - Datei: [1], Verzeichnis: [9] - Umgebungszeichenfolgen werden aktualisiert - Name: [1], Wert: [2], Aktion [3] - Anwendungen werden entfernt - Anwendung: [1], Befehlszeile: [2] - Dateien werden entfernt - Datei: [1], Verzeichnis: [9] - Ordner werden entfernt - Ordner: [1] - INI-Dateieinträge werden entfernt - Datei: [1], Abschnitt: [2], Schlüssel: [3], Wert: [4] - ODBC-Komponenten werden entfernt - Systemregistrierungswerte werden entfernt - Schlüssel: [1], Name: [2] - Verknüpfungen werden entfernt - Verknüpfung: [1] - Berechtigende Produkte werden gesucht - Module werden registriert - Datei: [1], Ordner: [2] - Modulregistrierung wird aufgehoben - Datei: [1], Ordner: [2] - ODBC-Verzeichnisse werden initialisiert - Dienste werden gestartet - Dienst: [1] - Dienste werden beendet - Dienst: [1] - Veröffentlichung qualifizierter Komponenten wird aufgehoben - Komponenten-ID: [1], Qualifizierer: [2] - Veröffentlichung der Produktfunktionen wird aufgehoben - Funktion: [1] - Registrierung der Klassenserver wird aufgehoben - Klassen-ID: [1] - Registrierung der COM+-Anwendungen und -Komponenten wird aufgehoben - Anwendungs-ID: [1]{{, Anwendungstyp: [2]}} - Registrierung der Erweiterungsserver wird aufgehoben - Erweiterung: [1] - Registrierung der Schriftarten wird aufgehoben - Schriftart: [1] - Registrierung der MIME-Informationen wird aufgehoben - MIME-Inhaltstyp: [1], Erweiterung: [2] - Registrierung der Programm-IDs wird aufgehoben - Programmkennung: [1] - Registrierung der Typbibliotheken wird aufgehoben - Bibliothekenkennung: [1] - Umgebungszeichenfolgen werden aktualisiert - Name: [1], Wert: [2], Aktion [3] - INI-Dateiwerte werden geschrieben - Datei: [1], Abschnitt: [2], Schlüssel: [3], Wert: [4] - Systemregistrierungswerte werden geschrieben - Schlüssel: [1], Name: [2], Wert: [3] - Anwendung wird angekündigt - Für folgende Aktion werden Skriptvorgänge erstellt: - [1] - Systemkatalog wird installiert - Datei: [1], Abhängigkeiten: [2] - Assemblyinformationen werden veröffentlicht - Anwendungskontext:[1], Assemblyname:[2] - Veröffentlichung der Assemblyinformationen wird aufgehoben - Anwendungskontext:[1], Assemblyname:[2] - Rollback für Aktion wird ausgeführt: - [1] - Sicherungsdateien werden entfernt - Datei: [1] - Verschobene Dateien werden entfernt - Datei: [1], Verzeichnis: [9] - Veröffentlichung der Produktinformationen wird aufgehoben - - {{Schwerwiegender Fehler: }} - {{Fehler [1]. }} - Warnung [1]. - Informationen [1]. - Bei der Installation dieses Pakets ist ein unerwarteter Fehler aufgetreten. Es liegt eventuell ein das Paket betreffendes Problem vor. Der Fehlercode ist [1]. {{Argumente: [2], [3], [4]}} - {{Datenträger voll: }} - Aktion [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Meldungstyp: [1], Argument: [2] - === Protokollierung gestartet: [Date] [Time] === - === Protokollierung beendet: [Date] [Time] === - Aktion gestartet um [Time]: [1]. - Aktion beendet um [Time]: [1]. Rückgabewert [2]. - Restdauer: {[1] Minuten }{[2] Sekunden} - Nicht genügend Arbeitsspeicher. Beenden Sie andere Anwendungen, und wiederholen Sie den Vorgang. - Installationsprogramm reagiert nicht. - Installationsprogramm wurde vorzeitig abgebrochen. - Bitte warten Sie, während [ProductName] konfiguriert wird. - Erforderliche Daten werden ermittelt... - Ältere Versionen dieser Anwendung werden entfernt... - Das Entfernen älterer Versionen der Anwendung wird vorbereitet... - Das Setup für {[ProductName]} wurde erfolgreich abgeschlossen. - Fehler beim Setup für {[ProductName]}. - Fehler beim Lesen der Datei: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob die Datei vorhanden ist und Sie darauf zugreifen können. - Die Datei "[2]" kann nicht erstellt werden. Ein Verzeichnis mit diesem Namen ist bereits vorhanden. Brechen Sie die Installation ab, und versuchen Sie, an einem anderen Ort zu installieren. - Legen Sie den Datenträger ein: [2] - Die Berechtigungen des Installationsprogramms sind für den Zugriff auf dieses Verzeichnis unzureichend: [2]. Die Installation kann nicht fortgesetzt werden. Melden Sie sich als Administrator an, oder wenden Sie sich an den Systemadministrator. - Fehler beim Schreiben in Datei: [2]. Überprüfen Sie, ob Sie auf das Verzeichnis zugreifen können. - Fehler beim Lesen der Datei: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob die Datei vorhanden ist und Sie darauf zugreifen können. - Eine andere Anwendung hat exklusiven Zugriff auf die Datei "[2]". Beenden Sie alle anderen Anwendungen, und klicken Sie anschließend auf "Wiederholen". - Auf Ihrem Datenträger ist nicht genügend freier Speicherplatz vorhanden, um diese Datei zu installieren: "[2]". Geben Sie zusätzlichen Speicher frei, und klicken Sie auf "Wiederholen", oder klicken Sie auf "Abbrechen", um das Installationsprogramm zu beenden. - Die Quelldatei wurde nicht gefunden: [2]. Überprüfen Sie, ob die Datei vorhanden ist, und ob Sie darauf zugreifen können. - Fehler beim Lesen der Datei: [3]. {{ Systemfehler [2].}} Überprüfen Sie, ob die Datei vorhanden ist und Sie darauf zugreifen können. - Fehler beim Schreiben in Datei: [3]. {{ Systemfehler [2].}} Überprüfen Sie, ob Sie auf das Verzeichnis zugreifen können. - Die Quelldatei {{(CAB-Datei)}} wurde nicht gefunden: [2]. Überprüfen Sie, ob die Datei vorhanden ist, und ob Sie darauf zugreifen können. - Das Verzeichnis "[2]" kann nicht erstellt werden. Eine Datei mit diesem Namen ist bereits vorhanden. Benennen Sie die Datei um, oder entfernen Sie sie, und klicken Sie dann auf "Wiederholen". Klicken Sie alternativ auf "Abbrechen", um das Programm zu beenden. - Das Volume "[2]" ist zurzeit nicht verfügbar. Wählen Sie ein anderes Volume aus. - Der angegebene Pfad "[2]" ist nicht verfügbar. - In den angegebenen Ordner konnte nicht geschrieben werden: [2]. - Beim Lesen der Datei ist ein Netzwerkfehler aufgetreten: [2] - Beim Erstellen des Verzeichnisses ist ein Fehler aufgetreten: [2] - Beim Erstellen des Verzeichnisses ist ein Netzwerkfehler aufgetreten: [2] - Beim Öffnen der CAB-Quelldatei [2] ist ein Fehler aufgetreten: [2] - Der angegebene Pfad ist zu lang: [2] - Das Installationsprogramm besitzt keine ausreichenden Berechtigungen, um diese Datei zu ändern: [2]. - Ein Teil des Ordnerpfads "[2]" ist ungültig. Er ist entweder leer, oder er überschreitet die im System zulässige Länge. - Der Pfad "[2]" enthält ungültige Zeichenfolgen. - Der Pfad "[2]" enthält ein ungültiges Zeichen. - "[2]" ist kein gültiger kurzer Dateiname. - Fehler beim Abrufen der Dateisicherheit: [3] GetLastError: [2] - Ungültiges Laufwerk: [2] - Fehler beim Anwenden eines Patches auf die Datei [2]. Die Datei wurde wahrscheinlich bereits anderweitig aktualisiert und kann von diesem Patch nicht mehr verändert werden. Weitere Informationen erhalten Sie vom Hersteller des Patches. {{Systemfehler: [3]}} - Eine erforderliche Datei kann nicht installiert werden, da die CAB-Datei "[2]" nicht digital signiert wurde. Dies kann darauf hindeuten, dass die CAB-Datei fehlerhaft ist. - Eine erforderliche Datei kann nicht installiert werden, da die CAB-Datei [2] eine ungültige digitale Signatur hat. Dies kann darauf hindeuten, dass die CAB-Datei fehlerhaft ist. {{Von WinVerifyTrust wurde der Fehler [3] zurückgegeben.}} - Die Datei [2] konnte nicht kopiert werden: CRC-Fehler. - Die Datei [2] konnte nicht verschoben werden: CRC-Fehler. - Die Datei [2] konnte nicht gepatcht werden: CRC-Fehler. - Die Datei "[2]" kann nicht installiert werden, da die Datei in der Kabinettdatei "[3]" nicht gefunden wurde. Dies deutet auf einen Netzwerkfehler, einen CD-Lesefehler oder auf ein das Paket betreffendes Problem hin. - Die für die Installation erforderliche Datei "[2]" ist beschädigt und kann nicht verwendet werden. Dies deutet auf einen Netzwerkfehler, einen CD-Lesefehler oder auf ein das Paket betreffendes Problem hin. - Beim Erstellen der für die Installation erforderlichen temporären Datei ist ein Fehler aufgetreten.{{ Ordner: [3]. Systemfehlercode: [2]}} - Der Schlüssel konnte nicht erstellt werden: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Schlüssel konnte nicht geöffnet werden: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Wert [2] konnte nicht aus dem Schlüssel [3] gelöscht werden. {{ Systemfehler [4].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Schlüssel konnte nicht gelöscht werden: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Wert [2] konnte nicht aus dem Schlüssel [3] gelesen werden. {{ Systemfehler [4].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Wert [2] konnte nicht in den Schlüssel [3] geschrieben werden. {{ Systemfehler [4].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Die Wertnamen für den Schlüssel [2] konnten nicht gelesen werden. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Die Namen der untergeordneten Schlüssel des Schlüssels [2] konnten nicht bestimmt werden. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Die Sicherheitsinformationen für den Schlüssel [2] konnten nicht gelesen werden. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der verfügbare Registrierungsspeicher konnte nicht vergrößert werden. [2] KB freier Registrierungsspeicher sind zum Installieren dieser Anwendung erforderlich. - Es wird bereits eine weitere Installation ausgeführt. Sie müssen diese Installation abschließen, bevor Sie den Vorgang fortsetzen können. - Fehler beim Zugriff auf gesicherte Daten. Stellen Sie sicher, dass Windows Installer ordnungsgemäß konfiguriert ist, und wiederholen Sie die Installation. - Benutzer "[2]" hat bereits die Installation für das Produkt "[3]" initiiert. Dieser Benutzer muss die Installation erneut ausführen, bevor dieses Produkt verwendet werden kann. Ihre aktuelle Installation wird jetzt fortgesetzt. - Benutzer "[2]" hat bereits die Installation für das Produkt "[3]" initiiert. Dieser Benutzer muss die Installation erneut ausführen, bevor dieses Produkt verwendet werden kann. - Nicht genügend freier Speicher auf dem Laufwerk -- Volume: "[2]"; erforderlicher Speicher: [3] KB; verfügbarer Speicher: [4] KB. Geben Sie Datenträgerspeicher frei, und versuchen Sie es erneut. - Möchten Sie den Vorgang wirklich abbrechen? - Die Datei "[2][3]" ist zurzeit in Gebrauch {des folgenden Prozesses: Name: [4], ID: [5], Fenstertitel: "[6]"}. Schließen Sie die Anwendung, und wiederholen Sie den Vorgang. - Das Produkt "[2]" ist bereits installiert und verhindert die Installation dieses Produkts. Die beiden Produkte sind inkompatibel. - Auf Volume "[2]" steht nicht genügend Speicherplatz für die Installation bei aktivierter Wiederherstellungsoption zur Verfügung. [3] KB sind erforderlich, aber nur [4] KB sind verfügbar. Klicken Sie auf "Ignorieren", um die Installation ohne Speicherung von Wiederherstellungsinformationen fortzusetzen, klicken Sie auf "Wiederholen", um den verfügbaren Speicher erneut zu überprüfen, oder auf "Abbrechen", um die Installation abzubrechen. - Auf die Netzwerkadresse [2] konnte nicht zugegriffen werden. - Die folgenden Anwendungen sollten geschlossen werden, bevor Sie die Installation fortsetzen: - Es konnte kein kompatibles Produkt auf dem Computer gefunden werden, das zur Installation dieses Produkts erforderlich ist. - Fehler beim Anwenden der Sicherheitseinstellungen. "[2]" ist kein gültiger Benutzer und keine gültige Benutzergruppe. Möglicherweise besteht ein Problem mit dem Paket oder beim Herstellen einer Verbindung mit einem Domänencontroller im Netzwerk. Überprüfen Sie die Netzwerkverbindung, und klicken Sie dann auf ''Wiederholen". Wenn Sie die Installation beenden möchten, klicken Sie auf "Abbrechen". {{SID des Benutzers wurde nicht gefunden. Systemfehler [3]}} - Der Schlüssel [2] ist ungültig. Überprüfen Sie, ob Sie den richtigen Schlüssel eingegeben haben. - Das Installationsprogramm muss den Computer neu starten, damit die Konfiguration von [2] fortgesetzt werden kann. Klicken Sie auf "Ja", um den Computer jetzt neu zu starten, oder auf "Nein", um den Computer später manuell neu zu starten. - Sie müssen den Computer neu starten, damit die geänderte Konfiguration von [2] wirksam wird. Klicken Sie auf "Ja", um den Computer jetzt neu zu starten, oder auf "Nein", um den Computer später manuell neu zu starten. - Eine Installation von [2] ist im Augenblick ausgesetzt. Sie müssen zuerst die von dieser Installation vorgenommenen Änderungen rückgängig machen, damit Sie den Vorgang fortsetzen können. Möchten Sie diese Änderungen rückgängig machen? - Zurzeit wird eine frühere Installation dieses Produkts durchgeführt. Sie müssen zuerst die von dieser Installation vorgenommenen Änderungen rückgängig machen, damit Sie den Vorgang fortsetzen können. Möchten Sie diese Änderungen rückgängig machen? - Ein Installationspaket des Produkts [2] konnte nicht gefunden werden. Wiederholen Sie die Installation unter Verwendung einer gültigen Kopie des Installationspakets "[3]". - Die Installation wurde erfolgreich abgeschlossen. - Fehler bei der Installation. - Produkt: [2] -- [3] - Sie können den ursprünglichen Zustand des Computers wiederherstellen oder die Installation später fortsetzen. Möchten Sie wiederherstellen? - Fehler beim Schreiben der Installationsinformationen auf den Datenträger. Überprüfen Sie, ob genügend Speicherplatz auf dem Datenträger verfügbar ist, und klicken Sie auf "Wiederholen", oder klicken Sie auf "Abbrechen", um die Installation zu beenden. - Mindestens eine Datei, die zum Wiederherstellen des vorherigen Zustands des Computers erforderlich ist, wurde nicht gefunden. Eine Wiederherstellung ist nicht möglich. - [2] kann eines der erforderlichen Produkte nicht installieren. Wenden Sie sich an den technischen Support. {{Systemfehler: [3].}} - Die ältere Version von [2] kann nicht entfernt werden. Wenden Sie sich an den technischen Support. {{Systemfehler [3].}} - [2] wird installiert - [2] wird konfiguriert - [2] wurde entfernt - Die Datei "[2]" wurde von der Sicherheitsrichtlinie für digitale Signaturen zurückgewiesen. - Auf den Dienst "Windows Installer" konnte nicht zugegriffen werden. Dies kann auftreten, wenn Windows im abgesicherten Modus ausgeführt wird oder wenn der Windows Installer nicht ordnungsgemäß installiert wurde. Setzen Sie sich mit dem Support in Verbindung, um weitere Unterstützung zu erhalten. - Problem mit diesem Windows Installer-Paket. Ein für den Abschluss dieser Installation erforderliches Skript konnte nicht ausgeführt werden. Wenden Sie sich an den Support oder den Hersteller des Pakets. {{Benutzerdefinierte Aktion [2] Skriptfehler [3], [4]: [5] Zeile [6], Spalte [7], [8] }} - Problem mit diesem Windows Installer-Paket. Ein für den Abschluss der Installation erforderliches Programm konnte nicht ausgeführt werden. Wenden Sie sich an den Support oder den Hersteller des Pakets. {{Aktion: [2], Pfad: [3], Befehl: [4] }} - Es liegt ein Problem mit diesem Windows Installer-Paket vor. Ein Programm, das im Rahmen der Installation ausgeführt wurde, wurde nicht erfolgreich abgeschlossen. Wenden Sie sich an den Support oder den Hersteller des Pakets. {{Aktion: [2], Pfad: [3], Befehl: [4] }} - Es liegt ein Problem mit diesem Windows Installer-Paket vor. Eine für den Abschluss der Installation erforderliche DLL konnte nicht ausgeführt werden. Wenden Sie sich an den Support oder den Hersteller des Pakets. {{Aktion: [2], Eintrag: [3], Bibliothek: [4] }} - Das Entfernen wurde erfolgreich abgeschlossen. - Fehler beim Entfernen. - Die Ankündigung wurde erfolgreich abgeschlossen. - Fehler bei der Ankündigung. - Die Konfiguration wurde erfolgreich abgeschlossen. - Fehler bei der Konfiguration. - Zum Entfernen dieser Anwendung sind Administratorrechte erforderlich. Wenn Sie diese Anwendung entfernen möchten, melden Sie sich als Administrator an, oder wenden Sie sich an den technischen Support. - Das Quellinstallationspaket für das Produkt [2] ist nicht mehr mit dem Clientpaket synchron. Wiederholen Sie die Installation unter Verwendung einer gültigen Kopie des Installationspakets "[3]". - Zum Abschließen der Installation von [2] ist ein Neustart des Computers erforderlich. Es sind zurzeit andere Benutzer an diesem Computer angemeldet, deren Arbeit bei einem Neustart verloren gehen könnte. Möchten Sie den Neustart jetzt ausführen? - Der Pfad "[2]" ist ungültig. Geben Sie einen gültigen Pfad an. - Nicht genügend Arbeitsspeicher. Beenden Sie andere Anwendungen, und wiederholen Sie den Vorgang. - In Laufwerk [2] ist kein Datenträger eingelegt. Legen Sie einen Datenträger ein und klicken Sie auf "Wiederholen", oder klicken Sie auf "Abbrechen", um zu dem zuvor ausgewählten Volume zurückzukehren. - In Laufwerk [2] ist kein Datenträger eingelegt. Legen Sie einen Datenträger ein und klicken Sie auf "Wiederholen", oder klicken Sie auf "Abbrechen", um zum Dialog "Durchsuchen" zurückzukehren und ein anderes Volume auszuwählen. - Der Ordner "[2]" ist nicht vorhanden. Geben Sie einen Pfad zu einem vorhandenen Ordner ein. - Ihre Zugriffsrechte reichen nicht aus, um diesen Ordner zu lesen. - Es konnte kein gültiger Zielordner für die Installation bestimmt werden. - Fehler beim Lesen der Quellinstallationsdatenbank: [2]. - Computerneustart erforderlich: Die Datei [2] wird in [3] umbenannt. Der Computer muss neu gestartet werden, um den Vorgang abzuschließen. - Computerneustart erforderlich: Die Datei [2] wird gelöscht. Der Computer muss neu gestartet werden, um den Vorgang abzuschließen. - Fehler beim Registrieren des Moduls [2]. HRESULT [3]. Setzen Sie sich mit dem Support in Verbindung. - Fehler beim Aufheben der Registrierung des Moduls [2]. HRESULT [3]. Setzen Sie sich mit dem Support in Verbindung. - Fehler beim Zwischenspeichern von Paket [2]. Fehler: [3]. Setzen Sie sich mit dem Support in Verbindung. - Die Schriftart [2] konnte nicht registriert werden. Stellen Sie sicher, dass Sie über ausreichende Berechtigungen zum Installieren von Schriftarten verfügen und dass diese Schriftart vom System unterstützt wird. - Die Registrierung der Schriftart [2] konnte nicht aufgehoben werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Entfernen von Schriftarten besitzen. - Die Verknüpfung [2] konnte nicht erstellt werden. Überprüfen Sie, ob der Zielordner vorhanden ist und Sie darauf zugreifen können. - Die Verknüpfung [2] konnte nicht entfernt werden. Überprüfen Sie, ob die Verknüpfungsdatei vorhanden ist und Sie darauf zugreifen können. - Die Typbibliothek für die Datei "[2]" konnte nicht registriert werden. Setzen Sie sich mit dem Support in Verbindung. - Die Registrierung der Typbibliothek für die Datei "[2]" konnte nicht aufgehoben werden. Setzen Sie sich mit dem Support in Verbindung. - Die INI-Datei "[2][3]" konnte nicht aktualisiert werden. Überprüfen Sie, ob die Datei vorhanden ist, und ob Sie darauf zugreifen können. - Es konnte nicht festgelegt werden, dass die Datei "[3]" beim Neustart des Computers durch die Datei "[2]" ersetzt wird. Überprüfen Sie, ob Sie Schreibberechtigungen für die Datei "[3]" besitzen. - Fehler beim Entfernen des ODBC-Treiber-Managers, ODBC-Fehler [2]: [3]. Setzen Sie sich mit dem Support in Verbindung. - Fehler beim Installieren des ODBC-Treiber-Managers. ODBC-Fehler [2]: [3]. Setzen Sie sich mit dem Support in Verbindung. - Fehler beim Entfernen des ODBC-Treibers [4], ODBC-Fehler [2]: [3]. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Entfernen von ODBC-Treibern besitzen. - Fehler beim Installieren des ODBC-Treibers: [4]. ODBC-Fehler [2]: [3]. Überprüfen Sie, ob die Datei [4] vorhanden ist und Sie darauf zugreifen können. - Fehler beim Konfigurieren der ODBC-Datenquelle: [4]. ODBC-Fehler [2]: [3]. Überprüfen Sie, ob die Datei [4] vorhanden ist und Sie darauf zugreifen können. - Fehler beim Starten des Diensts "[2]" ([3]). Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Starten von Systemdiensten besitzen. - Fehler beim Beenden des Diensts "[2]" ([3]). Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Beenden von Systemdiensten besitzen. - Der Dienst "[2]" ([3]) konnte nicht gelöscht werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Entfernen von Systemdiensten besitzen. - Der Dienst "[2]" ([3]) konnte nicht installiert werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Installieren von Systemdiensten besitzen. - Die Umgebungsvariable "[2]" konnte nicht aktualisiert werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Ändern von Umgebungsvariablen besitzen. - Sie besitzen keine ausreichenden Berechtigungen, um diese Installation für alle Benutzer dieses Computers auszuführen. Melden Sie sich als Administrator an, und wiederholen Sie diese Installation. - Die Dateisicherheit für Datei "[3]" konnte nicht festgelegt werden. Fehler: [2]. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Ändern der Sicherheitsberechtigungen für diese Datei besitzen. - Die Komponentendienste (COM+ 1.0) sind auf dem Computer nicht installiert. Für den erfolgreichen Abschluss dieser Installation sind die Komponentendienste erforderlich. Die Komponentendienste sind unter Windows 2000 verfügbar. - Fehler beim Registrieren der COM+-Anwendung. Weitere Informationen erhalten Sie vom Support. - Fehler beim Aufheben der Registrierung der COM+-Anwendung. Weitere Informationen erhalten Sie vom Support. - Die Beschreibung für den Dienst "[2]" ([3]) konnte nicht geändert werden. - Der Windows Installer-Dienst kann die Systemdatei "[2]" nicht aktualisieren, weil sie von Windows geschützt wird. Möglicherweise müssen Sie das Betriebssystem aktualisieren, damit dieses Programm ordnungsgemäß funktionieren kann. {{Paketversion: [3], geschützte Betriebssystemversion: [4]}} - Der Dienst "Windows Installer" kann die geschützte Windows-Datei [2] nicht aktualisieren. {{Paketversion: [3], geschützte Betriebssystemversion: [4], Systemdateischutzfehler: [5]}} - Der Windows Installer-Dienst kann mindestens eine geschützte Windows-Datei nicht aktualisieren. {{Systemdateischutzfehler: [2]. Liste der geschützten Dateien:\r\n[3]}} - Installationen durch Benutzer werden durch Richtlinien für den Computer deaktiviert. - Fehler bei der Installation der Assembly "[6]". Weitere Informationen erhalten Sie in der Hilfe und vom Support. HRESULT: [3]. {{Assemblyschnittstelle: [4], Funktion: [5], Komponente: [2]}} - Fehler bei der Installation der Assembly "[6]". Die Assembly hat keinen starken Namen oder wurde nicht mit der minimalen Schlüssellänge signiert. HRESULT: [3]. {{Assemblyschnittstelle: [4], Funktion: [5], Komponente: [2]}} - Fehler bei der Installation der Assembly "[6]". Die Signatur oder der Katalog konnte nicht überprüft werden bzw. ist ungültig. HRESULT: [3]. {{Assemblyschnittstelle: [4], Funktion: [5], Komponente: [2]}} - Fehler bei der Installation der Assembly "[6]". Mindestens ein Modul der Assembly wurde nicht gefunden. HRESULT: [3]. {{Assemblyschnittstelle: [4], Funktion: [5], Komponente: [2]}} - - Bytes - GB - KB - MB - Die gesamte Funktion wird nicht verfügbar sein - Die Funktion wird bei Bedarf installiert - Die gesamte Funktion wird zum Ausführen von der CD installiert - Die Funktion wird vollständig auf der lokalen Festplatte installiert - Die gesamte Funktion wird zum Ausführen vom Netzwerk installiert - Wird zum Ausführen von der CD installiert - Wird auf der lokalen Festplatte installiert - Wird zum Starten vom Netzwerk installiert - Folder|Neuer Ordner - Erforderliche Daten werden ermittelt... - Die Funktion wird nicht installiert - Die Funktion wird bei Bedarf installiert - Die Funktion wird zum Starten von CD installiert - Diese Funktion wird auf der lokalen Festplatte installiert - Diese Funktion wird zum Starten vom Netzwerk installiert - Die Funktion wird nicht verfügbar sein - Wird bei Bedarf installiert - Die Funktion wird von der CD gestartet - Diese Funktion wird auf der lokalen Festplatte installiert - Die Funktion wird vom Netzwerk gestartet - Die Funktion wird vollständig entfernt. Sie können sie auch nicht von der CD starten - Die Funktion wird nicht mehr von der CD gestartet, sondern bei Bedarf installiert - Die Funktion wird weiterhin von der CD gestartet - Diese Funktion wird nicht mehr von CD gestartet, sondern auf der lokalen Festplatte installiert. - Die Funktion gibt [1] auf der Festplatte frei. - Die Funktion erfordert [1] auf der Festplatte. - Speicherplatzbedarf für diese Funktion wird ermittelt... - Die Funktion wird vollständig entfernt - Diese Funktion wird von der lokalen Festplatte entfernt und bei der ersten Verwendung installiert - Diese Funktion wird von der lokalen Festplatte entfernt, kann jedoch weiterhin von CD gestartet werden - Die Funktion bleibt weiterhin auf der lokalen Festplatte installiert - Die Funktion wird von der lokalen Festplatte entfernt, bleibt aber zum Starten vom Netzwerk installiert - Diese Funktion wird vollständig entfernt. Sie können sie auch nicht vom Netzwerk starten - Die Funktion wird nicht mehr vom Netzwerk gestartet, sondern bei Bedarf installiert - Die Funktion wird nicht mehr vom Netzwerk gestartet, sondern auf der lokalen Festplatte installiert - Die Funktion wird weiterhin vom Netzwerk gestartet - Die Funktion gibt [1] auf der Festplatte frei. Es sind [2] von [3] untergeordneten Funktionen ausgewählt, die [4] auf der Festplatte freigeben. - Die Funktion gibt [1] auf der Festplatte frei. Es sind [2] von [3] untergeordneten Funktionen ausgewählt, die [4] auf der Festplatte erfordern. - Die Funktion erfordert [1] auf der Festplatte. Es sind [2] von [3] untergeordneten Funktionen ausgewählt, die [4] auf der Festplatte freigeben. - Die Funktion erfordert [1] auf der Festplatte. Es sind [2] von [3] untergeordneten Funktionen ausgewählt, die [4] auf der Festplatte erfordern. - Restdauer: {[1] Minuten }{[2] Sekunden} - Verfügbar - Differenz - Erforderlich - Datenträgergröße - Volume - diff --git a/Src/Localization/Hungarian/ClassicExplorerADMX.txt b/Src/Localization/Hungarian/ClassicExplorerADMX.txt deleted file mode 100644 index 86b0ba6..0000000 --- a/Src/Localization/Hungarian/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell beállítások -State.text = Állapot: -State1.text = Rögzítve erre az értékre -State2.text = Rögzítve alapértelmezettre -State3.text = Feloldva -State1Help.text = Ha az állapotot 'Rögzítve erre az értékre' értékre állítod, a beállítás minden felhasználó esetében a meghatározott értékre lesz rögzítve. -State2Help.text = Ha az állapotot 'Rögzítve alapértelmezettre' értékre állítod, a beállítás minden felhasználó esetében az alapértelmezett értékre lesz rögzítve. A megadott érték kihagyásra kerül. -State3Help.text = Ha az állapotot 'Feloldva' értékre állítod, a beállítás alapértelmezett értéke a megadott értékre változik. A felhasználók felülírhatják a beállítást. - -ClassicExplorerCat.text = Klasszikus Intéző -ClassicExplorerCatHelp.text = Klasszikus Intéző csoportházirend beállítások -SUPPORTED_CS404.text = Open-Shell 4.0.4 vagy újabb szükséges. -SUPPORTED_CS404_WIN7.text = Windows 7 szükséges. -SUPPORTED_CS404_WIN881.text = Windows 8 vagy 8.1 szükséges. - -AddressAltD.nameOverride = A címsor további gyorsgombja -AddressAltD.tipOverride = Adj meg egy gombot 'A'-tól 'Z'-ig, amely az Alt egyidejű lenyomásával a címsor gyorsgombja lesz -EnableSettings.nameOverride = Beállítások engedélyezése -EnableSettings.tipOverride = Lehetővé teszi a felhasználóknak a saját beállításaik szerkesztését -ProcessWhiteList.nameOverride = Folyamat fehérlista -ProcessWhiteList.tipOverride = A folyamatok listája, amelyek betölthetik a Klasszikus Intézőt. Csak a folyamat fájlnevét használd ( mint például "notepad.exe"), a több nevet vesszővel vagy pontosvesszővel válaszd el. -ProcessBlackList.nameOverride = Folyamat feketelista -ProcessBlackList.tipOverride = A folyamatok listája, amelyek nem töltik be a Klasszikus Intézőt. Csak a folyamat fájlnevét használd ( mint például "notepad.exe"), a több nevet vesszővel vagy pontosvesszővel válaszd el. -ToolbarItems.nameOverride = Eszköztár gombok -ToolbarItems.tipOverride = Válaszd ki az eszköztárban megjelenő gombokat.\nA megfelelő sor kiválasztásához állítsd be a gombokat a Klasszikus Intéző beállítás párbeszédablakában, majd keresd ki a ToolbarItems nevű értéket a HKCU\Software\OpenShell\ClassicExplorer\Settings címen - - -; os-specific -FileExplorer.nameOverride = Párbeszédablakok engedélyezése csak az Intézőben (javítja a teljesítményt) diff --git a/Src/Localization/Hungarian/ClassicIEADMX.txt b/Src/Localization/Hungarian/ClassicIEADMX.txt deleted file mode 100644 index d42159f..0000000 --- a/Src/Localization/Hungarian/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell beállítások -State.text = Állapot: -State1.text = Rögzítve erre az értékre -State2.text = Rögzítve alapértelmezettre -State3.text = Feloldva -State1Help.text = Ha az állapotot 'Rögzítve erre az értékre' értékre állítod, a beállítás minden felhasználó esetében a meghatározott értékre lesz rögzítve. -State2Help.text = Ha az állapotot 'Rögzítve alapértelmezettre' értékre állítod, a beállítás minden felhasználó esetében az alapértelmezett értékre lesz rögzítve. A megadott érték kihagyásra kerül. -State3Help.text = Ha az állapotot 'Feloldva' értékre állítod, a beállítás alapértelmezett értéke a megadott értékre változik. A felhasználók felülírhatják a beállítást. - -ClassicIECat.text = Klasszikus IE -ClassicIECatHelp.text = Klasszikus IE csoportházirend beállítások -SUPPORTED_CS404.text = Open-Shell 4.0.4 vagy újabb szükséges. -SUPPORTED_IE9.text = Internet Explorer 9 vagy újabb szükséges. - - -EnableSettings.nameOverride = Beállítások engedélyezése -EnableSettings.tipOverride = Lehetővé teszi a felhasználóknak a saját beállításaik szerkesztését -CaptionFont.tipAddition = .\n\nA formátum , , . Például "Segoe UI, normal, 9" diff --git a/Src/Localization/Hungarian/MenuADMX.txt b/Src/Localization/Hungarian/MenuADMX.txt deleted file mode 100644 index 60b943b..0000000 --- a/Src/Localization/Hungarian/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Open-Shell beállítások -State.text = Állapot: -State1.text = Rögzítve erre az értékre -State2.text = Rögzítve alapértelmezettre -State3.text = Feloldva -State1Help.text = Ha az állapotot 'Rögzítve erre az értékre' értékre állítod, a beállítás minden felhasználó esetében a meghatározott értékre lesz rögzítve. -State2Help.text = Ha az állapotot 'Rögzítve alapértelmezettre' értékre állítod, a beállítás minden felhasználó esetében az alapértelmezett értékre lesz rögzítve. A megadott érték kihagyásra kerül. -State3Help.text = Ha az állapotot 'Feloldva' értékre állítod, a beállítás alapértelmezett értéke a megadott értékre változik. A felhasználók felülírhatják a beállítást. - -MenuCat.text = Open-Shell menü -MenuCatHelp.text = Open-Shell menü csoportházirend beállítások -SUPPORTED_CS404.text = Open-Shell 4.0.4 vagy újabb szükséges. -SUPPORTED_CS404_WIN7.text = Windows 7 szükséges. -SUPPORTED_CS404_WIN78.text = Windows 7 szükséges vagy Windows 8. -SUPPORTED_CS404_WIN781.text = Windows 7 szükséges vagy Windows 8.1. -SUPPORTED_CS404_WIN8.text = Windows 8 szükséges. -SUPPORTED_CS404_WIN881.text = Windows 8 vagy 8.1 szükséges. -SUPPORTED_CS404_WIN81.text = Windows 8.1 szükséges. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Klasszikus, egy oszlopos menü stílus szükséges. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Klasszikus, két oszlopos menü stílus szükséges. -SUPPORTED_CS404_CLASSIC_STYLE.text = Klasszikus menü stílus szükséges. -SUPPORTED_CS404_WIN7_STYLE.text = Windows 7 menü stílus szükséges. - - -EnableSettings.nameOverride = Beállítások engedélyezése -EnableSettings.tipOverride = Lehetővé teszi a felhasználóknak a saját beállításaik szerkesztését - -MenuStyle.nameOverride = Menü stílus -MenuStyle.tipOverride = Válaszd ki a start menü stílusát.\nA stílus határozza meg a menü általános kinézetét és funkcionalitását. -MenuStyle_Classic1.nameOverride = Klasszikus egy oszlopos -MenuStyle_Classic2.nameOverride = Klasszikus két oszlopos -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Bal klikk megnyitja -ShiftClick.nameOverride = Shift+klikk megnyitja -WinKey.nameOverride = Windows gomb megnyitja -ShiftWin.nameOverride = Shift+Win gomb megnyitja -MiddleClick.nameOverride = Középső egérgomb megnyitja -Hover.nameOverride = Kurzor megnyitja - -; skins -SkinC1.nameOverride = Téma az egy oszlopos klasszikus menühöz -SkinC1.tipOverride = Válassz használandó témát az egy oszlopos klasszikus stílushoz -SkinVariationC1.nameOverride = Téma variáció az egy oszlopos klasszikus menühöz -SkinVariationC1.tipOverride = Válassz téma variációt az egy oszlopos klasszikus stílushoz (olyan témák esetében, amelyek támogatják a több variációt) -SkinOptionsC1.nameOverride = Témabeállítások az egy oszlopos klasszikus menühöz -SkinOptionsC1.tipOverride = Válassz témabeállításokat az egy oszlopos klasszikus stílushoz.\nA beállítások hex számokként jelennek meg. A megfelelő értékekhez szerkeszd a beállításokat a Klasszikus Start menü beállítások párbeszédablakában, majd keresd ki a SkinOptionsC1 nevű értéket a HKCU\Software\OpenShell\StartMenu\Settings címen -MenuItems1.nameOverride = Menüelemek az egy oszlopos klasszikus menühöz -MenuItems1.tipOverride = Válassz menüelemeket az egy oszlopos klasszikus stílushoz.\nA megfelelő sor beállításához szerkeszd az elemeket a Klasszikus Start menü beállítások párbeszédablakában, majd keresd ki a MenuItems1 nevű értéket a HKCU\Software\OpenShell\StartMenu\Settings címen -SkinC2.nameOverride = Téma két oszlopos klasszikus menühöz -SkinC2.tipOverride = Válassz használandó témát a két oszlopos klasszikus stílushoz -SkinVariationC2.nameOverride = Téma variáció a két oszlopos klasszikus menühöz -SkinVariationC2.tipOverride = Válassz téma variációt a két oszlopos klasszikus stílushoz (olyan témák esetében, amelyek támogatják a több variációt) -SkinOptionsC2.nameOverride = Témabeállítások a két oszlopos klasszikus menühöz -SkinOptionsC2.tipOverride = Válassz témabeállításokat a két oszlopos klasszikus stílushoz.\nA beállítások hex számokként jelennek meg. A megfelelő értékekhez szerkeszd a beállításokat a Klasszikus Start menü beállítások párbeszédablakában, majd keresd ki a SkinOptionsC2 nevű értéket a HKCU\Software\OpenShell\StartMenu\Settings címen -MenuItems2.nameOverride = Menüelemek a két oszlopos klasszikus menühöz -MenuItems2.tipOverride = Válassz menüelemeket a két oszlopos klasszikus stílushoz.\nA megfelelő sor beállításához szerkeszd az elemeket a Klasszikus Start menü beállítások párbeszédablakában, majd keresd ki a MenuItems2 nevű értéket a HKCU\Software\OpenShell\StartMenu\Settings címen -SkinW7.nameOverride = Téma a Windows 7 stílushoz -SkinW7.tipOverride = Válassz használandó témát a Windows 7 stílushoz -SkinVariationW7.nameOverride = Téma variáció a Windows 7 stílushoz -SkinVariationW7.tipOverride = Válassz téma variációt a Windows 7 stílushoz (olyan témák esetében, amelyek támogatják a több variációt) -SkinOptionsW7.nameOverride = Témabeállítások a Windows 7 stílushoz -SkinOptionsW7.tipOverride = Válassz témabeállításokat a Windows 7 stílushoz.\nA beállítások hex számokként jelennek meg. A megfelelő értékekhez szerkeszd a beállításokat a Klasszikus Start menü beállítások párbeszédablakában, majd keresd ki a SkinOptionsW7 nevű értéket a HKCU\Software\OpenShell\StartMenu\Settings címen -MenuItems7.nameOverride = Menüelemek a Windows 7 stílushoz -MenuItems7.tipOverride = Válaszd ki a menüelemeket a Windows 7 stílushoz.\nA megfelelő sor beállításához szerkeszd az elemeket a Klasszikus Start menü beállítások párbeszédablakában, majd keresd ki a MenuItems7 nevű értéket a HKCU\Software\OpenShell\StartMenu\Settings címet - -; windows 7 -SkinA.nameOverride = Téma a Windows 7 start menü Minden program almenüjéhez -SkinA.tipOverride = Válassz témát a Minden program almenühöz a Windows 7 start menüben -SkinVariationA.nameOverride = Téma variáció a Windows 7 start menü Minden program almenüjéhez -SkinVariationA.tipOverride = Válassz téma variációt a Minden program almenühöz a Windows 7 start menüben(olyan témák esetében, amelyek támogatják a több variációt) -SkinOptionsA.nameOverride = Témabeállítások a Windows 7 start menü Minden program almenüjéhez -SkinOptionsA.tipOverride = Válassz témabeállításokat a Minden program almenühöz a Windows 7 start menüben.\nA beállítások hex számokként jelennek meg. A megfelelő értékekhez szerkeszd a beállításokat a Klasszikus Intéző beállítás párbeszédablakában, majd keresd ki a SkinOptionsA értéket a HKCU\Software\OpenShell\StartMenu\Settings címen - -; metro settings -SkipMetro.tipAddition = Ez a beállítás Windows 8.1 alatt nem működik. A beépített Windows beállítást kell használnod az automatikus Asztalra bootoláshoz - -; hidden -FolderStartMenu.nameOverride = Start menü mappa -FolderStartMenu.tipOverride = Adj meg egy felülíró értéket a felhasználónkénti start menü mappához(emellett felülírja a felhasználónkénti Programok mappát is).\nAz útvonal tartalmazhat környezeti változókat.\nMegjegyzés: Ez a beállítás nem szerkeszthető a Beállítások párbeszédablakból -FolderPrograms.nameOverride = Programok mappa -FolderPrograms.tipOverride = Adj meg egy felülíró értéket a Programok mappához.\nAz útvonal tartalmazhat környezeti változókat.\nMegjegyzés: Ez a beállítás nem szerkeszthető a Beállítások párbeszédablakból -FolderCommonStartMenu.nameOverride = Közös Start menü mappa -FolderCommonStartMenu.tipOverride = Adj meg egy felülíró értéket a közös Start menü mappához (emellett felülírja a közös Programok mappát is).\nAz útvonal tartalmazhat környezeti változókat.\nMegjegyzés: Ez a beállítás nem szerkeszthető a Beállítások párbeszédablakból -FolderCommonPrograms.nameOverride = Közös Programok mappa -FolderCommonPrograms.tipOverride = Adj meg egy felülíró értéket a közös Programok mappához.\nAz útvonal tartalmazhat környezeti változókat.\nMegjegyzés: Ez a beállítás nem szerkeszthető a Beállítások párbeszédablakból -AutoStartDelay.nameOverride = Automatikus indítás időzítés -AutoStartDelay.tipOverride = Add meg a Start menü automatikus indításának időzítését bejelentkezéskor milliszekundumban (nem érvényes a menü manuális elindításakor a StartMenu.exe-vel).\nMegjegyzés: Ez a beállítás nem szerkeszthető a Beállítások párbeszédablakból - -; other -StartButtonIcon.tipAddition = Az érték lehet egy útvonal egy ICO fájlhoz vagy egy EXE/DLL-hez és az ikon azonosítójához -StartButtonPath.tipAddition = Az érték egy BMP vagy PNG fájl teljes útvonala -SoundMain.tipAddition = Az érték lehet egy egy rendszeresemény neve vagy egy WAV fájl útvonala -SoundPopup.tipAddition = Az érték lehet egy egy rendszeresemény neve vagy egy WAV fájl útvonala -SoundCommand.tipAddition = Az érték lehet egy egy rendszeresemény neve vagy egy WAV fájl útvonala -SoundDrop.tipAddition = Az érték lehet egy egy rendszeresemény neve vagy egy WAV fájl útvonala -ExpandFolderLinks.tipAddition = Csak szimbolikus linkekkel (mint például csatolási pontok) és nem egyszerű parancsikonokkal működik -StartHoverDelay.nameOverride = Kurzor lebegés (a Start gomb felett) -AllProgramsDelay.nameOverride = Lebegés időzítés (Windows 7 esetén a Minden programnál) -CSMHotkey.tipAddition = .\n\nA főkulcs virtuális kódjának alapértéke. Adj hozzá 256-ot a Shifthez, 512-őt a Controlhoz és 1024-et az Althoz.\nA megfelelő érték kiválasztásához állítsd be a gyorsgombot a Klasszikus Start menü beállítás párbeszédablakában, majd keresd ki a CSMHotkey nevű értéket a HKCU\Software\OpenShell\StartMenu\Settings címen -WSMHotkey.tipAddition = .\n\nA főkulcs virtuális kódjának alapértéke. Adj hozzá 256-ot a Shifthez, 512-őt a Controlhoz és 1024-et az Althoz.\nA megfelelő érték kiválasztásához állítsd be a gyorsgombot a Klasszikus Start menü beállítás párbeszédablakában, majd keresd ki a WSMHotkey nevű értéket a HKCU\Software\OpenShell\StartMenu\Settings címen diff --git a/Src/Localization/Hungarian/OpenShellADMX.txt b/Src/Localization/Hungarian/OpenShellADMX.txt deleted file mode 100644 index 6519852..0000000 --- a/Src/Localization/Hungarian/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Open-Shell beállítások -State.text = Állapot: -State1.text = Rögzítve erre az értékre -State2.text = Rögzítve alapértelmezettre -State3.text = Feloldva -State1Help.text = Ha az állapotot 'Rögzítve erre az értékre' értékre állítod, a beállítás minden felhasználó esetében a meghatározott értékre lesz rögzítve. -State2Help.text = Ha az állapotot 'Rögzítve alapértelmezettre' értékre állítod, a beállítás minden felhasználó esetében az alapértelmezett értékre lesz rögzítve. A megadott érték kihagyásra kerül. -State3Help.text = Ha az állapotot 'Feloldva' értékre állítod, a beállítás alapértelmezett értéke a megadott értékre változik. A felhasználók felülírhatják a beállítást. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Open-Shell csoportházirend beállítások -SUPPORTED_CS404.text = Open-Shell 4.0.4 vagy újabb szükséges. - -Language.nameOverride = Open-Shell komponensek nyelve -Language.tipOverride = Válaszd ki a Open-Shell által használni kívánt nyelvet (például en-US vagy de-DE). A nyelv hatással van a start menü, eszköztárak, stb. szövegeire. Ha a megfelelő nyelvi DLL fel van telepítve, lehet, hogy a beállítási kezelőfelület is le lesz fordítva -Update.nameOverride = Új verziók automatikus keresésének engedélyezése -Update.tipOverride = Ha ez be van jelölve, a Open-Shell minden héten új verziót keres. Ha a Open-Shell vagy a jelenleg használt nyelv új verziója érhető el, arról értesítést kapsz. diff --git a/Src/Localization/Italian/ClassicExplorerADMX.txt b/Src/Localization/Italian/ClassicExplorerADMX.txt deleted file mode 100644 index 1d1863a..0000000 --- a/Src/Localization/Italian/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Impostazioni Open-Shell -State.text = Stato: -State1.text = Bloccato a questo valore -State2.text = Bloccato al valore predefinito -State3.text = Sbloccato -State1Help.text = Se imposti lo stato a 'Bloccato a questo valore', l'impostazione verrà bloccata a questo valore per tutti gli utenti. -State2Help.text = Se imposti lo stato a 'Bloccato a valore predefinito', l'impostazione verrà bloccata al valore predefinito per tutti gli utenti. Il valore specificato verrà ignorato. -State3Help.text = Se imposti lo stato a 'Sbloccato', il valore predefinito verrà modificato nel valore specificato. Ogni utente potrà modificare questa impostazione. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Impostazioni policy di gruppo Classic Explorer -SUPPORTED_CS404.text = Richiede Open-Shell 4.0.4 o superiore. -SUPPORTED_CS404_WIN7.text = Richiede Windows 7. -SUPPORTED_CS404_WIN881.text = Richiede Windows 8 o Windows 8.1. - -AddressAltD.nameOverride = Collegamento aggiuntivo per la barra indirizzi -AddressAltD.tipOverride = Inserisci una lettera da 'A' a 'Z' come collegamento per la barra indirizzi in combinazione con il tasto Alt -EnableSettings.nameOverride = Abilita impostazioni -EnableSettings.tipOverride = Abilita l'utente a modificare le proprie impostazioni -ProcessWhiteList.nameOverride = Elabora elenco autorizzati -ProcessWhiteList.tipOverride = Elenco dei processi che possono caricare Classic Explorer. Usa solo il nome file del processo (es. "notepad.exe"), separando i diversi nomi con una virgola o punto e virgola. -ProcessBlackList.nameOverride = Elabora elenco non autorizzati -ProcessBlackList.tipOverride =Elenco dei processi che non possono caricare Classic Explorer. Usa solo il nome file del processo (es. "notepad.exe"), separando i nomi diversi con una virgola o punto e virgola. -ToolbarItems.nameOverride = Pulsanti barra strumenti -ToolbarItems.tipOverride = Seleziona i pulsanti che verranno visualizzati nella barra strumenti.\nIl miglior modo per impostare la giusta stringa è configurare i pulsanti nella finestra impostazioni di Classic Explorer e quindi vedere i valori ToolbarItems in HKCU\Software\OpenShell\ClassicExplorer\Settings - - -; os-specific -FileExplorer.nameOverride = Abilita finestra dialogo solo in Explorer (migliora le prestazioni) diff --git a/Src/Localization/Italian/ClassicIEADMX.txt b/Src/Localization/Italian/ClassicIEADMX.txt deleted file mode 100644 index b23dffc..0000000 --- a/Src/Localization/Italian/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Impostazioni Open-Shell -State.text = Stato: -State1.text = Bloccato a questo valore -State2.text = Bloccato al valore predefinito -State3.text = Sbloccato -State1Help.text = Se imposti lo stato a 'Bloccato a questo valore', l'impostazione verrà bloccata a questo valore per tutti gli utenti. -State2Help.text = Se imposti lo stato a 'Bloccato a valore predefinito', l'impostazione verrà bloccata al valore predefinito per tutti gli utenti. Il valore specificato verrà ignorato. -State3Help.text = Se imposti lo stato a 'Sbloccato', il valore predefinito verrà modificato nel valore specificato. Ogni utente potrà modificare questa impostazione. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Impostazioni policy di gruppo Classic IE -SUPPORTED_CS404.text = Richiede Open-Shell 4.0.4 o superiore. -SUPPORTED_IE9.text = Richiede Internet Explorer 9 o superiore. - - -EnableSettings.nameOverride = Abilita impostazioni -EnableSettings.tipOverride = Abilita l'utente a modificare le proprie impostazioni -CaptionFont.tipAddition = .\n\nIl formato è , , . Ad esempio "Segoe UI, normale, 9" diff --git a/Src/Localization/Italian/MenuADMX.txt b/Src/Localization/Italian/MenuADMX.txt deleted file mode 100644 index 91e55f4..0000000 --- a/Src/Localization/Italian/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Impostazioni Open-Shell -State.text = Stato: -State1.text = Bloccato a questo valore -State2.text = Bloccato al valore predefinito -State3.text = Sbloccato -State1Help.text = Se imposti lo stato a 'Bloccato a questo valore', l'impostazione verrà bloccata a questo valore per tutti gli utenti. -State2Help.text = Se imposti lo stato a 'Bloccato a valore predefinito', l'impostazione verrà bloccata al valore predefinito per tutti gli utenti. Il valore specificato verrà ignorato. -State3Help.text = Se imposti lo stato a 'Sbloccato', il valore predefinito verrà modificato nel valore specificato. Ogni utente potrà modificare questa impostazione. - -MenuCat.text = Menu Start classico -MenuCatHelp.text = Impostazioni policy di gruppo menu Start classico -SUPPORTED_CS404.text = Richiede Open-Shell 4.0.4 o superiore. -SUPPORTED_CS404_WIN7.text = Richiede Windows 7. -SUPPORTED_CS404_WIN78.text = Richiede Windows 7 o Windows 8. -SUPPORTED_CS404_WIN781.text = Richiede Windows 7 o Windows 8.1. -SUPPORTED_CS404_WIN8.text = Richiede Windows 8. -SUPPORTED_CS404_WIN881.text =Richiede Windows 8 o Windows 8.1. -SUPPORTED_CS404_WIN81.text = Richiede Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Richiede lo stile menu classico con una sola colonna. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Richiede lo stile menu classico con due colonne. -SUPPORTED_CS404_CLASSIC_STYLE.text = Richiede lo stile menu classico. -SUPPORTED_CS404_WIN7_STYLE.text = Richiede lo stile menu Window 7. - - -EnableSettings.nameOverride = Abilita impostazioni -EnableSettings.tipOverride = Abilita l'utente a modificare le proprie impostazioni - -MenuStyle.nameOverride = Stile menu -MenuStyle.tipOverride = Seleziona lo stile per il menu Start.\nLo stile determina la modalità di visione e le funzionalità del menu. -MenuStyle_Classic1.nameOverride = Classico con una sola colonna -MenuStyle_Classic2.nameOverride = Classico con due colonne -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Clic sinistro apre -ShiftClick.nameOverride = Miausc+click apre -WinKey.nameOverride = Tasto Windows apre -ShiftWin.nameOverride = Maiusc+Win apre -MiddleClick.nameOverride = Clic centrale apre -Hover.nameOverride = Rotellina apre - -; skins -SkinC1.nameOverride = Tema per il menu classico con una sola colonna -SkinC1.tipOverride = Seleziona il tema da usare con lo stile classico con una sola colonna -SkinVariationC1.nameOverride = Variazione tema per il menu classico con una sola colonna -SkinVariationC1.tipOverride = Seleziona la variazione da usare con lo stile classico con una sola colonna (per temi che supportano variazioni multiple) -SkinOptionsC1.nameOverride = Opzioni tema per menu classico con una sola colonna -SkinOptionsC1.tipOverride = Seleziona le opzioni del tema da usare con lo stile classico con una sola colonna.\nLe opzioni sono un elenco di numeri esadecimali. Il miglior modo di impostare questi valori è modificare le opzioni nelle impostazioni nella finestra del menu Start classico e vedere i valori SkinOptionsC1 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Elementi menu per il menu Start classico con una sola colonna -MenuItems1.tipOverride = Seleziona gli elementi menu da usare nello stile classico con una sola colonna.\nIl miglior modo per impostare le giuste stringhe è quello di configurare gli elementi nelle impostazioni del menu classico Start e vedere i valori MenuItems1 in HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Tema per il menu classico con due colonne -SkinC2.tipOverride = Seleziona il tema da usare con il menu classico con due colonne -SkinVariationC2.nameOverride = Variazione tema per il menu classico con due colonne -SkinVariationC2.tipOverride = Seleziona la variazione da usare con il menu classico con due colonne (per temi che supportano variazioni multiple) -SkinOptionsC2.nameOverride = Opzioni tema per menu classico con due colonne -SkinOptionsC2.tipOverride = Seleziona le opzioni del tema da usare con lo stile classico con due colonne.\nLe opzioni sono un elenco di numeri esadecimali. Il miglior modo di impostare questi valori è modificare le opzioni nelle impostazioni nella finestra del menu Start classico e vedere i valori SkinOptionsC2 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Elementi menu per il menu Start classico con due colonne -MenuItems2.tipOverride = Seleziona gli elementi menu da usare nello stile classico con due colonne.\nIl miglior modo per impostare le giuste stringhe è quello di configurare gli elementi nelle impostazioni del menu Start classico e vedere i valori MenuItems1 in MenuItems2 in HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Tema per lo stile Windows 7 -SkinW7.tipOverride = Seleziona il tema da usare con lo stile Windows 7 -SkinVariationW7.nameOverride = Variazione tema per lo stile Windows 7 -SkinVariationW7.tipOverride = Seleziona la variazione da usare con lo stile Windwos 7 (per temi che supportano variazioni multiple) -SkinOptionsW7.nameOverride = Opzioni tema per lo stile Windows 7 -SkinOptionsW7.tipOverride = Seleziona le opzioni da usare nello stile Windows 7.\nLe opzioni sono un elenco di numeri esadecimali. Il miglior modo di impostare questi valori è modificare le opzioni nelle impostazioni nella finestra del menu Start classico e vedere i valori SkinOptionsW7 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Elementi menu per lo stile Windows 7 -MenuItems7.tipOverride = Seleziona gli elementi del menu da usare con lo stile Windows 7.\nLe opzioni sono un elenco di numeri esadecimali. Il miglior modo di impostare questi valori è modificare le opzioni nelle impostazioni nella finestra del menu Start classico e vedere i valori MenuItems7 in HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Tema per il sottomenu 'Tutti i programmi' per il menu Start di Windows 7 -SkinA.tipOverride = Seleziona il tema da usare per il sottomenu'Tutti i programmi' per il menu Start di Windows 7 -SkinVariationA.nameOverride = Variazione tema per il sottomenu 'Tutti i programmi' per il menu Start di Windows 7 -SkinVariationA.tipOverride = Seleziona la variazione del tema da usare per il sottomenu 'Tutti i programmi' per il menu Start di Windows 7 (per temi che supportano variazioni multiple) -SkinOptionsA.nameOverride = Opzioni tema per il sottomenu' Tutti i programmi' del menu Start di Windows 7 -SkinOptionsA.tipOverride = Seleziona le opzioni tema da usare con il sottomenu 'Tutti i programmi' del menu Start di Windows 7.\nLe opzioni sono un elenco di numeri esadecimali. Il miglior modo di impostare questi valori è modificare le opzioni nelle impostazioni nella finestra del menu Start classico e vedere i valori SkinOptionsA in HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = Questa impostazione non funziona con Windows 8.1. Devi usare l'impostazione integrata di Windows per andare al Desktop - -; hidden -FolderStartMenu.nameOverride = Cartella menu Start -FolderStartMenu.tipOverride = Sovrascrive l'impostazione (per utente) della cartella menu Start (sovrascrive anche l'impostazione per utente cartella Programmi).\nIl percorso può contenere variabili ambiente.\nNota: questa impostazione non è modificabile nella finestra Impostazioni -FolderPrograms.nameOverride = Cartella Programmi -FolderPrograms.tipOverride = Sovrascrive l'impostazione (per utente) della cartella Programmi.\nIl percorso può contenere variabili ambiente.\nNota: questa impostazione non è modificabile nella finestra Impostazioni -FolderCommonStartMenu.nameOverride = Cartella menu Start comune -FolderCommonStartMenu.tipOverride =Sovrascrive l'impostazione (per utente) della cartella menu Start comune (sovrascrive anche l'impostazione per utente cartella Programmi).\nIl percorso può contenere variabili ambiente.\nNota: questa impostazione non è modificabile nella finestra Impostazioni -FolderCommonPrograms.nameOverride =Cartella Programmi comuni -FolderCommonPrograms.tipOverride = Sovrascrive l'impostazione (per utente) della cartella Programmi comuni.\nNota: questa impostazione non è modificabile nella finestra Impostazioni -AutoStartDelay.nameOverride = Ritardo menu Start -AutoStartDelay.tipOverride = Imposta il ritardo dopo quanto eseguire automaticamente il menu Start durante il login (non si applica quando si avvia il menu manualmente eseguendo StartMenu.exe).\nNota: questa impostazione non è modificabile nella finestra Impostazioni - -; other -StartButtonIcon.tipAddition = Il valore può essere un percorso ad un file ISO o ad un file EXE/DLL e l'ID dell'icona -StartButtonPath.tipAddition = Il valore è il percorso completo ad un file BMP o PNG -SoundMain.tipAddition = Il valore può essere un nome di un evento di sistema o il percorso di un file WAV -SoundPopup.tipAddition = Il valore può essere un nome di un evento di sistema o il percorso di un file WAV -SoundCommand.tipAddition = Il valore può essere un nome di un evento di sistema o il percorso di un file WAV -SoundDrop.tipAddition = Il valore può essere un nome di un evento di sistema o il percorso di un file WAV -ExpandFolderLinks.tipAddition = Funziona solo per i collegamenti simbolici (come le giunzioni) e non per i collegamenti normali -StartHoverDelay.nameOverride = Ritardo rotellina (per puslante Start) -AllProgramsDelay.nameOverride = Ritardo rotellina (per 'Tutti i programmi' in Windows 7) -CSMHotkey.tipAddition = .\n\nIl valore base nella chiave principale del codice virtuale. Aggiungi 256 per Maiusc, 512 per Control e 1024 per Alt.\nIl miglior modo per ottenere il valore è quello di configurare la combinazione di tasti nelle Impostazioni del menu Start classico e guardare i valori CSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition =.\n\nIl valore base nella chiave principale del codice virtuale. Aggiungi 256 per Maiusc, 512 per Control e 1024 per Alt.\nIl miglior modo per ottenere il valore è quello di configurare la combinazione di tasti nelle Impostazioni del menu Start classico e guardare i valori WSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/Italian/OpenShellADMX.txt b/Src/Localization/Italian/OpenShellADMX.txt deleted file mode 100644 index 312bff7..0000000 --- a/Src/Localization/Italian/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Impostazioni Open-Shell -State.text = Stato: -State1.text = Bloccato a questo valore -State2.text = Bloccato al valore predefinito -State3.text = Sbloccato -State1Help.text = Se imposti lo stato a 'Bloccato a questo valore', l'impostazione verrà bloccata a questo valore per tutti gli utenti. -State2Help.text = Se imposti lo stato a 'Bloccato a valore predefinito', l'impostazione verrà bloccata al valore predefinito per tutti gli utenti. Il valore specificato verrà ignorato. -State3Help.text = Se imposti lo stato a 'Sbloccato', il valore predefinito verrà modificato nel valore specificato. Ogni utente potrà modificare questa impostazione. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Impostazioni policy di gruppo Open-Shell -SUPPORTED_CS404.text = Richiede Open-Shell 4.0.4 o superiore. - -Language.nameOverride = Lingua per i componenti di Open-Shell -Language.tipOverride = Seleziona la lingua da usare in Open-Shell (per esempio IT o en-US). La lingua modificherà il testo nel menu Start, delle barre strumenti, ecc. Se è installata la DLL appropriata, le impostazioni della UI verranno tradotte -Update.nameOverride = Abilita controllo automatico nuove versioni -Update.tipOverride = Quando questa opzione è selezionata, Open-Shell verificherà ogni settimana la disponibilità di nuove versioni. Ti verrà notificato se è disponibile una nuova versione di Open-Shell o una nuova versione del tuo file lingua diff --git a/Src/Localization/Italian/OpenShellEULA.rtf b/Src/Localization/Italian/OpenShellEULA.rtf deleted file mode 100644 index c68f25c..0000000 Binary files a/Src/Localization/Italian/OpenShellEULA.rtf and /dev/null differ diff --git a/Src/Localization/Italian/OpenShellReadme.rtf b/Src/Localization/Italian/OpenShellReadme.rtf deleted file mode 100644 index a69502d..0000000 --- a/Src/Localization/Italian/OpenShellReadme.rtf +++ /dev/null @@ -1,106 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset0 Calibri;}{\f2\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52 Open-Shell\par - -\pard\widctlpar\cf0\expndtw0\b0\i0\f1\fs22\par -\lang2064 Grazie per aver installato \cf3\b Open-Shell\'99\cf0\b0 .Il programma aggiunge alcune funzionalit\'e0 mancanti a Windows 7, Windows 8, Windows 8.1 e Windows 10 - come il menu Start classico, il puslante Start, una barra strumenti per Windows Explorer e altro ancora.\par -\par -La versione aggironata del programma \'e8 disponibile nel sito web di Open-Shell:\par -{\lang1033{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f1\fs22\lang1033\par -\par -\lang2064 Per le risposte alle domande pi\'f9 frequenti fare clic qui:\par -{\lang1033{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f1\fs22\lang1033\par -\par -\lang2064 O usare il forum di discussione per ottenere aiuto:\par -{\lang1033{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f1\fs22\lang1033\par -\par -\lang2064 Segnalate gli eventiuali problemi nel forum di sviluppo di Open-Shell:\par -{\lang1033{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f1\fs22\lang1033\par -\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Menu Start classico\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Menu Start classico\cf0 \b0 i\'e8 un menu Start flessibile che simula il funzionamento del menu Start di Windows 2000, XP e Windows 7. \lang2064 Ha una variet\'e0 di funzioni avanzate:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Scelta tra stile "Classic\rdblquote e\ldblquote Windows 7\rdblquote\par -{\pntext\f2\'B7\tab}Uso del drag and drop per organizzare le applicazioni\par -{\pntext\f2\'B7\tab}Opzioni per visualizzare i Preferiti, espandere il Pannello di controllo, ecc\par -{\pntext\f2\'B7\tab}Visualizzare i documenti usati recentemente. Il numero dei documenti visualizzati \'e8 personalizzabile\par -{\pntext\f2\'B7\tab}E' tradoitto in 35 lingue, includde il supporto destra a sinistra per i paesi Arabi e Ebraici\par -{\pntext\f2\'B7\tab}Non disabilita il menuS tart originale di Windows. E' possibile accedere al menu originale con Maiusc+Clic sul puslante Start\par -{\pntext\f2\'B7\tab}Clic tasto destro su ogni elemnto del menu per eliminare, rinominare, ordinare o effettuare altre attivit\'e0\par -{\pntext\f2\'B7\tab}Il riquadro di ricerca aiuta a trovare i programmi e i file senza entrare nel mondo delle scorciatoie da tastiera\par -{\pntext\f2\'B7\tab}Supporta l'elenco rapido programmi per un accesso rapido ai documenti recenti e alle attivit\'e0 comuni\par -{\pntext\f2\'B7\tab}Disponibile per sistemi operativi a 32bit e 64bit\par -{\pntext\f2\'B7\tab}Supporta temi, inclusi temi addizionali di terze parti. E' possibile costruirsili da soli!\par -{\pntext\f2\'B7\tab}Completamente personalizzabile sia nell'aspetto che nelle funzionalit\'e0\par -{\pntext\f2\'B7\tab}Supporto per Accessibilit\'e0 attiva Microsoft\par -{\pntext\f2\'B7\tab}Converte il puslante "Tutti i programmi\rdblquote in un menu Windows all'interno di un menu a cascata\par -{\pntext\f2\'B7\tab}Implementa un pulsante Start personalizzabile\par -{\pntext\f2\'B7\tab}Pu\'f2 visualizzare Cerca ed esegui applicazioni Windows Store (Windows 8)\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Explorer classico\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Explorer calssico\cf0 \b0\'e8 un plugin per Windows Explorer che:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Aggiunge una barra strumenti ad Explorer per alcune operazioni comuni (Vai alla cartella superiore, Taglia, Copia, Incolla, Elimina, Propriet\'e0, Email). La barra strumenti \'e8 completamente personalizzabile\par -{\pntext\f2\'B7\tab}Sostitusce la UI Copia di Windows 7 con una versione "classica" pi\'f9 amichevole simile a quella di Windows XP\par -{\pntext\f2\'B7\tab}Gestisce + nel pannello cartella di Windows Explorer e visualizza le propriet\'e0 della cartella selezionata\par -{\pntext\f2\'B7\tab}Dispone delle opzioni per personalizzare il pannello cartella per apparire simile alla versione Windows XP o per non dissolvere il pulsante di espansione\par -{\pntext\f2\'B7\tab}Pu\'f2 visualizzare nella barra di stato lo spazio libero e al dimensione totale dei file selezionati\par -{\pntext\f2\'B7\tab}Pu\'f2 disabilitare il breadcrumbs nella barra indirizzi\par -{\pntext\f2\'B7\tab}Risolve un lungo elenco di funzionalit\'e0 non presenti in Windows 7 \endash icona sovrapposizione mancante per cartelle condivise, acceso rapido alle cartelle nel pannello di navigazione, ordinamento intestazioni mancante nella Vista elenco, e altro ancora\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28\lang1033 IE classico\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b\lang2064 IE Calssico \'e8 un plugin per Internet Explorer 9 e versioni succesive che:\par -\cf0\b0\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Aggiunge una finestra alla barra titolo in modo da poter vedere il titolo completo della pagina\par -{\pntext\f2\'B7\tab}Visualizza la zona sicurezza nella barra di stato\par -{\pntext\f2\'B7\tab}Visualizza il progresso del caricamento nella barra di stato\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Istriuzioni per l'installazione\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -La barra strumenti di Windows Explorer potrebbe non essere visualizzata automaticamente dopo l'installazione. Bisogna fare alcune cose prima di poterla usare.\par -\par -\cf3\b Windows 7:\cf0\b0 Premere +V per aprire il menu Vista. Aprire il sottomenu \ldblquote Barre strumenti\rdblquote e selzionare \ldblquote Barra Explorer classico\rdblquote . Tienere a mente che il menu sar\'e0 visualizzato fino a che la barra strumenti sar\'e0 visibile.\par -\par -\cf3\b Windows 8:\cf0\b0 Premere +V per aprire il nastro Vista. Fare clic sulla freccia verso il basso nella sezione \ldblquote Opzioni\rdblquote . Selezionare \ldblquote Barra Explorer classico\rdblquote\par -\par -Se questi passaggi non funzionassero, potrebbe essere possibile che le estensioni di Explorer siano state disabilitate. Verificarlo nella maniera indicata, quindi riprovare a visualizzare la barra strumenti:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720 Aprire Internet Explorer e andare in Strumenti -> Gestione add-ons. Indetificare l'addon \ldblquote Barra Explore classico\rdblquote e \ldblquote ExplorerBHO Class\rdblquote e assicurarsi che siano abiilitati.\par -{\pntext\f1 2)\tab}Potrebbe essere chenel sistema le estensioni del brwoser siano disabilitate. Quest\'f2 \'e8 normalmente la situazione predefinita per Windows Server.Aprire "Opzioni internet" ("Internet Options"), andarenella scheda "Avanzate" ("Advanced") , e verificare le opzioni "Abilita estensioni browser di terze parti" ("Enable third-party browser extensions").\par - -\pard\widctlpar\par -In Windows 7 se si vuole vedere le dimensioni dei file \'e8 necessario abilitare la barra di stato nel menu Vista.\par -In Windows 8 la barra di stato Explorer classica \'e8 differente da quella di Explorer. E' possibile visualizzare/nascondere la prima nelle fienstra impostazioni di Explor classico e visualizzare/nascondere la seconda nella finestra opzioni di Explorer.\par -\par -Il titolo in Internet Explorer potrebbe non essere visualizzato automaticamente dopo l'installazione. E' possibile ricevere una richiesta per abilitare il plugin ClassicIEBHO. Se si riceve tale richiesta, selezionare \ldblquote Abilita\rdblquote . Se non si riceve tale richiesta andare in Strumenti -> Gestione add-on e assoicurarsi che \ldblquote ClassicIEBHO\rdblquote sia abilitato. Quindi riavviare Internet Explorer.\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Disinstallazione\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -Per disinstallare \cf3\b Open-Shell\cf0\b0 seguire is eguenti passaggi\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720 Apri \b Pannello di controllo -> Programmi e funzionalit\'e0\b0 e fare doppio clic su \b Open-Shell\b0 . Quindi seguire le istruzioni.Potrebbe essere richiesto il riavvio di Windows per completare il processo.\par -{\pntext\f1 2)\tab}Se si installa qualsasi tema aggiuntivo per il menu Start \'e8 necessario eliminare manualmente i file.\par - -\pard\widctlpar\par - -\pard\widctlpar\sa200\sl276\slmult1\par -} - diff --git a/Src/Localization/Italian/OpenShellText-it-IT.wxl b/Src/Localization/Italian/OpenShellText-it-IT.wxl deleted file mode 100644 index f15e720..0000000 --- a/Src/Localization/Italian/OpenShellText-it-IT.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - Questa installazione è per sistemi Windows a 32bit. Per sistemi Windows a 64bit eseguire Setup64. - Open-Shell richiede Windows 7 o successivo. - E' già installata una versione più recente di [ProductName]. L'installazione verrà chiusa. - Classic Explorer - Classic Explorer aggiunge una barra strumenti a Windows Explorer, e sostituisce la copia UI e corregge alcuni problemi di usabilità - Menu Start classico - Il menu Start classico è una modifica altamente configurabile per il menu Start di Windows - IE classico - IE classico permette di personalizzare la barra del titolo e di stato di Internet Explorer - Aggiornamento Open-Shell - Aggiornamento Open-Shell controlla periodicamente la disponibilità degli aggiornamenti - Visualizza la Guida in linea di Open-Shell - Visualizza il file 'Leggimi' di Open-Shell - Modifica le impostazioni di Classic Explorer - Modifica le impostazioni del menu Start classico - Modifica le impostazioni del titolo e della barra di stato di Internet Explorer - Modifica le impostazioni del controllo aggiornamenti di Open-Shell - Crea una cartella menu Start - Sito web Open-Shell - Dona a Open-Shell - Seguici su Facebook - Visualizza file 'Leggimi' - Guida in linea Open-Shell - File 'Leggimi' Open-Shell - Aggiornamento di Open-Shell - Impostazioni Classic Explorer - Impostazioni menu classico Start - Impostazioni IE classico - Apri la schermata Start - Open-Shell è una raccolta di miglioramenti relativi all'uso di Windows - diff --git a/Src/Localization/Italian/WixUI_it-it.wxl b/Src/Localization/Italian/WixUI_it-it.wxl deleted file mode 100644 index 7910d66..0000000 --- a/Src/Localization/Italian/WixUI_it-it.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - In&dietro - &Avanti - Annulla - &Fine - &Riprova - &Ignora - &Sì - &No - OK - &Stampa - - Installazione di [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Leggere il Contratto di Licenza di [ProductName] - &Accetto i termini del Contratto di Licenza - Fare clic su Installa per installare il prodotto con le opzioni predefinite per tutti gli utenti. Fare clic su Avanzate per modificare le opzioni di installazione. - Fare clic su Installa per installare il prodotto con le opzioni predefinite solo per l'utente corrente. Fare clic su Avanzate per modificare le opzioni di installazione. - &Installa - A&vanzate - 8 - 12 - 9 - 8 - Tahoma - - Installazione di [ProductName] - &Cerca in: - WixUI_Bmp_Up - Livello superiore - WixUI_Bmp_New - Crea una nuova cartella - &Nome cartella: - WixUI_Bmp_Banner - Scegliere la cartella di destinazione - {\WixUI_Font_Title}Modifica cartella di destinazione - - Installazione di [ProductName] - Annullare l'installazione di [ProductName]? - WixUI_Ico_Info - Icona informazioni - - Installazione di [ProductName] - Albero delle selezioni - Sf&oglia... - Re&imposta - &Utilizzo disco - WixUI_Bmp_Banner - Per modificare la modalità di installazione delle funzionalità, fare clic sulle icone nell'albero sottostante. - Selezionare la modalità di installazione delle funzionalità desiderata. - {\WixUI_Font_Title}Installazione personalizzata - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Percorso: - - Installazione di [ProductName] - WixUI_Bmp_Banner - Lo spazio su disco disponibile nei volumi evidenziati non è sufficiente per installare le funzionalità selezionate. Rimuovere alcuni file dai volumi evidenziati, installare un numero minore di funzionalità oppure selezionare unità di destinazione diverse. - Spazio su disco necessario per l'installazione delle funzionalità selezionate. - {\WixUI_Font_Title}Requisiti di spazio su disco - {120}{70}{70}{70}{70} - - Installazione di [ProductName] - Testo informativo - WixUI_Ico_Info - Icona informazioni - - Installazione di [ProductName] - WixUI_Bmp_Dialog - Fare clic sul pulsante Fine per uscire dall'Installazione guidata. - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] completata - - Installazione di [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] terminata prima del completamento - L'Installazione guidata di [ProductName] è terminata prima del completamento a causa di un errore. Il sistema non è stato modificato. Per installare il programma in un secondo momento, eseguire di nuovo l'Installazione guidata. - Fare clic sul pulsante Fine per uscire dall'Installazione guidata. - - Installazione di [ProductName] - Funzionalità del prodotto - WixUI_Bmp_Banner - Selezionare la modalità di installazione delle funzionalità desiderata. - {\WixUI_Font_Title}Funzionalità del prodotto - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installa - &Cambia - - Installazione di [ProductName] - E&sci - WixUI_Bmp_Banner - Le applicazioni seguenti stanno utilizzando file che devono essere aggiornati da questa installazione. Chiudere le applicazioni, quindi fare clic su &Riprova per continuare l'installazione. Per uscire dall'installazione, fare clic su Esci. - Alcuni file che richiedono l'aggiornamento sono attualmente in uso. - {\WixUI_Font_Title}File in uso - - Installazione di [ProductName] - &Cambia... - {\WixUI_Font_Title}Cartella di destinazione - Fare clic su Avanti per eseguire l'installazione nella cartella predefinita o su Cambia per scegliere una cartella diversa. - WixUI_Bmp_Banner - Installazione di [ProductName] in: - - Installazione di [ProductName] - WixUI_Bmp_Banner - Scegliere la cartella e l'ambito di installazione - {\WixUI_Font_Title}Ambito di installazione - {\WixUI_Font_Emphasized}Installa solo per l'&utente corrente ([LogonUser]) - [ProductName] verrà installato in una cartella per utente e sarà disponibile solo per l'account utente corrente. Non sono necessari privilegi di amministratore locale. - [ProductName] non supporta l'installazione per utente. - {\WixUI_Font_Emphasized}Installa per tutti gli utenti di questo co&mputer - [ProductName] verrà installato in una cartella per computer per impostazione predefinita e sarà disponibile per tutti gli utenti. È possibile modificare la cartella di installazione predefinita. È necessario disporre dei privilegi di amministratore locale. - Cartella di i&nstallazione: - &Cambia... - - Installazione di [ProductName] - La directory di installazione deve trovarsi su un disco rigido locale. - WixUI_Ico_Info - Icona informazioni - - Installazione di [ProductName] - &Accetto i termini del Contratto di Licenza - WixUI_Bmp_Banner - Leggere attentamente il Contratto di Licenza - {\WixUI_Font_Title}Contratto di Licenza con l'utente finale - - Installazione di [ProductName] - &Cambia - Consente di modificare l'installazione - Ri&para - Consente di riparare l'installazione - &Rimuovi - Consente di rimuovere l'installazione - WixUI_Bmp_Banner - Selezionare l'operazione che si desidera eseguire. - {\WixUI_Font_Title}Modifica, riparazione o rimozione installazione - Cambia la modalità di installazione delle funzionalità. - [ProductName] non dispone di funzionalità selezionabili separatamente. - Consente di rimuovere [ProductName] dal computer. - Impossibile rimuovere [ProductName]. - Corregge gli errori presenti nell'installazione più recente ripristinando file mancanti o danneggiati, collegamenti e voci del Registro di sistema. - Impossibile riparare [ProductName]. - - Installazione di [ProductName] - WixUI_Bmp_Dialog - L'Installazione guidata consente di cambiare la modalità di installazione delle funzionalità di [ProductName] nel computer oppure di rimuovere il prodotto. Fare clic su Avanti per continuare oppure su Annulla per uscire dall'Installazione guidata. - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] - - Installazione di [ProductName] - WixUI_Bmp_Banner - Le applicazioni seguenti utilizzano file che devono essere aggiornati da questa installazione. È possibile consentirne la chiusura e il successivo riavvio da parte dell'Installazione guidata oppure riavviare il computer in seguito. - Alcuni file che richiedono l'aggiornamento sono attualmente in uso. - {\WixUI_Font_Title}File in uso - &Chiudi le applicazioni e tenta di riavviarle. - &Non chiudere le applicazioni. Sarà necessario riavviare il sistema. - - Installazione di [ProductName] - WixUI_Bmp_Banner - Lo spazio su disco disponibile nei volumi evidenziati non è sufficiente per installare le funzionalità attualmente selezionate. Rimuovere alcuni file dai volumi evidenziati, installare un numero minore di funzionalità oppure selezionare un'unità di destinazione diversa. - Spazio su disco disponibile insufficiente per l'installazione. - {\WixUI_Font_Title}Spazio su disco insufficiente - {120}{70}{70}{70}{70} - - Installazione di [ProductName] - WixUI_Bmp_Banner - Lo spazio su disco disponibile nei volumi evidenziati non è sufficiente per installare le funzionalità attualmente selezionate. Rimuovere alcuni file dai volumi evidenziati, installare un numero minore di funzionalità oppure selezionare un'unità di destinazione diversa. - Spazio su disco disponibile insufficiente per l'installazione. - {\WixUI_Font_Title}Spazio su disco insufficiente - {120}{70}{70}{70}{70} - In alternativa, è possibile scegliere di disabilitare la funzionalità di ripristino dello stato precedente all'installazione che consente, nel caso in cui l'installazione venga interrotta, di ripristinare lo stato originario del computer. Per disabilitare la funzionalità di ripristino dello stato precedente all'installazione, fare clic su Sì. - - Installazione di [ProductName] - WixUI_Bmp_Dialog - Attendere. È in corso la preparazione dell'Installazione guidata. - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] - - Installazione di [ProductName] - WixUI_Bmp_Banner - Attendere. È in corso l'installazione di [ProductName]. - {\WixUI_Font_Title}Installazione di [ProductName] - Attendere. È in corso la modifica di [ProductName]. - {\WixUI_Font_Title}Modifica di [ProductName] - Attendere. È in corso la riparazione di [ProductName]. - {\WixUI_Font_Title}Riparazione di [ProductName] - Attendere. È in corso la rimozione di [ProductName]. - {\WixUI_Font_Title}Rimozione di [ProductName] - Attendere. È in corso l'aggiornamento di [ProductName]. - {\WixUI_Font_Title}Aggiornamento di [ProductName] - Stato - Stato: - - Installazione di [ProductName] - &Installa - WixUI_Bmp_Dialog - L'installazione di [ProductName] nel computer in uso verrà completata. Fare clic su Installa per continuare oppure su Annulla per uscire dall'Installazione guidata. - {\WixUI_Font_Bigger}Ripresa dell'Installazione guidata di [ProductName] - - Installazione di [ProductName] - &Tipica - Installazione tipica - P&ersonalizzata - Installazione personalizzata - C&ompleta - Installazione completa - WixUI_Bmp_Banner - {\WixUI_Font_Title}Scegliere il tipo di installazione - Scegliere il tipo di installazione più adatto - Vengono installate le funzionalità del programma più comuni. Opzione consigliata per la maggior parte degli utenti. - Consente agli utenti di scegliere le funzionalità del programma da installare e la posizione in cui verranno installate. Opzione consigliata per utenti esperti. - Verranno installate tutte le funzionalità del programma. È necessaria la quantità massima di spazio su disco. - - Installazione di [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] interrotta - L'installazione di [ProductName] è stata interrotta. Il sistema non è stato modificato. Per installare il programma in un secondo momento, eseguire di nuovo l'installazione. - Fare clic sul pulsante Fine per uscire dall'Installazione guidata. - - Installazione di [ProductName] - WixUI_Bmp_Banner - &Installa - Fare clic su Installa per avviare l'installazione. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio installazione di [ProductName] - &Cambia - Fare clic su Cambia per avviare l'installazione. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio modifica di [ProductName] - Ri&para - Fare clic su Ripara per riparare l'installazione di [ProductName]. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio riparazione di [ProductName] - &Rimuovi - Fare clic su Rimuovi per rimuovere [ProductName] dal computer. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio rimozione di [ProductName] - A&ggiorna - Fare clic su Aggiorna per eseguire l'aggiornamento di [ProductName] dal computer in uso. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio aggiornamento di [ProductName] - - Installazione di [ProductName] - &Torna indietro - Attendere. È in corso il calcolo dello spazio su disco richiesto. - WixUI_Ico_Exclam - Icona punto esclamativo - - Installazione di [ProductName] - WixUI_Bmp_Dialog - L'Installazione guidata consente di installare [ProductName] nel computer. Fare clic su Avanti per continuare oppure su Annulla per uscire dall'Installazione guidata. - Verrà eseguito l'aggiornamento di [ProductName] nel computer in uso. Fare clic su Avanti per continuare oppure su Annulla per uscire dall'Installazione guidata. - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] - - Installazione di [ProductName] - WixUI_Bmp_Dialog - &Accetto i termini del Contratto di Licenza - &Installa - A&ggiorna - {\WixUI_Font_Title}Leggere il Contratto di Licenza di [ProductName] - - Convalida dell'installazione in corso... - Copia dei nuovi file in corso... - File: [1], directory: [9], dimensione: [6] - Copia dei file per l'installazione in rete in corso... - File: [1], directory: [9], dimensione: [6] - Calcolo dello spazio necessario in corso... - Calcolo dello spazio necessario in corso... - Calcolo dello spazio necessario in corso... - Creazione dei collegamenti in corso... - Collegamento: [1] - Pubblicazione dei componenti qualificati in corso... - ID componente: [1], qualificatore: [2] - Pubblicazione delle funzionalità del prodotto in corso... - Funzionalità: [1] - Pubblicazione delle informazioni sul prodotto in corso... - Registrazione dei server delle classi in corso... - ID classe: [1] - Registrazione dei server delle estensioni in corso... - Estensione: [1] - Registrazione delle informazioni MIME in corso... - Tipo di contenuto MIME: [1], estensione: [2] - Registrazione degli ID di programma in corso... - ID programma: [1] - Allocazione dello spazio nel Registro di sistema in corso... - Spazio disponibile: [1] - Rilevamento delle applicazioni installate in corso... - Proprietà: [1], firma: [2] - Binding dei file eseguibili in corso... - File: [1] - Ricerca del software originale richiesto in corso... - Creazione delle cartelle in corso... - Cartella: [1] - Eliminazione dei servizi in corso... - Servizio: [1] - Creazione file duplicati in corso... - File: [1], directory: [9], dimensione: [6] - Ricerca delle applicazioni correlate in corso... - Applicazione trovata: [1] - Installazione dei componenti ODBC in corso... - Installazione dei nuovi servizi in corso... - Servizio: [2] - Valutazione delle condizioni di avvio in corso... - Migrazione degli stati delle funzionalità da applicazioni correlate in corso... - Applicazione: [1] - Spostamento dei file in corso... - File: [1], directory: [9], dimensione: [6] - Installazione della patch in corso... - File: [1], directory: [2], dimensione: [3] - Aggiornamento della registrazione del componente in corso... - Registrazione dei componenti e delle applicazioni COM+ in corso... - ID applicazione: [1]{{, Tipo applicazione: [2], Utenti: [3], RSN: [4]}} - Registrazione dei tipi di carattere in corso... - Tipo di carattere: [1] - Registrazione del prodotto in corso... - [1] - Registrazione delle librerie dei tipi in corso... - ID libreria: [1] - Registrazione dell'utente in corso... - [1] - Rimozione dei file duplicati in corso... - File: [1], directory: [9] - Aggiornamento delle stringhe di ambiente in corso... - Nome: [1], valore: [2], azione [3] - Rimozione delle applicazioni in corso... - Applicazione: [1], riga di comando: [2] - Rimozione dei file in corso... - File: [1], directory: [9] - Rimozione delle cartelle in corso... - Cartella: [1] - Rimozione delle voci dei file INI in corso... - File: [1], sezione: [2], chiave: [3], valore: [4] - Rimozione dei componenti ODBC in corso... - Rimozione dei valori del Registro di sistema in corso... - Chiave: [1], nome: [2] - Rimozione dei collegamenti in corso... - Collegamento: [1] - Ricerca del software originale richiesto in corso... - Registrazione dei moduli in corso... - File: [1], cartella: [2] - Annullamento della registrazione dei moduli in corso... - File: [1], cartella: [2] - Inizializzazione delle directory ODBC in corso... - Avvio dei servizi in corso... - Servizio: [1] - Arresto dei servizi in corso... - Servizio: [1] - Annullamento della pubblicazione dei componenti qualificati in corso... - ID componente: [1], qualificatore: [2] - Annullamento della pubblicazione delle funzionalità del prodotto in corso... - Funzionalità: [1] - Annullamento della registrazione dei server delle classi in corso... - ID classe: [1] - Annullamento della registrazione dei componenti e delle applicazioni COM+ in corso... - ID applicazione: [1]{{, Tipo applicazione: [2]}} - Annullamento della registrazione dei server delle estensioni in corso... - Estensione: [1] - Annullamento della registrazione dei tipi di carattere in corso... - Tipo di carattere: [1] - Annullamento della registrazione delle informazioni MIME in corso... - Tipo di contenuto MIME: [1], estensione: [2] - Annullamento della registrazione degli ID di programma in corso... - ID programma: [1] - Annullamento della registrazione delle librerie dei tipi in corso... - ID libreria: [1] - Aggiornamento delle stringhe di ambiente in corso... - Nome: [1], valore: [2], azione [3] - Scrittura dei valori dei file INI in corso... - File: [1], sezione: [2], chiave: [3], valore: [4] - Scrittura dei valori del Registro di sistema in corso... - Chiave: [1], nome: [2], valore: [3] - Visualizzazione degli avvisi relativi all'applicazione in corso... - Generazione delle operazioni di script per l'azione in corso: - [1] - Installazione del catalogo di sistema in corso... - File: [1], dipendenze: [2] - Pubblicazione delle informazioni sull'assembly in corso... - Contesto applicazione:[1], nome assembly:[2] - Annullamento della pubblicazione delle informazioni sull'assembly in corso... - Contesto applicazione:[1], nome assembly:[2] - Ripristino stato precedente in corso: - [1] - Rimozione dei file di backup in corso... - File: [1] - Rimozione dei file spostati in corso... - File: [1], directory: [9] - Annullamento della pubblicazione delle informazioni sul prodotto in corso... - - {{Errore irreversibile: }} - {{Errore [1]. }} - Avviso [1]. - Informazioni [1]. - Errore imprevisto durante l'installazione del pacchetto. L'errore può essere dovuto a problemi del pacchetto. Il codice di errore è [1]. {{Gli argomenti sono: [2], [3], [4]}} - {{Disco pieno: }} - Azione [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Tipo messaggio: [1], argomento: [2] - === Inizio registrazione: [Date] [Time] === - === Fine registrazione: [Date] [Time] === - Inizio azione [Time]: [1]. - Fine azione [Time]: [1]. Valore restituito [2]. - Tempo rimanente: {[1] minuti }{[2] secondi} - Memoria esaurita. Chiudere alcune applicazioni, quindi riprovare. - Windows Installer non risponde. - Windows Installer arrestato in modo anomalo. - Attendere. È in corso la configurazione di [ProductName]. - Raccolta delle informazioni necessarie in corso... - Rimozione delle versioni precedenti di questa applicazione in corso... - Preparazione alla rimozione delle versioni precedenti di questa applicazione in corso... - Installazione di {[ProductName] }completata. - Impossibile installare {[ProductName] }. - Errore durante la lettura dal file [2]. {{ Errore di sistema [3].}} Verificare che il file esista e di disporre dei relativi diritti di accesso. - Impossibile creare il file '[2]' perché esiste già una directory con questo nome. Annullare l'installazione e riprovare specificando un altro percorso. - Inserire il disco: [2] - Impossibile continuare l'installazione. Windows Installer non dispone di privilegi sufficienti per l'accesso alla directory [2]. Accedere come amministratore oppure contattare l'amministratore di sistema. - Errore durante la scrittura nel file [2]. Verificare di disporre dei diritti di accesso alla directory. - Errore durante la lettura dal file [2]. {{ Errore di sistema [3].}} Verificare che il file esista e di disporre dei relativi diritti di accesso. - Il file '[2]' è aperto in modo esclusivo da un'altra applicazione. Chiudere tutte le applicazioni aperte, quindi fare clic su Riprova. - Spazio su disco insufficiente per l'installazione del file [2]. Liberare spazio su disco e scegliere Riprova oppure scegliere Annulla per uscire dall'installazione. - Impossibile trovare il file di origine [2]. Verificare che il file esista e di disporre dei relativi diritti di accesso. - Errore durante la lettura dal file [3]. {{ Errore di sistema [2].}} Verificare che il file esista e di disporre dei relativi diritti di accesso. - Errore durante la scrittura nel file [3]. {{ Errore di sistema [2].}} Verificare di disporre dei diritti di accesso alla directory. - Impossibile trovare il file di origine{{ (file CAB)}} [2]. Verificare che il file esista e di disporre dei relativi diritti di accesso. - Impossibile creare la directory '[2]' perché esiste già un file con questo nome. Rinominare o rimuovere il file, quindi scegliere Riprova oppure scegliere Annulla per uscire. - Il volume [2] non è attualmente disponibile. Selezionarne un altro. - Il percorso specificato '[2]' non è disponibile. - Impossibile scrivere nella cartella specificata: [2]. - Errore di rete durante il tentativo di lettura dal file: [2] - Errore durante il tentativo di creazione della directory: [2] - Errore di rete durante il tentativo di creazione della directory: [2] - Errore di rete durante il tentativo di apertura dei file CAB dell'origine [2]. - Il percorso specificato è troppo lungo: [2] - Privilegi insufficienti per modificare il file [2]. - Una parte del percorso della cartella '[2]' non è valida, perché è vuota o supera la lunghezza consentita dal sistema. - Il percorso della cartella '[2]' contiene parole non valide per i percorsi delle cartelle. - Il percorso della cartella '[2]' contiene un carattere non valido. - '[2]' non è un nome file breve valido. - Errore durante la lettura dei dati di sicurezza del file [3]. GetLastError: [2] - Unità non valida: [2] - Errore durante l'applicazione dell'aggiornamento al file [2]. Probabilmente il file è già stato modificato con altri mezzi e non può più essere modificato da questa patch. Per ulteriori informazioni rivolgersi al fornitore. {{Errore di sistema: [3]}} - Impossibile installare un file necessario. Il file CAB [2] non dispone di firma digitale. Il file CAB potrebbe essere danneggiato. - Impossibile installare un file necessario. La firma digitale del file CAB [2] non è valida. Il file CAB potrebbe essere danneggiato.{{ WinVerifyTrust ha restituito l'errore [3].}} - Impossibile copiare correttamente il file [2]: errore CRC. - Impossibile spostare correttamente il file [2]: errore CRC. - Impossibile correggere il file [2]: errore CRC. - Impossibile installare il file '[2]'. Il file non è presente nel file CAB '[3]'. Il problema potrebbe essere dovuto a un errore di rete, un errore di lettura da CD-ROM o a un problema del pacchetto. - Il file CAB '[2]' richiesto per l'installazione è danneggiato e non potrà essere utilizzato. Il problema potrebbe essere dovuto a un errore di rete, un errore di lettura da CD-ROM o a un problema del pacchetto. - Errore durante la creazione di un file temporaneo necessario per il completamento dell'installazione.{{ Cartella: [3]. Codice errore di sistema: [2]}} - Impossibile creare la chiave [2]. {{ Errore di sistema [3].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile aprire la chiave [2]. {{ Errore di sistema [3].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile eliminare il valore [2] dalla chiave [3]. {{ Errore di sistema [4].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile eliminare la chiave [2]. {{ Errore di sistema [3].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile leggere il valore [2] dalla chiave [3]. {{ Errore di sistema [4].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile scrivere il valore [2] nella chiave [3]. {{ Errore di sistema [4].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile ottenere nomi dei valori della chiave [2]. {{ Errore di sistema [3].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile ottenere i nomi delle chiavi secondarie per la chiave [2]. {{ Errore di sistema [3].}} Assicurarsi di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile leggere le informazioni di sicurezza per la chiave [2]. {{Errore di sistema [3].}} Assicurarsi di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile aumentare lo spazio disponibile nel Registro di sistema. Per installare l'applicazione sono necessari [2] KB di spazio disponibile nel Registro di sistema. - È in corso un'altra installazione. Completarla, quindi continuare con l'installazione desiderata. - Errore durante l'accesso a dati protetti. Assicurarsi che Windows Installer sia configurato correttamente e tentare di nuovo l'installazione. - L'utente '[2]' ha avviato in precedenza l'installazione del prodotto '[3]'. Prima di utilizzare il prodotto, tale utente dovrà ripeterne l'installazione. L'installazione corrente verrà continuata. - L'utente '[2]' ha avviato in precedenza l'installazione del prodotto '[3]'. Prima di utilizzare il prodotto, tale utente dovrà ripeterne l'installazione. - Spazio su disco insufficiente -- Volume: '[2]', spazio richiesto: [3] KB, spazio disponibile: [4] KB. Liberare spazio su disco e riprovare. - Annullare? - Il file [2][3] è già utilizzato{ dal processo con nome: [4], ID: [5] e titolo finestra: '[6]'}. Chiudere tale applicazione e riprovare. - Nel sistema è già installato il prodotto '[2]', che non consente l'installazione di questo prodotto perché incompatibile. - Spazio su disco insufficiente sul volume '[2]' per continuare l'installazione con il recupero abilitato. Sono necessari [3] KB, ma solo [4] KB sono disponibili. Scegliere Ignora per continuare senza salvare le informazioni di recupero, scegliere Riprova per controllare nuovamente lo spazio disponibile o scegliere Annulla per uscire dall'installazione. - Impossibile accedere al percorso di rete [2]. - È necessario chiudere le applicazioni seguenti prima di procedere con l'installazione: - Impossibile trovare versioni precedenti del software originale richiesto nel computer in uso. - Errore durante l'applicazione delle impostazioni di sicurezza. [2] non è un utente o un gruppo valido. L'errore potrebbe essere causato da un problema del pacchetto o da un problema durante la connessione a un controller di dominio in rete. Verificare la connessione di rete e scegliere Riprova. Altrimenti, scegliere Annulla per terminare l'installazione. {{Impossibile individuare il SID dell'utente. Errore di sistema [3]}} - La chiave [2] non è valida. Verificare che la chiave immessa sia corretta. - Prima di continuare la configurazione di [2], è necessario riavviare il sistema. Scegliere Sì per riavviarlo adesso oppure No per riavviarlo in un secondo momento. - Per rendere effettive le modifiche apportate alla configurazione di [2], è necessario riavviare il sistema. Scegliere Sì per riavviarlo adesso oppure No per riavviarlo in un secondo momento. - Un'istanza del programma di installazione di [2] è attualmente sospesa. Per continuare, è necessario annullare le modifiche effettuate da tale istanza del programma di installazione. Annullare le modifiche? - È in esecuzione un'istanza del programma di installazione del prodotto avviata in precedenza. Per continuare, è necessario annullare le modifiche effettuate da tale istanza del programma di installazione. Annullare le modifiche? - Impossibile trovare un pacchetto di installazione per [2]. Provare a ripetere l'installazione utilizzando una copia valida del pacchetto di installazione '[3]'. - Installazione completata. - Installazione non riuscita. - Prodotto: [2] -- [3] - È possibile ripristinare lo stato precedente del computer oppure continuare l'installazione in un secondo momento. Eseguire il ripristino? - Errore durante la scrittura su disco delle informazioni di installazione. Verificare che lo spazio disponibile su disco sia sufficiente e scegliere Riprova oppure scegliere Annulla per terminare l'installazione. - Impossibile trovare uno o più file necessari. Impossibile ripristinare lo stato precedente del computer. - Impossibile installare uno dei prodotti necessari per [2]. Contattare il supporto tecnico. {{Errore di sistema: [3].}} - Impossibile rimuovere la versione precedente di [2]. Contattare il supporto tecnico. {{Errore di sistema [3].}} - Installazione di [2] completata - Configurazione di [2] completata - Rimozione di [2] completata - Il file [2] è stato rifiutato dai criteri di firma digitale. - Impossibile accedere al servizio Windows Installer. Windows potrebbe essere in esecuzione in modalità provvisoria o l'installazione di Windows Installer potrebbe non essere stata eseguita correttamente. Contattare il personale di supporto. - Problema con il pacchetto Windows Installer. Impossibile eseguire uno degli script richiesti per il completamento dell'installazione. Contattare il personale di supporto o il fornitore del pacchetto. {{Azione personalizzata [2] errore script [3], [4]: [5] riga [6], colonna [7], [8] }} - Problema con il pacchetto Windows Installer. Impossibile eseguire uno dei programmi richiesti per il completamento dell'installazione. Contattare il personale di supporto o il fornitore del pacchetto. {{Azione: [2], percorso: [3], comando: [4] }} - Problema con il pacchetto Windows Installer. Uno dei programmi eseguiti come parte dell'installazione non è stato terminato correttamente. Contattare il personale di supporto o il fornitore del pacchetto. {{Azione: [2], percorso: [3], comando: [4] }} - Problema con il pacchetto Windows Installer. Impossibile eseguire una DLL necessaria per il completamento dell'installazione. Contattare il personale di supporto o il fornitore del pacchetto. {{Azione [2], voce: [3], libreria: [4] }} - Rimozione completata. - Rimozione non riuscita. - Annuncio completato. - Annuncio non riuscito. - Configurazione completata. - Configurazione non riuscita. - È necessario disporre di privilegi di amministratore per poter rimuovere questa applicazione. Accedere come amministratore o contattare il supporto tecnico. - Il pacchetto di installazione di origine per il prodotto [2] non è sincronizzato con il pacchetto client. Riprovare a eseguire l'installazione utilizzando una copia valida del pacchetto di installazione '[3]'. - Per completare l'installazione di [2] è necessario riavviare il computer. Altri utenti sono attualmente connessi al computer e il riavvio potrebbe causare la perdita dei dati non salvati. Riavviare il computer ora? - Il percorso [2] non è valido. Specificare un percorso valido. - Memoria esaurita. Chiudere alcune applicazioni, quindi riprovare. - L'unità [2] non contiene alcun disco. Inserire un disco e scegliere Riprova oppure scegliere Annulla per tornare al volume selezionato in precedenza. - L'unità [2] non contiene alcun disco. Inserire un disco e scegliere Riprova oppure scegliere Annulla per tornare alla finestra di ricerca e selezionare un altro volume. - La cartella [2] non esiste. Immettere il percorso di una cartella esistente. - Privilegi in lettura insufficienti per la cartella specificata. - Impossibile determinare una cartella di destinazione valida per l'installazione. - Errore durante il tentativo di lettura dal database di installazione di origine: [2]. - Pianificazione dell'operazione di riavvio. Il file [2] verrà rinominato [3]. Per completare l'operazione, è necessario riavviare il computer. - Pianificazione dell'operazione di riavvio. Il file [2] verrà eliminato. Per completare l'operazione, è necessario riavviare il computer. - Impossibile registrare il modulo [2]. HRESULT [3]. Contattare il personale di supporto. - Impossibile annullare la registrazione del modulo [2]. HRESULT [3]. Contattare il personale di supporto. - Impossibile memorizzare il pacchetto nella cache [2]. Errore: [3]. Contattare il personale di supporto. - Impossibile registrare il tipo di carattere [2]. Assicurarsi di disporre di autorizzazioni sufficienti per l'installazione dei tipi di carattere e verificare che il sistema supporti il tipo di carattere specificato. - Impossibile annullare la registrazione del tipo di carattere [2]. Assicurarsi di disporre di autorizzazioni sufficienti per l'eliminazione dei tipi di carattere. - Impossibile creare il collegamento [2]. Verificare che la cartella di destinazione esista e di disporre dei relativi diritti di accesso. - Impossibile rimuovere il collegamento [2]. Verificare che il file del collegamento esista e di disporre dei relativi diritti di accesso. - Impossibile registrare la libreria dei tipi per il file [2]. Contattare il personale di supporto. - Impossibile annullare la registrazione della libreria dei tipi per il file [2]. Contattare il personale di supporto. - Impossibile aggiornare il file INI [2][3]. Verificare che il file esista e sia accessibile. - Impossibile pianificare la sostituzione del file [3] con il file [2] durante il riavvio del sistema. Assicurarsi di disporre delle autorizzazioni di scrittura per il file [3]. - Errore durante la rimozione di Gestione driver ODBC. Errore ODBC [2]: [3]. Contattare il personale di supporto. - Errore durante l'installazione di Gestione driver ODBC. Errore ODBC [2]: [3]. Contattare il personale di supporto. - Errore durante la rimozione del driver ODBC [4]. Errore ODBC [2]: [3]. Verificare di disporre di privilegi sufficienti per la rimozione dei driver ODBC. - Errore durante l'installazione del driver ODBC [4]. Errore ODBC [2]: [3]. Verificare che il file [4] esista e di disporre dei relativi diritti di accesso. - Errore durante la configurazione dell'origine dati ODBC [4]. Errore ODBC [2]: [3]. Verificare che il file [4] esista e di disporre dei relativi diritti di accesso. - Impossibile avviare il servizio '[2]' ([3]). Assicurarsi di disporre di privilegi sufficienti per l'avvio dei servizi di sistema. - Impossibile arrestare il servizio '[2]' ([3]). Assicurarsi di disporre di privilegi sufficienti per l'arresto dei servizi di sistema. - Impossibile eliminare il servizio '[2]' ([3]). Assicurarsi di disporre di privilegi sufficienti per la rimozione dei servizi di sistema. - Impossibile installare il servizio '[2]' ([3]). Assicurarsi di disporre di privilegi sufficienti per l'installazione dei servizi di sistema. - Impossibile aggiornare la variabile di ambiente '[2]'. Assicurarsi di disporre di privilegi sufficienti per modificare le variabili di ambiente. - Privilegi insufficienti per completare l'installazione specificata per tutti gli utenti del computer. Accedere come amministratore, quindi ripetere l'installazione. - Impossibile impostare la sicurezza per il file '[3]'. Errore: [2]. Verificare di disporre di privilegi sufficienti per modificare le autorizzazioni di sicurezza per il file specificato. - Servizi componenti (COM+ 1.0) non è installato in questo computer. Per completare l'installazione è necessario disporre di Servizi componenti nel computer. Servizi componenti è disponibile in Windows 2000. - Errore durante la registrazione dell'applicazione COM+. Contattare il personale di supporto per maggiori informazioni. - Errore durante l'annullamento della registrazione dell'applicazione COM+. Contattare il personale di supporto per maggiori informazioni. - Impossibile modificare la descrizione del servizio '[2]' ([3]). - Il servizio Windows Installer non è in grado di aggiornare il file di sistema [2] in quanto è protetto da Windows. Potrebbe essere necessario eseguire l'aggiornamento del sistema operativo per consentire al programma di funzionare correttamente. {{Versione del pacchetto: [3], versione del sistema operativo protetto: [4]}} - Il servizio Windows Installer non è in grado di aggiornare il file protetto di Windows [2]. {{Versione del pacchetto: [3], versione del sistema operativo protetto: [4], errore SFP: [5]}} - Il servizio Windows Installer non è in grado di aggiornare uno o più file di Windows protetti. {{Errore SFP: [2]. Elenco file protetti:\r\n[3]}} - Le installazioni utente sono state disabilitate tramite criteri sul computer. - Errore durante l'installazione dell'assembly '[6]'. Per ulteriori informazioni, vedere Guida e supporto tecnico. HRESULT: [3]. {{interfaccia assembly: [4], funzione: [5], componente: [2]}} - Errore durante l'installazione dell'assembly '[6]'. L'assembly non dispone di nome sicuro o la lunghezza di chiave utilizzata per la firma è inferiore alla lunghezza minima consentita. HRESULT: [3]. {{interfaccia assembly: [4], funzione: [5], componente: [2]}} - Errore durante l'installazione dell'assembly '[6]'. Firma o catalogo non verificabili o non validi. HRESULT: [3]. {{interfaccia assembly: [4], funzione: [5], componente: [2]}} - Errore durante l'installazione dell'assembly '[6]'. Impossibile trovare uno o più moduli dell'assembly. HRESULT: [3]. {{interfaccia assembly: [4], funzione: [5], componente: [2]}} - - byte - GB - KB - MB - La funzionalità completa non sarà disponibile. - La funzionalità specificata verrà installata quando richiesto. - La funzionalità completa verrà installata in modo da consentirne l'avvio da CD. - La funzionalità completa verrà installata sul disco rigido locale. - La funzionalità completa verrà installata in modo da consentirne l'avvio dalla rete. - Verrà installata in modo da consentirne l'avvio da CD. - Verrà installata sul disco rigido locale. - Verrà installata in modo da consentirne l'avvio dalla rete. - Folder|Nuova cartella - Raccolta delle informazioni necessarie in corso... - La funzionalità specificata non verrà installata. - La funzionalità specificata verrà impostata per essere installata quando richiesto. - La funzionalità specificata verrà installata in modo da consentirne l'avvio da CD. - La funzionalità specificata verrà installata sul disco rigido locale. - La funzionalità specificata verrà installata in modo da consentirne l'avvio dalla rete. - La funzionalità specificata non sarà disponibile. - Verrà installata quando richiesto. - La funzionalità specificata sarà disponibile per l'avvio da CD. - La funzionalità specificata verrà installata sul disco rigido locale. - La funzionalità specificata sarà disponibile per l'avvio dalla rete. - La funzionalità specificata verrà rimossa completamente e non potrà più essere avviata da CD. - La funzionalità specificata, correntemente impostata per l'avvio da CD, verrà impostata per essere installata quando richiesto. - La funzionalità specificata rimarrà impostata per l'avvio da CD. - La funzionalità specificata, correntemente impostata per l'avvio da CD, verrà installata sul disco rigido locale. - La funzionalità specificata consente di liberare [1] sul disco rigido. - La funzionalità specificata richiede [1] sul disco rigido. - Calcolo dello spazio necessario per la funzionalità specificata in corso... - La funzionalità specificata verrà rimossa completamente. - La funzionalità specificata verrà rimossa dal disco rigido locale ma verrà impostata per essere installata quando richiesto. - La funzionalità specificata verrà rimossa dal disco rigido locale ma sarà ancora disponibile per l'avvio da CD. - La funzionalità specificata rimarrà sul disco rigido locale. - La funzionalità specificata verrà rimossa dal disco rigido locale ma sarà disponibile per l'avvio dalla rete. - La funzionalità specificata verrà completamente rimossa e non potrà più essere avviata dalla rete. - La funzionalità specificata, correntemente impostata per l'avvio dalla rete, verrà impostata per essere installata quando richiesto. - La funzionalità specificata, correntemente impostata per l'avvio dalla rete, verrà installata sul disco rigido locale. - La funzionalità specificata rimarrà impostata per l'avvio dalla rete. - La funzionalità specificata consente di liberare [1] sul disco rigido. Sono selezionate [2] funzionalità secondarie su [3]. Le funzionalità secondarie consentono di liberare [4] sul disco rigido. - La funzionalità specificata consente di liberare [1] sul disco rigido. Sono selezionate [2] funzionalità secondarie su [3]. Le funzionalità secondarie richiedono [4] sul disco rigido. - La funzionalità specificata richiede [1] sul disco rigido. Sono selezionate [2] funzionalità secondarie su [3]. Le funzionalità secondarie consentono di liberare [4] sul disco rigido. - La funzionalità specificata richiede [1] sul disco rigido. Sono selezionate [2] funzionalità secondarie su [3]. Le funzionalità secondarie richiedono [4] sul disco rigido. - Tempo rimanente: {[1] minuti }{[2] secondi} - Disponibile - Differenza - Necessario - Dimensioni disco - Volume - diff --git a/Src/Localization/Japanese/ClassicExplorerADMX.txt b/Src/Localization/Japanese/ClassicExplorerADMX.txt deleted file mode 100644 index 659dcd5..0000000 --- a/Src/Localization/Japanese/ClassicExplorerADMX.txt +++ /dev/null @@ -1,62 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell 設定 -State.text = 状態: -State1.text = この値にロックする -State2.text = デフォルトにロックする -State3.text = ロックを解除する -State1Help.text = 「この値にロックする」の状態に設定すると、設定はすべてユーザーに対して指定された値にロックされます。 -State2Help.text = 「デフォルトにロックする」の状態に設定すると、設定はすべてのユーザーに対してデフォルトにロックされます。また指定された値は無視されます。 -State3Help.text = 「ロックを解除する」の状態に設定すると、設定のデフォルトは指定された値に変更されます。また個々のユーザーが設定を上書きすることもできます。 - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Classic Explorer のグループ ポリシー設定 -SUPPORTED_CS404.text = Open-Shell 4.0.4 以降のバージョンが必要です。 -SUPPORTED_CS404_WIN7.text = Windows 7 が必要です。 -SUPPORTED_CS404_WIN881.text = Windows 8 あるいは Windows 8.1 が必要です。 - -AddressAltD.nameOverride = アドレスバー用ショートカットの追加 -AddressAltD.tipOverride = Alt キーとの組み合わせでアドレスバーのショートカットに 'A' から 'Z' の文字を入力してください。 -EnableSettings.nameOverride = 設定を有効にする -EnableSettings.tipOverride = ユーザーが独自の設定を編集することができます。 -ProcessWhiteList.nameOverride = プロセスのホワイトリスト -ProcessWhiteList.tipOverride = Classic Explorer を読み込むことを許可するプロセス リストです。(例: メモ帳) プロセスのファイル名のみ、コンマまたはセミコロンで区切り、複数の名前を使用してください。 -ProcessBlackList.nameOverride = プロセスのブラックリスト -ProcessBlackList.tipOverride = Classic Explorer を読み込むことを許可しないプロセス リストです。(例: メモ帳) プロセスのファイル名のみ、コンマまたはセミコロンで区切り、複数の名前を使用してください。 -ToolbarItems.nameOverride = ツールバー ボタン -ToolbarItems.tipOverride = ツールバーで表示するボタンを選択します。\n右の文字列を取得するための最良の方法は、[Classic Explorer 設定] のダイアログボックスのボタンを設定し、[HKCU\Software\OpenShell\ClassicExplorer\Settings] から ToolbarItems という名前の値を検索することです。 -NoInitialToolbar.nameOverride = ツールバーを初期表示しない -NoInitialToolbar.tipOverride = このアイテムを有効にした場合、エクスプローラーのツールバーは自動的に表示されません。 - - -; os-specific -FileExplorer.nameOverride = エクスプローラーでのみダイアログを有効にする (パフォーマンスが向上します) diff --git a/Src/Localization/Japanese/ClassicIEADMX.txt b/Src/Localization/Japanese/ClassicIEADMX.txt deleted file mode 100644 index 1432406..0000000 --- a/Src/Localization/Japanese/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn = never - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell 設定 -State.text = 状態: -State1.text = この値にロックする -State2.text = デフォルトにロックする -State3.text = ロックを解除する -State1Help.text = 「この値にロックする」の状態に設定すると、設定はすべてユーザーに対して指定された値にロックされます。 -State2Help.text = 「デフォルトにロックする」の状態に設定すると、設定はすべてのユーザーに対してデフォルトにロックされます。また指定された値は無視されます。 -State3Help.text = 「ロックを解除する」の状態に設定すると、設定のデフォルトは指定された値に変更されます。また個々のユーザーが設定を上書きすることもできます。 - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Classic IE のグループ ポリシー設定 -SUPPORTED_CS404.text = Open-Shell 4.0.4 以降のバージョンが必要です。 -SUPPORTED_IE9.text = Internet Explorer 9 以降のバージョンが必要です。 - - -EnableSettings.nameOverride = 設定を有効にする -EnableSettings.tipOverride = ユーザーが独自の設定を編集することができます。 -CaptionFont.tipAddition = .\n\n書式は , , です。 例: "Segoe UI, normal, 9" diff --git a/Src/Localization/Japanese/MenuADMX.txt b/Src/Localization/Japanese/MenuADMX.txt deleted file mode 100644 index 24415a8..0000000 --- a/Src/Localization/Japanese/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic2 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Open-Shell 設定 -State.text = 状態: -State1.text = この値にロックする -State2.text = デフォルトにロックする -State3.text = ロックを解除する -State1Help.text = 「この値にロックする」の状態に設定すると、設定はすべてユーザーに対して指定された値にロックされます。 -State2Help.text = 「デフォルトにロックする」の状態に設定すると、設定はすべてのユーザーに対してデフォルトにロックされます。また指定された値は無視されます。 -State3Help.text = 「ロックを解除する」の状態に設定すると、設定のデフォルトは指定された値に変更されます。また個々のユーザーが設定を上書きすることもできます。 - -MenuCat.text = Open-Shell Menu -MenuCatHelp.text = Open-Shell Menu のグループ ポリシー設定 -SUPPORTED_CS404.text = Open-Shell 4.0.4 以降のバージョンが必要です。 -SUPPORTED_CS404_WIN7.text = Windows 7 が必要です。 -SUPPORTED_CS404_WIN78.text = Windows 7 あるいは Windows 8 が必要です。 -SUPPORTED_CS404_WIN781.text = Windows 7 あるいは Windows 8.1 が必要です。 -SUPPORTED_CS404_WIN8.text = Windows 8 が必要です。 -SUPPORTED_CS404_WIN881.text = Windows 8 あるいは Windows 8.1 が必要です。 -SUPPORTED_CS404_WIN81.text = Windows 8.1 が必要です。 -SUPPORTED_CS404_CLASSIC1_STYLE.text = 1 列の Classic style が必要です。 -SUPPORTED_CS404_CLASSIC2_STYLE.text = 2 列の Classic style が必要です。 -SUPPORTED_CS404_CLASSIC_STYLE.text = Classic style が必要です。 -SUPPORTED_CS404_WIN7_STYLE.text = Windows 7 style が必要です。 - - -EnableSettings.nameOverride = 設定を有効にする -EnableSettings.tipOverride = ユーザーが編集した自身の設定を有効にします。 - -MenuStyle.nameOverride = メニューのスタイル -MenuStyle.tipOverride = スタートメニューの様式を選択します。\nスタイルは、メニューの全体的な外観と機能を決定します。 -MenuStyle_Classic1.nameOverride = 1 列の Classic style -MenuStyle_Classic2.nameOverride = 2 列の Classic style -MenuStyle_Win7.nameOverride = Windows 7 style - -MouseClick.nameOverride = 左クリックで開く -ShiftClick.nameOverride = [Shift+クリック] で開く -WinKey.nameOverride = Windows キーで開く -ShiftWin.nameOverride = [Shift+Windows キー] で開く -MiddleClick.nameOverride = ミドルクリックで開く -Hover.nameOverride = マウスカーソルを重ねた際に開く - -; skins -SkinC1.nameOverride = 1 列の Classic style 用スキン -SkinC1.tipOverride = 1 列の Classic style で使用するスキンを選択します。 -SkinVariationC1.nameOverride = 1 列の Classic style 用スキンのバリエーション -SkinVariationC1.tipOverride = 1 列の Classic style で使用するスキンのバリエーションを選択します。(複数のバリエーションをサポートしているスキンの場合) -SkinOptionsC1.nameOverride = 1 列の Classic style 用スキンのオプション -SkinOptionsC1.tipOverride = 1 列の Classic style で使用するスキンのオプションを選択します。\nオプションは16進数のリストです。それらを取得するための最良の方法は、[Open-Shell Menu の設定]のダイアログでオプションを調整し、[HKCU\Software\OpenShell\StartMenu\Settings] から SkinOptionsC1 という値を検索することです。 -MenuItems1.nameOverride = 1 列の Classic style 用のメニュー アイテム -MenuItems1.tipOverride = 1 列の Classic style で使用するメニュー アイテムを選択します。\n右の文字列を取得する最良の方法は、[Open-Shell Menu の設定] のダイアログボックス内のアイテムを設定してから、[HKCU\Software\OpenShell\StartMenu\Settings] から MenuItems1 という名前の値を検索することです。 -SkinC2.nameOverride = 2 列の Classic style 用スキン -SkinC2.tipOverride = 2 列の Classic style で使用するスキンを選択します。 -SkinVariationC2.nameOverride = 2 列の Classic style 用スキンのバリエーション -SkinVariationC2.tipOverride = 2 列の Classic style で使用するスキンのバリエーションを選択します。(複数のバリエーションをサポートしているスキンの場合) -SkinOptionsC2.nameOverride = 2 列の Classic style 用スキンのオプション -SkinOptionsC2.tipOverride = 2 列の Classic style で使用するスキンのオプションを選択します。\nオプションは 16 進数のリストです。それらを取得するための最良の方法は、[Open-Shell Menu の設定]のダイアログでオプションを調整し、[HKCU\Software\OpenShell\StartMenu\Settings] から SkinOptionsC2 という名前の値を検索することです。 -MenuItems2.nameOverride = 2 列の Classic style 用のメニュー アイテム -MenuItems2.tipOverride = 2 列の Classic style で使用するメニュー アイテムを選択します。\n右の文字列を取得する最良の方法は、[Open-Shell Menu の設定] のダイアログボックス内のアイテムを設定してから、[HKCU\Software\OpenShell\StartMenu\Settings] から MenuItems2 という名前の値を検索することです。 -SkinW7.nameOverride = Windows 7 style 用スキン -SkinW7.tipOverride = Windows 7 style で使用するスキンを選択します。 -SkinVariationW7.nameOverride = Windows 7 style 用スキンのバリエーション -SkinVariationW7.tipOverride = Windows 7 style で使用するスキンのバリエーションを選択します。(複数のバリエーションをサポートしているスキンの場合) -SkinOptionsW7.nameOverride = Windows 7 style 用スキンのオプション -SkinOptionsW7.tipOverride = Windows 7 style で使用するスキンのオプションを選択します。\nオプションは 16 進数のリストです。それらを取得するための最良の方法は、[Open-Shell Menu の設定]のダイアログでオプションを調整し、[HKCU\Software\OpenShell\StartMenu\Settings] から SkinOptionsW7 という名前の値を検索することです。 -MenuItems7.nameOverride = Windows 7 style 用のメニュー アイテム -MenuItems7.tipOverride = Windows 7 style で使用するメニュー アイテムを選択します。\n右の文字列を取得する最良の方法は、[Open-Shell Menu の設定] のダイアログボックス内のアイテムを設定してから、[HKCU\Software\OpenShell\StartMenu\Settings] から MenuItems7 という名前の値を検索することです。 - -; windows 7 -SkinA.nameOverride = Windows 7 style のすべてのプログラム サブメニュー用スキン -SkinA.tipOverride = Windows 7 style のすべてのプログラム サブメニューで使用するスキンを選択します。 -SkinVariationA.nameOverride = Windows 7 style のすべてのプログラム サブメニュー用スキンのバリエーション -SkinVariationA.tipOverride = Windows 7 style のすべてのプログラム サブメニューで使用するスキンのバリエーションを選択します。(複数のバリエーションをサポートしているスキンの場合) -SkinOptionsA.nameOverride = Windows 7 style のすべてのプログラム サブメニュー用スキンのオプション -SkinOptionsA.tipOverride = Windows 7 style のすべてのプログラム サブメニューで使用するスキンのオプションを選択します。\nオプションは 16 進数のリストです。それらを取得するための最良の方法は、[Open-Shell Menu の設定] のダイアログでオプションを調整し、[HKCU\Software\OpenShell\StartMenu\Settings] から SkinOptionsA という名前の値を検索することです。 - -; metro settings -SkipMetro.tipAddition = この設定は Windows8.1 で動作しません。デスクトップを起動するために、内蔵の Windows の設定を使用する必要があります。 - -; hidden -FolderStartMenu.nameOverride = スタート メニュー フォルダー -FolderStartMenu.tipOverride = ユーザーごとのスタート メニュー フォルダーの上書きを入力してください。(また、ユーザーごとのプログラム フォルダーを上書きします)\nパスは環境変数を含めることができます。\n注意: この設定は [設定] ダイアログからは編集できません -FolderPrograms.nameOverride = プログラム フォルダー -FolderPrograms.tipOverride = ユーザーごとのプログラム フォルダーの上書きを入力してください。\nパスは環境変数を含めることができます。\n注意: この設定は [設定] ダイアログからは編集できません -FolderCommonStartMenu.nameOverride = 共通のスタート メニュー フォルダー -FolderCommonStartMenu.tipOverride = 共通のスタート メニュー フォルダーの上書きを入力します。(また、一般的なプログラム フォルダーを上書きします)\nパスは環境変数を含めることができます。\注意: この設定は [設定] ダイアログからは編集できません -FolderCommonPrograms.nameOverride = 共通のプログラム フォルダー -FolderCommonPrograms.tipOverride = 一般的なプログラム フォルダーの上書きを入力してください。\nパスは環境変数を含めることができます。\n注意: この設定は [設定] ダイアログからは編集できません -AutoStartDelay.nameOverride = 自動起動の遅延経過時間 -AutoStartDelay.tipOverride = ログイン時に自動的に Open-Shell Menu を起動する際の遅延経過時間 (ミリ秒) を入力してください。(StartMenu.exe を実行してメニューを手動で起動する場合は適用されません)\n注意: この設定は [設定] ダイアログからは編集できません - -; other -StartButtonIcon.tipAddition = 値は、ICO ファイルへのパスまたは EXE/DLL とアイコンの ID へのパスを指定できます。 -StartButtonPath.tipAddition = 値は、BMP または PNG ファイルのフルパスです。 -SoundMain.tipAddition = 値は、システム イベントの名前や WAV ファイルへのパスを指定できます。 -SoundPopup.tipAddition = 値は、システム イベントの名前や WAV ファイルへのパスを指定できます。 -SoundCommand.tipAddition = 値は、システム イベントの名前や WAV ファイルへのパスを指定できます。 -SoundDrop.tipAddition = 値は、システム イベントの名前や WAV ファイルへのパスを指定できます。 -ExpandFolderLinks.tipAddition = シンボリックリンク (ジャンクションなど) でのみ動作し、一般的なショートカットでは動作しません。 -StartHoverDelay.nameOverride = マウスを重ねた際の遅延経過時間 ([スタート] ボタン用) -AllProgramsDelay.nameOverride = マウスを重ねた際の遅延経過時間 (Windows 7 のすべてのプログラム用) -CSMHotkey.tipAddition = .\n\n基本値は、メインキーの仮想コードです。Alt キーのための 1024 及び Ctrl キーのための 512、Shift キーのための 256 を追加します。\n値を取得する最良の方法は、[Open-Shell Menu の設定]のダイアログで設定したホットキーを選択し、[HKCU\Software\OpenShell\StartMenu\Settings] から CSMHotkey という名前の値を検索することです。 -WSMHotkey.tipAddition = .\n\n基本値は、メインキーの仮想コードです。Alt キーのための 1024 及び Ctrl キーのための 512、Shift キーのための 256 を追加します。\n値を取得する最良の方法は、[Open-Shell Menu の設定]のダイアログで設定したホットキーを選択し、[HKCU\Software\OpenShell\StartMenu\Settings] から WSMHotkey という名前の値を検索することです。 diff --git a/Src/Localization/Japanese/OpenShellADMX.txt b/Src/Localization/Japanese/OpenShellADMX.txt deleted file mode 100644 index 2d01475..0000000 --- a/Src/Localization/Japanese/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Open-Shell 設定 -State.text = 状態: -State1.text = この値にロックする -State2.text = デフォルトにロックする -State3.text = ロックを解除する -State1Help.text = 「この値にロックする」の状態に設定すると、設定はすべてユーザーに対して指定された値にロックされます。 -State2Help.text = 「デフォルトにロックする」の状態に設定すると、設定はすべてのユーザーに対してデフォルトにロックされます。また指定された値は無視されます。 -State3Help.text = 「ロックを解除する」の状態に設定すると、設定のデフォルトは指定された値に変更されます。また個々のユーザーが設定を上書きすることもできます。 - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Open-Shell のグループ ポリシー設定 -SUPPORTED_CS404.text = Open-Shell 4.0.4 以降のバージョンが必要です。 - -Language.nameOverride = Open-Shell コンポーネント用の言語 -Language.tipOverride = Open-Shell で使用する言語を選択します。(例: en-US や de-DE) 言語はスタート メニュー、ツールバー等に関するテキストに影響を与えます。適切な言語 DLL がインストールされている場合、設定 UI も翻訳されます。 -Update.nameOverride = 自動的に新しいバージョンを確認する -Update.tipOverride = このアイテムを有効にした場合、Open-Shell は、毎週プログラムの更新を自動的に確認します。プログラム及び言語の更新がある場合、画面に通知されます。 diff --git a/Src/Localization/Persian/ExplorerL10N.txt b/Src/Localization/Persian/ExplorerL10N.txt deleted file mode 100644 index 38330ea..0000000 --- a/Src/Localization/Persian/ExplorerL10N.txt +++ /dev/null @@ -1,52 +0,0 @@ -[fa-IR] - Persian (Iran, Islamic Republic of) -Copy.Cancel = لغو -Copy.More = بیشتر... -Copy.CopyHere = &کپی به اینجا -Copy.MoveHere = &انتقال به اینجا -Copy.Title = تأیید جایگزینی پرونده -Copy.Subtitle = ‏‏در حال حاضر این پوشه حاوی پرونده‌ای به نام "%s" است. -Copy.SubtitleRO = ‏‏در حال حاضر این پوشه حاوی پرونده‌ای فقط خواندنی به نام "%s" است. -Copy.SubtitleSys = ‏‏در حال حاضر این پوشه حاوی پرونده‌ای سیستمی به نام "%s" است. -Copy.Prompt1 = آیا می‌خواهید پرونده‌ی موجود را جایگزین کنید -Copy.Prompt2 = با این یکی؟ -Copy.Yes = &بله -Copy.No = &خیر -Copy.YesAll = بله برای &همه -Folder.Title = تأیید جایگزینی پوشه -Folder.Prompt = آیا هنوز می‌خواهید پوشه را کپی یا منتقل کنید؟ -Toolbar.GoUp = یک سطح بالاتر -Toolbar.Cut = برش -Toolbar.Copy = کپی -Toolbar.Paste = جایگذاری -Toolbar.PasteShortcut = جایگذاری میانبر -Toolbar.Delete = حذف -Toolbar.Email = مورد انتخابی را با پست الکترونیکی بفرستید -Toolbar.Properties = خصوصیات -Toolbar.NewFolder = پوشه جدید -Toolbar.ExtraLarge = نمادهای خیلی بزرگ -Toolbar.Large = نمادهای بزرگ -Toolbar.Medium = نمادهای متوسط -Toolbar.Small = نمادهای کوچک -Toolbar.List = لیست -Toolbar.Details = جزئیات -Toolbar.Tiles = موزائیک‌ها -Toolbar.Content = محتوا -Toolbar.Undo = لغو عمل -Toolbar.Redo = انجام مجدد -Toolbar.Refresh = تازه‌کردن -Toolbar.Back = عقب -Toolbar.Forward = جلو -Toolbar.Stop = توقف -Toolbar.Rename = تغییر نام -Toolbar.SelectAll = انتخاب همه -Toolbar.CustomizeFolder = سفارشی کردن این پوشه -Toolbar.MapDrive = نگاشت درایو شبکه -Toolbar.DisconnectDrive = قطع اتصال درایو شبکه -Toolbar.NavigationPane = چارچوب پیمایش -Toolbar.DetailsPane = چارچوب جزئیات -Toolbar.PreviewPane = چارچوب پیش‌نمایش -Status.FreeSpace = %s (فضای خالی دیسک: %s) -Status.Item = %s مورد -Status.Items = %s مورد -Status.ItemSelected = %s مورد انتخاب شده -Status.ItemsSelected = %s مورد انتخاب شده diff --git a/Src/Localization/Persian/OpenShellReadme-fa-IR.rtf b/Src/Localization/Persian/OpenShellReadme-fa-IR.rtf deleted file mode 100644 index 039117b..0000000 --- a/Src/Localization/Persian/OpenShellReadme-fa-IR.rtf +++ /dev/null @@ -1,141 +0,0 @@ -{\rtf1\fbidis\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset178 Arial;}{\f2\froman\fprq2\fcharset178 Times New Roman;}{\f3\fswiss\fprq2\fcharset0 Calibri;}{\f4\fswiss\fprq2 Calibri;}{\f5\fswiss\fprq2\fcharset0 Arial;}{\f6\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \ltrpar\widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52 Open-Shell\par - -\pard\rtlpar\widctlpar\sa200\sl276\slmult1\qr\cf2\expndtw15\kerning0\b\i\f1\rtlch\fs24\lang1065\'e4\'d3\'ce\'e5 4.\f2 2.6\f1 - \'da\'d1\'d6\'e5 \'da\'e3\'e6\'e3\u1740?\f0\ltrch\lang1033\par - -\pard\rtlpar\widctlpar\qr\cf0\expndtw0\b0\i0\f3\fs22\par - -\pard\rtlpar\widctlpar\qj\f1\rtlch\lang1065\'c8\'e5 \'ce\'c7\'d8\'d1 \'e4\'d5\'c8 \f3\ltrch\lang1033 \cf3\b Open-Shell\f4\'99\cf0\b0\f1\rtlch\lang1065 \'e3\'ca\'d4\'98\'d1\u1740?\'e3. \'c7\u1740?\'e4 \'c8\'d1\'e4\'c7\'e3\'e5 \'de\'c7\'c8\'e1\u1740?\'ca\'e5\'c7\u1740? \'e3\'dd\u1740?\'cf\u1740? \'d1\'c7 \'98\'e5 \'cf\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \f5\ltrch\lang1033 7\f1\rtlch\lang1065 \'e6 \'e6\u1740?\'e4\'cf\'e6\'d2 \f5\ltrch\lang1033 8\f1\rtlch\lang1065 \'e6\'cc\'e6\'cf \'e4\'cf\'c7\'d1\'e4\'cf \'c8\'e5 \'e6\u1740?\'e4\'cf\'e6\'d2 \'c7\'d6\'c7\'dd\'e5 \'e3\u1740?\'98\'e4\'cf\'ba \'e3\'c7\'e4\'e4\'cf \'e3\'e4\'e6\u1740? \'d4\'d1\'e6\'da \'98\'e1\'c7\'d3\u1740?\'98\'a1 \'cf\'98\'e3\'e5 \'d4\'d1\'e6\'da\'a1 \'e4\'e6\'c7\'d1 \'c7\'c8\'d2\'c7\'d1\u1740? \'c8\'d1\'c7\u1740? \'98\'c7\'e6\'d4\'90\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \'e6 \'8d\u1740?\'d2\'e5\'c7\u1740? \'cf\u1740?\'90\'d1.\f3\ltrch\lang1033\par - -\pard\ltrpar\widctlpar\par - -\pard\rtlpar\widctlpar\qr\f1\rtlch\lang1065\'c2\'ce\'d1\u1740?\'e4 \'e4\'d3\'ce\'e5 \'c8\'d1\'e4\'c7\'e3\'e5 \'d1\'c7 \'c7\'d2 \'e6\'c8\'d3\'c7\u1740?\'ca \f3\ltrch\lang1033 Open-Shell \f1\rtlch\lang1065\'cf\'d1\u1740?\'c7\'dd\'ca \'98\'e4\u1740?\'cf:\f3\ltrch\lang1033\par - -\pard\ltrpar\widctlpar {{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f3\fs22\par -\par - -\pard\rtlpar\widctlpar\qr\f1\rtlch\lang1065\'c8\'d1\'c7\u1740? \'81\'c7\'d3\'ce \'d3\'e6\'c7\'e1\'c7\'ca \'e3\'ca\'cf\'c7\'e6\'e1 \'c7\u1740?\'e4\'cc\'c7 \'d1\'c7 \'c8\'c8\u1740?\'e4\u1740?\'cf:\f3\ltrch\lang1033\par - -\pard\ltrpar\widctlpar {{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f3\fs22\par -\par - -\pard\rtlpar\widctlpar\qr\f1\rtlch\lang1065\u1740?\'c7 \'c7\'d2 \'c7\'e4\'cc\'e3\'e4 \'90\'dd\'ca\'90\'e6 \'c8\'d1\'c7\u1740? \'98\'d3\'c8 \'d1\'c7\'e5\'e4\'e3\'c7\u1740?\u1740? \'c7\'d3\'ca\'dd\'c7\'cf\'e5 \'98\'e4\u1740?\'cf:\f3\ltrch\lang1033\par - -\pard\ltrpar\widctlpar {{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f3\fs22\par -\par - -\pard\rtlpar\widctlpar\qr\f1\rtlch\lang1065\'e3\'d4\'98\'e1\'c7\'ca \'c8\'d1\'e4\'c7\'e3\'e5 \f3\ltrch\lang1033 Open-Shell \f1\rtlch\lang1065\'d1\'c7 \'cf\'d1 \'c7\'e4\'cc\'e3\'e4 \'ca\'e6\'d3\'da\'e5 \'e3\'d8\'d1\'cd \'e4\'e3\'c7\u1740?\u1740?\'cf:\f3\ltrch\lang1033\par - -\pard\ltrpar\widctlpar {{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f3\fs22\par -\par - -\pard\rtlpar\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\qr\cf5\b\f1\rtlch\fs28\lang1065\'e3\'e4\'e6\u1740? \'d4\'d1\'e6\'da \'98\'e1\'c7\'d3\u1740?\'98\f0\ltrch\lang1033\par - -\pard\ltrpar\widctlpar\cf0\b0\f3\fs22\par - -\pard\rtlpar\widctlpar\qr\cf3\b\par - -\pard\rtlpar\widctlpar\qj\f1\rtlch\lang1065\'e3\'e4\'e6\u1740? \'d4\'d1\'e6\'da \'98\'e1\'c7\'d3\u1740?\'98\cf0\f3\ltrch\lang1033 \b0\f1\rtlch\lang1065\'e3\'e4\'e6\u1740? \'d4\'d1\'e6\'da\u1740? \'c7\'e4\'da\'d8\'c7\'dd \'81\'d0\u1740?\'d1 \'c7\'d3\'ca \'98\'e5 \'d1\'dd\'ca\'c7\'d1 \'e3\'e4\'e6\u1740? \'d4\'d1\'e6\'da \'e6\u1740?\'e4\'cf\'e6\'d2 2000\'a1 \f5\ltrch\lang1033 XP\f1\rtlch\lang1065 \'e6 \f5\ltrch\lang1033 7\f1\rtlch\lang1065 \'d1\'c7 \'d4\'c8\u1740?\'e5\'d3\'c7\'d2\u1740? \'e3\u1740?\'98\'e4\'cf. \'e6 \'c7\'e1\'c8\'ca\'e5 \'de\'c7\'c8\'e1\u1740?\'ca\'e5\'c7\u1740? \'c8\'d3\u1740?\'c7\'d1 \'e3\'ca\'e4\'e6\'da\u1740? \'cf\'c7\'d1\'cf:\f3\ltrch\lang1033\par - -\pard\ltrpar\widctlpar\par - -\pard{\pntext\f6\'B7\tab}{\*\pn\pnlvlblt\pnf6\pnindent0{\pntxtb\'B7}}\ltrpar\nowidctlpar\fi-360\li720 Choose between \f4\ldblquote\f3 Classic\f4\rdblquote \f3 and \f4\ldblquote\f3 Windows 7\f4\rdblquote \f3 styles\par -{\pntext\f6\'B7\tab}Drag and drop to let you organize your applications\par -{\pntext\f6\'B7\tab}Options to show Favorites, expand Control Panel, etc\par -{\pntext\f6\'B7\tab}Shows recently used documents. The number of documents to display is customizable\par -{\pntext\f6\'B7\tab}Translated in 35 languages, including Right-to-left support for Arabic and Hebrew\par -{\pntext\f6\'B7\tab}Does not disable the original start menu in Windows. You can access it by Shift+Click on the start button\par -{\pntext\f6\'B7\tab}Right-click on an item in the menu to delete, rename, sort, or perform other tasks\par -{\pntext\f6\'B7\tab}The search box helps you find your programs and files without getting in the way of your keyboard shortcuts\par -{\pntext\f6\'B7\tab}Supports jumplists for easy access to recent documents and common tasks\par -{\pntext\f6\'B7\tab}Available for 32 and 64-bit operating systems\par -{\pntext\f6\'B7\tab}Has support for skins, including additional 3rd party skins. Make your own!\par -{\pntext\f6\'B7\tab}Fully customizable in both looks and functionality\par -{\pntext\f6\'B7\tab}Support for Microsoft\f4\rquote\f3 s Active Accessibility\par -{\pntext\f6\'B7\tab}Converts the \f4\ldblquote\f3 All Programs\f4\rdblquote \f3 button in the Windows menu into a cascading menu\par -{\pntext\f6\'B7\tab}Implements a customizable start button\par -{\pntext\f6\'B7\tab}Can show, search and launch Windows Store apps (Windows 8)\par - -\pard{\*\pn\pnlvlcont\pnf6\pnindent0{\pntxtb\'B7}}\rtlpar\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\qr\cf5\b\f1\rtlch\fs28\lang1065\'98\'c7\'e6\'d4\'90\'d1 \'98\'e1\'c7\'d3\u1740?\'98\f0\ltrch\lang1033\par - -\pard{\*\pn\pnlvlcont\pnf6\pnindent0{\pntxtb\'B7}}\ltrpar\widctlpar\cf0\b0\f3\fs22\par - -\pard{\*\pn\pnlvlcont\pnf6\pnindent0{\pntxtb\'B7}}\rtlpar\widctlpar\qj\cf3\b\f1\rtlch\lang1065\'98\'c7\'e6\'d4\'90\'d1 \'98\'e1\'c7\'d3\u1740?\'98\cf0\f3\ltrch\lang1033 \b0\f1\rtlch\lang1065\'c7\'dd\'d2\'e6\'e4\'e5\'c7\u1740? \'c8\'d1\'c7\u1740? \'98\'c7\'e6\'d4\'90\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \'c7\'d3\'ca \'98\'e5:\f3\ltrch\lang1033\par - -\pard{\*\pn\pnlvlcont\pnf6\pnindent0{\pntxtb\'B7}}\ltrpar\widctlpar\par - -\pard{\pntext\f6\'B7\tab}{\*\pn\pnlvlblt\pnf6\pnindent0{\pntxtb\'B7}}\ltrpar\nowidctlpar\fi-360\li720 Adds a toolbar to Explorer for some common operations (Go to parent folder, Cut, Copy, Paste, Delete, Properties, Email). The toolbar is fully customizable\par -{\pntext\f6\'B7\tab}Replaces the copy UI in Windows 7 with the more user-friendly \f4\ldblquote\f3 classic\f4\rdblquote \f3 version similar to Windows XP\par -{\pntext\f6\'B7\tab}Handles Alt+Enter in the folder panel of Windows Explorer and shows the properties of the selected folder\par -{\pntext\f6\'B7\tab}Has options for customizing the folder panel to look more like the Windows XP version or to not fade the expand buttons\par -{\pntext\f6\'B7\tab}Can show the free disk space and the total size of the selected files in the status bar\par -{\pntext\f6\'B7\tab}Can disable the breadcrumbs in the address bar\par -{\pntext\f6\'B7\tab}Fixes a long list of features that are broken in Windows 7 \f4\endash \f3 missing icon overlay for shared folders, the jumping folders in the navigation pane, missing sorting headers in list view, and more\par - -\pard{\*\pn\pnlvlcont\pnf6\pnindent0{\pntxtb\'B7}}\rtlpar\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\qr\cf5\b\f1\rtlch\fs28\lang1065\'98\'c7\'e6\'d4\'90\'d1 \'c7\u1740?\'e4\'ca\'d1\'e4\'ca \'98\'e1\'c7\'d3\u1740?\'98 (\'c7\u1740?\'e4\'ca\'d1\'e4\'ca \'c7\'98\'d3\'81\'e1\'e6\'d1\'f6\'d1 \'98\'e1\'c7\'d3\u1740?\'98)\f0\ltrch\lang1033\par - -\pard{\*\pn\pnlvlcont\pnf6\pnindent0{\pntxtb\'B7}}\ltrpar\widctlpar\cf0\b0\f3\fs22\par - -\pard{\*\pn\pnlvlcont\pnf6\pnindent0{\pntxtb\'B7}}\rtlpar\widctlpar\qr\cf3\b\f1\rtlch\lang1065\'98\'c7\'e6\'d4\'90\'d1 \'c7\u1740?\'e4\'ca\'d1\'e4\'ca \'98\'e1\'c7\'d3\u1740?\'98 \cf0\b0\'c7\'dd\'d2\'e6\'e4\'e5\'c7\u1740? \'c8\'d1\'c7\u1740? \'c7\u1740?\'e4\'ca\'d1\'e4\'ca \'c7\'98\'d3\'81\'e1\'e6\'d1\'d1 9 \'e6 \'e4\'d3\'ce\'e5\'e5\'c7\u1740? \'cc\'cf\u1740?\'cf\'ca\'d1 \'c7\'d3\'ca \'98\'e5:\cf3\b\f3\ltrch\lang1033\par - -\pard{\*\pn\pnlvlcont\pnf6\pnindent0{\pntxtb\'B7}}\ltrpar\widctlpar\cf0\b0\par - -\pard{\pntext\f6\'B7\tab}{\*\pn\pnlvlblt\pnf6\pnindent0{\pntxtb\'B7}}\ltrpar\nowidctlpar\fi-360\li720 Adds a caption to the title bar so you can see the full title of the page\par -{\pntext\f6\'B7\tab}Shows the security zone in the status bar\par -{\pntext\f6\'B7\tab}Shows the loading progress in the status bar\par - -\pard\rtlpar\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\qr\cf5\b\f1\rtlch\fs28\lang1065\'cf\'d3\'ca\'e6\'d1 \'c7\'e1\'da\'e3\'e1 \'e4\'d5\'c8:\f0\ltrch\lang1033\par - -\pard\ltrpar\widctlpar\cf0\b0\f3\fs22\par - -\pard\rtlpar\widctlpar\qj\f1\rtlch\lang1065\'e3\'e3\'98\'e4 \'c7\'d3\'ca \'c8\'da\'cf \'c7\'d2 \'e4\'d5\'c8 \'c8\'d1\'e4\'c7\'e3\'e5 \'e4\'e6\'c7\'d1 \'c7\'c8\'d2\'c7\'d1 \'98\'c7\'e6\'d4\'90\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \'c8\'e5 \'d5\'e6\'d1\'ca \'ce\'e6\'cf\'98\'c7\'d1 \'e4\'d4\'c7\'e4 \'cf\'c7\'cf\'e5 \'e4\'d4\'e6\'cf. \'c8\'e4\'c7\'c8\'d1\'c7\u1740?\'e4 \'de\'c8\'e1 \'c7\'d2 \'c7\'d3\'ca\'dd\'c7\'cf\'e5 \'c8\'c7\u1740?\'cf \'98\'c7\'d1\'e5\'c7\u1740?\u1740? \'c7\'e4\'cc\'c7\'e3 \'cf\'e5\u1740?\'cf.\f3\ltrch\lang1033\par - -\pard\ltrpar\widctlpar\cf3\b\par - -\pard\rtlpar\widctlpar\qj\f1\rtlch\lang1065\'e6\u1740?\'e4\'cf\'e6\'d2 \f5\ltrch\lang1033 7\f2\rtlch\lang1065 :\cf0\b0\f3\ltrch\lang1033 \f1\rtlch\lang1065\'98\'e1\u1740?\'cf\'e5\'c7\u1740?\f3\ltrch\lang1033 Alt+V \f1\rtlch\lang1065\'d1\'c7 \'dd\'d4\'c7\'d1 \'cf\'e5\u1740?\'cf \'ca\'c7 \'e3\'e4\'e6\u1740? \b\'e4\'e3\'c7\b0 \'c8\'c7\'d2 \'d4\'e6\'cf. \'d2\u1740?\'d1\'e3\'e4\'e6\u1740? \b\'e4\'e6\'c7\'d1 \'c7\'c8\'d2\'c7\'d1\'e5\'c7\b0 \'d1\'c7 \'c8\'c7\'d2 \'98\'e4\u1740?\'cf.\b\f5\ltrch\lang1033\par -Classic Explorer Bar\b0\f2\rtlch\lang1065 \f1\'d1\'c7 \'c7\'e4\'ca\'ce\'c7\'c8 \'e4\'e3\'c7\u1740?\u1740?\'cf.\f3\ltrch\lang1033\par -\f1\rtlch\fs18\lang1065 (\'cf\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \'c7\'e4\'90\'e1\u1740?\'d3\u1740?: \f5\ltrch\lang1033 Alt+v > View > Toolbars > Classic Explorer Bar\f2\rtlch\lang1065 )\f3\ltrch\lang1033\par - -\pard\ltrpar\widctlpar\fs22\par - -\pard\rtlpar\widctlpar\qj\cf3\b\f1\rtlch\lang1065\'e6\u1740?\'e4\'cf\'e6\'d2 \f3\ltrch\lang1033 8\f2\rtlch\lang1065 : \cf0\b0\f1\'98\'e1\u1740?\'cf\'e5\'c7\u1740?\f3\ltrch\lang1033 Alt+V \f1\rtlch\lang1065\'d1\'c7 \'dd\'d4\'c7\'d1 \'cf\'e5\u1740?\'cf \'ca\'c7 \'e3\'e4\'e6\u1740? \b\'e4\'e3\'c7 \b0\'c8\'c7\'d2 \'d4\'e6\'cf. \'d1\'e6\u1740? \'dd\'e1\'d4 \'81\'c7\u1740?\u1740?\'e4 \b\'90\'d2\u1740?\'e4\'e5\'e5\'c7\b0 \'98\'e1\u1740?\'98 \'98\'e4\u1740?\'cf.\b\f5\ltrch\lang1033\par -Classic Explorer Bar\b0\f1\rtlch\lang1065 \'d1\'c7 \'c7\'e4\'ca\'ce\'c7\'c8 \'e4\'e3\'c7\u1740?\u1740?\'cf.\par -\fs18 (\'cf\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \'c7\'e4\'90\'e1\u1740?\'d3\u1740?: \f5\ltrch\lang1033 Alt+v > View > Options > Classic Explorer Bar\f2\rtlch\lang1065 )\cf3\b\f5\ltrch\lang4105\par -\cf0\b0\f3\fs22\lang1033\par -\f1\rtlch\lang1065\'c7\'90\'d1 \'c8\'c7 \'e3\'d1\'c7\'cd\'e1 \'c8\'c7\'e1\'c7 \'cf\'d1\'d3\'ca \'e4\'d4\'cf\'a1 \'e3\'e3\'98\'e4 \'c7\'d3\'ca \'c7\'dd\'d2\'e6\'e4\'e5\'e5\'c7\u1740? \'98\'c7\'e6\'d4\'90\'d1 \'db\u1740?\'d1\'dd\'da\'c7\'e1 \'c8\'c7\'d4\'e4\'cf. \'c7\'d2 \'cf\'d3\'ca\'e6\'d1\'c7\'e1\'da\'e3\'e1 \'d2\u1740?\'d1 \'81\u1740?\'d1\'e6\u1740? \'98\'e4\u1740?\'cf \'e6 \'d3\'81\'d3 \'c8\'d1\'c7\u1740? \'d9\'c7\'e5\'d1 \'98\'d1\'cf\'e4 \'e4\'e6\'c7\'d1 \'c7\'c8\'d2\'c7\'d1 \'d8\'c8\'de \'d1\'e6\'d4 \'c8\'c7\'e1\'c7 \'da\'e3\'e1 \'98\'e4\u1740?\'cf:\par - -\pard -{\pntext\f3 1)\tab}{\*\pn\pnlvlbody\pnf3\pnindent0\pnstart1\pndec{\pntxta)}} -\rtlpar\nowidctlpar\fi-360\ri720\qj\'c8\'d1\'e4\'c7\'e3\'e5\f5\ltrch\lang1033 Internet Explorer\f1\rtlch\lang1065 \'d1\'c7 \'c8\'c7\'d2 \'98\'e4\u1740?\'cf \'e6 \'c8\'e5 \b\'c7\'c8\'d2\'c7\'d1 > \'e3\'cf\u1740?\'d1\u1740?\'ca \'c7\'dd\'d2\'e6\'e4\'e5\'e5\'c7\u1740? \'cc\'c7\'e4\'c8\u1740?\b0 \'c8\'d1\'e6\u1740?\'cf. \'c7\'dd\'d2\'e6\'e4\'e5 \f3\ltrch\lang1033 Classic Explorer Bar\f1\rtlch\lang1065 \'e6 \f3\ltrch\lang1033 ExplorerBHO Class\f1\rtlch\lang1065 \'d1\'c7 \'c8\u1740?\'c7\'c8\u1740?\'cf \'e6 \'e3\'d8\'e3\'c6\'e4 \'d4\'e6\u1740?\'cf \'98\'e5 \'dd\'da\'c7\'e1 \'e5\'d3\'ca\'e4\'cf. \f3\ltrch\lang1033\line\f1\rtlch\fs18\lang1065 (\'cf\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \'c7\'e4\'90\'e1\u1740?\'d3\u1740?: \f5\ltrch\lang1033 Tools > Manage Addons\f2\rtlch\lang1065 )\f3\ltrch\lang1033\par -{\pntext\f3 2)\tab}\f1\rtlch\fs22\lang1065\'e3\'e3\'98\'e4 \'c7\'d3\'ca \'c7\'dd\'d2\'e6\'e4\'e5\'e5\'c7\u1740? \'e3\'d1\'e6\'90\'d1 \'d1\'e6\u1740? \'d3\u1740?\'d3\'ca\'e3 \'d4\'e3\'c7 \'db\u1740?\'d1\'dd\'da\'c7\'e1 \'c8\'c7\'d4\'e4\'cf. \'c7\u1740?\'e4 \'ca\'e4\'d9\u1740?\'e3 \'e3\'da\'e3\'e6\'e1\'c7 \'cf\'d1 \f5\ltrch\lang1033 Windows Server\f1\rtlch\lang1065 \'c8\'e5 \'d5\'e6\'d1\'ca \'81\u1740?\'d4\'dd\'d1\'d6 \'e6\'cc\'e6\'cf \'cf\'c7\'d1\'cf. \b\'90\'d2\u1740?\'e4\'e5\'e5\'c7\u1740? \'c7\u1740?\'e4\'ca\'d1\'e4\'ca\b0\f5\ltrch\lang1033 \f1\rtlch\lang1065\'d1\'c7 \'c8\'c7\'d2 \'98\'e4\u1740?\'cf\'a1 \'c8\'e5 \'d2\'c8\'c7\'e4\'e5 \b\'81\u1740?\'d4\'d1\'dd\'ca\'e5\b0 \'c8\'d1\'e6\u1740?\'cf \'e6 \'90\'d2\u1740?\'e4\'e5 \b\'dd\'da\'c7\'e1 \'98\'d1\'cf\'e4 \'81\'d3\'e6\'e4\'cf\'e5\'c7\u1740? \'e3\'d1\'e6\'d1\'90\'d1 \'d4\'ce\'d5 \'cb\'c7\'e1\'cb\b0 \'d1\'c7 \'dd\'da\'c7\'e1 \'98\'e4\u1740?\'cf.\f3\ltrch\lang1033\line\f1\rtlch\fs18\lang1065 (\'cf\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \'c7\'e4\'90\'e1\u1740?\'d3\u1740?: \f5\ltrch\lang1033 Tools > Internet Options > Advanced > \f3 Enable third-party browser extensions\f2\rtlch\lang1065 )\f3\ltrch\lang1033\par - -\pard\ltrpar\widctlpar\fs22\par - -\pard\rtlpar\widctlpar\qj\f1\rtlch\lang1065\'c7\'90\'d1 \'d1\'e6\u1740? \'e6\u1740?\'e4\'cf\'e6\'d2 \f5\ltrch\lang1033 7\f1\rtlch\lang1065 \'e3\u1740?\'ce\'e6\'c7\'e5\u1740?\'cf \'c7\'e4\'cf\'c7\'d2\'e5 \'81\'d1\'e6\'e4\'cf\'e5\'e5\'c7 \'d1\'c7 \'c8\'c8\'e4\u1740?\'cf \'e1\'c7\'d2\'e3 \'c7\'d3\'ca \'ca\'c7 \b\'e4\'e6\'c7\'d1 \'e6\'d6\'da\u1740?\'ca\f5\ltrch\fs18\lang1033 \f2\rtlch\lang1065 (\f5\ltrch\lang1033 StatusBar\f2\rtlch\lang1065 )\b0\f1\fs22 \'d1\'c7 \'c7\'d2 \'e3\'e4\'e6\u1740? \b\'e4\'e3\'c7\b0 \'dd\'da\'c7\'e1 \'98\'e4\u1740?\'cf.\f3\ltrch\lang1033\par -\f1\rtlch\lang1065\'e4\'e6\'c7\'d1 \'e6\'d6\'da\u1740?\'ca \'98\'c7\'e6\'d4\'90\'d1 \'98\'e1\'c7\'d3\u1740?\'98 \'cf\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \f5\ltrch\lang1033 8\f1\rtlch\lang1065 \'e3\'ca\'dd\'c7\'e6\'ca \'c8\'c7 \'98\'c7\'e6\'d4\'90\'d1 \'ce\'e6\'cf \'e6\u1740?\'e4\'cf\'e6\'d2 \'c7\'d3\'ca. \'e3\u1740?\'ca\'e6\'c7\'e4\u1740?\'cf \'c7\'e6\'e1\u1740? \'d1\'c7 \'c7\'d2 \'d8\'d1\u1740?\'de \'ca\'e4\'d9\u1740?\'e3\'c7\'ca \'c8\'d1\'e4\'c7\'e3\'e5 \'98\'c7\'e6\'d4\'90\'d1 \'98\'e1\'c7\'d3\u1740?\'98 \'e6 \'cf\'e6\'e3\u1740? \'d1\'c7 \'c7\'d2 \'d8\'d1\u1740?\'de \b\'90\'d2\u1740?\'e4\'e5\'e5\'c7\u1740? \'81\'e6\'d4\'e5\'e5\'c7 \f2\fs18 (\f5\ltrch\lang1033 Folder Options\f2\rtlch\lang1065 )\b0\f1\fs22 \'cf\'d1 \'98\'c7\'e6\'d4\'90\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \'dd\'da\'c7\'e1 \'98\'e4\u1740?\'cf.\f3\ltrch\lang1033\par - -\pard\rtlpar\widctlpar\qr\f1\rtlch\lang1065\'e3\'e3\'98\'e4 \'c7\'d3\'ca \'c8\'da\'cf \'c7\'d2 \'e4\'d5\'c8 \'da\'e4\'e6\'c7\'e4 \'cf\'d1 \f5\ltrch\lang1033 Internet Explorer\f1\rtlch\lang1065 \'c8\'e5 \'d5\'e6\'d1\'ca \'ce\'e6\'cf\'98\'c7\'d1 \'e4\'d4\'c7\'e4 \'cf\'c7\'cf\'e5 \'e4\'d4\'e6\'cf.\f3\ltrch\lang1033\par - -\pard\rtlpar\widctlpar\qj\f1\rtlch\lang1065\'e3\'e3\'98\'e4 \'c7\'d3\'ca \'c8\'c7 \'81\u1740?\'db\'c7\'e3\u1740? \'cc\'e5\'ca \'dd\'da\'c7\'e1 \'98\'d1\'cf\'e4 \'c7\'dd\'d2\'e6\'e4\'e5 \f3\ltrch\lang1033 ClassicIEBHO \f1\rtlch\lang1065\'e3\'e6\'c7\'cc\'e5 \'d4\'e6\u1740?\'cf. \'cf\'d1 \'c7\u1740?\'e4 \'d5\'e6\'d1\'ca \'ab\'dd\'da\'c7\'e1 \'98\'d1\'cf\'e4\'bb \'d1\'c7 \'c7\'e4\'ca\'ce\'c7\'c8 \'98\'e4\u1740?\'cf. \'c7\'90\'d1 \'8d\'e4\u1740?\'e4 \'81\u1740?\'db\'c7\'e3\u1740? \'e4\'d4\'c7\'e4 \'cf\'c7\'cf\'e5 \'e4\'d4\'cf \'c8\'e5 \b\'c7\'c8\'d2\'c7\'d1 > \'e3\'cf\u1740?\'d1\u1740?\'ca \'c7\'dd\'d2\'e6\'e4\'e5\'e5\'c7\u1740? \'cc\'c7\'e4\'c8\u1740?\b0 \'c8\'d1\'e6\u1740?\'cf \'e6 \'e3\'d8\'e3\'c6\'e4 \'d4\'e6\u1740?\'cf \'98\'e5 \'c7\'dd\'d2\'e6\'e4\'e5 \f3\ltrch\lang1033 ClassicIEBHO \f1\rtlch\lang1065\'dd\'da\'c7\'e1 \'c7\'d3\'ca. \'d3\'81\'d3 \f3\ltrch\lang1033 Internet Explorer\f1\rtlch\lang1065 \'d1\'c7 \'e3\'cc\'cf\'cf\'c7 \'c7\'cc\'d1\'c7 \'98\'e4\u1740?\'cf.\f3\ltrch\lang1033\par - -\pard\rtlpar\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\qr\cf5\b\f1\rtlch\fs28\lang1065\'cd\'d0\'dd\f0\ltrch\lang1033\par - -\pard\ltrpar\widctlpar\cf0\b0\f3\fs22\par - -\pard\rtlpar\widctlpar\qr\f1\rtlch\lang1065\'c8\'d1\'c7\u1740? \'81\'c7\'98 \'98\'d1\'cf\'e4\f3\ltrch\lang1033 \cf3\b Open-Shell\cf0\b0 \f1\rtlch\lang1065\'c7\'d2 \'cf\'d3\'ca\'e6\'d1\'c7\'e1\'da\'e3\'e1 \'d2\u1740?\'d1 \'81\u1740?\'d1\'e6\u1740? \'98\'e4\u1740?\'cf:\f3\ltrch\lang1033\par - -\pard -{\pntext\f3 1)\tab}{\*\pn\pnlvlbody\pnf3\pnindent0\pnstart1\pndec{\pntxta)}} -\rtlpar\nowidctlpar\fi-360\ri720\qj\f1\rtlch\lang1065\'c8\'e5\f3\ltrch\lang1033 \b\f1\rtlch\lang1065\'d5\'dd\'cd\'e5 \'98\'e4\'ca\'d1\'e1 >\f3\ltrch\lang1033 \f1\rtlch\lang1065\'c8\'d1\'e4\'c7\'e3\'e5\'e5\'c7 \'e6 \'e6\u1740?\'8e\'90\u1740?\'e5\'c7\b0\f3\ltrch\lang1033 \f1\rtlch\lang1065\'c8\'d1\'e6\u1740?\'cf \'e6 \'d1\'e6\u1740? \b\f3\ltrch\lang1033 Open-Shell \b0\f1\rtlch\lang1065\'cf\'e6\'c8\'c7\'d1-\'98\'e1\u1740?\'98 \'98\'e4\u1740?\'cf. \'d3\'81\'d3 \'cf\'d3\'ca\'e6\'d1\'c7\'e1\'da\'e3\'e1\'e5\'c7 \'d1\'c7 \'cf\'e4\'c8\'c7\'e1 \'98\'e4\u1740?\'cf. \'c8\'d1\'c7\u1740? \'ca\'98\'e3\u1740?\'e1 \'dd\'d1\'c2\u1740?\'e4\'cf \'d4\'c7\u1740?\'cf \'e1\'c7\'d2\'e3 \'c8\'c7\'d4\'cf \'e6\u1740?\'e4\'cf\'e6\'d2 \'d1\'c7 \'e3\'cc\'cf\'cf\'c7 \'d1\'c7\'e5\'c7\'e4\'cf\'c7\'d2\u1740? \'98\'e4\u1740?\'cf.\f3\ltrch\lang1033\line\f1\rtlch\fs18\lang1065 (\'cf\'d1 \'e6\u1740?\'e4\'cf\'e6\'d2 \'c7\'e4\'90\'e1\u1740?\'d3\u1740?: \b\f3\ltrch\lang1033 Control Panel > Programs and Features\b0\f2\rtlch\lang1065 )\f3\ltrch\fs22\lang1033\par - -\pard -{\pntext\f3 2)\tab}{\*\pn\pnlvlbody\pnf3\pnindent0\pnstart1\pndec{\pntxta)}} -\rtlpar\nowidctlpar\fi-360\ri720\qr\f1\rtlch\lang1065\'c7\'90\'d1 \'c8\'d1\'c7\u1740? \'e3\'e4\'e6\u1740? \'d4\'d1\'e6\'da \'81\'e6\'d3\'ca\'e5\'c7\u1740? \'e4\'d5\'c8 \'98\'d1\'cf\'e5 \'c8\'c7\'d4\u1740?\'cf \'e1\'c7\'d2\'e3 \'c7\'d3\'ca \'c2\'e4\'e5\'c7 \'d1\'c7 \'c8\'e5 \'d5\'e6\'d1\'ca \'cf\'d3\'ca\u1740? \'81\'c7\'98 \'98\'e4\u1740?\'cf.\f3\ltrch\lang1033\par - -\pard\rtlpar\nowidctlpar\qr\par -\par -} - diff --git a/Src/Localization/Persian/OpenShellText-fa-IR.wxl b/Src/Localization/Persian/OpenShellText-fa-IR.wxl deleted file mode 100644 index e739244..0000000 --- a/Src/Localization/Persian/OpenShellText-fa-IR.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - این برنامه نصب فقط برای نسخه‌های 32 بیتی ویندوز است. برای ویندوز 64 بیتی باید Setup64 را اجرا کنید. - Open-Shell روی ویندوز 7 یا بالاتر نصب می‌شود. - هم‌اکنون نسخه‌ی جدیدتری از [ProductName] نصب شده است. برنامه نصب پایان می‌پذیرد. - کاوشگر کلاسیک - کاوشگر کلاسیک نوار ابزاری را به کاوشگر ویندوز اضافه می‌کند، رابط کاربری کپی را جایگزین می‌کند و ایراداتی را تعمیر می‌کند. - منوی شروع کلاسیک - منوی شروع کلاسیک جایگزینی برای منوی شروع ویندوز است که می‌توانید آن را به دلخواه تنظیم کنید. - کاوشگر اینترنت کلاسیک - کاوشگر اینترنت کلاسیک امکان تغییر دادن نوار عنوان و نوار وضعیت کاوشگر اینترنت (Internet Explorer) را در اختیار شما می‌گذارد. - به‌روزرسان Open-Shell - به‌روزرسان Open-Shell به صورت دوره‌ای وجود نسخه‌های جدید برنامه را بررسی می‌کند. - مشاهده مستندات Open-Shell - مشاهده معرفی Open-Shell - تغییر تنظیمات کاوشگر کلاسیک - تغییر تنظیمات منوی شروع کلاسیک - تغییر تنظیمات نوار عنوان و وضعیت کاوشگر اینترنت - تغییر تنظیمات به‌روزرسان Open-Shell - ایجاد پوشه در منوی شروع - وب‌سایت Open-Shell - به Open-Shell هدیه بدهید - ما در فیسبوک - مشاهده پرونده «مرا بخوان» - راهنمای Open-Shell - پرونده «مرا بخوان» Open-Shell - به‌روزرسانی Open-Shell - تنظیمات کاوشگر کلاسیک - تنظیمات منوی شروع کلاسیک - تنظیمات کاوشگر اینترنت کلاسیک - صفحه شروع را باز کن - Open-Shell محجموعه‌ای از قابلیت‌های توسعه‌یافته برای ویندوز است - diff --git a/Src/Localization/Persian/StartMenuHelperL10N.txt b/Src/Localization/Persian/StartMenuHelperL10N.txt deleted file mode 100644 index d72af7f..0000000 --- a/Src/Localization/Persian/StartMenuHelperL10N.txt +++ /dev/null @@ -1,3 +0,0 @@ -[fa-IR] - Persian (Iran, Islamic Republic of) -Menu.PinStart = سنجاق کردن به منوی شروع (Open-Shell) -Menu.UnpinStart = برداشتن از منوی شروع (Open-Shell) diff --git a/Src/Localization/Persian/StartMenuL10N.txt b/Src/Localization/Persian/StartMenuL10N.txt deleted file mode 100644 index 506f3e6..0000000 --- a/Src/Localization/Persian/StartMenuL10N.txt +++ /dev/null @@ -1,124 +0,0 @@ -[fa-IR] - Persian (Iran, Islamic Republic of) -Menu.Programs = &برنامه‌ها -Menu.Apps = برنامه‌ها -Menu.AllPrograms = همه برنامه‌ها -Menu.Back = عقب -Menu.Favorites = علا&قه‌مندی‌ها -Menu.Documents = ا&سناد -Menu.Settings = تن&ظیمات -Menu.Search = &جستجو -Menu.SearchBox = جستجو -Menu.SearchPrograms = جستجوی برنامه‌ها و پرونده‌ها -Menu.SearchInternet = جستجوی اینترنت -Menu.Searching = در حال جستجو... -Menu.NoMatch = ‏‏هیچ موردی با جستجوی شما مطابقت ندارد. -Menu.MoreResults = دیدن نتایج بیشتر -Menu.Help = را&هنمایی و پشتیبانی -Menu.Run = &اجرا... -Menu.Logoff = &خروج از سیستم %s -Menu.LogOffShort = خروج از سیستم -Menu.Undock = جداسازی را&یانه از محل استقرار -Menu.Disconnect = ق&طع ارتباط -Menu.ShutdownBox = خامو&ش کردن... -Menu.Shutdown = خامو&ش کردن... -Menu.Restart = &راه‌اندازی مجدد -Menu.ShutdownUpdate = به‌روزرسانی و خاموش کردن -Menu.RestartUpdate = به‌روزرسانی و راه‌اندازی مجدد -Menu.Sleep = خ&واب -Menu.Hibernate = خاموشی &موقت -Menu.SwitchUser = تعویض کاربر -Menu.Lock = قفل کردن -Menu.ControlPanel = &صفحه کنترل -Menu.Security = امنیت ویندوز -Menu.Network = اتصالات شب&که -Menu.Printers = &چاپگرها -Menu.Taskbar = &نوار وظیفه و منوی شروع -Menu.SearchFiles = برای &پرونده‌ها و پوشه‌ها... -Menu.SearchPrinter = برای &چاپگر -Menu.SearchComputers = برای &رایانه‌ها -Menu.UserFilesTip = شامل پوشه‌های اسناد، تصاویر، موسیقی‌ها و پرونده‌های دیگری است که به شما تعلق دارد. -Menu.UserDocumentsTip = شامل نامه‌ها، اخبار و اسناد و پرونده‌های دیگر است. -Menu.UserPicturesTip = شامل عکس‌های دیجیتالی، تصاویر و پرونده‌های گرافیکی است. -Menu.UserMusicTip = شامل موسیقی‌ها و دیگر پرونده‌های صوتی است. -Menu.UserVideosTip = شامل فیلم‌ها و دیگر پرونده‌های ویدئویی است. -Menu.NetworkTip = ‏‏اتصالات شبکه موجود روی رایانه را نمایش می‌دهد و به شما در ایجاد اتصالات جدید کمک می کند -Menu.PrintersTip = چاپگرهای محلی و شبکه را اضافه، حذف و پیکربندی کنید. -Menu.TaskbarTip = ‏‏منوی "شروع" و نوار وظیفه را سفارشی می کند، مانند انواع موارد و نحوه نمایش آنها. -Menu.ControlPanelTip = تنظیمات را تغییر داده و عملکرد رایانه را سفارشی کنید. -Menu.DocumentsLibTip = دسترسی به نامه‌ها، گزارش‌ها، یادداشت‌ها، و انواع دیگر مدارک. -Menu.MusicLibTip = پخش موسیقی و پرونده‌های صوتی دیگر. -Menu.PicturesLibTip = مشاهده و سازماندهی تصاویر دیجیتالی. -Menu.VideosLibTip = تماشای فیلم‌های خانوادگی و سایر فیلم‌های دیجیتالی. -Menu.RecordingsLibTip = تماشای برنامه‌های تلویزیونی ضبط شده در رایانه شما. -Menu.DownloadTip = یافتن بارگیری‌های اینترنتی و پیوند به وب‌سایت‌های دلخواه. -Menu.HomegroupTip = به کتابخانه‌ها و پوشه‌هایی که دیگران به اشتراک گذاشته‌اند در گروه خانگی خود دسترسی پیدا کنید. -Menu.RunTip = یک برنامه، پوشه، سند یا وب‌سایت را باز می‌کند. -Menu.HelpTip = پیدا کردن عناوین راهنما، آموزش، رفع اشکال، و خدمات پشتیبانی دیگر. -Menu.ProgramsTip = فهرستی از برنامه‌های شما را باز می‌کند. -Menu.SearchFilesTip = جستجو برای سندها، موسیقی‌ها، تصاویر، پست الکترونیکی و موارد دیگر. -Menu.GamesTip = بازی کردن و مدیریت بازی‌های رایانه شما. -Menu.SecurityTip = راه‌اندازی گزینه‌های امنیتی ویندوز برای تغییر رمز ورود، تعویض کاربر یا شروع کنترل‌گر فعالیت‌ها. -Menu.SearchComputersTip = جستجو برای رایانه‌ها در شبکه -Menu.SearchPrintersTip = جستجو برای چاپگر -Menu.AdminToolsTip = پیکربندی تنظیمات مدیریت برای رایانه شما. -Menu.ShutdownTip = همه برنامه‌های باز را می‌بندد، ویندوز را خاموش می‌کند و سپس رایانه شما را خاموش می‌کند. -Menu.RestartTip = همه برنامه‌های باز را می‌بندد، ویندوز را خاموش می‌کند و سپس ویندوز را مجدداً راه‌اندازی می‌کند. -Menu.SleepTip = جلسه شما را در حافظه نگه می‌دارد و رایانه را در حالت مصرف برق کمتر قرار می‌دهد تا شما سریعاً بتوانید به کار خود برگردید. -Menu.HibernateTip = جلسه شما را ذخیره و رایانه را خاموش می‌کند. وقتی که رایانه را روشن می‌کنید، ویندوز جلسه شما را باز می‌گرداند. -Menu.LogOffTip = ‏‏برنامه‌ها را ببندید و از سیستم خارج شوید. -Menu.DisconnectTip = جلسه شما را قطع می‌کند. می‌توانید هنگامی که دوباره به سیستم وارد می‌شوید مجدداً به این جلسه وصل شوید. -Menu.LockTip = این رایانه را قفل کنید. -Menu.UndockTip = رایانه کیفی یا نوت‌بوک خود را از محل استقرار جدا کنید. -Menu.SwitchUserTip = تعویض کاربران بدون بستن برنامه‌ها. -Menu.Empty = (خالی) -Menu.Features = برنامه‌ها و ویژگی‌ها -Menu.FeaturesTip = برنامه‌های رایانه خود را تغییر داده یا پاک کنید. -Menu.SearchPeople = برای ا&فراد... -Menu.SortByName = &ترتیب بر اساس نام -Menu.Open = با&ز کردن -Menu.OpenAll = باز کردن تمام &کاربرها -Menu.Explore = کاو&ش -Menu.ExploreAll = کاوش ت&مام کاربرها -Menu.MenuSettings = تنظیمات -Menu.MenuHelp = راهنما -Menu.MenuExit = خروج -Menu.LogoffTitle = خروج از ویندوز -Menu.LogoffPrompt = آیا برای خروج از سیستم مطمئن هستید؟ -Menu.LogoffYes = خروج از س&یستم -Menu.LogoffNo = &خیر -Menu.RenameTitle = تغییر نام -Menu.RenamePrompt = نام &جدید: -Menu.RenameOK = تایید -Menu.RenameCancel = لغو -Menu.Organize = سازماندهی منوی شروع -Menu.Expand = با&ز شدن -Menu.Collapse = جمع &شدن -Menu.NewFolder = پوشه جدید -Menu.NewShortcut = میانبر جدید -Menu.AutoArrange = ترتیب خو&دکار -Menu.ActionOpen = باز کردن -Menu.ActionClose = بستن -Menu.ActionExecute = اجرا -Menu.RemoveList = حذف از این &لیست -Menu.RemoveAll = &پاک کردن لیست موارد اخیر -Menu.Explorer = کاوشگر ویندوز -Menu.Start = شروع -Menu.StartScreen = صفحه شروع -Menu.PinStart = سنجاق کردن به منوی شروع -Search.CategorySettings = تنظیمات -Search.CategoryPrograms = برنامه‌ها -Search.CategoryDocuments = اسناد -Search.CategoryMusic = موسیقی -Search.CategoryPictures = تصاویر -Search.CategoryVideos = فیلم‌ها -Search.CategoryFiles = پرونده‌ها -Search.CategoryInternet = اینترنت -JumpList.Recent = اخیر -JumpList.Frequent = مکرر -JumpList.Tasks = وظایف -JumpList.Pinned = سنجاق شده -JumpList.Pin = سن&جاق کردن به این لیست -JumpList.Unpin = &برداشتن از این لیست -JumpList.Remove = ح&ذف از این لیست -JumpList.PinTip = سننجاق کردن به این لیست -JumpList.UnpinTip = برداشتن از این لیست diff --git a/Src/Localization/Polish/ClassicExplorer.html b/Src/Localization/Polish/ClassicExplorer.html deleted file mode 100644 index 5f7ad4c..0000000 --- a/Src/Localization/Polish/ClassicExplorer.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - Classic Explorer - -

Open-Shell website  Classic Explorer


-Classic -Explorer jest wtyczką do Eksploratora Windows, która: - -
    - -
  • Dodaje do paska narzędzi Eksploratora kilka typowych operacji (Przejdź do folderu nadrzędnego, Wytnij, Kopiuj, Wklej, Usuń, właściwości, E-mail).Pasek narzędzi jest w pełni konfigurowalny
  • -
  • Zastępuje interfejs kopiowania w systemie Windows 7 bardziej przyjazną dla użytkownika “klasyczną” wersją podobną do tej z systemu Windows XP
  • - -
  • Obsługuje Alt + Enter w panelu folderów Eksploratora Windows i wyświetla właściwości wybranego folderu
  • - -
  • Posiada opcje dostosowywania panelu folderów, aby wyglądał podobnie jak w Windows XP i aby nie zanikały przyciski rozwijania
  • -
  • Może pokazywać ilość wolnego miejsca na dysku i całkowity rozmiar plików na pasku stanu
  • -
  • Można wyłączyć nawigację za pomocą łączy w pasku adresu
  • -
  • Naprawia długą listę funkcji, które nie zostały poprawione w Windows 7 - brak nakładki na ikonę udostępnionych folderów, skoki folderów w panelu nawigacji, brak sortowania nagłówków w widoku listy, i więcej
    -
  • - - - - -

- - -

Nowy interfejs kopiowania (tylko Windows 7)
-

- -W systemie Vista podczas kopiowania plików i istnieje konflikt, który został pokazany poniżej:
- -
- -Before
- -

Co w tym oknie dialogowym jest nieprawidłowe?

- -

Na początek to jest połowa ekranu pełnego tekstu, który trzeba przeczytać. Również nie jest od razu jasne, jakie części są klikalne. Musisz poruszać myszką, aby odkryć interfejs jak w przygodowej grze Lucas Arts. I wreszcie użyteczność klawiatury jest straszna. Aby powiedzieć -“tak, wiem co robię, chcę zastąpić wszystkie pliki” musisz nacisnąć Alt+D, W górę, W górę, W górę, Spacja! To jest trudniejsze niż wykonywanie akcji Akuma -Kara Demone w Street Fighter 3. Tam jest czas i miejsce na takie rzeczy i nie jest to kopiowanie plików.

- -

Wtyczka Classic Explorer przywraca prostsze okno dialogowe z Windows XP:
-

- -

After
-

- -

Tu jest od razu jasne, co jest klikalne (wskazówka – przyciski na dole), istnieje łatwa nawigacja za pomocą klawiatury (naciśnij Y na “Tak”, A by skopiować wszystkie pliki) i nadal można zobaczyć, który plik jest nowszy i który jest większy. I oczywiście podobnie jak Windows XP, trzymając wciśnięty klawisz Shift podczas kliknięcia na przycisk Nie oznacza "Nie dla wszystkich" (lub po prostu naciśnij Shift+N).
-

- -

Po kliknięciu na Więcej… otrzymasz oryginalne okno dialogowe z Windows. Gdzie można zobaczyć wszystkie szczegóły i uzyskasz dodatkową opcję “Kopiuj, ale zachowaj oba pliki”.

-

Ważna uwaga: Tylko interfejs zostaje zastąpiony. System bazowy, który wykonuje rzeczywiste kopiowanie pozostaje nienaruszony.
-

-


-

- - - -

Alt+Enter w panelu folderów

- -Alt+Enter jest uniwersalnym skrótem w Windows, służącym do otwierania właściwości zaznaczonego elementu. Ale w nowszych wersjach systemu Windows nie działa on w panelu po lewej stronie, w którym wyświetlane są foldery, zaś działa prawidłowo w prawym panelu, w którym pokazywane są elementy wybranego folderu. Skrót działa wadliwie w porównaniu z Windows XP, gdzie Alt+Enter działa w obu panelach. -

Ten problem rozwiązuje wtyczka Classic Explorer, która wykrywa naciśnięcie Alt+Enter i wyświetla właściwości aktualnie wybranego folderu.
-

-


-

- - -

Pasek narzędzi Eksploratora Windows

-Eksplorator w Windows Vista nie ma paska narzędzi, takiego jak w Windows XP. Jeśli chcesz przejść do folderu nadrzędnego musisz użyć paska bułce tartej. Jeśli chcesz skopiować lub usunąć plik za pomocą myszki musisz kliknąć prawym przyciskiem myszy i poszukać odpowiedniego polecenia. Menu kontekstowe robi się coraz większe i większe, im więcej zainstalowano rozszerzeń powłoki i znalezienie odpowiedniego polecenia może chwilę potrwać.
-

Ten problem rozwiązuje wtyczka Classic Explorer dodając nowy pasek narzędzi:
-

- - Explorer Toolbar
-
-Dostępne przycisk to: W górę, Wytnij, Kopiuj, Wklej, Usuń, Właściwości, -E-mail, Ustawienia. Więcej przycisków można dodać w oknie dialogowym Ustawienia.
-
-Wskazówki:
-    - Przytrzymaj wciśnięty klawisz Ctrl podczas kliknięcia na przycisk W górę, aby otworzyć folder nadrzędny w nowym oknie Eksploratora.
-    - Przytrzymaj wciśnięty klawisz Shift podczas kliknięcia przycisku Usuń, aby trwale usunąć plik.
- -
- -Po instalacji nowy pasek narzędzi nie jest automatycznie wyświetlany w Eksploratorze. Musisz zrobić kilka rzeczy, zanim będzie można go używać:
- -
    - -
  1. Otwórz nowe okno Eksploratora Windows (Win key+E)
  2. -
  3. Włącz menu w Eksploratorze – Przejdź do Narzędzi (ALT+T), Opcje folderów, karta Widok, i sprawdź czy zaznaczone jest pole wyboru “Zawsze pokazuj menu”.
  4. -
  5. Kliknij prawym przyciskiem myszy na pasku menu i wybierz “Pasek Classic Explorer”, aby wyświetlić pasek narzędzi.
  6. -
  7. Jeśli ta opcja nie jest dostępna (widać tylko “Zablokuj paski narzędzi”) być może trzeba będzie włączyć wtyczkę w Internet Explorer. Uruchom IE, kliknij prawym przyciskiem myszy na jego pasku narzędzi i wybierz “Pasek Classic Explorer”. -Program zapyta, czy chcesz włączyć ten dodatek. Wybierz opcję “Włącz”, -a następnie powtórz ponownie kroki od 1 do 3.
  8. -
  9. Jeżeli pasek narzędzi dalej jest niewidoczny, być może w systemie wyłączone są rozszerzenia przeglądarki. Zazwyczaj jest to ustawienie domyślne dla serwerów. Otwórz "Opcje internetowe", przejdź do zakładki "Zaawansowane" i zaznacz opcję "Włącz rozszerzenia przeglądarki innych firm".
    -
  10. - -

-

Pasek stanu
-

-Classic Explorer przywraca oryginalny pasek stanu Eksploratora, na którym wyświetlana jest ilość wolnego miejsca na dysku i rozmiar wybranych plików:
-
-File size in status bar
-
-W przeciwieństwie do wbudowanego pasku stanu rozmiar zaznaczenia jest wyśwtetlany nawet jeżeli wybrano więcej niż 100 plików. Kiedy nie wybrano żadnych plików jest wyświetlany całkowity rozmiar wszystkich plików w folderze
-
Uwaga dla Windows 7: Classic Explorer poprawia domyślny pasek stanu bez konieczności zastępowania go. Aby go zobaczyć, musisz go wpierw włączyć w menu Widok. Pasek stanu jest różny od niebieskiego okienka szczegółów, które można zobaczyć na dole Eksploratora. Można wyłączyć okienko szczegółów z menu Organizuj, aby zaoszczędzić miejsce. Ponadto istnieje błąd w Eksploratorze Windows 7, który niekiedy nie wyświetla żadnego tekstu na pasku stanu. Naciśnij klawisz F5, aby odświeżyć widok i uzyskać tekst na pasku stanu.
-
Uwaga dla Windows 8: Classic Explorer dodaje własny pasek stanu. Należy ukryć domyślny pasek stanu, aby zaoszczędzić miejsce. Na Wstążce wybierz kartę Widok, a następnie kliknij Opcje. Wybierz kartę Widok w oknie Opcje. Znajdź "Pokaż pasek stanu" i odznacz pole wyboru. -
-
- - -

Ustawienia

Można uzyskać dostęp do ustawień Classic Explorer z paska narzędzi lub z menu Start:

-
-
Można wybrać tylko widok podstawowych ustawień, lub wszystkich dostępnych ustawień. Umieszczając wskaźnik myszy nad każdym ustawieniem, można zobaczyć jego krótki opis. Wpisując w polu wyszukiwania nazwę ustawienia, wyszukasz je według nazwy.
-Każde ustawienie ma wartość domyślną. Wartość domyślna może być stała, lub może zależeć od bieżących ustawień systemowych. Po modyfikacji to ustawienie staje się "zmodyfikowanym" i jest wyświetlane pogrubioną czcionką. Aby powrócić do wartość domyślnej, kliknij prawym przyciskiem myszy na ustawienie. -
-
Można zapisać ustawienia do pliku XML, a później załadować je z powrotem. Naciskając przycisk Kopia zapasowa uzyskasz dostęp do tych funkcji. Stamtąd można także zresetować wszystkie ustawienia do ich wartości domyślnych. -
- -
- -Naciśnij przycisk OK, aby zapisać ustawienia. Większość ustawień zostanie wprowadzona podczas następnego otwarcia nowego okna Eksploratora. Niewielka liczba ustawień wymaga wylogowania przed wprowadzeniem zmian.
- -
- -Uwaga: Okno Wszystkie ustawienia jest skalowalne. Można zmieniać jego rozmiary i umieszczać w wybranym położeniu. Okno zapamięta swoją nową pozycję..
- -
-Oto jeden z przykładów jakie mogą wprowadzić odpowiednie dostosowania:

- - Title bar tweaks
-
-Kliknij na zakładkę Przyciski paska narzędzi, aby dostosować pasek narzędzi:

-
-
Przyciski mogą być przeciągane i upuszczane z prawej do lewej kolumny. Można zmieniać kolejność przycisków, przeciągając je w górę lub w dół. Jeśli upuścisz jeden przycisk wewnątrz drugiego to utworzysz podmenu.
-Umieszczając wskaźnik myszy nad każdym przyciskiem, można zobaczyć jego krótki opis. Kliknij prawym przyciskiem myszy na każdym przycisku, aby uzyskać dostęp do dodatkowych funkcji (jak Usuń, Zmień nazwę, itp.). Z menu kontekstowego można również przywrócić pasek narzędzi do pierwotnego stanu.
-Każda pozycja w lewej kolumnie musi mieć unikatową nazwę. Jest nim identyfikator elementu, który może zawierać tylko angielskie litery, cyfry i podkreślenie. Niektóre elementy (takie jak SEPARATOR) nie mogą być zmieniane.
-
-Ważna uwaga: Nie wszystkie dostępne polecenia mają domyślne ikony lub tekst. To dlatego, że Windows nie ma ikony na takie polecenia jak Cofnij, Zaznacz wszystko, itp. Jeśli chcesz użyć tych przycisków w pasku narzędzi będziesz musiał wprowadzić swoje własne ikony. Zobacz poniżej, jak to zrobić.
-
-Po umieszczeniu przycisku na pasku narzędzi, można edytować jego atrybuty. Kliknij dwukrotnie na przycisku, aby go edytować:

-Edit toolbar button

-Tutaj można wybrać polecenie dla przycisku, jego tekst i ikonę. Naciśnij przycisk Przywróć domyślne, aby uzyskać domyślny tekst i ikonę dla wybranego polecenia.
-Poleceniem może być:
-
    - - -
  • pozostawiono puste - jeśli jest stosowany atrybut łącze, to będzie działać jako polecenie
  • -
  • jedno z predefiniowanych poleceń - z rozwijanej listy
  • -
  • open <some folder> (otwórz <jakiś folder>) - otwiera folder w bieżącej przeglądarce
  • -
  • sortby <property> (sortuj według <właściwości>) - sortuje folder według danej właściwości - nazwa, typ, rozmiar lub data. Użyj znaku '-' przed właściwością, aby sortować w porządku malejącym: "sortby -name". Można użyć innych właściwości, jeśli znasz ich kod. Na przykład "sortby {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10" jest tym samym, co "sortby name". Więcej kodów właściwości można znaleźć w pliku propkey.h w Windows SDK (kody można również znaleźć tutaj - przewiń w dół do "Pełna tabela właściwości"). Nie wszystkie kody właściwości są ważne lub obsługiwane (np. właściwość rok albumu {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 działa tylko podczas wyświetlania albumów muzycznych)
  • -
  • groupby <property> (grupuj według <właściwości>) - podobne do sortby, lecz grupuje pliki według danej właściwości. Użyj polecenia groupby bez właściwości, aby wyłączyć grupowanie
    -
  • - - - -
  • niestandardowy ciąg wykonywalny -- może to być nazwa programu i jego argumenty, a nawet adres URL (np. http://www.google.com). Można również używać zmiennych środowiskowych, takich jak %SystemRoot%. Można również użyć symboli zastępczych %1, %2, %3, %4 i %5:
  • -
      -
    • %1 to ścieżka do bieżącego folderu. Należy pamiętać, że jeśli bieżący folder jest katalogiem głównym dysku, to będzie zakończony ukośnikiem (jak C:\)
      -
    • -
    • %2 jest ścieżką do wybranego pliku (tylko w przypadku wybrania pojedynczego pliku)
    • -
    • %3 -to nazwa pliku tekstowego tymczasowego, który zawiera wszystkie wybrane pliki. Każdy wiersz w pliku tekstowym zawiera pełną ścieżkę jednego pliku
      -
    • -
    • %4 -to samo co %3, ale plik jest w formacie Unicode (UTF16).Plik nie zawiera znacznika kolejności bajtów. %3 i %4 nie mogą być używane w tym samym poleceniu
      -
    • -
    • Uwaga dla programistów: Gdy używany jest parametr %3 lub %4, to polecenie powinno na końcu usuwać plik tymczasowy. W przeciwnym razie plik tymczasowy zostanie pozostawiony na dysku i będzie zajmował niepotrzebnie miejsce. Polecenie będące aplikacją konsoli lub plikiem wsadowym jest uruchamiane w trybie cichym, bez wyświetlania okna konsoli
    • - -
    • %5 to nazwa tymczasowego pliku tekstowego, który może być użyty do zwrócenia polecenia z powrotem do Classic Explorer. Jeśli pierwszymi 2 bajtami pliku są 255 i 254, plik jest traktowany jako Unicode. Tylko jedno polecenie może być używane w tym samym czasie. Poleceniem tym może być:
    • -
        -
      • open <folder name> (otwórz <nazwa folderu>) - spowoduje przejście do danego folderu w Eksploratorze
      • -
      • select <list of file names> (wybierz <lista nazw plików>) -- wybiera podane pliki, odznaczając pozostałe. Nazwy plików muszą być oddzielone znakiem tabulacji lub znakiem nowego wiersza. Pliki nie powinny zawierać ścieżek. Jeśli zostanie zignorowany ścieżka
        -
      • -
      • refresh (odśwież) - odświeża Eksploratora
      • -
      -
    -
      -
    • Uwaga dla programistów: -polecenia używające %5 zostaną uruchomione w trybie cichym (tak jak polecenia używające %3 lub %4) i Eksplorator będzie czekał na zakończenie procesu. Proces musi zakończyć się najszybciej jak to możliwe, ponieważ Explorer będzie zamrożony podczas wykonywania polecenia
    • -
    • W następnej sekcji podano kilka przykładów, jak używać tych parametrów
      -
    • - -
    -
-Łącze może być ścieżką do pliku lub folderu. Jeśli jest to plik, plik zostanie wykonany. Jeśli to jest folder, folder zostanie otworzony w podmenu. (tylko dla przycisków najwyższego poziomu).
-
-Ikoną może być:
-
    -
  • pozostawiono puste - jeśli atrybut łącza wskazuje na plik lub folder, to zostanie użyta ikona pliku lub folderu
    -
  • -
  • plik zasobów, ID ikony - na przykład %windir%\notepad.exe,2. Nie należy pozostawiać spacji między nazwą pliku a przecinkiem. Upewnij się, że używasz identyfikatora zasobu ikony, a nie indeksu ikony. Aby uzyskać najlepsze rezultaty należy użyć przycisku [...] umieszczonego przy polu Ikona
  • -
  • ID ikony - jak wyżej, ale plikiem zasobów jest ClassicExplorer.dll. Jest to przydatne, gdy odnosi się do ikon własnych Classic Explorer
    -
  • -
  • plik ikony -  na przykład C:\Program Files\Mozilla Thunderbird\Email.ico
  • -
  • brak - zostanie użyta pusta ikona
  • -
-Jeżeli atrybut etykiety lub porady rozpoczyna się znakiem $ (znak dolara), wtedy system będzie traktować go jako nazwę ciągu w pliku ExplorerL10N.ini. Rzeczywisty tekst zależy od bieżącego ustawienia języka. Jest to przydatne podczas tworzenia paska narzędzi, który może być używany przez wiele języków.
-
-Uwaga dla programistów: Przyciski niestandardowych polecń mogą być zaznaczone lub wyłączone. Pasek narzędzi sprawdza w kluczu rejestru HKCU\Software\OpenShell\ClassicExplorer -wartość DWORD o nazwie przycisk (nazwa używana w lewej kolumnie). 0 oznacza normalny, 1 wyłączona, i 2 zaznaczony. Pasek narzędzi odczytuje klucz rejestru podczas uruchamiania. Aby wymusić aktualizację stanu przycisków po uruchomieniu musisz znaleźć wszystkie okna Eksploratora, zlokalizować okno podrzędne z klasy OpenShell.CBandWindow i umieścić wiadomość WM_CLEAR. Jest to przydatne, jeżeli utworzysz własny exe, który będzie wykorzystywany przez pasek narzędzi.
- -
-

Przykłady poleceń niestandardowych

-

1) Użyj cudzysłowy, gdy jest to konieczne

Aby były obsługiwane ścieżki zawierające spacje, należy parametry ścieżki ująć w cudzysłowy. Cudzysłowy nie zawsze są potrzebne jak to pokazano poniżej w przykładach 2 i 3. Upewnij się, czy tekst komendy ścieżki zawiera spacje, aby uniknąć niespodzianek.
-
-

2) Drukuj bieżący folder

- -Użyj tego polecenia: cmd.exe /k echo %1. %1 zostanie zastąpione przez ścieżkę bieżącego folderu.
-
-

3) Otwórz wybrany plik w Notatniku

-Użyj tego polecenia: %SystemRoot%\notepad.exe %2. -%2 zostanie zastąpione przez pełną nazwę wybranego pliku. Polecenie nie -musi być ujęte w cudzysłowy, ponieważ Notatnik używa cały wiersz polecenia jako nazwę pliku.
-
-

4) Kopiuj wybrane pliki do folderu nadrzędnego
-

-Utwórz plik wsadowy o nazwie C:\CopyParent.bat:
-set list=%1
-set list=%list:"=%
-for /F "delims=" %%i in (%list%) do copy /Y "%%i" ..
-del %1
-
-Użyj tego polecenia: C:\CopyParent.bat "%3". -%3 zostanie zastąpiony przez plik tekstowy zawierający pełne nazwy wszystkich wybranych plików. Plik wsadowy odczytuje każdy wiersz z tego pliku tekstowego i kopiuje każdy z wybranych plików do folderu nadrzędnego. Na końcu plik wsadowy usuwa początkowy plik temp. Pierwsze dwa polecenia usuwają cudzysłowy z parametru %1
-
-

5) Wybierz wszystkie pliki tekstowe

-Utwórz plik wsadowy o nazwie C:\SelectText.bat:
-echo select > %1
-dir *.txt /b >> %1
-
-Użyj tego polecenia: C:\SelectText.bat "%5". -%5 zostanie zastąpione pustym plikiem tekstowym, którego polecenie musi zawierać słowo wyjściowe "select" i listę plików, które chce się wybrać. Polecenie "dir -*.txt /b" udostępnia tę listę.
-
-
- -

Ustawienia administracyjne

Ustawienia dotyczą poszczególnych użytkowników i przechowywane są w rejestrze. Domyślnie każdy użytkownik może edytować -wszystkie swoje ustawienia. Administrator może zablokować określone ustawienia, więc żaden użytkownik nie będzie mógł ich edytować:

-

-W tym przykładzie ustawienie "Pokaż przycisk W górę" jest zablokowane, tak aby ten przycisk zawsze był wyświetlany przed przyciskami Wstecz/Dalej. I ustawienie to nie może być zmienione przez dowolnego użytkownika. Osiąga się to przez dodanie odpowiednich ustawień w kluczu rejestru HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicExplorer. Należy utworzyć wartość ciągu o nazwie "ShowUpButton" i ustawić jej wartość na "BeforeBack".
-
W niektórych przypadkach możesz nie chcieć zablokować wartości dla wszystkich użytkowników, ale -jedynie chcesz zmienić początkową wartość ustawienia. W takim przypadku należy dodać -"_Default" do nazwy wartości. Na przykład, aby przycisk W górę był domyślnie wyświetlany przed przyciskami Wstecz/Dalej, ale użytkownicy mieli nadal możliwość wprowadzenia zmiany, gdy tego chcą, należy utworzyć wartość ciągu o nazwie "ShowUpButton_Default" i ustawić jej wartość na "BeforeBack".
-
-Najprostszym sposobem poznania nazwy ustawienia i jego wartości w rejestrze, które chcesz zmodyfikować, jest odszukanie go w kluczu HKEY_CURRENT_USER\Software\OpenShell\ClassicExplorer\Settings.
-Czasem możesz chcieć zablokować wartość domyślną ustawienia, ale nie znasz jej wartości. W takim przypadku utwórz wartość DWORD i ustaw jej wartość na 0xDEFA.
-
-Istnieje również ustawienie globalne "EnableSettings". Ustawienie jego wartości na 0 w rejestrze blokuje użytkownikom możliwość otworzenia okna dialogowego Ustawienia:

-Disable all settings
-
-Można włączyć lub wyłączyć poszczególne procesy w Classic Explorer przy użyciu dwóch ustawień rejestru "ProcessWhiteList" i "ProcessBlackList". ProcessWhiteList jest to lista ładowanych procesów przez Classic Explorer. Użyj tylko nazwy pliku procesu (np. "notepad.exe"), oddzielaj wiele nazw za pomocą przecinka lub średnika. ProcessBlackList -jest to lista nieładowanych procesów przez Classic Explorer. Należy używać tylko jednej z dwóch list. Jeśli obie listy są podane, czarna lista będzie ignorowana. Listy są wykorzystywane wyłącznie podczas włączania funkcji, które są obsługiwane przez procesy inne niż Explorer. W tym momencie te funkcje to: wspólna nakładka ikony i zamienniki okien dialogowych kopiowania.
-
-Edycja ustawień za pomocą zasad grupy jest również obsługiwana. Rozpakuj plik PolicyDefinitions.zip znajdujący się w folderze instalacji i przeczytaj dokument PolicyDefinitions.rtf, aby uzyskać więcej informacji.
-
- -
- -

Zależności od ustawień Windows
-

-Niektóre ustawienia Classic Explorer wymagają włączenia określonych ustawień systemu Windows:
-
    -
  • Styl panelu nawigacji Windows Vista - wymaga używania przez systemu Windows tematu podstawowego lub Aero
  • -
  • Automatyczna nawigacja do wybranego folderu -- to ustawienie można ustawić na "Zawsze" tylko wtedy, gdy w Eksploratorze jest włączona opcja "Automatycznie rozwiń do bieżącego folderu". Poszukaj jej w Narzędzia -> Opcje folderów -> zakładka Ogólne
  • -
  • Pokaż napis na pasku tytułu -- napis będzie wyświetlany jako pełna nazwa ścieżki lub tylko nazwa bieżącego folderu. Aby wyświetlić pełną ścieżkę należy włączyć "Pokaż pełną ścieżkę na pasku tytułu (tylko w motywie Classic)" w Narzędzia -> Opcje folderów -> zakładka Widok
  • -
  • Wszystkie ustawienia paska stanu - wymagany jest widoczny pasek stanu (nie mylić z okienkiem szczegóły). Sprawdź w Widok -> Pasek stanu
  • -
- -
- -

Lokalizacja językowa programu

- -Interfejs użytkownika (z wyjątkiem okna dialogowego Ustawienia) jest przetłumaczony na 35 -języki.
- -Okno dialogowe Ustawienia jest przetłumaczone na mniejszą liczbę języków. -Domyślna instalacja jest dostępna tylko w języku angielskim. Inne języki można -pobrać ze strony tłumaczenia. Upewnij się, pobierasz pakiet tłumaczenia zgodny z posiadaną wersją programu Open-Shell.
- -
- - diff --git a/Src/Localization/Polish/ClassicExplorerADMX.txt b/Src/Localization/Polish/ClassicExplorerADMX.txt deleted file mode 100644 index 45d418b..0000000 --- a/Src/Localization/Polish/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Ustawienia Open-Shell -State.text = Stan: -State1.text = Zablokowano na tej wartości -State2.text = Zablokowano na domyślnej -State3.text = Odblokowano -State1Help.text = Jeśli ustawisz stan na 'Zablokowano na tej wartości', ustawienie zostanie zablokowane na określonej wartości dla wszystkich użytkowników. -State2Help.text = Jeśli ustawisz stan na 'Zablokowano na domyślnej', ustawienie zostanie zablokowane na wartości domyślnej dla wszystkich użytkowników. Określona wartość jest ignorowana. -State3Help.text = Jeśli ustawisz stan na 'Odblokowano', domyślna wartość ustawienia zostanie zmieniona na określoną wartość. Poszczególni użytkownicy będą mogli zmienić to ustawienie. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Classic Explorer ustawienia zasad grupy -SUPPORTED_CS404.text = Wymaga Open-Shell 4.0.4 lub nowszego. -SUPPORTED_CS404_WIN7.text = Wymaga Windows 7. -SUPPORTED_CS404_WIN881.text = Wymaga Windows 8 lub Windows 8.1. - -AddressAltD.nameOverride = Dodatkowy skrót dla pasku adresu -AddressAltD.tipOverride = Wprowadź literę od 'A' do 'Z', która będzie skrótem dla paska adresu w kombinacji z klawiszem Alt -EnableSettings.nameOverride = Włącz ustawienia -EnableSettings.tipOverride = Umożliwia użytkownikom edycję własnych ustawień -ProcessWhiteList.nameOverride = Proces białej listy -ProcessWhiteList.tipOverride = Lista procesów, które może załadować Classic Explorer. Użyj tylko nazwy pliku procesu (np. "notepad.exe"), wiele nazw oddziel przecinkiem lub średnikiem. -ProcessBlackList.nameOverride = Proces czarnej listy -ProcessBlackList.tipOverride = Lista procesów, których nie może załadować Classic Explorer. Użyj tylko nazwy pliku procesu (np. "notepad.exe"), wiele nazw oddziel przecinkiem lub średnikiem. -ToolbarItems.nameOverride = Przyciski paska narzędzi -ToolbarItems.tipOverride = Wybierz przyciski, które będą wyświetlane na pasku narzędzi.\nNajlepszym sposobem, aby uzyskać prawidłowy ciąg jest skonfigurowanie przycisków w oknie dialogowym Ustawienia Classic Explorer, a następnie sprawdzenie wartości o nazwie ToolbarItems w HKCU\Software\OpenShell\ClassicExplorer\Settings - - -; os-specific -FileExplorer.nameOverride = Włącz okna dialogowe tylko w Eksploratorze (zwiększa wydajność) diff --git a/Src/Localization/Polish/ClassicIE.html b/Src/Localization/Polish/ClassicIE.html deleted file mode 100644 index 3d019bf..0000000 --- a/Src/Localization/Polish/ClassicIE.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - Classic IE - -

Open-Shell website  -Classic IE


-Classic IE
-jest -małą wtyczką dla Internet Explorer, która:
-
    -
  • Dodaje napis na pasku tytułu, dzięki czemu można zobaczyć pełny tytuł strony
  • -
  • Pokazuje strefę bezpieczeństwa w pasku stanu
  • -
  • Pokazuje postęp ładowania na pasku stanu
  • -
-
-Widok pełnego tytułu strony, nawet jeśli nie mieści się on w zakładce:
-
-
-
Widok paska postępu i strefy bezpieczeństwa:

-
-
-

Instalacja

-Podczas pierwszego uruchamiania przeglądarki Internet Explorer po zainstalowaniu Classic IE możesz zobaczyć monit o zainstalowaniu nowego dodatku ClassicIEBHO i jego włączeniu. Jeżeli chcesz go włączyć kliknij przycisk Włącz. Jeśli nie otrzymasz monitu, przejdź do Narzędzia -> Zarządzaj dodatkami i sprawdź czy ClassicIEBHO jest włączony. Po włączeniu dodatku trzeba ponownie uruchomić program Internet Explorer, aby aktywować wtyczkę.
-
-

Ustawienia

-Można uzyskać dostęp do ustawień z Narzędzia -> Ustawienia Classic IE -lub z menu Start. Ustawienia sterują kolorem i czcionką napisu, oraz informacjami wyświetlanymi na pasku stanu.

-
-
Można wybrać tylko widok podstawowych ustawień lub widok wszystkich dostępnych ustawień. Umieszczając wskaźnik myszy nad każdym ustawieniem, można zobaczyć jego krótki opis. Wpisując w polu wyszukiwania nazwę ustawienia, wyszukasz je według nazwy.
-Każde ustawienie ma wartość domyślną. Wartość domyślna może być stała, lub może zależeć od bieżących ustawień systemowych. Po modyfikacji to ustawienie staje się "zmodyfikowanym" i jest wyświetlane pogrubioną czcionką. Aby powrócić do wartość domyślnej, kliknij prawym przyciskiem myszy na ustawienie. -
- -
-Można zapisać ustawienia do pliku XML, a później załadować je z powrotem. Naciskając przycisk Kopia zapasowa uzyskasz dostęp do tych funkcji. Stamtąd można także zresetować wszystkie ustawienia do ich wartości domyślnych.
- - -
- - -Naciśnij przycisk OK, aby zapisać ustawienia. Musisz ponownie uruchomić program Internet Explorer, aby zastosować nowe ustawienia.
- - -
-

Ustawienia administracyjne

-Administrator może zablokować określone ustawienia, więc żaden użytkownik nie będzie mógł ich edytować. Osiąga się to przez dodanie odpowiednich ustawień w kluczu rejestru HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicIE.
-
-Można również nie blokować ustawienia, ale tylko zastąpić jego początkową -wartość. Należy dodać "_Default" do nazwy wartości rejestru.
-
-Najprostszym sposobem poznania nazwy ustawienia i jego wartości w rejestrze, które chcesz zmodyfikować, jest odszukanie go w kluczu HKEY_CURRENT_USER\Software\OpenShell\ClassicIE\Settings.
- -Czasami możesz chcieć zablokować wartość domyślną ustawienia, ale nie znasz jej wartości. W takim przypadku utwórz wartość DWORD i ustaw jej wartość na 0xDEFA.
- -
- -Istnieje również ustawienie globalne EnableSettings. Ustawienie jego wartości na 0 w rejestrze blokuje użytkownikom możliwość otworzenia okna dialogowego Ustawienia:

- -
-
-Edycja ustawień za pomocą zasad grupy jest również obsługiwana. Rozpakuj plik PolicyDefinitions.zip znajdujący się w folderze instalacji i przeczytaj dokument PolicyDefinitions.rtf, aby uzyskać więcej informacji.
-
- diff --git a/Src/Localization/Polish/ClassicIEADMX.txt b/Src/Localization/Polish/ClassicIEADMX.txt deleted file mode 100644 index f14db8f..0000000 --- a/Src/Localization/Polish/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Ustawienia Open-Shell -State.text = Stan: -State1.text = Zablokowano na tej wartości -State2.text = Zablokowano na domyślnej -State3.text = Odblokowano -State1Help.text = Jeśli ustawisz stan na 'Zablokowano na tej wartości', ustawienie zostanie zablokowane na określonej wartości dla wszystkich użytkowników. -State2Help.text = Jeśli ustawisz stan na 'Zablokowano na domyślnej', ustawienie zostanie zablokowane na wartości domyślnej dla wszystkich użytkowników. Określona wartość jest ignorowana. -State3Help.text = Jeśli ustawisz stan na 'Odblokowano', domyślna wartość ustawienia zostanie zmieniona na określoną wartość. Poszczególni użytkownicy będą mogli zmienić to ustawienie. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Classic IE ustawienia zasad grupy -SUPPORTED_CS404.text = Wymaga Open-Shell 4.0.4 lub nowszego. -SUPPORTED_IE9.text = Wymaga Internet Explorer 9 lub nowszego. - - -EnableSettings.nameOverride = Włącz ustawienia -EnableSettings.tipOverride = Umożliwia użytkownikom edycję własnych ustawień -CaptionFont.tipAddition = .\n\nFormatem jest , , . Na przykład "Segoe UI, normal, 9" diff --git a/Src/Localization/Polish/License.html b/Src/Localization/Polish/License.html deleted file mode 100644 index 0b82c83..0000000 --- a/Src/Localization/Polish/License.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - Umowa licencyjna - -

Open-Shell website  Umowa licencyjna
-


-Open-Shell 2009-2017, Ivo Beltchev

-http://www.classicshell.net/
-
-UŻYWANIE TEGO OPROGRAMOWANIA OZNACZA AKCEPTACJĘ TYCH WARUNKÓW. JEŚLI ICH NIE AKCEPTUJESZ, NIE KORZYSTAJ Z TEGO OPROGRAMOWANIA.
-
-Licencjobiorca przestrzegający niniejszych warunków licencji ma poniższe prawa.
-
-
    -
  1. -

    ZAKRES LICENCJI. Niniejsza Umowa daje tylko niektóre praw do używania oprogramowania. Autor zastrzega sobie wszelkie inne prawa.

    -
  2. -
  3. -

    PRAWA DO INSTALACJI I UŻYTKOWANIA. To oprogramowanie jest darmowe do użytku osobistego i komercyjnego. Licencjobiorca może zainstalować i używać go na swoich komputerach bezpłatnie.

    -
  4. -
  5. -

    PRAWO DO ROZPOWSZECHNIANIA. Możesz rozprowadzać oprogramowania tak długo, jak to robisz bezpłatnie i nie wprowadzając w błąd o pochodzeniu oprogramowania.

    -
  6. -
  7. -

    ZNAKI TOWAROWE. Nazwa Open-Shell i logo są znakami towarowymi autora. Używanie ich w celu określenia innych produktów lub usług nie jest dozwolone.

    -
  8. -
  9. -

    WYŁĄCZENIE ODPOWIEDZIALNOŚCI Z TYTUŁU RĘKOJMI. -OPOPROGRAMOWANIE TO JEST DOSTARCZANE "TAK JAK JEST", BEZ JAKICHKOLWIEK GWARANCJI, WYRAŹNYCH JAK I DOMNIEMANYCH, W TYM MIĘDZY INNYMI DO GWARANCJI PRZYDATNOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU I NIENARUSZANIA PRAW OSÓB TRZECICH. -W ŻADNYM WYPADKU AUTORZY LUB WŁAŚCICIELE PRAW AUTORSKICH NIE PONOSZĄ ODPOWIEDZIALNOŚCI ZA JAKIEKOLWIEK ROSZCZENIA, USZKODZENIA LUB INNE ZOBOWIĄZANIA, CZY TO NA SKUTEK UMOWY, W ZŁEJ WIERZE LUB W INNY SPOSÓB, WYNIKAJĄCYCH Z, LUB W ZWIĄZKU Z OPROGRAMOWANIEM LUB UŻYTKOWANIEM GO LUB INNEJ DZIAŁALNOŚCI Z OPROGRAMOWANIEM.

    -
  10. -
  11. -

    INNYMI SŁOWY: -Zasadniczo można swobodnie korzystać z tego oprogramowania w dowolnym celu, ale nie zdziw się, jeśli nie będzie ono działać zgodnie z oczekiwaniami. Autor nie może ponosić odpowiedzialności za jakiekolwiek szkody wyrządzone przez to oprogramowanie. Nie możesz osiągać zysku ze sprzedaży oprogramowania. Masz go przecież za darmo.

    -
  12. -
- - - diff --git a/Src/Localization/Polish/Links.html b/Src/Localization/Polish/Links.html deleted file mode 100644 index a0f6187..0000000 --- a/Src/Localization/Polish/Links.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Open-Shell - -

Open-Shell website  Łącza


Najnowszą wersję można znaleźć na stronie internetowej Open-Shell:
-http://www.classicshell.net/
-
-Tu możesz zobaczyć historię projektu:
-Historia: http://www.classicshell.net/history/
-
-
-

Uzyskaj pomoc

-Aby uzyskać odpowiedzi na najczęściej zadawane pytania zajrzyj tutaj:
-FAQ: http://www.classicshell.net/faq/
- -
-Jeśli nie znalazłeś odpowiedzi na swoje pytanie w FAQ, sprbuj uzyskać odpowiedź na forum dyskusyjnym:
-Forum dyskusyjne: http://www.classicshell.net/forum/viewforum.php?f=6
- -
-
-

Zgłaszanie problemw

-Zgłoś błędy i propozycje nowych funkcji na forum opracowywania produktu:
-Forum opracowywania produktu: http://www.classicshell.net/forum/viewforum.php?f=11
- - diff --git a/Src/Localization/Polish/Main.html b/Src/Localization/Polish/Main.html deleted file mode 100644 index 5e444c4..0000000 --- a/Src/Localization/Polish/Main.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - Open-Shell - -

Strona internetowa Open-Shell  Open-Shell

-Wersja 4.3.1 – wydanie ogólne

-

Czym jest Open-Shell?

-Open-Shell™ jest zbiorem funkcji zwiększających użyteczność systemu Windows. Program -posiada konfigurowalne menu Start i przycisk Start, dodaje -pasek narzędzi do Eksploratora Windows i wspiera wiele innych funkcji.
-
-
-

Wymagania systemowe

-Open-Shell działa z Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 i Windows Server 2012 R2. Program obsługuje 32 i 64-bitowe wersje systemu (instalator działa na obu wersjach). Niektóre karnacje dla menu Start wymagają włączonego Aero. Inne wymagają co najmniej podstawowej kompozycji.
-
-
-

Składniki


- -Open-Shell składa się z trzech głównych składników: -
-

Dezinstalacja

-Aby zdeinstalować Open-Shell przejdź do Panelu sterowania -> Programy i funkcje.
Innym sposobem jest uruchomienie Instalatora programu i wybranie "Usuń".
-Zakończenie procesu może wymagać wylogowania.
-
- diff --git a/Src/Localization/Polish/Menu.html b/Src/Localization/Polish/Menu.html deleted file mode 100644 index 04ffcd6..0000000 --- a/Src/Localization/Polish/Menu.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - - - - - - Open-Shell Menu - -

Open-Shell website  -Open-Shell Menu


-Open-Shell Menu
-jest elastycznym menu startowym, które może naśladować zachowanie menu w systemie Windows 2000, XP i Windows 7. Posiada wiele zaawansowanych funkcji: -
    - -
  • Umożliwia wybór między stylem “Klasycznym” a “Windows 7”
    -
  • -
  • Funkcja przeciągnij i upuść pozwala uporządkować aplikacje
  • - -
  • Opcje wyświetlania Ulubionych, rozwijania Panelu sterowania i itp.
  • -
  • Pokazuje ostatnio używane dokumenty. Ilość wyświetlanych dokumentów jest konfigurowalna
  • -
  • Program został przetłumaczony na 35 języków i obsługuje czytanie od prawej do lewej -dla języków arabskiego i hebrajskiego
  • -
  • Nie wyłącza oryginalnego menu Start w systemie Windows. Można uzyskać do niego dostęp przez Shift + kliknięcie na przycisk start
  • -
  • Kliknięcie prawym przyciskiem myszy na pozycji w menu umożliwia usunięcie, zmianę nazwy, sortowanie, lub -wykonywanie innych zadań
  • -
  • Pole wyszukiwania umożliwia wyszukiwanie programów i plików bez używania do tego skrótów klawiaturowych
  • -
  • Obsługuje listy szybkiego dostępu w celu uzyskania łatwego dostępu do najnowszych dokumentów i wspólnych zadań
  • -
  • Dostępny dla 32 i 64-bitowych systemów operacyjnych
  • -
  • Umożliwia obsługę karnacji, w tym dodatkowych karnacji innych firm . Wykonaj własne karnacje!
  • -
  • W pełni konfigurowalne funkcje jak i wygląd
  • -
  • Wsparcie dla programu Microsoft Active Accessibility (aktywne ułatwienie dostępu)
  • -
  • Przekształca przycisk “Wszystkie programy” w menu Windows na menu kaskadowe
  • -
  • Wdraża konfigurowalny przycisk start
    -
  • -
  • Można wyświetlać, wyszukiwać i uruchamiać aplikacje Windows Store (Windows 8)
  • - - - - -
  • I ostatnie, ale nie mniej ważne – to nic nie kosztuje!
  • -

-

Style

-Menu start oferuje do wyboru 3 style.
-

1) Styl klasyczny z jedną kolumną

-
-
-Ten styl jest podobny do menu dostępnego w Windows 2000. Posiada jedną kolumnę w menu głównym z pionowym tekstem. Można dostosować kolejność elementów, ikony i tekst.
- -Programy, listy szybkiego dostępu i wyniki wyszukiwania wyświetlane są jako kaskadowe podmenu.
- -
-

2) Styl klasyczny z dwiema kolumnami

-
-
-Ten styl jest podobny do menu Windows XP. Są dwie kolumny -gdzie można rozmieścić pozycje menu. Dostosować kolejność, ikony i -tekst.
-Programy, listy szybkiego dostępu i wyniki wyszukiwania wyświetlane są jako kaskadowe podmenu.
-
-

3) Styl Windows 7
-

-
-
-Ten styl jest podobny do menu Windows Vista i Windows 7. Pozycje w pierwszej kolumnie są predefiniowane do przypiętych i niedawno używanych programów, -listy wszystkie programy i pola wyszukiwania. Pozycje w drugiej -kolumnie są w pełni konfigurowalne.
-Listy szybkiego dostępu i wyniki wyszukiwania wyświetlane są wewnątrz głównego menu. Programy mogą być wewnątrz głównego menu lub otwarte jako kaskadowe podmenu.
-Ten styl oferuje mniej opcji dostosowywania niż style klasyczne, ale -ma wygląd i działanie bardziej znane ludziom, którzy używali Windows 7.
-
-
-

Operacje

-Jeśli korzystałeś z menu Start w starszych wersjach systemu Windows, będziesz czuć się jak w domu:
- - - -

-Naciśnij klawisz Windows lub kliknij ikonę w rogu ekranu, aby otworzyć menu Start.

-

-Przytrzymaj wciśnięty klawisz Shift podczas klikania na ikonę, aby uzyskać dostęp do menu start własnego systemu operacyjnego. -

-

-Kliknij na element, aby go uruchomić. -

-

-Przeciągnij program, aby zmienić kolejność w menu programy, lub -przenieść go do innego folderu. -

-

-Kliknij prawym przyciskiem myszy na elemencie, aby zmienić jego nazwę, usunąć go, eksplorować go, sortować menu lub wykonać inne zadania.

-

-Kliknij prawym przyciskiem myszy na ikonę menu Start, aby edytować ustawienia Open-Shell Menu, wyświetlić plik pomocy, lub -zakończyć pracę programu.
-

-


- -

- -

-Ustawienia

Kliknij prawym przyciskiem myszy na przycisk Start, aby uzyskać dostęp do ustawień:
- - -
-
-Można wybrać tylko widok podstawowych ustawień, lub wszystkich dostępnych -ustawień. Umieszczając wskaźnik myszy nad każdym ustawieniem, można zobaczyć jego krótki opis. Wpisując w polu wyszukiwania nazwę ustawienia, wyszukasz je według nazwy.
- -Każde ustawienie ma wartość domyślną. Wartość domyślna może być stała, -lub może zależeć od bieżących ustawień systemowych. Po modyfikacji to -ustawienie staje się "zmodyfikowanym" i jest wyświetlane pogrubioną czcionką. Aby powrócić do -wartość domyślnej, kliknij prawym przyciskiem myszy na ustawienie.
-
- -Można zapisać ustawienia do pliku XML, a później załadować je z powrotem. -Naciskając przycisk Kopia zapasowa uzyskasz dostęp do tych funkcji. Stamtąd można -także zresetować wszystkie ustawienia do ich wartości domyślnych.
- - -
- -Większość ustawień zmienia się natychmiast podczas ich modyfikacji. Na przykład -można zmodyfikować menu Start, a następnie gdy jest otwarte okno dialogowe Ustawienia, przejść do menu Start, aby zobaczyć wprowadzone zmiany. Niewielka liczba ustawień będzie -wymagać ponownego uruchomienia Menu start, aby wprowadzić dokonane zmian
- -
- - -Uwaga: Okno Wszystkie ustawienia jest skalowalne. Można zmieniać jego rozmiary i umieszczać w wybranym położeniu. Okno zapamięta swoją nową pozycję.
- - -
-Kliknij na zakładkę Dostosuj menu Start, aby dostosować elementy menu. W zależności od używanego stylu zobaczysz różne interfejsy użytkownika.
-
-W stylach klasycznych można dostosować zarówno kolumny w menu start jak i tworzone podmenu. W lewej kolumnie wyświetlane są aktualne pozycje w menu zaś w prawej kolumnie wyświetlane są wszystkie dostępne elementy menu. Przeciągnij element z prawej do lewej kolumny, aby dodać go do menu.
-
-
-
-W stylu Windows 7 można modyfikować tylko elementy będące w drugiej kolumnie i brak jest podmenu.
-
-
-

-Kliknij dwukrotnie ikonę elementu, aby edytować jego właściwości:
-
-
-
-Tutaj można wybrać polecenie dla elementu, jego tekst, ikonę i inne atrybuty. Naciśnij przycisk Przywróć domyślne, aby uzyskać domyślny tekst i ikonę dla wybranego polecenia.
-
-Poleceniem może być:
- -
    -
  • jedno z predefiniowanych poleceń - z rozwijanej listy
  • niestandardowy ciąg wykonywalny -- może to być nazwa programu i jego argumenty, a nawet adres URL (np. http://www.google.com). Zmienne środowiskowe, takie jak %SystemRoot% są obsługiwane
  • pozostawiono puste - jeśli jest stosowany atrybut łącze, to będzie działać jako polecenie
    -
  • -
-Łącze może być ścieżką do pliku lub folderu. Jeśli jest to plik, plik zostanie wykonany. Jeśli to jest folder, folder zostanie otworzony w podmenu. Niektóre pozycje menu (takie jak Programy i Ulubione) mają niejawny atrybut łącza, więc dla nich pole Łącze zostanie wyłączone.
- -
- -Ikoną może być:
- -
    -
  • pozostawiono puste - jeśli atrybut łącza wskazuje na plik lub folder, to zostanie użyta ikona pliku lub folderu
    -
  • plik zasobów, ID ikony - na przykład %windir%\notepad.exe,2. Nie należy pozostawiać spacji między nazwą pliku a przecinkiem. Upewnij się, że używasz identyfikatora zasobu ikony, a nie indeksu ikony. Aby uzyskać najlepsze rezultaty należy użyć przycisku [...] umieszczonego przy polu Ikona
    -
  • ID ikony - jak wyżej, ale plikiem zasobów jest StartMenuDLL.dll. Jest to przydatne, gdy odnosi się do ikon własnych menu Start
    -
  • plik ikony -  na przykład C:\Program Files\Mozilla Thunderbird\Email.ico
  • brak - zostanie użyta pusta ikona
  • -
-Jeżeli atrybut etykiety lub porady rozpoczyna się znakiem $ (znak dolara), wtedy system będzie traktować go jako nazwę ciągu w pliku StartMenuL10N.ini. Rzeczywisty tekst zależy od bieżącego ustawienia języka. Jest to przydatne podczas tworzenia menu, które może być używane przez wiele języków.
-
-Jeśli zaznaczysz pole wyboru "Wstaw podpozycje jako przyciski", zamiast wyświetlenia samej pozycji menu, menu start pokaże podelementy jako rząd przycisków. Domyślnie przyciski są wyśrodkowane. Można wyrównać je do lewej dodając separator jako ostatnią pozycję, lub wyrównać je do prawej poprzez dodanie separatora jako pierwszą pozycję. Jednym z możliwych zastosowań jest zastąpienie menu zamykania systemu z oddzielnymi przyciskami Zamknij, Uruchom ponownie, Wyloguj, itp.
-
-

Ustawienia administracyjne

-Ustawienia dotyczą poszczególnych użytkowników i przechowywane są w rejestrze. Domyślnie każdy użytkownik może edytować -wszystkie swoje ustawienia. Administrator może zablokować określone ustawienia, więc żaden użytkownik nie będzie mógł ich edytować:
-
-
-
-W tym przykładzie ustawienie "Włącz menu kontekstowe" jest zablokowane, tak aby pole wyboru zawsze -było odznaczone i nie mogło być zmienione przez dowolnego użytkownika. Osiąga się to przez -dodanie odpowiednich ustawień w kluczu rejestru HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\Menu. Należy utworzyć wartość DWORD o nazwie "EnableContextMenu" i ustawić jej wartość na 0.
-
-W niektórych przypadkach możesz nie chcieć zablokować wartości dla wszystkich użytkowników, ale -jedynie chcesz zmienić początkową wartość ustawienia. W takim przypadku należy dodać -"_Default" do nazwy wartości. Na przykład, aby menu kontekstowe -było domyślnie wyłączone, ale użytkownicy mieli nadal możliwość włączenia go, -gdy tego chcą, należy utworzyć wartość DWORD o nazwie "EnableContextMenu_Default" -i ustawić jej wartość na 0.
-
-Najprostszym sposobem poznania nazwy ustawienia i jego wartości w rejestrze, które chcesz zmodyfikować, jest odszukanie go w kluczu HKEY_CURRENT_USER\Software\OpenShell\StartMenu\Settings.
- -Czasem możesz chcieć zablokować wartość domyślną ustawienia, ale nie znasz jej wartości. W takim przypadku utwórz wartość DWORD i ustaw jej wartość na 0xDEFA.
- -
- -Istnieje również ustawienie globalne "EnableSettings". Ustawienie jego wartości na 0 w rejestrze blokuje użytkownikom możliwość otworzenia okna dialogowego Ustawienia:
-
-
-
-Menu start sprawdza również większość zasad grupy, ustawianych przez administratora. Uruchom gpedit.msc i przejdź do Konfiguracja użytkownika -> Szablony administracyjne -> Menu Start i pasek zadań. Można stamtąd wyłączyć Uruchom, Zamknij, Pomoc i inne funkcje. (Niedostępne w wersjach Home systemu Windows).
-
-Edycja ustawień za pomocą zasad grupy jest również obsługiwana. Rozpakuj plik PolicyDefinitions.zip znajdujący się w folderze instalacji i przeczytaj dokument PolicyDefinitions.rtf, aby uzyskać więcej informacji.
-
-
-

Karnacje

-Można wybrać jedną z wielu zainstalowanych karnacji:
-
-Skins for Open-Shell Menu
-
Lub można pobrać i zainstalować dodatkowe karnacje innych firm (z głównej strony internetowej lub z innego miejsca). Po pobraniu nowej karnacji należy skopiować plik .skin do katalogu Skins – z reguły do C:\Program -Files\Open-Shell\Skins. Po tym karnacja będzie dostępna w ustawieniach.
-
-Uwaga: Niektóre karnacje mogą być specjalnie zaprojektowane dla -trybu Klasycznego, Podstawowego, lub Aero. Na przykład karnacja Aero może wymagać -obsługi dowolnego szkła i będzie wyglądać dziwnie, jeśli jest -wybrany motyw Klasyczny lub Podstawowy. Niektóre karnacje Aero mogą również wymagać wybrania określonego koloru szkła.
-
-Można utworzyć własną karnację. Do tego będzie potrzebny edytora obrazów, który -obsługuje kanał alfa (np. Gimp lub Photoshop) oraz narzędzie do edycji -plików zasobów (jak Resource Hacker lub Visual Studio). I oczywiście posiadanie -talentu projektowania graficznego.
Przed rozpoczęciem przeczytaj Samouczek tworzenia karnacji.
-
-

-

Wyszukiwanie


-
- Pole wyszukiwania umożliwia wyszukiwanie w zawartości menu Start, -programów o zmiennej środowiskowej PATH i w indeksowanych plikach. Pole wyszukiwania może być -wyświetlane jako normalny element menu i można przejść do niego za pomocą -klawiszy strzałek góra/dół. Można wybrać, aby domyślnie pole wyszukiwania było -aktywne po otwarciu menu start. Można też wybrać, aby pole wyszukiwania było dostępne -tylko za pomocą klawisza Tab, więc do momentu naciśnięcia Tab można używać -klawiatury do nawigacji, jako że pola wyszukiwania nie ma.
-
-Wyniki wyszukiwania wyświetlane są w menu głównym, jeśli używasz stylu Windows 7 lub w podmenu w stylach klasycznych.
-Kliknij kategorię, aby ją rozwinąć i wyświetlić więcej wyników. Kliknij ikonę na końcu, aby wyświetlić wszystkie wyniki w Eksploratorze.
-
-Style klasyczne umożliwiają używanie dodatkowych wyszukiwarek, które można wykorzystać do -wyszukiwania tekstu przy pomocy pola wyszukiwania. Program wyszukiwarki można uruchomić -wybierając go z menu, lub -naciskając Alt+klawisz. W tym przykładzie, aby uruchomić Agent Ransack należy użyć Alt+A.
-
-
-
-Odbywa się to poprzez dodanie podelementu do pola wyszukiwania w zakładce Dostosuj menu Start:
-
-
-
-Otwórz każdy z podelementów i wprowadzić polecenie, aby uruchomić program wyszukiwarki. Jeśli użyjesz %1 w poleceniu, zostanie ono zastąpione przez zawartość pola wyszukiwania. Jeśli użyjesz %2 -zostanie ono zastąpione przez zakodowany tekst wyszukiwania adresu url. Wprowadź etykietę, poradę i ikonę, aby zakończyć wpis w menu. W tekście etykiety można użyć &, aby zaznaczyć literę akceleratora (na przykład &Agent Ransack).
-
-Oto kilka możliwych poleceń:
-Szukaj z Agent Ransack: "C:\Program Files\Agent Ransack\AgentRansack.exe" -r -f "%1"
-Szukaj z Everything: "C:\Program Files\Everything\Everything.exe" -search "%1"
-Szukaj z Google: http://www.google.com/#q=%2
-Szukaj z Bing: http://www.bing.com/search?q=%2
-
-
-

Niestandardowy przycisk Start
-

Open-Shell może dodać swój własny przycisk Start na pasku zadań. On może -zastąpić nawet domyślny przycisk Start w Windows 7. Można wybrać "muszelkę" -ze stylu Aero, klasyczny prostokątny przycisk, lub -można utworzyć własny. Dla niestandardowego przycisku Start potrzebny jest obraz, który -będzie zawierał 3 stany przycisku - normalny, gorący i wciśnięty:
-
-Start button images
-
-Obraz musi być 32-bitowym PNG lub BMP. Domyślnie szerokość -obrazu określa rozmiar przycisku. Rozmiar przycisku można zmienić przez -wprowadzenie niestandardowej szerokości.
-W internecie można znaleźć wiele obrazów niestandardowych przycisków Start. Oto kilka przykładów:
-http://www.classicshell.net/forum/viewforum.php?f=18
-http://www.sevenforums.com/themes-styles/34951-custom-start-menu-button-collection.html
-
http://www.sevenforums.com/customization/78291-big-group-custom-start-orbs.html
-http://tutoriales13.deviantart.com/art/Orbs-153450418
-
-
-

Lokalizacja językowa programu

- -Interfejs użytkownika (z wyjątkiem okna dialogowego Ustawienia) jest przetłumaczony na 35 -języki.
- -Okno dialogowe Ustawienia jest przetłumaczone na mniejszą liczbę języków. -Domyślna instalacja jest dostępna tylko w języku angielskim. Inne języki można -pobrać ze strony tłumaczenia. Upewnij się, pobierasz pakiet tłumaczenia zgodny z posiadaną wersją programu Open-Shell.
- - -
-

Wiersz polecenia

-StartMenu.exe obsługuje 5 parametrów wiersza poleceń: -open, -toggle, -togglenew, -exit i -settings.
-
-Dwa pierwsze wykonują to, co sugeruje nazwa. Pierwszy otwiera klasyczne menu start, drugi przełącza je. Można używać parametrów, aby utworzyć skrót na pasku szybkiego uruchamiania, który otwiera menu start, lub ustawić klawisz szybkiego dostępu do programów takich jak WinKey.
-
-Trzeci "-togglenew" przełącza domyślne menu Start systemu Windows (lub ekran startowy). Jest to przydatne, gdy chce się utworzyć skrót lub klawisz szybkiego dostępu, aby otwierać domyślne menu i używać klawisza Win dla klasycznego menu.
-
-Użyj "-exit", aby zakończyć pracę programu Menu Start. Komenda ta działa tylko wtedy, gdy menu start nie jest obecnie zajęte.
-
-Użyj "-settings", aby otworzyć ustawienia Menu Start. Jest to przydatne, aby utworzyć skrót do edycji ustawień.
-
-
-

Ułatwienia dostępu

Menu Start obsługuje czytniki ekranu jak JAWS lub Microsoft Narrator. Jeśli obsługa dostępności sprawia problemy można ją wyłączyć w Ustawieniach w karcie Zachowanie.
- -
- diff --git a/Src/Localization/Polish/MenuADMX.txt b/Src/Localization/Polish/MenuADMX.txt deleted file mode 100644 index afcf5d9..0000000 --- a/Src/Localization/Polish/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Ustawienia Open-Shell -State.text = Stan: -State1.text = Zablokowano na tej wartości -State2.text = Zablokowano na domyślnej -State3.text = Odblokowany -State1Help.text = Jeśli ustawisz stan na 'Zablokowano na tej wartości', ustawienie zostanie zablokowane na określonej wartości dla wszystkich użytkowników. -State2Help.text = Jeśli ustawisz stan na 'Zablokowano na domyślnej', ustawienie zostanie zablokowane na wartości domyślnej dla wszystkich użytkowników. Określona wartość jest ignorowana. -State3Help.text = Jeśli ustawisz stan na 'Odblokowano', domyślna wartość ustawienia zostanie zmieniona na określoną wartość. Poszczególni użytkownicy będą mogli zmienić to ustawienie. - -MenuCat.text = Open-Shell Menu -MenuCatHelp.text = Open-Shell Menu ustawienia zasad grupy -SUPPORTED_CS404.text = Wymaga Open-Shell 4.0.4 lub nowszego. -SUPPORTED_CS404_WIN7.text = Wymaga Windows 7. -SUPPORTED_CS404_WIN78.text = Wymaga Windows 7 lub Windows 8. -SUPPORTED_CS404_WIN781.text = Wymaga Windows 7 lub Windows 8.1. -SUPPORTED_CS404_WIN8.text = Wymaga Windows 8. -SUPPORTED_CS404_WIN881.text = Wymaga Windows 8 lub Windows 8.1. -SUPPORTED_CS404_WIN81.text = Wymaga Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Wymaga menu w stylu klasycznym z jedną kolumną. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Wymaga menu w stylu klasycznym z dwiema kolumnami. -SUPPORTED_CS404_CLASSIC_STYLE.text = Wymaga menu w stylu klasycznym. -SUPPORTED_CS404_WIN7_STYLE.text = Wymaga menu stylu Windows 7. - - -EnableSettings.nameOverride = Włącz ustawienia -EnableSettings.tipOverride = Umożliwia użytkownikom edycję własnych ustawień - -MenuStyle.nameOverride = Styl menu -MenuStyle.tipOverride = Wybierz styl menu Start.\nStyl określa ogólny wygląd i funkcjonalność menu. -MenuStyle_Classic1.nameOverride = Klasyczny z jedną kolumną -MenuStyle_Classic2.nameOverride = Klasyczny z dwiema kolumnami -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Kliknięcie LPM otwiera -ShiftClick.nameOverride = Shift+kliknięcie otwiera -WinKey.nameOverride = Klawisz Windows otwiera -ShiftWin.nameOverride = Shift+Win otwiera -MiddleClick.nameOverride = Kliknięcie ŚPM otwiera -Hover.nameOverride = Aktywowanie otwiera - -; skins -SkinC1.nameOverride = Karnacja dla klasycznego menu z jedną kolumną -SkinC1.tipOverride = Wybierz karnację, która będzie używana w stylu klasycznym z jedną kolumną -SkinVariationC1.nameOverride = Odmiany karnacji dla klasycznego menu z jedną kolumną -SkinVariationC1.tipOverride = Wybierz odmianę karnacji, która będzie używana w stylu klasycznym z jedną kolumną (dla karnacji, które obsługują wiele odmian) -SkinOptionsC1.nameOverride = Opcje karnacji klasycznego menu z jedną kolumną -SkinOptionsC1.tipOverride = Wybierz opcje karnacji, która będzie używana w stylu klasycznym z jedną kolumną.\nOpcje są listą liczb szesnastkowych. Najlepszym sposobem jest dostosowanie tych opcji w oknie dialogowym Ustawienia Open-Shell Menu, a następnie sprawdzenie wartości o nazwie SkinOptionsC1 w HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Pozycje menu w klasycznym menu z jedną kolumną -MenuItems1.tipOverride = Wybierz pozycje menu, które będą używane w stylu klasycznym z jedną kolumną.\nNajlepszym sposobem, aby uzyskać prawidłowy ciąg jest skonfigurowanie elementów w oknie dialogowym Ustawienia Open-Shell Menu, a następnie sprawdzenie wartości o nazwie MenuItems1 w HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Karnacja dla klasycznego menu z dwiema kolumnami -SkinC2.tipOverride = Wybierz karnację, która będzie używana w stylu klasycznym z dwiema kolumnami -SkinVariationC2.nameOverride = Odmiany karnacji dla klasycznego menu z dwiema kolumnami -SkinVariationC2.tipOverride = Wybierz odmianę karnacji, która będzie używana w stylu klasycznym z dwiema kolumnami (dla karnacji, które obsługują wiele odmian) -SkinOptionsC2.nameOverride = Opcje karnacji klasycznego menu z dwiema kolumnami -SkinOptionsC2.tipOverride = Wybierz opcje karnacji, która będzie używana w stylu klasycznym z dwiema kolumnami.\nOpcje są listą liczb szesnastkowych. Najlepszym sposobem jest dostosowanie tych opcji w oknie dialogowym Ustawienia Open-Shell Menu, a następnie sprawdzenie wartości o nazwie SkinOptionsC2 w HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Pozycje menu w klasycznym menu z dwiema kolumnami -MenuItems2.tipOverride = Wybierz pozycje menu, które będą używane w stylu klasycznym z dwiema kolumnami.\nNajlepszym sposobem, aby uzyskać prawidłowy ciąg jest skonfigurowanie elementów w oknie dialogowym Ustawienia Open-Shell Menu, a następnie sprawdzenie wartości o nazwie MenuItems2 w HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Karnacja dla stylu Windows 7 -SkinW7.tipOverride = Wybierz karnację, która będzie używana w stylu Windows 7 -SkinVariationW7.nameOverride = Odmiany karnacji dla stylu Windows 7 -SkinVariationW7.tipOverride = Wybierz odmianę karnacji, która będzie używana w stylu Windows 7 (dla karnacji, które obsługują wiele odmian) -SkinOptionsW7.nameOverride = Opcje karnacji stlu Windows 7 -SkinOptionsW7.tipOverride = Wybierz opcje karnacji, która będzie używana w stylu Windows 7.\nOpcje są listą liczb szesnastkowych. Najlepszym sposobem jest dostosowanie tych opcji w oknie dialogowym Ustawienia Open-Shell Menu, a następnie sprawdzenie wartości o nazwie SkinOptionsW7 w HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Pozycje menu w stylu Windows 7 -MenuItems7.tipOverride = Wybierz pozycje menu, które będą używane w stylu Windows 7.\nNajlepszym sposobem, aby uzyskać prawidłowy ciąg jest skonfigurowanie elementów w oknie dialogowym Ustawienia Open-Shell Menu, a następnie sprawdzenie wartości o nazwie MenuItems7 w HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Karnacja podmenu Wszystkie programy dla menu Start Windows 7 -SkinA.tipOverride = Wybierz karnację, która będzie używana przez podmenu Wszystkie programy w menu Start Windows 7 -SkinVariationA.nameOverride = Odmiany karnacji podmenu Wszystkie programy dla menu Start Windows 7 -SkinVariationA.tipOverride = Wybierz odmianę karnacji, która będzie używana przez podmenu Wszystkie programy w menu Start Windows 7 (dla karnacji, które obsługują wiele odmian) -SkinOptionsA.nameOverride = Opcje karnacji podmenu Wszystkie programy dla menu Start Windows 7 -SkinOptionsA.tipOverride = Wybierz opcje karnacji, która będzie używana przez podmenu Wszystkie programy w menu Start Windows 7.\nOpcje są listą liczb szesnastkowych. Najlepszym sposobem jest dostosowanie tych opcji w oknie dialogowym Ustawienia Open-Shell Menu, a następnie sprawdzenie wartości o nazwie SkinOptionsA w HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = To ustawienie nie działa w Windows 8.1. Należy użyć wbudowanego ustawienia systemu Windows, aby podczas uruchamiania przechodzić do Pulpitu - -; hidden -FolderStartMenu.nameOverride = Folder menu Start -FolderStartMenu.tipOverride = Wprowadź zastąpienie folderu menu Start dla poszczególnych użytkowników (zastępuje również folder Programy dla poszczególnych użytkowników).\nŚcieżka może zawierać zmienne środowiskowe.\nUwaga: To ustawienie nie jest edytowalne w oknie dialogowym Ustawienia -FolderPrograms.nameOverride = Folder Programy -FolderPrograms.tipOverride = Wprowadź zastąpienie folderu Programy dla poszczególnych użytkowników.\nŚcieżka może zawierać zmienne środowiskowe.\nUwaga: To ustawienie nie jest edytowalne w oknie dialogowym Ustawienia -FolderCommonStartMenu.nameOverride = Wspólny folder menu Start -FolderCommonStartMenu.tipOverride = Wprowadź zastąpienie wspólnego folderu menu Star (zastępuje również wspólny folder Programy).\nŚcieżka może zawierać zmienne środowiskowe.\nUwaga: To ustawienie nie jest edytowalne w oknie dialogowym Ustawienia -FolderCommonPrograms.nameOverride = Wspólny folder Programy -FolderCommonPrograms.tipOverride = Wprowadź zastąpienie wspólnego folderu Programy.\nŚcieżka może zawierać zmienne środowiskowe.\nUwaga: To ustawienie nie jest edytowalne w oknie dialogowym Ustawienia -AutoStartDelay.nameOverride = Opóźnienie autouruchamiania -AutoStartDelay.tipOverride = Wprowadź opóźnienie automatycznego uruchamiania menu start w ms podczas logowania (nie ma zastosowania w przypadku ręcznego uruchamiania StartMenu.exe).\nUwaga: To ustawienie nie jest edytowalne w oknie dialogowym Ustawienia - -; other -StartButtonIcon.tipAddition = Wartością może być ścieżką do pliku ICO lub ścieżką do EXE / DLL oraz identyfikatora ikony -StartButtonPath.tipAddition = Wartością jest pełna ścieżka do pliku BMP lub PNG -SoundMain.tipAddition = Wartością może być nazwa zdarzenia systemowego lub ścieżka do pliku WAV -SoundPopup.tipAddition = Wartością może być nazwa zdarzenia systemowego lub ścieżka do pliku WAV -SoundCommand.tipAddition = Wartością może być nazwa zdarzenia systemowego lub ścieżka do pliku WAV -SoundDrop.tipAddition = Wartością może być nazwa zdarzenia systemowego lub ścieżka do pliku WAV -ExpandFolderLinks.tipAddition = Działa tylko dla łączy symbolicznych (takich jak połączenia), a nie dla zwykłych skrótów -StartHoverDelay.nameOverride = Opóźnienie aktywowania (przycisku Start) -AllProgramsDelay.nameOverride = Opóźnienie aktywowania (Wszystkie programy w Windows 7) -CSMHotkey.tipAddition = .\n\nWartością bazową jest wirtualny kod klawiszy głównych . Dodaj 256 dla Shift, 512 dla Control i 1024 dla Alt.\nNajlepszym sposobem, aby uzyskać wartość jest wybranie klawisza skrótu w oknie dialogowym Ustawienia Open-Shell Menu, a następnie sprawdzenie wartości o nazwie CSMHotkey w HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\nWartością bazową jest wirtualny kod klawiszy głównych. Dodaj 256 dla Shift, 512 dla Control i 1024 dla Alt.\nNajlepszym sposobem, aby uzyskać wartość jest wybranie klawisza skrótu w oknie dialogowym Ustawienia Open-Shell Menu, a następnie sprawdzenie wartości o nazwie WSMHotkey w HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/Polish/OpenShell.hhp b/Src/Localization/Polish/OpenShell.hhp deleted file mode 100644 index f9e0308..0000000 --- a/Src/Localization/Polish/OpenShell.hhp +++ /dev/null @@ -1,16 +0,0 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=OpenShell.chm -Contents file=OpenShellTOC.hhc -Default topic=Main.html -Display compile progress=Yes -Language=0x415 Polish (Poland) - - -[FILES] -ClassicExplorer.html -Menu.html -ClassicIE.html - -[INFOTYPES] - diff --git a/Src/Localization/Polish/OpenShellADMX.txt b/Src/Localization/Polish/OpenShellADMX.txt deleted file mode 100644 index fe70854..0000000 --- a/Src/Localization/Polish/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Ustawienia Open-Shell -State.text = Stan: -State1.text = Zablokowano na tej wartości -State2.text = Zablokowano na domyślnej -State3.text = Odblokowany -State1Help.text = Jeśli ustawisz stan na 'Zablokowano na tej wartości', ustawienie zostanie zablokowane na określonej wartości dla wszystkich użytkowników. -State2Help.text = Jeśli ustawisz stan na 'Zablokowano na domyślnej', ustawienie zostanie zablokowane na wartości domyślnej dla wszystkich użytkowników. Określona wartość jest ignorowana. -State3Help.text = Jeśli ustawisz stan na 'Odblokowano', domyślna wartość ustawienia zostanie zmieniona na określoną wartość. Poszczególni użytkownicy będą mogli zmienić to ustawienie. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Open-Shell ustawienia zasad grupy -SUPPORTED_CS404.text = Wymaga Open-Shell 4.0.4 lub nowszego. - -Language.nameOverride = Język komponentów Open-Shell -Language.tipOverride = Wybierz język, który będzie używany przez Open-Shell (np. en-US lub de-DE). Język wpłynie na tekst w menu Start, paskach narzędzi, itp. Jeśli jest zainstalowana odpowiednia biblioteka DLL języka, ustawienia interfejsu użytkownika mogą być również tłumaczone -Update.nameOverride = Włącz automatyczne sprawdzanie dostępności nowej wersji -Update.tipOverride = Gdy pole jest zaznaczone, Open-Shell sprawdza dostępność nowej wersji co tydzień. Zostaniesz powiadomiony, jeśli jest dostępna nowa wersja oprogramowania Open-Shell lub nowa aktualizacja dla aktualnie używanego języka diff --git a/Src/Localization/Polish/OpenShellEULA.rtf b/Src/Localization/Polish/OpenShellEULA.rtf deleted file mode 100644 index 48dc58d..0000000 Binary files a/Src/Localization/Polish/OpenShellEULA.rtf and /dev/null differ diff --git a/Src/Localization/Polish/OpenShellReadme.rtf b/Src/Localization/Polish/OpenShellReadme.rtf deleted file mode 100644 index 8d56f37..0000000 --- a/Src/Localization/Polish/OpenShellReadme.rtf +++ /dev/null @@ -1,103 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset0 Calibri;}{\f2\fswiss\fprq2\fcharset238 Calibri CE;}{\f3\froman\fprq2\fcharset0 Times New Roman;}{\f4\fnil\fcharset238 Arial;}{\f5\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;\red0\green0\blue0;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52 Open-Shell\par - -\pard\widctlpar\cf0\expndtw0\b0\i0\par -\f2 Dzi\'eakujemy za zainstalowanie \cf3\b\f1 Open-Shell\'99\cf0\b0 . \f2 Program dodaje niekt\'f3re brakuj\'b9ce funkcje w systemie Windows 7\f1 , Windows 8, Windows 8.1 i Windows 10\f2 - jak w klasyczne menu Start, przycisk Start, pasek narz\'eadzi Eksploratora Windows i inne.\f1\par -\par -\f2 Najnowsz\'b9 wersj\'ea mo\'bfna znale\'9f\'e6 na stronie internetowej Open-Shell:\f1\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f1\fs22\par -\par -\f2 Aby uzyska\'e6 odpowiedzi na najcz\'ea\'9cciej zadawane pytania zajrzyj tutaj:\par -{\f1{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f1\fs22\par -\par -Skorzystaj z forum dyskusyjnego\f2 , aby uzyska\'e6 pomoc\f1 :\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f1\fs22\par -\par -\f2 Zg\'b3o\'9c b\'b3\'eady i propozycje nowych funkcji\f1 na forum opracowywania produktu:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f1\fs22\par -\par -\cf3\b\fs28 Open-Shell Menu\par -\cf0\b0\fs22\par - -\pard{\pntext\f5\'B7\tab}{\*\pn\pnlvlblt\pnf5\pnindent363{\pntxtb\'B7}}\widctlpar\fi-357\li714\cf3\b\lang1045 Open-Shell Menu\cf0 \b0\f2 jest elastycznym menu startowym, kt\'f3re mo\'bfe na\'9cladowa\'e6 zachowanie menu w systemie Windows 2000, XP i Windows 7. Posiada wiele zaawansowanych funkcji\f1 :\par -{\pntext\f5\'B7\tab}\f2 Umo\'bfliwia wyb\'f3r mi\'ead\f1 zy stylem \ldblquote Klasycznym\rdblquote a \ldblquote Windows 7\f3\rdblquote\f1\par -{\pntext\f5\'B7\tab}\f2 Funkcja przeci\'b9gnij i upu\'9c\'e6 pozwala uporz\'b9dkowa\'e6 aplikacje \par -{\pntext\f5\'B7\tab}Opcje wy\'9cwietlania Ulubionych, rozwijania Panelu sterowania i itp. \par -{\pntext\f5\'B7\tab}Pokazuje ostatnio u\'bfywane dokumenty. Ilo\'9c\'e6 wy\'9cwietlanych dokument\'f3\f1 w jest konfigurowalna \par -{\pntext\f5\'B7\tab}\f2 Program zosta\'b3 przet\'b3umaczony na 35 j\'eazyk\'f3w i obs\'b3uguje czytanie od prawej do lewej dla j\'eazyk\'f3w arabskiego i hebrajskiego \par -{\pntext\f5\'B7\tab}Nie wy\'b3\'b9cza oryginalnego menu Start w systemie Windows. Mo\'bfna uzyska\'e6 do niego dost\'eap przez Shift + klikni\f4\'ea\f2 cie na przycisk start \par -{\pntext\f5\'B7\tab}Klikni\'eacie prawym przyciskiem myszy na pozycji w menu umo\'bfliwia usuni\'eacie, zmian\'ea nazwy, sortowanie, lub wykonywanie innych zada\'f1 \par -{\pntext\f5\'B7\tab}Pole wyszukiwania umo\'bfliwia wyszukiwanie program\'f3w i plik\'f3w bez u\'bfywania do tego skr\'f3t\'f3\f1 w klawiaturowych \par -{\pntext\f5\'B7\tab}\f2 Obs\'b3uguje listy szybkiego dost\'eapu w celu uzyskania \'b3atwego dost\'eapu do najnowszych dokument\'f3w i wsp\'f3lnych zada\'f1 \par -{\pntext\f5\'B7\tab}Dost\'eapny dla 32 i 64-bitowych system\'f3w operacyjnych \par -{\pntext\f5\'B7\tab}Umo\'bfliwia obs\'b3ug\'ea karnacji, w tym dodatkowych karnacji innych firm . Wykonaj w\'b3asne karnacje! \par -{\pntext\f5\'B7\tab}W pe\'b3ni konfigurowalne funkcje jak i wygl\'b9d \par -{\pntext\f5\'B7\tab}Wsparcie dla programu Microsoft Active Accessibility (aktywne u\'b3atwienie dost\'eapu) \par -{\pntext\f5\'B7\tab}Przekszta\'b3ca przycisk \ldblquote Wszystkie programy\rdblquote w menu Windows na menu kaskadowe \par -{\pntext\f5\'B7\tab}Wdra\'bfa konfigur\f1 owalny przycisk start\par -{\pntext\f5\'B7\tab}\f2 Mo\'bfna wy\'9cwietla\'e6, wyszukiwa\'e6 i uruchamia\'e6 aplikacje Windows Store (Windows 8) \par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28\lang1033 Classic Explorer\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic Explorer\cf0 \b0\f2 jest wtyczk\'b9 do Eksploratora Windows, kt\'f3ra\f1 :\par -\par - -\pard{\pntext\f5\'B7\tab}{\*\pn\pnlvlblt\pnf5\pnindent363{\pntxtb\'B7}}\widctlpar\fi-357\li714\f2\lang1045 Dodaje do paska narz\'eadzi Eksploratora kilka typowych operacji (Przejd\'9f do folderu nadrz\'eadnego, Wytnij, Kopiuj, Wklej, Usu\'f1, w\'b3a\'9cciwo\'9cci, E-mail).Pasek narz\'eadzi jest w pe\'b3ni konfigurowalny \par -{\pntext\f5\'B7\tab}Zast\'eapuje interfejs kopiowania w systemie Windows 7 bardziej przyjazn\'b9 dla u\'bfytkownika \ldblquote klasyczn\'b9\rdblquote wersj\'b9 podobn\'b9 do tej z systemu Wind\f1 ows XP \par -{\pntext\f5\'B7\tab}\f2 Obs\'b3uguje Alt + Enter w panelu folder\'f3w Eksploratora Windows i wy\'9cwietla w\'b3a\'9cciwo\'9cci wybranego folderu \par -{\pntext\f5\'B7\tab}Posiada opcje dostosowywania panelu folder\'f3w, aby wygl\'b9da\'b3 podobnie jak w Windows XP i aby nie zanika\'b3y przyciski rozwijania \par -{\pntext\f5\'B7\tab}Mo\'bfe pokazywa\'e6 ilo\'9c\'e6 wolnego miejsca na dysku i ca\'b3kowity rozmi\f1 ar plik\'f3w na pasku stanu \par -{\pntext\f5\'B7\tab}\f2 Mo\'bfna wy\'b3\'b9czy\'e6 nawigacj\'ea za pomoc\'b9 \'b3\'b9czy w pasku adresu \par -{\pntext\f5\'B7\tab}Naprawia d\'b3ug\'b9 list\'ea funkcji, kt\'f3re nie zosta\'b3y poprawione w Windows 7 - brak nak\'b3adki na ikon\'ea udost\'eapnionych folder\'f3w, skoki folder\'f3w w panelu nawigacji, brak sortowania nag\'b3\'f3wk\'f3w w widoku listy, i wi\'eacej\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28\lang1033 Classic IE\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic IE \cf6\b0\f2 jest ma\'b3\'b9 wtyczk\'b9 dla Internet Explorer, kt\'f3ra:\cf3\b\f1\par -\cf0\b0\par - -\pard{\pntext\f5\'B7\tab}{\*\pn\pnlvlblt\pnf5\pnindent363{\pntxtb\'B7}}\widctlpar\fi-357\li714\f2\lang1045 Dodaje napis na pasku tytu\'b3u, dzi\'eaki czemu mo\'bfna zobaczy\'e6 pe\'b3ny tytu\'b3 strony \par -{\pntext\f5\'B7\tab}\f1 Pokaz\f2 uje stref\'ea bezpiecze\'f1stwa w pasku stanu \par -{\pntext\f5\'B7\tab}Pokazuje post\'eap \'b3adowania na pasku stanu \par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28\lang1033 Instrukcja instalacji\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\f2 Po instalacji pasek narz\'eadzi Eksploratora Windows mo\'bfe nie by\'e6 automatycznie wy\'9cwietlany. Musisz zrobi\'e6 kilka rzeczy, zanim b\'eadzie mo\'bfna go u\'bfywa\'e6.\f1\par -\par -\cf3\b Windows 7:\cf0\b0 \f2 Wci\'9cnij Alt+V, aby otworzy\'e6 menu Widok. Otw\'f3rz podmenu "Paski narz\'eadzi" i wybierz "Pasek Classic Exlporer". Menu b\'eadzie zawsze wy\'9cwietlane, gdy jest widoczny pasek narz\'eadzi\f1 .\par -\par -\cf3\b Windows 8:\cf0\b0 \f2 Wci\'9cnij Alt+V, aby otworzy\'e6 Widok wst\'b9\'bfki. Kliknij strza\'b3k\f4\'ea\f2 skierowan\'b9 w d\'f3\'b3 w sekcji "Opcje". Wybierz "Pasek Classic Explorer"\f1 .\par -\par -\f2 Je\'bfeli nie przynios\'b3o to po\'bf\'b9danego efektu, by\'e6 mo\'bfe zosta\'b3y wy\'b3\'b9czone rozszerzenia Eksploratora. Wykonaj nast\'eapuj\'b9ce kroki, a nast\'eapnie spr\'f3buj ponownie wy\'9cwietli\'e6 pasek narz\'eadzi\f1 :\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720\f2 Otw\'f3rz Internet Explorer i przejd\'9f do Narz\'eadzia -> Zarz\'b9dzaj dodatkami. Zlokalizuj dodatki "Pasek Classic Eksploratora" i "ExplorerBHO Class" i upewnij si\'ea, \'bfe s\'b9 w\'b3\'b9czone\f1 .\par -{\pntext\f1 2)\tab}\f2 By\'e6 mo\'bfe w systemie wy\'b3\'b9czone s\'b9 rozszerzenia przegl\'b9darki. Zazwyczaj jest to ustawienie domy\'9clne dla systemu Windows Server. Otw\'f3rz "Opcje internetowe", przejd\'9f do zak\'b3adki "Zaawansowane" i zaznacz opcj\'ea "W\'b3\'b9cz rozszerzenia przegl\'b9darki innych firm\f1 ".\par - -\pard\widctlpar\par -\f2 W Windows 7 musisz wpierw w\'b3\'b9czy\'e6 pasek stanu w menu Widok, je\'bfeli chcesz zobaczy\'e6 \f1 rozmiar plik\'f3w.\par -\f2 W Windows 8 pasek stanu Classic Explorer r\'f3\'bfni si\'ea od tego w Eksploratorze\f1 . \f2 Mo\'bfesz pokaza\'e6/ukry\'e6 pierwszy w oknie dialogowym Ustawienia Classic Explorer i pokaza\'e6/ukry\'e6 drugi w oknie dialogowym Opcje folder\'f3w Eksploratora\f1 .\par -\par -Napis na pasku t\f2 ytu\'b3u Internet Explorer nie mo\'bfe by\'e6 automatycznie wy\'9cwietlany po zako\'f1czeniu instalacji Classic IE. Mo\'bfesz otrzyma\'e6 monit o zainstalowaniu nowego dodatku ClassicIEBHO i jego w\'b3\'b9czeniu. Je\'bfeli pojawi si\'ea monit, kliknij przycisk W\'b3\'b9cz. Je\'9cli nie otrzymasz monitu, przejd\'9f do Narz\'eadzia -> Zarz\'b9dzaj dodatkami i sprawd\'9f czy ClassicIEBHO jest w\'b3\'b9czony. Po w\'b3\'b9czeniu dodatku trzeba ponownie uruchomi\'e6 program Internet Explorer, aby aktywowa\'e6 wtyczk\'ea\f1 .\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Dezinstalacja\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\f2 Aby zdeinstalowa\'e6\cf3\b\f1 Open-Shell\cf0\b0 \f2 wykonaj nast\'eapuj\'b9\f1 ce kroki:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720 Otw\'f3rz \b Panel sterowania -> Programy i funkcje\b0\f2 i kliknij dwukrotnie Open-Shell. Nast\'eapnie post\'eapuj zgodnie z instrukcjami. Mo\'bfe by\'e6 wymagane ponowne uruchomienie systemu Windows w celu doko\'f1czenia dezinstalacji.\f1\par -{\pntext\f1 2)\tab}\f2 Je\'9cli zainstalowa\'b3e\'9c dodatkowe karnacje menu Start b\'eadziesz musia\'b3 usun\'b9\'e6 je r\'eacznie\f1 .\par - -\pard\widctlpar\par - -\pard\widctlpar\sa200\sl276\slmult1\par -} - diff --git a/Src/Localization/Polish/OpenShellTOC.hhc b/Src/Localization/Polish/OpenShellTOC.hhc deleted file mode 100644 index 7579a73..0000000 --- a/Src/Localization/Polish/OpenShellTOC.hhc +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -
    -
  • - - - - -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
  • - - - - -
- diff --git a/Src/Localization/Polish/OpenShellText-pl-PL.wxl b/Src/Localization/Polish/OpenShellText-pl-PL.wxl deleted file mode 100644 index 191a016..0000000 --- a/Src/Localization/Polish/OpenShellText-pl-PL.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - Ten instalator jest przeznaczony tylko dla 32-bitowych wersji systemu Windows. Dla 64-bitowej wersji systemu Windows należy uruchomić Setup64. - Open-Shell wymaga systemu Windows 7 lub nowszego. - Nowsza wersja [ProductName] jest już zainstalowana. Instalator zostanie zamknięty. - Classic Explorer - Classic Explorer dodaje pasek narzędziowy do Eksploratora Windows, zastępuje interfejs kopiowania i rozwiązuje kilka problemów związanych z użytecznością - Open-Shell Menu - Open-Shell Menu jest wysoce konfigurowalnym zamiennikiem menu Start Windows - Classic IE - Classic IE umożliwia dostosowanie paska tytułu i paska stanu Internet Explorer - Aktualizacja Open-Shell - Aktualizacja Open-Shell sprawdza okresowo dostępność nowych wersji - Zobacz dokumentację Open-Shell - Zobacz wprowadzenie do Open-Shell - Umożliwia modyfikowanie ustawień Classic Explorer - Umożliwia modyfikowanie ustawień Open-Shell Menu - Umożliwia modyfikowanie ustawień paska tytułu i paska stanu Internet Explorer - Umożliwia modyfikowanie ustawień sprawdzania aktualizacji Open-Shell - Utwórz folder w menu Start - Strona internetowa Open-Shell - Przekaż dotację na Open-Shell - Odwiedź nas na Facebooku - Zobacz plik Readme - Pomoc Open-Shell - Open-Shell Readme - Aktualizacja Open-Shell - Ustawienia Classic Explorer - Ustawienia Open-Shell Menu - Ustawienia Classic IE - Otwórz ekran startowy - Open-Shell jest zbiorem funkcji zwiększających użyteczność Windows - diff --git a/Src/Localization/Polish/WixUI_pl-pl.wxl b/Src/Localization/Polish/WixUI_pl-pl.wxl deleted file mode 100644 index fe615b8..0000000 --- a/Src/Localization/Polish/WixUI_pl-pl.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Wstecz - &Dalej - Anuluj - &Zakończ - &Ponów próbę - &Ignoruj - &Tak - &Nie - OK - D&rukuj - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Przeczytaj Umowę licencyjną produktu [ProductName] - &Akceptuję warunki Umowy licencyjnej - Kliknij przycisk Zainstaluj, aby zainstalować produkt z opcjami domyślnymi dla wszystkich użytkowników. Kliknij przycisk Zaawansowane, aby zmienić opcje instalacji. - Kliknij przycisk Zainstaluj, aby zainstalować produkt z opcjami domyślnymi tylko dla siebie. Kliknij przycisk Zaawansowane, aby zmienić opcje instalacji. - &Zainstaluj - Z&aawansowane - 8 - 12 - 9 - 8 - Tahoma - - Instalator produktu [ProductName] - &Szukaj w: - WixUI_Bmp_Up - Do góry o jeden poziom - WixUI_Bmp_New - Utwórz nowy folder - Nazwa &folderu: - WixUI_Bmp_Banner - Przejdź do folderu docelowego - {\WixUI_Font_Title}Zmień folder docelowy - - Instalator produktu [ProductName] - Czy na pewno chcesz anulować instalację produktu [ProductName]? - WixUI_Ico_Info - Ikona informacji - - Instalator produktu [ProductName] - Drzewo wyborów - &Przeglądaj... - Re&setuj - Użycie dysk&u - WixUI_Bmp_Banner - Kliknij ikony w poniższym drzewie, aby zmienić sposób instalowania funkcji. - Wybierz żądany sposób instalowania funkcji. - {\WixUI_Font_Title}Instalacja niestandardowa - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Lokalizacja: - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - Wyróżnione woluminy nie mają wystarczająco dużo dostępnego miejsca na dysku na wybrane funkcje. Możesz usunąć niektóre pliki z wyróżnionych woluminów, zainstalować mniej funkcji lub wybrać inne dyski docelowe. - Miejsce na dysku wymagane do zainstalowania wybranych funkcji. - {\WixUI_Font_Title}Wymagane miejsce na dysku - {120}{70}{70}{70}{70} - - Instalator produktu [ProductName] - Tekst informacyjny - WixUI_Ico_Info - Ikona informacji - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - Kliknij przycisk Zakończ, aby zakończyć pracę Kreatora instalacji. - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] ukończył pracę - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] przedwcześnie zakończył pracę - Kreator instalacji produktu [ProductName] przedwcześnie zakończył pracę z powodu błędu. System nie został zmodyfikowany. Aby zainstalować ten program później, ponownie uruchom Kreatora instalacji. - Kliknij przycisk Zakończ, aby zakończyć pracę Kreatora instalacji. - - Instalator produktu [ProductName] - Funkcje produktu - WixUI_Bmp_Banner - Wybierz żądany sposób instalowania funkcji. - {\WixUI_Font_Title}Funkcje produktu - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Zainstaluj - Z&mień - - Instalator produktu [ProductName] - &Zakończ - WixUI_Bmp_Banner - Poniższe aplikacje korzystają z plików, które wymagają zaktualizowania za pomocą tego instalatora. Zamknij te aplikacje, a następnie kliknij przycisk &Ponów próbę, aby kontynuować instalację, lub kliknij przycisk Zakończ, aby ją zakończyć. - Niektóre pliki wymagające aktualizacji są obecnie używane. - {\WixUI_Font_Title}Pliki w użyciu - - Instalator produktu [ProductName] - Z&mień... - {\WixUI_Font_Title}Folder docelowy - Kliknij przycisk Dalej, aby zainstalować w folderze domyślnym, lub kliknij przycisk Zmień, aby wybrać inny folder. - WixUI_Bmp_Banner - Zainstaluj produkt [ProductName] w folderze: - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - Wybierz zakres i folder instalacji - {\WixUI_Font_Title}Zakres instalacji - {\WixUI_Font_Emphasized}Zainstaluj tylko dla &siebie ([LogonUser]) - Produkt [ProductName] zostanie zainstalowany w folderze przypisanym do użytkownika i będzie dostępny tylko na Twoim koncie użytkownika. Nie potrzebujesz uprawnień administratora lokalnego. - Produkt [ProductName] nie obsługuje instalacji przypisanej do użytkownika. - {\WixUI_Font_Emphasized}Zainstaluj dla wszystkich użytkowników tego &komputera - Produkt [ProductName] zostanie domyślnie zainstalowany w folderze przypisanym do komputera i będzie dostępny dla wszystkich użytkowników. Domyślny folder instalacji możesz zmienić. Musisz mieć uprawnienia administratora lokalnego. - &Folder instalacji: - Z&mień... - - Instalator produktu [ProductName] - Katalog instalacji musi się znajdować na lokalnym dysku twardym. - WixUI_Ico_Info - Ikona informacji - - Instalator produktu [ProductName] - &Akceptuję warunki Umowy licencyjnej - WixUI_Bmp_Banner - Przeczytaj uważnie poniższą umowę licencyjną - {\WixUI_Font_Title}Umowa licencyjna użytkownika oprogramowania - - Instalator produktu [ProductName] - Z&mień - Zmień instalację - &Napraw - Napraw instalację - &Usuń - Usuń instalację - WixUI_Bmp_Banner - Wybierz operację, którą chcesz wykonać. - {\WixUI_Font_Title}Zmienianie, naprawa lub usuwanie instalacji - Pozwala zmienić sposób, w jaki są zainstalowane funkcje. - Produkt [ProductName] nie ma niezależnie wybieranych funkcji. - Usuwa produkt [ProductName] z tego komputera. - Nie można usunąć produktu [ProductName]. - Naprawia błędy w najnowszej instalacji, rozwiązując problemy z brakującymi i uszkodzonymi plikami, skrótami i wpisami rejestru. - Nie można naprawić produktu [ProductName]. - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - Kreator instalacji pozwala zmienić sposób, w jaki funkcje produktu [ProductName] są zainstalowane na komputerze, lub usunąć go z komputera. Kliknij przycisk Dalej, aby kontynuować, lub Anuluj, aby zakończyć pracę Kreatora instalacji. - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] — Zapraszamy! - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - Poniższe aplikacje korzystają z plików, które wymagają zaktualizowania za pomocą tego instalatora. Możesz zezwolić, aby Kreator instalacji zakończył ich działanie, a następnie spróbował uruchomić je ponownie lub uruchomił ponownie komputer. - Niektóre pliki wymagające aktualizacji są obecnie używane. - {\WixUI_Font_Title}Pliki w użyciu - &Zamknij aplikacje i spróbuj uruchomić je ponownie. - &Nie zamykaj aplikacji (będzie wymagany ponowny rozruch komputera). - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - W wyróżnionych woluminach jest za mało miejsca na dysku dla obecnie wybranych funkcji. Możesz usunąć niektóre pliki z wyróżnionych woluminów, zainstalować mniej funkcji lub wybrać inny dysk docelowy. - Ilość miejsca na dysku wymagana do instalacji przekracza ilość dostępnego miejsca na dysku. - {\WixUI_Font_Title}Za mało miejsca na dysku - {120}{70}{70}{70}{70} - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - W wyróżnionych woluminach jest za mało miejsca na dysku dla obecnie wybranych funkcji. Możesz usunąć niektóre pliki z wyróżnionych woluminów, zainstalować mniej funkcji lub wybrać inny dysk docelowy. - Ilość miejsca na dysku wymagana do instalacji przekracza ilość dostępnego miejsca na dysku. - {\WixUI_Font_Title}Za mało miejsca na dysku - {120}{70}{70}{70}{70} - Alternatywnie możesz wyłączyć funkcję wycofywania Instalatora. Wyłączenie wycofywania uniemożliwi Instalatorowi przywrócenie oryginalnego stanu komputera w przypadku przerwania instalacji. Kliknij przycisk Tak, jeśli chcesz podjąć to ryzyko i wyłączyć funkcję wycofywania. - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - Zaczekaj, aż Kreator instalacji zakończy przygotowania do przeprowadzenia instalacji. - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] — Zapraszamy! - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - Czekaj, aż Kreator instalacji zainstaluje produkt [ProductName]. - {\WixUI_Font_Title}Instalowanie produktu [ProductName] - Czekaj, aż Kreator instalacji wprowadzi zmiany w produkcie [ProductName]. - {\WixUI_Font_Title}Wprowadzanie zmian w produkcie [ProductName] - Czekaj, aż Kreator instalacji naprawi produkt [ProductName]. - {\WixUI_Font_Title}Naprawianie produktu [ProductName] - Czekaj, aż Kreator instalacji usunie produkt [ProductName]. - {\WixUI_Font_Title}Usuwanie produktu [ProductName] - Czekaj, aż Kreator instalacji zaktualizuje produkt [ProductName]. - {\WixUI_Font_Title}Aktualizowanie produktu [ProductName] - Postęp - Status: - - Instalator produktu [ProductName] - &Zainstaluj - WixUI_Bmp_Dialog - Kreator instalacji wykona instalację produktu [ProductName] na tym komputerze. Kliknij przycisk Zainstaluj, aby kontynuować, lub kliknij przycisk Anuluj, aby zakończyć pracę Kreatora instalacji. - {\WixUI_Font_Bigger}Wznawianie pracy Kreatora instalacji produktu [ProductName] - - Instalator produktu [ProductName] - &Typowa - Instalacja typowa - Ni&estandardowa - Instalacja niestandardowa - &Pełna - Instalacja pełna - WixUI_Bmp_Banner - {\WixUI_Font_Title}Wybierz typ instalacji - Wybierz typ instalacji, który najlepiej odpowiada Twoim potrzebom - Instaluje najczęściej używane funkcje programu. Zalecana w przypadku większości użytkowników. - Umożliwia użytkownikom wybranie funkcji programu do zainstalowania i lokalizacji, w której zostaną zainstalowane. Zalecana w przypadku użytkowników zaawansowanych. - Zostaną zainstalowane wszystkie funkcje programu. Wymaga najwięcej miejsca na dysku. - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Działanie Kreatora instalacji produktu [ProductName] zostało przerwane - Instalacja produktu [ProductName] została przerwana. System nie został zmodyfikowany. Aby zainstalować ten program później, ponownie uruchom instalację. - Kliknij przycisk Zakończ, aby zakończyć pracę Kreatora instalacji. - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - &Zainstaluj - Kliknij przycisk Zainstaluj, aby rozpocząć instalację. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do zainstalowania produktu [ProductName] - Z&mień - Kliknij przycisk Zmień, aby rozpocząć instalację. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do wprowadzenia zmian w produkcie [ProductName] - &Napraw - Kliknij przycisk Napraw, aby naprawić instalację produktu [ProductName]. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do naprawienia produktu [ProductName] - &Usuń - Kliknij przycisk Usuń, aby usunąć produkt [ProductName] z tego komputera. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do usunięcia produktu [ProductName] - Akt&ualizuj - Kliknij przycisk Aktualizuj, aby zaktualizować produkt [ProductName] na tym komputerze. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do zaktualizowania produktu [ProductName] - - Instalator produktu [ProductName] - &Powrót - Zaczekaj, aż Instalator zakończy określanie wymaganej ilości miejsca na dysku. - WixUI_Ico_Exclam - Ikona wykrzyknika - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - Kreator instalacji zainstaluje produkt [ProductName] na tym komputerze. Kliknij przycisk Dalej, aby kontynuować, lub Anuluj, aby zakończyć pracę Kreatora instalacji. - Kreator instalacji zaktualizuje produkt [ProductName] na tym komputerze. Kliknij przycisk Dalej, aby kontynuować, lub Anuluj, aby zakończyć pracę Kreatora instalacji. - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] — Zapraszamy! - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - &Akceptuję warunki Umowy licencyjnej - &Zainstaluj - Akt&ualizuj - {\WixUI_Font_Title}Przeczytaj umowę licencyjną produktu [ProductName] - - Sprawdzanie poprawności instalacji - Kopiowanie nowych plików - Plik: [1], katalog: [9], rozmiar: [6] - Kopiowanie plików instalacji sieciowej - Plik: [1], katalog: [9], rozmiar: [6] - Obliczanie wymaganego miejsca - Obliczanie wymaganego miejsca - Obliczanie wymaganego miejsca - Tworzenie skrótów - Skrót: [1] - Publikowanie składników kwalifikowanych - Identyfikator składnika: [1], kwalifikator: [2] - Publikowanie funkcji produktu - Funkcja: [1] - Publikowanie informacji o produkcie - Rejestrowanie serwerów klas - Identyfikator klasy: [1] - Rejestrowanie serwerów rozszerzeń - Rozszerzenie: [1] - Rejestrowanie informacji MIME - Typ zawartości MIME: [1], rozszerzenie: [2] - Rejestrowanie identyfikatorów programu - Identyfikator programu: [1] - Przydzielanie przestrzeni rejestru - Wolne miejsce: [1] - Wyszukiwanie zainstalowanych aplikacji - Właściwość: [1], podpis: [2] - Wiązanie plików wykonywalnych - Plik: [1] - Wyszukiwanie kwalifikujących produktów - Tworzenie folderów - Folder: [1] - Usuwanie usług - Usługa: [1] - Tworzenie duplikatów plików - Plik: [1], katalog: [9], rozmiar: [6] - Wyszukiwanie aplikacji pokrewnych - Znaleziono aplikację: [1] - Instalowanie składników ODBC - Instalowanie nowych usług - Usługa: [2] - Sprawdzanie warunków uruchamiania - Migracja stanów funkcji z pokrewnych aplikacji - Aplikacja: [1] - Przenoszenie plików - Plik: [1], katalog: [9], rozmiar: [6] - Poprawianie plików - Plik: [1], katalog: [2], rozmiar: [3] - Aktualizowanie rejestracji składników - Rejestrowanie aplikacji i składników COM+ - Identyfikator aplikacji: [1]{{, typ aplikacji: [2], użytkownicy: [3], RSN: [4]}} - Rejestrowanie czcionek - Czcionka: [1] - Rejestrowanie produktu - [1] - Rejestrowanie bibliotek typów - Identyfikator biblioteki: [1] - Rejestrowanie użytkownika - [1] - Usuwanie zduplikowanych plików - Plik: [1], katalog: [9] - Aktualizowanie ciągów środowiska - Nazwa: [1], wartość: [2], akcja [3] - Usuwanie aplikacji - Aplikacja: [1], wiersz polecenia: [2] - Usuwanie plików - Plik: [1], katalog: [9] - Usuwanie folderów - Folder: [1] - Usuwanie wpisów plików INI - Plik: [1], sekcja: [2], klucz: [3], wartość: [4] - Usuwanie składników ODBC - Usuwanie wartości rejestru systemowego - Klucz: [1], nazwa: [2] - Usuwanie skrótów - Skrót: [1] - Wyszukiwanie kwalifikujących produktów - Rejestrowanie modułów - Plik: [1], folder: [2] - Wyrejestrowywanie modułów - Plik: [1], folder: [2] - Inicjowanie katalogów ODBC - Uruchamianie usług - Usługa: [1] - Zatrzymywanie usług - Usługa: [1] - Cofanie publikowania składników kwalifikowanych - Identyfikator składnika: [1], kwalifikator: [2] - Cofanie publikowania funkcji produktu - Funkcja: [1] - Wyrejestrowywanie serwerów klas - Identyfikator klasy: [1] - Wyrejestrowywanie aplikacji i składników COM+ - Identyfikator aplikacji: [1]{{, typ aplikacji: [2]}} - Wyrejestrowywanie serwerów rozszerzeń - Rozszerzenie: [1] - Wyrejestrowywanie czcionek - Czcionka: [1] - Wyrejestrowywanie informacji MIME - Typ zawartości MIME: [1], rozszerzenie: [2] - Wyrejestrowywanie identyfikatorów programów - Identyfikator programu: [1] - Wyrejestrowywanie bibliotek typów - Identyfikator biblioteki: [1] - Aktualizowanie ciągów środowiska - Nazwa: [1], wartość: [2], akcja [3] - Zapisywanie wartości plików INI - Plik: [1], sekcja: [2], klucz: [3], wartość: [4] - Zapisywanie wartości rejestru systemowego - Klucz: [1], nazwa: [2], wartość: [3] - Aplikacja anonsująca - Generowanie operacji skryptu dla akcji: - [1] - Instalowanie wykazu systemu - Plik: [1], zależności: [2] - Publikowanie informacji o asemblerze - Kontekst aplikacji: [1], nazwa asemblera: [2] - Cofanie publikowania informacji o asemblerze - Kontekst aplikacji: [1], nazwa asemblera: [2] - Powrót do poprzedniej akcji: - [1] - Usuwanie plików kopii zapasowej - Plik: [1] - Usuwanie plików przeniesionych - Plik: [1], katalog: [9] - Cofanie publikowania informacji o produkcie - - {{Błąd krytyczny: }} - {{Błąd [1]. }} - Ostrzeżenie [1]. - Informacja [1]. - Instalator napotkał nieoczekiwany błąd podczas instalowania tego pakietu. To może wskazywać na problem z tym pakietem. Kod błędu to [1]. {{Argumenty: [2], [3], [4]}} - {{Dysk zapełniony: }} - Akcja [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Typ komunikatu: [1], argument: [2] - === Logowanie rozpoczęte: [Date] [Time] === - === Logowanie zatrzymane: [Date] [Time] === - Uruchomienie akcji [Time]: [1]. - Zakończenie akcji [Time]: [1]. Wartość zwrócona [2]. - Pozostało czasu: {[1] min }{[2] s} - Za mało pamięci. Zamknij inne aplikacje przed ponowną próbą. - Instalator nie odpowiada. - Instalator przedwcześnie zakończył pracę. - Czekaj, system Windows konfiguruje produkt [ProductName] - Trwa zbieranie wymaganych informacji... - Trwa usuwanie starszych wersji tej aplikacji... - Trwa przygotowywanie do usunięcia starszych wersji tej aplikacji... - Instalacja produktu {[ProductName] } została ukończona pomyślnie. - Instalacja produktu {[ProductName]} nie powiodła się. - Błąd podczas odczytu z pliku: [2]. {{ Błąd systemu [3].}} Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Nie można utworzyć pliku „[2]”. Istnieje już katalog o tej nazwie. Anuluj instalację i spróbuj przeprowadzić ją w innej lokalizacji. - Włóż dysk: [2] - Instalator ma niewystarczające uprawnienia dostępu do tego katalogu: [2]. Nie można kontynuować instalacji. Zaloguj się jako administrator lub skontaktuj się z administratorem systemu. - Błąd przy zapisywaniu do pliku: [2]. Sprawdź, czy masz dostęp do tego katalogu. - Błąd odczytu z pliku [2]. {{ Błąd systemu [3].}} Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Inna aplikacja ma wyłączny dostęp do pliku „[2]”. Zamknij wszystkie inne aplikacje, a następnie kliknij przycisk Ponów próbę. - Za mało miejsca na dysku, aby zainstalować ten plik: [2]. Zwolnij nieco miejsca na dysku i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby zakończyć. - Nie znaleziono pliku źródłowego: [2]. Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Błąd podczas odczytu z pliku [3]. {{ Błąd systemu [2].}} Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Błąd zapisu w pliku: [3]. {{ Błąd systemu [2].}} Sprawdź, czy masz dostęp do tego katalogu. - Nie znaleziono pliku źródłowego{{(plik cab)}}: [2]. Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Nie można utworzyć katalogu „[2]”. Plik o tej nazwie już istnieje. Zmień nazwę pliku lub usuń go i kliknij przycisk Ponów próbę lub Anuluj, aby zakończyć pracę. - Wolumin [2] jest obecnie niedostępny. Wybierz inny wolumin. - Określona ścieżka „[2]” jest niedostępna. - Nie można przeprowadzić zapisu w określonym folderze: [2]. - Wystąpił błąd sieciowy podczas próby odczytu z pliku: [2] - Wystąpił błąd podczas próby utworzenia katalogu: [2] - Wystąpił błąd sieciowy podczas próby utworzenia katalogu: [2] - Wystąpił błąd sieciowy podczas próby otwarcia pliku źródłowego cab: [2] - Określona ścieżka jest za długa: [2] - Instalator ma niewystarczające uprawnienia do modyfikowania tego pliku: [2]. - Część ścieżki folderu „[2]” jest nieprawidłowa. Jest ona pusta lub przekracza długość dozwoloną w systemie. - Ścieżka folderu „[2]” zawiera słowa, które nie są dozwolone w ścieżkach folderów. - Ścieżka folderu „[2]” zawiera nieprawidłowy znak. - „[2]” nie jest prawidłową krótką nazwą pliku. - Błąd pobierania zabezpieczeń pliku: [3] GetLastError: [2] - Nieprawidłowy dysk: [2] - Błąd podczas stosowania poprawki do pliku [2]. Prawdopodobnie plik został zaktualizowany w inny sposób i nie może być już modyfikowany przez tę poprawkę. Aby uzyskać więcej informacji, skontaktuj się z dostawcą poprawki. {{Błąd systemu: [3]}} - Wymagany plik nie może być zainstalowany, ponieważ plik cab [2] nie jest podpisany cyfrowo. To może wskazywać na uszkodzenie pliku cab. - Wymagany plik nie może być zainstalowany, ponieważ plik cab [2] ma nieprawidłowy podpis cyfrowy. To może wskazywać na uszkodzenie pliku cab.{{ Błąd [3] został zwrócony przez moduł WinVerifyTrust.}} - Nie można poprawnie skopiować pliku [2]: błąd CRC. - Nie można poprawnie przenieść pliku [2]: błąd CRC. - Nie można poprawnie zastosować poprawki do pliku [2]: błąd CRC. - Nie można zainstalować pliku „[2]”, ponieważ nie można go odnaleźć w pliku cab „[3]”. To może wskazywać na błąd sieciowy, błąd odczytu z dysku CD-ROM lub problem z tym pakietem. - Plik cab „[2]” wymagany dla tej instalacji jest uszkodzony i nie może być użyty. To może wskazywać na błąd sieciowy, błąd odczytu z dysku CD-ROM lub problem z tym pakietem. - Wystąpił błąd podczas tworzenia pliku tymczasowego wymaganego do ukończenia tej instalacji.{{ Folder: [3]. Kod błędu systemu: [2]}} - Nie można utworzyć klucza: [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można otworzyć klucza: [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można usunąć wartości [2] z klucza [3]. {{ Błąd systemu [4].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można usunąć klucza: [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można odczytać wartości [2] z klucza [3]. {{ Błąd systemu [4].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można zapisać wartości [2] do klucza [3]. {{ Błąd systemu [4].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można pobrać nazw wartości dla klucza [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można pobrać nazw podkluczy dla klucza [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można odczytać informacji o zabezpieczeniach dla klucza [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można zwiększyć dostępnego miejsca dla rejestru. Do zainstalowania tej aplikacji wymagane jest [2] KB wolnego miejsca dla rejestru. - Inna instalacja jest w toku. Musisz ukończyć tamtą instalację przed kontynuowaniem tej instalacji. - Błąd dostępu do zabezpieczonych danych. Upewnij się, że Instalator Windows jest skonfigurowany prawidłowo, i spróbuj ponownie przeprowadzić instalację. - Użytkownik „[2]” zainicjował poprzednio instalację dla produktu „[3]”. Użytkownik ten będzie musiał uruchomić tę instalację ponownie, aby używać tego produktu. Bieżąca instalacja będzie kontynuowana. - Użytkownik „[2]” zainicjował poprzednio instalację dla produktu „[3]”. Użytkownik ten będzie musiał uruchomić tę instalację ponownie, aby używać tego produktu. - Za mało miejsca na dysku — wolumin: „[2]”; wymagane miejsce: [3] KB; dostępne miejsce: [4] KB. Zwolnij nieco miejsca na dysku i ponów próbę. - Czy na pewno chcesz anulować operację? - Plik [2][3] jest używany{ przez następujący proces: Nazwa: [4], Id: [5], Nazwa okna: „[6]”}. Zamknij aplikację i ponów próbę. - Jest już zainstalowany produkt „[2]”, co uniemożliwia instalację tego produktu. Te dwa produkty nie są zgodne. - Za mało miejsca na dysku na woluminie [2], aby kontynuować instalację z włączoną opcją odzyskiwania. Dostępna ilość miejsca: [3] KB; wymagana ilość miejsca: [4] KB. Kliknij przycisk Ignoruj, aby kontynuować instalację bez zapisywania informacji odzyskiwania, kliknij przycisk Ponów próbę, aby ponownie sprawdzić dostępne miejsce lub kliknij przycisk Anuluj, aby zakończyć instalację. - Nie można uzyskać dostępu do lokalizacji sieciowej [2]. - Następujące aplikacje należy zamknąć przed kontynuowaniem instalacji: - Nie można znaleźć na tym komputerze żadnego poprzednio zainstalowanego produktu zgodnego, który umożliwiałby instalację tego produktu. - Wystąpił błąd podczas stosowania ustawień zabezpieczeń. [2] nie jest prawidłowym użytkownikiem lub grupą. Może być to problem z pakietem lub problem z łączeniem się z kontrolerem domeny w sieci. Sprawdź połączenie sieciowe i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby zakończyć instalację. {{Nie można zlokalizować identyfikatora SID użytkownika, błąd systemu [3]}} - Klucz [2] nie jest prawidłowy. Sprawdź, czy wprowadzono poprawny klucz. - Instalator musi ponownie uruchomić system przed kontynuowaniem konfiguracji [2]. Kliknij przycisk Tak, aby uruchomić system ponownie, lub przycisk Nie, jeśli planujesz ręczne ponowne uruchomienie systemu później. - Musisz ponownie uruchomić system, aby zmiany konfiguracji [2] zostały wprowadzone. Kliknij przycisk Tak, aby uruchomić system ponownie lub przycisk Nie, jeśli planujesz ręczne ponowne uruchomienie systemu później. - Instalacja [2] jest obecnie wstrzymana. Aby kontynuować, musisz cofnąć zmiany wprowadzone przez tę instalację. Czy chcesz cofnąć te zmiany? - Poprzednia instalacja tego produktu już trwa. Aby kontynuować, musisz cofnąć zmiany wprowadzone przez tę instalację. Czy chcesz cofnąć te zmiany? - Nie można odnaleźć pakietu instalacyjnego dla produktu [2]. Ponów próbę instalacji, używając prawidłowej kopii pakietu instalacyjnego „[3]”. - Instalacja została pomyślnie ukończona. - Instalacja nie powiodła się. - Produkt: [2] - [3] - Możesz przywrócić komputer do poprzedniego stanu lub kontynuować instalację później. Czy chcesz przywrócić poprzedni stan komputera? - Wystąpił błąd podczas zapisywania informacji o instalacji na dysku. Sprawdź, czy na dysku jest dostępna wystarczająca ilość miejsca, i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby zakończyć instalację. - Nie można znaleźć co najmniej jednego z plików wymaganych do przywrócenia komputera do jego poprzedniego stanu. Przywrócenie stanu nie będzie możliwe. - [2] nie może zainstalować jednego z wymaganych produktów. Skontaktuj się z grupą pomocy technicznej. {{Błąd systemu: [3].}} - Nie można usunąć starszej wersji programu [2]. Skontaktuj się z grupą pomocy technicznej. {{Błąd systemu [3].}} - Zainstalowano [2] - Skonfigurowano [2] - Usunięto [2] - Plik [2] został odrzucony przez zasadę podpisu cyfrowego. - Nie można uzyskać dostępu do usługi Instalator Windows. Może mieć to miejsce, jeśli system Windows jest uruchomiony w trybie awaryjnym lub Instalator Windows jest niepoprawnie zainstalowany. Skontaktuj się z działem Pomocy technicznej, aby uzyskać pomoc. - Wystąpił problem z tym pakietem Instalatora Windows. Nie można uruchomić skryptu wymaganego do ukończenia tej instalacji. Skontaktuj się z pomocą techniczną lub dostawcą pakietu. {{Akcja niestandardowa [2], błąd skryptu [3], [4]: [5] wiersz [6], kolumna [7], [8]}} - Wystąpił problem z tym pakietem Instalatora Windows. Nie można uruchomić programu wymaganego do ukończenia tej instalacji. Skontaktuj się z pomocą techniczną lub dostawcą pakietu. {{Akcja: [2], lokalizacja: [3], polecenie: [4] }} - Wystąpił problem z tym pakietem Instalatora Windows. Program uruchomiony jako część instalacji nie zakończył pracy w oczekiwany sposób. Skontaktuj się z pomocą techniczną lub dostawcą pakietu. {{Akcja [2], lokalizacja: [3], polecenie: [4] }} - Wystąpił problem z tym pakietem Instalatora Windows. Nie można uruchomić biblioteki DLL wymaganej do ukończenia tej instalacji. Skontaktuj się z pomocą techniczną lub dostawcą pakietu. {{Akcja [2], wpis: [3], biblioteka: [4] }} - Usunięcie zostało pomyślnie ukończone. - Usunięcie nie powiodło się. - Anonsowanie zostało pomyślnie ukończone. - Anonsowanie nie powiodło się. - Konfiguracja została pomyślnie ukończona. - Konfiguracja nie powiodła się. - Musisz być administratorem, aby usunąć tę aplikację. Aby usunąć tę aplikację, zaloguj się jako Administrator lub skontaktuj się z obsługą techniczną w celu uzyskania pomocy. - Źródłowy pakiet instalacyjny dla produktu [2] nie jest zsynchronizowany z pakietem klienckim. Ponów próbę instalacji, używając prawidłowej kopii pakietu instalacyjnego „[3]”. - W celu ukończenia instalacji produktu [2] musisz ponownie uruchomić komputer. Na tym komputerze są obecnie zalogowani inni użytkownicy i ponowne uruchomienie komputera może spowodować utratę danych przez tych użytkowników. Czy chcesz teraz ponownie uruchomić komputer? - Ścieżka [2] nie jest prawidłowa. Określ prawidłową ścieżkę. - Za mało pamięci. Zamknij inne aplikacje przed ponowną próbą. - Brak dysku w stacji [2]. Włóż dysk i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby wrócić do poprzednio wybranego woluminu. - Brak dysku w stacji [2]. Włóż dysk i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby wrócić do okna dialogowego przeglądania i wybrać inny wolumin. - Folder [2] nie istnieje. Wprowadź ścieżkę do istniejącego folderu. - Masz niewystarczające uprawnienia do odczytu tego folderu. - Nie można określić prawidłowego folderu docelowego dla instalacji. - Błąd podczas próby odczytu źródłowej bazy danych instalacji: [2]. - Planowanie operacji ponownego uruchamiania: zmiana nazwy pliku z [2] na [3]. W celu ukończenia operacji należy ponownie uruchomić system. - Planowanie operacji ponownego uruchamiania: usuwanie pliku [2]. W celu ukończenia operacji należy ponownie uruchomić system. - Nie można zarejestrować modułu [2]. Wynik HRESULT [3]. Skontaktuj się z pomocą techniczną. - Nie można wyrejestrować modułu [2]. Wynik HRESULT [3]. Skontaktuj się z pomocą techniczną. - Nie można przechować pakietu [2] w pamięci podręcznej. Błąd: [3]. Skontaktuj się z pomocą techniczną. - Nie można zarejestrować czcionki [2]. Sprawdź, czy masz wystarczające uprawnienia do instalacji czcionek i czy system obsługuje tę czcionkę. - Nie można wyrejestrować czcionki [2]. Sprawdź, czy masz wystarczające uprawnienia do usuwania czcionek. - Nie można utworzyć skrótu [2]. Sprawdź, czy folder docelowy istnieje i czy masz do niego dostęp. - Nie można usunąć skrótu [2]. Sprawdź, czy plik skrótu istnieje i czy masz do niego dostęp. - Nie można zarejestrować biblioteki typów dla pliku [2]. Skontaktuj się z pomocą techniczną. - Nie można wyrejestrować biblioteki typów dla pliku [2]. Skontaktuj się z pomocą techniczną. - Nie można zaktualizować pliku ini [2][3]. Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Nie można zaplanować, aby plik [2] zastąpił plik [3] przy ponownym uruchomieniu. Sprawdź, czy masz uprawnienia do zapisu pliku [3]. - Błąd usuwania menedżera sterownika ODBC, błąd ODBC [2]: [3]. Skontaktuj się z pomocą techniczną. - Błąd instalowania menedżera sterownika ODBC, błąd ODBC [2]: [3]. Skontaktuj się z pomocą techniczną. - Błąd usuwania sterownika ODBC: [4], błąd ODBC [2]: [3]. Sprawdź, czy masz wystarczające uprawnienia do usuwania sterowników ODBC. - Błąd instalowania sterownika ODBC: [4], błąd ODBC [2]: [3]. Sprawdź, czy plik [4] istnieje i czy masz do niego dostęp. - Błąd konfiguracji źródła danych ODBC: [4], błąd ODBC [2]: [3]. Sprawdź, czy plik [4] istnieje i czy masz do niego dostęp. - Nie można uruchomić usługi „[2]” ([3]). Sprawdź, czy masz wystarczające uprawnienia do uruchamiania usług systemowych. - Nie można zatrzymać usługi „[2]” ([3]). Sprawdź, czy masz wystarczające uprawnienia do zatrzymywania usług systemowych. - Nie można usunąć usługi „[2]” ([3]). Sprawdź, czy masz wystarczające uprawnienia do usuwania usług systemowych. - Nie można zainstalować usługi „[2]” ([3]). Sprawdź, czy masz wystarczające uprawnienia do instalowania usług systemowych. - Nie można zaktualizować zmiennej środowiskowej „[2]”. Sprawdź, czy masz wystarczające uprawnienia do modyfikacji zmiennych środowiskowych. - Nie masz wystarczających uprawnień do zakończenia tej instalacji dla wszystkich użytkowników na tym komputerze. Zaloguj się jako administrator, a następnie ponów próbę tej instalacji. - Nie można ustawić zabezpieczeń pliku „[3]”. Błąd: [2]. Sprawdź, czy masz wystarczające uprawnienia do modyfikowania uprawnień zabezpieczeń dla tego pliku. - Na tym komputerze nie są zainstalowane usługi składowe (COM+ 1.0). W celu prawidłowego wykonania instalacji wymagane są usługi składowe. Usługi składowe są dostępne w systemie Windows 2000. - Wystąpił błąd podczas rejestrowania aplikacji COM+. Aby uzyskać więcej informacji, skontaktuj się z pomocą techniczną. - Wystąpił błąd podczas wyrejestrowywania aplikacji COM+. Aby uzyskać więcej informacji, skontaktuj się z pomocą techniczną. - Zmiana opisu dla usługi „[2]” ([3]) nie jest możliwa. - Usługa Instalator Windows nie może zaktualizować pliku systemowego [2], ponieważ plik jest chroniony przez system Windows. Aby program działał prawidłowo, należy zaktualizować system operacyjny. {{Wersja pakietu: [3], wersja chroniona systemu operacyjnego: [4]}} - Usługa Instalator Windows nie może zaktualizować chronionego przez system Windows pliku [2]. {{Wersja pakietu: [3], wersja chroniona systemu operacyjnego: [4], błąd SFP: [5]}} - Usługa Instalator Windows nie może zaktualizować jednego lub kilku chronionych plików Windows. {{Błąd SFP: [2]. Lista chronionych plików:\r\n[3]}} - Instalacje użytkownika są wyłączone ze względu na zasady obowiązujące na tym komputerze. - Wystąpił błąd podczas instalacji zestawu „[6]”. Zobacz Pomoc i obsługę techniczną, aby uzyskać więcej informacji. Wynik HRESULT: [3]. {{Interfejs zestawu: [4], funkcja: [5], składnik: [2]}} - Wystąpił błąd podczas instalacji zestawu „[6]”. Zestaw nie ma silnej nazwy lub nie jest podpisany za pomocą klucza o minimalnej długości. Wynik HRESULT: [3]. {{Interfejs zestawu: [4], funkcja: [5], składnik: [2]}} - Wystąpił błąd podczas instalacji zestawu „[6]”. Nie można zweryfikować podpisu lub wykazu albo jest on nieprawidłowy. Wynik HRESULT: [3]. {{Interfejs zestawu: [4], funkcja: [5], składnik: [2]}} - Wystąpił błąd podczas instalacji zestawu „[6]”. Nie można odnaleźć jednego lub większej liczby modułów zestawu. Wynik HRESULT: [3]. {{Interfejs zestawu: [4], funkcja: [5], składnik: [2]}} - - Bajtów - GB - KB - MB - Cała funkcja będzie niedostępna - Funkcja zostanie zainstalowana w razie potrzeby - Cała funkcja zostanie zainstalowana do uruchamiania z dysku CD - Cała funkcja zostanie zainstalowana na lokalnym dysku twardym - Cała funkcja zostanie zainstalowana do uruchamiania z sieci - Zostanie zainstalowana do uruchamiania z dysku CD - Zostanie zainstalowana na lokalnym dysku twardym - Zostanie zainstalowana do uruchamiania z sieci - Folder|Nowy folder - Trwa zbieranie wymaganych informacji... - Ta funkcja pozostanie niezainstalowana - Ta funkcja zostanie ustawiona do zainstalowania w razie potrzeby - Ta funkcja zostanie zainstalowana do uruchamiania z dysku CD - Ta funkcja zostanie zainstalowana na lokalnym dysku twardym - Ta funkcja zostanie zainstalowana do uruchamiania z sieci - Ta funkcja stanie się niedostępna - Zostanie zainstalowana w razie potrzeby - Ta funkcja będzie dostępna do uruchamiania z dysku CD - Ta funkcja zostanie zainstalowana na lokalnym dysku twardym - Ta funkcja będzie dostępna do uruchamiania z sieci - Ta funkcja zostanie całkowicie odinstalowana, nie będzie można uruchamiać jej z dysku CD - Stan tej funkcji zostanie zmieniony z uruchamiania z dysku CD na zainstalowanie w razie potrzeby - Ta funkcja będzie dalej uruchamiana z dysku CD - Stan tej funkcji zostanie zmieniony z uruchamiania z dysku CD na zainstalowanie na lokalnym dysku twardym - Ta funkcja zwolni [1] miejsca na dysku twardym. - Ta funkcja wymaga [1] miejsca na dysku twardym. - Trwa kompilowanie kosztu dla tej funkcji... - Ta funkcja zostanie całkowicie usunięta - Ta funkcja zostanie usunięta z lokalnego dysku twardego, ale zostanie ustawiona do zainstalowania w razie potrzeby - Ta funkcja zostanie usunięta z lokalnego dysku twardego, ale nadal będzie można uruchamiać ją z dysku CD - Ta funkcja pozostanie na lokalnym dysku twardym - Ta funkcja zostanie usunięta z lokalnego dysku twardego, ale nadal będzie można uruchamiać ją z sieci - Ta funkcja zostanie odinstalowana całkowicie, nie będzie można uruchamiać jej z sieci - Stan tej funkcji zostanie zmieniony z uruchamiania z sieci na zainstalowanie w razie potrzeby - Stan tej funkcji zostanie zmieniony z uruchamiania z sieci na zainstalowanie na lokalnym dysku twardym - Ta funkcja pozostanie uruchamiana z sieci - Ta funkcja zwolni [1] na dysku twardym. Wybrano w niej [2] z [3] podfunkcji. Wybrane podfunkcje zwolnią [4] na dysku twardym. - Ta funkcja zwolni [1] na dysku twardym. Wybrano w niej [2] z [3] podfunkcji. Wybrane podfunkcje wymagają [4] na dysku twardym. - Ta funkcja wymaga [1] na dysku twardym. Wybrano w niej [2] z [3] podfunkcji. Wybrane podfunkcje zwolnią [4] na dysku twardym. - Ta funkcja wymaga [1] na dysku twardym. Wybrano w niej [2] z [3] podfunkcji. Wybrane podfunkcje wymagają [4] na dysku twardym. - Pozostało czasu: {[1] min }{[2] s} - Dostępne - Różnica - Wymagane - Rozmiar dysku - Wolumin - diff --git a/Src/Localization/Portugese/ClassicExplorerADMX.txt b/Src/Localization/Portugese/ClassicExplorerADMX.txt deleted file mode 100644 index 0c0d21e..0000000 --- a/Src/Localization/Portugese/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Configurações do Open-Shell -State.text = Estado: -State1.text = Bloqueado para esse valor -State2.text = Bloqueado para padrão -State3.text = Desbloqueado -State1Help.text = Se você definir o estado como 'Bloqueado para esse valor', a configuração será bloqueada para o valor especificado para todos os usuários. -State2Help.text = Se você definir o estado como 'Bloqueado para padrão', a configuração será bloqueada para o valor padrão para todos os usuários. O valor especificado é ignorado. -State3Help.text = Se você definir o estado como 'Desbloqueado', o valor padrão para a configuração mudará para o valor especificado. Usuários individuais podem substituir a configuração. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Configuração das diretivas de grupo do Classic Explorer -SUPPORTED_CS404.text = Requer Open-Shell 4.0.4 ou superior. -SUPPORTED_CS404_WIN7.text = Requer Windows 7. -SUPPORTED_CS404_WIN881.text = Requer Windows 8 ou Windows 8.1. - -AddressAltD.nameOverride = Atalho adicional para a barra de endereços -AddressAltD.tipOverride = Digite uma letra de 'A' até 'Z' para ser um atalho para a barra de endereços em combinação com a tecla ALT -EnableSettings.nameOverride = Habilitar configurações -EnableSettings.tipOverride = Permite ao usuário editar suas próprias configurações -ProcessWhiteList.nameOverride = Lista branca de processos -ProcessWhiteList.tipOverride = Lista de processos que podem carregar o Classic Explorer. Use somente o nome do arquivo do processo (como "notepad.exe"), separe vários nomes por vírgula ou ponto-e-vírgula. -ProcessBlackList.nameOverride = Lista negra de processos -ProcessBlackList.tipOverride = Lista de processos que não podem carregar o Classic Explorer. Use somente o nome do arquivo do processo (como "notepad.exe"), separe vários nomes por vírgula ou ponto-e-vírgula. -ToolbarItems.nameOverride = Botões da barra de ferramentas -ToolbarItems.tipOverride = Selecione os botões que serão exibidos na barra de ferramentas.\nA melhor maneira que obter a string correta é configurar os botões no diálogo de configurações do Classic Explorer e então verificar o valor nomeado ToolbarItems em HKCU\Software\OpenShell\ClassicExplorer\Settings - - -; os-specific -FileExplorer.nameOverride = Habilitar diálogos somente no Explorer (melhora a performance) diff --git a/Src/Localization/Portugese/ClassicIEADMX.txt b/Src/Localization/Portugese/ClassicIEADMX.txt deleted file mode 100644 index b1deea3..0000000 --- a/Src/Localization/Portugese/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Configurações do Open-Shell -State.text = Estado: -State1.text = Bloqueado para esse valor -State2.text = Bloqueado para padrão -State3.text = Desbloqueado -State1Help.text = Se você definir o estado como 'Bloqueado para esse valor', a configuração será bloqueada para o valor especificado para todos os usuários. -State2Help.text = Se você definir o estado como 'Bloqueado para padrão', a configuração será bloqueada para o valor padrão para todos os usuários. O valor especificado é ignorado. -State3Help.text = Se você definir o estado como 'Desbloqueado', o valor padrão para a configuração mudará para o valor especificado. Usuários individuais podem substituir a configuração. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Configuração das diretivas de grupo do Classic IE -SUPPORTED_CS404.text = Requer Open-Shell 4.0.4 ou superior. -SUPPORTED_IE9.text = Requer Internet Explorer 9 ou superior. - - -EnableSettings.nameOverride = Habilitar configurações -EnableSettings.tipOverride = Permite ao usuário editar suas próprias configurações -CaptionFont.tipAddition = .\n\nO formato é , , . Por exemplo: "Segoe UI, normal, 9" diff --git a/Src/Localization/Portugese/MenuADMX.txt b/Src/Localization/Portugese/MenuADMX.txt deleted file mode 100644 index 2363ea2..0000000 --- a/Src/Localization/Portugese/MenuADMX.txt +++ /dev/null @@ -1,191 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - -Title.text = Configurações do Open-Shell -State.text = Estado: -State1.text = Bloqueado para esse valor -State2.text = Bloqueado para padrão -State3.text = Desbloqueado -State1Help.text = Se você definir o estado como 'Bloqueado para esse valor', a configuração será bloqueada para o valor especificado para todos os usuários. -State2Help.text = Se você definir o estado como 'Bloqueado para padrão', a configuração será bloqueada para o valor padrão para todos os usuários. O valor especificado é ignorado. -State3Help.text = Se você definir o estado como 'Desbloqueado', o valor padrão para a configuração mudará para o valor especificado. Usuários individuais podem substituir a configuração. - -MenuCat.text = Open-Shell Menu -MenuCatHelp.text = Configuração das diretivas de grupo do Open-Shell Menu -SUPPORTED_CS404.text = Requer Open-Shell 4.0.4 ou superior. -SUPPORTED_CS404_WIN7.text = Requer Windows 7. -SUPPORTED_CS404_WIN78.text = Requer Windows 7 ou Windows 8. -SUPPORTED_CS404_WIN781.text = Requer Windows 7 ou Windows 8.1. -SUPPORTED_CS404_WIN8.text = Requer Windows 8. -SUPPORTED_CS404_WIN881.text = Requer Windows 8 ou Windows 8.1. -SUPPORTED_CS404_WIN81.text = Requer Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Requer estilo de menu Clássico com uma coluna. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Requer estilo de menu Clássico com duas colunas. -SUPPORTED_CS404_CLASSIC_STYLE.text = Requer estilo de menu Clássico. -SUPPORTED_CS404_WIN7_STYLE.text = Requer estilo de menu Windows 7. - - -EnableSettings.nameOverride = Habilitar configurações -EnableSettings.tipOverride = Permite ao usuário editar suas próprias configurações - -MenuStyle.nameOverride = Estilo do menu -MenuStyle.tipOverride = Selecione o estilo para o menu iniciar.\nO estilo determina a aparência e a funcionalidade geral do menu. -MenuStyle_Classic1.nameOverride = Clássico com uma coluna -MenuStyle_Classic2.nameOverride = Clássico com duas colunas -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Clique Esquerdo abre -ShiftClick.nameOverride = Shift+Clique abre -WinKey.nameOverride = Tecla Windows abre -ShiftWin.nameOverride = Shift+Win abre -MiddleClick.nameOverride = Clique com Botão do Meio abre -Hover.nameOverride = Passar abre - -; skins -SkinC1.nameOverride = Tema para menu clássico com uma coluna -SkinC1.tipOverride = Selecione o tema para ser usado pelo estilo clássico com uma coluna -SkinVariationC1.nameOverride = Variação de tema para menu clássico com uma coluna -SkinVariationC1.tipOverride = Selecione a variação de tema para ser usado pelo estilo clássico com uma coluna (para temas com suporte a múltiplas variações) -SkinOptionsC1.nameOverride = Opções do tema para menu clássico com uma coluna -SkinOptionsC1.tipOverride = Selecione as opções do tema para ser usado pelo estilo clássico com uma coluna.\nAs opções são uma lista de números hexadecimais. A melhor maneira de obtê-los é ajustar as opções nas configurações do Open-Shell Menu e depois procurar o valor chamado SkinOptionsC1 em HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Itens do menu clássico com uma coluna -MenuItems1.tipOverride = Selecione os itens de menu para serem usados pelo estilo clássico com uma coluna.\nA melhor maneira de obter a string correta é configurar os itens nas configurações do Open-Shell Menu e depois procurar o valor chamado MenuItems1 em HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Tema do menu clássico com duas colunas -SkinC2.tipOverride = Selecione o tema para ser usado pelo estilo clássico com duas colunas -SkinVariationC2.nameOverride = Variação do tema para menu clássico com duas colunas -SkinVariationC2.tipOverride = Selecione a variação do tema para ser usado pelo estilo clássico com duas colunas (para temas com suporte a múltiplas variações) -SkinOptionsC2.nameOverride = Opções do tema para menu clássico com duas colunas -SkinOptionsC2.tipOverride = Selecione as opções do tema para ser usado pelo estilo clássico com duas colunas.\nAs opções são uma lista de números hexadecimais. A melhor maneira de obtê-los é ajustar as opções nas configurações do Open-Shell Menu e depois procurar o valor chamado SkinOptionsC2 em HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Itens do menu clássico com duas colunas -MenuItems2.tipOverride = Selecione os itens de menu para ser usado pelo estilo clássico com duas colunas.\nA melhor maneira de obter a string correta é configurar os itens nas configurações do Open-Shell Menu e depois procurar o valor chamado MenuItems2 em HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Tema para o estilo Windows 7 -SkinW7.tipOverride = Selecione o tema para ser usado pelo estilo Windows 7 -SkinVariationW7.nameOverride = Variação de tema para o estilo Windows 7 -SkinVariationW7.tipOverride = Selecione a variação do tema para ser usado pelo estilo Windows 7 (para temas que oferecem suporte a múltiplas variações) -SkinOptionsW7.nameOverride = Opções do tema para o estilo Windows 7 -SkinOptionsW7.tipOverride = Selecione as opções do tema para ser usado pelo estilo Windows 7.\nAs opções são uma lista de números hexadecimais. A melhor maneira de obtê-los é ajustar as opções nas configurações doClassic Start Menu e depois procurar o valor chamado SkinOptionsW7 em HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Itens do menu para o estilo Windows 7 -MenuItems7.tipOverride = Selecione os itens de menu para ser usado pelo estilo Windows 7.\nA melhor maneira de obter a string correta é configurar os itens nas configurações do Open-Shell Menu e depois procurar o valor chamado MenuItems7 em HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Tema do submenu Todos os Programas do menu iniciar do Windows 7 -SkinA.tipOverride = Selecione o tema para ser usado pelo submenu Todos os Programas do menu iniciar do Windows 7 -SkinVariationA.nameOverride = Variação do tema para o submenu Todos os Programas do menu iniciar do Windows 7 -SkinVariationA.tipOverride = Selecione a variação do tema para ser usado pelo submenu Todos os Programas do menu iniciar do Windows 7 (para temas com suporte a múltiplas variações) -SkinOptionsA.nameOverride = Opções do tema para o submenu Todos os Programas do menu iniciar do Windows 7 -SkinOptionsA.tipOverride = Selecione as opções do tema para ser usado pelo submenu Todos os Programas no menu iniciar do Windows 7.\nAs opções são uma lista de números hexadecimais. A melhor maneira de obtê-los é ajustar as opções nas configurações do Open-Shell Menu e depois procurar o valor nomeado SkinOptionsA em HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = Essa configuração não funciona no Windows 8.1. Você precisa usar a configuração embutida no Windows para inicializar na Área de Trabalho - -; hidden -FolderStartMenu.nameOverride = Pasta do Menu Iniciar -FolderStartMenu.tipOverride = Digite uma substituição para a pasta do menu iniciar por usuário (também substitui a pasta de programas por usuário).\nO caminho pode conter variáveis de ambiente.\nNota: esta configuração não é editável na caixa de diálogo Configurações -FolderPrograms.nameOverride = Pasta dos Programas -FolderPrograms.tipOverride = Digite uma substituição para a pasta de Programas por usuário.\nO caminho pode conter variáveis de ambiente.\nNota: esta configuração não é editável na caixa de diálogo Configurações -FolderCommonStartMenu.nameOverride = Pasta do Menu Iniciar comum -FolderCommonStartMenu.tipOverride = Digite uma substituição para a pasta do menu iniciar comum (também substitui a pasta de programas comuns).\nO caminho pode conter variáveis de ambiente.\nNota: esta configuração não é editável na caixa de diálogo Configurações -FolderCommonPrograms.nameOverride = Pasta de Programas comuns -FolderCommonPrograms.tipOverride = Digite uma substituição para o caminho da pasta de Programas comuns.\nO caminho pode conter variáveis de ambiente.\nNota: esta configuração não é editável na caixa de diálogo Configurações -AutoStartDelay.nameOverride = Atraso de início automático -AutoStartDelay.tipOverride = Forneça o atraso em ms ao iniciar o menu iniciar automaticamente durante o login (não se aplica ao iniciar o menu manualmente executando StartMenu.exe).\nNota: esta configuração não é editável na caixa de diálogo Configurações - -; other -StartButtonIcon.tipAddition = O valor pode ser um caminho para um arquivo ICO ou um caminho para um EXE/DLL e o ID do ícone -StartButtonPath.tipAddition = O valor é um caminho completo para o arquivo BMP ou PNG -SoundMain.tipAddition = O valor pode ser um nome de um evento do sistema ou um caminho para um arquivo WAV -SoundPopup.tipAddition = O valor pode ser um nome de um evento do sistema ou um caminho para um arquivo WAV -SoundCommand.tipAddition = O valor pode ser um nome de um evento do sistema ou um caminho para um arquivo WAV -SoundDrop.tipAddition = O valor pode ser um nome de um evento do sistema ou um caminho para um arquivo WAV -ExpandFolderLinks.tipAddition = Só funciona para ligações simbólicas (como junções) e não para atalhos simples -StartHoverDelay.nameOverride = Atraso ao passar (para o botão Iniciar) -AllProgramsDelay.nameOverride = Atraso ao passar (para Todos os Programas no Windows 7) -CSMHotkey.tipAddition = .\n\nO valor base é o código virtual da chave principal. Adicionar 256 para Shift, 512 para Control e 1024 para Alt.\nA melhor maneira de obter o valor é selecionar a tecla de atalho nas configurações do Open-Shell Menu e depois procurar o valor chamado CSMHotkey em HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\nO valor base é o código virtual da chave principal. Adicionar 256 para Shift, 512 para Control e 1024 para Alt.\nA melhor maneira de obter o valor é selecionar a tecla de atalho nas configurações do Open-Shell Menu e depois procurar o valor chamado WSMHotkey em HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/Portugese/OpenShellADMX.txt b/Src/Localization/Portugese/OpenShellADMX.txt deleted file mode 100644 index 3edc57c..0000000 --- a/Src/Localization/Portugese/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Configurações do Open-Shell -State.text = Estado: -State1.text = Bloqueado para esse valor -State2.text = Bloqueado para padrão -State3.text = Desbloqueado -State1Help.text = Se você definir o estado como 'Bloqueado para esse valor', a configuração será bloqueada para o valor especificado para todos os usuários. -State2Help.text = Se você definir o estado como 'Bloqueado para padrão', a configuração será bloqueada para o valor padrão para todos os usuários. O valor especificado é ignorado. -State3Help.text = Se você definir o estado como 'Desbloqueado', o valor padrão para a configuração mudará para o valor especificado. Usuários individuais podem substituir a configuração. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Configuração das diretivas de grupo do Open-Shell -SUPPORTED_CS404.text = Requer Open-Shell 4.0.4 ou superior. - -Language.nameOverride = Idioma dos componentes do Open-Shell -Language.tipOverride = Selecione o idioma a ser usado pelo Open-Shell (por exemplo, en-US ou de-DE). O idioma afetará o texto no menu Iniciar, barras de ferramentas, etc. Se a DLL do idioma apropriado estiver instalado, as configurações da interface do usuário também poderão ser traduzidas -Update.nameOverride = Habilitar verificação automática por novas versões -Update.tipOverride = Quando marcado, o Open-Shell irá verificar se há novas versões toda semana. Você será notificado se houver uma nova versão do Open-Shell ou uma nova atualização para seu idioma atual diff --git a/Src/Localization/Russian/ClassicExplorer.html b/Src/Localization/Russian/ClassicExplorer.html deleted file mode 100644 index 8c24fa0..0000000 --- a/Src/Localization/Russian/ClassicExplorer.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - Classic Explorer - -

Веб-узел Open-Shell  Classic Explorer


Classic Explorer представляет собой надстройку для проводника Windows, которая:
    - -
  • Добавляет -на панель инструментов проводника некоторые общие операции (Переход в -корневую папку, Вырезать, Копировать, Вставить, Удалить, Свойства, -Электронная почта). Панель инструментов полностью настраиваемая
  • -
  • Заменяет -пользовательский интерфейс копирования в Windows 7 на более удобный для -пользователей классическую версию похожую на Windows XP
  • - -
  • Включает -функцию нажатия сочетаний клавиш Alt+Enter на панели папок проводника -Windows, где можно отобразить свойства выбранной папки
  • - -
  • Включает доступ к параметрам для настройки панели папок как в Windows XP без кнопок раскрытия
  • -
  • Отображает свободное дисковое пространство и общий размер файлов в строке состояния
  • -
  • Может отключать раскрывающийся список путей в адресной строке
  • -
  • Исправляет -длинный список функций, которые не работают в Windows 7 - отсутствие -значка наложения для общих папках, быстрые переходы папок в панели -переходов, отсутствует сортировки заголовков в виде списка, и другое
  • - - - - -

Новый интерфейс копирования (только Windows 7)

При копировании файлов в Windows 7 вы видите следующее диалоговое окно:

До

Что случилось с ним?

- -

Ну, для начала, это диалоговое окно занимает половину экрана, и -нужно больше прочитать текста пока все станет ясно. Также не вполне -ясно, что нужно выбрать. Вы должны двигать указателем мыши вокруг, -чтобы открыть пользовательский интерфейс, как в приключенческих игр -Lucas Arts.a как в приключенческих игр Lucas Arts. И, наконец, крайне неудобное сочетание клавиш. Нужно постоянно подтверждатть “Да, перезаписать файлы”, нужно постоянно нажимать клавиши Alt+D, up, up, up, Space! Это сложнее, чем выполнение перемещения Akuma Kara Demon в игре Street Fighter 3. Занимает много времени при копировании файлов.

- -

Модуль кллассического проводника возвращает обратно простые диалоговые окна в стиле Windows XP:

- -

После

- -

Сразу видно, что это окно более интуивно понятное (клавиши - кнопки в нижней части), есть простая навигация клавиатурой (нажмите Y для “Да”, , -чтобы скопировать все файлы), также можно видеть, какой файл новее и -которой старше. И, конечно, как и в Windows XP, удерживая клавишу Shift при нажатии на кнопку "Нет" означает "Нет для всех" Shift+N).

- -

Если нажать Подробнее… -вы увидите оригинальное диалоговое окно Windows. Оттуда вы увидите все -сведения, и получите доступ к параметру "Копировать оба файла".

-

Важное примечание: Изменяется только интерфейс. На функциональность системы, функция копирования никак не влияет.

-


- - - -

Сочетание клавиш Alt+Enter на панели папок

Alt+Enter -это — универсальное сочетание клавиш Windows для выбора свойств. Но на -новых версиях Windows она не работает на левой панели, которая -отображает папки. Она отлично работает на панели справа, где находятся -файлы. Это неполадка по сравнению с Windows XP, где Alt+Enter работает -в обеих местах.

Чтобы решить эту проблему, модуль классического -проводника определят нажатие клавиш Alt+Enter и отображает свойства -выбранной папки.

-


- - -

Панель инструментов для проводника Windows

Проводник -Windows Vista не имеет панели инструментов, как в Windows XP. Если -нужно перейти в родительскую папку, нужно всегда использовать боковую -панель. Если вы хотите скопировать или удалить файл с помощью мыши, -щелкая правой кнопкой мыши вы увидите команду "Удалить". Щелкая правой -кнопкой мыши меню становится все больше и больше, болmit зависимостей -от установленных надстроек проводника, и поиск правильной команды может -занять некоторое время.

Чтобы решить эту проблему, модуль классического проводника добавляет новую панель инструментов:

 Панель инструментов проводника

-Доступные кнопки: Вверх, Вырезать, Копировать, Вставить, Удалить, -Свойства, Электронная почта, Параметры. Можно добавить больше кнопок в -диалоговом окне настроек прриложения.

Советы:
    - Удерживайте клавишу CTRL при нажатии на кнопку "Вверх", чтобы открыть родительскую папку в новом окне проводника.
    - Удерживайте клавишу Shift при нажатии на кнопку "Удалить", чтобы удалить файл

-Новая панель инструментов не отображается в проводнике автоматически -после установки. Перед использованием необходимо выполнить следующее:
    - -
  1. Открыть новое окно проводника Windows (Win+E)
  2. -
  3. Включить -меню в проводнике - Перейдите в меню "Сервис" (Alt+T), "Параметры -папок" на вкладку "Вид" и убедитесь, что выбран флажок "Всегда -отображать меню".
  4. -
  5. Щелкните правой кнопкой на строку меню и выберите команду "Классическая панель проводника", для отображения панели инструментов.
  6. -
  7. Если -эта команда не доступна (вы видите только "Закрепить панели -инструментов"), возможно, придется включить модуль из Internet -Explorer. Запустите Internet Explorer, нажмите правой кнопкой мыши на -панели и выберите "Классическая панель проводника". Будет предложено, -хотите включить эту надстройку. Выберите "Включить", затем повторите -шаги с 1 по 3.
  8. -
  9. Если даже после этого вы не видите панель -инструментов, возможно отключены надстройки обозревателя в системе. Это -поведение как правило по умолчанию для серверов. Откройте "Свойства -обозревателя", перейдите на вкладку "Дополнительно", и выберите -параметр "Разрешение сторонных расширений обозревателя".
  10. - -

Строка состояния

Classic -Explorer восстанавливает оригинальную строку состояния проводнка, -которая показывает объем свободного дискового пространства и размер -выбранных файлов:

Размер файла в строке состояния

-В отличие от встроенной строки состояния, размер выделения отображается -даже если выбрано более 100 файлов. Если файлы не выбраны, отображается -общий размер всех файлов в папке.

Примечание Windows 7: -компонент Classic Explorer улучшает строку состояния по умолчанию -вместо ее замены. Чтобы увидеть ее, вам придется включить ее сначала из -меню Вид. Строка состояния отличается от синей области сведений, -которую вы видите в нижней части проводника. Вы можете отключить -область сведений из меню Упорядочить для экономии места. Также -существует ошибка в проводнике Windows 7, что иногда не отображается -любой текст в строке состояния. Нажмите F5, чтобы обновить вид и получить текст состояния.

Windows 8 note: -Classic Explorer добавляет свою собственную строку состояния. Вы должны -скрыть строку состояния по умолчанию для экономии места. Выберите -вкладку "Вид" на ленте, а затем нажмите кнопку "Параметры". Выберите -вкладку "Вид" в параметрах. Найдите флажок "Показать строку состояния" -и отключите его.

Параметры

Можно получить доступ к параметры Classic Explorer из панели инструментов или из меню Пуск:


Вы -можете видеть только основные параметры, или все доступные параметры. -Наведите указатель мыши на каждый параметр, чтобы увидеть его описание. -Введите в поле поиска, чтобы найти параметр по имени.
Каждый -параметр имеет значение по умолчанию. Значение по умолчанию может быть -постоянным, или может зависеть от текущих настроек системы. После -изменения параметра, он отмечается жирным шрифтом. Чтобы вернуться к -значению по умолчанию, щелкните правой кнопкой мыши на параметре.

Вы можете сохранить настройки в файл XML, а затем загрузить их обратно. Нажмите кнопку Архивация параметров, чтобы получить доступ к этим функциям. Оттуда вы можете также восстановить все параметры в их значения по умолчанию.

-Нажмите OK, чтобы сохранить параметры. Большинство параметров будут -применены при следующем открытии окна проводника. Для меньшества -параметров потребуется закрыть программу, прежде чем вы сможете увидеть -изменения.

Примечание: -размеры окна "Все параметры" можно изменить. Измените размеры окна в -нужный размер. Размеры и положение диалогового окна параметров будут -сохранены.

Вот один пример того, что может быть настроено:
Заголовок панели настроек

Нажмите на вкладку Кнопки панели инструментов, чтобы настроить панель инструментов:


Столбец -слева отображает текущие кнопки на панели инструментов, а столбец -справа перечислены кнопки, которые можно добавить на панель -инструментов. Вы можете перетаскивать кнопки с столбца справа на -столбец слева. Вы можете изменить кнопки, перетаскивая их вверх и вниз. -Если вы вставите одну кнопку внутрь другой, то будет создано подменю.
-Наведите указатель на каждую кнопку, чтобы увидеть краткое описание -того, что она делает. Щелкните правой кнопкой мыши на каждую кнопку, -чтобы получить доступ к дополнительным функциям (например, удаление, -переименование и т. д.). Из контекстного меню правой кнопки мыши можно -также восстановить панель инструментов в исходное состояние.
Каждый -элемент в левом столбце должен иметь уникальное имя. Это идентификатор -элемента и может содержать только английские буквы, цифры и символы -подчеркивания. Некоторые элементы (такие как разделитель) не могут быть -переименованы.

Важное примечание: Не все доступные команды имеют по умолчанию значки или текст. Это потому, что Windows не имеет для этого значков, как Отменить, Выделить все, -и т. д. Если вы хотите использовать такие кнопки на панели -инструментов, вы должны будете указать свой собственный значок. См. -ниже, как это сделать.

После размещения кнопки на панель -инструментов, вы можете редактировать ее атрибуты. Дважды щелкните на -кнопку для редактирования:
Редактирование кнопки панели инструментов
Здесь вы можете выбрать команду для кнопки, ее текст и значок. Нажмите кнопку Восстановить значения по умолчанию, чтобы получить текст и значок по умолчанию для выбранной команды.
Командой может быть:
    - - -
  • left blank - если атрибут ссылки используется, он будет действовать как команда
  • -
  • одна из предопределенных команд - из раскрывающегося списка
  • -
  • open <ваша папка> - открывает папку в текущем обозревателе
  • -
  • sortby <свойство> - будет сортировать папки данного свойства по - имя, тип, размер или дата. Используйте символ '-' в начале свойства для сортировки в порядке убывания: "sortby -name". Вы можете использовать другие свойства, если вы знаете их ​​код. Например "sortby {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10" является тем же самым что и "sortby name". Чтобы узнать больше о кодах свойств обратиться к файлу propkey.h в Windows SDK (также вы можете узнать о них здесь -- прокрутив страницу вниз до раздела "Полная таблица свойств"). Не все -коды свойства правильны и не поддерживаются (например свойство год альбома {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 работает только при показе музыкальных альбомов)
  • -
  • groupby <свойство> - похоже на sortby, а группы файлов по заданным свойством. Используйте команду groupby без свойства, чтобы отключить группировку
  • - - - -
  • custom executable string -- Это может быть имя программы и ее аргументы, или даже URL (например, -http://www.google.com). Вы можете использовать переменные среды как %SystemRoot%. Вы можете также использовать заполнители %1, %2, %3, %4 and %5:
  • -
      -
    • %1 -является местоположением к текущей папке. Имейте в виду, что если это -текущая корневая папка диска, она будет заканчиваться обратной косой -черты (например C:\)
    • -
    • %2 является местоположением выбранного файла (только если выделен файл)
    • -
    • %3 -является именем временного текстового файла, который содержит все -выбранные файлы. Каждая строка в текстовом файле содержит один файл с -его полным путем
    • -
    • %4 -то же самое, как %3, но файл в формате юникод (UTF16). файл не содержит -метку порядка байтов. % 3% и 4 не могут использовать одну и туже команду
    • -
    • Примечание для разработчиков: При -использовании переменной %3% или 4, она твечает за команду удаления -временных файлов после завершения. В противном случае временный файл -будет оставлен на диске. Кроме того, если команда является консольным -приложением или командным файлом она будет запущена в автоматическом -режиме без каких-либо консольных окон
    • - -
    • %5 -это имя временного файла текста, который может быть использован для -возвращения команды обратно в Classic Explorer. Если первые 2 байта -файла 255 и 254, файл рассматривается как юникод. Только одна команда -может быть использована одновременно. Параметром команды может быть:
    • -
        -
      • open <folder name> - заставляет проводник перейти к данной папке
      • -
      • select <list of file names> -- выделяет указанные файлы, и отменяет выбор всех остальных файлов. -Имена файлов должны быть разделены табуляцией или символом новой -строки. Файлы не должны содержать пути. Если файлы содержат путь, путь -будет игнорироваться
      • -
      • refresh - обновляет проводник
      • -
      -
    -
      -
    • Примечание для разработчиков: -команды использующие переменную %5 будут выполнены в автоматическом -режиме (например, команды, с использованием переменно %3 или %4), но -также проводник будет ждать завершения процесса. Этот процесс должен -быть завершен как можно быстрее, поскольку проводник не будет отвечать -во время выполнения команды
    • -
    • См. следующий раздел для просмотра нескольких примеров, как использовать эти параметры
    • - -
    -
Ссылкой можеть быть путь к файлу или папке. Если это файл, этот -файл будет выполнен. Если это папка, папка будет открыта в качестве -подменю (только для кнопки "Переход на один уровень вверх").

Значком может быть:
    -
  • left blank - то, если ссылка атрибут указывает на файл или папку, будет использоваться значок этого файла или папки
  • -
  • resource file,icon ID - например %windir%\notepad.exe,2. Не оставляйте пробелы между именем файла и запятой. Убедитесь, что вы используете идентификатор ресурса значка, а не индекс значка. Для достижения наилучших результатов, используйте кнопку [...] рядом со значком окна
  • -
  • ,icon ID - то же, что и выше, но файл ресурсов ClassicExplorer.dll устанавливается самостоятельно. Это полезно, когда речь идет о собственных значках Classic Explorer
  • -
  • icon file -  например C:\Program Files\Mozilla Thunderbird\Email.ico
  • -
  • none - будет использоваться пустой значок
  • -
Если подпись или подсказка атрибута начинается с символа $ (символ доллара), то система будет рассматривать его как имя строки в файле ExplorerL10N.ini. -Сам текст будет зависеть от текущей настройки языка. Это полезно при -создании панели инструментов, которые могут быть использованы в -нескольких языках.

Примечание для разработчиков: Кнопки для пользовательских команд могут быть включены или отключены. Панель инструментов проверяется разделом реестра HKCU\Software\OpenShell\ClassicExplorer -для параметра DWORD с именем кнопки (название, используемое в столбце -слева). 0 означает стандартный, 1 включено и 2 отключено. Панель -инструментов считывает разделы реестра при запуске. Чтобы принудительно -обновить кнопки их состояние, найдите их в окне проводника, найдите -дочернее окно с классом OpenShell.CBandWindow, и отправьте сообщение WM_CLEAR. Это полезно, если вы разрабатываете другой EXE-файл для использования на панели инструментов.

Примеры дополнительных команд

-

0) Используйте кавычки, когда это необходимо

В целях поддержки -пути, содержащие пробелы, необходимо использовать кавычки вокруг пути -параметров. Кавычки не всегда требуются, как в примерах 1 и 2 ниже. -Убедитесь, что вы проверили ваши команды с путями, содержащие пробелы, -чтобы избежать ошибок.

1) Печать текущей папки

Команда: cmd.exe /k echo %1. Переменная %1 будет заменена на путь к текущей папке.

2) Открыть выбранный файл в блокноте

Команда: %SystemRoot%\notepad.exe %2. -Переменная %2 будет заменена на полное имя выбранного файла. Команда не -должна быть в кавычках, поскольку блокнот использует всю командную -строку, как имя файла.

3) Скопировать выбранные файлы в родительскую папку

Создать командный файл с именем C:\CopyParent.bat:
set list=%1
set list=%list:"=%
for /F "delims=" %%i in (%list%) do copy /Y "%%i" ..
del %1

Используйте эту команду: C:\CopyParent.bat "%3". -Переменная %3 будет заменена на текстовый файл, содержащий полные имена -всех выбранных файлов. Командный файл будет читать каждую строку -текстового файла и копировать каждый из выбранных файлов в родительскую -папку. В конце командный файл выполнит удаление исходного временного -файла. Первые два набора команд удаляют кавычки из параметра %1.

4) Выделить все текстовые файлы

Создайте командный файла с именем C:\SelectText.bat:
echo select > %1
dir *.txt /b >> %1

Используйте эту команду: C:\SelectText.bat "%5". -Переменная %5 будет заменена пустой текстовым файлом, где команда -должна вывести слово "select" и список файлов для выбора. Команда "dir -*.txt /b" предоставляет такой список.


Административные параметры

Параметры -для каждого пользователя хранятся в реестре. По умолчанию каждый -пользователь может изменить все свои параметры. Администратор может -заблокировать конкретные параметры, поэтому ни один пользователь не -сможет редактировать их:

-В этом примере параметр "Показывать кнопку Вверх" заблокирован, чтобы -всегда быть перед кнопками "Назад / Вперед" и не может быть изменен -любым пользователем. Это достигается путем добавления параметра в -разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicExplorer. Создать строковое значение, вызываемое "ShowUpButton" и установить его в "BeforeBack".

-В некоторых случаях возможно вы не захотите заблокировать значение для -всех пользователей, просто измените начальное значение параметра. В -таком случае добавьте имя значения "_Default". Например, если вы хотите -кнопку вверх прежде чем обратно по умолчанию но по-прежнему позволяют -пользователям изменять его, если они пожелают создать строковое -значение с именем "ShowUpButton_Default" и установите его в -"BeforeBack".

Самый простой способ узнать имя параметра -реестра и его значение заключается в том, чтобы изменить его, а затем -посмотреть его в HKEY_CURRENT_USER\Software\OpenShell\ClassicExplorer\Settings.
-Иногда вы можете заблокировать параметр в значение по умолчанию, но вы -не знаете, что значение по умолчанию. Затем создайте параметр DWORD и -установите его на 0xDEFA.

Существует также глобальный параметр EnableSettings. Установите его в 0 в реестре в целях предупреждения пользователей даже не открывая диалоговое окно параметров:
Отключить все параметры

-Вы можете включить или отключить классический проводник для выбранных -процессов с использованием 2 параметров реестра "ProcessWhiteList" и -"ProcessBlackList". ProcessWhiteList -является списком процессов, для которых будет загружаться Classic -Explorer. Используйте только имя файла процесса (например, "Блокнот"), -разделив несколько имен запятой или точкой с запятой. ProcessBlackList -является списком процессов, для которых Classic Explorer не будет -загружаться. Нужно использовать только один из двух списков. Если оба -списка не указаны, черный список будет проигнорирован. Списки -используются только при включении функции, которые используеются -другими процессами, чем проводник. В настоящий момент эти функции -являются: значок наложения для общих файлов и заменители для диалоговых -окон функции копирования.
-
-Также поддерживается редактирование параметров через групповые политики. Распакуйте файл PolicyDefinitions.zip в папке установки и прочитайте документацию PolicyDefinitions.rtf для получения более подробной информации.


Зависимости в параметрах Windows

Некоторые параметры классического проводника требуют специфических настроек Windows, в целях поддержки:
    -
  • Стиль панели переходов Windows Vista - требуется использовать Aero или обычную тему Windows
  • -
  • Автоматический переход к выбранной папке -- Этот параметр может быть установлен на "Always" только тогда, когда -проводник имеет значение "Автоматически разворачивать до текущей -папки". Ищите его в вкладке Общие меню Сервис -> Параметры папок
  • -
  • Выводить полный путь в строке заголовка -- заголовок покажет либо полный путь или только название текущей папки. -Чтобы увидеть полный путь вам необходимо включить "Выводить полный путь -в строке заголовка (только классиечская тема)" на вкладке Вид меню Сервис -> Параметры папок
  • -
  • Все настройки в строке состояния - требуют включить строку состояния (не путать с панелью "Сведения"). Включите в меню Вид -> Строка состояния
  • -

Локализация

Пользовательский интерфейс (за исключением диалогового окна Параметры) локализован на 35 языках.
-Диалоговое окно параметров программы переведено на меньшее количество -языков. Программа установки по умолчанию содержит только русский язык. -Дополнительные языки можно загрузить на странице переводов. Убедитесь, что вы загружаете языковый пакет для точной версии Open-Shell.

diff --git a/Src/Localization/Russian/ClassicExplorerADMX.txt b/Src/Localization/Russian/ClassicExplorerADMX.txt deleted file mode 100644 index 45b8b03..0000000 --- a/Src/Localization/Russian/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Настройки Open-Shell -State.text = Сотояние: -State1.text = Блокировать это значение -State2.text = Блокировка по умолчанию -State3.text = Разблокировано -State1Help.text = Если установить состояние в "Блокировать это значение", параметр будет заблокирован до указанного значения для всех пользователей. -State2Help.text = Если установить состояние в "Блокировка по умолчанию", будет заблокирован параметр к значению по умолчанию для всех пользователей. Указанное значение игнорируется. -State3Help.text = Если установить состояние в "Разблокировано", значение по умолчанию для параметра изменится на указанное значение. Некоторые пользователи могут переопределить параметр. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Параметры групповой политики Classic Explorer -SUPPORTED_CS404.text = Требовать Open-Shell 4.0.4 или выше. -SUPPORTED_CS404_WIN7.text = Требовать Windows 7. -SUPPORTED_CS404_WIN881.text = Требовать Windows 8 или Windows 8.1. - -AddressAltD.nameOverride = Дополнительная клавиша для адресной строки -AddressAltD.tipOverride = Введите букву от "A" до "Z", чтобы указать клавишу для адресной строки в комбинации с клавишей Alt -EnableSettings.nameOverride = Включить настройки -EnableSettings.tipOverride = Позволяет пользователям редактировать свои собственные настройки -ProcessWhiteList.nameOverride = Белый список процессов -ProcessWhiteList.tipOverride = Список процессов, который может загрузить Classic Explorer. Используйте только имя файла процесса (например, "notepad.exe"), несколько имен разделяются запятой или точкой с запятой. -ProcessBlackList.nameOverride = Черный список процессов -ProcessBlackList.tipOverride = Список процессов, который не будет загружать Classic Explorer. Используйте только имя файла процесса (например, "notepad.exe"), несколько имен разделяются запятой или точкой с запятой. -ToolbarItems.nameOverride = Кнопки панели инструментов -ToolbarItems.tipOverride = Выбор кнопок для отображения на панели инструментов.Самый лучшим способом является настройка кнопок в диалоговом окне "Параметры Classic Explorer" и затем выполнить поиск значения реестра с именем ToolbarItems в HKCUSoftwareOpenShellClassicExplorerSettings - - -; os-specific -FileExplorer.nameOverride = Разрешить диалоги только в проводнике (повышает производительность) diff --git a/Src/Localization/Russian/ClassicIE.html b/Src/Localization/Russian/ClassicIE.html deleted file mode 100644 index 37b47ec..0000000 --- a/Src/Localization/Russian/ClassicIE.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - Classic IE - -

Веб-узел Open-Shell  Classic IE


Classic IE
представляет собой небольшую надстройку для Internet Explorer, которая:
    -
  • Добавляет подписи к строке заголовка, поэтому вы можете увидеть полный заголовок страницы
  • -
  • Отображает зону безопасности в строке состояния
  • -
  • Отображает прогресс загрузки в строке состояния
  • -

Вид полного названия страницы, даже когда она не помещается в закладке:


Вид строки хода выполнения и зоны безопасности:


Установка

При -запуске обозревателя Internet Explorer в первый раз после установки -Classic IE, он может запросить установку нового дополнения под -названием ClassicIEBHO, и если вы хотите включить эту функцию, нажмите -на кнопку "Включить". Если вы не получите подсказку, перейдите в меню Сервис -> Управление надстройками -и убедитесь, что надстройка ClassicIEBHO включена. После включения этой -надстройки вы должны перезапустить Internet Explorer, чтобы -активировать ее.

Параметры

Параметры можно открыть из меню Сервис -> Параметры Classic IE -или из меню "Пуск". Настройки управления цветом и шрифтом заголовка, и -какую информацию необходимо показывать в строке состояния.


Вы -можете видеть только основные параметры, или все доступные параметры. -Наведите указатель мыши на каждый параметр, чтобы увидеть описание -данного параметра. Введите в поле поиска имя параметра, чтобы найти -параметр по имени.
Каждый параметр имеет значение по умолчанию. -Значение по умолчанию может быть постоянным, или может зависеть от -текущих настроек системы. После изменения параметра, он отмечается -жирным шрифтом. Чтобы вернуться к значению по умолчанию, щелкните -правой кнопкой мыши на параметр.

Вы можете сохранить настройки в XML-файл, а затем загрузить их обратно. Нажмите кнопку Архивация параметров, чтобы получить доступ к этим функциям. Оттуда вы можете также восстановить все параметры в их значения по умолчанию.

Нажмите OK, чтобы сохранить параметры. Необходимо перезапустить Internet Explorer, чтобы применить новые настройки.

Административные параметры

Параметры -для каждого пользователя хранятся в реестре. По умолчанию каждый -пользователь может изменить все свои параметры. Администратор может -заблокировать конкретные параметры, поэтому ни один пользователь не -сможет их редактировать. Это достигается путем добавления параметра -реестра HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicIE.

-Вы также можете не блокировать параметр, но только переопределить его -начальное значение. Затем добавьте имя значения реестра "_Default".

-Самый простой способ узнать имя реестра параметр и его значение -заключается в том, чтобы изменить его, а затем посмотреть его в HKEY_CURRENT_USER\Software\OpenShell\ClassicIE\Settings.
-Иногда вы можете заблокировать параметр в значение по умолчанию, но вы -не знаете, что значение по умолчанию. Затем создайте параметр DWORD и -установите его на 0xDEFA.

Существует также глобальный параметр EnableSettings. Установите его в 0 в реестре в целях предупреждения пользователей даже не открывая диалоговое окно настроек:


-Также поддерживается редактирование параметров через групповые политики. Распакуйте файл PolicyDefinitions.zip в папке установки и прочитайте документацию PolicyDefinitions.rtf для получения более подробной информации.
- diff --git a/Src/Localization/Russian/ClassicIEADMX.txt b/Src/Localization/Russian/ClassicIEADMX.txt deleted file mode 100644 index 8b76978..0000000 --- a/Src/Localization/Russian/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Настройки Open-Shell -State.text = Состояние: -State1.text = Блокировать это значение -State2.text = Блокировано по умолчанию -State3.text = Разблокировано -State1Help.text = Если установить состояние "Блокировать это значение", параметр будет заблокирован до указанного значения для всех пользователей. -State2Help.text = Если установить состояние "Блокировано по умолчанию", будет заблокирован параметр к значению по умолчанию для всех пользователей. Указанное значение игнорируется. -State3Help.text = Если установить состояние "Разблокировано", значение по умолчанию для параметра изменится на указанное значение. Некоторые пользователи могут переопределить параметр. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Параметры групповой политики Classic IE -SUPPORTED_CS404.text = Требовать Open-Shell 4.0.4 или выше. -SUPPORTED_IE9.text = Требовать Internet Explorer 9 или выше. - - -EnableSettings.nameOverride = Включить параметры -EnableSettings.tipOverride = Позволяет пользователям редактировать свои собственные настройки -CaptionFont.tipAddition = .\n\nФормат , , . Например "Segoe UI, normal, 9" diff --git a/Src/Localization/Russian/License.html b/Src/Localization/Russian/License.html deleted file mode 100644 index a14c8dd..0000000 --- a/Src/Localization/Russian/License.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - Лицензионное соглашение - -

Лицензионное соглашение


Open-Shell 2009-2017, Ivo Beltchev

http://www.classicshell.net/

ИСПОЛЬЗУЯ ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, ВЫ ПРИНИМАЕТЕ ЭТИ УСЛОВИЯ. ЕСЛИ ВЫ НЕ СОГЛАСНЫ, НЕ ИСПОЛЬЗУЙТЕ ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.

Если вы согласны с условиями данной лицензии, вам предоставляются следующие права.

    -
  1. -

    ОБЛАСТЬ ПРИМЕНЕНИЯ ЛИЦЕНЗИИ. Это соглашение дает вам только некоторые права на использование этого программного обеспечения. Автор оставляет за собой все остальные права.

    -
  2. -
  3. -

    УСТАНОВКА И ИСПОЛЬЗОВАНИЕ. Это программное обеспечение является бесплатным для личного и коммерческого использования. Вы можете установить и использовать его на компьютерах бесплатно.

    -
  4. -
  5. -

    ПРАВА НА РАСПРОСТРАНЕНИЕ.Вы можете распространять это программное обеспечение до тех пор, пока вы делаете это бесплатно, без ложных сведений о происхождении этого программного обеспечения.

    -
  6. -
  7. -

    ТОВАРНЫЕ ЗНАКИ. Название и логотип Open-Shell являются товарными знаками автора. Использование их для для определения других продуктов или услуг запрещено.

    -
  8. -
  9. -

    ОТКАЗ ОТ ГАРАНТИЙ. ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ", БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ ТОВАРНОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ. НИ ПРИ КАКИХ УСЛОВИЯХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ИННУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ ТО В ДЕЙСТВИЯ ДОГОВОРА, ДЕЛИКАТЕ ИЛИ ИНОМ, СВЯЗАННОМ, В РЕЗУЛЬТАТЕ ИЛИ В СВЯЗИ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ДРУГИХ СДЕЛОК В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ.

    -
  10. -
  11. -

    ИННЫМИ СЛОВАМИ: В принципе вы можете использовать это программное обеспечение свободно в любых целях, но не удивляйтесь, если оно не работает, как вы этого ожидали. Автор не несет ответственность за любые убытки, которые произошли в связи с использованием этого программного обеспечения. Продажа этого программного обеспечения запрещена. Так как вы получили его бесплатно.

    -
  12. -
- - - diff --git a/Src/Localization/Russian/Links.html b/Src/Localization/Russian/Links.html deleted file mode 100644 index fcf2061..0000000 --- a/Src/Localization/Russian/Links.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - Open-Shell - -

Веб-узел Open-Shell  Ссылки


Последнюю версию можно найти на веб-узле Open-Shell:
http://www.classicshell.net/

Просмотр истории проекта:
История: http://www.classicshell.net/history/


Поддержка

Ответы на часто задаваемые вопросы смотрите здесь:
Часто задаваемые вопросы: http://www.classicshell.net/faq/

Если вы не нашли свой ответ в в разделе часто задаваемых вопросов, перейдите на форумы обсуждения:
Дискуссионные форумы: http://www.classicshell.net/forum/viewforum.php?f=6


Сообщения о проблемах

Сообщайте об ошибках и о запросах новых возможностей приложения на форумах разработчика:
Форумы разработчика: http://www.classicshell.net/forum/viewforum.php?f=11
diff --git a/Src/Localization/Russian/Main.html b/Src/Localization/Russian/Main.html deleted file mode 100644 index 558aeb7..0000000 --- a/Src/Localization/Russian/Main.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - Open-Shell - -

Веб-узел Open-Shell  Open-Shell

Версия -4.3.1 общий выпуск

Что такое Open-Shell?

Open-Shellпредставляет собой коллекцию улучшений для Windows. Open-Shell имеет настраиваемые главное меню и кнопку Пуск, добавляет панель инструментов для проводника Windows и поддерживает множество мелких функций.



Системные требования

Open-Shell работает на Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 и Windows Server 2012 R2. Поддерживает 32 и 64-разрядные версии (универсальная программа установки). Для некоторых обложек меню "Пуск" необходимо включить тему Aero. Для других обложек требуется тема упрощенного стиля Windows.


Компоненты


Open-Shell имеет три основных компонента:

Удаление

Вы можете удалить Open-Shell через Панель управления -> Программы и компоненты. Другой способ удаления заключается в  в повторном запуске программы установки и выборе команды "Удалить".
Возможно потребуется завершить сеанс для завершения этого процесса.

diff --git a/Src/Localization/Russian/Menu.html b/Src/Localization/Russian/Menu.html deleted file mode 100644 index 5478971..0000000 --- a/Src/Localization/Russian/Menu.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - - - - - - Open-Shell Menu -

Веб-узел Open-Shell  Классическое меню Пуск


Open-Shell Menu
-это гибкое меню Пуск, которое может имитировать поведение меню Windows -2000, XP и Windows 7. Классическое меню имеет целый ряд дополнительных -возможностей:
    - -
  • Выбор между стилями Классик и Windows 7
  • -
  • Перетаскивание, для организации приложений
  • - -
  • Параметры для отображения 'Избранного', раскрытия панели управления, и т. д.
  • -
  • Отображения недавно использовавшихся документов. Количество документов, которые можно настроить на отображение
  • -
  • Локализация на 35 языках, включая раскладку справа налево с поддержкой арабского языка и иврита
  • -
  • Не отключает стандартное меню "Пуск" Windows. Можно получить доступ к нему через Shift+щелчек на кнопке 'Пуск'
  • -
  • Щелкните правой кнопкой мыши на элемент в меню, чтобы удалить, переименовать, сортировать или выполнить другие задачи
  • -
  • Поле поиска поможет вам найти программы и файлы без получения пути сочетанием клавиш
  • -
  • Поддержка списков переходов для быстрого доступа к последним документам и общим задачам
  • -
  • Программа работает на 32 и 64-разрядных операционных системах
  • -
  • Имеется поддержка обложек, в том числе 3 дополнительных обложки. Вы можете создать свою собственную обложку!
  • -
  • Полностью настраиваемый внешний вид и функциональность
  • -
  • Поддержка возможностей для Microsoft Active Accessibility
  • -
  • Преобразовывает кнопку "Все программы" меню Windows в каскадное меню
  • -
  • Реализует настраиваемую кнопку Пуск
  • -
  • Можно показать, найти и запустить приложения Windows Store (Windows 8)
  • - - - - -
  • И последнее, но не менее важное - программа совершенно БЕСПЛАТНА!
  • -

Стили

Для выбора меню Пуск предлагается 3 стиля.

1) Один столбец - классический стиль


-Этот стиль похож на меню в Windows 2000. Он имеет один столбец в -главном меню с вертикальным текстом на стороне. Вы можете настроить -порядок элементов, значки и текст.
Программы, списки переходов и результаты поиска отображаются как каскадное подменю.

2) Два столбца - классический стиль


-Этот стиль похож на меню Windows XP. Имеются два столбца, где вы можете -организовать ваши элементы меню. Можно настроить порядок, значки и -текст.
Программы, списки переходов и результаты поиска отображаются как каскадное подменю.

3) Стиль Windows 7


-Этот стиль похож на меню Windows Vista и Windows 7. Элементы в первом -столбце предварительно определенны для закрепления и последние -программы, список всех программ и окно поиска. Элементы во втором -столбце полностью настраиваемые.
Списки переходов и результаты -поиска отображаются внутри главного меню. Программы могут быть внутри -главного меню или открыты как каскадное подменю.
Этот стиль -предлагает меньшую настройку параметров, чем классические стили, но -имеет представление и более знакомый вид который пользователи -использовали для Windows 7.


Операция

Если вы использовали меню Пуск в более ранних версиях Windows вы будете чувствовать себя как дома:

Нажмите клавишу Windows или щелкните на кнопку в углу экрана слева, чтобы открыть меню Пуск.

-

Удерживайте клавишу Shift при щелчке на изображении кнопки пуск для доступа к оригинальному меню Пуск операционной системы.

-

Щелкните на элемент для его выполнения.

-

Перетащите программу, чтобы изменить порядок программ в меню, или переместить ее в другую папку.

-

Щелкните правой кнопкой мыши на элемент, чтобы переименовать, -удалить, просматривать, сортировать меню или выполнять другие задачи.

-

Щелкните правой кнопкой мыши на шарик для редактирования параметров -меню 'Пуск', чтобы просмотреть этот файл справки, или закрыть меню Пуск.

-


- -

Параметры

Щелкните правой кнопкой мыши на кнопку Пуск для доступа к параметрам:


-Вы можете просматривать основные параметры или все доступные параметры. -Наведите указатель мыши на каждый параметр, чтобы увидеть описание -данного параметра. Введите в поле поиска имя параметра, чтобы найти -параметр по имени.
Каждый параметр имеет значение по умолчанию. -Значение по умолчанию может быть постоянным, или может зависить от -текущих настроек системы. После изменения параметра, он отмечается -жирным шрифтом. Чтобы вернуться к значению по умолчанию, щелкните -правой кнопкой мыши на параметр.

Вы можете сохранить настройки -в XML-файл, а затем загрузить их обратно. Нажмите кнопку 'Архивация -параметров' для доступа к этим функциям. Оттуда вы можете также -восстановить все параметры в их значения по умолчанию.

-Большинство параметров будут изменены сразу же после их изменения. -Например, вы можете отредактировать меню 'Пуск', во время открытия -диалогового окна параметров. Откройте меню 'Пуск', чтобы увидеть -изменения. Для некоторых параметров потребуетcя закрыть меню 'Пуск', -прежде чем вы можете увидеть изменения.

Примечание:окно -"Все параметры" можно изменять. Измените размеры окна в нужном месте. -Размеры и положение диалогового окна параметров будут сохранены.

Щелкните на вкладку Настройка меню "Пуск", чтобы настроить элементы меню. В зависимости от стиля вы увидите различный пользовательский интерфейс.

-Для классических стилей можно настроить оба столбца в меню Пуск и -создать подменю. В левом столбце отображаются текущие элементы в меню и -в правом столбце отображаются доступные элементы меню. Перетащите -справа налево для добавления элементов в меню.


Для стиля Windows 7 можно только редактировать элементы для второго столбца и существующее не подменю.



Дважды щелкните на значке для редактирования свойств элемента:

Здесь вы можете выбрать команду для элемента, его текст, значок и другие атрибуты. Нажмите кнопку Восстановить значения по умолчанию, чтобы получить текст и значок по умолчанию для выбранной команды.

Командой может быть:
    -
  • одна из предопределенных команд - из раскрывающегося списка
  • custom executable string -- это может быть имя программы и ее аргументы, или даже URL (например, -http://www.google.com). Поддерживаются переменные окружения например: -%SystemRoot%
  • left blank - если используется атрибут ссылки, он будет действовать как команда
  • -
Ссылкой можеть быть путь к файлу или папке. Если это файл, этот -файл будет выполнен. Если это папка, то папка будет открыта как -подменю. Некоторые элементы меню (например, Программы и Избранное) -имеют неявный атрибут ссылки, поэтому для них окно ссылки будет -отключено.

Значком может быть:
    -
  • left blank - если ссылка атрибута указывает на файл или папку, будет использоваться значок этого файла или папки
  • resource file,icon ID - например %windir%\notepad.exe,2. Не оставляйте пробелы между именем файла и запятой. Убедитесь, что вы используете идентификатор ресурса значка, а не индекс значка. Для достижения наилучших результатов, используйте кнопку [...] рядом с окном значка
  • ,icon ID - то же самое, но файлом ресурсов является StartMenuDLL.dll. Это полезно, когда речь идет о значках в меню Пуск
  • icon file -  например C:\Program Files\Mozilla Thunderbird\Email.ico
  • none - будет использоваться пустой значок
  • -
Если подпись или подсказка атрибута начинается с символа $ (символ доллара), то система будет рассматривать его как имя строки в файле StartMenuL10N.ini. -Сам текст будет зависеть от текущей настройки языка. Это полезно при -создании меню, которые могут быть использованы в нескольких языках.

-Если вы установите флажок "Вставить подэлементы как кнопки ", вместо -того чтобы показывать элемент меню самостоятельно, меню Пуск отобразит -подэлементы как ряд кнопок. По умолчанию кнопки в центре. Вы можете -выровнять их влево, добавив разделитель в качестве последнего элемента, -или выровнять их вправо, добавив разделитель в качестве первого -элемента. Один из вариантов использования заключается в замене элемента -меню "Завершение работы" с разделителем кнопок для элементов -"Завершение работы", "Перезагрузка", Завершение сеанса", и т. д.

Административные параметры

Параметры -для каждого пользователя хранятся в реестре. По умолчанию каждый -пользователь может изменить все свои параметры. Администратор может -заблокировать конкретные параметры, поэтому ни один пользователь не -сможет редактировать их:

-В данном примере параметр "Включить меню правой кнопки мыши" всегда -заблокировано и не может быть изменен любым пользователем. Это -достигается путем добавления параметра в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\Menu. Создайте значение DWORD под названием "EnableContextMenu" и установите его в 0.

-В некоторых случаях возможно вы не захотите заблокировать значение для -всех пользователей, просто измените начальное значение параметра. В -таком случае добавьте имя значения "_Default". Например, если -контекстное меню по умолчанию отключено, но по-прежнему хотите -разрешить пользователям эту функцию, если они пожелают, создайте -значение DWORD с именем "EnableContextMenu_Default" и установите его в -0.

Самый простой способ узнать имя параметра реестра и его -значение заключается в том, чтобы изменить его, а затем посмотреть его -в HKEY_CURRENT_USER\Software\OpenShell\StartMenu\Settings.
-Иногда вы можете заблокировать параметр в значение по умолчанию, но вы -не знаете, что значение по умолчанию. Затем создайте параметр DWORD и -установите его на 0xDEFA.

Имеется также глобальный параметр -"EnableSettings". Установите его значение в 0 в реестре, чтобы -запретить пользователям открытие диалогового окна параметров:


Меню Пуск также проверяет большую часть групповых политик, установленных администратором. Выполните команду gpedit.msc и перейдите в раздел Конфигурация пользователя -> Административные шаблоны -> Меню Пуск и панель задач. Оттуда вы можете отключить элементы меню "Выполнить", "Завершение работы", "Справка" и другие функции. (не доступно в изданиях "Windows Домашняя").
-
-Также поддерживается редактирование параметров через групповые политики. Распакуйте файл PolicyDefinitions.zip в папке установки и прочитайте документацию PolicyDefinitions.rtf для получения более подробной информации.


Сведения об обложках

Вы можете выбрать любую из встроенных обложек:

Обложки для классического меню Пуск

Или -вы можете загрузить и установить дополнительные обложки сторонних -авторов (из главного веб-сайта или из другого места). После загрузки -новой обложки необходимо скопировать файл .skin в папку "Skins" – как правило это путь C:\Program Files\Open-Shell\Skins. После этого обложка будет доступна в диалоговом окне параметров приложения.

Примечание: -Некоторые обложки могут быть специально разработаны для классического, -упрощенного, или Aero режимов. Например, обложка может потребовать -поддержку прозрачности Aero, любая друга будет выглядеть некорректно, -если выбрана тема классического или упрощенного стиля. Некоторые -обложки Aero также могут потребовать конкретный цвет прозрачности.

-Вы можете создать свою собственную обложку. Вам понадобится графический -редактор, поддерживающий редактирования альфа-каналов (например, Gimp -или Photoshop), а также средство для редактирования файлов ресурсов -(например, Resource Hacker или Visual Studio). И конечно, какой-то -талант для графического дизайна :). Прочитайте руководство пользователя перед началом работы.



Поиск



-Поле поиска позволяет выполнять поиск содержимого в меню Пуск, -программы в переменной среды PATH и индексируемых файлов. Можно -отобразить поле поиска как обычный элемент меню, а затем можно -выполнить переход на поле поиска с помощью клавиш стрелок вверх / вниз. -Вы можете установить фокус на поле поиска по умолчанию при открытии -меню "Пуск". Или вы можете выбрать активировать поле поиска, только с -помощью клавиши Tab. В этом случае, пока вы не нажмете клавишу Tab вы -можете использовать клавиатуру для навигации, если поле поиска не -существует.

Результаты поиска отображаются в главном меню, если вы используете стиль Windows 7 или в подменю для классических стилей.
-Щелкните по каждой категории, чтобы развернуть ее и просмотреть -дополнительные результаты. Щелкните на значок в конце, чтобы -просмотреть все результаты в проводнике.

Классические стили -позволяют регистрировать дополнительных поставщиков поиска, которые -можно использовать для поиска текста из поля поиска. Запустить -программу поиска можно через меню, или нажатием клавиш Alt+key. В этом -примере используется Alt+A для Agent Ransack.


Это делается путем добавления подэлементов SearchBoxItem на вкладке Настройка меню Пуск:


Откройте каждый из подпунктов и введите команду, чтобы запустить программу поиска. Если вы используете %1 в команде, она будет заменена на содержимое окна поиска. Если вы используете %2 -она будет заменена на URL-стиль закодированного текста поиска. Введите -метку, подсказку, и значок, чтобы заполнить меню. В текстовой метке -можно использовать & для обозначения символа ускорителя (например &&Agent Ransack).

Вот несколько возможных команд:
Поиск с помощью Agent Ransack: "C:\Program Files\Agent Ransack\AgentRansack.exe" -r -f "%1"
Поиск с помощью Everything: "C:\Program Files\Everything\Everything.exe" -search "%1"
Поиск с помощью Google: http://www.google.com/#q=%2
Поиск с помощью Bing: http://www.bing.com/search?q=%2


Пользовательская кнопка Пуск

Classic -Shell может добавить собственную кнопку Пуск на панели задач. Он даже -может заменить кнопку Пуск по умолчанию в Windows 7. Вы можете выбрать -изображение кнопки из стиля Aero, прямоугольную классическую кнопку, -или создать собственную. Для пользовательской кнопки Пуск вам нужно -изображение, которое содержит 3 состояния кнопки - нормальное, активное -и нажатое:
Изображения кнопки Пуск
-Изображение должно быть 32-битным PNG или BMP. По умолчанию ширина -изображения определяет размер кнопки. Вы можете изменить размер, указав -другую ширину.
Вы можете найти множество пользовательских изображений кнопки Пуск в Интернете. Вот несколько примеров:
http://www.classicshell.net/forum/viewforum.php?f=18
-http://www.sevenforums.com/themes-styles/34951-custom-start-menu-button-collection.html
http://www.sevenforums.com/customization/78291-big-group-custom-start-orbs.html
http://tutoriales13.deviantart.com/art/Orbs-153450418


Локализация

Пользовательский интерфейс (за исключением диалогового окна параметров) локализован на 35 языках.
-Диалоговое окно параметров программы переведено на небольшое количество -языков. Программа установки по умолчанию содержит только русский язык. -Дополнительные языки можно загрузить на странице переводов. Убедитесь, что вы загружаете языковый пакет для точной версии Open-Shell.


Командная строка

StartMenu.exe поддерживает 5 параметров командной строки: -open, -toggle, -togglenew, -exit и -settings.

-Первые два параметра выполняют то, что говорит само их название. Один -из них открывает классическое меню "Пуск", а другой переключает его. Вы -можете использовать эти параметры, чтобы создать ярлык на панели -быстрого запуска для открытия меню "Пуск", или задать клавишу быстрого -вызова программы, такую как WinKey.

-Третий "-togglenew" переключает меню Пуск Windows по умолчанию (или -начальный экран). Это полезно, если вы хотите создать ярлык или клавишу -быстрого вызова, чтобы открыть меню по умолчанию и использовать клавишу -Win для классического меню.

Используйте команду "-exit" для -выхода из меню Пуск. Эта команда будет работать только если меню Пуск в -настоящее время не занято.

Используйте команду "-settings", -чтобы открыть параметры Open-Shell. Это полезно, если нужно создать -ярлык для редактирования параметров.


Специальные возможности

Меню -Пуск поддерживает JAWS, или экранный диктор Microsoft. Если функция -специальной поддержки вызывает проблемы она может быть отключена на -вкладке Общее поведение в диалоговм окне параметров приложения.

diff --git a/Src/Localization/Russian/MenuADMX.txt b/Src/Localization/Russian/MenuADMX.txt deleted file mode 100644 index ec30b9c..0000000 --- a/Src/Localization/Russian/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Настройки Open-Shell -State.text = Состояние: -State1.text = Блокировать это значение -State2.text = Блокировано по умолчанию -State3.text = Разблокировано -State1Help.text = Если установить состояние "Блокировать это значение", параметр будет заблокирован до указанного значения для всех пользователей. -State2Help.text = Если установить состояние "Блокировано по умолчанию", будет заблокирован параметр к значению по умолчанию для всех пользователей. Указанное значение игнорируется. -State3Help.text = Если установить состояние "Разблокировано", значение по умолчанию для параметра изменится на указанное значение. Некоторые пользователи могут переопределить параметр. - -MenuCat.text = Классическое меню Пуск -MenuCatHelp.text = Параметры групповой политики классического меню Пуск -SUPPORTED_CS404.text = Требовать Open-Shell 4.0.4 или выше. -SUPPORTED_CS404_WIN7.text = Требовать Windows 7. -SUPPORTED_CS404_WIN78.text = Требовать Windows 7 или Windows 8. -SUPPORTED_CS404_WIN781.text = Требовать Windows 7 или Windows 8.1. -SUPPORTED_CS404_WIN8.text = Требовать Windows 8. -SUPPORTED_CS404_WIN881.text = Требовать Windows 8 или Windows 8.1. -SUPPORTED_CS404_WIN81.text = Требовать Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Требуется классический стиль меню с одним столбцом. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Требуется классический стиль меню с двумя столбцами. -SUPPORTED_CS404_CLASSIC_STYLE.text = Требуется классический стиль меню. -SUPPORTED_CS404_WIN7_STYLE.text = Требуется стиль меню Windows 7. - - -EnableSettings.nameOverride = Включить параметры -EnableSettings.tipOverride = Позволяет пользователям редактировать свои собственные настройки - -MenuStyle.nameOverride = Стиль меню -MenuStyle.tipOverride = Выберите стиль для меню Пуск.\nСтиль определяет общий внешний вид и функциональность меню. -MenuStyle_Classic1.nameOverride = Классический с одним столбцом -MenuStyle_Classic2.nameOverride = Классический с двумя столбцами -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Открывается щелчком левой кнопкой мыши -ShiftClick.nameOverride = Открывается Shift+щелчком -WinKey.nameOverride = Открывается клавишей Windows -ShiftWin.nameOverride = Открывается Shift+Win -MiddleClick.nameOverride = Открывается щелчком средней кнопкой -Hover.nameOverride = Открывается при наведении - -; skins -SkinC1.nameOverride = Обложка для классического меню с одним столбцом -SkinC1.tipOverride = Выберите обложку используемой классическим стилем с одним столбцом -SkinVariationC1.nameOverride = Варианты обложки для классического меню с одним столбцом -SkinVariationC1.tipOverride = Выберите вариант обложки используемой классическим стилем с одним столбцом (для обложек, которые поддерживают несколько вариантов) -SkinOptionsC1.nameOverride = Варианты обложки для классического меню с одним столбцом -SkinOptionsC1.tipOverride = Выберите параметры обложки используемой классическим стилем с одним столбцом.\nПараметры представляют собой список шестнадцатеричных чисел. Чтобы получить их, лучше всего настроить параметры в диалоговом окне "Настройка классического меню Пуск" и затем искать значение с именем SkinOptionsC1 в разделе реестре HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Элементы меню для классического меню с одним столбцом -MenuItems1.tipOverride = Выберите элементы меню используемые классическим стилем с одним столбцом.\nСамый лучший способ получить правильную строку - это найти элементы в диалоговом окне "Настройка классического меню Пуск" и затем найти значение с именем MenuItems1 в разделе реестра HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Обложка для классического меню с двумя столбцами -SkinC2.tipOverride = Выберите обложку используемой классическим стилем с двумя столбцами -SkinVariationC2.nameOverride = Вариант обложки для классического меню с двумя столбцами -SkinVariationC2.tipOverride = Выберите вариант обложки используемой классическим стилем с двумя столбцами (для обложек, которые поддерживают несколько вариантов) -SkinOptionsC2.nameOverride = Параметры обложки для классического меню с двумя столбцами -SkinOptionsC2.tipOverride = Выберите параметры обложки используемой классическим стилем с двумя столбцами.\nПараметры представляют собой список шестнадцатеричных чисел. Чтобы получить их лучше всего настроить параметры в диалоговом окне "Настройка классического меню Пуск" и затем найти значение с именем SkinOptionsC2 в разделе реестра HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Элементы меню для классического меню с двумя столбцами -MenuItems2.tipOverride = Выберите элементы меню используемые классическим стилем с двумя столбцами.\nСамый лучший способ получить правильную строку - это настроить элементы в диалоговом окне "Настройка классического меню Пуск" и затем найти значение с именем MenuItems2 в разделе реестра HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Обложка для стиля Windows 7 -SkinW7.tipOverride = Выберите обложку используемой в стиле Windows 7 -SkinVariationW7.nameOverride = Вариант обложки для стиля Windows 7 -SkinVariationW7.tipOverride = Выберите вариант обложки используемой стилем Windows 7 (для обложек, которые поддерживают несколько вариантов) -SkinOptionsW7.nameOverride = Параметры обложки в стиле Windows 7 -SkinOptionsW7.tipOverride = Выберите параметры обложки используемой стилем Windows 7.\nПараметры представляют собой список шестнадцатеричных чисел. Чтобы получить их лучше всего настроить параметры в диалоговом окне "Настройка классического меню Пуск" и затем найти значение с именем SkinOptionsW7 в разделе реестра HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Элементы меню для стиля Windows 7 -MenuItems7.tipOverride = Выберите элементы меню используемые стилем Windows 7.\nСамый лучший способ получить правильную строку - это настроить элементы в диалоговом окне "Настройка классического меню Пуск" и затем найти значение с именем MenuItems7 в разделе реестра HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Обложка для подменю "Все программы" для меню Пуск Windows 7 -SkinA.tipOverride = Выберите обложку используемой подменю "Все программы" меню Пуск Windows 7 -SkinVariationA.nameOverride = Вариант обложки для подменю "Все программы" меню Пуск Windows 7 -SkinVariationA.tipOverride = Выберите вариант обложки используемой подменю "Все программы" в меню Пуск Windows 7 (для обложек, которые поддерживают несколько вариантов) -SkinOptionsA.nameOverride = Параметры обложки для подменю "Все программы" меню Пуск Windows 7 -SkinOptionsA.tipOverride = Выберите параметры обложки используемой в подменю "Все программы" меню Пуск Windows 7.\nПараметры представляют собой список шестнадцатеричных чисел. Чтобы получить их лучше всего настроить параметры в диалоговом окне "Настройка классического меню Пуск" и затем найти значение с именем SkinOptionsA в разделе реестра HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = Этот параметр не работает для Windows 8.1. Вам нужно использовать встроенные настройки Windows для загрузки на рабочий стол - -; hidden -FolderStartMenu.nameOverride = Папки меню Пуск -FolderStartMenu.tipOverride = Введите переопределения для каждого пользователя Пуск меню (папка также переопределяет на пользователя программы).\nПуть может содержать переменные среды.\nПримечание: Этот параметр не является редактируемым из диалога настроек -FolderPrograms.nameOverride = Папка Программы -FolderPrograms.tipOverride = Введите переопределения для пользователя папки Программы.\nПуть может содержать переменные среды.\nПримечание: Этот параметр не является редактируемым из диалога настроек -FolderCommonStartMenu.nameOverride = Общая папка меню Пуск -FolderCommonStartMenu.tipOverride = Введите переопределения для общей папки меню Пуск (также переопределяет общую папку Программы).\nПуть может содержать переменные среды.\nПримечание: Этот параметр не является редактируемым из диалога настроек -FolderCommonPrograms.nameOverride = Папка Common Programs -FolderCommonPrograms.tipOverride = Введите переопределения для общей папки программ.\nПуть может содержать переменные среды.\nПримечание: Этот параметр не является редактируемым из диалога настроек -AutoStartDelay.nameOverride = Задержка автозагрузки -AutoStartDelay.tipOverride = Введите задержку в мс при запуске меню Пуск автоматически во время входа в систему (не применяется при запуске меню вручную, запуском файла StartMenu.exe).\nПримечание: Этот параметр не является редактируемым из диалога настроек - -; other -StartButtonIcon.tipAddition = Значением может быть путь к ICO-файлу или путь к EXE/DLL и идентификатор значка -StartButtonPath.tipAddition = Значение это полный путь к файлу BMP или PNG -SoundMain.tipAddition = Значение может быть именем системного события или путь к файлу WAV -SoundPopup.tipAddition = Значение может быть именем системного события или путь к файлу WAV -SoundCommand.tipAddition = Значение может быть именем системного события или путь к файлу WAV -SoundDrop.tipAddition = Значение может быть именем системного события или путь к файлу WAV -ExpandFolderLinks.tipAddition = Работает только для символических ссылок (как узлы), а не для простых ярлыков -StartHoverDelay.nameOverride = Задержка наведения (для кнопки Пуск) -AllProgramsDelay.nameOverride = Задержка наведения (для "Все программы" в Windows 7) -CSMHotkey.tipAddition = .\n\nБазовым значением является виртуальный код основной клавиши. Добавьте 256 для клавиши Shift, 512 для клавиши Control и 1024 для клавиши Alt.\nЧтобы получить значение, лучше всего выбрать клавишу в диалоговом окне "Настройки классического меню Пуск" и затем найти значение с именем CSMHotkey в разедле реестра HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\nБазовым значением является виртуальный код основной клавиши. Добавьте 256 для клавиши Shift, 512 для клавиши Control и 1024 для клавиши Alt.\nЧтобы получить значение, лучше всего выбрать клавишу в диалоговом окне "Настройки классического меню Пуск" и затем найти значение с именем WSMHotkey в разделе реестра HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/Russian/OpenShell.hhp b/Src/Localization/Russian/OpenShell.hhp deleted file mode 100644 index b8e59e0..0000000 --- a/Src/Localization/Russian/OpenShell.hhp +++ /dev/null @@ -1,16 +0,0 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=OpenShell.chm -Contents file=OpenShellTOC.hhc -Default topic=Main.html -Display compile progress=Yes -Language=0x419 Russian (Russia) - - -[FILES] -ClassicExplorer.html -Menu.html -ClassicIE.html - -[INFOTYPES] - diff --git a/Src/Localization/Russian/OpenShellADMX.txt b/Src/Localization/Russian/OpenShellADMX.txt deleted file mode 100644 index f92af91..0000000 --- a/Src/Localization/Russian/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Настройки Open-Shell -State.text = Состояние: -State1.text = Блокировать это значение -State2.text = Блокировано по умолчанию -State3.text = Разблокировано -State1Help.text = Если установить состояние "Блокировать это значение", параметр будет заблокирован до указанного значения для всех пользователей. -State2Help.text = Если установить состояние "Блокировано по умолчанию", будет заблокирован параметр к значению по умолчанию для всех пользователей. Указанное значение игнорируется. -State3Help.text = Если установить состояние "Разблокировано", значение по умолчанию для параметра изменится на указанное значение. Некоторые пользователи могут переопределить параметр. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Параметры групповой политики Open-Shell -SUPPORTED_CS404.text = Требовать Open-Shell 4.0.4 или выше. - -Language.nameOverride = Язык для компонентов Open-Shell -Language.tipOverride = Выберите язык для использования Open-Shell (например, en US или ru-RU). Язык влияет на текст в меню Пуск, панели инструментов и т. д. Если установлен соответствующий язык DLL, настройки пользовательского интерфейса также могут быть переведены -Update.nameOverride = Включить автоматическую проверку наличия новых версий -Update.tipOverride = Когда этот флажок установлен, Open-Shell будет проверять наличие новых версий каждую неделю. Вы будете уведомлены о наличии новой версии программного обеспечения Open-Shell или новое обновление для вашего текущего языка diff --git a/Src/Localization/Russian/OpenShellEULA.rtf b/Src/Localization/Russian/OpenShellEULA.rtf deleted file mode 100644 index 501e6ec..0000000 --- a/Src/Localization/Russian/OpenShellEULA.rtf +++ /dev/null @@ -1,31 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset204 Cambria Cyr;}{\f1\froman\fprq2\fcharset0 Cambria;}{\f2\fswiss\fprq2\fcharset0 Calibri;}{\f3\fswiss\fprq2\fcharset204 Calibri Cyr;}} -{\colortbl ;\red23\green54\blue93;\red0\green0\blue255;} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52\lang1049\'cb\'e8\'f6\'e5\'ed\'e7\'e8\'ee\'ed\'ed\'ee\'e5 \'f1\'ee\'e3\'eb\'e0\'f8\'e5\'ed\'e8\'e5\f1\lang4105\par - -\pard\widctlpar\cf0\expndtw0\kerning0\f2\fs22\lang1033 Classic Shell \'a9 2009-2017, Ivo Beltchev\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f2\fs22\par -Open-Shell \'a9 2017-2018, The Open-Shell Team\par -{{\field{\*\fldinst{HYPERLINK https://github.com/open-shell }}{\fldrslt{https://github.com/open-shell\ul0\cf0}}}}\f2\fs22\par -\par -\b\f3\lang1049\'c8\'d1\'cf\'ce\'cb\'dc\'c7\'d3\'df \'dd\'d2\'ce \'cf\'d0\'ce\'c3\'d0\'c0\'cc\'cc\'cd\'ce\'c5 \'ce\'c1\'c5\'d1\'cf\'c5\'d7\'c5\'cd\'c8\'df, \'c2\'db \'cf\'d0\'c8\'cd\'c8\'cc\'c0\'c5\'d2\'c5 \'dd\'d2\'c8 \'d3\'d1\'cb\'ce\'c2\'c8\'df\f2\lang4105 . \f3\lang1049\'c5\'d1\'cb\'c8 \'c2\'db \'cd\'c5\f2\lang4105 \f3\lang1049\'d1\'ce\'c3\'cb\'c0\'d1\'cd\'db,\f2\lang4105 \f3\lang1049\'cd\'c5 \'c8\'d1\'cf\'ce\'cb\'dc\'c7\'d3\'c9\'d2\'c5\f2\lang4105 \f3\lang1049\'cf\'d0\'ce\'c3\'d0\'c0\'cc\'cc\'cd\'ce\'c5 \'ce\'c1\'c5\'d1\'cf\'c5\'d7\'c5\'cd\'c8\'c5.\f2\lang4105\par -\b0\par -\f3\lang1049\'c5\'f1\'eb\'e8 \'e2\'fb \'f1\'ee\'e3\'eb\'e0\'f1\'ed\'fb \'f1\f2\lang4105 \f3\lang1049\'f3\'f1\'eb\'ee\'e2\'e8\'ff\'ec\'e8 \'e4\'e0\'ed\'ed\'ee\'e9 \'eb\'e8\'f6\'e5\'ed\'e7\'e8\'e8,\f2\lang4105 \f3\lang1049\'e2\'e0\'ec\f2\lang4105 \f3\lang1049\'ef\'f0\'e5\'e4\'ee\'f1\'f2\'e0\'e2\'eb\'ff\'fe\'f2\'f1\'ff \'f1\'eb\'e5\'e4\'f3\'fe\'f9\'e8\'e5 \'ef\'f0\'e0\'e2\'e0\f2\lang4105 .\par -\par - -\pard -{\pntext\f3 1.\tab}{\*\pn\pnlvlbody\pnf3\pnindent0\pnstart1\pndec{\pntxta.}} -\fi-360\li360\sa200\sl276\slmult1\b\f3\lang1049\'ce\'c1\'cb\'c0\'d1\'d2\'dc \'cf\'d0\'c8\'cc\'c5\'cd\'c5\'cd\'c8\'df \'cb\'c8\'d6\'c5\'cd\'c7\'c8\'c8\f2\lang4105 .\b0 \f3\lang1049\'dd\'f2\'ee\f2\lang4105 \f3\lang1049\'f1\'ee\'e3\'eb\'e0\'f8\'e5\'ed\'e8\'e5 \'e4\'e0\'e5\'f2 \'e2\'e0\'ec \'f2\'ee\'eb\'fc\'ea\'ee\f2\lang4105 \f3\lang1049\'ed\'e5\'ea\'ee\'f2\'ee\'f0\'fb\'e5 \'ef\'f0\'e0\'e2\'e0 \'ed\'e0 \'e8\'f1\'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'ed\'e8\'e5\f2\lang4105 \f3\lang1049\'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'ed\'ee\'e3\'ee \'ee\'e1\'e5\'f1\'ef\'e5\'f7\'e5\'ed\'e8\'ff.\f2\lang4105 \f3\lang1049\'c0\'e2\'f2\'ee\'f0 \'ee\'f1\'f2\'e0\'e2\'eb\'ff\'e5\'f2 \'e7\'e0 \'f1\'ee\'e1\'ee\'e9 \'e2\'f1\'e5 \'ee\'f1\'f2\'e0\'eb\'fc\'ed\'fb\'e5 \'ef\'f0\'e0\'e2\'e0.\par -{\pntext\f3 2.\tab}\b\'d3\'d1\'d2\'c0\'cd\'ce\'c2\'ca\'c0 \'c8\f2\lang4105 \f3\lang1049\'cf\'d0\'c0\'c2\'c0 \'cd\'c0 \'c8\'d1\'cf\'ce\'cb\'dc\'c7\'ce\'c2\'c0\'cd\'c8\'c5\f2\lang4105 .\b0 \f3\lang1049\'dd\'f2\'ee \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'ed\'ee\'e5 \'ee\'e1\'e5\'f1\'ef\'e5\'f7\'e5\'ed\'e8\'e5 \'ff\'e2\'eb\'ff\'e5\'f2\'f1\'ff \'e1\'e5\'f1\'ef\'eb\'e0\'f2\'ed\'fb\'ec \'e4\'eb\'ff \'eb\'e8\'f7\'ed\'ee\'e3\'ee \'e8 \'ea\'ee\'ec\'ec\'e5\'f0\'f7\'e5\'f1\'ea\'ee\'e3\'ee \'e8\'f1\'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'ed\'e8\'ff. \'c2\'fb \'ec\'ee\'e6\'e5\'f2\'e5 \'f3\'f1\'f2\'e0\'ed\'ee\'e2\'e8\'f2\'fc \'e8 \'e8\'f1\'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'f2\'fc \'e5\'e3\'ee \'ed\'e0 \'ea\'ee\'ec\'ef\'fc\'fe\'f2\'e5\'f0\'e0\'f5 \'e1\'e5\'f1\'ef\'eb\'e0\'f2\'ed\'ee\f2\lang4105 .\lang1033\par -{\pntext\f3 3.\tab}\b\f3\lang1049\'cf\'d0\'c0\'c2\'c0 \'cd\'c0 \'d0\'c0\'d1\'cf\'d0\'ce\'d1\'d2\'d0\'c0\'cd\'c5\'cd\'c8\'c5.\b0\f2\lang4105 \f3\lang1049\'c2\'fb \'ec\'ee\'e6\'e5\'f2\'e5 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'ff\'f2\'fc \'fd\'f2\'ee \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'ed\'ee\'e5 \'ee\'e1\'e5\'f1\'ef\'e5\'f7\'e5\'ed\'e8\'e5 \'e4\'ee \'f2\'e5\'f5 \'ef\'ee\'f0, \'ef\'ee\'ea\'e0 \'e2\'fb \'e4\'e5\'eb\'e0\'e5\'f2\'e5 \'fd\'f2\'ee \'e1\'e5\'f1\'ef\'eb\'e0\'f2\'ed\'ee, \'e1\'e5\'e7 \'eb\'ee\'e6\'ed\'fb\'f5 \'f1\'e2\'e5\'e4\'e5\'ed\'e8\'e9 \'ee \'ef\'f0\'ee\'e8\'f1\'f5\'ee\'e6\'e4\'e5\'ed\'e8\'e8 \'fd\'f2\'ee\'e3\'ee \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'ed\'ee\'e3\'ee \'ee\'e1\'e5\'f1\'ef\'e5\'f7\'e5\'ed\'e8\'ff\f2\lang4105 .\par - -\pard -{\pntext\f2 4.\tab}{\*\pn\pnlvlbody\pnf2\pnindent0\pnstart1\pndec{\pntxta.}} -\fi-360\li360\b\f3\lang1049\'d2\'ce\'c2\'c0\'d0\'cd\'db\'c5 \'c7\'cd\'c0\'ca\'c8\b0\f2\lang4105 . \f3\lang1049\'cd\'e0\'e7\'e2\'e0\'ed\'e8\'e5 \'e8 \'eb\'ee\'e3\'ee\'f2\'e8\'ef Open-Shell \'ff\'e2\'eb\'ff\'fe\'f2\'f1\'ff \'f2\'ee\'e2\'e0\'f0\'ed\'fb\'ec\'e8 \'e7\'ed\'e0\'ea\'e0\'ec\'e8 \'e0\'e2\'f2\'ee\'f0\'e0. \'c8\'f1\'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'ed\'e8\'e5 \'e8\'f5 \'e4\'eb\'ff \'ee\'ef\'f0\'e5\'e4\'e5\'eb\'e5\'ed\'e8\'ff \'e4\'f0\'f3\'e3\'e8\'f5 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'ee\'e2 \'e8\'eb\'e8 \'f3\'f1\'eb\'f3\'e3 \'e7\'e0\'ef\'f0\'e5\'f9\'e5\'ed\'ee\f2\lang4105 .\par - -\pard\widctlpar\li360\par - -\pard\widctlpar\fi-360\li360\sa200\sl276\slmult1\b\f3\lang1049 5.\tab\'ce\'d2\'ca\'c0\'c7 \'ce\'d2 \'c3\'c0\'d0\'c0\'cd\'d2\'c8\'c9\f2\lang4105 .\b0 \f3\lang1049\'dd\'d2\'ce \'cf\'d0\'ce\'c3\'d0\'c0\'cc\'cc\'cd\'ce\'c5 \'ce\'c1\'c5\'d1\'cf\'c5\'d7\'c5\'cd\'c8\'c5 \'cf\'d0\'c5\'c4\'ce\'d1\'d2\'c0\'c2\'cb\'df\'c5\'d2\'d1\'df "\'ca\'c0\'ca \'c5\'d1\'d2\'dc", \'c1\'c5\'c7 \'ca\'c0\'ca\'c8\'d5-\'cb\'c8\'c1\'ce \'c3\'c0\'d0\'c0\'cd\'d2\'c8\'c9, \'df\'c2\'cd\'db\'d5 \'c8\'cb\'c8 \'cf\'ce\'c4\'d0\'c0\'c7\'d3\'cc\'c5\'c2\'c0\'c5\'cc\'db\'d5, \'c2\'ca\'cb\'de\'d7\'c0\'df, \'cf\'ce\'cc\'c8\'cc\'ce \'cf\'d0\'ce\'d7\'c5\'c3\'ce, \'c3\'c0\'d0\'c0\'cd\'d2\'c8\'c8 \'d2\'ce\'c2\'c0\'d0\'cd\'ce\'d1\'d2\'c8, \'cf\'d0\'c8\'c3\'ce\'c4\'cd\'ce\'d1\'d2\'c8 \'c4\'cb\'df \'ca\'ce\'cd\'ca\'d0\'c5\'d2\'cd\'ce\'c9 \'d6\'c5\'cb\'c8 \'c8 \'cd\'c5\'cd\'c0\'d0\'d3\'d8\'c5\'cd\'c8\'df. \'cd\'c8 \'cf\'d0\'c8 \'ca\'c0\'ca\'c8\'d5 \'d3\'d1\'cb\'ce\'c2\'c8\'df\'d5 \'c0\'c2\'d2\'ce\'d0\'db \'c8\'cb\'c8 \'cf\'d0\'c0\'c2\'ce\'ce\'c1\'cb\'c0\'c4\'c0\'d2\'c5\'cb\'c8 \'cd\'c5 \'cd\'c5\'d1\'d3\'d2 \'ce\'d2\'c2\'c5\'d2\'d1\'d2\'c2\'c5\'cd\'cd\'ce\'d1\'d2\'c8 \'c7\'c0 \'cb\'de\'c1\'db\'c5 \'cf\'d0\'c5\'d2\'c5\'cd\'c7\'c8\'c8, \'d3\'c1\'db\'d2\'ca\'c8 \'c8\'cb\'c8 \'c8\'cd\'cd\'d3\'de \'ce\'d2\'c2\'c5\'d2\'d1\'d2\'c2\'c5\'cd\'cd\'ce\'d1\'d2\'dc, \'c1\'d3\'c4\'dc \'d2\'ce \'c2 \'c4\'c5\'c9\'d1\'d2\'c2\'c8\'df \'c4\'ce\'c3\'ce\'c2\'ce\'d0\'c0, \'c4\'c5\'cb\'c8\'ca\'c0\'d2\'c5 \'c8\'cb\'c8 \'c8\'cd\'ce\'cc, \'d1\'c2\'df\'c7\'c0\'cd\'cd\'ce\'cc, \'c2 \'d0\'c5\'c7\'d3\'cb\'dc\'d2\'c0\'d2\'c5 \'c8\'cb\'c8 \'c2 \'d1\'c2\'df\'c7\'c8 \'d1 \'c8\'d1\'cf\'ce\'cb\'dc\'c7\'ce\'c2\'c0\'cd\'c8\'c5\'cc \'cf\'d0\'ce\'c3\'d0\'c0\'cc\'cc\'cd\'ce\'c3\'ce \'ce\'c1\'c5\'d1\'cf\'c5\'d7\'c5\'cd\'c8\'df \'c8 \'c4\'d0\'d3\'c3\'c8\'d5 \'d1\'c4\'c5\'cb\'ce\'ca \'c2 \'cf\'d0\'ce\'c3\'d0\'c0\'cc\'cc\'cd\'ce\'cc \'ce\'c1\'c5\'d1\'cf\'c5\'d7\'c5\'cd\'c8\'c8\f2\lang4105 .\par -\b\f3\lang1058 6.\tab\'c8\'cd\'cd\'db\'cc\'c8 \'d1\'cb\'ce\'c2\'c0\'cc\'c8\f2\lang4105 :\b0 \f3\lang1049\'c2 \'ef\'f0\'e8\'ed\'f6\'e8\'ef\'e5 \'e2\'fb \'ec\'ee\'e6\'e5\'f2\'e5 \'e8\'f1\'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'f2\'fc \'fd\'f2\'ee \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'ed\'ee\'e5 \'ee\'e1\'e5\'f1\'ef\'e5\'f7\'e5\'ed\'e8\'e5 \'f1\'e2\'ee\'e1\'ee\'e4\'ed\'ee \'e2 \'eb\'fe\'e1\'fb\'f5 \'f6\'e5\'eb\'ff\'f5, \'ed\'ee \'ed\'e5 \'f3\'e4\'e8\'e2\'eb\'ff\'e9\'f2\'e5\'f1\'fc, \'e5\'f1\'eb\'e8 \'ee\'ed\'ee \'ed\'e5 \'f0\'e0\'e1\'ee\'f2\'e0\'e5\'f2, \'ea\'e0\'ea \'e2\'fb \'fd\'f2\'ee\'e3\'ee \'ee\'e6\'e8\'e4\'e0\'eb\'e8. \'c0\'e2\'f2\'ee\'f0 \'ed\'e5 \'ed\'e5\'f1\'e5\'f2 \'ee\'f2\'e2\'e5\'f2\'f1\'f2\'e2\'e5\'ed\'ed\'ee\'f1\'f2\'fc \'e7\'e0 \'eb\'fe\'e1\'fb\'e5 \'f3\'e1\'fb\'f2\'ea\'e8, \'ea\'ee\'f2\'ee\'f0\'fb\'e5 \'ef\'f0\'ee\'e8\'e7\'ee\'f8\'eb\'e8 \'e2 \'f1\'e2\'ff\'e7\'e8 \'f1 \'e8\'f1\'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'ed\'e8\'e5\'ec \'fd\'f2\'ee\'e3\'ee \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'ed\'ee\'e3\'ee \'ee\'e1\'e5\'f1\'ef\'e5\'f7\'e5\'ed\'e8\'ff. \'cf\'f0\'ee\'e4\'e0\'e6\'e0 \'fd\'f2\'ee\'e3\'ee \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'ed\'ee\'e3\'ee \'ee\'e1\'e5\'f1\'ef\'e5\'f7\'e5\'ed\'e8\'ff \'e7\'e0\'ef\'f0\'e5\'f9\'e5\'ed\'e0. \'d2\'e0\'ea \'ea\'e0\'ea \'e2\'fb \'ef\'ee\'eb\'f3\'f7\'e8\'eb\'e8 \'e5\'e3\'ee \'e1\'e5\'f1\'ef\'eb\'e0\'f2\'ed\'ee\f2\lang4105 .\par -} - diff --git a/Src/Localization/Russian/OpenShellReadme.rtf b/Src/Localization/Russian/OpenShellReadme.rtf deleted file mode 100644 index 53253f3..0000000 --- a/Src/Localization/Russian/OpenShellReadme.rtf +++ /dev/null @@ -1,106 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\froman\fprq2\fcharset204 Cambria Cyr;}{\f2\fswiss\fprq2\fcharset0 Calibri;}{\f3\fswiss\fprq2\fcharset204 Calibri Cyr;}{\f4\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52 Classic\lang4105 \lang1033 Shell\lang4105\par - -\pard\widctlpar\cf0\expndtw0\b0\i0\f2\fs22\par -\f3\lang1049\'c1\'eb\'e0\'e3\'ee\'e4\'e0\'f0\'e8\'ec \'e2\'e0\'f1 \'e7\'e0 \'f3\'f1\'f2\'e0\'ed\'ee\'e2\'ea\'f3 \cf3\b\f2\lang1033 Classic\lang4105 \lang1033 Shell\lang4105\'99\cf0\b0 . \lang1033 Classic\lang4105 \lang1033 Shell\f3\lang1049 \'e4\'ee\'e1\'e0\'e2\'eb\'ff\'e5\'f2 \'ed\'e5\'ea\'ee\'f2\'ee\'f0\'fb\'e5 \'ee\'f2\'f1\'f3\'f2\'f1\'f2\'e2\'f3\'fe\'f9\'e8\'e5 \'f4\'f3\'ed\'ea\'f6\'e8\'e8 \'e2 Windows 7\f2\lang1033 , \lang4105 Windows \lang1033 8, \lang4105 Windows \lang1033 8.1\f3\lang1049 \'e8 Windows \f2\lang1033 10\f3\lang1049 , \'ea\'e0\'ea \'ea\'eb\'e0\'f1\'f1\'e8\'f7\'e5\'f1\'ea\'ee\'e5 \'ec\'e5\'ed\'fe \'ef\'f3\'f1\'ea, \'ef\'e0\'ed\'e5\'eb\'e8 \'e8\'ed\'f1\'f2\'f0\'f3\'ec\'e5\'ed\'f2\'ee\'e2 \'ef\'f0\'ee\'e2\'ee\'e4\'ed\'e8\'ea\'e0 Windows \'e8 \'e4\'f0\'f3\'e3\'e8\'e5.\f2\lang4105\par -\par -\f3\lang1049\'cf\'ee\'f1\'eb\'e5\'e4\'ed\'fe\'fe \'e2\'e5\'f0\'f1\'e8\'fe \'ec\'ee\'e6\'ed\'ee \'ed\'e0\'e9\'f2\'e8 \'ed\'e0 \'e2\'e5\'e1-\'f3\'e7\'eb\'e5 \f2\lang1033 Classic\lang4105 \lang1033 Shell\lang4105 :\par -{\lang1033{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http\lang4105 ://\lang1033 www\lang4105 .\lang1033 classicshell\lang4105 .\lang1033 net\lang4105 /\ul0\cf0}}}}\f2\fs22\par -\par -\f3\lang1049\'ce\'f2\'e2\'e5\'f2\'fb \'ed\'e0 \'f7\'e0\'f1\'f2\'ee \'e7\'e0\'e4\'e0\'e2\'e0\'e5\'ec\'fb\'e5 \'e2\'ee\'ef\'f0\'ee\'f1\'fb \'f1\'ec\'ee\'f2\'f0\'e8\'f2\'e5 \'e7\'e4\'e5\'f1\'fc:\par -{\f2\lang1033{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http\lang4105 ://\lang1033 www\lang4105 .\lang1033 classicshell\lang4105 .\lang1033 net\lang4105 /\lang1033 faq\lang4105 /\ul0\cf0}}}}\f2\fs22\lang4105\par -\par -\f3\lang1049\'e8\'eb\'e8 \'e8\'f1\'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'f2\'fc \'f4\'ee\'f0\'f3\'ec\'fb, \'f7\'f2\'ee\'e1\'fb \'ef\'ee\'eb\'f3\'f7\'e8\'f2\'fc \'ef\'ee\'ec\'ee\'f9\'fc:\f2\lang4105\par -{\lang1033{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http\lang4105 ://\lang1033 www\lang4105 .\lang1033 classicshell\lang4105 .\lang1033 net\lang4105 /\lang1033 forum\lang4105 /\lang1033 viewforum\lang4105 .\lang1033 php\lang4105 ?\lang1033 f\lang4105 =6\ul0\cf0}}}}\f2\fs22\par -\par -\f3\lang1049\'ce\'f2\'f7\'e5\'f2\'fb \'ee \'ef\'f0\'ee\'e1\'eb\'e5\'ec\'e0\'f5 \'e2 \f2\lang1033 Classic\lang4105 \lang1033 Shell\f3\lang1049 \'ec\'ee\'e6\'ed\'ee \'ed\'e0\'e9\'f2\'e8 \'ed\'e0 \'f4\'ee\'f0\'f3\'ec\'e5 \'f0\'e0\'e7\'f0\'e0\'e1\'ee\'f2\'f7\'e8\'ea\'e0\f2\lang4105 :\par -{\lang1033{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http\lang4105 ://\lang1033 www\lang4105 .\lang1033 classicshell\lang4105 .\lang1033 net\lang4105 /\lang1033 forum\lang4105 /\lang1033 viewforum\lang4105 .\lang1033 php\lang4105 ?\lang1033 f\lang4105 =11\ul0\cf0}}}}\f2\fs22\par -\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28\lang1033 Classic\lang4105 \lang1033 Start\lang4105 \lang1033 Menu\par - -\pard\widctlpar\cf0\b0\f2\fs22\lang4105\par -\cf3\b\lang1033 Open-Shell Menu\cf0\lang4105 - \b0\f3\lang1049\'fd\'f2\'ee \'e3\'e8\'e1\'ea\'ee\'e5 \'ec\'e5\'ed\'fe \'cf\'f3\'f1\'ea, \'ea\'ee\'f2\'ee\'f0\'ee\'e5 \'ec\'ee\'e6\'e5\'f2 \'e8\'ec\'e8\'f2\'e8\'f0\'ee\'e2\'e0\'f2\'fc \'ef\'ee\'e2\'e5\'e4\'e5\'ed\'e8\'e5 \'ec\'e5\'ed\'fe \f2\lang1033 Windows\lang4105 2000, \lang1033 XP\f3\lang1049 \'e8 \f2\lang1033 Windows\lang4105 7. \f3\lang1049\'ca\'eb\'e0\'f1\'f1\'e8\'f7\'e5\'f1\'ea\'ee\'e5 \'ec\'e5\'ed\'fe \'e8\'ec\'e5\'e5\'f2 \'f6\'e5\'eb\'fb\'e9 \'f0\'ff\'e4 \'e4\'ee\'ef\'ee\'eb\'ed\'e8\'f2\'e5\'eb\'fc\'ed\'fb\'f5 \'e2\'ee\'e7\'ec\'ee\'e6\'ed\'ee\'f1\'f2\'e5\'e9:\f2\lang4105\par -\par - -\pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720\f3\lang1049\'c2\'fb\'e1\'ee\'f0 \'ec\'e5\'e6\'e4\'f3 \'f1\'f2\'e8\'eb\'ff\'ec\'e8\f2\lang4105 \f3\lang1049\'ab\'ca\'eb\'e0\'f1\'f1\'e8\'ea\'bb \'e8 \f2\lang4105\'abWindows 7\'bb\par -{\pntext\f4\'B7\tab}\f3\lang1049\'d4\'f3\'ed\'ea\'f6\'e8\'ff \'ef\'e5\'f0\'e5\'f2\'e0\'f1\'ea\'e8\'e2\'e0\'ed\'e8\'ff \'ef\'ee\'e7\'e2\'ee\'eb\'ff\'e5\'f2 \'ee\'f0\'e3\'e0\'ed\'e8\'e7\'ee\'e2\'e0\'f2\'fc \'e2\'e0\'f8\'e8 \'ef\'f0\'e8\'eb\'ee\'e6\'e5\'ed\'e8\'ff\f2\lang4105\par -{\pntext\f4\'B7\tab}\f3\lang1049\'cf\'e0\'f0\'e0\'ec\'e5\'f2\'f0\'fb \'e4\'eb\'ff \'ee\'f2\'ee\'e1\'f0\'e0\'e6\'e5\'ed\'e8\'ff\f2\lang4105 \f3\lang1049\'e8\'e7\'e1\'f0\'e0\'ed\'ed\'ee\'e3\'ee, \'f0\'e0\'e7\'e2\'e5\'f0\'f2\'fb\'e2\'e0\'ed\'e8\'ff \'ef\'e0\'ed\'e5\'eb\'e8 \'f3\'ef\'f0\'e0\'e2\'eb\'e5\'ed\'e8\'ff \'e8 \'f2.\f2\lang4105 \f3\lang1049\'e4.\par -{\pntext\f4\'B7\tab}\'cf\'ee\'ea\'e0\'e7\'fb\'e2\'e0\'e5\'f2 \'ed\'e5\'e4\'e0\'e2\'ed\'ee \'e8\'f1\'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'ed\'ed\'fb\'e5 \'e4\'ee\'ea\'f3\'ec\'e5\'ed\'f2\'fb. \'ca\'ee\'eb\'e8\'f7\'e5\'f1\'f2\'e2\'ee \'e4\'ee\'ea\'f3\'ec\'e5\'ed\'f2\'ee\'e2 \'e4\'eb\'ff \'ee\'f2\'ee\'e1\'f0\'e0\'e6\'e5\'ed\'e8\'ff \'ed\'e0\'f1\'f2\'f0\'e0\'e8\'e2\'e0\'e5\'f2\'f1\'ff\f2\lang4105\par -{\pntext\f4\'B7\tab}\f3\lang1049\'cf\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'e0 \'ef\'e5\'f0\'e5\'e2\'e5\'e4\'e5\'ed\'e0 \'ed\'e0 35 \'ff\'e7\'fb\'ea\'e0\'f5, \'e2\'ea\'eb\'fe\'f7\'e0\'ff \'ef\'ee\'e4\'e4\'e5\'f0\'e6\'ea\'f3 \'f7\'f2\'e5\'ed\'e8\'ff \'f1\'ef\'f0\'e0\'e2\'e0 \'ed\'e0\'eb\'e5\'e2\'ee \'e4\'eb\'ff \'e0\'f0\'e0\'e1\'f1\'ea\'ee\'e3\'ee \'ff\'e7\'fb\'ea\'e0 \'e8 \'e8\'e2\'f0\'e8\'f2\'e0\par -{\pntext\f4\'B7\tab}\'cd\'e5 \'ee\'f2\'ea\'eb\'fe\'f7\'e0\'e5\'f2 \'ee\'f0\'e8\'e3\'e8\'ed\'e0\'eb\'fc\'ed\'ee\'e5 \'ec\'e5\'ed\'fe \'cf\'f3\'f1\'ea \'e2 Windows. \'c2\'fb \'ec\'ee\'e6\'e5\'f2\'e5 \'e2\'fb\'e7\'e2\'e0\'f2\'fc \'e5\'e3\'ee \'f1\'ee\'f7\'e5\'f2\'e0\'ed\'e8\'e5\'ec\f2\lang4105 Shift+\f3\lang1049\'f9\'e5\'eb\'f7\'e5\'ea \'ed\'e0 \'ea\'ed\'ee\'ef\'ea\'e5 \'cf\'f3\'f1\'ea\par -{\pntext\f4\'B7\tab}\'d9\'e5\'eb\'ea\'ed\'e8\'f2\'e5 \'ef\'f0\'e0\'e2\'ee\'e9 \'ea\'ed\'ee\'ef\'ea\'ee\'e9 \'ec\'fb\'f8\'e8 \'ed\'e0 \'fd\'eb\'e5\'ec\'e5\'ed\'f2 \'e2 \'ec\'e5\'ed\'fe, \'f7\'f2\'ee\'e1\'fb \'f3\'e4\'e0\'eb\'e8\'f2\'fc, \'ef\'e5\'f0\'e5\'e8\'ec\'e5\'ed\'ee\'e2\'e0\'f2\'fc, \'ee\'f2\'f1\'ee\'f0\'f2\'e8\'f0\'ee\'e2\'e0\'f2\'fc \'e8\'eb\'e8 \'e2\'fb\'ef\'ee\'eb\'ed\'ff\'f2\'fc \'e4\'f0\'f3\'e3\'e8\'e5 \'e7\'e0\'e4\'e0\'f7\'e8\par -{\pntext\f4\'B7\tab}\'cf\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'e0\f2\lang4105 \f3\lang1049\'e4\'ee\'f1\'f2\'f3\'ef\'ed\'e0 \'e4\'eb\'ff 32 \'e8 64-\'f0\'e0\'e7\'f0\'ff\'e4\'ed\'fb\'f5 \'ee\'ef\'e5\'f0\'e0\'f6\'e8\'ee\'ed\'ed\'fb\'f5 \'f1\'e8\'f1\'f2\'e5\'ec\f2\lang4105\par -{\pntext\f4\'B7\tab}\f3\lang1049\'cf\'ee\'e4\'e4\'e5\'f0\'e6\'ea\'e0 \'ee\'e1\'eb\'ee\'e6\'e5\'ea, \'e2\'ea\'eb\'fe\'f7\'e0\'ff \'e4\'ee\'ef\'ee\'eb\'ed\'e8\'f2\'e5\'eb\'fc\'ed\'fb\'e5 3 \lang1058\'ee\'e1\'eb\'ee\'e6\'ea\'e8 \'ee\'f2 \'ed\'e0\'f8\'e8\'f5 \'f3\'f7\'e0\'f1\'f2\'ed\'e8\'ea\'ee\'e2\f2\lang4105 . \f3\lang1049\'c2\'fb \'ec\'ee\'e6\'e5\'f2\'e5 \'f1\'ee\'e7\'e4\'e0\'f2\'fc \'f1\'e2\'ee\'fe \'f1\'ee\'e1\'f1\'f2\'e2\'e5\'ed\'ed\'f3\'fe \'ee\'e1\'eb\'ee\'e6\'ea\'f3\f2\lang4105 !\par -{\pntext\f4\'B7\tab}\f3\lang1049\'cf\'ee\'eb\'ed\'ee\'f1\'f2\'fc\'fe \'ed\'e0\'f1\'f2\'f0\'e0\'e8\'e2\'e0\'e5\'ec\'fb\'e9 \'e2\'ed\'e5\'f8\'ed\'e8\'e9 \'e2\'e8\'e4 \'e8 \'f4\'f3\'ed\'ea\'f6\'e8\'ee\'ed\'e0\'eb\'fc\'ed\'ee\'f1\'f2\'fc\f2\lang4105\par -{\pntext\f4\'B7\tab}\f3\lang1049\'cf\'ee\'e4\'e4\'e5\'f0\'e6\'ea\'e0 Microsoft Active Accessibility\par -{\pntext\f4\'B7\tab}\'cf\'f0\'e5\'ee\'e1\'f0\'e0\'e7\'ee\'e2\'fb\'e2\'e0\'e5\'f2\f2\lang4105 \f3\lang1049\'ea\'ed\'ee\'ef\'ea\'f3 \'ab\'c2\'f1\'e5 \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'fb\'bb \'e2 \'ea\'e0\'f1\'ea\'e0\'e4\'ed\'ee\'e5 \'ec\'e5\'ed\'fe \'e2 \'ec\'e5\'ed\'fe \f2\lang4105 Windows\par -{\pntext\f4\'B7\tab}\f3\lang1049\'d0\'e5\'e0\'eb\'e8\'e7\'f3\'e5\'f2 \'ed\'e0\'f1\'f2\'f0\'e0\'e8\'e2\'e0\'e5\'ec\'f3\'fe \'ea\'ed\'ee\'ef\'ea\'f3 \'cf\'f3\'f1\'ea\par -{\pntext\f4\'B7\tab}\'cc\'ee\'e6\'ed\'ee \'ef\'ee\'ea\'e0\'e7\'e0\'f2\'fc, \'ef\'ee\'e8\'f1\'ea \'e8 \'e7\'e0\'ef\'f3\'f1\'ea\'e0\'f2\'fc \'ec\'e0\'e3\'e0\'e7\'e8\'ed \'ef\'f0\'e8\'eb\'ee\'e6\'e5\'ed\'e8\'e9 Windows (Windows 8)\par - -\pard\widctlpar\f2\lang4105\par -\par -\cf5\b\f0\fs28\lang1033 Classic\lang4105 \lang1033 Explorer\lang4105\par -\cf0\b0\f2\fs22\par - -\pard\widctlpar\sa200\sl276\slmult1\cf3\b\lang1033 Classic\lang4105 \lang1033 Explorer\cf0\lang4105 \b0\f3\lang1049\'ef\'f0\'e5\'e4\'f1\'f2\'e0\'e2\'eb\'ff\'e5\'f2 \'f1\'ee\'e1\'ee\'e9 \'ed\'e0\'e4\'f1\'f2\'f0\'ee\'e9\'ea\'f3 \'e4\'eb\'ff \'ef\'f0\'ee\'e2\'ee\'e4\'ed\'e8\'ea\'e0 \f2\lang1033 Windows\f3\lang1049 , \'ea\'ee\'f2\'ee\'f0\'e0\'ff:\f2\lang4105\par - -\pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\f3\lang1049\'c4\'ee\'e1\'e0\'e2\'eb\'ff\'e5\'f2 \'ed\'e0 \'ef\'e0\'ed\'e5\'eb\'fc \'e8\'ed\'f1\'f2\'f0\'f3\'ec\'e5\'ed\'f2\'ee\'e2 \'ef\'f0\'ee\'e2\'ee\'e4\'ed\'e8\'ea\'e0 \'ed\'e5\'ea\'ee\'f2\'ee\'f0\'fb\'e5 \'ee\'e1\'f9\'e8\'e5 \'ee\'ef\'e5\'f0\'e0\'f6\'e8\'e8 (\'cf\'e5\'f0\'e5\'f5\'ee\'e4 \'e2 \'ea\'ee\'f0\'ed\'e5\'e2\'f3\'fe \'ef\'e0\'ef\'ea\'f3, \'c2\'fb\'f0\'e5\'e7\'e0\'f2\'fc, \'ca\'ee\'ef\'e8\'f0\'ee\'e2\'e0\'f2\'fc, \'c2\'f1\'f2\'e0\'e2\'e8\'f2\'fc, \'d3\'e4\'e0\'eb\'e8\'f2\'fc, \'d1\'e2\'ee\'e9\'f1\'f2\'e2\'e0, \'dd\'eb\'e5\'ea\'f2\'f0\'ee\'ed\'ed\'e0\'ff \'ef\'ee\'f7\'f2\'e0). \'cf\'e0\'ed\'e5\'eb\'fc \'e8\'ed\'f1\'f2\'f0\'f3\'ec\'e5\'ed\'f2\'ee\'e2 \'ef\'ee\'eb\'ed\'ee\'f1\'f2\'fc\'fe \'ed\'e0\'f1\'f2\'f0\'e0\'e8\'e2\'e0\'e5\'ec\'e0\'ff\par -{\pntext\f4\'B7\tab}\'c7\'e0\'ec\'e5\'ed\'ff\'e5\'f2 \'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'f2\'e5\'eb\'fc\'f1\'ea\'e8\'e9 \'e8\'ed\'f2\'e5\'f0\'f4\'e5\'e9\'f1 \'ea\'ee\'ef\'e8\'f0\'ee\'e2\'e0\'ed\'e8\'ff \'e2 \f2\lang1033 Windows\f3\lang1049 7 \'ed\'e0 \'e1\'ee\'eb\'e5\'e5 \'f3\'e4\'ee\'e1\'ed\'fb\'e9 \'ea\'eb\'e0\'f1\'f1\'e8\'f7\'e5\'f1\'ea\'e8\'e9, \'e0\'ed\'e0\'eb\'ee\'e3\'e8\'f7\'ed\'fb\'e9 \f2\lang1033 Windows\lang4105 \lang1033 XP\lang4105\par -{\pntext\f4\'B7\tab}\f3\lang1049\'c2\'ea\'eb\'fe\'f7\'e0\'e5\'f2 \'f4\'f3\'ed\'ea\'f6\'e8\'fe \'ed\'e0\'e6\'e0\'f2\'e8\'ff \'f1\'ee\'f7\'e5\'f2\'e0\'ed\'e8\'e9 \'ea\'eb\'e0\'e2\'e8\'f8 \f2\lang1033 Alt\lang4105 +\lang1033 Enter\f3\lang1049 \'ed\'e0 \'ef\'e0\'ed\'e5\'eb\'e8 \'ef\'e0\'ef\'ee\'ea \'ef\'f0\'ee\'e2\'ee\'e4\'ed\'e8\'ea\'e0 \f2\lang1033 Windows\f3\lang1049 , \'e3\'e4\'e5 \'ec\'ee\'e6\'ed\'ee \'ee\'f2\'ee\'e1\'f0\'e0\'e7\'e8\'f2\'fc \'f1\'e2\'ee\'e9\'f1\'f2\'e2\'e0 \'e2\'fb\'e1\'f0\'e0\'ed\'ed\'ee\'e9 \'ef\'e0\'ef\'ea\'e8\par -{\pntext\f4\'B7\tab}\'c2\'ea\'eb\'fe\'f7\'e0\'e5\'f2 \'e4\'ee\'f1\'f2\'f3\'ef \'ea \'ef\'e0\'f0\'e0\'ec\'e5\'f2\'f0\'e0\'ec \'e4\'eb\'ff \'ed\'e0\'f1\'f2\'f0\'ee\'e9\'ea\'e8 \'ef\'e0\'ed\'e5\'eb\'e8 \'ef\'e0\'ef\'ee\'ea \'ea\'e0\'ea \'e2 \f2\lang1033 Windows\lang4105 \lang1033 XP\f3\lang1049 \'e1\'e5\'e7 \'ea\'ed\'ee\'ef\'ee\'ea \'f0\'e0\'f1\'ea\'f0\'fb\'f2\'e8\'ff\par -{\pntext\f4\'B7\tab}\'ce\'f2\'ee\'e1\'f0\'e0\'e6\'e0\'e5\'f2 \'f1\'e2\'ee\'e1\'ee\'e4\'ed\'ee\'e5 \'e4\'e8\'f1\'ea\'ee\'e2\'ee\'e5 \'ef\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'f1\'f2\'e2\'ee \'e8 \'ee\'e1\'f9\'e8\'e9 \'f0\'e0\'e7\'ec\'e5\'f0 \'f4\'e0\'e9\'eb\'ee\'e2 \'e2 \'f1\'f2\'f0\'ee\'ea\'e5 \'f1\'ee\'f1\'f2\'ee\'ff\'ed\'e8\'ff\par -{\pntext\f4\'B7\tab}\'cc\'ee\'e6\'ed\'ee \'ee\'f2\'ea\'eb\'fe\'f7\'e8\'f2\'fc \'f0\'e0\'f1\'ea\'f0\'fb\'e2\'e0\'fe\'f9\'e8\'e9\'f1\'ff \'f1\'ef\'e8\'f1\'ee\'ea \'ef\'f3\'f2\'e5\'e9 \'e2 \'e0\'e4\'f0\'e5\'f1\'ed\'ee\'e9 \'f1\'f2\'f0\'ee\'ea\'e5\par -{\pntext\f4\'B7\tab}\'c8\'f1\'ef\'f0\'e0\'e2\'eb\'e5\'ed \'e4\'eb\'e8\'ed\'ed\'fb\'e9 \'f1\'ef\'e8\'f1\'ee\'ea \'f4\'f3\'ed\'ea\'f6\'e8\'e9, \'ea\'ee\'f2\'ee\'f0\'fb\'e5 \'ed\'e5 \'f0\'e0\'e1\'ee\'f2\'e0\'fe\'f2 \'e2 \f2\lang1033 Windows\f3\lang1049 7 - \'ee\'f2\'f1\'f3\'f2\'f1\'f2\'e2\'e8\'e5 \'e7\'ed\'e0\'f7\'ea\'e0 \'ed\'e0\'eb\'ee\'e6\'e5\'ed\'e8\'ff \'e4\'eb\'ff \'ee\'e1\'f9\'e8\'f5 \'ef\'e0\'ef\'ea\'e0\'f5, \'e1\'fb\'f1\'f2\'f0\'fb\'e5 \'ef\'e5\'f0\'e5\'f5\'ee\'e4\'fb \'ef\'e0\'ef\'ee\'ea \'e2 \'ef\'e0\'ed\'e5\'eb\'e8 \'ef\'e5\'f0\'e5\'f5\'ee\'e4\'ee\'e2, \'ee\'f2\'f1\'f3\'f2\'f1\'f2\'e2\'f3\'e5\'f2 \'f1\'ee\'f0\'f2\'e8\'f0\'ee\'e2\'ea\'e8 \'e7\'e0\'e3\'ee\'eb\'ee\'e2\'ea\'ee\'e2 \'e2 \'e2\'e8\'e4\'e5 \'f1\'ef\'e8\'f1\'ea\'e0, \'e8 \'e4\'f0\'f3\'e3\'ee\'e5\par - -\pard{\*\pn\pnlvlcont\pnf4\pnindent0{\pntxtb\'B7}}\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28\lang1033 Classic\lang4105 \lang1033 IE\lang4105\par - -\pard{\*\pn\pnlvlcont\pnf4\pnindent0{\pntxtb\'B7}}\widctlpar\cf0\b0\f2\fs22\par -\cf3\b\lang1033 Classic\lang4105 \lang1033 IE\lang4105 \cf0\b0\f3\lang1049\'ff\'e2\'eb\'ff\'e5\'f2\'f1\'ff \'ed\'e5\'e1\'ee\'eb\'fc\'f8\'ee\'e9 \'ed\'e0\'e4\'f1\'f2\'f0\'ee\'e9\'ea\'ee\'e9 \'e4\'eb\'ff Internet Explorer 9 \'e8 \'ef\'ee\'e7\'e4\'ed\'e8\'f5 \'e2\'e5\'f0\'f1\'e8\'e9 \'ea\'ee\'f2\'ee\'f0\'e0\'ff:\cf3\b\f2\lang4105\par -\cf0\b0\par - -\pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent0{\pntxtb\'B7}}\nowidctlpar\fi-360\li720\f3\lang1049\'c4\'ee\'e1\'e0\'e2\'eb\'ff\'e5\'f2 \'ef\'ee\'e4\'ef\'e8\'f1\'e8 \'ea \'f1\'f2\'f0\'ee\'ea\'e5 \'e7\'e0\'e3\'ee\'eb\'ee\'e2\'ea\'e0, \'ef\'ee\'fd\'f2\'ee\'ec\'f3 \'e2\'fb \'ec\'ee\'e6\'e5\'f2\'e5 \'e2\'e8\'e4\'e5\'f2\'fc \'ef\'ee\'eb\'ed\'fb\'e9 \'e7\'e0\'e3\'ee\'eb\'ee\'e2\'ee\'ea \'f1\'f2\'f0\'e0\'ed\'e8\'f6\'fb\f2\lang4105\par -{\pntext\f4\'B7\tab}\f3\lang1049\'cf\'ee\'ea\'e0\'e7\'fb\'e2\'e0\'e5\'f2 \'e7\'ee\'ed\'f3 \'e1\'e5\'e7\'ee\'ef\'e0\'f1\'ed\'ee\'f1\'f2\'e8 \'e2 \'f1\'f2\'f0\'ee\'ea\'e5 \'f1\'ee\'f1\'f2\'ee\'ff\'ed\'e8\'ff\par -{\pntext\f4\'B7\tab}\'cf\'ee\'ea\'e0\'e7\'fb\'e2\'e0\'e5\'f2 \'ef\'f0\'ee\'e3\'f0\'e5\'f1\'f1 \'e7\'e0\'e3\'f0\'f3\'e7\'ea\'e8 \'e2 \'f1\'f2\'f0\'ee\'ea\'e5 \'f1\'ee\'f1\'f2\'ee\'ff\'ed\'e8\'ff\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f1\fs28\'c8\'ed\'f1\'f2\'f0\'f3\'ea\'f6\'e8\'e8 \'ef\'ee \'f3\'f1\'f2\'e0\'ed\'ee\'e2\'ea\'e5\f0\lang4105\par - -\pard\widctlpar\sa200\sl276\slmult1\cf0\b0\f3\fs22\lang1049\'cf\'e0\'ed\'e5\'eb\'fc \'e8\'ed\'f1\'f2\'f0\'f3\'ec\'e5\'ed\'f2\'ee\'e2 \'e4\'eb\'ff \'ef\'f0\'ee\'e2\'ee\'e4\'ed\'e8\'ea\'e0 Windows \'ed\'e5 \'e1\'f3\'e4\'e5\'f2 \'ee\'f2\'ee\'e1\'f0\'e0\'e6\'e5\'ed\'e0 \'e0\'e2\'f2\'ee\'ec\'e0\'f2\'e8\'f7\'e5\'f1\'ea\'e8 \'ef\'ee\'f1\'eb\'e5 \'f3\'f1\'f2\'e0\'ed\'ee\'e2\'ea\'e8. \'cd\'e5\'ee\'e1\'f5\'ee\'e4\'e8\'ec\'ee \'e2\'fb\'ef\'ee\'eb\'ed\'e8\'f2\'fc \'ed\'e5\'f1\'ea\'ee\'eb\'fc\'ea\'ee \'f8\'e0\'e3\'ee\'e2, \'ef\'f0\'e5\'e6\'e4\'e5 \'f7\'e5\'ec \'e2\'fb \'f1\'ec\'ee\'e6\'e5\'f2\'e5 \'e8\'f1\'ef\'ee\'eb\'fc\'e7\'ee\'e2\'e0\'f2\'fc \'ef\'e0\'ed\'e5\'eb\'fc \'e8\'ed\'f1\'f2\'f0\'f3\'ec\'e5\'ed\'f2\'ee\'e2:\par - -\pard\widctlpar\f2\lang4105\par - -\pard\widctlpar\sa200\sl276\slmult1\cf3\b\lang1033 Windows\lang4105 7:\cf0\b0 \f3\lang1049\'cd\'e0\'e6\'ec\'e8\'f2\'e5 \'f1\'ee\'f7\'e5\'f2\'e0\'ed\'e8\'e5 \'ea\'eb\'e0\'e2\'e8\'f8 Alt +V, \'f7\'f2\'ee\'e1\'fb \'ee\'f2\'ea\'f0\'fb\'f2\'fc \'ec\'e5\'ed\'fe \'c2\'e8\'e4. \'ce\'f2\'ea\'f0\'ee\'e9\'f2\'e5 \'ef\'ee\'e4\'ec\'e5\'ed\'fe \'ab\b\'cf\'e0\'ed\'e5\'eb\'e8 \'e8\'ed\'f1\'f2\'f0\'f3\'ec\'e5\'ed\'f2\'ee\'e2\b0\'bb \'e8 \'e2\'fb\'e1\'e5\'f0\'e8\'f2\'e5 \'ab\b\f2\lang4105 Classic Explorer Bar\b0\f3\lang1049\'bb. \'c8\'ec\'e5\'e9\'f2\'e5 \'e2 \'e2\'e8\'e4\'f3, \'f7\'f2\'ee \'ec\'e5\'ed\'fe \'e1\'f3\'e4\'e5\'f2 \'ee\'f2\'ee\'e1\'f0\'e0\'e6\'e0\'f2\'f1\'ff \'e2\'f1\'e5\'e3\'e4\'e0\f2\lang4105 ,\f3\lang1049 \'ef\'ee\'ea\'e0\f2\lang4105 \f3\lang1049\'e2\'e8\'e4\'ed\'e0 \'ef\'e0\'ed\'e5\'eb\'fc \'e8\'ed\'f1\'f2\'f0\'f3\'ec\'e5\'ed\'f2\'ee\'e2.\par -\cf3\b\f2\lang1033 Windows\lang4105 8:\cf0\b0 \f3\lang1049\'cd\'e0\'e6\'ec\'e8\'f2\'e5 \'ea\'eb\'e0\'e2\'e8\'f8\'e8 Alt + V, \'f7\'f2\'ee\'e1\'fb \'ee\'f2\'ea\'f0\'fb\'f2\'fc \'e2\'e8\'e4 \'eb\'e5\'ed\'f2\'fb. \'cd\'e0\'e6\'ec\'e8\'f2\'e5 \'ed\'e0 \'f1\'f2\'f0\'e5\'eb\'ea\'f3 \'e2\'ed\'e8\'e7 \'e2 \'f0\'e0\'e7\'e4\'e5\'eb\'e5 \'ab\b\'cf\'e0\'f0\'e0\'ec\'e5\'f2\'f0\'fb\b0\'bb. \'c2\'fb\'e1\'e5\'f0\'e8\'f2\'e5 \'ab\b\f2\lang4105 Classic Explorer Bar\b0\'bb\par - -\pard\widctlpar\lang1033\par - -\pard -{\pntext\f3 1)\tab}{\*\pn\pnlvlbody\pnf3\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720\f3\lang1049\'c5\'f1\'eb\'e8 \'fd\'f2\'e8 \'f8\'e0\'e3\'e8 \'ed\'e5 \'f0\'e0\'e1\'ee\'f2\'e0\'fe\'f2, \'e2\'ee\'e7\'ec\'ee\'e6\'ed\'ee \lang1058\'ed\'e0\'e4\'f1\'f2\'f0\'ee\'e9\'ea\'e8 \'ef\'ee\'ee\'e2\'ee\'e4\'ed\'e8\'ea\'e0 \lang1049\'e1\'fb\'eb\'e8 \'ee\'f2\'ea\'eb\'fe\'f7\'e5\'ed\'fb. \'cf\'f0\'ee\'e2\'e5\'f0\'fc\'f2\'e5 \'f1\'eb\'e5\'e4\'f3\'fe\'f9\'e5\'e5, \'e0 \'e7\'e0\'f2\'e5\'ec \'ef\'ee\'ef\'f0\'ee\'e1\'f3\'e9\'f2\'e5 \'f1\'ed\'ee\'e2\'e0 \'ee\'f2\'ee\'e1\'f0\'e0\'e7\'e8\'f2\'fc \'ef\'e0\'ed\'e5\'eb\'fc \'e8\'ed\'f1\'f2\'f0\'f3\'ec\'e5\'ed\'f2\'ee\'e2:\par - -\pard\widctlpar\li720\sa200\sl276\slmult1\'ce\'f2\'ea\'f0\'ee\'e9\'f2\'e5 \f2\lang1033 Internet\lang4105 \lang1033 Explorer\f3\lang1049 , \'ef\'e5\'f0\'e5\'e9\'e4\'e8\'f2\'e5 \'e2 \'ec\'e5\'ed\'fe \b\'d1\'e5\'f0\'e2\'e8\'f1\f2\lang4105 ->\f3\lang1049\'d3\'ef\'f0\'e0\'e2\'eb\'e5\'ed\'e8\'e5 \'ed\'e0\'e4\'f1\'f2\'f0\'ee\'e9\'ea\'e0\'ec\'e8\b0\f2\lang4105 .\f3\lang1049 \'cd\'e0\'e9\'e4\'e8\'f2\'e5 \'ed\'e0\'e4\'f1\'f2\'f0\'ee\'e9\'ea\'f3 \f2\lang4105\'ab\b\lang1033 Classic\lang4105 \lang1033 Explorer\lang4105 \lang1033 Bar\b0\lang4105\'bb \f3\lang1049\'e8 \f2\lang4105\'ab\b\lang1033 ExplorerBHO\lang4105 \lang1033 Class\b0\lang4105\'bb \f3\lang1049\'e8 \'f3\'e1\'e5\'e4\'e8\'f2\'e5\'f1\'fc, \'f7\'f2\'ee \'ee\'ed\'e8 \'e2\'ea\'eb\'fe\'f7\'e5\'ed\'fb.\par - -\pard\widctlpar\fi-360\li720\sa200\sl276\slmult1 2)\tab\'c2\'ee\'e7\'ec\'ee\'e6\'ed\'ee \'ed\'e0\'e4\'f1\'f2\'f0\'ee\'e9\'ea\'e8 \'ee\'e1\'ee\'e7\'f0\'e5\'e2\'e0\'f2\'e5\'eb\'ff \'ee\'f2\'ea\'eb\'fe\'f7\'e5\'ed\'fb \'ed\'e0 \'e2\'e0\'f8\'e5\'e9 \'f1\'e8\'f1\'f2\'e5\'ec\'e5. \'ce\'e1\'fb\'f7\'ed\'ee \'fd\'f2\'ee \'e7\'ed\'e0\'f7\'e5\'ed\'e8\'e5 \'ef\'ee \'f3\'ec\'ee\'eb\'f7\'e0\'ed\'e8\'fe \'e4\'eb\'ff \f2\lang1033 Windows\lang4105 \lang1033 Server\f3\lang1049 . \'ce\'f2\'ea\'f0\'ee\'e9\'f2\'e5 \'ab\'d1\'e2\'ee\'e9\'f1\'f2\'e2\'e0 \'ee\'e1\'ee\'e7\'f0\'e5\'e2\'e0\'f2\'e5\'eb\'ff\'bb, \'ef\'e5\'f0\'e5\'e9\'e4\'e8\'f2\'e5 \'ed\'e0 \'e2\'ea\'eb\'e0\'e4\'ea\'f3 \'ab\b\'c4\'ee\'ef\'ee\'eb\'ed\'e8\'f2\'e5\'eb\'fc\'ed\'ee\b0\'bb \'e8 \'f3\'f1\'f2\'e0\'ed\'ee\'e2\'e8\'f2\'e5 \'f4\'eb\'e0\'e6\'ee\'ea \'ab\b\'d0\'e0\'e7\'f0\'e5\'f8\'e5\'ed\'e8\'e5 \'f1\'f2\'ee\'f0\'ee\'ed\'ed\'e8\'f5 \'f0\'e0\'f1\'f8\'e8\'f0\'e5\'ed\'e8\'e9 \'ee\'e1\'ee\'e7\'f0\'e5\'e2\'e0\'f2\'e5\'eb\'ff\b0\f2\lang4105\'bb.\par - -\pard\widctlpar\f3\lang1049\'cd\'e0 Windows 7 \'e2\'fb \'e4\'ee\'eb\'e6\'ed\'fb \'e2\'ea\'eb\'fe\'f7\'e8\'f2\'fc \'f1\'f2\'f0\'ee\'ea\'f3 \'f1\'ee\'f1\'f2\'ee\'ff\'ed\'e8\'ff\f2\lang4105 \f3\lang1049\'e8\'e7 \'ec\'e5\'ed\'fe \'c2\'e8\'e4, \'e5\'f1\'eb\'e8 \'e2\'fb \'f5\'ee\'f2\'e8\'f2\'e5 \'f3\'e2\'e8\'e4\'e5\'f2\'fc \'f0\'e0\'e7\'ec\'e5\'f0\'fb \'f4\'e0\'e9\'eb\'ee\'e2.\par -\'cd\'e0 Windows 8 \'f1\'f2\'f0\'ee\'ea\'e0 \'f1\'ee\'f1\'f2\'ee\'ff\'ed\'e8\'ff \f2\lang4105 Classic Explorer \f3\lang1049\'ee\'f2\'eb\'e8\'f7\'e0\'e5\'f2\'f1\'ff \'ee\'f2 \lang1058\'f1\'f2\'f0\'ee\'ea\'e8 \lang1049\'f1\'ee\'f1\'f2\'ee\'ff\'ed\'e8\'ff \'e2 \'ee\'e1\'ee\'e7\'f0\'e5\'e2\'e0\'f2\'e5\'eb\'e5. \'c2\'fb \'ec\'ee\'e6\'e5\'f2\'e5 \'f1\'ea\'f0\'fb\'f2\'fc/\'ef\'ee\'ea\'e0\'e7\'e0\'f2\'fc \'ef\'e5\'f0\'e2\'f3\'fe \'f1\'f2\'f0\'ee\'ea\'f3 \'e8\'e7 \'e4\'e8\'e0\'eb\'ee\'e3\'ee\'e2\'ee\'e3\'ee \'ee\'ea\'ed\'e0\f2\lang4105 \f3\lang1049\'ef\'e0\'f0\'e0\'ec\'e5\'f2\'f0\'ee\'e2 \'ef\'f0\'ee\'e2\'ee\'e4\'ed\'e8\'ea\'e0 \'e8 \'ef\'ee\'ea\'e0\'e7\'e0\'f2\'fc/\'f1\'ea\'f0\'fb\'f2\'fc \'e2\'f2\'ee\'f0\'f3\'fe \'f1\'f2\'f0\'ee\'ea\'f3 \'e8\'e7 \'e4\'e8\'e0\'eb\'ee\'e3\'ee\'e2\'ee\'e3\'ee \'ee\'ea\'ed\'ee\f2\lang4105 \f3\lang1049\'ef\'e0\'f0\'e0\'ec\'e5\'f2\'f0\'ee\'e2 \'ef\'e0\'ef\'ea\'e8 \'ef\'f0\'ee\'e2\'ee\'e4\'ed\'e8\'ea\'e0.\par -\f2\lang4105\par -\f3\lang1049\'c7\'e0\'e3\'ee\'eb\'ee\'e2\'ee\'ea \'e2 \'ee\'e1\'ee\'e7\'f0\'e5\'e2\'e0\'f2\'e5\'eb\'e5 Internet Explorer \'ec\'ee\'e6\'e5\'f2 \'ed\'e5 \'ee\'f2\'ee\'e1\'f0\'e0\'e6\'e0\'f2\'fc\'f1\'ff \'e0\'e2\'f2\'ee\'ec\'e0\'f2\'e8\'f7\'e5\'f1\'ea\'e8 \'ef\'ee\'f1\'eb\'e5 \'f3\'f1\'f2\'e0\'ed\'ee\'e2\'ea\'e8 \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'fb. \'c2\'fb \'ec\'ee\'e6\'e5\'f2\'e5 \'ef\'ee\'eb\'f3\'f7\'e8\'f2\'fc \'e7\'e0\'ef\'f0\'ee\'f1 \'ed\'e0 \'e2\'ea\'eb\'fe\'f7\'e5\'ed\'e8\'ff \'ed\'e0\'e4\'f1\'f2\'f0\'ee\'e9\'ea\'e8\f2\lang4105 \b ClassicIEBHO\b0\f3\lang1049 . \'c5\'f1\'eb\'e8 \'e2\'fb \'ef\'ee\'eb\'f3\'f7\'e8\'eb\'e8 \'e7\'e0\'ef\'f0\'ee\'f1, \'e2\'fb\'e1\'e5\'f0\'e8\'f2\'e5 \'ab\'c2\'ea\'eb\'fe\'f7\'e8\'f2\'fc\'bb. \'c5\'f1\'eb\'e8 \'e2\'fb \'ed\'e5 \'ef\'ee\'eb\'f3\'f7\'e8\'f2\'e5 \'ef\'ee\'e4\'f1\'ea\'e0\'e7\'ea\'f3, \'ef\'e5\'f0\'e5\'e9\'e4\'e8\'f2\'e5 \'e2 \'ec\'e5\'ed\'fe \b\'d1\'e5\'f0\'e2\'e8\'f1-> \'d3\'ef\'f0\'e0\'e2\'eb\'e5\'ed\'e8\'e5 \'ed\'e0\'e4\'f1\'f2\'f0\'ee\'e9\'ea\'e0\'ec\'e8\b0 \'e8 \'f3\'e1\'e5\'e4\'e8\'f2\'e5\'f1\'fc, \'f7\'f2\'ee \'ed\'e0\'e4\'f1\'f2\'f0\'ee\'e9\'ea\'e0\f2\lang4105 \'ab\b ClassicIEBHO\b0\f3\lang1049\'bb \'e2\'ea\'eb\'fe\'f7\'e5\'ed\'e0. \'cf\'ee\'f1\'eb\'e5 \'fd\'f2\'ee\'e3\'ee \'ef\'e5\'f0\'e5\'e7\'e0\'ef\'f3\'f1\'f2\'e8\'f2\'e5 Internet Explorer.\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f1\fs28\'d3\'e4\'e0\'eb\'e5\'ed\'e8\'e5\f0\lang4105\par - -\pard\widctlpar\cf0\b0\f2\fs22\par - -\pard\widctlpar\sa200\sl276\slmult1\f3\lang1049\'d7\'f2\'ee\'e1\'fb \'f3\'e4\'e0\'eb\'e8\'f2\'fc \cf3\b\f2\lang1033 Classic\lang4105 \lang1033 Shell\cf0\b0\f3\lang1049 \'e2\'fb\'ef\'ee\'eb\'ed\'e8\'f2\'e5 \'f1\'eb\'e5\'e4\'f3\'fe\'f9\'e8\'e5 \'f8\'e0\'e3\'e8:\par - -\pard -{\pntext\f2 1)\tab}{\*\pn\pnlvlbody\pnf2\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720\'ce\'f2\'ea\'f0\'ee\'e9\'f2\'e5 \b\'cf\'e0\'ed\'e5\'eb\'fc \'f3\'ef\'f0\'e0\'e2\'eb\'e5\'ed\'e8\'ff -> \'cf\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'fb \'e8 \'ea\'ee\'ec\'ef\'ee\'ed\'e5\'ed\'f2\'fb\b0 \'e8 \'e4\'e2\'e0\'e6\'e4\'e8 \'f9\'e5\'eb\'ea\'ed\'e8\'f2\'e5 \'ed\'e0 \'fd\'eb\'e5\'ec\'e5\'ed\'f2 \b\f2\lang1033 Classic\lang4105 \lang1033 Shell\b0\lang4105 .\f3\lang1049 \'c7\'e0\'f2\'e5\'ec \'f1\'eb\'e5\'e4\'f3\'e9\'f2\'e5 \'e8\'ed\'f1\'f2\'f0\'f3\'ea\'f6\'e8\'ff\'ec \'ed\'e0 \'fd\'ea\'f0\'e0\'ed\'e5. \'c2\'ee\'e7\'ec\'ee\'e6\'ed\'ee, \'e2\'e0\'ec \'ef\'f0\'e8\'e4\'e5\'f2\'f1\'ff \'ef\'e5\'f0\'e5\'e7\'e0\'e3\'f0\'f3\'e7\'e8\'f2\'fc Windows, \'f7\'f2\'ee\'e1\'fb \'e7\'e0\'e2\'e5\'f0\'f8\'e8\'f2\'fc \'ef\'f0\'ee\'f6\'e5\'f1\'f1 \'f3\'e4\'e0\'eb\'e5\'ed\'e8\'ff.\f2\lang4105\par -{\pntext\f2 2)\tab}\f3\lang1049\'c5\'f1\'eb\'e8 \'f3 \'e2\'e0\'f1 \'f3\'f1\'f2\'e0\'ed\'ee\'e2\'eb\'e5\'ed\'fb \'ea\'e0\'ea\'e8\'e5-\'eb\'e8\'e1\'ee \'e4\'ee\'ef\'ee\'eb\'ed\'e8\'f2\'e5\'eb\'fc\'ed\'fb\'e5 \'ee\'e1\'eb\'ee\'e6\'ea\'e8 \'e4\'eb\'ff \'e3\'eb\'e0\'e2\'ed\'ee\'e3\'ee \'ec\'e5\'ed\'fe, \'e2\'e0\'ec \'ef\'f0\'e8\'e4\'e5\'f2\'f1\'ff \'f3\'e4\'e0\'eb\'e8\'f2\'fc \'e8\'f5 \'e2\'f0\'f3\'f7\'ed\'f3\'fe\f2\lang4105\par - -\pard\widctlpar\sa200\sl276\slmult1\par -} - diff --git a/Src/Localization/Russian/OpenShellTOC.hhc b/Src/Localization/Russian/OpenShellTOC.hhc deleted file mode 100644 index 6b13bab..0000000 --- a/Src/Localization/Russian/OpenShellTOC.hhc +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -
    -
  • - - - - -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
  • - - - - -
- diff --git a/Src/Localization/Russian/OpenShellText-ru-RU.wxl b/Src/Localization/Russian/OpenShellText-ru-RU.wxl deleted file mode 100644 index 0e00f70..0000000 --- a/Src/Localization/Russian/OpenShellText-ru-RU.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - Этот установщик предназначен только для 32-разрядной версии Windows. Для 64-разрядной версии Windows необходимо запустить Setup64. - Для работы Open-Shell требуется операционная система Windows 7 или выше. - Уже установлена более новая версия приложения [ProductName]. Установка будет прервана. - Classic Explorer - Компонент Classic Explorer добавляет панель инструментов в проводнике Windows, заменяет копию пользовательского интерфейса и исправляет некоторые проблемы - Open-Shell Menu - Компонент Open-Shell Menu является высоко настраиваемой заменой для меню Пуск Windows - Classic IE - Компонент Classic IE позволяет настроить строку заголовка и строку состояния Internet Explorer - Open-Shell Update - Компонент Open-Shell Update периодически проверяет наличие новых версий - Просмотр документации Open-Shell - Просмотр руководства пользователя Open-Shell - Изменить параметры Classic Explorer - Изменить параметры классического меню Пуск - Изменить параметры заголовка окна и строки состояния Internet Explorer - Изменить параметры проверки новой версии Open-Shell - Создать папку в меню Пуск - Домашняя страница Open-Shell - Помочь проекту Open-Shell - Наша группа в Facebook - Открыть документацию - Справка Open-Shell - Дополнительная информация - Open-Shell Update - Параметры Classic Explorer - Параметры классического меню Пуск - Параметры Classic IE - Открыть начальный экран - Open-Shell — это набор улучшений для Windows - diff --git a/Src/Localization/Russian/WixUI_ru-ru.wxl b/Src/Localization/Russian/WixUI_ru-ru.wxl deleted file mode 100644 index 1eef365..0000000 --- a/Src/Localization/Russian/WixUI_ru-ru.wxl +++ /dev/null @@ -1,606 +0,0 @@ - - - - - - - &Назад - Д&алее - Отмена - &Готово - П&овторить - &Пропустить - &Да - &Нет - ОК - &Печать - - Установка [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Прочитайте лицензионное соглашение на использование [ProductName] - &Я принимаю условия лицензионного соглашения - Нажмите кнопку "Установить", чтобы установить продукт с параметрами по умолчанию для всех пользователей. Нажмите кнопку "Дополнительно", чтобы изменить параметры установки. - Нажмите кнопку "Установить", чтобы установить продукт с параметрами по умолчанию для текущего пользователя. Нажмите кнопку "Дополнительно", чтобы изменить параметры установки. - &Установить - Д&ополнительно - 8 - 12 - 9 - 8 - Tahoma - - Установка [ProductName] - &Искать в: - WixUI_Bmp_Up - Переход на уровень вверх - WixUI_Bmp_New - Создание новой папки - &Имя папки: - WixUI_Bmp_Banner - Перейдите в конечную папку - {\WixUI_Font_Title}Изменить конечную папку - - Установка [ProductName] - Действительно отменить установку [ProductName]? - WixUI_Ico_Info - Значок информации - - Установка [ProductName] - Дерево выбора - Об&зор... - С&брос - Использование д&иска - WixUI_Bmp_Banner - Для изменения параметров установки какого-либо компонента щелкните соответствующий значок в расположенном ниже дереве. - Укажите конфигурацию установки компонентов. - {\WixUI_Font_Title}Выборочная установка - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Местоположение: - - Установка [ProductName] - WixUI_Bmp_Banner - На выделенных томах недостаточно свободного места для выбранных компонентов. Удалите несколько файлов с выделенных томов, установите меньшее количество компонентов либо выберите другие конечные диски. - Необходимое дисковое пространство для установки выбранных компонентов. - {\WixUI_Font_Title}Требования к свободному месту на диске - {120}{70}{70}{70}{70} - - Установка [ProductName] - Текстовая информация - WixUI_Ico_Info - Значок информации - - Установка [ProductName] - WixUI_Bmp_Dialog - Нажмите кнопку "Готово", чтобы выйти из мастера установки. - {\WixUI_Font_Bigger}Установка [ProductName] завершена - - Установка [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Работа мастера установки [ProductName] преждевременно завершена - Работа мастера установки [ProductName] преждевременно завершена из-за ошибки. Система не была изменена. Чтобы установить эту программу позднее, запустите мастер установки еще раз. - Для выхода из мастера установки нажмите кнопку "Готово". - - Установка [ProductName] - Компоненты продукта - WixUI_Bmp_Banner - Укажите конфигурацию установки компонентов. - {\WixUI_Font_Title}Компоненты продукта - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Установить - &Изменить - - Установка [ProductName] - В&ыход - WixUI_Bmp_Banner - Следующие приложения используют файлы, нуждающиеся в обновлении. Закройте эти приложения, а затем нажмите кнопку "&Повторить" для продолжения установки или "Выход" для ее завершения. - Некоторые файлы, которые должны быть обновлены, в данный момент используются. - {\WixUI_Font_Title}Используемые файлы - - Установка [ProductName] - &Изменить... - {\WixUI_Font_Title}Конечная папка - Нажмите кнопку "Далее", чтобы выполнить установку в папке по умолчанию, или кнопку "Изменить", чтобы выбрать другую папку. - WixUI_Bmp_Banner - Установить [ProductName] в: - - Установка [ProductName] - WixUI_Bmp_Banner - Выберите область и папку для установки - {\WixUI_Font_Title}Область установки - {\WixUI_Font_Emphasized}Установка для &текущего пользователя ([LogonUser]) - Продукт [ProductName] будет установлен в папке пользователя и доступен только для текущего пользователя. Привилегии локального администратора не требуются. - [ProductName] не поддерживает установку для отдельных пользователей. - {\WixUI_Font_Emphasized}Установка для всех пользователей &компьютера - Продукт [ProductName] будет установлен в папке, используемой на компьютере по умолчанию, и доступен для всех пользователей. Папку установки по умолчанию можно изменить. Необходимы привилегии локального администратора. - Папка у&становки: - &Изменить... - - Установка [ProductName] - Каталог установки должен находиться на локальном жестком диске. - WixUI_Ico_Info - Значок информации - - Установка [ProductName] - &Я принимаю условия лицензионного соглашения - WixUI_Bmp_Banner - Внимательно прочитайте следующее лицензионное соглашение - {\WixUI_Font_Title}Лицензионное соглашение - - Установка [ProductName] - &Изменить - Изменение установки - &Восстановить - Восстановление установки - &Удалить - Удаление установки - WixUI_Bmp_Banner - Выберите операцию, которую следует выполнить. - {\WixUI_Font_Title}Изменение, восстановление или удаление установки - Позволяет изменить параметры установки компонентов. - У [ProductName] нет независимо выбираемых компонентов. - Удаление [ProductName] с компьютера. - Невозможно удалить [ProductName]. - Исправление ошибок в последней установке путем восстановления отсутствующих и поврежденных файлов, ярлыков и записей реестра. - Невозможно восстановить [ProductName]. - - Установка [ProductName] - WixUI_Bmp_Dialog - Мастер установки позволяет изменить способ установки или удаления компонентов [ProductName] на компьютере. Нажмите кнопку "Далее", чтобы продолжить, или кнопку "Отмена", чтобы выйти из мастера установки. - {\WixUI_Font_Bigger}Вас приветствует мастер установки [ProductName] - - Установка [ProductName] - WixUI_Bmp_Banner - Следующие приложения используют файлы, нуждающиеся в обновлении. Мастер установки может закрыть их и попробовать перезапустить их; также можно перезагрузить компьютер позднее. - Некоторые файлы, которые должны быть обновлены, в данный момент используются. - {\WixUI_Font_Title}Используемые файлы - &Закрыть приложения и попытаться перезапустить их. - &Не закрывать приложения. Потребуется перезагрузка. - - Установка [ProductName] - WixUI_Bmp_Banner - На выделенных томах недостаточно свободного места для выбранных сейчас компонентов. Удалите несколько файлов с выделенных томов, установите меньшее количество компонентов либо выберите другой конечный диск. - На диске недостаточно места для установки. - {\WixUI_Font_Title}Недостаточно места на диске - {120}{70}{70}{70}{70} - - Установка [ProductName] - WixUI_Bmp_Banner - На выделенных томах недостаточно свободного места для установки выбранных компонентов. Можно удалить некоторые файлы с выделенных томов, установить меньшее количество компонентов или выбрать другой диск для установки. - На диске недостаточно места для установки. - {\WixUI_Font_Title}Недостаточно места на диске - {120}{70}{70}{70}{70} - Также можно отключить возможность отмены установки. Отключение возможности отмены установки не позволит установщику восстановить исходное состояние компьютера в случае сбоя или прерывания установки. Для отключения возможности отмены установки нажмите кнопку "Да". - - Установка [ProductName] - WixUI_Bmp_Dialog - Подождите, пока мастер выполняет подготовку к установке. - {\WixUI_Font_Bigger}Вас приветствует мастер установки [ProductName] - - Установка [ProductName] - WixUI_Bmp_Banner - Подождите, пока мастер установки устанавливает [ProductName]. - {\WixUI_Font_Title}Установка [ProductName] - Подождите, пока мастер установки изменяет [ProductName]. - {\WixUI_Font_Title}Изменение [ProductName] - Подождите, пока мастер установки восстанавливает [ProductName]. - {\WixUI_Font_Title}Восстановление [ProductName] - Подождите, пока мастер установки удаляет [ProductName]. - {\WixUI_Font_Title}Удаление [ProductName] - Подождите, пока мастер установки обновляет [ProductName]. - {\WixUI_Font_Title}Идет обновление [ProductName] - Выполнено - Состояние: - - Установка [ProductName] - &Установить - WixUI_Bmp_Dialog - Мастер установки завершит установку [ProductName] на компьютер. Нажмите кнопку "Установить", чтобы продолжить, или кнопку "Отмена", чтобы выйти из мастера установки. - {\WixUI_Font_Bigger}Продолжение работы мастера установки [ProductName] - - Установка [ProductName] - &Обычная - Обычная установка - В&ыборочная - Выборочная установка - По&лная - Полная установка - WixUI_Bmp_Banner - {\WixUI_Font_Title}Выберите тип установки - Укажите наиболее подходящий тип установки - Устанавливает самые распространенные компоненты программ. Рекомендуется для большинства пользователей. - Позволяет выбирать для установки отдельные компоненты и задавать их местонахождение. Рекомендуется для опытных пользователей. - Устанавливает все компоненты программы. Этот вариант требует больше всего места на диске. - - Установка [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Работа мастера установки [ProductName] была прервана - Установка [ProductName] была прервана. Система не была изменена. Чтобы установить эту программу позднее, запустите программу установки еще раз. - Для выхода из мастера установки нажмите кнопку "Готово". - - Установка [ProductName] - WixUI_Bmp_Banner - &Установить - Нажмите кнопку "Установить", чтобы начать установку. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к установке [ProductName] - &Изменить - Нажмите кнопку "Изменить", чтобы начать установку. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к изменению [ProductName] - &Восстановить - Нажмите кнопку "Восстановить", чтобы восстановить установку [ProductName]. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к восстановлению [ProductName] - &Удалить - Нажмите кнопку "Удалить", чтобы удалить [ProductName] с компьютера. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к удалению [ProductName] - &Обновить - Нажмите кнопку "Обновить", чтобы обновить [ProductName] на компьютере. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к обновлению [ProductName] - - Установка [ProductName] - &Возврат - Подождите, пока установщик определяет требования к свободному месту на диске. - WixUI_Ico_Exclam - Восклицательный знак - - Установка [ProductName] - WixUI_Bmp_Dialog - Мастер установки установит [ProductName] на компьютере. Нажмите кнопку "Далее", чтобы продолжить, или кнопку "Отмена", чтобы выйти из мастера установки. - Мастер установки обновит [ProductName] на компьютере. Нажмите кнопку "Далее", чтобы продолжить, или кнопку "Отмена", чтобы выйти из мастера установки. - {\WixUI_Font_Bigger}Вас приветствует мастер установки [ProductName] - - Установка [ProductName] - WixUI_Bmp_Dialog - &Я принимаю условия лицензионного соглашения - &Установить - &Обновить - {\WixUI_Font_Title}Прочитайте лицензионное соглашение на использование [ProductName] - - Проверка установки - Копирование новых файлов - Файл: [1], папка: [9], размер: [6] - Копирование сетевых файлов установки - Файл: [1], папка: [9], размер: [6] - Вычисление требуемого места - Вычисление требуемого места - Вычисление требуемого места - Создание ярлыков - Ярлык: [1] - Публикация подходящих компонентов - Код компонента: [1], квалификатор: [2] - Публикация компонентов продукта - Компонент: [1] - Публикация сведений о продукте - Регистрация серверов классов - Код класса: [1] - Регистрация расширительных серверов - Расширение: [1] - Регистрация сведений MIME - Тип содержимого MIME: [1], расширение: [2] - Регистрация программных идентификаторов - Программный идентификатор: [1] - Выделение места в реестре - Свободное пространство: [1] - Поиск установленных приложений - Свойство: [1], подпись: [2] - Связывание исполняемых файлов - Файл: [1] - Поиск соответствующих продуктов - Создание папок - Папка: [1] - Удаление служб - Служба: [1] - Создание копий файлов - Файл: [1], папка: [9], размер: [6] - Поиск связанных приложений - Найдено приложение: [1] - Установка компонентов ODBC - Установка новых служб - Служба: [2] - Проверка условий запуска - Перенос параметров компонентов из связанных приложений - Приложение: [1] - Перемещение файлов - Файл: [1], папка: [9], размер: [6] - Идет исправление файлов - Файл: [1], папка: [2], размер: [3] - Идет обновление регистрации компонентов - Идет регистрация приложений и компонентов COM+ - Код приложения: [1]{{, тип: [2], пользователи: [3], RSN: [4]}} - Идет регистрация шрифтов - Шрифт: [1] - Идет регистрация продукта - [1] - Идет регистрация библиотек типов - Идентификатор библиотеки: [1] - Идет регистрация пользователя - [1] - Идет удаление дублирующих файлов - Файл: [1], папка: [9] - Обновление переменных среды - Имя: [1], значение: [2], действие [3] - Удаление приложений - Приложение: [1], командная строка: [2] - Удаление файлов - Файл: [1], папка: [9] - Удаление папок - Папка: [1] - Удаление записей INI-файлов - Файл: [1], раздел: [2], подраздел: [3], значение: [4] - Удаление компонентов ODBC - Удаление значений системного реестра - Раздел: [1], имя: [2] - Удаление ярлыков - Ярлык: [1] - Поиск соответствующих продуктов - Регистрация модулей - Файл: [1], папка: [2] - Отмена регистрации модулей - Файл: [1], папка: [2] - Инициализация папок ODBC - Запуск служб - Служба: [1] - Остановка служб - Служба: [1] - Отмена публикации подходящих компонентов - Код компонента: [1], квалификатор: [2] - Отмена публикации компонентов продукта - Компонент: [1] - Отмена регистрации серверов классов - Код класса: [1] - Отмена регистрации приложений и компонентов COM+ - Идентификатор приложения: [1]{{, тип приложения: [2]}} - Отмена регистрации расширительных серверов - Расширение: [1] - Отмена регистрации шрифтов - Шрифт: [1] - Отмена регистрации сведений MIME - Тип содержимого MIME: [1], расширение: [2] - Отмена регистрации программных идентификаторов - Программный идентификатор: [1] - Отмена регистрации библиотек типов - Идентификатор библиотеки: [1] - Обновление переменных среды - Имя: [1], значение: [2], действие [3] - Запись значений INI-файлов - Файл: [1], раздел: [2], подраздел: [3], значение: [4] - Запись значений системного реестра - Раздел: [1], имя: [2], значение: [3] - Объявление о приложениях - Создание сценария операций для действия: - [1] - Установка системного каталога - Файл: [1], зависимости: [2] - Публикация сведений о сборке - Контекст приложения:[1], имя сборки:[2] - Отмена публикации сведений о сборке - Контекст приложения:[1], имя сборки:[2] - Откат действия: - [1] - Удаление резервных файлов - Файл: [1] - Удаление перемещенных файлов - Файл: [1], папка: [9] - Отмена публикации сведений о продукте - - {{Неустранимая ошибка: }} - {{Ошибка [1]. }} - Предупреждение [1]. - Информация [1]. - Произошла непредвиденная ошибка при установке этого пакета. Возможно, пакет содержит ошибки. Код ошибки: [1]. {{Аргументы: [2], [3], [4]}} - {{Диск заполнен: }} - Действие [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Тип сообщения: [1], аргумент: [2] - === Журнал начат: [Date] [Time] === - === Журнал остановлен: [Date] [Time] === - Начало действия [Time]: [1]. - Действие закончено [Time]: [1]. Код возврата [2]. - Осталось: {[1] мин. }{[2] сек.} - Недостаточно памяти. Закройте другие приложения и повторите попытку. - Установщик не отвечает. - Установщик преждевременно завершил работу. - Подождите, пока Windows настроит программу [ProductName] - Идет сбор необходимых данных... - Удаление старых версий этого приложения... - Подготовка к удалению старых версий этого приложения... - Установка {[ProductName]} успешно завершена. - Не удалось установить {[ProductName]}. - Ошибка чтения файла: [2]. {{ Системная ошибка [3].}} Убедитесь, что файл существует и доступен. - Невозможно создать файл "[2]". Каталог с таким именем уже существует. Отмените установку и попытайтесь выполнить установку в другой каталог. - Вставьте диск: [2] - У установщика недостаточно привилегий для доступа к этому каталогу: [2]. Продолжение установки невозможно. Войдите в систему как администратор или обратитесь к администратору. - Ошибка при записи в файл: [2]. Убедитесь в наличии доступа к этому каталогу. - Ошибка чтения файла: [2]. {{ Системная ошибка [3].}} Убедитесь, что файл существует и доступен. - К файлу "[2]" в монопольном режиме обращается другое приложение. Завершите все другие приложения и нажмите кнопку "Повторить". - Для установки данного файла недостаточно дискового пространства. [2]. Освободите место на диске и нажмите кнопку "Повторить" либо нажмите кнопку "Отмена" для выхода. - Не найден исходный файл: [2]. Убедитесь, что этот файл существует и доступен. - Ошибка чтения файла: [3]. {{ Системная ошибка [2].}} Убедитесь, что файл существует и доступен. - Ошибка записи в файл: [3]. {{ Системная ошибка [2].}} Проверьте наличие доступа к папке. - Исходный файл не найден{{(cabinet)}}: [2]. Убедитесь, что этот файл существует и доступен. - Невозможно создать каталог "[2]". Файл с таким именем уже существует. Переименуйте или удалите этот файл и нажмите кнопку "Повторить", либо нажмите кнопку "Отмена" для выхода. - Том [2] сейчас недоступен. Выберите другой том. - Указанный путь "[2]" недоступен. - Не удается произвести запись в указанную папку: [2]. - Сетевая ошибка при попытке чтения из файла: [2] - Ошибка при попытке создать папку: [2] - Сетевая ошибка при попытке создать папку: [2] - Сетевая ошибка при попытке открытия исходного CAB-файла: [2] - Указан слишком длинный путь: [2] - У установщика недостаточно привилегий для изменения этого файла: [2]. - Недопустимая часть пути к папке "[2]". Она либо пустая, либо превышает максимально допустимую длину. - Путь к папке "[2]" содержит слова, недопустимые для использования в пути к папке. - Путь к папке "[2]" содержит недопустимый знак. - "[2]" является недопустимым коротким именем файла. - Ошибка при получении сведений о безопасности: [3] GetLastError: [2] - Недопустимое устройство: [2] - Ошибка применения исправления к файлу "[2]". Возможно, файл уже был обновлен другим способом и не может быть обновлен с помощью этого исправления. За дополнительными сведениями обратитесь к поставщику исправления. {{Системная ошибка: [3]}} - Невозможно установить нужный файл, так как в CAB-файле [2] отсутствует цифровая подпись. Возможно, САВ-файл поврежден. - Невозможно установить нужный файл, так как CAB-файл [2] имеет недопустимую цифровую подпись. Возможно, САВ-файл поврежден. {{Ошибка [3] возвращена методом WinVerifyTrust.}} - Не удалось должным образом скопировать файл [2]: ошибка CRC. - Не удалось должным образом переместить файл [2]: ошибка CRC. - Не удалось должным образом исправить файл [2]: ошибка CRC. - Невозможно установить файл "[2]", так как он не найден в CAB-файле "[3]". Возможно, произошла ошибка сети, ошибка чтения с компакт-диска или пакет содержит ошибки. - CAB-файл "[2]", необходимый для этой установки, поврежден и не может быть использован. Возможно, произошла ошибка сети, ошибка чтения с компакт-диска или пакет содержит ошибки. - Произошла ошибка при создании временного файла, необходимого для выполнения установки. {{Папка: [3]. Код системной ошибки: [2]}} - Не удалось создать раздел: [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось открыть раздел: [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось удалить значение [2] из раздела [3]. {{Системная ошибка [4].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось удалить раздел: [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось считать значение [2] из раздела [3]. {{Системная ошибка [4].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось записать значение [2] в раздел [3]. {{Системная ошибка [4].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось получить имена значений для раздела [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось получить имена подразделов для раздела [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось прочесть информацию о безопасности для раздела [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось увеличить доступное пространство реестра. Для установки этого приложения требуется [2] КБ свободного места в реестре. - Производится другая установка. Необходимо завершить ее перед продолжением этой. - Ошибка доступа к защищенным данным. Убедитесь, что установщик Windows правильно настроен, и повторите попытку. - Пользователь "[2]" ранее начал установку продукта "[3]". Этот пользователь должен будет повторно выполнить установку прежде, чем сможет использовать данный продукт. Текущая установка будет продолжена. - Пользователь "[2]" ранее начал установку продукта "[3]". Этот пользователь должен будет повторно выполнить установку прежде, чем сможет использовать данный продукт. - Недостаточно места на диске -- том: "[2]"; требуется: [3] КБ; свободно: [4] КБ. Освободите место на диске и повторите попытку. - Отменить установку? - Файл [2][3] сейчас используется{ следующим процессом: имя: [4], идентификатор: [5], заголовок окна: "[6]"}. Закройте это приложение и повторите попытку. - Продукт "[2]" уже установлен, что препятствует установке данного продукта. Эти продукты несовместимы. - Недостаточно места на томе "[2]". Невозможно продолжить установку с включенным восстановлением системы. Требуется [3] КБ, а доступно только [4] КБ. Нажмите кнопку "Пропустить", чтобы продолжить установку без сохранения информации о восстановлении, "Повтор", чтобы снова проверить наличие свободного места на диске, или "Отмена" для выхода из программы установки. - Нет доступа к сетевой папке "[2]". - Для продолжения установки необходимо закрыть следующие приложения: - Не удалось обнаружить ранее установленные совместимые продукты, необходимые для установки этого продукта. - Произошла ошибка при применении параметров безопасности. [2] не является допустимым пользователем или группой. Возможно, пакет содержит ошибки или произошла ошибка при подключении к контроллеру домена сети. Проверьте сетевое подключение и нажмите кнопку "Повтор" или нажмите кнопку "Отмена" для выхода из программы установки. {{Не удается найти SID пользователя, системная ошибка [3]}} - Недопустимый раздел: [2]. Проверьте, что раздел указан правильно. - Перед продолжением настройки [2] установщик должен перезагрузить компьютер. Чтобы перезагрузить компьютер сейчас, нажмите кнопку "Да". Чтобы отложить перезагрузку, нажмите кнопку "Нет". - Для вступления в силу изменений, сделанных в "[2]", необходимо перезагрузить компьютер. Чтобы перезагрузить компьютер сейчас, нажмите кнопку "Да". Чтобы выполнить перезагрузку позже вручную, нажмите кнопку "Нет". - В данный момент установка [2] приостановлена. Перед продолжением установки требуется отменить выполненные изменения. Отменить изменения? - Выполняется запущенная ранее установка этого продукта. Для продолжения требуется отменить изменения, выполненные в процессе той установки. Отменить эти изменения? - Пакет установки продукта [2] не найден. Попробуйте повторить установку, используя работоспособную копию пакета установки "[3]". - Установка успешно завершена. - Сбой установки. - Продукт: [2] — [3] - Можно либо восстановить предыдущее состояние компьютера, либо продолжить установку позже. Восстановить предыдущее состояние? - При записи информации об установке на диск возникла ошибка. Убедитесь в наличии требуемого свободного места на диске и нажмите кнопку "Повторить" либо нажмите кнопку "Отмена" для прекращения установки. - Не удалось найти один или несколько файлов, необходимых для восстановления предыдущего состояния компьютера. Восстановление невозможно. - [2] не удается установить один из требуемых продуктов. Обратитесь в службу технической поддержки. {{Системная ошибка: [3].}} - Не удается удалить старую версию [2]. Обратитесь в службу технической поддержки. {{Системная ошибка [3].}} - Установлено: [2] - Настроено: [2] - Удалено: [2] - Файл [2] отвергнут политикой цифровой подписи. - Служба установщика Windows недоступна. Возможно, система работает в безопасном режиме или установщик Windows установлен неправильно. За помощью обратитесь в службу поддержки. - Обнаружена неполадка, связанная с пакетом установщика Windows. Не удалось выполнить сценарий, требуемый для завершения текущей установки. Обратитесь в службу поддержки или к поставщику пакета. {{Настраиваемое действие [2], ошибка сценария [3], [4]: [5], строка [6], столбец [7], [8] }} - Ошибка пакета установщика Windows. Не удается запустить программу, необходимую для выполнения установки. Обратитесь в службу поддержки или к поставщику пакета. {{Действие: [2], расположение: [3], команда: [4] }} - Обнаружена неполадка, связанная с пакетом установщика Windows. Программа, запущенная как часть установки, не завершилась ожидаемым образом. Обратитесь в службу поддержки или к поставщику пакета. {{Действие: [2], расположение: [3], команда: [4] }} - Обнаружена неполадка, связанная с пакетом установщика Windows. Не удалось выполнить библиотеку DLL, требуемую для завершения текущей установки. Обратитесь в службу поддержки или к поставщику пакета. {{Действие: [2], запись: [3], библиотека: [4] }} - Удаление успешно завершено. - Сбой удаления. - Объявление успешно выполнено. - Сбой объявления. - Настройка успешно завершена. - Сбой настройки. - Для удаления этого приложения требуются права администратора. Чтобы удалить приложение, войдите в систему как администратор или обратитесь в службу технической поддержки. - Исходный пакет установки для продукта [2] не соответствует клиентскому пакету. Повторите установку, используя работоспособную копию пакета установки "[3]". - Для завершения установки [2] необходимо перезагрузить компьютер. В настоящий момент к этому компьютеру подключены другие пользователи, при перезагрузке результаты их работы могут быть потеряны. Выполнить перезагрузку сейчас? - Недопустимый путь [2]. Укажите допустимый путь. - Недостаточно памяти. Закройте другие приложения и повторите попытку. - Отсутствует диск в устройстве [2]. Вставьте диск и нажмите кнопку "Повтор" или нажмите кнопку "Отмена" для возврата к ранее выбранному тому. - Отсутствует диск в устройстве [2]. Вставьте диск и нажмите кнопку "Повтор" или нажмите кнопку "Отмена" для возврата к диалоговому окну обзора и выберите другой том. - Папка [2] не существует. Укажите путь к существующей папке. - Отсутствуют привилегии для чтения из этой папки. - Не удалось определить правильную конечную папку для установки. - Ошибка при попытке чтения из базы данных источника установки: [2]. - Планирование операции перезагрузки: переименование файла [2] в [3]. Для завершения операции требуется перезагрузка. - Планирование операции перезагрузки: удаление файла [2]. Для завершения операции требуется перезагрузка. - Не удалось зарегистрировать модуль [2]. HRESULT [3]. Обратитесь в службу поддержки. - Не удалось отменить регистрацию модуля [2]. HRESULT [3]. Обратитесь в службу поддержки. - Не удалось поместить пакет [2] в кэш. Ошибка: [3]. Обратитесь в службу поддержки. - Не удалось зарегистрировать шрифт [2]. Убедитесь в наличии необходимых разрешений для установки шрифтов и в том, что система поддерживает этот шрифт. - Не удалось отменить регистрацию шрифта [2]. Убедитесь в наличии необходимых разрешений на удаление шрифтов. - Не удалось создать ярлык [2]. Убедитесь в существовании конечной папки и в наличии необходимых прав доступа. - Не удалось удалить ярлык [2]. Убедитесь в существовании файла ярлыка и в наличии необходимых прав доступа. - Не удалось зарегистрировать библиотеку типов для файла [2]. Обратитесь в службу поддержки. - Не удалось отменить регистрацию библиотеки типов для файла [2]. Обратитесь в службу поддержки. - Не удалось обновить INI-файл [2][3]. Убедитесь, что этот файл существует и доступен. - Не удалось запланировать замену файла [3] файлом [2] при перезагрузке. Убедитесь в наличии необходимых разрешений для записи в файл [3]. - Ошибка удаления диспетчера драйверов ODBC, ошибка ODBC [2]: [3]. Обратитесь в службу поддержки. - Ошибка установки диспетчера драйверов ODBC, ошибка ODBC [2]: [3]. Обратитесь в службу поддержки. - Ошибка удаления драйвера ODBC: [4], ошибка ODBC [2]: [3]. Убедитесь в наличии необходимых привилегий на удаление драйверов ODBC. - Ошибка установки ODBC-драйвера: [4], ошибка ODBC [2]: [3]. Убедитесь, что файл [4] существует и доступен. - Ошибка настройки источника данных ODBC: [4], ошибка ODBC [2]: [3]. Убедитесь, что файл [4] существует и доступен. - Не удалось запустить службу "[2]" ([3]). Убедитесь в наличии необходимых привилегий для запуска системных служб. - Не удалось остановить службу "[2]" ([3]). Убедитесь в наличии необходимых привилегий для остановки системных служб. - Не удалось удалить службу "[2]" ([3]). Убедитесь в наличии необходимых привилегий для удаления системных служб. - Не удалось установить службу "[2]" ([3]). Убедитесь в наличии необходимых привилегий для установки системных служб. - Не удалось обновить переменную среды "[2]". Убедитесь в наличии необходимых привилегий для изменения переменных среды. - У вас недостаточно привилегий для завершения этой установки для всех пользователей компьютера. Войдите в систему как администратор и повторите попытку. - Не удалось установить разрешения для файла "[3]". Ошибка: [2]. Убедитесь в наличии необходимых привилегий для изменения разрешений для этого файла. - На компьютере не установлены службы компонентов (COM+ 1.0). Они необходимы для успешного завершения этой установки. Службы компонентов доступны в операционной системе Windows 2000. - Ошибка при регистрации приложения COM+. За дополнительными сведениями обратитесь в службу поддержки. - Ошибка при отмене регистрации приложения COM+. За дополнительными сведениями обратитесь в службу поддержки. - Не удалось изменить описание для службы "[2]" ([3]). - Службе установщика Windows не удается обновить системный файл [2], защищенный Windows. Возможно, для правильной работы программы необходимо выполнить обновление операционной системы. {{Версия пакета: [3], защищенная версия ОС: [4]}} - Службе установщика Windows не удается обновить файл [2], защищенный Windows. {{Версия пакета: [3], версия, защищенная ОС: [4], ошибка SFP: [5]}} - Службе установщика Windows не удается обновить один или несколько защищенных файлов Windows. {{Ошибка SFP: [2]. Список защищенных файлов:\r\n[3]}} - Пользовательские установки не разрешены политикой данного компьютера. - Произошла ошибка при установке компонента сборки "[6]". Дополнительные сведения см. в центре справки и поддержки. HRESULT: [3]. {{Интерфейс сборки: [4], функция: [5], компонент: [2]}} - Во время установки сборки "[6]" произошла ошибка. Сборка не имеет строгого имени или не подписана ключом минимальной длины. HRESULT: [3]. {{Интерфейс сборки: [4], функция: [5], компонент: [2]}} - Во время установки сборки "[6]" произошла ошибка. Не удалось проверить подпись или каталог, или они недопустимы. HRESULT: [3]. {{Интерфейс сборки: [4], функция: [5], компонент: [2]}} - Во время установки сборки "[6]" произошла ошибка. Не удалось найти один или несколько модулей сборки. HRESULT: [3]. {{Интерфейс сборки: [4], функция: [5], компонент: [2]}} - - байт - ГБ - КБ - МБ - Компонент будет полностью недоступен - Компонент будет установлен при необходимости - Компонент будет полностью установлен для запуска с компакт-диска - Компонент будет полностью установлен на локальный жесткий диск - Компонент будет полностью установлен для запуска из сети - Будет установлен для запуска с компакт-диска - Будет установлен на локальный жесткий диск - Будет установлен для запуска из сети - Папка|Новая папка - Идет сбор необходимых данных... - Компонент не будет установлен - Компонент будет установлен при необходимости - Компонент будет установлен для запуска с компакт-диска - Компонент будет установлен на локальный жесткий диск - Компонент будет установлен для запуска из сети - Компонент будет полностью недоступен - Будет установлен при необходимости - Компонент будет доступен для запуска с компакт-диска - Компонент будет установлен на локальный жесткий диск - Компонент будет доступен для запуска из сети - Компонент будет полностью удален, его нельзя будет запустить с компакт-диска - Компонент нельзя будет запустить с компакт-диска, он будет установлен при необходимости - Компонент можно будет запустить с компакт-диска - Компонент нельзя будет запустить с компакт-диска, он будет установлен на локальный жесткий диск - Компонент освободит [1] на жестком диске. - Для компонента требуется [1] на жестком диске. - Идет подсчет затрат для этого компонента... - Компонент будет полностью удален - Компонент будет удален с локального жесткого диска, но будет доступен для установки при необходимости - Компонент будет удален с локального жесткого диска, но будет доступен для запуска с компакт-диска - Компонент будет доступен на локальном жестком диске - Компонент будет удален с локального жесткого диска, но будет доступен для запуска из сети - Компонент будет полностью удален, его нельзя будет запустить из сети - Компонент больше нельзя будет запустить из сети, он будет установлен при необходимости - Компонент нельзя будет запустить из сети, он будет установлен на локальный жесткий диск - Компонент можно будет запустить из сети - Компонент освободит [1] на жестком диске. Выбрано подкомпонентов: [2] из [3]. Подкомпоненты освободят [4] на жестком диске. - Компонент освободит [1] на жестком диске. Выбрано подкомпонентов: [2] из [3]. Для подкомпонентов требуется [4] на жестком диске. - Для компонента требуется [1] на жестком диске. Выбрано подкомпонентов: [2] из [3]. Подкомпоненты освободят [4] на жестком диске. - Для компонента требуется [1] на жестком диске. Выбрано подкомпонентов: [2] из [3]. Для подкомпонентов требуется [4] на жестком диске. - Осталось: {[1] мин. }{[2] сек.} - Доступно - Разница - Требуется - Размер диска - Объем - diff --git a/Src/Localization/Spanish/ClassicExplorer.html b/Src/Localization/Spanish/ClassicExplorer.html deleted file mode 100644 index b560216..0000000 --- a/Src/Localization/Spanish/ClassicExplorer.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - Classic Explorer - -

Sitio web de Open-Shell  Classic Explorer


-Classic -Explorer es un complemento para el Explorador de Windows que: - -
    - -
  • Agrega una barra de herramientas al Explorador para algunas operaciones comunes (Ir -a carpeta principal, Cortar, Copiar, Pegar, Eliminar, Propiedades, Correo electrnico). La barra de herramientas es completamente personalizable
  • -
  • Reemplaza la IU de copia en Windows 7 por la versin clsica ms fcil de usar, similar a la de Windows XP
  • - -
  • Atiende Alt+Entrar en el panel de carpetas del Explorador de Windows y muestra las propiedades de la carpeta seleccionada
  • - -
  • Tiene opciones para personalizar el panel de carpetas de modo que se parezca ms a la versin de Windows XP, o para que no atene los botones de expansin
  • -
  • Puede mostrar el espacio disponible en disco y el tamao total de los archivos seleccionados en la barra de estado
  • -
  • Puede deshabilitar las rutas de navegacin en la barra de direcciones
  • -
  • Corrige -una larga lista de caractersticas que se han roto en Windows 7 – falta del icono superpuesto en las carpetas compartidas, las carpetas que en el panel de navegacin van de un lado a otro, -falta de cabeceras de ordenacin en vista de lista y ms
    -
  • - - - - -

- - -

Nueva IU de copia (slo Windows 7)
-

- -Cuando en Vista copia archivos y hay algn conflicto, se le presenta -esto:
- -
- -Antes
- -

Qu tiene de malo?

- -

Bueno, para -principiantes es media pantalla de texto que tienen que leer. Tampoco -resulta inmediatamente claro en qu partes de sta se puede hacer clic. Tiene que -ir moviendo el mouse para descubrir la IU como en un juego de aventuras de Lucas Arts. Y finalmente la usabilidad con el teclado es horrible. Para -decirle -s, s lo que hago; quiero sobreescribir todos los archivos tiene que -presionar Alt+H, arriba, arriba, arriba, Espacio! Es ms difcil que realizar la toma Akuma -Kara Demon en Street Fighter 3. Hay un tiempo y lugar -para -estas cosas, y no lo es la copia de archivos.

- -

El complemento Classic Explorer trae de regreso el cuadro de dilogo ms simple de Windows XP:
-

- -

Despus
-

- -

Resulta -inmediatamente claro dnde se puede hacer clic (pista – los botones de -abajo), la navegacin con el teclado es fcil (presione S para S, T para -copiar todos los archivos) y sigue pudiendo ver cul archivo es ms nuevo y cul ms -grande. Y por supuesto, igual que en Windows XP, manteniendo presionada Mays mientras se hace clic en el botn No significa "No a todo" (o tan slo presionar Mays+N).
-

- -

Si hace clic -en Ms…, obtendr -el dilogo original de Windows. Desde all ver -todos los detalles y obtendr una opcin extra para Copiar, pero -conservar ambos archivos.

-

Nota importante: Slo se reemplaza la IU. El sistema subyacente que realmente hace la copia no se ve afectado.
-

-


-

- - - -

Alt+Entrar en el panel de carpetas

- -Alt+Entrar es -el mtodo abreviado universal en Windows para desplegar las propiedades de la -seleccin. Pero en las versiones de Windows ms nuevas no funciona en el panel -izquierdo que muestra las carpetas. Funciona bien en el derecho en que estn -los archivos. Est roto comparado con Windows XP, donde Alt+Entrar funciona -en ambos lugares. -

Para resolver el -problema, el complemento Classic Explorer detecta cuando presiona Alt+Entrar -y muestra las propiedades de la carpeta seleccionada actualmente.
-

-


-

- - -

Barra de herramientas para el Explorador de Windows

-El -Explorador de Windows en Vista no tiene una barra de herramientas como el de Windows XP. Si -desea ir a la carpeta principal, tiene que usar la barra de rutas de -navegacin. Si desea copiar o eliminar un archivo con el mouse, tiene que -hacer clic con el botn secundario y buscar el comando Eliminar. El men del botn secundario se -agranda y agranda cuantas ms extensiones va instalando, y -encontrar el comando adecuado puede demorar.
-

Para resolver el problema, el complemento Classic Explorer agrega una barra de herramientas nueva:
-

- - Barra de herramientas del Explorador
-
-Los botones disponibles son: Subir, Cortar, Copiar, Pegar, Eliminar, Propiedades, -Correo electrnico, Configuracin. Pueden agregarse ms botones desde el dilogo Configuracin.
-
-Sugerencias:
-    - Mantenga presionada la tecla Control cuando haga clic en el botn Subir para abrir la carpeta principal en una nueva ventana del Explorador.
-    - Mantenga presionada la tecla Mays cuando haga clic en el botn Eliminar para eliminar un archivo de forma permanente
- -
- -La barra de herramientas nueva no se muestra en el Explorador automticamente despus -de la instalacin. Antes de poder usarla, debe hacer un par de cosas:
- -
    - -
  1. Abra una nueva ventana del Explorador de Windows (tecla Win+E)
  2. -
  3. Active el men del Explorador – Vaya a Herramientas (Alt+H), Opciones -de carpeta, la pestaa Ver, y asegrese de que Mostrar siempre mens est marcado.
  4. -
  5. Haga clic con el botn secundario en la barra de mens y seleccione Classic Explorer Bar para -mostrar la barra de herramientas.
  6. -
  7. Si dicha opcin no est disponible (slo ve Bloquear las -barras de herramientas), quiz tenga que habilitar el complemento desde Internet Explorer. -Ejecute IE, haga clic con el botn secundario en su barra de herramientas y seleccione Classic Explorer Bar. -Le preguntar si desea habilitar este complemento. Seleccione Habilitar, -acto seguido repita los pasos del 1 al 3.
  8. -
  9. Si aun as no ve la barra de herramientas, puede que las extensiones -de explorador estn deshabilitadas en su sistema. Suele ser lo predeterminado en -servidores. Abra las "Opciones de Internet", vaya a la pestaa "Opciones avanzadas" y marque -la opcin "Habilitar extensiones de explorador de terceros".
    -
  10. - -

-

Barra de estado
-

-Classic Explorer restaura la barra de estado original del Explorador que muestra el espacio disponible en disco y el tamao de los archivos seleccionados:
-
-Tamao de archivos en barra de estado
-
-A diferencia de la barra de estado integrada, se muestra el tamao de la seleccin aun si -se seleccionan ms de 100 archivos. Cuando no hay archivos seleccionados, se muestra -el tamao total de todos los archivos de la carpeta.
-
Nota sobre Windows 7: Classic Explorer mejora la -barra de estado predeterminada en lugar de reemplazarla. Para verla, primero tiene que activarla -desde el men Ver. -La barra de estado es distinta del Panel -de Detalles azul que ve en la parte inferior del Explorador. Puede desactivar el -Panel de Detalles desde el men Organizar para ahorrar espacio. Asimismo, hay un bug -en el Explorador de Windows 7 por el que a veces no se muestra ningn texto en la -barra de estado. Para actualizar la vista y obtener el texto de estado, presione F5.
-
Nota sobre Windows 8: Classic Explorer agrega su propia -barra de estado. Debera ocultar la barra de estado predeterminada para ahorrar espacio. -Seleccione la pestaa Vista en la cinta de opciones, luego haga clic en Opciones. Seleccione la -pestaa Ver en las opciones. Halle la casilla "Mostrar barra de estado" y -desmrquela. -
-
- - -

Configuracin

Puede tener acceso a la configuracin de Classic Explorer desde la barra de herramientas o desde el men inicio:
-
-
Puede elegir entre ver slo las configuraciones bsicas o todas -las configuraciones disponibles. Site el mouse sobre cada configuracin para ver una descripcin de -para qu sirve. Para buscar una configuracin por su nombre, escriba en el cuadro de bsqueda.
-Toda configuracin tiene un valor predeterminado. El valor predeterminado puede ser constante, -o depender de la configuracin actual del sistema. Una vez que edite una -configuracin, se volver "modificada" y se mostrar en negrita. Para revertir al -valor predeterminado, haga clic con el botn secundario en la configuracin.
-
Puede guardar las configuraciones en un archivo XML, y ulteriormente volver a cargarlas. -Para tener acceso a estas funciones, pulse el botn Copia de seguridad. Desde all tambin puede -restablecer todas las configuraciones a sus valores predeterminados.
- -
- -Para almacenar sus configuraciones, pulse Aceptar. La mayora de las configuraciones se aplicarn -la prxima vez que abra una nueva ventana del Explorador. Un nmero reducido de configuraciones -requerirn que antes de poder ver el cambio cierre la sesin.
- -
- -Nota: Todas las ventanas de Configuracin son redimensionables. Redimensinelas y colquelas donde desee que estn. Recordarn la posicin nueva.
- -
-Aqu va un ejemplo de lo que se puede personalizar:
- - Retoques a la barra de ttulo
-
-Para personalizar la barra de herramientas, haga clic en la pestaa Botones de la barra de herramientas:
-
-
La columna de la izquierda muestra los botones actualmente en la barra de herramientas, -y la columna de la derecha lista los botones que puede agregar a la -barra de herramientas. Puede arrastrar y colocar botones de la columna derecha a la -izquierda. Puede -reordenar los botones arrastrndolos hacia arriba o hacia abajo. Si coloca un botn dentro de otro, crear un submen.
-Site el mouse -sobre cada botn para ver una descripcin breve de lo que hace. Para tener acceso a ms funciones (como Eliminar, Cambiar nombre, etc.), haga clic con el botn secundario en cada botn. Desde el -men del botn secundario tambin puede restablecer la barra de herramientas al estado original.
-Cada elemento de la columna izquierda debe tener un nombre nico. Es el -identificador del elemento y slo puede contener guion bajo, letras y nmeros en -ingls. A algunos elementos (como SEPARADOR) no se les puede cambiar el nombre.
-
-Nota importante: No todos los comandos disponibles tienen iconos o texto predeterminados. Eso es porque Windows no posee iconos para cosas como Deshacer, Seleccionar todo, etc. Si desea usar dichos botones en la barra de herramientas, tendr que proporcionar su propio icono. Vea a continuacin cmo hacerlo.
-
-Despus de colocar un botn en la barra de herramientas, puede editar sus atributos. Para editar, haga doble clic en el botn:
-Editar botn de la barra de herramientas
-Aqu puede seleccionar un comando para el botn, su texto y su icono. Para obtener el texto e icono predeterminados del comando que eligi, pulse el botn Restaurar predeterminados.
-El comando puede:
-
    - - -
  • dejarse en blanco - si se usa el atributo vnculo, actuar como un comando
  • -
  • ser alguno de los comandos predefinidos - del desplegable
  • -
  • ser open <alguna carpeta> - esto abrir la carpeta en el navegador actual
  • -
  • ser sortby <propiedad> - ordenar la carpeta segn la propiedad dada - name, type, size o date. Use '-' antes de la propiedad para ordenar descendentemente: "sortby -name". Puede usar otras propiedades si sabe sus cdigos. Por ejemplo, "sortby {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10" es igual que "sortby name". Para cdigos de ms propiedades, remtase al archivo propkey.h en el SDK de Windows (se encuentra asimismo aqu - desplcese hacia abajo hasta "Full property table"). No todos los cdigos de propiedades son vlidos o compatibles (por ejemplo la propiedad ao del lbum {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 slo funciona al mostrarse lbumes de msica)
  • -
  • ser groupby <propiedad> - similar a sortby, pero agrupa los archivos segn la propiedad dada. Para deshabilitar el agrupamiento, use el comando groupby sin ninguna propiedad
    -
  • - - - -
  • ser una cadena personalizada del ejecutable -- pueden ser el nombre de un programa y sus argumentos, o incluso una URL -(como http://www.google.com). Puede usar variables de entorno como %SystemRoot%. Tambin puede usar los -marcadores de posicin %1, %2, %3, %4 y %5:
  • -
      -
    • %1 es la ruta a la -carpeta actual. Tenga en cuenta que, si la carpeta actual es la raz de una -unidad, terminar con una barra invertida (como C:\)
      -
    • -
    • %2 es la ruta del archivo seleccionado (slo cuando hay un solo archivo -seleccionado)
    • -
    • %3 -es el nombre de un archivo de texto temporal que contiene todos los archivos seleccionados. -Cada lnea del archivo de texto contiene un archivo con su ruta completa
      -
    • -
    • %4 -es lo mismo que %3, pero el archivo est en formato Unicode (UTF16). El archivo -no contiene marca de orden de bytes. %3 y %4 no pueden usarse ambos en el mismo comando
      -
    • -
    • Nota para desarrolladores: Al -usar %3 o %4, es responsabilidad del comando eliminar el -archivo temporal cuando finalice. De lo contrario, el archivo temporal se quedar en -el camino y gastar espacio en disco. Asimismo, si el comando es una aplicacin de consola -o un archivo por lotes, se iniciar en modo silencioso sin ventana -de consola
    • - -
    • %5 es el nombre de un -archivo de texto temporal que se puede usar para devolver un comando a -Classic Explorer. Si los primeros 2 bytes del archivo son 255 y 254, el -archivo se trata como Unicode. Slo se puede usar un comando a la vez. El comando -puede ser:
    • -
        -
      • open <nombre de carpeta> - hace que el Explorador navegue a la carpeta dada
      • -
      • select <lista de nombres de archivo> -- selecciona los archivos dados, anula la seleccin del resto. Los nombres de archivo deben -separarse un carcter de tabulacin o de nueva lnea. Los archivos no deberan contener -la ruta. De contenerla, la ruta se ignorar
        -
      • -
      • refresh - actualiza el Explorador
      • -
      -
    -
      -
    • Nota para desarrolladores: -los comandos que usen %5 se ejecutarn en modo silencioso (como los comandos que usen %3 o -%4), pero -tambin el Explorador esperar que el proceso finalice. El proceso debe -finalizar tan rpido como sea posible, porque durante la ejecucin del comando -el Explorador se congelar
    • -
    • Para algunos ejemplos de uso de estos parmetros, vea la seccin siguiente
      -
    • - -
    -
-El vnculo puede ser una ruta a un archivo o carpeta. Si es un archivo, se -ejecutar dicho archivo. Si es una carpeta, se abrir dicha carpeta como -un submen (slo para botones de nivel superior).
-
-El icono puede:
-
    -
  • dejarse en blanco - si el atributo vnculo seala a un archivo o carpeta, se usar el icono de dicho archivo o carpeta
    -
  • -
  • ser archivo de recursos,identificador de icono - por ejemplo %windir%\notepad.exe,2. No deje espacio entre el nombre de archivo y la coma. Asegrese de que usa el identificador del recurso del icono y no el ndice del icono. Para los mejores resultados, use el botn [...] de al lado del cuadro de icono
  • -
  • ser ,identificador de icono - igual que lo anterior, pero el archivo de recursos es ClassicExplorer.dllen s. Esto es til al hacer referencia a iconos propios de Classic Explorer
    -
  • -
  • ser archivo de icono -  por ejemplo C:\Program Files\Mozilla Thunderbird\Email.ico
  • -
  • ser none - esto usar un icono vaco
  • -
-Si los atributos etiqueta o consejo empiezan con $ (signo de dlares), el sistema -lo tratar como el nombre de una cadena en el archivo ExplorerL10N.ini. El texto real depender de la configuracin de idioma actual. Resulta -til al crear una barra de herramientas que pueda usarse en varios idiomas.
-
-Nota para desarrolladores: Los botones para comandos personalizados pueden marcarse o deshabilitarse. La barra de herramientas busca en la clave del registro HKCU\Software\OpenShell\ClassicExplorer -un valor DWORD con el nombre del botn (el nombre que se usa en la -columna izquierda). 0 significa normal, 1 deshabilitado y 2 marcado. La barra de herramientas -lee las claves del registro al iniciarse. Para forzar que los botones actualicen -su estado con posterioridad tiene que encontrar todas las ventanas del Explorador, hallar -la ventana secundaria con clase OpenShell.CBandWindow y publicar un mensaje WM_CLEAR. Resulta til si est desarrollando un exe personalizado para usar con la barra de herramientas.
- -
-

Ejemplos de comandos personalizados

-

0) Use comillas cuando sea necesario

Para admitir rutas que -contengan espacios, debera rodear los parmetros de la ruta entre comillas. No -siempre se requieren las comillas, como en los ejemplos 1 y 2 a continuacin. Para -evitar sorpresas, asegrese de probar sus comandos con rutas que contengan -espacios.
-
-

1) Imprimir la carpeta actual

- -Use este comando: cmd.exe /k echo %1. %1 se reemplazar por la ruta de la carpeta actual.
-
-

2) Abrir el archivo seleccionado en el Bloc de Notas

-Use este comando: %SystemRoot%\notepad.exe %2. -%2 se reemplazar por el nombre completo del archivo seleccionado. No es -necesario que est entre comillas, pues el Bloc de Notas usa toda la lnea de comandos como -nombre de archivo.
-
-

3) Copiar los archivos seleccionados a la carpeta principal
-

-Cree un archivo por lotes que se llame C:\CopiarPrincipal.bat:
-set list=%1
-set list=%list:"=%
-for /F "delims=" %%i in (%list%) do copy /Y "%%i" ..
-del %1
-
-Use este comando: C:\CopiarPrincipal.bat "%3". -%3 se reemplazar por un archivo de texto que contiene los nombres completos de todos -los archivos seleccionados. El archivo por lotes leer cada lnea de dicho archivo de texto -y copiar cada uno de los archivos seleccionados a la carpeta principal. Al finalizar, -el archivo por lotes elimina el archivo -temporal inicial. Los primeros dos comandos set quitan las comillas del parmetro %1.
-
-

4) Seleccionar todos los archivos de texto

-Cree un archivo por lotes que se llame C:\SeleccionarTexto.bat:
-echo select > %1
-dir *.txt /b >> %1
-
-Use este comando: C:\SeleccionarTexto.bat "%5". -%5 se reemplazar por un archivo de texto vaco, en el que el comando debe volcar -la palabra "select" y una lista de los archivos que desea seleccionar. El comando "dir -*.txt /b" proporciona dicha lista.
-
-
- -

Configuracin administrativa

Las configuraciones son -por usuario y se almacenan en el registro. De manera predeterminada, todos los usuarios pueden editar -toda su configuracin. Un administrador puede bloquear configuraciones especficas, de -modo que ningn usuario las pueda editar:
-
-En este ejemplo, la configuracin "Mostrar el botn Subir" est bloqueada para que siempre est -"Antes de Atrs/Adelante" y ningn usuario la pueda cambiar. Esto se logra -agregando la configuracin a la clave del registro HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicExplorer. Cree un valor de cadena llamado "ShowUpButton" y establzcalo en "BeforeBack".
-
En algunos casos quiz no desee bloquear el valor para todos los usuarios, sino -simplemente modificar el valor inicial de la configuracin. En tal caso, agregue -"_Default" al nombre del valor. Por ejemplo, si desea que el botn -Subir est antes de Atrs de manera predeterminada pero seguir permitiendo que los usuarios lo cambien -si les place, cree un valor de cadena con nombre "ShowUpButton_Default" y -establzcalo en "BeforeBack".
-
-La manera ms fcil de saber el nombre de una configuracin en el registro y su valor es modificarla, y acto seguido buscarla en HKEY_CURRENT_USER\Software\OpenShell\ClassicExplorer\Settings.
-Puede que a veces desee bloquear una configuracin en su valor predeterminado, pero no -sabe cul es el valor predeterminado. De ser as, cree un valor DWORD y establzcalo -en 0xDEFA.
-
-Tambin hay una configuracin global EnableSettings. Establzcala en 0 en el -registro para evitar incluso que los usuarios abran el dilogo Configuracin:
-Deshabilitar todas las configuraciones
-
-Puede habilitar y deshabilitar Classic Explorer para procesos individuales -usando las 2 configuraciones del registro "ProcessWhiteList" y -"ProcessBlackList". ProcessWhiteList es -una lista de procesos para los cuales Classic Explorer se cargar. Use slo el -nombre de archivo del proceso (como "notepad.exe"), separe varios nombres -con una coma o un punto y coma. ProcessBlackList -es una lista de procesos para los cuales Classic Explorer no se cargar. Slo -debera usar una lista de las dos. Si se especifican ambas listas, la -lista de bloqueados se ignorar. Las listas slo se usan cuando habilita las -caractersticas compatibles con otros procesos distintos del Explorador (Explorer). Por el -momento, estas caractersticas son: el icono superpuesto en recursos compartidos y los reemplazos -para los dilogos de copia.
-
-Tambin se admite la edicin de configuraciones a travs de directivas de grupo. Extraiga el archivo PolicyDefinitions.zip que se encuentra en la carpeta de instalacin y lea el documento PolicyDefinitions.rtf para ms detalles.
-
- -
- -

Dependencias de configuraciones de Windows
-

-Algunas configuraciones de Classic Explorer requieren que se habiliten configuraciones especficas de Windows:
-
    -
  • Panel de navegacin estilo Windows Vista - requiere que Windows use los temas Aero o Bsico
  • -
  • Autonavegar a la carpeta seleccionada -- esta configuracin slo puede establecerse en "Siempre" cuando el Explorador est configurado para -"Expandir automticamente a la carpeta actual". Fjese aquello en la pestaa General de Herramientas -> Opciones de carpeta
  • -
  • Mostrar ttulo en la barra de ttulo -- el ttulo mostrar ya sea el nombre de la ruta completa o el nombre de -la carpeta actual. Para ver la ruta completa, es preciso que habilite "Mostrar -la ruta de acceso completa en la barra de ttulo (slo en tema Clsico)" en la pestaa Ver de Herramientas -> Opciones de carpeta
  • -
  • Toda la configuracin de la barra de estado - requiere que la barra de estado est visible (no confundir con el Panel de Detalles). Marque Ver -> Barra de estado
  • -
- -
- -

Localizacin

- - - - -La interfaz -de usuario (salvo el cuadro de dilogo Configuracin) est traducida a 35 -idiomas.
-El cuadro de dilogo Configuracin est traducido a una cantidad de idiomas ms pequea. -La instalacin predeterminada slo lo contiene en ingls. Pueden descargarse ms idiomas -desde la pgina de traducciones. Asegrese de descargar el paquete de traduccin para la versin de Open-Shell exacta.
- -
- - diff --git a/Src/Localization/Spanish/ClassicExplorerADMX.txt b/Src/Localization/Spanish/ClassicExplorerADMX.txt deleted file mode 100644 index 3eb8986..0000000 --- a/Src/Localization/Spanish/ClassicExplorerADMX.txt +++ /dev/null @@ -1,62 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Configuración de Open-Shell -State.text = Estado: -State1.text = Bloqueada en este valor -State2.text = Bloqueada en valor predeterminado -State3.text = Desbloqueada -State1Help.text = Si establece el estado en 'Bloqueada en este valor', la configuración se bloqueará en el valor especificado para todos los usuarios. -State2Help.text = Si establece el estado en 'Bloqueada en valor predeterminado', la configuración se bloqueará en el valor predeterminado para todos los usuarios. El valor especificado se ignora. -State3Help.text = Si establece el estado en 'Desbloqueada', el valor predeterminado de la configuración se cambiará al especificado. Los usuarios pueden reemplazar la configuración. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Directiva de grupo de Classic Explorer -SUPPORTED_CS404.text = Requiere Open-Shell 4.0.4 o posterior. -SUPPORTED_CS404_WIN7.text = Requiere Windows 7. -SUPPORTED_CS404_WIN881.text = Requiere Windows 8 o Windows 8.1. - -AddressAltD.nameOverride = Método abreviado adicional para la barra de direcciones -AddressAltD.tipOverride = Escriba una letra de la 'A' a la 'Z' para que en combinación con la tecla Alt sirva de método abreviado a la barra de direcciones -EnableSettings.nameOverride = Habilitar configuración -EnableSettings.tipOverride = Permite que los usuarios editen sus propias configuraciones -ProcessWhiteList.nameOverride = Lista de procesos permitidos -ProcessWhiteList.tipOverride = Lista de procesos que pueden cargar Classic Explorer. Use tan sólo el nombre de archivo del proceso (como "notepad.exe"), separe varios nombres con una coma o punto y coma. -ProcessBlackList.nameOverride = Lista de procesos bloqueados -ProcessBlackList.tipOverride = Lista de procesos que no cargarán Classic Explorer. Use tan sólo el nombre de archivo del proceso (como "notepad.exe"), separe varios nombres con una coma o punto y coma. -ToolbarItems.nameOverride = Botones de la barra de herramientas -ToolbarItems.tipOverride = Seleccione los botones a mostrar en la barra de herramientas.\nLa mejor manera de obtener la cadena adecuada es configurar los botones en el diálogo de configuración de Classic Explorer y acto seguido buscar el valor con nombre ToolbarItems en HKCU\Software\OpenShell\ClassicExplorer\Settings -NoInitialToolbar.nameOverride = No mostrar inicialmente la barra de herramientas -NoInitialToolbar.tipOverride = Al marcarse, no se mostrará automáticamente la barra de herramientas del Explorador - - -; os-specific -FileExplorer.nameOverride = Habilitar los diálogos sólo en el Explorador (mejora el rendimiento) diff --git a/Src/Localization/Spanish/ClassicIE.html b/Src/Localization/Spanish/ClassicIE.html deleted file mode 100644 index 1962ec6..0000000 --- a/Src/Localization/Spanish/ClassicIE.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - Classic IE - -

Sitio web de Open-Shell  -Classic IE


-Classic IE
-es -un pequeo complemento para Internet Explorer que:
-
    -
  • Agrega un ttulo a la barra -de ttulo para que pueda ver el ttulo de la pgina completo
  • -
  • Muestra la zona de seguridad en la barra de estado
  • -
  • Muestra el progreso de carga en la barra de estado
  • -
-
-Vea el ttulo de la pgina completo aun cuando no quepa en la pestaa:
-
-
Vea el progreso y la zona de seguridad:
-
-
-

Instalacin

-Al ejecutar Internet Explorer por primera vez despus de instalar -Classic IE, podra indicarle que se instal un complemento nuevo llamado ClassicIEBHO y -si desea habilitarlo. Haga clic en el botn Habilitar. Si -no se le pide confirmacin, vaya a Herramientas -> Administrar complementos y asegrese de que ClassicIEBHO est habilitado. Luego de habilitar el complemento, tiene que reiniciar Internet Explorer para activarlo.
-
-

Configuracin

-Puede tener acceso a la configuracin desde Herramientas -> Configuracin de Classic IE -o desde el men inicio. Las configuraciones controlan el color y la fuente del -ttulo, y qu informacin mostrar en la barra de estado.
-
-
Puede elegir entre ver slo las configuraciones bsicas o todas -las configuraciones disponibles. Site el mouse sobre cada configuracin para ver una descripcin de -para qu sirve. Para buscar una configuracin por su nombre, escriba en el cuadro de bsqueda.
-Toda configuracin tiene un valor predeterminado. El valor predeterminado puede ser constante, -o depender de la configuracin actual del sistema. Una vez que edite una -configuracin, se volver "modificada" y se mostrar en negrita. Para revertir al -valor predeterminado, haga clic con el botn secundario en la configuracin.
- -
-Puede guardar las configuraciones en un archivo XML, y ulteriormente volver a cargarlas. -Para tener acceso a estas funciones, pulse el botn Copia de seguridad. Desde all tambin puede -restablecer todas las configuraciones a sus valores predeterminados.
- - -
- - -Para almacenar sus configuraciones, pulse Aceptar. Para aplicar la configuracin nueva, tiene que reiniciar Internet Explorer.
- - -
-

Configuracin administrativa

-Las configuraciones son -por usuario y se almacenan en el registro. De manera predeterminada, todos los usuarios pueden editar -toda su configuracin. Un administrador puede bloquear configuraciones especficas, de -modo que ningn usuario las pueda editar. Esto se logra agregando la configuracin a la clave del registro HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\ClassicIE.
-
-Quiz no quiera bloquear la configuracin, sino slo reemplazar su valor -inicial. De ser as, agregue "_Default" al nombre del valor del registro.
-
-La manera ms fcil de saber el nombre de una configuracin en el registro y su valor es modificarla, y acto seguido buscarla en HKEY_CURRENT_USER\Software\OpenShell\ClassicIE\Settings.
- -Puede que a veces desee bloquear una configuracin en su valor predeterminado, pero no -sabe cul es el valor predeterminado. De ser as, cree un valor DWORD y establzcalo -en 0xDEFA.
- -
- -Tambin hay una configuracin global EnableSettings. Establzcala en 0 en el -registro para evitar incluso que los usuarios abran el dilogo Configuracin:
- -
-
-Tambin se admite la edicin de configuraciones a travs de directivas de grupo. Extraiga el archivo PolicyDefinitions.zip que se encuentra en la carpeta de instalacin y lea el documento PolicyDefinitions.rtf para ms detalles.
-
- diff --git a/Src/Localization/Spanish/ClassicIEADMX.txt b/Src/Localization/Spanish/ClassicIEADMX.txt deleted file mode 100644 index 3959962..0000000 --- a/Src/Localization/Spanish/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn = never - - - -; TRANSLATE =================================================================== - -Title.text = Configuración de Open-Shell -State.text = Estado: -State1.text = Bloqueada en este valor -State2.text = Bloqueada en valor predeterminado -State3.text = Desbloqueada -State1Help.text = Si establece el estado en 'Bloqueada en este valor', la configuración se bloqueará en el valor especificado para todos los usuarios. -State2Help.text = Si establece el estado en 'Bloqueada en valor predeterminado', la configuración se bloqueará en el valor predeterminado para todos los usuarios. El valor especificado se ignora. -State3Help.text = Si establece el estado en 'Desbloqueada', el valor predeterminado de la configuración se cambiará al especificado. Los usuarios pueden reemplazar la configuración. - -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Configuraciones de directiva de grupo de Classic IE -SUPPORTED_CS404.text = Requiere Open-Shell 4.0.4 o posterior. -SUPPORTED_IE9.text = Requiere Internet Explorer 9 o posterior. - - -EnableSettings.nameOverride = Habilitar configuración -EnableSettings.tipOverride = Permite que los usuarios editen sus propias configuraciones -CaptionFont.tipAddition = .\n\nEl formato es , , . Por ejemplo, "Segoe UI, normal, 9" diff --git a/Src/Localization/Spanish/License.html b/Src/Localization/Spanish/License.html deleted file mode 100644 index d359f2a..0000000 --- a/Src/Localization/Spanish/License.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - Contrato de licencia - -

Sitio web de Open-Shell  Contrato de licencia
-


-Open-Shell 2009-2017, Ivo Beltchev

-http://www.classicshell.net/
-
-AL USAR ESTE SOFTWARE, USTED ACEPTA ESTOS TRMINOS. SI NO LOS ACEPTA, NO USE EL SOFTWARE.
-
-Si cumple con estos trminos de licencia, tiene los derechos que se especifican a continuacin.
-
-
    -
  1. -

    MBITO DE LA LICENCIA. Este contrato slo le otorga algunos derechos para usar el software. El autor se reserva todos los dems derechos.

    -
  2. -
  3. -

    DERECHOS DE INSTALACIN Y DE USO. Este software es gratuito para uso tanto personal como comercial. Puede instalarlo y usarlo en sus equipos sin costo.

    -
  4. -
  5. -

    DERECHOS DE REDISTRIBUCIN. Puede redistribuir el software, a condicin de que lo haga sin costo y no represente mal el origen del software.

    -
  6. -
  7. -

    MARCAS COMERCIALES. El nombre y logo de Open-Shell son marcas comerciales del autor. No se permite su uso para identificar otros productos o servicios.

    -
  8. -
  9. -

    EXCLUSIN DE GARANTA. -EL SOFTWARE SE PROPORCIONA "TAL COMO EST", SIN GARANTA DE NINGN TIPO, EXPLCITA -NI IMPLCITA, INCLUYENDO PERO SIN LIMITARSE A LAS GARANTAS DE -COMERCIABILIDAD, APTITUD PARA UN PROPSITO PARTICULAR Y NO INFRACCIN. -EN NINGN CASO LOS AUTORES Y TITULARES DEL COPYRIGHT SERN RESPONSABLES POR NINGN -RECLAMO, DAOS O CUALESQUIERA OTROS CARGOS, SEA EN UNA ACCIN CONTRACTUAL, -AGRAVIO O CUALQUIER OTRO MOTIVO, DE O EN RELACIN CON EL -SOFTWARE O EL USO U OTRAS OFERTAS EN EL SOFTWARE.

    -
  10. -
  11. -

    EN OTRAS PALABRAS: -Bsicamente puede usar este software gratuitamente para cualquier propsito, pero no se -sorprenda si ste no funciona como espera. No puede responsabilizar al autor -por ningn dao resultante del uso que usted haga del software. -No puede lucrar con la venta de este software. Despus de todo, usted lo obtuvo -gratuitamente.

    -
  12. -
- - - diff --git a/Src/Localization/Spanish/Links.html b/Src/Localization/Spanish/Links.html deleted file mode 100644 index 9edd085..0000000 --- a/Src/Localization/Spanish/Links.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Open-Shell - -

Sitio web de Open-Shell  Vnculos


Puede encontrar la ltima versin en el sitio web de Open-Shell:
-http://www.classicshell.net/
-
-Vea el historial del proyecto aqu:
-Historial: http://www.classicshell.net/history/
-
-
-

Obtener ayuda

-Para respuestas a las preguntas ms frecuentes, mire aqu:
-P+F: http://www.classicshell.net/faq/
- -
-Si no encuentra respuesta en las P+F, pruebe los foros de discusin:
-Foros de discusin: http://www.classicshell.net/forum/viewforum.php?f=6
- -
-
-

Informar de problemas

-Informe de errores y solicite caractersticas en los foros de desarrollo:
-Foros de desarrollo: http://www.classicshell.net/forum/viewforum.php?f=11
- - diff --git a/Src/Localization/Spanish/Main.html b/Src/Localization/Spanish/Main.html deleted file mode 100644 index 7a4bda6..0000000 --- a/Src/Localization/Spanish/Main.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - Open-Shell - -

Sitio web de Open-Shell  Open-Shell

-Versin 4.3.1 – lanzamiento general

-

Qu es Open-Shell?

-Open-Shell™ es una coleccin de mejoras de usabilidad para Windows. Tiene un men y un botn Inicio personalizables, agrega una barra de herramientas al Explorador de Windows y admite una variedad de caractersticas ms pequeas.
-
-
-

Requisitos del sistema

-Open-Shell funciona en Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, -Windows Server 2012 y Windows Server 2012 R2. Son compatibles tanto las versiones de 32 como de 64 bits (el mismo instalador funciona en ambas). Algunas mscaras para el men inicio -requieren que se habilite el tema Aero. Otras requieren al menos el tema Bsico.
-
-
-

Componentes


- -Open-Shell tiene tres componentes principales: -
-

Desinstalacin

-Puede desinstalar Open-Shell desde Panel de control -> Programas y caractersticas. Otra forma es  ejecutar de nuevo el programa de instalacin y elegir "Quitar".
-Puede que para completar el proceso tenga que cerrar sesin.
-
- diff --git a/Src/Localization/Spanish/Menu.html b/Src/Localization/Spanish/Menu.html deleted file mode 100644 index fe680ba..0000000 --- a/Src/Localization/Spanish/Menu.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - - - - - - - Open-Shell Menu - -

Sitio web de Open-Shell  -Open-Shell Menu


-Open-Shell Menu
-es un men inicio flexible que puede imitar el comportamiento del men de Windows -2000, XP y Windows 7. Tiene varias caractersticas avanzadas: -
    - -
  • Elegir entre los estilos Clsico y Windows 7
    -
  • -
  • Arrastrar y colocar para permitirle organizar sus aplicaciones
  • - -
  • Opciones para mostrar Favoritos, expandir el Panel de Control, etc.
  • -
  • Muestra documentos usados recientemente. La cantidad de documentos a mostrar puede personalizarse
  • -
  • Traducido a 35 idiomas, lo que incluye compatibilidad de derecha a izquierda para rabe y hebreo
  • -
  • No deshabilita el men inicio original de Windows. Puede acceder a ste con Mays+Hacer clic en el botn inicio
  • -
  • Hacer clic con el botn secundario en un elemento del men para eliminarlo, cambiarle el nombre, ordenarlo o realizar otras tareas
  • -
  • El cuadro de bsqueda le ayuda a encontrar sus programas y archivos sin comprometer sus mtodos abreviados de teclado
  • -
  • Admite listas de accesos directos para obtener acceso fcil a documentos recientes y tareas comunes
  • -
  • Disponible para sistemas operativos de 32 y 64 bits
  • -
  • Admite mscaras, incluyendo mscaras adicionales de terceros. Cree la suya!
  • -
  • Completamente personalizable, tanto en la apariencia como en el funcionamiento
  • -
  • Compatibilidad con Microsoft Active Accessibility
  • -
  • Convierte el botn Todos los programas del men de Windows en un men en cascada
  • -
  • Implementa un botn inicio personalizable
    -
  • -
  • Puede mostrar, buscar e iniciar aplicaciones de la Tienda Windows (Windows 8)
  • - - - - -
  • Y por ltimo mas no menos – es GRATIS!
  • -

-

Estilos

-El men inicio ofrece para elegir 3 estilos.
-

1) Estilo clsico de columna nica

-
-Este estilo es similar al del men de Windows 2000. Tiene una sola columna en el men principal con texto vertical en el lateral. Puede personalizar el orden de los elementos, iconos y el texto.
- -Programas, listas de accesos directos y los resultados de bsqueda se muestran como submens en cascada.
- -
-

2) Estilo clsico de dos columnas

-
-Este estilo es similar al men de Windows XP. Hay dos columnas en las que puede ordenar los elementos de men. Puede personalizar el orden, los iconos y el texto.
-Programas, listas de accesos directos y los resultados de bsqueda se muestran como submens en cascada.
-
-

3) Estilo Windows 7
-

-
-Este estilo es similar al men de Windows Vista y Windows 7. Los elementos de la primera columna estn predefinidos para elementos anclados y documentos y programas recientes, la lista de todos los programas y el cuadro de bsqueda. Los elementos de la segunda columna son completamente personalizables.
-Las listas de accesos directos y los resultados de bsqueda se muestran dentro del men principal. Los programas pueden estar dentro del men principal o abrirse como un submen en cascada.
-Este estilo ofrece menos opciones de personalizacin que los estilos clsicos, pero en apariencia y funcionalidad es ms familiar para la gente acostumbrada a Windows 7.
-
-
-

Operacin

-Si ha usado el men inicio de versiones de Windows anteriores, se sentir como en casa:
- - - -

-Para abrir el men inicio, presione la tecla Windows o haga clic en el botn de la esquina de la pantalla.

-

-Para tener acceso al men inicio propio del sistema operativo, mantenga presionada la tecla Mays mientras hace clic en el botn. -

-

-Haga clic en un elemento para ejecutarlo. -

-

-Arrastre un programa para cambiar el orden de los programas en el men o moverlo a otra carpeta. -

-

-Haga clic con el botn secundario en un elemento para cambiarle el nombre, eliminarlo, explorarlo, ordenar el men o realizar otras tareas.

-

-Haga clic con el botn secundario en el botn para editar la configuracin del men inicio, ver este archivo de ayuda o detener el men inicio.
-

-


- -

- -

-Configuracin

Para obtener acceso a la configuracin, haga clic con el botn secundario en el botn inicio:
-
-
-Puede elegir entre ver slo las configuraciones bsicas o todas las configuraciones disponibles. Site el mouse encima de cada configuracin para ver una descripcin de para qu sirve. Para buscar una configuracin por su nombre, escriba en el cuadro de bsqueda.
- -Toda configuracin tiene un valor predeterminado. El valor predeterminado puede ser constante, -o depender de la configuracin actual del sistema. Una vez que edite una configuracin, se volver "modificada" y se mostrar en negrita. Para revertir al valor predeterminado, haga clic con el botn secundario en la configuracin.
-
- -Puede guardar las configuraciones en un archivo XML y ulteriormente volver a cargarlas. -Para tener acceso a estas funciones, pulse el botn Copia de Seguridad. Desde all tambin puede restablecer todas las configuraciones a sus valores predeterminados.
- - -
- -La mayora de las configuraciones se cambiarn inmediatamente a medida que las edita. Por ejemplo, -puede editar el men inicio y, mientras sigue abierto el dilogo Configuracin, -tener acceso al men inicio para ver los cambios. Un nmero reducido de configuraciones requerirn que antes de poder ver el cambio salga del men inicio.
- -
- - -Nota: Todas las ventanas de Configuracin son redimensionables. Redimensinelas y colquelas donde desee que estn. Recordarn la posicin nueva.
- - -
-Para personalizar los elementos del men, haga clic en la pestaa Personalizar men Inicio. En funcin del estilo ver una IU distinta.
-
-Para los estilos clsicos, puede personalizar ambas columnas del men inicio y crear submens. La columna de la izquierda muestra los elementos actualmente en el men, -y la columna de la derecha los elementos de men disponibles. Para agregar elementos al men, arrstrelos de la derecha a la izquierda.
-
-
-Para el estilo Windows 7 slo puede editar los elementos de la segunda columna, y no hay submens.
-
-

-Para editar las propiedades de un elemento, haga doble clic en su icono:
-
-Aqu puede seleccionar un comando para el elemento, su texto, icono y otros atributos. Para obtener el texto e icono predeterminados del comando elegido, pulse el botn Restaurar predeterminados.
-
-El comando puede:
- -
    -
  • ser alguno de los comandos predefinidos - desde el desplegable
  • cadena personalizada del ejecutable -- pueden ser el nombre de un programa y sus argumentos, o incluso una URL -(como http://www.google.com). Se admiten variables de entorno como %SystemRoot%
  • dejarse vaco - si se usa el atributo vnculo, actuar como un comando
    -
  • -
-El vnculo puede ser una ruta a un archivo o carpeta. Si es un archivo, se ejecutar dicho archivo. Si es una carpeta, dicha carpeta se abrir como un submen. Algunos elementos de men (como Programas y Favoritos) tienen un atributo vnculo implcito, con lo que para aquellos el cuadro Vnculo se deshabilitar.
- -
- -El icono puede:
- -
    -
  • dejarse en blanco - si el atributo vnculo seala a un archivo o carpeta, se usar el icono de dicho archivo o carpeta
    -
  • ser archivo de recursos,identificador de icono - por ejemplo %windir%\notepad.exe,2. No deje espacio entre el nombre de archivo y la coma. Asegrese de que usa el identificador del recurso del icono y no el ndice del icono. Para los mejores resultados, use el botn [...] de al lado del cuadro de icono
    -
  • ser ,identificador de icono - igual que lo anterior, pero el archivo de recursos es StartMenuDLL.dll en s. Esto es til al hacer referencia a iconos propios del men inicio
    -
  • ser archivo de icono -  por ejemplo C:\Program Files\Mozilla Thunderbird\Email.ico
  • ser none - esto usar un icono vaco
  • -
-Si los atributos etiqueta o consejo empiezan con $ (signo de dlares), el sistema lo tratar como el nombre de una cadena en el archivo StartMenuL10N.ini. El texto real depender de la configuracin de idioma actual. Resulta til al crear un men que pueda usarse en varios idiomas.
-
-Si marca "Insertar subelementos como botones", en lugar de mostrar el elemento de men en s, el men inicio mostrar los elementos como una fila de botones. De forma predeterminada, los botones estn centrados. Puede alinearlos a la -izquierda agregando un separador como ltimo elemento, o alinearlos a la derecha -agregando un separador como primer elemento. Un uso posible es reemplazar -el elemento de men Apagar por -botones separados para apagar, reiniciar, cerrar sesin, etc.
-
-

Configuracin administrativa

-Las configuraciones son -por usuario y se almacenan en el registro. De manera predeterminada, todos los usuarios pueden editar -toda su configuracin. Un administrador puede bloquear configuraciones especficas, de -modo que ningn usuario las pueda editar:
- -
-En este ejemplo, la configuracin "Habilitar el men del botn secundario" est bloqueada para que siempre -est desmarcada y ningn usuario la pueda cambiar. Esto se logra -agregando la configuracin a la clave del registro HKEY_LOCAL_MACHINE\SOFTWARE\OpenShell\Menu. Cree un valor DWORD llamado "EnableContextMenu" y establzcalo en 0.
-
-En algunos casos quiz no desee bloquear el valor para todos los usuarios, sino -simplemente modificar el valor inicial de la configuracin. En tal caso, agregue -"_Default" al nombre del valor. Por ejemplo, si desea que el -men contextual est deshabilitado de manera predeterminada pero seguir permitiendo que los usuarios lo habiliten -si les place, cree un valor DWORD con nombre "EnableContextMenu_Default" -y establzcalo en 0.
-
-La manera ms fcil de saber el nombre de una configuracin en el registro y su valor es modificarla, y acto seguido buscarla en HKEY_CURRENT_USER\Software\OpenShell\StartMenu\Settings.
- -Puede que a veces desee bloquear una configuracin en su valor predeterminado, pero -no sabe cul es el valor predeterminado. De ser as, cree un valor DWORD y establzcalo -en 0xDEFA.
- -
- -Tambin hay una configuracin global "EnableSettings". Establzcala en 0 en el -registro para evitar incluso que los usuarios abran el dilogo Configuracin:
- -
-
-El men inicio tambin comprueba la mayora de directivas de grupo configuradas por el administrador. Ejecute gpedit.msc y vaya a Configuracin de usuario -> Plantillas administrativas -> Barra de tareas y men Inicio. Desde all puede deshabilitar Ejecutar, Apagar, Ayuda y otras caractersticas. (No disponible en versiones Home de Windows).
-
-Tambin se admite la edicin de configuraciones a travs de directivas de grupo. Extraiga el archivo PolicyDefinitions.zip que se encuentra en la carpeta de instalacin y lea el documento PolicyDefinitions.rtf para ms detalles.
-
-
-

Ms acerca de las mscaras

-Puede elegir entre las muchas mscaras preinstaladas:
-
-Mscaras para Open-Shell Menu
-
O puede descargar e instalar mscaras adicionales de terceros (desde el sitio web principal o desde otro lugar). Tras descargar una mscara nueva, -debe copiar el archivo .skin al directorio Skins – generalmente C:\Program -Files\Open-Shell\Skins. Despus estar disponible en la configuracin.
-
-Nota: Algunas mscaras pueden estar diseadas especficamente para -modo Clsico, Bsico o Aero. Por ejemplo, una mscara Aero puede requerir -compatibilidad con Glass y, si se seleccionan los temas Bsico o Clsico, todo parecer sucio. Algunas mscaras Aero tambin pueden requerir que se seleccione un color de Glass especfico.
-
-Puede crear su propia mscara. Necesitar un editor de imgenes -compatible con el canal alfa (como Gimp o Photoshop) y una herramienta para editar -archivos de recursos (como Resource Hacker o Visual Studio). Y por supuesto -algo de talento para el diseo grfico :). Antes de empezar, lea el Tutorial de enmascaramiento (en ingls).
-
-

-

Bsqueda


-
- El cuadro de bsqueda le permite buscar los contenidos del men inicio, los -programas en la variable de entorno PATH y los archivos indizados. Puede hacer que el cuadro de bsqueda -aparezca como un elemento de men normal y entonces dirigirse a ste usando las -teclas de direccin arriba/abajo. Puede elegir que el cuadro de bsqueda est seleccionado de forma -predeterminada al abrir el men inicio. O puede elegir activar el -cuadro de bsqueda slo con la tecla Tabulador, de modo que hasta presionar Tabulador pueda usar -el teclado para navegar como si el cuadro de bsqueda no estuviera.
-
-Los resultados de bsqueda se muestran en el men principal si usa el estilo Windows 7, o en un submen para los estilos clsicos.
-Haga clic en cada categora para expandirla y ver ms resultados. Para ver todos los resultados en el Explorador, haga clic en el icono del final.
-
-Los estilos clsicos le permiten registrar "proveedores de bsqueda" adicionales, que puede usar para -buscar texto desde el cuadro de bsqueda. Ejecuta el programa de bsqueda -seleccionndolo en el men, o bien presionando Alt+tecla. En este ejemplo, usa Alt+A para Agent Ransack.
-
-
-Esto se hace agregando subelementos a SearchBoxItem en la pestaa Personalizar men Inicio:
-
-
-Abra cada uno de los subelementos y escrbales un comando para iniciar el programa de bsqueda. Si en el comando usa %1, se reemplazar por los contenidos del cuadro de bsqueda. Si usa %2 -se reemplazar por el texto a buscar codificado en estilo de URL. Para completar su entrada de men escrbale una -etiqueta, consejo e icono. En el texto de la etiqueta -puede usar & para marcar el carcter acelerador (por ejemplo &Agent Ransack).
-
-Aqu van algunos comandos posibles:
-Buscar con Agent Ransack: "C:\Program Files\Agent Ransack\AgentRansack.exe" -r -f "%1"
-Buscar con Everything: "C:\Program Files\Everything\Everything.exe" -search "%1"
-Buscar con Google: http://www.google.com/#q=%2
-Buscar con Bing: http://www.bing.com/search?q=%2
-
-
-

Botn Inicio personalizado
-

Open-Shell puede agregar su propio botn inicio a la barra de tareas. Puede incluso -reemplazar el botn inicio predeterminado en Windows 7. Puede elegir entre -un botn estilo Aero, un botn rectangular clsico o -crear el suyo. Para un botn inicio personalizado necesita una imagen que -contenga los 3 estados del botn - normal, activo y pulsado:
-Imgenes del botn Inicio
-La imagen debe ser un PNG o BMP de 32 bits. De forma predeterminada, el ancho de la -imagen determina el tamao del botn. Puede reemplazarlo -escribiendo un ancho personalizado.
-Para ms informacin acerca de la creacin de botones personalizados, lea el Tutorial de botones (en ingls).
-Puede encontrar muchas imgenes del botn inicio personalizadas en lnea. Aqu van algunos ejemplos:
-http://www.classicshell.net/forum/viewforum.php?f=18
-http://www.sevenforums.com/themes-styles/34951-custom-start-menu-button-collection.html
-
http://www.sevenforums.com/customization/78291-big-group-custom-start-orbs.html
-http://tutoriales13.deviantart.com/art/Orbs-153450418
-
-
-

Localizacin

- -La interfaz de usuario (salvo el cuadro de dilogo Configuracin) est traducida a 35 -idiomas.
- -El cuadro de dilogo Configuracin est traducido a una cantidad de idiomas ms pequea. -La instalacin predeterminada slo lo contiene en ingls. Pueden descargarse ms idiomas -desde la pgina de traducciones. Asegrese de descargar el paquete de traduccin para la versin de Open-Shell exacta.
- - -
-

Lnea de comandos

-StartMenu.exe admite 5 parmetros de lnea de comandos: -open, -toggle, -togglenew, -exit y -settings.
-
-Los dos primeros hacen lo que sugieren sus nombres en ingls. Uno abre el men inicio clsico, el otro -lo alterna. Puede usar los parmetros para crear un acceso directo en su -barra de Inicio Rpido que abra el men inicio, o para establecer una tecla rpida en -programas como WinKey.
-
-El tercero "-togglenew" alterna el men inicio predeterminado de Windows (o pantalla inicio). Resulta til -si desea crear un acceso directo o tecla rpida para abrir el men predeterminado y usar la tecla -Win para el men clsico.
-
-Use "-exit" para salir del men inicio. Este comando slo funcionar si el men inicio no est ocupado actualmente.
-
-Use "-settings" para abrir la configuracin del men inicio. Es til para crear un acceso directo a fin de editar la configuracin.
-
-
-

Accesibilidad

El men inicio es compatible con lectores de pantalla como JAWS -o el Narrador de Microsoft. Si la compatibilidad con accesibilidad provoca problemas, puede deshabilitarse desde la pestaa Comportamiento general en Configuracin.
- -
- diff --git a/Src/Localization/Spanish/MenuADMX.txt b/Src/Localization/Spanish/MenuADMX.txt deleted file mode 100644 index 295300b..0000000 --- a/Src/Localization/Spanish/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic2 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Configuración de Open-Shell -State.text = Estado: -State1.text = Bloqueada en este valor -State2.text = Bloqueada en valor predeterminado -State3.text = Desbloqueada -State1Help.text = Si establece el estado en 'Bloqueada en este valor', la configuración se bloqueará en el valor especificado para todos los usuarios. -State2Help.text = Si establece el estado en 'Bloqueada en valor predeterminado', la configuración se bloqueará en el valor predeterminado para todos los usuarios. El valor especificado se ignora. -State3Help.text = Si establece el estado en 'Desbloqueada', el valor predeterminado de la configuración se cambiará al especificado. Los usuarios pueden reemplazar la configuración. - -MenuCat.text = Open-Shell Menu -MenuCatHelp.text = Configuraciones de directiva de grupo de Open-Shell Menu -SUPPORTED_CS404.text = Requiere Open-Shell 4.0.4 o posterior. -SUPPORTED_CS404_WIN7.text = Requiere Windows 7. -SUPPORTED_CS404_WIN78.text = Requiere Windows 7 o Windows 8. -SUPPORTED_CS404_WIN781.text = Requiere Windows 7 o Windows 8.1. -SUPPORTED_CS404_WIN8.text = Requiere Windows 8. -SUPPORTED_CS404_WIN881.text = Requiere Windows 8 o Windows 8.1. -SUPPORTED_CS404_WIN81.text = Requiere Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Requiere estilo de menú Clásico con una sola columna. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Requiere estilo de menú Clásico con dos columnas. -SUPPORTED_CS404_CLASSIC_STYLE.text = Requiere estilo de menú Clásico. -SUPPORTED_CS404_WIN7_STYLE.text = Requiere estilo de menú Windows 7. - - -EnableSettings.nameOverride = Habilitar configuración -EnableSettings.tipOverride = Permite que los usuarios editen sus propias configuraciones - -MenuStyle.nameOverride = Estilo del menú -MenuStyle.tipOverride = Seleccione el estilo del menú inicio.\nEl estilo determina la apariencia y funcionamiento generales del menú. -MenuStyle_Classic1.nameOverride = Clásico con una sola columna -MenuStyle_Classic2.nameOverride = Clásico con dos columnas -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Hacer clic con el botón primario abre -ShiftClick.nameOverride = Mayús+hacer clic abre -WinKey.nameOverride = La Tecla Windows abre -ShiftWin.nameOverride = Mayús+Win abre -MiddleClick.nameOverride = Hacer clic con el botón del medio abre -Hover.nameOverride = Situarse encima abre - -; skins -SkinC1.nameOverride = Máscara para menú clásico con una sola columna -SkinC1.tipOverride = Seleccione la máscara a usar en el estilo clásico con una sola columna -SkinVariationC1.nameOverride = Variación de máscara para menú clásico con una sola columna -SkinVariationC1.tipOverride = Seleccione la variación de máscara a usar en el estilo clásico con una sola columna (para máscaras compatibles con múltiples variaciones) -SkinOptionsC1.nameOverride = Opciones de máscara para menú clásico con una sola columna -SkinOptionsC1.tipOverride = Seleccione las opciones de máscara a usar en el estilo clásico con una sola columna.\nLas opciones son una lista de números en hexadecimal. La mejor manera de obtenerlos es ajustar las opciones en el diálogo de configuración de Open-Shell Menu y acto seguido buscar el valor con nombre SkinOptionsC1 en HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Elementos de menú para menú clásico con una sola columna -MenuItems1.tipOverride = Seleccione los elementos de menú a usar en el estilo clásico con una sola columna.\nLa mejor manera de obtener la cadena adecuada es configurar los elementos en el diálogo de configuración de Open-Shell Menu y acto seguido buscar el valor con nombre MenuItems1 en HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Máscara para menú clásico con dos columnas -SkinC2.tipOverride = Seleccione la máscara a usar en el estilo clásico con dos columnas -SkinVariationC2.nameOverride = Variación de máscara para menú clásico con dos columnas -SkinVariationC2.tipOverride = Seleccione la variación de máscara a usar en el estilo clásico con dos columnas (para máscaras compatibles con múltiples variaciones) -SkinOptionsC2.nameOverride = Opciones de máscara para menú clásico con dos columnas -SkinOptionsC2.tipOverride = Seleccione las opciones de máscara a usar en el estilo clásico con dos columnas.\nLas opciones son una lista de números en hexadecimal. La mejor manera de obtenerlos es ajustar las opciones en el diálogo de configuración de Open-Shell Menu y acto seguido buscar el valor con nombre SkinOptionsC2 en HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Elementos de menú para menú clásico con dos columnas -MenuItems2.tipOverride = Seleccione los elementos de menú a usar en el estilo clásico con dos columnas.\nLa mejor manera de obtener la cadena adecuada es configurar los elementos en el diálogo de configuración de Open-Shell Menu y acto seguido buscar el valor con nombre MenuItems2 en HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Máscara para el estilo Windows 7 -SkinW7.tipOverride = Seleccione la máscara a usar en el estilo Windows 7 -SkinVariationW7.nameOverride = Variación de máscara para el estilo Windows 7 -SkinVariationW7.tipOverride = Seleccione la variación de máscara a usar en el estilo WIndows 7 (para máscaras compatibles con múltiples variaciones) -SkinOptionsW7.nameOverride = Opciones de máscara para el estilo Windows 7 -SkinOptionsW7.tipOverride = Seleccione las opciones de máscara a usar en el estilo Windows 7.\nLas opciones son una lista de números en hexadecimal. La mejor manera de obtenerlos es ajustar las opciones en el diálogo de configuración de Open-Shell Menu y acto seguido buscar el valor con nombre SkinOptionsW7 en HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Elementos de menú para el estilo Windows 7 -MenuItems7.tipOverride = Seleccione los elementos de menú a usar en el estilo Windows 7.\nLa mejor manera de obtener la cadena adecuada es configurar los elementos en el diálogo de configuración de Open-Shell Menu y acto seguido buscar el valor con nombre MenuItems7 en HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Máscara para el submenú Todos los Programas en el menú inicio de Windows 7 -SkinA.tipOverride = Seleccione la máscara a usar para el submenú Todos los Programas en el menú inicio de Windows 7 -SkinVariationA.nameOverride = Variación de máscara para el submenú Todos los Programas en el menú inicio de Windows 7 -SkinVariationA.tipOverride = Seleccione la variación de máscara a usar para el submenú Todos los Programas en el menú inicio de Windows 7 (para máscaras compatibles con múltiples variaciones) -SkinOptionsA.nameOverride = Opciones de máscara para el submenú Todos los Programas en el menú inicio de Windows 7 -SkinOptionsA.tipOverride = Seleccione las opciones de máscara a usar para el submenú Todos los Programas en el menú inicio de Windows 7.\nLas opciones son una lista de números en hexadecimal. La mejor manera de obtenerlos es ajustar las opciones en el diálogo de configuración de Open-Shell Menu y acto seguido buscar el valor con nombre SkinOptionsA en HKCU\Software\OpenShell\StartMenu\Settings - -; metro settings -SkipMetro.tipAddition = Esta configuración no funciona en Windows 8.1. Para arrancar en el Escritorio, tiene que usar la configuración integrada en Windows - -; hidden -FolderStartMenu.nameOverride = Carpeta del menú Inicio -FolderStartMenu.tipOverride = Escriba un reemplazo para la carpeta del menú inicio de cada usuario (reemplaza asimismo la carpeta Programas de cada usuario).\nLa ruta puede contener variables de entorno.\nNota: Esta configuración no es editable desde el diálogo Configuración -FolderPrograms.nameOverride = Carpeta Programas -FolderPrograms.tipOverride = Escriba un reemplazo para la carpeta Programas de cada usuario.\nLa ruta puede contener variables de entorno.\nNota: Esta configuración no es editable desde el diálogo Configuración -FolderCommonStartMenu.nameOverride = Carpeta común del menú Inicio -FolderCommonStartMenu.tipOverride = Escriba un reemplazo para la carpeta común del menú inicio (reemplaza asimismo la carpeta Programas común).\nLa ruta puede contener variables de entorno.\nNota: Esta configuración no es editable desde el diálogo Configuración -FolderCommonPrograms.nameOverride = Carpeta Programas común -FolderCommonPrograms.tipOverride = Escriba un reemplazo para la carpeta Programas común.\nLa ruta puede contener variables de entorno.\nNota: Esta configuración no es editable desde el diálogo Configuración -AutoStartDelay.nameOverride = Retraso de inicio automático -AutoStartDelay.tipOverride = Escriba un retraso en ms al ejecutarse el menú inicio automáticamente durante el inicio de sesión (no se aplica al iniciar el menú manualmente ejecutando StartMenu.exe).\nNota: Esta configuración no es editable desde el diálogo Configuración - -; other -StartButtonIcon.tipAddition = El valor puede ser una ruta a un archivo ICO o una ruta a un EXE/DLL y el identificador de un icono -StartButtonPath.tipAddition = El valor es una ruta completa al archivo BMP o PNG -SoundMain.tipAddition = El valor puede ser el nombre de un evento del sistema o una ruta a un archivo WAV -SoundPopup.tipAddition = El valor puede ser el nombre de un evento del sistema o una ruta a un archivo WAV -SoundCommand.tipAddition = El valor puede ser el nombre de un evento del sistema o una ruta a un archivo WAV -SoundDrop.tipAddition = El valor puede ser el nombre de un evento del sistema o una ruta a un archivo WAV -ExpandFolderLinks.tipAddition = Sólo funciona para vínculos simbólicos (como uniones) y no para accesos directos planos -StartHoverDelay.nameOverride = Retraso al situarse encima (para el botón Inicio) -AllProgramsDelay.nameOverride = Retraso al situarse encima (para Todos los Programas en Windows 7) -CSMHotkey.tipAddition = .\n\nEl valor base es el código virtual principal de la tecla. Agregue 256 para Mayús, 512 para Control y 1024 para Alt.\nLa mejor manera de obtener el valor es seleccionar la tecla rápida en el diálogo de configuración de Open-Shell Menu y acto seguido buscar el valor con nombre CSMHotkey en HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\nEl valor base es el código virtual principal de la tecla. Agregue 256 para Mayús, 512 para Control y 1024 para Alt.\nLa mejor manera de obtener el valor es seleccionar la tecla rápida en el diálogo de configuración de Open-Shell Menu y acto seguido buscar el valor con nombre WSMHotkey en HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/Spanish/OpenShell.hhp b/Src/Localization/Spanish/OpenShell.hhp deleted file mode 100644 index 3dc1b94..0000000 --- a/Src/Localization/Spanish/OpenShell.hhp +++ /dev/null @@ -1,17 +0,0 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=OpenShell.chm -Contents file=OpenShellTOC.hhc -Default topic=Main.html -Display compile progress=Yes -Full-text search=Yes -Language=0xc0a Espaol (Espaa, internacional) - - -[FILES] -ClassicExplorer.html -Menu.html -ClassicIE.html - -[INFOTYPES] - diff --git a/Src/Localization/Spanish/OpenShellADMX.txt b/Src/Localization/Spanish/OpenShellADMX.txt deleted file mode 100644 index 9631861..0000000 --- a/Src/Localization/Spanish/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Configuración de Open-Shell -State.text = Estado: -State1.text = Bloqueada en este valor -State2.text = Bloqueada en valor predeterminado -State3.text = Desbloqueada -State1Help.text = Si establece el estado en 'Bloqueada en este valor', la configuración se bloqueará en el valor especificado para todos los usuarios. -State2Help.text = Si establece el estado en 'Bloqueada en valor predeterminado', la configuración se bloqueará en el valor predeterminado para todos los usuarios. El valor especificado se ignora. -State3Help.text = Si establece el estado en 'Desbloqueada', el valor predeterminado de la configuración se cambiará al especificado. Los usuarios pueden reemplazar la configuración. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Configuraciones de directiva de grupo de Open-Shell -SUPPORTED_CS404.text = Requiere Open-Shell 4.0.4 o posterior. - -Language.nameOverride = Idioma de componentes de Open-Shell -Language.tipOverride = Seleccione el idioma en el que usar Open-Shell (por ejemplo en-US o es-ES). El idioma afectará al texto del menú inicio, barras de herramientas, etc. Si está instalada la DLL del idioma correspondiente, las IU de configuración se traducen también -Update.nameOverride = Habilitar búsquedas automáticas de versiones nuevas -Update.tipOverride = Al marcarse, Open-Shell buscará lanzamientos nuevos todas las semanas. Si hay una versión nueva del software Open-Shell o una actualización nueva del idioma actual, se le notificará diff --git a/Src/Localization/Spanish/OpenShellEULA.rtf b/Src/Localization/Spanish/OpenShellEULA.rtf deleted file mode 100644 index a509d5f..0000000 Binary files a/Src/Localization/Spanish/OpenShellEULA.rtf and /dev/null differ diff --git a/Src/Localization/Spanish/OpenShellReadme.rtf b/Src/Localization/Spanish/OpenShellReadme.rtf deleted file mode 100644 index a98c149..0000000 --- a/Src/Localization/Spanish/OpenShellReadme.rtf +++ /dev/null @@ -1,106 +0,0 @@ -{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fprq2\fcharset0 Cambria;}{\f1\fswiss\fprq2\fcharset0 Calibri;}{\f2\fnil\fcharset2 Symbol;}} -{\colortbl ;\red23\green54\blue93;\red79\green129\blue189;\red0\green112\blue192;\red0\green0\blue255;\red54\green95\blue145;} -{\stylesheet{ Normal;}{\s1 heading 1;}} -{\*\generator Riched20 10.0.17134}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 -\pard\brdrb\brdrs\brdrw20\brsp80 \widctlpar\sa300\qc\cf1\expndtw5\kerning28\f0\fs52\lang3082 Open-Shell\par - -\pard\widctlpar\cf0\expndtw0\b0\i0\f1\fs22\par -Gracias por instalar \cf3\b Open-Shell\'99\cf0\b0 . Agrega algunas caracter\'edsticas que faltan en Windows 7 y Windows 8 - como un men\'fa inicio cl\'e1sico, bot\'f3n inicio, una barra de herramientas para el Explorador de Windows y otras.\par -\par -Puede encontrar la \'faltima versi\'f3n en el sitio web de Open-Shell:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/ }}{\fldrslt{http://www.classicshell.net/\ul0\cf0}}}}\f1\fs22\par -\par -Para respuestas a las preguntas m\'e1s frecuentes, mire aqu\'ed:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/faq/ }}{\fldrslt{http://www.classicshell.net/faq/\ul0\cf0}}}}\f1\fs22\par -\par -O use los foros de discusi\'f3n para obtener ayuda:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=6 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=6\ul0\cf0}}}}\f1\fs22\par -\par -Informe de problemas en los foros de desarrollo de Open-Shell:\par -{{\field{\*\fldinst{HYPERLINK http://www.classicshell.net/forum/viewforum.php?f=11 }}{\fldrslt{http://www.classicshell.net/forum/viewforum.php?f=11\ul0\cf0}}}}\f1\fs22\par -\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Open-Shell Menu\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Open-Shell Menu\cf0 \b0 es un men\'fa inicio flexible que puede imitar el comportamiento del men\'fa de Windows 2000, XP y Windows 7. Tiene varias caracter\'edsticas avanzadas:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Elegir entre los estilos \'abCl\'e1sico\'bb y \'abWindows 7\'bb\par -{\pntext\f2\'B7\tab}Arrastrar y colocar para permitirle organizar sus aplicaciones\par -{\pntext\f2\'B7\tab}Opciones para mostrar Favoritos, expandir el Panel de Control, etc.\par -{\pntext\f2\'B7\tab}Muestra documentos usados recientemente. La cantidad de documentos a mostrar puede personalizarse\par -{\pntext\f2\'B7\tab}Traducido a 35 idiomas, lo que incluye compatibilidad de derecha a izquierda para \'e1rabe y hebreo\par -{\pntext\f2\'B7\tab}No deshabilita el men\'fa inicio original de Windows. Puede acceder a \'e9ste con May\'fas+Hacer clic en el bot\'f3n inicio\par -{\pntext\f2\'B7\tab}Hacer clic con el bot\'f3n secundario en un elemento del men\'fa para eliminarlo, cambiarle el nombre, ordenarlo o realizar otras tareas\par -{\pntext\f2\'B7\tab}El cuadro de b\'fasqueda le ayuda a encontrar sus programas y archivos sin comprometer sus m\'e9todos abreviados de teclado\par -{\pntext\f2\'B7\tab}Admite listas de accesos directos para obtener acceso f\'e1cil a documentos recientes y tareas comunes\par -{\pntext\f2\'B7\tab}Disponible para sistemas operativos de 32 y 64 bits\par -{\pntext\f2\'B7\tab}Admite m\'e1scaras, incluyendo m\'e1scaras adicionales de terceros. \'a1Cree la suya!\par -{\pntext\f2\'B7\tab}Completamente personalizable, tanto en la apariencia como en el funcionamiento\par -{\pntext\f2\'B7\tab}Compatibilidad con Microsoft Active Accessibility\par -{\pntext\f2\'B7\tab}Convierte el bot\'f3n \'abTodos los programas\'bb del men\'fa de Windows en un men\'fa en cascada\par -{\pntext\f2\'B7\tab}Implementa un bot\'f3n inicio personalizable\par -{\pntext\f2\'B7\tab}Puede mostrar, buscar e iniciar aplicaciones de la Tienda Windows (Windows 8)\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic Explorer\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic Explorer\cf0 \b0 es un complemento para el Explorador de Windows que:\par -\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Agrega una barra de herramientas al Explorador para algunas operaciones comunes (Ir a carpeta principal, Cortar, Copiar, Pegar, Eliminar, Propiedades, Correo electr\'f3nico). La barra de herramientas es completamente personalizable\par -{\pntext\f2\'B7\tab}Reemplaza la IU de copia en Windows 7 por la versi\'f3n \'abcl\'e1sica\'bb m\'e1s f\'e1cil de usar, similar a la de Windows XP\par -{\pntext\f2\'B7\tab}Atiende Alt+Entrar en el panel de carpetas del Explorador de Windows y muestra las propiedades de la carpeta seleccionada\par -{\pntext\f2\'B7\tab}Tiene opciones para personalizar el panel de carpetas de modo que se parezca m\'e1s a la versi\'f3n de Windows XP, o para que no aten\'fae los botones de expansi\'f3n\par -{\pntext\f2\'B7\tab}Puede mostrar el espacio disponible en disco y el tama\'f1o total de los archivos seleccionados en la barra de estado\par -{\pntext\f2\'B7\tab}Puede deshabilitar las rutas de navegaci\'f3n en la barra de direcciones\par -{\pntext\f2\'B7\tab}Corrige una lista larga de caracter\'edsticas que se han roto en Windows 7 \endash falta del icono superpuesto en las carpetas compartidas, las carpetas que en el panel de navegaci\'f3n van de un lado a otro, falta de cabeceras de ordenaci\'f3n en vista de lista y m\'e1s\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Classic IE\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -\cf3\b Classic IE es un complemento para Internet Explorer 9 y versiones posteriores que:\par -\cf0\b0\par - -\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\widctlpar\fi-360\li720 Agrega un t\'edtulo a la barra de t\'edtulo para que pueda ver el t\'edtulo de la p\'e1gina completo\par -{\pntext\f2\'B7\tab}Muestra la zona de seguridad en la barra de estado\par -{\pntext\f2\'B7\tab}Muestra el progreso de carga en la barra de estado\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Instrucciones de instalaci\'f3n\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -La barra de herramientas del Explorador de Windows podr\'eda no mostrarse autom\'e1ticamente despu\'e9s de la instalaci\'f3n. Antes de poder usarla, debe hacer un par de cosas.\par -\par -\cf3\b Windows 7:\cf0\b0 Presione Alt+V para abrir el men\'fa Ver. Abra el submen\'fa \'abBarras de herramientas\'bb y seleccione \'abClassic Explorer Bar\rdblquote . Tenga en cuenta que, cuando la barra de herramientas est\'e9 visible, el men\'fa se mostrar\'e1 siempre.\par -\par -\cf3\b Windows 8:\cf0\b0 Presione Alt+V para abrir la cinta Vista. Haga clic en la flecha hacia abajo de la secci\'f3n \'abOpciones\'bb. Seleccione \'abClassic Explorer Bar\'bb\par -\par -Si estos pasos no funcionan, es posible que las extensiones de Explorador est\'e9n deshabilitadas. Compruebe lo siguiente, luego intente volver a mostrar la barra de herramientas:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720 Abra Internet Explorer y vaya a Herramientas -> Administrar complementos. Ubique los complementos \'abClassic Explorer Bar\'bb y \'abExplorerBHO Class\'bb, y aseg\'farese de que est\'e9n habilitados.\par -{\pntext\f1 2)\tab}Puede ser que en su sistema las extensiones de explorador est\'e9n deshabilitadas. Suele ser lo predeterminado en Windows Server. Abra las "Opciones de Internet", vaya a la pesta\'f1a "Opciones avanzadas" y marque la opci\'f3n "Habilitar extensiones de explorador de terceros".\par - -\pard\widctlpar\par -Si en Windows 7 desea ver el tama\'f1o de los archivos, debe activar la barra de estado en el men\'fa Ver.\par -En Windows 8, la barra de estado de Classic Explorer es distinta de la del Explorador. Puede mostrar u ocultar la primera desde el di\'e1logo de configuraci\'f3n de Classic Explorer, y mostrar u ocultar la segunda desde el di\'e1logo de opciones de carpeta del Explorador.\par -\par -El t\'edtulo en Internet Explorer podr\'eda no mostrarse autom\'e1ticamente despu\'e9s de la instalaci\'f3n. Puede que se le pida confirmaci\'f3n para habilitar el complemento ClassicIEBHO. Si se le pide, seleccione \'abHabilitar\'bb. Si no se le pide confirmaci\'f3n, vaya a Herramientas -> Administrar complementos y aseg\'farese de que el complemento \'abClassicIEBHO\'bb est\'e9 habilitado. Despu\'e9s, reinicie Internet Explorer.\par - -\pard\keep\keepn\widctlpar\s1\sb480\sl276\slmult1\cf5\b\f0\fs28 Desinstalaci\'f3n\par - -\pard\widctlpar\cf0\b0\f1\fs22\par -Para desinstalar \cf3\b Open-Shell,\cf0\b0 siga estos pasos:\par - -\pard -{\pntext\f1 1)\tab}{\*\pn\pnlvlbody\pnf1\pnindent0\pnstart1\pndec{\pntxta)}} -\widctlpar\fi-360\li720 Abra \b Panel de control -> Programas y caracter\'edsticas,\b0 y haga doble clic en \b Open-Shell\b0 . Luego siga las instrucciones. Puede que para completar el proceso tenga que reiniciar Windows.\par -{\pntext\f1 2)\tab}Si instal\'f3 m\'e1scaras adicionales para el men\'fa inicio, tendr\'e1 que eliminarlas manualmente\par - -\pard\widctlpar\par - -\pard\widctlpar\sa200\sl276\slmult1\par -} - diff --git a/Src/Localization/Spanish/OpenShellTOC.hhc b/Src/Localization/Spanish/OpenShellTOC.hhc deleted file mode 100644 index 29b642b..0000000 --- a/Src/Localization/Spanish/OpenShellTOC.hhc +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -
    -
  • - - - - -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - - -
    • - - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
      -
    • - - - -
    • - - - -
    • - - - -
    -
  • - - - - -
  • - - - - -
- diff --git a/Src/Localization/Spanish/OpenShellText-es-ES.wxl b/Src/Localization/Spanish/OpenShellText-es-ES.wxl deleted file mode 100644 index b7f11db..0000000 --- a/Src/Localization/Spanish/OpenShellText-es-ES.wxl +++ /dev/null @@ -1,33 +0,0 @@ - - - Este instalador sólo es para versiones de Windows de 32 bits. Para Windows de 64 bits, necesita ejecutar Setup64. - Open-Shell requiere Windows 7 o superior. - Ya tiene instalada una versión de [ProductName] más nueva. La instalación se cerrará ahora. - Classic Explorer - Classic Explorer agrega una barra de herramientas al Explorador de Windows, reemplaza la IU de copia y corrige algunos problemas de usabilidad - Open-Shell Menu - Open-Shell Menu es un reemplazo para el menú inicio de Windows altamente personalizable - Classic IE - Classic IE le permite personalizar la barra de título y la barra de estado de Internet Explorer - Actualización de Open-Shell - Actualización de Open-Shell busca versiones nuevas periódicamente - Ver la documentación de Open-Shell - Ver la introducción a Open-Shell - Edite la configuración de Classic Explorer - Edite la configuración del menú inicio clásico - Edite la configuración de la barra de título y la barra de estado de Internet Explorer - Edite la configuración de búsqueda de nuevas versiones de Open-Shell - Crear una carpeta en el menú inicio - Sitio web de Open-Shell - Donar a Open-Shell - Visítenos en Facebook - Ver archivo Léame - Ayuda de Open-Shell - Léame de Open-Shell - Actualización de Open-Shell - Configuración de Classic Explorer - Configuración de Open-Shell Menu - Configuración de Classic IE - Abrir la pantalla Inicio - Open-Shell es una colección de mejoras de usabilidad para Windows - diff --git a/Src/Localization/Spanish/WixUI_es-es.wxl b/Src/Localization/Spanish/WixUI_es-es.wxl deleted file mode 100644 index a359b18..0000000 --- a/Src/Localization/Spanish/WixUI_es-es.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Atrás - &Siguiente - Cancelar - &Finalizar - &Reintentar - &Ignorar - &Sí - &No - Aceptar - I&mprimir - - Instalación de [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lea el Contrato de licencia de [ProductName] - &Acepto los términos del Contrato de licencia - Haga clic en Instalar para instalar el producto con las opciones predeterminadas para todos los usuarios. Haga clic en Avanzada para cambiar las opciones de instalación. - Haga clic en Instalar para instalar el producto con las opciones predeterminadas solo para el usuario actual. Haga clic en Avanzada para cambiar las opciones de instalación. - &Instalar - A&vanzada - 8 - 12 - 9 - 8 - Tahoma - - Instalación de [ProductName] - &Buscar en: - WixUI_Bmp_Up - Subir un nivel - WixUI_Bmp_New - Crea una nueva carpeta - &Nombre de carpeta: - WixUI_Bmp_Banner - Buscar la carpeta de destino - {\WixUI_Font_Title}Cambiar carpeta de destino - - Instalación de [ProductName] - ¿Está seguro de que desea cancelar la instalación de [ProductName]? - WixUI_Ico_Info - Icono de información - - Instalación de [ProductName] - Árbol de selecciones - E&xaminar... - Re&stablecer - &Uso del disco - WixUI_Bmp_Banner - Haga clic en los iconos del árbol siguiente para cambiar el modo en que se instalan las características. - Seleccione el modo en que desea que se instalen las características. - {\WixUI_Font_Title}Instalación personalizada - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Ubicación: - - Instalación de [ProductName] - WixUI_Bmp_Banner - Los volúmenes resaltados no tienen espacio en disco suficiente para las características seleccionadas. Puede quitar algunos archivos de estos volúmenes, instalar menos características o seleccionar otras unidades de destino. - Espacio en disco necesario para la instalación de las características seleccionadas. - {\WixUI_Font_Title}Requisitos de espacio en disco - {120}{70}{70}{70}{70} - - Instalación de [ProductName] - Texto informativo - WixUI_Ico_Info - Icono de información - - Instalación de [ProductName] - WixUI_Bmp_Dialog - Haga clic en el botón Finalizar para salir del Asistente para la instalación. - {\WixUI_Font_Bigger}Ha completado el Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}El Asistente para la instalación de [ProductName] finalizó antes de tiempo. - El Asistente para la instalación de [ProductName] finalizó antes de tiempo debido a un error. El sistema no se ha modificado. Para instalar el programa más tarde, vuelva a ejecutar el Asistente para la instalación. - Haga clic en el botón Finalizar para salir del Asistente para la instalación. - - Instalación de [ProductName] - Características del producto - WixUI_Bmp_Banner - Seleccione el modo en que desea que se instalen las características. - {\WixUI_Font_Title}Características del producto - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Instalar - &Cambiar - - Instalación de [ProductName] - S&alir - WixUI_Bmp_Banner - Las siguientes aplicaciones están utilizando archivos que el programa de instalación debe actualizar. Cierre estas aplicaciones y haga clic en &Reintentar para continuar con la instalación o en Salir para salir de ella. - Algunos archivos que es necesario actualizar se están utilizando en este momento. - {\WixUI_Font_Title}Archivos en uso - - Instalación de [ProductName] - &Cambiar... - {\WixUI_Font_Title}Carpeta de destino - Haga clic en Siguiente para realizar la instalación en la carpeta predeterminada o en Cambiar para elegir otra carpeta. - WixUI_Bmp_Banner - Instalar [ProductName] en: - - Instalación de [ProductName] - WixUI_Bmp_Banner - Elija el ámbito y la carpeta de instalación - {\WixUI_Font_Title}Ámbito de la instalación - {\WixUI_Font_Emphasized}Instalar &solo para el usuario actual ([LogonUser]) - [ProductName] se instalará en una carpeta por usuario y solo estará disponible para su cuenta de usuario. No se necesitan privilegios de administrador local. - [ProductName] no admite la instalación por usuario. - {\WixUI_Font_Emphasized}Instalar para todos los usuarios de este &equipo - [ProductName] se instalará en una carpeta por equipo de forma predeterminada y estará disponible a todos los usuarios. Puede cambiar la carpeta de instalación predeterminada. Se necesitan privilegios de administrador local. - &Carpeta de instalación: - &Cambiar... - - Instalación de [ProductName] - El directorio de instalación debe estar en una unidad de disco duro local. - WixUI_Ico_Info - Icono de información - - Instalación de [ProductName] - &Acepto los términos del Contrato de licencia - WixUI_Bmp_Banner - Lea detenidamente el siguiente Contrato de licencia - {\WixUI_Font_Title}Contrato de licencia para el usuario final - - Instalación de [ProductName] - &Cambiar - Cambiar la instalación - Re&parar - Reparar la instalación - &Quitar - Quitar la instalación - WixUI_Bmp_Banner - Seleccione la operación que desea realizar. - {\WixUI_Font_Title}Cambiar, reparar o quitar la instalación - Permite cambiar el modo en que se instalan las características. - [ProductName] no tiene características que puedan seleccionarse de manera independiente. - Quita [ProductName] de su equipo. - No se puede quitar [ProductName]. - Repara errores en la instalación más reciente corrigiendo archivos, accesos directos y entradas de Registro que faltan o que están dañados. - No se puede reparar [ProductName]. - - Instalación de [ProductName] - WixUI_Bmp_Dialog - El Asistente para la instalación permite cambiar el modo en que se instalan las características de [ProductName] en el equipo o quitarlo de este. Haga clic en Siguiente para continuar o en Cancelar para salir del Asistente para la instalación. - {\WixUI_Font_Bigger}Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - WixUI_Bmp_Banner - Las siguientes aplicaciones están utilizando archivos que el programa de instalación debe actualizar. Puede dejar que el Asistente para la instalación los cierre e intentar reiniciarlos o reiniciar el equipo más tarde. - Algunos archivos que es necesario actualizar se están utilizando en este momento. - {\WixUI_Font_Title}Archivos en uso - &Cierre las aplicaciones e intente reiniciarlas. - &No cierre las aplicaciones. Será necesario reiniciar. - - Instalación de [ProductName] - WixUI_Bmp_Banner - Los volúmenes resaltados no disponen de espacio en disco suficiente para las características seleccionadas. Puede quitar algunos archivos de dichos volúmenes, instalar menos características o seleccionar otra unidad de destino. - El espacio en disco necesario para la instalación supera el espacio disponible en el disco. - {\WixUI_Font_Title}Espacio en disco insuficiente - {120}{70}{70}{70}{70} - - Instalación de [ProductName] - WixUI_Bmp_Banner - Los volúmenes resaltados no disponen de espacio en disco suficiente para las características seleccionadas. Puede quitar algunos archivos de dichos volúmenes, instalar menos características o seleccionar otra unidad de destino. - El espacio en disco necesario para la instalación supera el espacio disponible en disco. - {\WixUI_Font_Title}Espacio en disco insuficiente - {120}{70}{70}{70}{70} - También puede deshabilitar la funcionalidad de reversión del instalador. Esto impedirá que el instalador restaure el estado original del equipo en caso de que se interrumpa la instalación. Haga clic en Sí si desea correr el riesgo y deshabilitar la reversión. - - Instalación de [ProductName] - WixUI_Bmp_Dialog - Espere mientras el Asistente para la instalación se prepara para guiarlo durante la instalación. - {\WixUI_Font_Bigger}Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - WixUI_Bmp_Banner - Espere mientras el Asistente para la instalación instala [ProductName]. - {\WixUI_Font_Title}Instalando [ProductName] - Espere mientras el Asistente para la instalación cambia [ProductName]. - {\WixUI_Font_Title}Cambiando [ProductName] - Espere mientras el Asistente para la instalación repara [ProductName]. - {\WixUI_Font_Title}Reparando [ProductName] - Espere mientras el Asistente para la instalación quita [ProductName]. - {\WixUI_Font_Title}Quitando [ProductName] - Espere mientras el Asistente para la instalación actualiza [ProductName]. - {\WixUI_Font_Title}Actualizando [ProductName] - Operación completada - Estado: - - Instalación de [ProductName] - &Instalar - WixUI_Bmp_Dialog - El Asistente para la instalación completará la instalación de [ProductName] en el equipo. Haga clic en Instalar para continuar o en Cancelar para salir del Asistente para la instalación. - {\WixUI_Font_Bigger}Reanudando el Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - &Típica - Instalación típica - &Personalizada - Instalación personalizada - &Completa - Instalación completa - WixUI_Bmp_Banner - {\WixUI_Font_Title}Elija un tipo de instalación - Elija el tipo de instalación que mejor se adapte a sus necesidades. - Instala las características de programa más comunes. Recomendada para la mayoría de los usuarios. - El usuario podrá elegir las características de programa que se instalarán y dónde se instalarán. Recomendada para usuarios avanzados. - Instalará todas las características del programa. Esta opción es la que más espacio en disco requiere. - - Instalación de [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Se interrumpió el Asistente para la instalación de [ProductName]. - Se interrumpió la instalación de [ProductName]. El sistema no se ha modificado. Para instalar este programa más tarde, vuelva a ejecutar la instalación. - Haga clic en el botón Finalizar para salir del Asistente para la instalación. - - Instalación de [ProductName] - WixUI_Bmp_Banner - &Instalar - Haga clic en Instalar para comenzar la instalación. Haga clic en Atrás para revisar o cambiar la configuración de la instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para instalar [ProductName] - &Cambiar - Haga clic en Cambiar para comenzar la instalación. Haga clic en Atrás para revisar o cambiar la configuración de la instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para cambiar [ProductName] - Re&parar - Haga clic en Reparar para reparar la instalación de [ProductName]. Haga clic en Atrás para revisar o cambiar la configuración de la instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para reparar [ProductName] - &Quitar - Haga clic en Quitar para quitar [ProductName] de su equipo. Haga clic en Atrás para revisar o cambiar la configuración de la instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para quitar [ProductName] - &Actualizar - Haga clic en Actualizar para actualizar [ProductName] desde el equipo. Haga clic en Atrás para revisar o cambiar alguna de las opciones de instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para actualizar [ProductName] - - Instalación de [ProductName] - &Volver - Espere mientras el instalador determina los requisitos de espacio en disco. - WixUI_Ico_Exclam - Icono de exclamación - - Instalación de [ProductName] - WixUI_Bmp_Dialog - El Asistente para la instalación instalará [ProductName] en el equipo. Haga clic en Siguiente para continuar o en Cancelar para salir del asistente. - El Asistente para la instalación actualizará [ProductName] en el equipo. Haga clic en Siguiente para continuar o en Cancelar para salir del asistente. - {\WixUI_Font_Bigger}Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - WixUI_Bmp_Dialog - &Acepto los términos del Contrato de licencia - &Instalar - &Actualizar - {\WixUI_Font_Title}Lea el Contrato de licencia de [ProductName] - - Validando la instalación - Copiando archivos nuevos - Archivo: [1], directorio: [9], tamaño: [6] - Copiando archivos de instalación de la red - Archivo: [1], directorio: [9], tamaño: [6] - Calculando el espacio necesario - Calculando el espacio necesario - Calculando el espacio necesario - Creando accesos directos - Acceso directo: [1] - Publicando componentes calificados - Id. de componente: [1], calificador: [2] - Publicando características del producto - Característica: [1] - Publicando información del producto - Registrando servidores de clases - Id. de clase: [1] - Registrando servidores de extensiones - Extensión: [1] - Registrando información MIME - Tipo de contenido MIME: [1], extensión: [2] - Registrando identificadores de programa - ProgID: [1] - Asignando espacio del Registro - Espacio disponible: [1] - Buscando aplicaciones instaladas - Propiedad: [1], firma: [2] - Enlazando archivos ejecutables - Archivo: [1] - Buscando productos certificados - Creando carpetas - Carpeta: [1] - Eliminando servicios - Servicio: [1] - Creando archivos duplicados - Archivo: [1], directorio: [9], tamaño: [6] - Buscando aplicaciones relacionadas - Se encontró la aplicación: [1] - Instalando componentes ODBC - Instalando servicios nuevos - Servicio: [2] - Evaluando las condiciones de inicio - Migrando los estados de las características desde las aplicaciones relacionadas - Aplicación: [1] - Moviendo archivos - Archivo: [1], directorio: [9], tamaño: [6] - Aplicando revisión a archivos - Archivo: [1], directorio: [2], tamaño: [3] - Actualizando el registro de componentes - Registrando aplicaciones y componentes COM+ - Id. de aplicación: [1]{{, tipo de aplicación: [2], usuarios: [3], RSN: [4]}} - Registrando fuentes - Fuente: [1] - Registrando producto - [1] - Registrando bibliotecas de tipos - Id. de la biblioteca: [1] - Registrando usuario - [1] - Quitando archivos duplicados - Archivo: [1], directorio: [9] - Actualizando cadenas de entorno - Nombre: [1], valor: [2], acción [3] - Quitando aplicaciones - Aplicación: [1], línea de comandos: [2] - Quitando archivos - Archivo: [1], directorio: [9] - Quitando carpetas - Carpeta: [1] - Quitando entradas de archivos INI - Archivo: [1], sección: [2], clave: [3], valor: [4] - Quitando componentes ODBC - Quitando valores del Registro del sistema - Clave: [1], nombre: [2] - Quitando accesos directos - Acceso directo: [1] - Buscando productos certificados - Registrando módulos - Archivo: [1], carpeta: [2] - Eliminando módulos del Registro - Archivo: [1], carpeta: [2] - Inicializando directorios ODBC - Iniciando servicios - Servicio: [1] - Deteniendo servicios - Servicio: [1] - Cancelando la publicación de componentes calificados - Id. de componente: [1], calificador: [2] - Cancelando la publicación de características del producto - Característica: [1] - Eliminando del Registro los servidores de clases - Id. de clase: [1] - Eliminando del Registro las aplicaciones y componentes COM+ - Id. de aplicación: [1]{{, tipo de aplicación: [2]}} - Eliminando del Registro los servidores de extensiones - Extensión: [1] - Eliminando del Registro las fuentes - Fuente: [1] - Eliminando del Registro la información MIME - Tipo de contenido MIME: [1], extensión: [2] - Eliminando del Registro los identificadores de programas - ProgID: [1] - Eliminando del Registro las bibliotecas de tipos - Id. de la biblioteca: [1] - Actualizando cadenas de entorno - Nombre: [1], valor: [2], acción [3] - Escribiendo valores de los archivos INI - Archivo: [1], sección: [2], clave: [3], valor: [4] - Escribiendo valores del Registro del sistema - Clave: [1], nombre: [2], valor: [3] - Anunciando aplicación - Generando operaciones de script para la acción: - [1] - Instalando catálogo del sistema - Archivo: [1], dependencias: [2] - Publicando información de ensamblado - Contexto de aplicación:[1], nombre de ensamblado:[2] - Cancelando la publicación de información de ensamblado - Contexto de aplicación:[1], nombre de ensamblado:[2] - Revirtiendo la acción: - [1] - Quitando copias de seguridad - Archivo: [1] - Quitando archivos movidos - Archivo: [1], directorio: [9] - Cancelando la publicación de información del producto - - {{Error irrecuperable: }} - {{Error [1]. }} - Advertencia [1]. - Información [1]. - El instalador encontró un error inesperado durante la instalación de este paquete. Esto puede indicar un problema con el paquete. El código de error es [1]. {{Los argumentos son: [2], [3], [4]}} - {{Disco lleno: }} - Acción [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Tipo de mensaje: [1], argumento: [2] - === Registro iniciado: [Date] [Time] === - === Registro detenido: [Date] [Time] === - La acción se inició a las [Time]: [1]. - La acción terminó a las [Time]: [1]. Valor devuelto [2]. - Quedan: {[1] minutos }{[2] segundos} - Memoria insuficiente. Cierre otras aplicaciones e inténtelo de nuevo. - El instalador no responde. - El instalador terminó antes de tiempo. - Espere mientras Windows configura [ProductName] - Obteniendo información necesaria... - Quitando versiones anteriores de esta aplicación... - Preparándose para quitar versiones anteriores de esta aplicación... - La instalación de {[ProductName] } se completó correctamente. - No se pudo instalar {[ProductName] }. - Error al leer el archivo: [2]. {{ Error del sistema [3].}} Compruebe que el archivo existe y que puede obtener acceso a él. - No se puede crear el archivo '[2]'. Ya existe un directorio con ese nombre. Cancele la instalación e intente realizarla en una ubicación distinta. - Inserte el disco: [2] - El instalador no dispone de privilegios suficientes para obtener acceso al directorio [2]. La instalación no puede continuar. Inicie sesión como administrador o póngase en contacto con el administrador del sistema. - Error al escribir en el archivo [2]. Compruebe que dispone de acceso a ese directorio. - Error al leer el archivo: [2]. {{ Error del sistema [3].}} Compruebe que el archivo existe y que puede obtener acceso a él. - Otra aplicación tiene acceso exclusivo al archivo '[2]'. Cierre todas las demás aplicaciones y haga clic en Reintentar. - No hay suficiente espacio en disco para instalar el archivo [2]. Libere espacio y haga clic en Reintentar, o bien haga clic en Cancelar para salir. - No se encontró el archivo de origen [2]. Compruebe que el archivo existe y que tiene acceso a él. - Error al leer el archivo: [3]. {{ Error del sistema [2].}} Compruebe que el archivo existe y que puede obtener acceso a él. - Error al escribir en el archivo [3]. {{ Error del sistema [2].}} Compruebe que dispone de acceso a ese directorio. - No se encontró el archivo de origen {{(archivo .CAB)}} [2]. Compruebe que el archivo existe y que tiene acceso a él. - No se puede crear el directorio '[2]'. Ya existe un archivo con este nombre. Cambie el nombre del archivo o quítelo y haga clic en Reintentar, o bien haga clic en Cancelar para salir. - El volumen [2] no está disponible en este momento. Seleccione otro volumen. - La ruta de acceso especificada, '[2]', no está disponible. - No se puede escribir en la carpeta especificada: [2]. - Error de red al intentar leer el archivo: [2] - Error al intentar crear el directorio: [2] - Error de red al intentar crear el directorio: [2] - Error de red al intentar abrir el archivo .CAB de origen: [2] - La ruta de acceso especificada es demasiado larga: [2] - El instalador no tiene suficientes privilegios para modificar el archivo [2]. - Una parte de la ruta de acceso a la carpeta '[2]' no es válida. Puede que esté vacía o que supere la longitud máxima permitida por el sistema. - La ruta de acceso a la carpeta '[2]' contiene palabras no válidas para rutas de acceso a carpetas. - La ruta de acceso a la carpeta '[2]' contiene un carácter no válido. - '[2]' no es un nombre corto de archivo válido. - Error al obtener la seguridad del archivo: [3] GetLastError: [2] - Unidad no válida: [2] - Error al aplicar la revisión al archivo [2]. Probablemente el archivo se ha actualizado por otros medios y esta revisión ya no puede modificarlo. Para obtener más información, póngase en contacto con el proveedor de la revisión. {{Error del sistema: [3]}} - No se puede instalar un archivo necesario porque el archivo .CAB [2] no está firmado digitalmente. Puede ser un síntoma de que el archivo .CAB está dañado. - No se puede instalar un archivo necesario porque el archivo .CAB [2] tiene una firma digital no válida. Puede ser un síntoma de que el archivo .CAB está dañado.{{ WinVerifyTrust devolvió el error [3].}} - No se pudo copiar correctamente el archivo [2]: error de CRC. - No se pudo mover correctamente el archivo [2]: error de CRC. - No se pudo aplicar correctamente la revisión al archivo [2]: error de CRC. - No se puede instalar el archivo '[2]' porque no se encuentra en el archivo .CAB '[3]'. Esto puede indicar un error en la red, un error de lectura del CD-ROM o un problema con este paquete. - El archivo .CAB '[2]' requerido por esta instalación está dañado y no puede usarse. Esto puede indicar un error en la red, un error de lectura del CD-ROM o un problema con este paquete. - Error al crear un archivo temporal necesario para completar esta instalación.{{ Carpeta: [3]. Código de error del sistema: [2]}} - No se pudo crear la clave [2]. {{ Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo abrir la clave [2]. {{ Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo eliminar el valor [2] de la clave [3]. {{Error del sistema [4].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo eliminar la clave [2]. {{Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo leer el valor [2] de la clave [3]. {{Error del sistema [4].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo escribir el valor [2] en la clave [3]. {{Error del sistema [4].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudieron obtener los nombres de los valores para la clave [2]. {{Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudieron obtener los nombres de las subclaves de la clave [2]. {{Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo leer la información de seguridad de la clave [2]. {{Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo aumentar el espacio disponible en el Registro. Para instalar esta aplicación se requieren [2] KB de espacio disponible en el Registro. - Ya hay otra instalación en curso. Debe completar esa instalación antes de continuar con esta. - Error al obtener acceso a los datos protegidos. Asegúrese de que Windows Installer está configurado correctamente y vuelva a intentar la instalación. - El usuario '[2]' ha iniciado previamente una instalación del producto '[3]'. Ese usuario deberá ejecutar de nuevo esa instalación para poder usar el producto. Ahora continuará la instalación actual. - El usuario '[2]' ha iniciado previamente una instalación del producto '[3]'. Ese usuario deberá ejecutar de nuevo esa instalación para poder usar el producto. - Espacio en disco insuficiente -- Volumen: '[2]'; espacio necesario: [3] KB; espacio disponible: [4] KB. Libere espacio en disco e inténtelo de nuevo. - ¿Está seguro de que desea cancelar? - El archivo [2][3] está siendo utilizado{ por el siguiente proceso: nombre: [4], id.: [5], título de ventana: '[6]'}. Cierre la aplicación e inténtelo de nuevo. - El producto [2] ya está instalado, lo que impide que se instale este producto, puesto que ambos son incompatibles entre sí. - Espacio en disco insuficiente en el volumen '[2]' para continuar la instalación con recuperación habilitada. Se requieren [3] KB, pero solo [4] KB están disponibles. Haga clic en Ignorar para continuar con la instalación sin guardar la información de recuperación, haga clic en Reintentar para comprobar el espacio disponible de nuevo o haga clic en Cancelar para salir de la instalación. - No se pudo obtener acceso a la ubicación de red [2]. - Se deben cerrar las siguientes aplicaciones antes de continuar con la instalación: - No se encontró ningún producto compatible instalado en el equipo para poder instalar este producto. - Error al aplicar la configuración de seguridad. [2] no es un usuario o grupo válido. Es posible que haya un problema con el paquete o no se pueda conectar al controlador de dominio en la red. Compruebe la conexión de red y haga clic en Reintentar, o haga clic en Cancelar para terminar la instalación. {{No se encuentra el SID del usuario, error del sistema [3]}} - La clave [2] no es válida. Compruebe que ha escrito la clave correcta. - El instalador debe reiniciar el sistema para que la configuración de [2] pueda continuar. Haga clic en Sí para reiniciar el sistema ahora o No si pretende reiniciarlo manualmente más tarde. - Debe reiniciar el sistema para que los cambios de configuración efectuados en [2] surtan efecto. Haga clic en Sí para reiniciar el sistema ahora o elija No si tiene previsto reiniciarlo manualmente más tarde. - Actualmente hay una instalación de [2] suspendida. Para continuar debe deshacer los cambios realizados por esa instalación. ¿Desea deshacer los cambios? - Ya hay una instalación anterior de este producto en curso. Para continuar debe deshacer los cambios realizados por esa instalación. ¿Desea deshacer los cambios? - No se encuentra un paquete de instalación del producto [2]. Vuelva a intentar la instalación usando una copia válida del paquete de instalación "[3]". - La instalación se completó correctamente. - No se puede realizar la instalación. - Producto: [2] -- [3] - Puede restaurar el equipo a su estado anterior o continuar con la instalación más tarde. ¿Desea restaurar el equipo? - Error al escribir la información de instalación en el disco. Asegúrese de que dispone de suficiente espacio en disco y haga clic en Reintentar, o bien haga clic en Cancelar para terminar la instalación. - No se encontraron uno o varios archivos necesarios para restaurar el equipo a su estado anterior. No es posible realizar la restauración. - [2] no puede instalar uno de los productos necesarios. Póngase en contacto con el grupo de soporte técnico. {{Error del sistema: [3].}} - No se puede quitar la versión anterior de [2]. Póngase en contacto con el grupo de soporte técnico. {{Error del sistema: [3].}} - Instalado [2] - Configurado [2] - Quitado [2] - La directiva de firmas digitales rechazó el archivo [2]. - No se pudo obtener acceso al servicio Windows Installer. Es posible que esto ocurra si está ejecutando Windows en modo seguro, o si Windows Installer no está correctamente instalado. Póngase en contacto con el personal de soporte técnico para obtener asistencia. - Hay un problema con este paquete de Windows Installer. No se pudo ejecutar un script necesario para completar la instalación. Póngase en contacto con el personal de soporte técnico o con el proveedor del paquete. {{Acción personalizada [2], error de script [3], [4]: [5] línea [6], columna [7], [8] }} - Hay un problema con este paquete de Windows Installer. No se pudo ejecutar un programa requerido para completar esta instalación. Póngase en contacto con el personal de soporte técnico o el proveedor del paquete. {{Acción: [2], ubicación: [3], comando: [4] }} - Hay un problema con este paquete de Windows Installer. Un programa ejecutado como parte de la instalación no finalizó como se esperaba. Póngase en contacto con el personal de soporte técnico o con el proveedor del paquete. {{Acción [2], ubicación: [3], comando: [4] }} - Hay un problema con este paquete de Windows Installer. No se pudo ejecutar un archivo DLL necesario para completar la instalación. Póngase en contacto con el personal de soporte técnico o con el proveedor del paquete. {{Acción: [2], entrada: [3], biblioteca: [4] }} - La eliminación se completó correctamente. - Error en la eliminación. - El anuncio se completó correctamente. - Error al anunciar. - La configuración se completó correctamente. - Error en la configuración. - Debe ser un administrador para quitar esta aplicación. Para quitarla, inicie sesión como administrador o póngase en contacto con el grupo de soporte técnico para recibir ayuda. - El paquete de instalación de origen del producto [2] no está sincronizado con el paquete del cliente. Vuelva a realizar la instalación utilizando una copia válida del paquete de instalación '[3]'. - Debe reiniciar el equipo para completar la instalación de [2]. Otros usuarios tienen una sesión abierta en este equipo actualmente y es posible que pierdan su trabajo si lo reinicia. ¿Desea reiniciar ahora? - La ruta de acceso [2] no es válida. Escriba una ruta de acceso válida. - Memoria insuficiente. Cierre otras aplicaciones e inténtelo de nuevo. - No hay ningún disco en la unidad [2]. Inserte uno y haga clic en Reintentar, o bien haga clic en Cancelar para volver al volumen previamente seleccionado. - No hay ningún disco en la unidad [2]. Inserte uno y haga clic en Reintentar, o bien haga clic en Cancelar para volver al cuadro de diálogo Examinar y seleccionar un volumen distinto. - La carpeta [2] no existe. Escriba una ruta de acceso a una carpeta existente. - No dispone de privilegios suficientes para leer esta carpeta. - No se pudo determinar una carpeta de destino válida para la instalación. - Error al intentar leer la base de datos de instalación de origen: [2]. - Programando la operación de reinicio: se está cambiando el nombre del archivo [2] a [3]. Para completar la operación se debe reiniciar el equipo. - Programando la operación de reinicio: se está eliminando el archivo [2]. Para completar la operación se debe reiniciar el equipo. - No se pudo registrar el módulo [2]. HRESULT [3]. Póngase en contacto con el personal de soporte técnico. - No se pudo eliminar el módulo [2] del Registro. HRESULT [3]. Póngase en contacto con el personal de soporte técnico. - No se pudo almacenar el paquete [2] en la memoria caché. Error: [3]. Póngase en contacto con el personal de soporte técnico. - No se pudo registrar la fuente [2]. Compruebe que dispone de suficientes permisos para instalar fuentes y que el sistema admite esta fuente. - No se pudo eliminar del Registro la fuente [2]. Compruebe que dispone de suficientes permisos para quitar fuentes. - No se pudo crear el acceso directo [2]. Compruebe que la carpeta de destino existe y que puede obtener acceso a ella. - No se pudo quitar el acceso directo [2]. Compruebe que el archivo de acceso directo existe y que puede obtener acceso a él. - No se pudo registrar la biblioteca de tipos para el archivo [2]. Póngase en contacto con el personal de soporte técnico. - No se pudo eliminar del Registro la biblioteca de tipos del archivo [2]. Póngase en contacto con el personal de soporte técnico. - No se pudo actualizar el archivo INI [2][3]. Compruebe que el archivo existe y que tiene acceso a él. - No se pudo programar el archivo [2] para que reemplace al archivo [3] cuando se reinicie el sistema. Compruebe que dispone de permisos de escritura para el archivo [3]. - Error al quitar el administrador de controladores ODBC; error de ODBC [2]: [3]. Póngase en contacto con el personal de soporte técnico. - Error al instalar el administrador de controladores ODBC; error de ODBC [2]: [3]. Póngase en contacto con el personal de soporte técnico. - Error al quitar el controlador ODBC [4]; error de ODBC [2]: [3]. Compruebe que dispone de suficientes privilegios para quitar controladores ODBC. - Error al instalar el controlador ODBC [4]; error de ODBC [2]: [3]. Compruebe que el archivo [4] existe y que puede obtener acceso a él. - Error al configurar el origen de datos de ODBC [4]; error de ODBC [2]: [3]. Compruebe que el archivo [4] existe y que puede obtener acceso a él. - No se pudo iniciar el servicio '[2]' ([3]). Compruebe que dispone de suficientes privilegios para iniciar servicios del sistema. - No se pudo detener el servicio '[2]' ([3]). Compruebe que dispone de suficientes privilegios para detener servicios del sistema. - No se pudo eliminar el servicio '[2]' ([3]). Compruebe que dispone de suficientes privilegios para quitar servicios del sistema. - No se pudo instalar el servicio '[2]' ([3]). Compruebe que dispone de suficientes privilegios para instalar servicios del sistema. - No se pudo actualizar la variable de entorno '[2]'. Compruebe que dispone de suficientes privilegios para modificar variables de entorno. - No dispone de privilegios suficientes para completar esta instalación para todos los usuarios del equipo. Inicie sesión como administrador y vuelva a ejecutar la instalación. - No se pudo establecer la seguridad del archivo '[3]'. Error: [2]. Compruebe que dispone de suficientes privilegios para modificar los permisos de seguridad de este archivo. - Los servicios de componentes (COM+ 1.0) no están instalados en este sistema. Estos servicios de componentes son necesarios para que la instalación se complete correctamente. Encontrará dichos servicios en Windows 2000. - Error al registrar la aplicación COM+. Póngase en contacto con el personal de soporte técnico para obtener más información. - Error al eliminar la aplicación COM+ del Registro. Póngase en contacto con el personal de soporte técnico para obtener más información. - No se pudo cambiar la descripción del servicio "[2]" ([3]). - El servicio Windows Installer no puede actualizar el archivo de sistema [2] porque está protegido por Windows. Puede que necesite actualizar el sistema operativo para que este programa funcione correctamente. {{Versión de paquete: [3], versión protegida del sistema operativo: [4]}} - El servicio Windows Installer no puede actualizar el archivo protegido de Windows [2]. {{Versión de paquete: [3], versión protegida del SO: [4], error SFP: [5]}} - El servicio Windows Installer no puede actualizar uno o varios de los archivos protegidos de Windows. {{Error SFP: [2]. Lista de archivos protegidos:\r\n[3]}} - Las instalaciones de usuario están deshabilitadas debido a la directiva del equipo. - Error durante la instalación del ensamblado '[6]'. Consulte la Ayuda y soporte técnico para obtener más información. HRESULT: [3]. {{interfaz de ensamblado: [4], función: [5], componente: [2]}} - Error al instalar el ensamblado '[6]'. El ensamblado no tiene un nombre seguro o no está firmado con la longitud de clave mínima. HRESULT: [3]. {{interfaz de ensamblado: [4], función: [5], componente: [2]}} - Error al instalar el ensamblado '[6]'. No se pudo comprobar la firma o el catálogo, o no son válidos. HRESULT: [3]. {{interfaz de ensamblado: [4], función: [5], componente: [2]}} - Error al instalar el ensamblado '[6]'. No se encontró uno o más módulos del ensamblado. HRESULT: [3]. {{interfaz de ensamblado: [4], función: [5], componente: [2]}} - - Bytes - GB - KB - MB - La característica completa no estará disponible. - La característica se instalará cuando se solicite. - La característica completa se instalará para ejecutarse desde el CD. - La característica completa se instalará en la unidad de disco duro local. - La característica completa se instalará para ejecutarse desde la red. - Se instalará para ejecutarse desde el CD. - Se instalará en la unidad de disco duro local. - Se instalará para ejecutarse desde la red. - Carpeta|Carpeta nueva - Obteniendo información necesaria... - Esta característica no se instalará. - Esta característica se configurará para instalarse cuando se solicite. - Esta característica se instalará para ejecutarse desde el CD. - Esta característica se instalará en la unidad de disco duro local. - Esta característica se instalará para ejecutarse desde la red. - Esta característica dejará de estar disponible. - Se instalará cuando se solicite. - Esta característica estará disponible para ejecutarse desde el CD. - Esta característica se instalará en la unidad de disco duro local. - Esta característica estará disponible para ejecutarse desde la red. - Esta característica se desinstalará por completo y no podrá ejecutarla desde el CD. - Esta característica dejará de ejecutarse desde el CD y se instalará cuando se solicite. - Esta característica continuará ejecutándose desde el CD. - Esta característica dejará de ejecutarse desde el CD y se instalará en la unidad de disco duro local. - Esta característica libera [1] del disco duro. - Esta característica necesita [1] del disco duro. - Calculando el espacio necesario para esta característica... - Esta característica se quitará por completo. - Esta característica se quitará del disco duro local, pero se configurará para instalarse cuando se solicite. - Esta característica se quitará de la unidad de disco duro local, pero podrá ejecutarse desde el CD. - Esta característica permanecerá en la unidad de disco duro local. - Esta característica se quitará de la unidad de disco duro local, pero podrá ejecutarse desde la red. - Esta característica se desinstalará por completo y no podrá ejecutarla desde la red. - Esta característica dejará de ejecutarse desde la red y se instalará cuando se solicite. - Esta característica dejará de ejecutarse desde la red y se instalará en la unidad de disco duro local. - Esta característica se podrá ejecutar desde la red. - Esta característica libera [1] del disco duro. Tiene [2] de [3] subcaracterísticas seleccionadas. Las subcaracterísticas liberan [4] del disco duro. - Esta característica libera [1] del disco duro. Tiene [2] de [3] subcaracterísticas seleccionadas. Las subcaracterísticas necesitan [4] del disco duro. - Esta característica necesita [1] del disco duro. Tiene [2] de [3] subcaracterísticas seleccionadas. Las subcaracterísticas liberan [4] del disco duro. - Esta característica necesita [1] del disco duro. Tiene [2] de [3] subcaracterísticas seleccionadas. Las subcaracterísticas necesitan [4] del disco duro. - Quedan: {[1] minutos }{[2] segundos} - Disponible - Diferencia - Necesario - Tamaño del disco - Volumen - diff --git a/Src/Localization/Spanish/images/OpenShell.png b/Src/Localization/Spanish/images/OpenShell.png deleted file mode 100644 index 1c17868..0000000 Binary files a/Src/Localization/Spanish/images/OpenShell.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/acc_locked.png b/Src/Localization/Spanish/images/acc_locked.png deleted file mode 100644 index 0dd5dc9..0000000 Binary files a/Src/Localization/Spanish/images/acc_locked.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/after.png b/Src/Localization/Spanish/images/after.png deleted file mode 100644 index bdb89f9..0000000 Binary files a/Src/Localization/Spanish/images/after.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/before.png b/Src/Localization/Spanish/images/before.png deleted file mode 100644 index 62f32e9..0000000 Binary files a/Src/Localization/Spanish/images/before.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/button_images.png b/Src/Localization/Spanish/images/button_images.png deleted file mode 100644 index e8bfa32..0000000 Binary files a/Src/Localization/Spanish/images/button_images.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/button_settings.png b/Src/Localization/Spanish/images/button_settings.png deleted file mode 100644 index 8dcb650..0000000 Binary files a/Src/Localization/Spanish/images/button_settings.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/customize_menu.png b/Src/Localization/Spanish/images/customize_menu.png deleted file mode 100644 index ef06aab..0000000 Binary files a/Src/Localization/Spanish/images/customize_menu.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/explorer_settings.png b/Src/Localization/Spanish/images/explorer_settings.png deleted file mode 100644 index d1d2c15..0000000 Binary files a/Src/Localization/Spanish/images/explorer_settings.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/ie9_caption.png b/Src/Localization/Spanish/images/ie9_caption.png deleted file mode 100644 index 5d853f7..0000000 Binary files a/Src/Localization/Spanish/images/ie9_caption.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/ie9_settings.png b/Src/Localization/Spanish/images/ie9_settings.png deleted file mode 100644 index 47342d5..0000000 Binary files a/Src/Localization/Spanish/images/ie9_settings.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/ie9_status.png b/Src/Localization/Spanish/images/ie9_status.png deleted file mode 100644 index ebfb297..0000000 Binary files a/Src/Localization/Spanish/images/ie9_status.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/item_settings.png b/Src/Localization/Spanish/images/item_settings.png deleted file mode 100644 index d978eb3..0000000 Binary files a/Src/Localization/Spanish/images/item_settings.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/menu_settings.png b/Src/Localization/Spanish/images/menu_settings.png deleted file mode 100644 index 6d99c16..0000000 Binary files a/Src/Localization/Spanish/images/menu_settings.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/search1.png b/Src/Localization/Spanish/images/search1.png deleted file mode 100644 index 9c3b512..0000000 Binary files a/Src/Localization/Spanish/images/search1.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/search2.png b/Src/Localization/Spanish/images/search2.png deleted file mode 100644 index 049f69e..0000000 Binary files a/Src/Localization/Spanish/images/search2.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/search3.png b/Src/Localization/Spanish/images/search3.png deleted file mode 100644 index 9de67eb..0000000 Binary files a/Src/Localization/Spanish/images/search3.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/settings1.png b/Src/Localization/Spanish/images/settings1.png deleted file mode 100644 index fbbb6ff..0000000 Binary files a/Src/Localization/Spanish/images/settings1.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/settings2.png b/Src/Localization/Spanish/images/settings2.png deleted file mode 100644 index 45c8d55..0000000 Binary files a/Src/Localization/Spanish/images/settings2.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/settings3.png b/Src/Localization/Spanish/images/settings3.png deleted file mode 100644 index c72ae67..0000000 Binary files a/Src/Localization/Spanish/images/settings3.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/settings4.png b/Src/Localization/Spanish/images/settings4.png deleted file mode 100644 index a2ebb4a..0000000 Binary files a/Src/Localization/Spanish/images/settings4.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/settings5.png b/Src/Localization/Spanish/images/settings5.png deleted file mode 100644 index f4b0c0c..0000000 Binary files a/Src/Localization/Spanish/images/settings5.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/settings_disable_ex.png b/Src/Localization/Spanish/images/settings_disable_ex.png deleted file mode 100644 index 4bb572d..0000000 Binary files a/Src/Localization/Spanish/images/settings_disable_ex.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/settings_disable_ie9.png b/Src/Localization/Spanish/images/settings_disable_ie9.png deleted file mode 100644 index 352b100..0000000 Binary files a/Src/Localization/Spanish/images/settings_disable_ie9.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/settings_disable_sm.png b/Src/Localization/Spanish/images/settings_disable_sm.png deleted file mode 100644 index d65b65a..0000000 Binary files a/Src/Localization/Spanish/images/settings_disable_sm.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/skins.gif b/Src/Localization/Spanish/images/skins.gif deleted file mode 100644 index c9a26cf..0000000 Binary files a/Src/Localization/Spanish/images/skins.gif and /dev/null differ diff --git a/Src/Localization/Spanish/images/statusbar.png b/Src/Localization/Spanish/images/statusbar.png deleted file mode 100644 index e9cfc00..0000000 Binary files a/Src/Localization/Spanish/images/statusbar.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/style1.png b/Src/Localization/Spanish/images/style1.png deleted file mode 100644 index 02cf5be..0000000 Binary files a/Src/Localization/Spanish/images/style1.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/style2.png b/Src/Localization/Spanish/images/style2.png deleted file mode 100644 index 9bbd1d1..0000000 Binary files a/Src/Localization/Spanish/images/style2.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/style3.png b/Src/Localization/Spanish/images/style3.png deleted file mode 100644 index 67a4f0f..0000000 Binary files a/Src/Localization/Spanish/images/style3.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/titlebar.png b/Src/Localization/Spanish/images/titlebar.png deleted file mode 100644 index bbad38b..0000000 Binary files a/Src/Localization/Spanish/images/titlebar.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/toolbar.png b/Src/Localization/Spanish/images/toolbar.png deleted file mode 100644 index 7a23fbe..0000000 Binary files a/Src/Localization/Spanish/images/toolbar.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/toolbar_settings.png b/Src/Localization/Spanish/images/toolbar_settings.png deleted file mode 100644 index 93416f2..0000000 Binary files a/Src/Localization/Spanish/images/toolbar_settings.png and /dev/null differ diff --git a/Src/Localization/Spanish/images/up_locked.png b/Src/Localization/Spanish/images/up_locked.png deleted file mode 100644 index e1284d8..0000000 Binary files a/Src/Localization/Spanish/images/up_locked.png and /dev/null differ diff --git a/Src/Localization/Swedish/ClassicExplorerADMX.txt b/Src/Localization/Swedish/ClassicExplorerADMX.txt deleted file mode 100644 index 5ca8ad1..0000000 --- a/Src/Localization/Swedish/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell inställningar -State.text = Läge: -State1.text = Låst till detta värde -State2.text = Låst till standard -State3.text = Olåst -State1Help.text = Om du ställer in läget på 'Låst till detta värde', kommer inställningen att vara låst till det angivna värdet för alla användare. -State2Help.text = Om du ställer in läget på 'Låst till standard', kommer inställningen att vara låst till standardvärdet för alla användare. Det angivna värdet ignoreras. -State3Help.text = Om du ställer in läget på 'Olåst', kommer standardvärdet för inställningen ändras till det angivna värdet. Enskilda användare kan åsidosätta inställningen. - -ClassicExplorerCat.text = Classic Explorer -ClassicExplorerCatHelp.text = Classic Explorer grupp policyinställningar -SUPPORTED_CS404.text = Kräver Open-Shell 4.0.4 eller senare. -SUPPORTED_CS404_WIN7.text = Kräver Windows 7. -SUPPORTED_CS404_WIN881.text = Kräver Windows 8 eller Windows 8.1. - -AddressAltD.nameOverride = Extra genväg för adressfältet -AddressAltD.tipOverride = Skriv in en bokstav 'A' till 'Z' för att vara en genväg till adressfältet i kombination med Alt-tangenten -EnableSettings.nameOverride = Aktivera inställningar -EnableSettings.tipOverride = Gör det möjligt för användare att redigera sina egna inställningar -ProcessWhiteList.nameOverride = Processa vita listan -ProcessWhiteList.tipOverride = Lista över processer som kan ladda Classic Explorer. Använd endast filnamnet av processen (som "notepad.exe"), separera flera namn med komma eller semikolon. -ProcessBlackList.nameOverride = Processa svarta listan -ProcessBlackList.tipOverride = Lista över processer som inte kommer att ladda Classic Explorer. Använd endast filnamnet av processen (som "notepad.exe"), separera flera namn med komma eller semikolon. -ToolbarItems.nameOverride = Verktygsknappar -ToolbarItems.tipOverride = Välj de knappar som ska visas i verktygsfältet.\nDet bästa sättet att få den rätta strängen är att konfigurera knapparna i Classic Explorer dialogrutan Inställningar och sedan leta upp värdet med namnet ToolbarItems in HKCU\Software\OpenShell\ClassicExplorer\Settings - - -; os-specific -FileExplorer.nameOverride = Aktivera dialogrutor endast i Utforskaren (förbättrar prestanda) diff --git a/Src/Localization/Swedish/ClassicIEADMX.txt b/Src/Localization/Swedish/ClassicIEADMX.txt deleted file mode 100644 index 71ed5ab..0000000 --- a/Src/Localization/Swedish/ClassicIEADMX.txt +++ /dev/null @@ -1,25 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn=never - - - -; TRANSLATE =================================================================== - -Title.text = Open-Shell inställningar -State.text = Läge: -State1.text = Låst till detta värde -State2.text = Låst till standard -State3.text = Olåst -State1Help.text = Om du ställer in läget på 'Låst till detta värde', kommer inställningen att vara låst till det angivna värdet för alla användare. -State2Help.text = Om du ställer in läget på 'Låst till standard', kommer inställningen att vara låst till standardvärdet för alla användare. Det angivna värdet ignoreras. -State3Help.text = Om du ställer in läget på 'Olåst', kommer standardvärdet för inställningen ändras till det angivna värdet. Enskilda användare kan åsidosätta inställningen. -ClassicIECat.text = Classic IE -ClassicIECatHelp.text = Classic IE grupp policyinställningar -SUPPORTED_CS404.text = Kräver Open-Shell 4.0.4 eller senare. -SUPPORTED_IE9.text = Kräver Internet Explorer 9 eller senare. - - -EnableSettings.nameOverride = Aktivera inställningar -EnableSettings.tipOverride = Gör det möjligt för användare att redigera sina egna inställningar -CaptionFont.tipAddition = .\n\nFormatet är , , . Till exempel "Segoe UI, normal, 9" diff --git a/Src/Localization/Swedish/MenuADMX.txt b/Src/Localization/Swedish/MenuADMX.txt deleted file mode 100644 index ca373d6..0000000 --- a/Src/Localization/Swedish/MenuADMX.txt +++ /dev/null @@ -1,192 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Open-Shell inställningar -State.text = Läge: -State1.text = Låst till detta värde -State2.text = Låst till standard -State3.text = Olåst -State1Help.text = Om du ställer in läget på 'Låst till detta värde', kommer inställningen att vara låst till det angivna värdet för alla användare. -State2Help.text = Om du ställer in läget på 'Låst till standard', kommer inställningen att vara låst till standardvärdet för alla användare. Det angivna värdet ignoreras. -State3Help.text = Om du ställer in läget på 'Olåst', kommer standardvärdet för inställningen ändras till det angivna värdet. Enskilda användare kan åsidosätta inställningen. - -MenuCat.text = Klassisk Start Meny -MenuCatHelp.text = Klassisk Start Meny grupp policyinställningar -SUPPORTED_CS404.text = Kräver Open-Shell 4.0.4 eller senare. -SUPPORTED_CS404_WIN7.text = Kräver Windows 7. -SUPPORTED_CS404_WIN78.text = Kräver Windows 7 eller Windows 8. -SUPPORTED_CS404_WIN781.text = Kräver Windows 7 eller Windows 8.1. -SUPPORTED_CS404_WIN8.text = Kräver Windows 8. -SUPPORTED_CS404_WIN881.text = Kräver Windows 8 eller Windows 8.1. -SUPPORTED_CS404_WIN81.text = Kräver Windows 8.1. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Kräver Klassisk meny stil med en kolumn. -SUPPORTED_CS404_CLASSIC2_STYLE.text = Kräver Klassisk meny stil med två kolumner. -SUPPORTED_CS404_CLASSIC_STYLE.text = Kräver Klassisk meny stil. -SUPPORTED_CS404_WIN7_STYLE.text = Kräver Windows 7 meny stil. - - -EnableSettings.nameOverride = Aktivera inställningar -EnableSettings.tipOverride = Gör det möjligt för användare att redigera sina egna inställningar - -MenuStyle.nameOverride = Meny stil -MenuStyle.tipOverride = Välj stil för startmenyn.\nStilen bestämmer det övergripande utseendet och funktioner i menyn. -MenuStyle_Classic1.nameOverride = Klassisk med en kolumn -MenuStyle_Classic2.nameOverride = Klassisk med två kolumner -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Vänsterklick öppnar -ShiftClick.nameOverride = Shift+Klick öppnar -WinKey.nameOverride = Windows-tangenten öppnar -ShiftWin.nameOverride = Shift+Win öppnar -MiddleClick.nameOverride = Mittenklick öppnar -Hover.nameOverride = Hover öppnar - -; skins -SkinC1.nameOverride = Skin för klassisk meny med en kolumn -SkinC1.tipOverride = Välj skin som ska användas av den klassiska stilen med en kolumn -SkinVariationC1.nameOverride = Skin variation för klassisk meny med en kolumn -SkinVariationC1.tipOverride = Välj skin variationen som ska användas av den klassiska stilen med en kolumn (för skinn som stöder flera varianter) -SkinOptionsC1.nameOverride = Skin alternativ för klassisk meny med en kolumn -SkinOptionsC1.tipOverride = Välj skin alternativ som ska användas av den klassiska stilen med en kolumn.\nAlternativen är en lista med hexadecimala tal. Det bästa sättet att få den rätta strängen är att justera alternativen i Klassisk Start Menyinställningar och sedan leta upp värdet med namnet SkinOptionsC1 i HKCU\Software\OpenShell\StartMenu\Settings -MenuItems1.nameOverride = Menyalternativ för klassisk meny med en kolumn -MenuItems1.tipOverride = Välj menypunkter som ska användas av den klassiska stilen med en kolumn.\nDet bästa sättet att få den rätta strängen är att konfigurera poster i Klassisk Start Menyinställningar och sedan leta upp värdet med namnet MenuItems1 in HKCU\Software\OpenShell\StartMenu\Settings -SkinC2.nameOverride = Skin för klassisk meny med två kolumner -SkinC2.tipOverride = Välj skin som ska användas av den klassiska stilen med två kolumner -SkinVariationC2.nameOverride = Skin variation för klassisk meny med två kolumner -SkinVariationC2.tipOverride = Välj skin variationen som ska användas av den klassiska stilen med två kolumner (för skin som stöder flera varianter) -SkinOptionsC2.nameOverride = Skin alternativ för klassisk meny med två kolumner -SkinOptionsC2.tipOverride = Välj skin alternativ som ska användas av den klassiska stilen med två kolumner.\nAlternativen är en lista med hexadecimala tal. Det bästa sättet att få dem är att justera alternativen i Klassisk Start Menyinställningar och sedan leta upp värdet med namnet SkinOptionsC2 i HKCU\Software\OpenShell\StartMenu\Settings -MenuItems2.nameOverride = Menyalternativ för klassisk meny med två kolumner -MenuItems2.tipOverride = Välj menypunkter som ska användas av den klassiska stilen med två kolumner.\nDet bästa sättet att få den rätta strängen är att konfigurera poster i Klassisk Start Menyinställningar och sedan leta upp värdet med namnet MenuItems2 in HKCU\Software\OpenShell\StartMenu\Settings -SkinW7.nameOverride = Skin för Windows 7 stil -SkinW7.tipOverride = Välj skin som ska användas av Windows 7 stil -SkinVariationW7.nameOverride = Skin variation för Windows 7 stil -SkinVariationW7.tipOverride = Välj skin variationen som ska användas av Windows 7 stil (för skinn som stöder flera varianter) -SkinOptionsW7.nameOverride = Skin alternativ för Windows 7 stil -SkinOptionsW7.tipOverride = Välj skin alternativ som ska användas av Windows 7 stil.\nAlternativen är en lista med hexadecimala tal. Det bästa sättet att få dem är att justera alternativen i Klassisk Start Menyinställningar och sedan leta upp värdet med namnet SkinOptionsW7 in HKCU\Software\OpenShell\StartMenu\Settings -MenuItems7.nameOverride = Menyalternativ för Windows 7 stil -MenuItems7.tipOverride = Välj menypunkter som ska användas av Windows 7 stil.\nDet bästa sättet att få den rätta strängen är att konfigurera poster i Klassisk Start Menyinställningar och sedan leta upp värdet med namnet MenuItems7 in HKCU\Software\OpenShell\StartMenu\Settings - -; windows 7 -SkinA.nameOverride = Skin för Alla program undermenyn för Windows 7 startmeny -SkinA.tipOverride = Välj skin som ska användas av alla program undermenyn för Windows 7 startmeny -SkinVariationA.nameOverride = Skin variation för Alla program undermenyn för Windows 7 startmeny -SkinVariationA.tipOverride = Välj skin variationen som ska användas av alla program undermenyn för Windows 7 startmeny (för skinn som stöder flera varianter) -SkinOptionsA.nameOverride = Skin options for the All Programs sub-menu for the Windows 7 start menu -SkinOptionsA.tipOverride = Välj alternativt skin som ska användas av Alla program undermenyn för Windows 7 startmeny.\nAlternativen är en lista med hexadecimala tal. Det bästa sättet att få dem är att justera alternativen i Klassisk Start Menyinställningar och sedan leta upp värdet med namnet SkinOptionsA in HKCU\Software\OpenShell\StartMenu\Settings - -; metro inställning -SkipMetro.tipAddition = Den här inställningen fungerar inte för Windows 8.1. Du måste använda den inbyggda Windows inställningen för att starta upp på skrivbordet - -; dold -FolderStartMenu.nameOverride = Startmeny mappen -FolderStartMenu.tipOverride = Ange åsidosättning för Startmeny mappen(åsidosätter även Program mappen).\nSökvägen kan innehålla systemvariabler.\nOBS: Denna inställning är inte redigerbar från dialogrutan Inställningar -FolderPrograms.nameOverride = Program mapp -FolderPrograms.tipOverride = Ange åsidosättning för Program mappen.\nSökvägen kan innehålla systemvariabler.\nOBS: Denna inställning är inte redigerbar från dialogrutan Inställningar -FolderCommonStartMenu.nameOverride = Delade Startmeny mapp -FolderCommonStartMenu.tipOverride = Ange åsidosättning för Delade startmeny mapp (åsidosätter även Delade Program mapp).\nSökvägen kan innehålla systemvariabler.\nOBS: Denna inställning är inte redigerbar från dialogrutan Inställningar -FolderCommonPrograms.nameOverride = Delade Program mapp -FolderCommonPrograms.tipOverride = Ange åsidosättning för Delade Program mapp.\nSökvägen kan innehålla systemvariabler.\nOBS: Denna inställning är inte redigerbar från dialogrutan Inställningar -AutoStartDelay.nameOverride = Auto-startfördröjning -AutoStartDelay.tipOverride = Ange en fördröjning i ms när du startar startmenyn automatiskt vid inloggning (gäller inte vid manuellt start genom att köra StartMenu.exe).\nOBS: Denna inställning är inte redigerbar från dialogrutan Inställningar - -; övriga -StartButtonIcon.tipAddition = Värdet kan vara en väg till en ICO-fil eller en sökväg till en EXE / DLL och en ID på ikon -StartButtonPath.tipAddition = Värdet är en fullständig sökväg till BMP eller PNG -SoundMain.tipAddition = Värdet kan vara ett namn på en systemhändelse eller en sökväg till en WAV-fil -SoundPopup.tipAddition = Värdet kan vara ett namn på en systemhändelse eller en sökväg till en WAV-fil -SoundCommand.tipAddition = Värdet kan vara ett namn på en systemhändelse eller en sökväg till en WAV-fil -SoundDrop.tipAddition = Värdet kan vara ett namn på en systemhändelse eller en sökväg till en WAV-fil -ExpandFolderLinks.tipAddition = Fungerar bara för symboliska länkar (som knutpunkt) och inte för vanliga genvägar -StartHoverDelay.nameOverride = Hover fördröjning (för Start-knappen) -AllProgramsDelay.nameOverride = Hover fördröjning (för alla program i Windows 7) -CSMHotkey.tipAddition = .\n\nBas värdet är huvudnyckeln i virtuell kod. Lägg till 256 för Shift, 512 för Ctrl och 1024 för Alt.\nDet bästa sättet att få värdet är att välja snabbtangenten i Klassisk Start Menyinställningar och sedan leta upp värdet med namnet CSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings -WSMHotkey.tipAddition = .\n\nBas värdet är huvudnyckeln i virtuell kod. Lägg till 256 för Shift, 512 för Ctrl och 1024 för Alt.\nDet bästa sättet att få värdet är att välja snabbtangenten i Klassisk Start Menyinställningar och sedan leta upp värdet med namnet WSMHotkey in HKCU\Software\OpenShell\StartMenu\Settings diff --git a/Src/Localization/Swedish/OpenShellADMX.txt b/Src/Localization/Swedish/OpenShellADMX.txt deleted file mode 100644 index eba1e3e..0000000 --- a/Src/Localization/Swedish/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Open-Shell inställningar -State.text = Läge: -State1.text = Låst till detta värde -State2.text = Låst till standard -State3.text = Olåst -State1Help.text = Om du ställer in läget på 'Låst till detta värde', kommer inställningen att vara låst till det angivna värdet för alla användare. -State2Help.text = Om du ställer in läget på 'Låst till standard', kommer inställningen att vara låst till standardvärdet för alla användare. Det angivna värdet ignoreras. -State3Help.text = Om du ställer in läget på 'Olåst', kommer standardvärdet för inställningen ändras till det angivna värdet. Enskilda användare kan åsidosätta inställningen. - -OpenShellCat.text = Open-Shell -OpenShellCatHelp.text = Open-Shell grupp policyinställningar -SUPPORTED_CS404.text = Kräver Open-Shell 4.0.4 eller senare. - -Language.nameOverride = Språk för Open-Shell komponenter -Language.tipOverride = Välj det språk som ska användas av Open-Shell (till exempel en-US eller de-DE). Språket kommer att påverka texten i startmenyn, verktygsfält, etc. Om önskad språk DLL har installerats, inställningar i UI också översättas -Update.nameOverride = Aktivera automatiska kontroller för nya versioner -Update.tipOverride = När markerad, kommer Open-Shell kolla efter nya versioner varje vecka. Du kommer att meddelas om det finns en ny version av Open-Shell programvara eller en ny uppdatering för ditt nuvarande språk diff --git a/Src/Localization/Turkish/ClassicExplorerADMX.txt b/Src/Localization/Turkish/ClassicExplorerADMX.txt deleted file mode 100644 index f3c4f47..0000000 --- a/Src/Localization/Turkish/ClassicExplorerADMX.txt +++ /dev/null @@ -1,60 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -LogLevel.supportedOn = never -ShowFreeSpace2.supportedOn = never -ShowInfoTip2.supportedOn = never - -; os-specific -ReplaceFileUI.supportedOn = win7 -ReplaceFolderUI.supportedOn = win7 -OverwriteAlertLevel.supportedOn = win7 -EnableMore.supportedOn = win7 -MoreProgressDelay.supportedOn = win7 -FileExplorer.supportedOn = win7 -ShowUpButton.supportedOn = win7 -UpIconNormal.supportedOn = win7 -UpIconPressed.supportedOn = win7 -UpIconHot.supportedOn = win7 -UpIconDisabled.supportedOn = win7 -UpIconSize.supportedOn = win7 -FixFolderScroll.supportedOn = win7 -ForceRefreshWin7.supportedOn = win7 -ShowCaption.supportedOn = win7 -ShowIcon.supportedOn = win7 -ShowStatusBar.supportedOn = win881 -ShowZone.supportedOn = win881 - - - -; TRANSLATE =================================================================== - -Title.text = Klasik Shell ayarları -State.text = Durumu: -State1.text = Bu değere kilitlendi -State2.text = Varsayılana kilitlendi -State3.text = Kilitli değil -State1Help.text = Durum 'Bu değere kilitlendi'ye ayarlıysa, ayar tüm kullanıcılar için belirtilen değere kilitlenir. -State2Help.text = Durum 'Varsayılana kilitlendi'ye ayarlıysa, ayar tüm kullanıcılar için varsayılan değere kilitlenir. Belirtilen değer gözardı edilir. -State3Help.text = Durum 'Kilitli değil'e ayarlıysa, ayarın varsayılan değeri istenen değere değiştirilebilir. Bireysel kullanıcılar ayarı geçersiz kılabilir. - -ClassicExplorerCat.text = Klasik Gezgin -ClassicExplorerCatHelp.text = Klasik Gezgin grup ilkesi ayarları -SUPPORTED_CS404.text = Klasik Shell 4.0.4 veya sonrasını gerektirir. -SUPPORTED_CS404_WIN7.text = Windows 7 gerektirir. -SUPPORTED_CS404_WIN881.text = Windows 8 veya Windows 8.1 gerektirir. - -AddressAltD.nameOverride = Adres çubuğu için ek kısayol -AddressAltD.tipOverride = Adres çubuğunda Alt tuşuyla beraber kullanılacak 'A' dan 'Z'ye bir harf girin -EnableSettings.nameOverride = Ayarları etkinleştir -EnableSettings.tipOverride = Kullanıcıların kendi ayarlarını düzenlemesini etkinleştirir -ProcessWhiteList.nameOverride = İşlemler beyaz listesi -ProcessWhiteList.tipOverride = İşlemler listesi Klasik Gezgin tarafından yüklenecektir. Sadece işlemin dosya adını kullanın ("notepad.exe" gibi), birden çok ismi virgül veya noktalı virgülle ayırın. -ProcessBlackList.nameOverride = İşlemler kara listesi -ProcessBlackList.tipOverride = İşlemler listesi Klasik Gezgin tarafından yüklenmeyecektir. Sadece işlemin dosya adını kullanın ("notepad.exe" gibi), birden çok ismi virgül veya noktalı virgülle ayırın. -ToolbarItems.nameOverride = Araç çubuğu düğmeleri -ToolbarItems.tipOverride = Araç çubuğunda gösterilecek düğmeleri seçin.\nDoğru dizeyi almanın en iyi yolu, Klasik Explorer ayarları iletişim penceresi düğmeleri yapılandırmak ve sonra HKCU\Software\OpenShell\ClassicExplorer\Settings'deki ToolbarItems adlı değere bakmaktır. - - -; os-specific -FileExplorer.nameOverride = İletişim pencerelerini sadece Gezgin'de etkinleştir (performansı arttırır) diff --git a/Src/Localization/Turkish/ClassicIEADMX.txt b/Src/Localization/Turkish/ClassicIEADMX.txt deleted file mode 100644 index d9956e6..0000000 --- a/Src/Localization/Turkish/ClassicIEADMX.txt +++ /dev/null @@ -1,26 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -LogLevel.supportedOn = never - - - -; TRANSLATE =================================================================== - -Title.text = Klasik Shell ayarları -State.text = Durumu: -State1.text = Bu değere kilitlendi -State2.text = Varsayılana kilitlendi -State3.text = Kilitli değil -State1Help.text = Durum 'Bu değere kilitlendi'ye ayarlıysa, ayar tüm kullanıcılar için belirtilen değere kilitlenir. -State2Help.text = Durum 'Varsayılana kilitlendi'ye ayarlıysa, ayar tüm kullanıcılar için varsayılan değere kilitlenir. Belirtilen değer gözardı edilir. -State3Help.text = Durum 'Kilitli değil'e ayarlıysa, ayarın varsayılan değeri istenen değere değiştirilebilir. Bireysel kullanıcılar ayarı geçersiz kılabilir. - -ClassicIECat.text = Klasik IE -ClassicIECatHelp.text = Klasik IE grup ilkesi ayarları -SUPPORTED_CS404.text = Klasik Shell 4.0.4 veya sonrasını gerektirir. -SUPPORTED_IE9.text = Internet Explorer 9 veya sonrasını gerktirir. - - -EnableSettings.nameOverride = Ayarları etkinleştir -EnableSettings.tipOverride = Kullanıcıların kendi ayarlarını düzenlemesini etkinleştirir -CaptionFont.tipAddition = .\n\nBu biçimde olmalı , , . Örneğin "Segoe UI, normal, 9" diff --git a/Src/Localization/Turkish/MenuADMX.txt b/Src/Localization/Turkish/MenuADMX.txt deleted file mode 100644 index ca0ac79..0000000 --- a/Src/Localization/Turkish/MenuADMX.txt +++ /dev/null @@ -1,195 +0,0 @@ -; DON'T TRANSLATE ============================================================= - -; disabled -CrashDump.supportedOn = never -LogLevel.supportedOn = never -OldProgramsAge.supportedOn = never -DefaultMenuStyle.supportedOn = never -MenuItems.supportedOn = never -Skin1.supportedOn = never -SkinOptions1.supportedOn = never -SkinVariation1.supportedOn = never -Skin2.supportedOn = never -SkinVariation2.supportedOn = never -SkinOptions2.supportedOn = never -SkipMetroCount.supportedOn = never -CompatibilityFixes.supportedOn = never - -; skins -SkinC1.supportedOn = classic1 -SkinVariationC1.supportedOn = classic1 -SkinOptionsC1.supportedOn = classic1 -MenuItems1.supportedOn = classic1 -SkinC2.supportedOn = classic2 -SkinVariationC2.supportedOn = classic2 -SkinOptionsC2.supportedOn = classic2 -MenuItems2.supportedOn = classic1 -SkinW7.supportedOn = win7_style -SkinVariationW7.supportedOn = win7_style -SkinOptionsW7.supportedOn = win7_style -MenuItems7.supportedOn = win7_style - -; style-specific -Computer.supportedOn = classic -Favorites.supportedOn = classic -Documents.supportedOn = classic -UserFiles.supportedOn = classic -UserDocuments.supportedOn = classic -UserPictures.supportedOn = classic -ControlPanel.supportedOn = classic -Network.supportedOn = classic -Printers.supportedOn = classic -Shutdown.supportedOn = classic -LogOff.supportedOn = classic -Undock.supportedOn = classic -Search.supportedOn = classic -Help.supportedOn = classic -Run.supportedOn = classic -SearchFilesCommand.supportedOn = classic -SearchResults.supportedOn = classic -SearchResultsMax.supportedOn = classic -MaxMainMenuWidth.supportedOn = classic -MainMenuAnimation.supportedOn = classic -MainMenuAnimationSpeed.supportedOn = classic -MainMenuScrollSpeed.supportedOn = classic -MenuCaption.supportedOn = classic -MenuUsername.supportedOn = classic -ShutdownCommand.supportedOn = win7_style -MinMainHeight.supportedOn = win7_style -ProgramsStyle.supportedOn = win7_style -FoldersFirst.supportedOn = win7_style -OpenPrograms.supportedOn = win7_style -ProgramsMenuDelay.supportedOn = win7_style -ShutdownW7.supportedOn = win7_style -ProgramsWidth.supportedOn = win7_style -JumplistWidth.supportedOn = win7_style - -; windows 7 -CascadeAll.supportedOn = win7 -AllProgramsDelay.supportedOn = win7 -InitiallySelect.supportedOn = win7 -HideUserPic.supportedOn = win7 -SkinA.supportedOn = win7 -SkinVariationA.supportedOn = win7 -SkinOptionsA.supportedOn = win7 - -; metro settings -AllTaskbars.supportedOn = win881 -AllProgramsMetro.supportedOn = win881 -HideProgramsMetro.supportedOn = win881 -RecentMetroApps.supportedOn = win881 -StartScreenShortcut.supportedOn = win881 -SearchMetroApps.supportedOn = win881 -DisableHotCorner.supportedOn = win881 -OpenMouseMonitor.supportedOn = win881 -SkipMetro.supportedOn = win8 - - - -; TRANSLATE =================================================================== - - -Title.text = Klasik Shell ayarları -State.text = Durumu: -State1.text = Bu değere kilitli -State2.text = Varsayılana kilitli -State3.text = Kilitli değil -State1Help.text = Durum 'Bu değere kilitlendi'ye ayarlıysa, ayar tüm kullanıcılar için belirtilen değere kilitlenir. -State2Help.text = Durum 'Varsayılana kilitlendi'ye ayarlıysa, ayar tüm kullanıcılar için varsayılan değere kilitlenir. Belirtilen değer gözardı edilir. -State3Help.text = Durum 'Kilitli değil'e ayarlıysa, ayarın varsayılan değeri istenen değere değiştirilebilir. Bireysel kullanıcılar ayarı geçersiz kılabilir. - -MenuCat.text = Klasik Başlat Menü -MenuCatHelp.text = Klasik Başlat Menü grup ilkesi ayarları -SUPPORTED_CS404.text = Klasik Shell 4.0.4 veya sonrasını gerektirir. -SUPPORTED_CS404_WIN7.text = Windows 7 gerektirir. -SUPPORTED_CS404_WIN78.text = Windows 7 veya Windows 8 gerektirir. -SUPPORTED_CS404_WIN781.text = Windows 7 veya Windows 8.1 gerektirir. -SUPPORTED_CS404_WIN8.text = Windows 8 gerektirir. -SUPPORTED_CS404_WIN881.text = Windows 8 veya Windows 8.1 gerektirir. -SUPPORTED_CS404_WIN81.text = Windows 8.1 gerektirir. -SUPPORTED_CS404_CLASSIC1_STYLE.text = Tek sütunlu Klasik menü tarzı gerektirir. -SUPPORTED_CS404_CLASSIC2_STYLE.text = İki sütunlu Klasik menü tarzı gerektirir. - -SUPPORTED_CS404_CLASSIC_STYLE.text = Klasik menü tarzı gerektirir. - -SUPPORTED_CS404_WIN7_STYLE.text = Windows 7 menü tarzı gerektirir . - - -EnableSettings.nameOverride = Ayarları etkinleştir -EnableSettings.tipOverride = Kullanıcılara kendi ayarlarını düzenlemeyi etkinleştirir - -MenuStyle.nameOverride = Menü tarzı -MenuStyle.tipOverride = Başlat menüsü için tarz seçin.\Tarz menünün genel görünümünü ve işlevselliğini belirler. -MenuStyle_Classic1.nameOverride = Tek sütunlu Klasik -MenuStyle_Classic2.nameOverride = İki sütunlu Klasik -MenuStyle_Win7.nameOverride = Windows 7 - -MouseClick.nameOverride = Sol Tıklama açar -ShiftClick.nameOverride = Shift+Sol Tıklama açar -WinKey.nameOverride = Windows Tuşu açar -ShiftWin.nameOverride = Shift+Win Tuşu açar -MiddleClick.nameOverride = Orta Tıklama açar -Hover.nameOverride = Üzerinde gezinme açar - -; kabuklar -; HKCU = HKEY_CURRENT_USER -SkinC1.nameOverride = Tek sütunlu klasik menü için kabuk -SkinC1.tipOverride = Tek sütunlu klasik tarz tarafından kullanılacak kabuk seçin -SkinVariationC1.nameOverride = Tek sütunlu klasik menü için kabuk farklılaşması -SkinVariationC1.tipOverride = Tek sütunlu klasik tarz tarafından kullanılacak kabuk faklılaşması seçin (birden çok farklılaşma destekleyen kabuklar için) -SkinOptionsC1.nameOverride = Tek sütunlu klasik menü için kabuk seçenekleri -SkinOptionsC1.tipOverride = Tek sütunlu klasik tarz tarafından kullanılacak kabuk seçeneklerini seçin.\nSeçenekler bir hex sayılar listesidir. Bunu almanın en iyi yolu Klasik Başlat Menüsü ayarları iletişim seçeneklerini ayarlamak ve ardından HKCU\Software\OpenShell\StartMenu\Settings'deki SkinOptionsC1 değerine bakmaktır. -MenuItems1.nameOverride = Tek sütunlu klasik menü için Menü öğeleri -MenuItems1.tipOverride = Klasik tarz tarafından kullanılacak Tek sütunlu klasik menü için Menü öğelerini seçin.\Doğru dize almanın en iyi yolu, Klasik Başlat Menüsü ayarları iletişim öğelerini yapılandırmak ve ardından HKCU\Software\OpenShell\StartMenu\Settings'deki MenuItems1 değerine bakmaktır. -SkinC2.nameOverride = İki sütunlu klasik menü için kabuk -SkinC2.tipOverride = İki sütunlu klasik tarz tarafından kullanılacak kabuğu seçin -SkinVariationC2.nameOverride = İki sütunlu klasik menü için kabuk farklılaşması -SkinVariationC2.tipOverride = İki sütunlu klasik tarz tarafından kullanılacak kabuk farklılaşmasını seçin (birden çok farklılaşma destekleyen kabuklar için) -SkinOptionsC2.nameOverride = İki sütunlu klasik menü için kabuk seçenekleri -SkinOptionsC2.tipOverride = İki sütunlu klasik tarz tarafından kullanılacak kabuk seçeneklerini seçin.\nSeçenekler bir hex sayılar listesidir. Onları almanın en iyi yolu, Klasik Başlat Menüsü ayarları iletişim seçeneklerini ayarlamak ve ardından HKCU\Software\OpenShell\StartMenu\Settings'deki SkinOptionsC2 değerine bakmaktır. -MenuItems2.nameOverride = İki sütunlu klasik menü için menü öğeleri -MenuItems2.tipOverride = İki sütunlu klasik tarz tarafından kullanılacak menü öğelerini seçin.\nDoğru dizeyi almanın en iyi yolu, Klasik Başlat Menüsü ayarları iletişim öğeleri yapılandırmak ve ardından HKCU\Software\OpenShell\StartMenu\Settings'deki MenuItems2 değerine bakmaktır. -SkinW7.nameOverride = Windows 7 tarzı için kabuk -SkinW7.tipOverride = Windows 7 tarzı tarafından kullanılacak kabuğu seçin -SkinVariationW7.nameOverride = Windows 7 tarzı için kabuk farklılaşması -SkinVariationW7.tipOverride = Windows 7 tarzı tarafından kullanılacak kabuk farklılaşmasını seçin (birden çok farklılaşma destekleyen kabuklar için) -SkinOptionsW7.nameOverride = Windows 7 tarzı için kabuk seçenekleri -SkinOptionsW7.tipOverride = Windows 7 tarzı tarafından kullanılacak kabuk seçeneklerini seçin.\nSeçenekler bir hex sayılar listesidir. Onları almanın en iyi yolu, Klasik Başlat Menüsü ayarları iletişim seçeneklerini ayarlamak ve ardından HKCU\Software\OpenShell\StartMenu\Settings'deki SkinOptionsW7 değerine bakmaktır. -MenuItems7.nameOverride = Windows 7 tarzı için menü öğeleri -MenuItems7.tipOverride = Windows 7 tarzı tarafından kullanılacak menü öğelerini seçin.\nDoğru dize almanın en iyi yolu, Klasik Başlat Menüsü ayarları iletişim öğeleri yapılandırmak ve ardından HKCU\Software\OpenShell\StartMenu\Settings'deki MenuItems7 değerine bakmaktır. - -; windows 7 -SkinA.nameOverride = Windows 7 başlat menüsündeki Tüm Programlar alt menüsü için kabuk -SkinA.tipOverride = Windows 7 başlat menüsündeki Tüm Programlar alt menüsü tarafından kullanılacak kabuğu seçin -SkinVariationA.nameOverride = Windows 7 başlat menüsündeki Tüm Programlar alt menüsü için kabuk farklılaşması -SkinVariationA.tipOverride = Windows 7 başlat menüsündeki Tüm Programlar alt menüsü için kabuk farklılaşması seçin (birden çok farklılaşma destekleyen kabuklar için) -SkinOptionsA.nameOverride = Windows 7 başlat menüsündeki Tüm Programlar alt menüsü için kabuk seçenekleri -SkinOptionsA.tipOverride = Windows 7 başlat menüsündeki Tüm Programlar alt menüsü için kabuk seçeneklerini seçin.\nSeçenekler bir hex sayılar listesidir. Bunu almanın en iyi yolu Klasik Başlat Menüsü ayarları iletişim seçeneklerini ayarlamak ve ardından HKCU\Software\OpenShell\StartMenu\Settings'deki SkinOptionsA değerine bakmaktır. - -; metro ayarları -SkipMetro.tipAddition = Bu ayar, Windows 8.1 için çalışmaz. Masaüstü'ne önyükleme için yerleşik Windows ayarını kullanmanız gerekir. - -; gizli -FolderStartMenu.nameOverride = Başlat Menü dizini -FolderStartMenu.tipOverride = Kullanıcı başına Başlat menüsü dizini için geçersiz kılma girin (ayrıca kullanıcı başına Programlar dizinini geçersiz kılar).\Yol ortam değişkenleri içerebilir.\nNot: Bu ayar, Ayarlar iletişim kutusundan düzenlenebilir değildir. -FolderPrograms.nameOverride = Programlar dizini -FolderPrograms.tipOverride = Kullanıcı başına Programlar dizini için geçersiz kılma girin.\nYol ortam değişkenleri içerebilir.\nNot: Bu ayar, Ayarlar iletişim kutusundan düzenlenebilir değildir. -FolderCommonStartMenu.nameOverride = Ortak Başlat Menü dizini -FolderCommonStartMenu.tipOverride = Ortak Başlat Menü dizini için geçersiz kılma girin (ayrıca ortak Programlar dizinini geçersiz kılar).\nYol ortam değişkenleri içerebilir.\nNot: Bu ayar, Ayarlar iletişim kutusundan düzenlenebilir değildir. -FolderCommonPrograms.nameOverride = Ortak Programlar dizini -FolderCommonPrograms.tipOverride = Ortak Programlar dizini için geçersiz kılma girin.\nYol ortam değişkenleri içerebilir.\nNot: Bu ayar, Ayarlar iletişim kutusundan düzenlenebilir değildir. -AutoStartDelay.nameOverride = Otomatik başlatma gecikmesi -AutoStartDelay.tipOverride = Giriş sırasında Başlat menünün otomatik başlatılması için ms olarak gecikme girin (StartMenu.exe'yi çalıştırarak menüyü elle başlatırken geçerli değildir).\nNot: Bu ayar, Ayarlar iletişim kutusundan düzenlenebilir değildir. - -; diğer -StartButtonIcon.tipAddition = Değer bir ICO dosyanın yoludur veya bir EXE/DLL dosyanın yolu ile bir simge ID'idir -StartButtonPath.tipAddition = Değer bir BMP veya PNG dosyanın tam yoludur -SoundMain.tipAddition = Değer bir sistem olayın adı veya bir Wav dosya yolu olabilir -SoundPopup.tipAddition = Değer bir sistem olayın adı veya bir Wav dosya yolu olabilir -SoundCommand.tipAddition = Değer bir sistem olayın adı veya bir Wav dosya yolu olabilir -SoundDrop.tipAddition = Değer bir sistem olayın adı veya bir Wav dosya yolu olabilir -ExpandFolderLinks.tipAddition = Sadece simgesel bağlantılar için çalışır(bağlantı noktaları gibi) ve sıradan kısayollar için değildir -StartHoverDelay.nameOverride = Üzerinde gezinme gecikmesi (Başlat düğmesi için) -AllProgramsDelay.nameOverride = Üzerinde gezinme gecikmesi (Windows 7'deki Tüm Programlar için) -CSMHotkey.tipAddition = .\n\nTemel değeri ana anahtarın sanal kodudur. Shift için 256, Control için 512 ve Alt için 1024 ekleyin.\nDeğeri almanın en iyi yolu Klasik Başlat Menüsü ayarları iletişim kutusundan kısayol seçmek ve ardından HKCU\Software\OpenShell\StartMenu\Settings'deki CSMHotkey değerine bakmaktır. -WSMHotkey.tipAddition = .\n\nTemel değeri ana anahtarın sanal kodudur. Shift için 256, Control için 512 ve Alt için 1024 ekleyin.\nDeğeri almanın en iyi yolu Klasik Başlat Menüsü ayarları iletişim kutusundan kısayol seçmek ve ardından HKCU\Software\OpenShell\StartMenu\Settings'deki WSMHotkey değerine bakmaktır. diff --git a/Src/Localization/Turkish/OpenShellADMX.txt b/Src/Localization/Turkish/OpenShellADMX.txt deleted file mode 100644 index 8e7920b..0000000 --- a/Src/Localization/Turkish/OpenShellADMX.txt +++ /dev/null @@ -1,19 +0,0 @@ -; TRANSLATE =================================================================== - -Title.text = Klasik Shell ayarları -State.text = Durumu: -State1.text = Bu değere kilitli -State2.text = Varsayılana kilitli -State3.text = Kilitli değil -State1Help.text = Durum 'Bu değere kilitlendi'ye ayarlıysa, ayar tüm kullanıcılar için belirtilen değere kilitlenir. -State2Help.text = Durum 'Varsayılana kilitlendi'ye ayarlıysa, ayar tüm kullanıcılar için varsayılan değere kilitlenir. Belirtilen değer gözardı edilir. -State3Help.text = Durum 'Kilitli değil'e ayarlıysa, ayarın varsayılan değeri istenen değere değiştirilebilir. Bireysel kullanıcılar ayarı geçersiz kılabilir. - -OpenShellCat.text = Klasik Shell -OpenShellCatHelp.text = Klasik Shell grup ilkesi ayarları -SUPPORTED_CS404.text = Klasik Shell 4.0.4 veya sonrasını gerektirir. - -Language.nameOverride = Klasik Shell bileşenleri için dil -Language.tipOverride = Klasik Shell tarafından kullanılacak dili seçin(örneğin en-US veya tr-TR). Dil Başlat menü, araç çubukları vb. yerlerdeki metinleri etkiler. Uygun dil DLL'si yüklüyse, ayarlar UI(arayüz) de tercüme edilebilir -Update.nameOverride = Yeni sürümlerin otomatik denetimini etkinleştir -Update.tipOverride = Bu işaretlendiğinde, Klasik Shell yeni sürümleri her hafta denetleyecektir. Klasik Shell yazılımı için yeni sürüm veya geçerli diliniz için yeni güncelleme varsa sizi uyaracaktır diff --git a/Src/Localization/WixUI/WixUI_ar-SA.wxl b/Src/Localization/WixUI/WixUI_ar-SA.wxl deleted file mode 100644 index 978481f..0000000 --- a/Src/Localization/WixUI/WixUI_ar-SA.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - ال&سابق - التا&لي - إلغاء الأمر - إ&نهاء - إ&عادة المحاولة - تجا&هل - ن&عم - &لا - موافق - &طباعة - - إعداد [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}الرجاء قراءة اتفاقية ترخيص [ProductName] - أوافق &على الشروط الواردة في اتفاقية الترخيص - انقر فوق "تثبيت" لتثبيت المنتج بالخيارات الافتراضية لجميع المستخدمين. انقر فوق "‏‏خيارات متقدمة" لتغيير خيارات التثبيت. - انقر فوق "تثبيت" لتثبيت المنتج بالخيارات الافتراضية لك فقط. انقر فوق "خيارات متقدمة" لتغيير خيارات التثبيت. - ت&ثبيت - خيارات &متقدمة - 8 - 12 - 9 - 8 - Tahoma - - إعداد [ProductName] - &البحث في: - WixUI_Bmp_Up - مستوى واحد لأعلى - WixUI_Bmp_New - إنشاء مجلد جديد - &اسم المجلد: - WixUI_Bmp_Banner - استعراض للوصول إلى المجلد الوجهة - {\WixUI_Font_Title}تغيير المجلد الوجهة - - إعداد [ProductName] - هل تريد بالتأكيد إلغاء تثبيت [ProductName]؟ - WixUI_Ico_Info - أيقونة المعلومات - - إعداد [ProductName] - شجرة التحديدات - ا&ستعراض... - إ&عادة تعيين - ا&ستخدام القرص - WixUI_Bmp_Banner - انقر فوق الأيقونات الموجودة في الشجرة أدناه لتغيير الطريقة التي سيتم بها تثبيت الميزات. - حدد الطريقة التي تريد بها تثبيت الميزات. - {\WixUI_Font_Title}إعداد مخصص - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - الموقع: - - إعداد [ProductName] - WixUI_Bmp_Banner - لا يتوفر في وحدات التخزين المميزة مساحة قرص كافية للميزات المحددة حاليًا. يمكنك إما إزالة بعض الملفات من وحدات التخزين المميزة، أو تثبيت ميزات أقل، أو تحديد محركات أقراص وجهة مختلفة. - مساحة القرص المطلوبة لتثبيت الميزات المحددة. - {\WixUI_Font_Title}متطلبات مساحة القرص - {120}{70}{70}{70}{70} - - إعداد [ProductName] - نص المعلومات - WixUI_Ico_Info - أيقونة المعلومات - - إعداد [ProductName] - WixUI_Bmp_Dialog - انقر فوق الزر "إنهاء" لإنهاء "معالج الإعداد". - {\WixUI_Font_Bigger}اكتمل معالج إعداد [ProductName] - - إعداد [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}انتهى معالج إعداد [ProductName] قبل الأوان - انتهى معالج إعداد [ProductName] قبل الأوان بسبب حدوث خطأ. لم يتم تعديل النظام الخاص بك. ولتثبيت هذا البرنامج في وقت لاحق، قم بتشغيل "معالج الإعداد" مرة أخرى. - انقر فوق الزر "إنهاء" لإنهاء "معالج الإعداد". - - إعداد [ProductName] - ميزات المنتج - WixUI_Bmp_Banner - حدد الطريقة التي تريد بها تثبيت الميزات. - {\WixUI_Font_Title}ميزات المنتج - FeaturesDlgItemDescription - FeaturesDlgItemSize - ت&ثبيت - &تغيير - - إعداد [ProductName] - إ&نهاء - WixUI_Bmp_Banner - تستخدم التطبيقات التالية ملفات يلزم تحديثها من خلال هذا الإعداد. أغلق التطبيقات، ثم انقر فوق "إ&عادة المحاولة" لمتابعة التثبيت، أو انقر فوق "إنهاء" لإنهائه. - بعض الملفات التي يلزم تحديثها قيد الاستخدام حاليًا. - {\WixUI_Font_Title}الملفات قيد الاستخدام - - إعداد [ProductName] - &تغيير... - {\WixUI_Font_Title}المجلد الوجهة - انقر فوق "التالي" لتثبيت المجلد الافتراضي أو انقر فوق "تغيير" لاختيار مجلد آخر. - WixUI_Bmp_Banner - تثبيت [ProductName] على: - - إعداد [ProductName] - WixUI_Bmp_Banner - اختر نطاق التثبيت والمجلد - {\WixUI_Font_Title}نطاق التثبيت - {\WixUI_Font_Emphasized}التثبيت لك &فقط ([LogonUser]) - سيتم تثبيت [ProductName] في مجلد لكل مستخدم ولن يكون متوفرًا سوى لحساب المستخدم الخاص بك. ولا تحتاج إلى امتيازات مسؤول محلي. - لا يدعم [ProductName] التثبيت لكل مستخدم. - {\WixUI_Font_Emphasized}التثبيت لجميع مستخدمي هذا &الجهاز - سيتم تثبيت [ProductName] في مجلد لكل جهاز افتراضيًا ويكون متوفرًا لجميع المستخدمين. ويمكنك تغيير مجلد التثبيت الافتراضي. يجب أن تكون لديك امتيازات مسؤول محلي. - مجلد ال&تثبيت: - &تغيير... - - إعداد [ProductName] - يجب أن يكون دليل التثبيت على محرك الأقراص الثابتة المحلي. - WixUI_Ico_Info - أيقونة المعلومات - - إعداد [ProductName] - أوافق &على الشروط الواردة في اتفاقية الترخيص - WixUI_Bmp_Banner - الرجاء قراءة اتفاقية الترخيص التالية بعناية - {\WixUI_Font_Title}اتفاقية ترخيص المستخدم - - إعداد [ProductName] - &تغيير - تغيير التثبيت - إ&صلاح - إصلاح التثبيت - إزا&لة - إزالة التثبيت - WixUI_Bmp_Banner - حدد العملية التي ترغب في تنفيذها. - {\WixUI_Font_Title}تغيير التثبيت أو إصلاحه أو إزالته - للسماح لك بتغيير طريقة تثبيت الميزات. - لا يحتوي [ProductName] على ميزات انتقائية بشكل مستقل. - لإزالة [ProductName] من الكمبيوتر. - لا يمكن إزالة [ProductName]. - لإصلاح الأخطاء في آخر تثبيت عن طريق إصلاح الملفات والاختصارات وإدخالات السجل المفقودة والتالفة. - لا يمكن إصلاح [ProductName]. - - إعداد [ProductName] - WixUI_Bmp_Dialog - يتيح لك "معالج الإعداد" تغيير طريقة تثبيت ميزات [ProductName] على الكمبيوتر أو إزالتها من الكمبيوتر. انقر فوق "التالي" للمتابعة، أو انقر فوق "إلغاء الأمر" لإنهاء "معالج الإعداد". - {\WixUI_Font_Bigger}مرحبًا بك في معالج إعداد [ProductName] - - إعداد [ProductName] - WixUI_Bmp_Banner - تستخدم التطبيقات التالية ملفات يلزم تحديثها من خلال هذا الإعداد. يمكن السماح لمعالج الإعداد بإغلاقها ومحاولة إعادة تشغيلها أو إعادة تشغيل الجهاز لاحقًا. - بعض الملفات التي يلزم تحديثها قيد الاستخدام حاليًا. - {\WixUI_Font_Title}الملفات قيد الاستخدام - إ&غلاق التطبيقات ومحاولة إعادة تشغيلها. - &عدم إغلاق التطبيقات. يلزم إعادة تشغيل الكمبيوتر لاحقًا. - - إعداد [ProductName] - WixUI_Bmp_Banner - لا يتوفر في وحدات التخزين المميزة مساحة قرص كافية للميزات المحددة حاليًا. يمكنك إزالة بعض الملفات من وحدات التخزين المميزة أو تقليل عدد الميزات التي ترغب في تثبيتها أو تحديد محرك أقراص وجهة مختلف. - تجاوزت مساحة القرص المطلوبة للتثبيت مساحة القرص المتوفرة. - {\WixUI_Font_Title}نفدت مساحة القرص - {120}{70}{70}{70}{70} - - إعداد [ProductName] - WixUI_Bmp_Banner - لا يتوفر في وحدات التخزين المميزة مساحة قرص كافية للميزات المحددة حاليًا. يمكنك إزالة بعض الملفات من وحدات التخزين المميزة أو تقليل عدد الميزات التي ترغب في تثبيتها أو تحديد محرك أقراص وجهة مختلف. - تجاوزت مساحة القرص المطلوبة للتثبيت مساحة القرص المتوفرة. - {\WixUI_Font_Title}نفدت مساحة القرص - {120}{70}{70}{70}{70} - بدلاً من ذلك، قد تختار تعطيل وظيفة ‏‏العودة إلى الحالة السابقة الخاصة بالمثبت. حيث يعمل تعطيل ‏‏العودة إلى الحالة السابقة على منع المثبت من إعادة الكمبيوتر إلى حالته الأصلية في حالة مقاطعة التثبيت بطريقة أو بأخرى. انقر فوق " نعم" إذا كنت ترغب في المخاطرة بتعطيل وظيفة العودة إلى الحالة السابقة. - - إعداد [ProductName] - WixUI_Bmp_Dialog - الرجاء الانتظار أثناء قيام "معالج الإعداد" بالتمهيد لإرشادك خلال عملية التثبيت. - {\WixUI_Font_Bigger}مرحبًا بك في معالج إعداد [ProductName] - - إعداد [ProductName] - WixUI_Bmp_Banner - الرجاء الانتظار أثناء قيام "معالج الإعداد" بتثبيت [ProductName]. - {\WixUI_Font_Title}تثبيت [ProductName] - الرجاء الانتظار أثناء قيام "معالج الإعداد" بتغيير [ProductName]. - {\WixUI_Font_Title}تغيير [ProductName] - الرجاء الانتظار أثناء قيام "معالج الإعداد" بإصلاح [ProductName]. - {\WixUI_Font_Title}إصلاح [ProductName] - الرجاء الانتظار أثناء قيام "معالج الإعداد" بإزالة [ProductName]. - {\WixUI_Font_Title}إزالة [ProductName] - الرجاء الانتظار أثناء قيام معالج الإعداد بتحديث [ProductName]. - {\WixUI_Font_Title}تحديث [ProductName] - نسبة التقدم - الحالة: - - إعداد [ProductName] - ت&ثبيت - WixUI_Bmp_Dialog - سيقوم "معالج الإعداد" بإكمال تثبيت [ProductName] على الكمبيوتر. انقر فوق "تثبيت" للمتابعة، أو انقر فوق "إلغاء الأمر" لإنهاء "معالج الإعداد". - {\WixUI_Font_Bigger}استئناف معالج إعداد [ProductName] - - إعداد [ProductName] - &نموذجي - تثبيت نموذجي - م&خصص - تثبيت مخصص - &كامل - تثبيت كامل - WixUI_Bmp_Banner - {\WixUI_Font_Title}اختيار نوع الإعداد - اختر نوع الإعداد الأكثر ملاءمة لاحتياجاتك - تثبيت ميزات البرنامج الأكثر شيوعًا. مستحسن لمعظم المستخدمين. - السماح للمستخدمين باختيار ميزات البرنامج التي سيتم تثبيتها وموقع تثبيتها. مستحسن للمستخدمين المتقدمين. - سيتم تثبيت جميع ميزات البرنامج. وهذا يتطلب معظم مساحة القرص. - - إعداد [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}تمت مقاطعة معالج إعداد [ProductName] - تمت مقاطعة إعداد [ProductName]. لم يتم تعديل النظام الخاص بك. الرجاء تشغيل التثبيت مرة أخرى لتثبيت هذا البرنامج في وقت لاحق. - انقر فوق الزر "إنهاء" لإنهاء "معالج الإعداد". - - إعداد [ProductName] - WixUI_Bmp_Banner - ت&ثبيت - انقر فوق "تثبيت" لبدء التثبيت. وانقر فوق "السابق" لمراجعة أي من إعدادات التثبيت أو تغييرها. وانقر فوق "إلغاء الأمر" لإنهاء المعالج. - {\WixUI_Font_Title}جاهز لتثبيت [ProductName] - &تغيير - انقر فوق "تغيير" لبدء التثبيت. وانقر فوق "السابق" لمراجعة أي من إعدادات التثبيت أو تغييرها. وانقر فوق "إلغاء الأمر" لإنهاء المعالج. - {\WixUI_Font_Title}جاهز لتغيير [ProductName] - إ&صلاح - انقر فوق "إصلاح" لإصلاح تثبيت [ProductName]. وانقر فوق "السابق" لمراجعة أي من إعدادات التثبيت أو تغييرها. وانقر فوق "إلغاء الأمر" لإنهاء المعالج. - {\WixUI_Font_Title}جاهز لإصلاح [ProductName] - إزا&لة - انقر فوق "إزالة" لإزالة [ProductName] من الكمبيوتر. وانقر فوق "السابق" لمراجعة أي من إعدادات التثبيت أو تغييرها. وانقر فوق "إلغاء الأمر" لإنهاء المعالج. - {\WixUI_Font_Title}جاهز لإزالة [ProductName] - ت&حديث - انقر فوق "تحديث" لتحديث [ProductName] من الكمبيوتر الخاص بك. وانقر فوق "السابق" لمراجعة أي من إعدادات التثبيت أو تغييرها. وانقر فوق "إلغاء الأمر" لإنهاء المعالج. - {\WixUI_Font_Title}جاهز لتحديث [ProductName] - - إعداد [ProductName] - &رجوع - الرجاء الانتظار حتى ينتهي المثبت من تحديد متطلبات مساحة القرص. - WixUI_Ico_Exclam - أيقونة التعجب - - إعداد [ProductName] - WixUI_Bmp_Dialog - سيقوم "معالج الإعداد" بتثبيت [ProductName] على الكمبيوتر. انقر فوق "التالي" للمتابعة، أو انقر فوق "إلغاء الأمر" لإنهاء "معالج الإعداد". - يتيح لك "معالج الإعداد" تغيير طريقة تثبيت ميزات [ProductName] على الكمبيوتر أو إزالتها من الكمبيوتر. انقر فوق "التالي" للمتابعة، أو انقر فوق "إلغاء الأمر" لإنهاء "معالج الإعداد". - {\WixUI_Font_Bigger}مرحبًا بك في معالج إعداد [ProductName] - - إعداد [ProductName] - WixUI_Bmp_Dialog - أوافق &على الشروط الواردة في اتفاقية الترخيص - ت&ثبيت - ت&حديث - {\WixUI_Font_Title}الرجاء قراءة اتفاقية ترخيص [ProductName] - - ‏‏التحقق من صحة التثبيت - ‏‏نسخ الملفات الجديدة - الملف: [1], الدليل: [9], الحجم: [6] - ‏‏نسخ ملفات تثبيت الشبكة - الملف: [1], الدليل: [9], الحجم: [6] - ‏‏حساب متطلبات المساحة - ‏‏حساب متطلبات المساحة - ‏‏حساب متطلبات المساحة - إنشاء الاختصارات - ‏‏الاختصار: [1] - نشر المكونات المؤهلة - ‏‏معرّف المكون: [1], المؤهل: [2] - نشر ميزات المنتج - ‏‏الميزة: [1] - نشر معلومات المنتج - ‏‏تسجيل خوادم الفئات - معرّف الفئة: [1] - تسجيل خوادم الملحقات - ‏‏الملحق: [1] - تسجيل معلومات MIME - ‏‏نوع محتويات MIME‏: [1], الملحق: [2] - تسجيل معرّفات البرامج - معرّف البرنامج: [1] - تخصيص مساحة السجل - مساحة حرة: [1] - ‏‏البحث عن تطبيقات مثبتة - ‏‏الخاصية: [1], التوقيع: [2] - ‏‏عمليات الربط للملفات التنفيذية - الملف: [1] - ‏‏البحث عن المنتجات المؤهلة - ‏‏إنشاء المجلدات - ‏‏المجلد: [1] - ‏‏حذف الخدمات - الخدمة: [1] - ‏‏إنشاء ملفات مكررة - الملف: [1], الدليل: [9], الحجم: [6] - البحث عن تطبيقات ذات صلة - ‏‏العثور على التطبيق: [1] - ‏‏تثبيت مكونات ODBC - تثبيت الخدمات الجديدة - الخدمة: [2] - تقييم شروط التشغيل - ترحيل حالات الميزات من التطبيقات المرتبطة - ‏‏التطبيق: [1] - ‏‏نقل الملفات - الملف: [1], الدليل: [9], الحجم: [6] - ‏‏تصحيح الملفات - الملف: [1], الدليل: [2], الحجم: [3] - ‏‏تحديث تسجيل المكونات - تسجيل تطبيقات ومكونات +COM - ‏‏معرّف التطبيق: [1]{{, نوع التطبيق: [2], المستخدمون: [3], RSN: [4]}} - تسجيل الخطوط - ‏‏الخط: [1] - ‏‏تسجيل المنتج - [1] - تسجيل مكتبات الأنواع - معرّف المكتبة: [1] - ‏‏تسجيل المستخدم - [1] - ‏‏إزالة الملفات المتكررة - ‏‏الملف: [1]، الدليل: [9] - ‏‏تحديث سلاسل البيئة - ‏‏الاسم: [1], القيمة: [2], الإجراء [3] - ‏‏إزالة التطبيقات - ‏‏التطبيق: [1], سطر الأوامر: [2] - ‏‏إزالة الملفات - ‏‏الملف: [1]، الدليل: [9] - ‏‏إزالة المجلدات - ‏‏المجلد: [1] - ‏‏إزالة إدخالات ملفات INI - ‏‏الملف: [1], المقطع: [2], المفتاح: [3], القيمة: [4] - ‏‏إزالة مكونات ODBC - ‏‏إزالة قيم تسجيل النظام - ‏‏المفتاح: [1]، الاسم: [2] - ‏‏إزالة الاختصارات - ‏‏الاختصار: [1] - ‏‏البحث عن المنتجات المؤهلة - تسجيل الوحدات النمطية - ‏‏الملف: [1], المجلد: [2] - إلغاء تسجيل الوحدات النمطية - ‏‏الملف: [1], المجلد: [2] - ‏‏تهيئة أدلة ODBC - بدء تشغيل الخدمات - الخدمة: [1] - إيقاف الخدمات - الخدمة: [1] - ‏‏إلغاء نشر المكونات المؤهلة - ‏‏معرّف المكون: [1], المؤهل: [2] - ‏‏إلغاء نشر ميزات المنتج - ‏‏الميزة: [1] - إلغاء تسجيل خوادم الفئات - معرّف الفئة: [1] - إلغاء تسجيل تطبيقات ومكونات +COM - معرّف التطبيق: [1]{{، نوع التطبيق: [2]}} - إلغاء تسجيل خوادم الملحقات - ‏‏الملحق: [1] - إلغاء تسجيل الخطوط - ‏‏الخط: [1] - إلغاء تسجيل معلومات MIME - ‏‏نوع محتويات MIME‏: [1], الملحق: [2] - إلغاء تسجيل معرّفات البرامج - معرّف البرنامج: [1] - إلغاء تسجيل مكتبات الأنواع - معرّف المكتبة: [1] - ‏‏تحديث سلاسل البيئة - ‏‏الاسم: [1], القيمة: [2], الإجراء [3] - ‏‏كتابة قيم ملفات INI - ‏‏الملف: [1], المقطع: [2], المفتاح: [3], القيمة: [4] - ‏‏كتابة قيم تسجيل النظام - ‏‏المفتاح: [1], الاسم: [2], القيمة: [3] - الإ‏علان عن التطبيق - إنشاء عمليات برامج نصية للإجراء: - [1] - ‏‏تثبيت كتالوج النظام - الملف: [1], التبعيات: [2] - نشر معلومات التجميع - سياق التطبيق: [1], اسم التجميع: [2] - ‏‏إلغاء نشر معلومات التجميع - سياق التطبيق: [1], اسم التجميع: [2] - ‏‏إجراء العودة إلى الحالة السابقة: - [1] - ‏‏إزالة ملفات النسخ الاحتياطي - الملف: [1] - ‏‏إزالة الملفات المنقولة - ‏‏الملف: [1]، الدليل: [9] - ‏‏إلغاء نشر معلومات المنتج - - ‏‏{{‏‏خطأ كبير: }} - ‏‏{{خطأ [1]. }} - تحذير [1]. - معلومات [1]. - ‏‏صادف المثبّت خطأ غير متوقع أثناء تثبيت هذه الحزمة. قد يشير هذا إلى وجود مشكلة تتعلق بهذه الحزمة. رمز الخطأ [1]. {{الوسيطات: [2], [3], [4]}} - ‏‏{{القرص ممتلئ: }} - ‏‏الإجراء [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - ‏‏نوع الرسالة: [1]، الوسيطة: [2] - ‏‏=== بدء تسجيل الدخول: [Date] [Time] === - ‏‏=== إيقاف تسجيل الدخول: [Date] [Time] === - ‏‏بدء الإجراء [Time]: [1]. - ‏‏انتهى الإجراء [Time]: [1]. القيمة المرجعة [2]. - ‏‏الوقت المتبقي: {[1] دقيقة }{[2] ثانية} - ‏‏نفدت الذاكرة. أغلق التطبيقات الأخرى قبل إعادة المحاولة. - ‏‏لم يعد المثبّت قادرًا على الاستجابة. - ‏‏تم إيقاف المثبّت قبل الأوان. - ‏‏الرجاء الانتظار ريثما يقوم Windows بتكوين [ProductName] - ‏‏يتم الآن ‏‏جمع المعلومات المطلوبة... - ‏‏يتم الآن إزالة الإصدارات القديمة من هذا التطبيق... - ‏‏يتم الآن التحضير لإزالة الإصدارات القديمة من هذا التطبيق... - ‏‏اكتمل إعداد {[ProductName]} بنجاح. - ‏‏فشل إعداد {[ProductName]}. - حدث خطأ أثناء القراءة من الملف: [2]. {{ خطأ في النظام [3].}} تحقق من وجود الملف وإمكانية الوصول إليه. - لا يمكن إنشاء الملف '[2]'. يوجد دليل يحمل هذا الاسم بالفعل. قم بإلغاء التثبيت، ثم حاول إجراء التثبيت في موقع مختلف. - ‏‏الرجاء إدراج القرص: [2] - المثبت ليست لديه امتيازات كافية للوصول إلى هذا الدليل: [2]. تتعذر متابعة التثبيت. قم بتسجيل الدخول كمسؤول أو اتصل بمسؤول النظام. - حدث خطأ أثناء الكتابة على الملف: [2]. تحقق من إمكانية الوصول إلى ذلك الدليل. - حدث خطأ أثناء القراءة من الملف [2]. {{ خطأ في النظام [3].}} تحقق من وجود الملف وإمكانية الوصول إليه. - لدى تطبيق آخر وصول خاص للملف '[2]'. الرجاء إيقاف تشغيل كافة التطبيقات الأخرى ثم النقر فوق "إعادة المحاولة". - لا توجد مساحة كافية على القرص لتثبيت هذا الملف: [2]. حرر بعض المساحة على القرص ثم انقر فوق " إعادة المحاولة"، أو انقر فوق " إلغاء الأمر" للإنهاء. - لم يتم العثور على الملف المصدر: [2]. تحقق من وجود الملف وإمكانية الوصول إليه. - حدث خطأ أثناء القراءة من الملف: [3]. {{ خطأ في النظام [2].}} تحقق من وجود الملف وإمكانية الوصول إليه. - حدث ‏‏خطأ أثناء الكتابة إلى الملف: [3]. {{ خطأ في النظام [2].}} تحقق من امتلاكك لحق الوصول إلى ذلك الدليل. - لم يتم العثور على الملف المصدر{{(cabinet)}}: [2]. تحقق من وجود الملف وإمكانية الوصول إليه. - لا يمكن إنشاء الدليل '[2]'. يوجد ملف يحمل نفس الاسم بالفعل. الرجاء إعادة تسمية الملف أو إزالته ثم النقر فوق "إعادة المحاولة"، أو النقر فوق "إلغاء الأمر" للإنهاء. - وحدة التخزين [2] غير متوفرة حاليًا. الرجاء تحديد وحدة تخزين أخرى. - ‏‏المسار المحدد '[2]' غير متوفر. - غير قادر على الكتابة إلى المجلد المحدد [2]. - ‏‏حدث خطأ في الشبكة أثناء محاولة القراءة من الملف: [2] - حدث خطأ أثناء محاولة إنشاء الدليل: [2] - حدث خطأ في الشبكة أثناء محاولة إنشاء الدليل: [2] - ‏‏حدث خطأ في الشبكة أثناء محاولة فتح خزانة ملف المصدر: [2] - ‏‏المسار المحدد طويل جدًا: [2] - ‏‏لا يمتلك المثبّت امتيازات كافية لتعديل هذا الملف: [2]. - جزء من مسار المجلد '[2]' غير صالح. إما أنه خالٍ أو يتجاوز الطول الذي يسمح به النظام. - ‏‏يحتوي مسار المجلد '[2]' على كلمات غير صالحة في مسارات المجلدات. - ‏‏يحتوي مسار المجلد '[2]' على حرف غير صالح. - ‏‏الاسم '[2]' ليس بالاسم القصير الصالح للملف. - ‏‏حدث خطأ أثناء الحصول على أمان الملف: [3] GetLastError: [2]‎ - ‏‏محرك الأقراص غير صالح: [2] - ‏‏حدث خطأ أثناء تطبيق التصحيح على الملف [2]. ربما تم تحديثه باستخدام طرق أخرى، ولم يعد بالإمكان تعديله بواسطة هذا التصحيح. لمزيد من المعلومات، اتصل بمورّد ملفات التصحيح. {{خطأ في النظام: [3]}} - يتعذر تثبيت أحد الملفات المطلوبة، وذلك لأن ملف Cabinet [2] غير موقع رقميًا. قد يشير هذا إلى أن ملف Cabinet تالف. - ‏‏لا يمكن تثبيت أحد الملفات المطلوبة بسبب عدم صلاحية التوقيع الرقمي لملف Cabinet [2]. قد يشير هذا إلى أن ملف Cabinet تالف. {{ تم إرجاع الخطأ [3] بواسطة WinVerifyTrust.}} - ‏‏فشل نسخ الملف [2] بشكل صحيح: خطأ CRC. - ‏‏فشل نقل الملف [2] بشكل صحيح: خطأ CRC. - ‏‏فشل تصحيح الملف [2] بشكل صحيح: خطأ CRC. - ‏‏تعذر تثبيت الملف '[2]' بسبب عدم العثور عليه في ملف Cabinet '[3]'. قد يشير هذا إلى حدوث خطأ بالشبكة، أو خطأ أثناء القراءة من القرص المضغوط، أو مشكلة في هذه الحزمة. - ‏‏ملف Cabinet '[2]' المطلوب لعملية التثبيت هذه تالف ولا يصلح للاستخدام. قد يشير هذا إلى حدوث خطأ بالشبكة، أو خطأ أثناء القراءة من القرص المضغوط، أو مشكلة في هذه الحزمة. - ‏‏حدث خطأ أثناء إنشاء ملف مؤقت مطلوب لإتمام عملية التثبيت هذه. {{المجلد: [3]. رمز الخطأ في النظام: [2]}} - تعذر إنشاء المفتاح: [2]. {{خطأ في النظام [3].}} تحقق من امتلاكك لحق وصول كافٍ إلى هذا المفتاح، أو اتصل بموظفي الدعم. - ‏‏تعذر فتح المفتاح: [2]. {{خطأ في النظام [3].}} تحقق من امتلاكك لحق وصول كافٍ إلى هذا المفتاح، أو اتصل بموظفي الدعم. - تعذر حذف القيمة [2] من المفتاح [3]. {{خطأ في النظام [4].}} تحقق من امتلاكك لحق وصول كافٍ إلى هذا المفتاح، أو اتصل بموظفي الدعم. - ‏‏تعذر حذف المفتاح [2]. {{خطأ في النظام [3].}} تحقق من امتلاكك لحق وصول كافٍ إلى هذا المفتاح، أو اتصل بموظفي الدعم. - تعذرت قراءة القيمة [2] من المفتاح [3]. {{خطأ في النظام [4].}} تحقق من امتلاكك لحق وصول كافٍ إلى هذا المفتاح، أو اتصل بموظفي الدعم. - ‏‏‏‏تعذرت كتابة القيمة [2] إلى المفتاح [3]. {{خطأ في النظام [4].}} تحقق من امتلاكك لحق وصول كافٍ إلى هذا المفتاح، أو اتصل بموظفي الدعم. - ‏‏‏‏تعذر الحصول على أسماء القيم للمفتاح [2]. {{خطأ في النظام [3].}} تحقق من امتلاكك لحق وصول كافٍ إلى هذا المفتاح، أو اتصل بموظفي الدعم. - ‏‏تعذر الحصول على أسماء المفاتيح الفرعية للمفتاح [2]. {{خطأ في النظام [3].}} تحقق من امتلاكك لحق وصول كافٍ إلى هذا المفتاح، أو اتصل بموظفي الدعم. - ‏‏تعذرت قراءة معلومات الأمان للمفتاح [2]. {{خطأ في النظام [3].}} تحقق من امتلاكك لحق وصول كافٍ إلى هذا المفتاح، أو اتصل بموظفي الدعم. - ‏‏تعذرت زيادة مساحة السجل المتوفرة. يجب توفر [2] كيلوبايت من مساحة السجل كمساحة حرة لتثبيت هذا التطبيق. - ‏‏يوجد تثبيت آخر قيد التقدم. يجب إكمال التثبيت الآخر قبل متابعة هذا التثبيت. - ‏‏حدث خطأ أثناء الوصول إلى البيانات الآمنة. الرجاء التأكد من تكوين Windows Installer بشكل صحيح، ثم حاول التثبيت مرة أخرى. - قام المستخدم '[2]' ببدء تثبيت منتج '[3]' مسبقًا. على هذا المستخدم تشغيل ذلك التثبيت مرة أخرى قبل التمكن من استخدام ذلك المنتج. ستتم متابعة التثبيت الحالي الآن. - قام المستخدم '[2]' ببدء تثبيت منتج '[3]' مسبقًا. يجب على هذا المستخدم تشغيل ذلك التثبيت مرة أخرى قبل التمكن من استخدام ذلك المنتج. - نفدت مساحة القرص -- وحدة التخزين: '[2]'; المساحة المطلوبة: [3] كيلوبايت; المساحة المتوفرة: [4] كيلوبايت. حرر بعض المساحة على القرص، ثم أعد المحاولة. - ‏‏هل تريد بالتأكيد إلغاء الأمر؟ - ‏‏الملف [2][3] قيد الاستخدام {بواسطة العملية التالية: الاسم: [4]، المعرّف: [5]، عنوان النافذة: '[6]'}. أغلق ذلك التطبيق، ثم أعد المحاولة. - تم بالفعل تثبيت المنتج '[2]'، مما يمنع تثبيت هذا المنتج. المنتجان غير متوافقين. - ‏‏لا توجد مساحة على القرص بوحدة التخزين '[2]' تكفي للاستمرار في عملية التثبيت مع تمكين ميزة الاسترداد. المساحة المطلوبة هي [3] كيلوبايت ولا يتوفر حاليًا سوى [4] كيلوبايت. انقر فوق "تجاهل" للاستمرار في عملية التثبيت دون حفظ معلومات الاسترداد، أو انقر فوق "إعادة المحاولة" للبحث عن المساحة المتوفرة مرة أخرى، أو انقر فوق "إلغاء الأمر" لإنهاء عملية التثبيت. - ‏‏تعذر الوصول إلى موقع الشبكة [2]. - يجب إغلاق التطبيقات التالية قبل متابعة التثبيت: - ‏‏تعذر العثور على أية منتجات متوافقة مثبتة مسبقًا على الجهاز لتثبيت هذا المنتج. - ‏‏حدث خطأ أثناء تطبيق إعدادات الأمان. إن [2] ليس بمستخدم صالح أو مجموعة صالحة. قد توجد مشكلة في الحزمة، أو في الاتصال بوحدة التحكم بالمجال على الشبكة. تحقق من اتصالك بالشبكة وانقر فوق "إعادة المحاولة" أو "إلغاء الأمر" لإنهاء عملية التثبيت. {{يتعذر تحديد موقع SID الخاص بالمستخدم، خطأ في النظام [3]}} - المفتاح [2] غير صالح. تأكد من إدخال المفتاح الصحيح. - يجب على المثبت إعادة تشغيل النظام قبل متابعة تكوين [2]. انقر فوق "نعم" لإعادة التشغيل الآن، أو فوق "لا" إذا كنت تنوي القيام بإعادة التشغيل يدويًا في وقت لاحق. - ‏يجب إعادة تشغيل النظام حتى تسري تغييرات التكوين التي تمت على [2]. انقر فوق "نعم" لإعادة التشغيل الآن، أو فوق "لا" إذا كنت تنوي القيام بإعادة التشغيل يدويًا في وقت لاحق. - ‏‏تم تعليق تثبيت [2] في الوقت الحالي. يجب التراجع عن التغييرات التي أحدثها ذلك التثبيت حتى تتم المتابعة. هل ترغب في التراجع عن هذه التغييرات؟ - يوجد تثبيت سابق لهذا المنتج قيد التقدم الآن. يجب التراجع عن التغييرات التي أحدثها ذلك التثبيت حتى تتم المتابعة. هل ترغب في التراجع عن هذه التغييرات؟ - ‏لا يمكن العثور على حزمة التثبيت للمنتج [2]. حاول إجراء التثبيت مرة أخرى باستخدام نسخة صالحة من حزمة التثبيت '[3]'. - ‏‏تمت عملية التثبيت بنجاح. - ‏‏فشلت عملية التثبيت. - ‏‏المنتج: [2] -- [3] - ‏‏يمكنك إما إعادة الكمبيوتر إلى حالته السابقة أو متابعة التثبيت فيما بعد. هل تريد الاستعادة؟ - ‏‏حدث خطأ أثناء كتابة معلومات التثبيت على القرص. تأكّد من توفر مساحة قرص كافية، وانقر فوق "إعادة المحاولة"، أو انقر فوق "إلغاء الأمر" لإنهاء التثبيت. - تعذر العثور على ملف واحد أو أكثر من الملفات المطلوبة لاستعادة الكمبيوتر لحالته السابقة. لا يمكن استعادة الكمبيوتر. - لا يستطيع [2] تثبيت أحد منتجاته المطلوبة. اتصل بفريق الدعم الفني. {{خطأ في النظام: [3].}} - لا يمكن إزالة النسخة القديمة من [2]. اتصل بفريق الدعم الفني. {{خطأ في النظام [3].}} - ‏‏تم تثبيت [2] - ‏‏تم تكوين [2] - ‏‏تمت إزالة [2] - ‏‏تم رفض الملف [2] من قِبل نهج التوقيع الرقمي. - ‏‏تعذر الوصول إلى خدمة Windows Installer. قد يحدث هذا إذا كنت تقوم بتشغيل Windows في الوضع الآمن، أو إذا لم يتم تثبيت Windows Installer بشكل صحيح. قم بالاتصال بموظفي الدعم للحصول على المساعدة. - توجد مشكلة في حزمة Windows Installer هذه. تعذر تشغيل برنامج نصي مطلوب لإكمال هذا التثبيت. اتصل بموظفي الدعم أو مورّد الحزمة. {{الإجراء المخصص [2] خطأ البرنامج النصي [3]، [4]: [5] السطر [6]، العمود [7]، [8] }} - ‏‏توجد مشكلة في حزمة Windows Installer هذه. تعذر تشغيل برنامج مطلوب لإتمام عملية التثبيت هذه. قم بالاتصال بموظفي الدعم أو مورّد الحزمة. {{الإجراء [2]، الموقع [3]، الأمر [4]}} - توجد مشكلة في حزمة Windows Installer هذه. تعذر إنهاء برنامج يتم تشغيله كجزء من عملية الإعداد بالشكل المتوقع. اتصل بموظفي الدعم أو مورّد الحزمة. {{الإجراء: [2]، الموقع: [3]، الأمر: [4]}} - توجد مشكلة في حزمة Windows Installer هذه. تعذر تشغيل DLL مطلوب لإكمال هذا التثبيت. اتصل بموظفي الدعم أو مورّد الحزمة. {{الإجراء: [2]، الإدخال: [3]، المكتبة: [4] }} - ‏‏تمت عملية الإزالة بنجاح. - ‏‏فشلت عملية الإزالة. - ‏‏تمت عملية الإعلان بنجاح. - ‏‏فشلت عملية الإعلان. - ‏‏تمت عملية التكوين بنجاح. - ‏‏فشلت عملية التكوين. - ‏‏يجب أن تكون مسؤولاً لكي تتمكن من إزالة هذا التطبيق. لإزالة هذا التطبيق، يمكنك تسجيل الدخول كمسؤول، أو الاتصال بمجموعة الدعم التقني للحصول على المساعدة. - حزمة التثبيت المصدر للمنتج [2] غير متزامنة مع حزمة العميل. حاول إجراء التثبيت مرة أخرى باستخدام نسخة صالحة من حزمة التثبيت '[3]'. - لإكمال تثبيت [2]، يجب إعادة تشغيل الكمبيوتر. يوجد حاليًا مستخدمون آخرون قاموا بتسجيل الدخول إلى هذا الكمبيوتر، وقد ينتج عن إعادة التشغيل فقدانهم لعملهم. هل ترغب في إعادة التشغيل الآن؟ - المسار [2] غير صالح. الرجاء تحديد مسار صالح. - ‏‏نفدت الذاكرة. أغلق التطبيقات الأخرى قبل إعادة المحاولة. - ‏‏لا يوجد قرص داخل محرك الأقراص [2]. الرجاء إدراج قرص، ثم انقر فوق "إعادة المحاولة"، أو فوق "إلغاء الأمر" للرجوع إلى وحدة التخزين المحددة سابقًا. - ‏‏لا يوجد قرص داخل محرك الأقراص [2]. الرجاء إدراج قرص، ثم انقر فوق "إعادة المحاولة"، أو فوق "إلغاء الأمر" للرجوع إلى مربع حوار الاستعراض وتحديد وحدة تخزين أخرى. - المجلد [2] غير موجود. الرجاء إدخال مسار لمجلد موجود. - ‏‏ليست لديك الامتيازات الكافية لقراءة هذا المجلد. - ‏‏تعذر تحديد مجلد وجهة صالح للتثبيت. - ‏‏حدث خطأ أثناء محاولة القراءة من قاعدة بيانات تثبيت المصدر: [2]. - ‏‏جدولة عملية إعادة التمهيد: إعادة تسمية الملف [2] إلى [3]. يجب إعادة التمهيد لإتمام العملية. - ‏‏جدولة عملية إعادة التمهيد: حذف الملف [2]. يجب إعادة التمهيد لإتمام العملية. - ‏‏فشل تسجيل الوحدة النمطية [2]. HRESULT [3]‎. اتصل بموظفي الدعم. - ‏‏فشل إلغاء تسجيل الوحدة النمطية [2]. HRESULT [3]‎. اتصل بموظفي الدعم. - ‏‏فشل التخزين المؤقت للحزمة [2]. الخطأ: [3]. اتصل بموظفي الدعم. - تعذر تسجيل الخط [2]. تحقق من توفر الأذونات الكافية لتثبيت الخطوط، وأن النظام يعتمد ذلك الخط. - ‏‏تعذر إلغاء تسجيل الخط [2]. تحقق من امتلاكك الأذونات الكافية لإزالة الخطوط. - ‏‏تعذر إنشاء الاختصار [2]. تحقق من وجود مجلد الوجهة وإمكانية الوصول إليه. - ‏‏تعذرت إزالة الاختصار [2]. تحقق من وجود ملف الاختصار وإمكانية الوصول إليه. - ‏‏تعذر تسجيل مكتبة الأنواع للملف [2]. اتصل بموظفي الدعم. - ‏‏تعذر إلغاء تسجيل مكتبة الأنواع للملف [2]. اتصل بموظفي الدعم. - ‏‏تعذر تحديث ملف ini ‏[2][3]. تحقق من وجود الملف وإمكانية الوصول إليه. - تعذرت جدولة الملف [2] ليحل محل الملف [3] عند إعادة التشغيل. تحقق من توفر الأذونات اللازمة للكتابة إلى الملف [3]. - ‏‏حدث خطأ أثناء إزالة إدارة برنامج تشغيل ODBC، خطأ ODBC‏ [2]: [3]. اتصل بموظفي الدعم. - ‏‏حدث خطأ أثناء تثبيت إدارة برنامج تشغيل ODBC، خطأ ODBC‏ [2]: [3]. اتصل بموظفي الدعم. - ‏‏حدث خطأ أثناء إزالة برنامج تشغيل ODBC:‏ [4]، خطأ ODBC [2]: [3]. تحقق من امتلاكك الامتيازات الكافية لإزالة برامج تشغيل ODBC. - ‏‏حدث خطأ أثناء تثبيت برنامج تشغيل ODBC:‏ [4]، خطأ ODBC [2]: [3]. تحقق من وجود الملف [4] وإمكانية الوصول إليه. - ‏‏حدث خطأ أثناء تكوين مصدر بيانات ODBC: [4]‎، خطأ ODBC [2]: [3]. تحقق من وجود الملف [4] وإمكانية الوصول إليه. - فشل بدء الخدمة '[2]' ([3]). تحقق من توفر الامتيازات الكافية لبدء خدمات النظام. - تعذر إيقاف الخدمة '[2]' ([3]). تحقق من توفر الامتيازات الكافية لإيقاف خدمات النظام. - تعذر حذف الخدمة '[2]' ([3]). تحقق من توفر الامتيازات الكافية لإزالة خدمات النظام. - تعذر تثبيت الخدمة '[2]' ([3]). تحقق من توفر الامتيازات الكافية لتثبيت خدمات النظام. - تعذر تحديث متغير البيئة '[2]'. تحقق من توفر الامتيازات الكافية لتعديل متغيرات البيئة. - ‏‏ليست لديك امتيازات كافية لإكمال هذا التثبيت لكافة المستخدمين على هذا الجهاز. يجب تسجيل الدخول كمسؤول ثم إعادة محاولة إجراء هذا التثبيت. - تعذر تعيين أمان الملف للملف '[3]'. الخطأ: [2]. تحقق من توفر الامتيازات الكافية لتعديل أذونات الأمان لهذا الملف. - لم يتم تثبيت خدمات المكون (COM+ 1.0) على هذا الكمبيوتر. يتطلب هذا التثبيت خدمات المكون لكي يكتمل بنجاح. تتوفر خدمات المكون في نظام التشغيل Windows 2000. - حدث خطأ أثناء تسجيل تطبيق +COM. اتصل بموظفي الدعم للحصول على المزيد من المعلومات. - حدث خطأ أثناء إلغاء تسجيل تطبيق +COM. اتصل بموظفي الدعم للحصول على المزيد من المعلومات. - ‏‏تعذر تغيير وصف الخدمة '[2]' ([3]). - لا يمكن لخدمة Windows Installer تحديث ملف النظام [2] لأن الملف محمي بواسطة Windows. قد تحتاج إلى تحديث نظام التشغيل لكي يعمل هذا البرنامج بشكل صحيح. {{إصدار الحزمة: [3]، إصدار نظام التشغيل المحمي: [4]}} - ‏‏لا يمكن لخدمة Windows Installer تحديث ملف Windows المحمي [2]. {{إصدار الحزمة: [3], إصدار نظام التشغيل المحمي: [4]، خطأ SFP: [5]}} - لا يمكن لخدمة Windows Installer القيام بتحديث ملف واحد أو أكثر من ملفات Windows المحمية. {{خطأ SFP: [2]. قائمة الملفات المحمية:\r\n[3]}} - ‏‏تم تعطيل عمليات تثبيت المستخدم بواسطة النهج الموجود على الجهاز. - حدث خطأ أثناء تثبيت التجميع '[6]'. لمزيد من المعلومات، الرجاء الرجوع إلى "التعليمات والدعم". ‎HRESULT‏: [3]. {{واجهة التجميع: [4]، الوظيفة: [5]، المكون: [2]}} - حدث خطـأ أثناء تثبيت التجميع '[6]'. إما إنه لم تتم تسمية التجميع باسم مميز أو لم يتم التوقيع عليه بمفتاح يبلغ طوله الحد الأدنى. HRESULT: [3]. {{واجهة التجميع: [4], الوظيفة: [5], المكون: [2]}} - حدث خطـأ أثناء تثبيت التجميع '[6]'. تعذر التحقق من صحة التوقيع أو الكتالوج أو أنهما غير صالحين. HRESULT: [3]. {{واجهة التجميع: [4], الوظيفة: [5], المكون: [2]}} - حدث خطـأ أثناء تثبيت التجميع '[6]'. تعذر العثور على وحدة نمطية واحدة أو أكثر من وحدات التجميع النمطية. HRESULT: [3]. {{واجهة التجميع: [4], الوظيفة: [5], المكون: [2]}} - - بايت - غيغابايت - كيلوبايت - ميغابايت - ستكون الميزة بأكملها غير متوفرة - سيتم تثبيت الميزة عند الحاجة - ‏‏سيتم تثبيت الميزة بأكملها لتشغيلها من القرص المضغوط - ‏‏سيتم تثبيت الميزة بأكملها على محرك الأقراص الثابت المحلي - ‏‏سيتم تثبيت الميزة بأكملها لتشغيلها من الشبكة - ‏‏سيتم تثبيتها لتشغيلها من القرص المضغوط - ‏‏سيتم تثبيتها على محرك الأقراص الثابت المحلي - سيتم تثبيتها لتشغيلها من الشبكة - مجلد|مجلد جديد - ‏‏يتم الآن ‏‏جمع المعلومات المطلوبة... - ستبقى هذه الميزة غير مثبتة - سيتم تعيين هذه الميزة ليتم تثبيتها عند الحاجة - ‏‏سيتم تثبيت هذه الميزة لتشغيلها من القرص المضغوط - سيتم تثبيت هذه الميزة على محرك الأقراص الثابت المحلي - ‏‏سيتم تثبيت هذه الميزة لتشغيلها من الشبكة - ستصبح هذه الميزة غير متوفرة - سيتم تثبيتها عند الحاجة - ‏‏ستتوفر هذه الميزة لتشغيلها من القرص المضغوط - سيتم تثبيت هذه الميزة على محرك الأقراص الثابت المحلي - ‏‏ستتوفر هذه الميزة لتشغيلها من الشبكة - ستتم إزالة تثبيت هذه الميزة بشكل كامل، ولن تتمكن من تشغيلها من القرص المضغوط - سيتم تغيير تعيين هذه الميزة من حالة التشغيل من القرص المضغوط إلى التثبيت عند الطلب - ‏‏ستبقى هذه الميزة ليتم تشغيلها من القرص المضغوط - ‏‏ستتغير هذه الميزة من حالة التشغيل من القرص المضغوط إلى التثبيت على محرك الأقراص الثابت المحلي - تحرر هذه الميزة [1] على محرك الأقراص الثابت. - تتطلب هذه الميزة [1] على محرك الأقراص الثابت. - جارٍ حساب تكلفة هذه الميزة... - ‏‏ستتم إزالة هذه الميزة بشكل كامل - ‏‏ستتم إزالة هذه الميزة من محرك الأقراص الثابت المحلي، ولكن سيتم تعيينها ليتم تثبيتها عند الطلب - ‏‏ستتم إزالة هذه الميزة من محرك الأقراص الثابت المحلي، ولكنها ستبقى متوفرةً ليتم تشغيلها من القرص المضغوط - ستبقى هذه الميزة على محرك الأقراص الثابت المحلي - ‏‏ستتم إزالة هذه الميزة من محرك الأقراص الثابت المحلي، ولكنها ستبقى متوفرةً ليتم تشغيلها من الشبكة - سيتم إزالة تثبيت هذه الميزة بشكل كامل، ولن تتمكن من تشغيلها من الشبكة - ستتغير هذه الميزة من حالة التشغيل من الشبكة إلى تعيينها بحيث يتم تثبيتها عند الطلب - ستتغير هذه الميزة من حالة التشغيل من الشبكة إلى التثبيت على محرك الأقراص الثابت المحلي - ستبقى هذه الميزة ليتم تشغيلها من الشبكة - تحرر هذه الميزة [1] على محرك الأقراص الثابت. لديها [2] من [3] من الميزات الفرعية المحددة. تحرر الميزات الفرعية [4] على محرك الأقراص الثابت. - تحرر هذه الميزة [1] على محرك الأقراص الثابت. لديها [2] من [3] من الميزات الفرعية المحددة. تتطلب الميزات الفرعية [4] على محرك الأقراص الثابت. - تتطلب هذه الميزة [1] على محرك الأقراص الثابت. لديها [2] من [3] من الميزات الفرعية المحددة. تحرر الميزات الفرعية [4] على محرك الأقراص الثابت. - تتطلب هذه الميزة [1] على محرك الأقراص الثابت. لديها [2] من [3] من الميزات الفرعية المحددة. تتطلب الميزات الفرعية [4] على محرك الأقراص الثابت. - ‏‏الوقت المتبقي: {[1] دقيقة }{[2] ثانية} - متوفر - الفرق - مطلوب - حجم القرص - وحدة تخزين - diff --git a/Src/Localization/WixUI/WixUI_bg-BG.wxl b/Src/Localization/WixUI/WixUI_bg-BG.wxl deleted file mode 100644 index da7e632..0000000 --- a/Src/Localization/WixUI/WixUI_bg-BG.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Назад - Н&апред - Отказ - &Готово - &Опитай пак - &Игнорирай - &Да - &Не - OK - Пе&чат - - Инсталиране на [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Прочетете лицензионното споразумение за [ProductName] - &Приемам условията в лицензионното споразумение - Щракнете върху "Инсталирай", за да инсталирате продукта с опции по подразбиране за всички потребители. Щракнете върху "Разширени", за да промените опциите за инсталиране. - Щракнете върху "Инсталирай", за да инсталирате продукта с опции по подразбиране само за вас. Щракнете върху "Разширени", за да промените опциите за инсталиране. - &Инсталирай - Р&азширени - 8 - 12 - 9 - 8 - Tahoma - - Инсталиране на [ProductName] - &Търси в: - WixUI_Bmp_Up - Едно ниво нагоре - WixUI_Bmp_New - Създаване на нова папка - &Име на папката: - WixUI_Bmp_Banner - Отидете до папката местоназначение - {\WixUI_Font_Title}Промяна на папката местоназначение - - Инсталиране на [ProductName] - Наистина ли искате да отмените инсталирането на [ProductName]? - WixUI_Ico_Info - Информационна икона - - Инсталиране на [ProductName] - Дърво на възможностите за избор - &Преглед... - Ну&лирай - Използване на &диска - WixUI_Bmp_Banner - Щракнете върху иконите на дървото по-долу, за да промените начина на инсталиране на компонентите. - Изберете начина, по който искате да се инсталират компонентите. - {\WixUI_Font_Title}Инсталиране по избор - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Местоположение: - - Инсталиране на [ProductName] - WixUI_Bmp_Banner - Маркираните томове нямат достатъчно свободно място за избраните компоненти. Можете да премахнете някои файлове от маркираните томове, да инсталирате по-малко компоненти или да изберете друго устройство за местоназначение. - Дисковото пространство, необходимо за инсталиране на избраните компоненти. - {\WixUI_Font_Title}Изисквания за дисковото пространство - {120}{70}{70}{70}{70} - - Инсталиране на [ProductName] - Информационен текст - WixUI_Ico_Info - Информационна икона - - Инсталиране на [ProductName] - WixUI_Bmp_Dialog - Щракнете върху бутона "Готово", за да излезете от съветника за инсталиране. - {\WixUI_Font_Bigger}Съветникът за инсталиране на [ProductName] завърши - - Инсталиране на [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Съветникът за инсталиране на [ProductName] завърши преждевременно - Съветникът за инсталиране на [ProductName] завърши преждевременно поради грешка. Системата ви не е променена. За да инсталирате тази програма по-късно, изпълнете съветника за инсталиране отново. - Щракнете върху бутона "Готово", за да излезете от съветника за инсталиране. - - Инсталиране на [ProductName] - Компоненти на продукта - WixUI_Bmp_Banner - Изберете начина, по който искате да се инсталират компонентите. - {\WixUI_Font_Title}Компоненти на продукта - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Инсталирай - &Промени - - Инсталиране на [ProductName] - И&зход - WixUI_Bmp_Banner - Приложенията по-долу използват файлове, които трябва да се актуализират при това инсталиране. Затворете тези приложения, след което щракнете върху "&Опитай пак", за да продължите инсталирането, или щракнете върху "Изход", за да излезете от него. - Някои от файловете, които трябва да се актуализират, в момента се използват. - {\WixUI_Font_Title}Използвани в момента файлове - - Инсталиране на [ProductName] - &Промяна... - {\WixUI_Font_Title}Папка местоназначение - Щракнете върху "Напред", за да инсталирате в папката по подразбиране, или щракнете върху "Промяна", за да изберете друга. - WixUI_Bmp_Banner - Инсталиране на [ProductName] на: - - Инсталиране на [ProductName] - WixUI_Bmp_Banner - Избор на обхвата и папката на инсталиране - {\WixUI_Font_Title}Обхват на инсталиране - {\WixUI_Font_Emphasized}Инсталиране &само за вас ([LogonUser]) - [ProductName] ще се инсталира в отделна папка за всеки потребител и ще бъде достъпно само за вашия потребителски акаунт. Не се нуждаете от привилегии на локален администратор. - [ProductName] не поддържа инсталиране в отделна папка за всеки потребител. - {\WixUI_Font_Emphasized}Инсталиране за всички потребители на &машината - По подразбиране приложението [ProductName] ще се инсталира в отделна папка за всеки компютър и ще е достъпно за всички потребители. Можете да промените папката за инсталиране по подразбиране. Трябва да разполагате с привилегии на локален администратор. - Папка за &инсталиране: - &Промяна... - - Инсталиране на [ProductName] - Директорията за инсталиране трябва да се намира на локалния твърд диск. - WixUI_Ico_Info - Информационна икона - - Инсталиране на [ProductName] - &Приемам условията в лицензионното споразумение - WixUI_Bmp_Banner - Прочетете внимателно следното лицензионно споразумение - {\WixUI_Font_Title}Лицензионно споразумение с краен потребител - - Инсталиране на [ProductName] - &Промени - Промяна на инсталацията - Поп&рави - Поправяне на инсталацията - &Премахни - Премахване на инсталацията - WixUI_Bmp_Banner - Изберете операцията, която желаете да изпълните. - {\WixUI_Font_Title}Промяна, поправяне или премахване на инсталация - Позволява ви да промените начина на инсталиране на компонентите. - [ProductName] няма компоненти, които да могат да се избират самостоятелно. - Премахва [ProductName] от компютъра. - [ProductName] не може да се премахне. - Поправя грешки в последната инсталация, като коригира липсващи и повредени файлове, преки пътища и записи в системния регистър. - [ProductName] не може да се поправи. - - Инсталиране на [ProductName] - WixUI_Bmp_Dialog - Съветникът за инсталиране ви позволява да променяте начина, по който се инсталират компонентите на [ProductName] на вашия компютър, или да ги премахнете от него. Щракнете върху "Напред", за да продължите, или върху "Отказ", за да излезете от съветника за инсталиране. - {\WixUI_Font_Bigger}Добре дошли в съветника за инсталиране на [ProductName] - - Инсталиране на [ProductName] - WixUI_Bmp_Banner - Приложенията по-долу използват файлове, които трябва да се актуализират при това инсталиране. Можете да позволите на съветника за инсталиране да ги затвори и да се опита да ги стартира отново или да рестартирате компютъра по-късно. - Някои от файловете, които трябва да се актуализират, в момента се използват. - {\WixUI_Font_Title}Използвани в момента файлове - &Затвори приложенията и направи опит за рестартирането им. - &Не затваряй приложенията. Ще се изисква рестартиране. - - Инсталиране на [ProductName] - WixUI_Bmp_Banner - Маркираните томове нямат достатъчно свободно място на диска за текущо избраните компоненти. Можете да премахнете някои файлове от маркираните томове, да инсталирате по-малко компоненти или да изберете друго устройство за местоназначение. - Дисковото пространство, необходимо за инсталирането, надвишава свободното дисково пространство. - {\WixUI_Font_Title}Недостатъчно място на диска - {120}{70}{70}{70}{70} - - Инсталиране на [ProductName] - WixUI_Bmp_Banner - Маркираните томове нямат достатъчно свободно място на диска за текущо избраните компоненти. Можете да премахнете някои файлове от маркираните томове, да инсталирате по-малко компоненти или да изберете друго устройство за местоназначение. - Дисковото пространство, необходимо за инсталирането, надвишава свободното дисково пространство. - {\WixUI_Font_Title}Недостатъчно място на диска - {120}{70}{70}{70}{70} - Също така можете да забраните функцията за възстановяване на инсталиращата програма. Забраняването на възстановяването не позволява на инсталиращата програма да възстанови първоначалното състояние на компютъра, ако инсталацията бъде прекъсната по някакъв начин. Щракнете върху "Да", ако искате да рискувате със забраняване на възстановяването. - - Инсталиране на [ProductName] - WixUI_Bmp_Dialog - Моля, изчакайте, докато съветникът за инсталиране се подготви да ви направлява в инсталирането. - {\WixUI_Font_Bigger}Добре дошли в съветника за инсталиране на [ProductName] - - Инсталиране на [ProductName] - WixUI_Bmp_Banner - Моля, изчакайте, докато съветникът за инсталиране инсталира [ProductName]. - {\WixUI_Font_Title}Инсталиране на [ProductName] - Моля, изчакайте, докато съветникът за инсталиране промени [ProductName]. - {\WixUI_Font_Title}Промяна на [ProductName] - Моля, изчакайте, докато съветникът за инсталиране поправи [ProductName]. - {\WixUI_Font_Title}Поправяне на [ProductName] - Моля, изчакайте, докато съветникът за инсталиране премахне [ProductName]. - {\WixUI_Font_Title}Премахване на [ProductName] - Моля, изчакайте, докато съветникът за инсталиране актуализира [ProductName]. - {\WixUI_Font_Title}Актуализиране на [ProductName] - Операцията завърши - Състояние: - - Инсталиране на [ProductName] - &Инсталирай - WixUI_Bmp_Dialog - Съветникът за инсталиране ще завърши инсталирането на [ProductName] на компютъра. Щракнете върху "Инсталирай", за да продължите, или върху "Отказ" за изход от съветника за инсталиране. - {\WixUI_Font_Bigger}Възобновяване на съветника за инсталиране на [ProductName] - - Инсталиране на [ProductName] - &Типична - Типична инсталация - П&о избор - Инсталация по избор - П&ълна - Пълна инсталация - WixUI_Bmp_Banner - {\WixUI_Font_Title}Избор на тип инсталация - Избор на типа инсталация, който отговаря най-добре на вашите нужди - Инсталира най-често използваните програмни компоненти. Препоръчва се за повечето потребители. - Позволява на потребителите да изберат кои компоненти на програмата ще се инсталират и къде ще се инсталират. Препоръчва се за опитни потребители. - Всички програмни компоненти ще се инсталират. Изисква най-много дисково пространство. - - Инсталиране на [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] Съветникът за инсталиране беше прекъснат - Инсталирането на [ProductName] е прекъснато. Системата ви не е променена. За да инсталирате тази програма по-късно, изпълнете отново инсталирането. - Щракнете върху бутона "Готово", за да излезете от съветника за инсталиране. - - Инсталиране на [ProductName] - WixUI_Bmp_Banner - &Инсталирай - Щракнете върху "Инсталирай", за да започнете инсталирането. Щракнете върху "Назад", за да прегледате или промените настройките за инсталиране. Щракнете върху "Отказ", за да излезете от съветника. - {\WixUI_Font_Title}Всичко е готово за инсталиране на [ProductName] - &Промени - Щракнете върху "Промени", за да започнете инсталирането. Щракнете върху "Назад", за да прегледате или промените настройките за инсталиране. Щракнете върху "Отказ", за да излезете от съветника. - {\WixUI_Font_Title}Всичко е готово за промяна на [ProductName] - Поп&рави - Щракнете върху "Поправи", за да поправите инсталацията на [ProductName]. Щракнете върху "Назад", за да прегледате или промените настройките за инсталиране. Щракнете върху "Отказ", за да излезете от съветника. - {\WixUI_Font_Title}Всичко е готово за поправяне на [ProductName] - &Премахни - Щракнете върху "Премахни", за да премахнете [ProductName] от компютъра си. Щракнете върху "Назад", за да прегледате или промените настройките за инсталиране. Щракнете върху "Отказ", за да излезете от съветника. - {\WixUI_Font_Title}Готовност за премахване на [ProductName] - &Актуализирай - Щракнете върху "Актуализирай", за да актуализирате [ProductName] от компютъра. Щракнете върху "Назад", за да прегледате или промените настройките за инсталиране. Щракнете върху "Отказ", за да излезете от съветника. - {\WixUI_Font_Title}Готовност за актуализиране на [ProductName] - - Инсталиране на [ProductName] - &Върни се - Моля, изчакайте, докато програмата за инсталиране определи изискванията за свободно пространство на вашия диск. - WixUI_Ico_Exclam - Икона за възклицание - - Инсталиране на [ProductName] - WixUI_Bmp_Dialog - Съветникът за инсталиране ще инсталира [ProductName] на компютъра. Щракнете върху "Напред", за да продължите, или върху "Отказ", за да излезете от съветника за инсталиране. - Съветникът за инсталиране ще актуализира [ProductName] на компютъра. Щракнете върху "Напред", за да продължите, или върху "Отказ", за да излезете от съветника за инсталиране. - {\WixUI_Font_Bigger}Добре дошли в съветника за инсталиране на [ProductName] - - Инсталиране на [ProductName] - WixUI_Bmp_Dialog - &Приемам условията в лицензионното споразумение - &Инсталирай - &Актуализирай - {\WixUI_Font_Title}Прочетете лицензионното споразумение за [ProductName] - - Проверка на инсталирането - Копиране на нови файлове - Файл: [1], директория: [9], размер: [6] - Копиране на файлове за инсталиране на мрежата - Файл: [1], директория: [9], размер: [6] - Изчисляване на нужното свободно място - Изчисляване на нужното свободно място - Изчисляване на нужното свободно място - Създаване на преки пътища - Пряк път: [1] - Публикуване на отговарящи на условията компоненти - ИД на компонент: [1], квалификатор: [2] - Публикуване на компонентите на продукта - Компонент: [1] - Публикуване на информацията за продукта - Регистриране на клас сървъри - ИД на клас: [1] - Регистриране на сървърите за разширения - Разширение: [1] - Регистриране на MIME информация - Тип MIME съдържание: [1], разширение: [2] - Регистриране на програмните идентификатори - ProgId: [1] - Заделяне на място в системния регистър - Свободно място: [1] - Търсене на инсталирани приложения - Свойство: [1], подпис: [2] - Обвързване на изпълнимите файлове - Файл: [1] - Търсене на отговарящи на условията продукти - Създаване на папки - Папка: [1] - Изтриване на услуги - Услуга: [1] - Създаване на дублиращи се файлове - Файл: [1], директория: [9], размер: [6] - Търсене на сродни приложения - Открито приложение: [1] - Инсталиране на ODBC компоненти - Инсталиране на нови услуги - Услуга: [2] - Оценка на условията за стартиране - Преместване на състоянията на функциите от сродни приложения - Приложение: [1] - Преместване на файлове - Файл: [1], директория: [9], размер: [6] - Коригиране на файлове - Файл: [1], директория: [2], размер: [3] - Актуализиране на регистрацията на компоненти - Регистриране на COM+ приложения и компоненти - AppId: [1]{{, AppType: [2], потребители: [3], RSN: [4]}} - Регистриране на шрифтове - Шрифт: [1] - Регистриране на продукта - [1] - Регистриране на библиотеките с типове - LibID: [1] - Регистриране на потребителя - [1] - Премахване на дублиращите се файлове - Файл: [1], директория: [9] - Актуализиране на низовете за средата - Име: [1], стойност: [2], действие [3] - Премахване на приложенията - Приложение: [1], команден ред: [2] - Премахване на файловете - Файл: [1], директория: [9] - Премахване на папките - Папка: [1] - Премахване на записи от INI файлове - Файл: [1], раздел: [2], ключ: [3], стойност: [4] - Премахване на ODBC компонентите - Премахване на стойности от системния регистър - Ключ: [1], име: [2] - Премахване на преките пътища - Пряк път: [1] - Търсене на отговарящи на условията продукти - Регистриране на модули - Файл: [1], папка: [2] - Дерегистриране на модулите - Файл: [1], папка: [2] - Инициализиране на ODBC директории - Стартиране на услугите - Услуга: [1] - Спиране на услугите - Услуга: [1] - Премахване на публикуваните отговарящи на условията компоненти - ИД на компонент: [1], квалификатор: [2] - Премахване на публикуваните компоненти на продукта - Компонент: [1] - Дерегистриране на клас сървърите - ИД на клас: [1] - Дерегистриране на COM+ приложенията и компонентите - AppId: [1]{{, AppType: [2]}} - Дерегистриране на сървърите за разширения - Разширение: [1] - Дерегистриране на шрифтовете - Шрифт: [1] - Дерегистриране на MIME информацията - Тип MIME съдържание: [1], разширение: [2] - Дерегистриране на програмните идентификатори - ProgId: [1] - Дерегистриране на библиотеките с типове - LibID: [1] - Актуализиране на низовете за средата - Име: [1], стойност: [2], действие [3] - Записване на стойности в INI файловете - Файл: [1], раздел: [2], ключ: [3], стойност: [4] - Записване на стойности в системния регистър - Ключ: [1], име: [2], стойност: [3] - Обявяване на приложението - Генериране на операции със скриптове за действието: - [1] - Инсталиране на системния каталог - Файл: [1], зависимости: [2] - Публикуване на информация за блок - Контекст на приложението:[1], Име на блока:[2] - Премахване на публикуваната информация за блок - Контекст на приложението:[1], Име на блока:[2] - Връщане на процеса: - [1] - Премахване на архивните файлове - Файл: [1] - Премахване на преместените файлове - Файл: [1], директория: [9] - Премахване на публикуваната информация за продукта - - {{Фатална грешка: }} - {{Грешка [1]. }} - Предупреждение [1]. - Информация [1]. - В програмата за инсталиране възникна неочаквана грешка по време на инсталиране на пакета. Това може да означава проблем в самия пакет. Кодът на грешката е [1]. {{Аргументите са: [2], [3], [4]}} - {{Дискът е пълен: }} - Действие [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Тип съобщение: [1], аргумент: [2] - === Начало на регистрирането: [Date] [Time] === - === Край на регистрирането: [Date] [Time] === - Стартиране на действието [Time]: [1]. - Спиране на действието [Time]: [1]. Върната стойност [2]. - Оставащо време: {[1] минути }{[2] секунди} - Няма достатъчно памет. Затворете останалите приложения, преди да опитате отново. - Програмата за инсталиране не отговаря. - Програмата за инсталиране спря преждевременно. - Моля, изчакайте, докато Windows конфигурира [ProductName] - Събиране на необходимата информация... - Премахване на по-старите версии на това приложение... - Подготовка за премахване на по-старите версии на това приложение... - Инсталирането на [ProductName] завърши успешно. - Инсталирането на {[ProductName] } е неуспешно. - Грешка при четене от файл: [2]. {{ Системна грешка [3].}} Проверете дали файлът съществува и дали имате достъп до него. - Файлът "[2]" не може да се създаде. Вече съществува директория с това име. Отменете инсталирането, след което опитайте да инсталирате на друго местоположение. - Поставете диска: [2] - Инсталиращата програма няма достатъчно привилегии за достъп до тази директория: [2]. Инсталирането не може да продължи. Влезте като администратор или се свържете със системния администратор. - Грешка при записване във файла: [2]. Проверете дали имате достъп до тази директория. - Грешка при четене от файла [2]. {{ Системна грешка [3].}} Проверете дали файлът съществува и дали имате достъп до него. - Друго приложение има изключителен достъп до файла "[2]". Затворете всички останали приложения, след което щракнете върху "Опитай пак". - Няма достатъчно свободно място на диска за инсталиране на следния файл: [2]. Освободете място, след което щракнете върху "Опитай пак" или върху "Отказ", за да излезете. - Не е намерен файлът източник: [2]. Проверете дали файлът съществува и дали имате достъп до него. - Грешка при четене от файл: [3]. {{ Системна грешка [2].}} Проверете дали файлът съществува и дали имате достъп до него. - Грешка при записване във файла: [3]. {{ Системна грешка [2].}} Проверете дали имате достъп до тази директория. - Не е намерен файлът източник {{(кабинетен файл)}}: [2]. Проверете дали файлът съществува и дали имате достъп до него. - Директорията "[2]" не може да се създаде. Вече съществува файл с това име. Преименувайте или премахнете файла, след което щракнете върху "Опитай пак" или върху "Отказ", за да излезете. - Том [2] е недостъпен в момента. Изберете друг том. - Указаният път "[2]" е недостъпен. - Не може да се записва в указаната папка: [2]. - Възникна грешка в мрежата при опит за четене от файла: [2] - Възникна грешка при опит за създаване на директория: [2] - Възникна грешка в мрежата при опит за създаване на директория: [2] - Възникна грешка в мрежата при опит за отваряне на кабинетния файл източник: [2] - Указаният път е твърде дълъг: [2] - Програмата за инсталиране няма достатъчно привилегии за промяна на този файл: [2]. - Част от пътя към папката "[2]" е невалидна. Тя е празна или превишава позволената от системата дължина. - Пътят на папката "[2]" съдържа думи, които не са валидни за пътища на папки. - Пътят на папката "[2]" съдържа невалиден знак. - "[2]" не е валидно кратко име за файл. - Грешка при извличането на защитата на файлове: [3] GetLastError: [2] - Невалидно устройство: [2] - Грешка при прилагането на корекция във файл [2]. Файлът вероятно е актуализиран по друг начин и вече не може да се промени с тази корекция. За повече информация се свържете с доставчика на корекцията. {{Системна грешка: [3]}} - Не може да се инсталира задължителен файл, тъй като кабинетният файл [2] няма цифров подпис. Това може да означава, че кабинетният файл е повреден. - Не може да се инсталира задължителен файл, тъй като кабинетният файл [2] е с невалиден цифров подпис. Това може да означава, че кабинетният файл е повреден.{{ Върната е грешка [3] от WinVerifyTrust.}} - Неуспешно копиране на файла [2]: CRC грешка. - Неуспешно преместване на файла [2]: CRC грешка. - Неуспешно коригиране на файла [2]: CRC грешка. - Файлът "[2]" не може да се инсталира, тъй като не може да се намери в кабинетен файл "[3]". Това може да означава, че има грешка в мрежата, грешка при четене от компактдиска или проблем в самия пакет. - Задължителният кабинетен файл "[2]" е повреден и не може да се използва. Това може да означава, че има грешка в мрежата, грешка при четене от компактдиска или проблем в самия пакет. - Възникна грешка при създаването на временен файл, който е нужен за завършване на инсталирането.{{ Папка: [3]. Код на системната грешка: [2]}} - Ключът не може да се създаде: [2]. {{ Системна грешка [3].}} Проверете дали имате достатъчно права за достъп до този ключ или се свържете с отдела за поддръжка. - Ключът не може да се отвори: [2]. {{ Системна грешка [3].}} Проверете дали имате достатъчно права за достъп до този ключ или се свържете с отдела за поддръжка. - Стойността [2] не може да се изтрие от ключа [3]. {{ Системна грешка [4].}} Проверете дали имате достатъчно права за достъп до този ключ или се свържете с отдела за поддръжка. - Ключът [2] не може да се изтрие. {{ Системна грешка [3].}} Проверете дали имате достатъчно права за достъп до този ключ или се свържете с отдела за поддръжка. - Стойността [2] не може да се прочете от ключа [3]. {{ Системна грешка [4].}} Проверете дали имате достатъчно права за достъп до този ключ или се свържете с отдела за поддръжка. - Стойността [2] не може да се запише в ключа [3]. {{ Системна грешка [4].}} Проверете дали имате достатъчно права за достъп до този ключ или се свържете с отдела за поддръжка. - Не могат да се извлекат имената на стойностите от ключа [2]. {{ Системна грешка [3].}} Проверете дали имате достатъчно права за достъп до този ключ или се свържете с отдела за поддръжка. - Не могат да се извлекат имената на подключовете от ключа [2]. {{ Системна грешка [3].}} Проверете дали имате достатъчно права за достъп до този ключ или се свържете с отдела за поддръжка. - Не може да се прочете информацията за защита за ключа [2]. {{ Системна грешка [3].}} Проверете дали имате достатъчно права за достъп до този ключ или се свържете с отдела за поддръжка. - Не може да се увеличи наличното място за системния регистър. Нужни са [2] КБ свободно място в системния регистър за инсталирането на това приложение. - В момента се изпълнява друго инсталиране. Трябва първо да го завършите, за да продължите с това. - Грешка при достъп до защитени данни. Уверете се, че Windows Installer е правилно конфигуриран, след което опитайте инсталирането отново. - Потребителят "[2]" е започнал инсталиране на продукта "[3]" в предишен момент. Този потребител ще трябва отново да стартира инсталирането, за да може да използва продукта. Текущото инсталиране ще продължи сега. - Потребителят "[2]" е започнал инсталиране на продукта "[3]" в предишен момент. Този потребител ще трябва отново да стартира инсталирането, за да може да използва продукта. - Няма достатъчно място на диска – Том: "[2]"; необходимо място: [3] КБ; свободно място: [4] КБ. Освободете място на диска, след което опитайте отново. - Наистина ли искате да откажете? - Файлът [2][3] се използва{ от следния процес: Име: [4], ИД: [5], Заглавие на прозореца: "[6]"}. Затворете съответното приложение, след което опитайте отново. - Продуктът "[2]" е вече инсталиран, поради което инсталирането на този продукт не може да продължи. Двата продукта са несъвместими. - Няма достатъчно свободно място на том "[2]", за да продължи инсталирането с разрешено възстановяване. Нужни са [3] КБ, но са свободни само [4] КБ. Щракнете върху "Игнорирай", за да продължите инсталирането, без да се записва информация за възстановяване, върху "Опитай пак", за да проверите свободното място отново, или върху "Отказ", за да прекратите инсталирането. - Няма достъп до местоположението в мрежата [2]. - Следните приложения трябва да се затворят, преди да продължи инсталирането: - Не са намерени предишно инсталирани съвместими продукти за инсталиране на продукта на машината. - Възникна грешка при прилагането на настройките за защита. [2] не е валиден потребител или група. Вероятно има проблем в пакета или във връзката с домейн контролера по мрежата. Проверете връзката с мрежата, след което щракнете върху "Опитай пак" или върху "Отказ", за да прекратите инсталирането. {{Потребителският SID не може да се намери, системна грешка [3]}} - Ключът [2] е невалиден. Проверете дали сте въвели правилния ключ. - Инсталиращата програма трябва да рестартира компютъра, за да продължи конфигурирането на [2]. Щракнете върху "Да", за да рестартирате сега, или върху "Не", ако искате да рестартирате ръчно по-късно. - Трябва да рестартирате системата, за да се активират конфигурационните промени в [2]. Щракнете върху "Да", за да рестартирате сега, или върху "Не", ако искате да рестартирате ръчно по-късно. - Инсталирането на [2] е временно преустановено. Трябва да отмените направените от него промени, за да продължите това инсталиране. Искате ли да отмените тези промени? - В момента се изпълнява друго инсталиране за този продукт. Трябва да отмените направените от него промени, за да продължите това инсталиране. Искате ли да отмените тези промени? - Не може да се намери инсталационен пакет за продукта [2]. Опитайте отново инсталирането, като използвате валидно копие на инсталационния пакет "[3]". - Инсталирането завърши успешно. - Инсталирането е неуспешно. - Продукт: [2] – [3] - Можете да възстановите предишното състояние на компютъра или да продължите инсталирането по-късно. Искате ли да възстановите предишното състояние? - Възникна грешка при запис на информацията за инсталиране върху диска. Проверете дали има достатъчно свободно място на диска, след което щракнете върху "Опитай пак" или върху "Отказ", за да прекратите инсталирането. - Един или повече от нужните файлове за възстановяване на предишното състояние на компютъра не е намерен. Възстановяването не е възможно. - [2] не може да инсталира някой от нужните продукти. Свържете се с отдела за техническа поддръжка. {{Системна грешка: [3].}} - По-старата версия на [2] не може да се премахне. Свържете се с отдела за техническа поддръжка. {{Системна грешка [3].}} - [2] е инсталиран - [2] е конфигуриран - [2] е премахнат - Файлът [2] е отхвърлен от правилата за цифрови подписи. - Няма достъп до услугата Windows Installer. Това е възможно, ако Windows работи в безопасен режим или ако Windows Installer не е правилно инсталиран. Свържете се с отдела за техническа поддръжка за повече помощ. - Възникна проблем с този пакет с Windows Installer. Не може да се изпълни задължителен скрипт за това инсталиране. Свържете се с отдела за техническа поддръжка или с доставчика на пакета. {{Действие по избор [2] грешка в скрипт [3], [4]: [5] Ред [6], Колона [7], [8] }} - Възникна проблем с този пакет с Windows Installer. Не може да се изпълни задължителна програма за това инсталиране. Свържете се с отдела за техническа поддръжка или с доставчика на пакета. {{Действие: [2], местоположение: [3], команда: [4] }} - Възникна проблем с този пакет с Windows Installer. Програмата, която е изпълнена като част от инсталационния процес, не завърши нормално. Свържете се с отдела за техническа поддръжка или с доставчика на пакета. {{Действие [2], местоположение: [3], команда: [4] }} - Възникна проблем с този пакет с Windows Installer. Не може да се изпълни задължителен DLL файл за това инсталиране. Свържете се с отдела за техническа поддръжка или с доставчика на пакета. {{Действие [2], запис: [3], библиотека: [4] }} - Премахването завърши успешно. - Премахването е неуспешно. - Обявяването завърши успешно. - Обявяването е неуспешно. - Конфигурирането завърши успешно. - Конфигурирането не е успешно. - Трябва да сте администратор, за да премахнете това приложение. За да го премахнете, можете да влезете като администратор или да се свържете с отдела за техническа поддръжка за повече помощ. - Инсталационният пакет източник на продукта [2] не е синхронизиран с клиентския пакет. Опитайте отново инсталирането, като използвате валидно копие на инсталационния пакет "[3]". - За да завършите инсталирането на [2], трябва да рестартирате компютъра. В момента в компютъра са влезли други потребители и при рестартиране те могат да загубят работата си. Искате ли да рестартирате сега? - Пътят [2] не е валиден. Укажете валиден път. - Няма достатъчно памет. Затворете останалите приложения, преди да опитате отново. - Няма диск в устройство [2]. Поставете диск и щракнете върху "Опитай пак" или върху "Отказ", за да се върнете към предишно избрания том. - Няма диск в устройство [2]. Поставете диск, след което щракнете върху "Опитай пак", или върху "Отказ", за да се върнете в каталога за преглед и да изберете друг том. - Папката [2] не съществува. Въведете път към съществуваща папка. - Нямате достатъчно привилегии, за да четете тази папка. - Не е намерена валидна папка местоназначение за инсталирането. - Грешка при опит за четене от базата данни за инсталиране: [2]. - Планиране на операция за рестартиране: Преименуване на файла [2] на [3]. Компютърът трябва да се рестартира, за да завърши операцията. - Планиране на операция за рестартиране: Изтриване на файла [2]. Компютърът трябва да се рестартира, за да завърши операцията. - Неуспешно регистриране на модула [2]. HRESULT [3]. Свържете се с отдела за поддръжка. - Неуспешно дерегистриране на модула [2]. HRESULT [3]. Свържете се с отдела за поддръжка. - Неуспешно кеширане на пакета [2]. Грешка: [3]. Свържете се с отдела за поддръжка. - Неуспешно регистриране на шрифта [2]. Проверете дали имате достатъчно разрешения да инсталирате шрифтове и дали системата поддържа този шрифт. - Неуспешно дерегистриране на шрифта [2]. Проверете дали имате права да премахвате шрифтове. - Неуспешно създаване на прекия път [2]. Проверете дали папката местоназначение съществува и дали имате достъп до нея. - Неуспешно премахване на прекия път [2]. Проверете дали файлът на прекия път съществува и дали имате достъп до него. - Неуспешно регистриране на библиотеката на типовете за файла [2]. Свържете се с отдела за поддръжка. - Неуспешно премахване на регистрацията на библиотеката на типове за файла [2]. Свържете се с отдела за поддръжка. - Неуспешно актуализиране на ini файла [2][3]. Проверете дали файлът съществува и дали имате достъп до него. - Неуспешно планиране на заместването на файл [3] с файл [2] при рестартиране. Проверете дали имате разрешение за запис във файла [3]. - Неуспешно премахване на диспечера на ODBC драйвери, ODBC грешка [2]: [3]. Свържете се с отдела за поддръжка. - Неуспешно инсталиране на диспечера на ODBC драйвери, ODBC грешка [2]: [3]. Свържете се с отдела за поддръжка. - Грешка при премахване на ODBC драйвера: [4], ODBC грешка [2]: [3]. Проверете дали имате привилегии да премахвате ODBC драйвери. - Грешка при инсталиране на ODBC драйвера: [4], ODBC грешка [2]: [3]. Проверете дали файлът [4] съществува и дали имате достъп до него. - Грешка при конфигурирането на източника на ODBC данни: [4], ODBC грешка [2]: [3]. Проверете дали файлът [4] съществува и дали имате достъп до него. - Неуспешно стартиране на услугата "[2]" ([3]). Проверете дали имате достатъчно привилегии, за да стартирате системни услуги. - Услугата "[2]" ([3]) не може да бъде спряна. Проверете дали имате достатъчно привилегии, за да спирате системни услуги. - Услугата "[2]" ([3]) не може да се изтрие. Проверете дали имате достатъчно привилегии, за да премахвате системни услуги. - Услугата "[2]" ([3]) не може да се инсталира. Проверете дали имате достатъчно привилегии, за да инсталирате системни услуги. - Променливата за средата "[2]" не може да се актуализира. Проверете дали имате достатъчно привилегии, за да променяте променливи за средата. - Нямате достатъчно привилегии, за да завършите инсталирането за всички потребители на машината. Влезете като администратор, след което опитайте отново да инсталирате. - Неуспешно задаване на защитата за файла "[3]". Грешка: [2]. Проверете дали имате достатъчно привилегии, за да променяте разрешенията за защита на файла. - На компютъра няма инсталирани услуги за компоненти (COM+ 1.0). За да завърши успешно, това инсталиране изисква услуги за компоненти. Услуги за компоненти има в Windows 2000. - Грешка при регистриране на COM+ приложението. Свържете се с отдела за поддръжка за повече информация. - Грешка при премахване на регистрация на COM+ приложението. Свържете се с отдела за поддръжка за повече информация. - Описанието на услугата "[2]" ([3]) не може да се промени. - Услугата Windows Installer не може да актуализира системния файл [2], тъй като файлът е защитен от Windows. За да работи правилно програмата, трябва да актуализирате операционната система. {{Версия на пакета: [3], Версия на защитената операционна система: [4]}} - Услугата Windows Installer не може да актуализира защитения файл на Windows [2]. {{Версия на пакета: [3], Версия на защитената операционна система: [4], SFP грешка: [5]}} - Услугата Windows Installer не може да актуализира един или повече защитени файлове на Windows. {{SFP грешка: [2]. Списък със защитени файлове:\r\n[3]}} - Потребителските инсталации са забранени от правила на компютъра. - Възникна грешка при инсталиране на сбора "[6]". За повече информация вижте в "Помощ и поддръжка". HRESULT: [3]. {{интерфейс на сбора: [4], функция: [5], компонент [2]}} - Възникна грешка при инсталиране на сбора "[6]". Сборът няма защитено име или не е подписан с ключ с минималната дължина. HRESULT: [3]. {{интерфейс на сбора: [4], функция: [5], компонент: [2]}} - Възникна грешка при инсталиране на сбора "[6]". Подписът или каталогът не могат да се проверят или не са валидни. HRESULT: [3]. {{интерфейс на сбора: [4], функция: [5], компонент: [2]}} - Възникна грешка при инсталиране на сбора "[6]". Един или повече модули не могат да се открият. HRESULT: [3]. {{интерфейс на сбора: [4], функция: [5], компонент: [2]}} - - байтове - ГБ - КБ - МБ - Целият компонент няма да е наличен - Компонентът ще се инсталира, когато е необходимо - Целият компонент ще бъде инсталиран така, че да се изпълнява от компактдиск - Целият компонент ще бъде инсталиран върху локалния твърд диск - Целият компонент ще бъде инсталиран да се изпълнява от мрежата - Ще се инсталира така, че да се изпълнява от компактдиск - Ще се инсталира върху локалния твърд диск - Ще се инсталира да се изпълнява от мрежата - Папка|Нова папка - Събиране на необходимата информация... - Този компонент ще остане неинсталиран - Този компонент ще се инсталира при нужда - Този компонент ще се инсталира така, че да се изпълнява от компактдиск - Този компонент ще се инсталира на локалния твърд диск - Този компонент ще се инсталира да се изпълнява от мрежата - Този компонент няма да е достъпен - Ще се инсталира при нужда - Този компонент ще се инсталира така, че да се изпълнява от компактдиск - Този компонент ще се инсталира върху локалния твърд диск - Този компонент ще може да се изпълнява от мрежата - Този компонент ще се деинсталира изцяло, така че няма да можете да го изпълнявате от компактдиск - Този компонент няма да се изпълнява от компактдиска, а ще се инсталира само при нужда - Този компонент ще продължава да се изпълнява от компактдиск - Този компонент няма да може да се изпълнява от компактдиск, а ще бъде инсталиран на локалния твърд диск - Този компонент освобождава [1] на твърдия диск. - Този компонент изисква [1] на твърдия диск. - Изчисляване на изискванията за този компонент... - Този компонент ще се премахне изцяло - Този компонент ще се премахне от локалния твърд диск и ще се инсталира само при нужда - Този компонент ще се премахне от локалния ви твърд диск, но все пак ще може да се изпълнява от компактдиск - Този компонент ще остане на вашия локален твърд диск - Този компонент ще се премахне от локалния ви твърд диск, но все пак ще може да се изпълнява от мрежата - Този компонент ще се деинсталира изцяло, така че няма да можете да го изпълнявате от мрежата - Този компонент няма да може да се изпълнява от мрежата, но ще може да се инсталира при необходимост - Този компонент няма да може да се изпълнява от мрежата, а ще бъде инсталиран на локалния твърд диск - Този компонент ще продължава да се изпълнява от мрежата - Този компонент освобождава [1] на твърдия диск. Избрани са [2] от [3] подкомпонента. Подкомпонентите освобождават [4] на твърдия диск. - Този компонент освобождава [1] на твърдия диск. Избрани са [2] от [3] подкомпонента. Подкомпонентите изискват [4] на твърдия диск. - Този компонент изисква [1] на твърдия диск. Избрани са [2] от [3] подкомпонента. Подкомпонентите освобождават [4] на твърдия диск. - Този компонент изисква [1] на твърдия диск. Избрани са [2] от [3] подкомпонента. Подкомпонентите изискват [4] на твърдия диск. - Оставащо време: {[1] минути }{[2] секунди} - Налично - Разлика - Задължителен - Размер на диска - Том - diff --git a/Src/Localization/WixUI/WixUI_ca-ES.wxl b/Src/Localization/WixUI/WixUI_ca-ES.wxl deleted file mode 100644 index 08168e8..0000000 --- a/Src/Localization/WixUI/WixUI_ca-ES.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Endarrere - &Endavant - Cancel·la - &Final - &Torna-ho a provar - &Ignora-ho - &Sí - &No - D'acord - &Imprimeix - - Instal·lació del producte [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Llegiu el contracte de llicència del producte [ProductName] - &Accepto les condicions del contracte de llicència - Feu clic a Instal·la per instal·lar el producte amb opcions predeterminades per a tots els usuaris. Feu clic a Avançades per canviar les opcions d'instal·lació. - Feu clic a Instal·la per instal·lar el producte amb opcions predeterminades només per al vostre usuari. Feu clic a Avançades per canviar les opcions d'instal·lació. - &Instal·la - A&vançades - 8 - 12 - 9 - 8 - Tahoma - - Instal·lació del producte [ProductName] - &Mira a: - WixUI_Bmp_Up - Un nivell amunt - WixUI_Bmp_New - Crea una carpeta nova - &Nom de la carpeta: - WixUI_Bmp_Banner - Navega a la carpeta de destinació - {\WixUI_Font_Title}Canvia la carpeta de destinació - - Instal·lació del producte [ProductName] - Esteu segur que voleu cancel·lar la instal·lació del producte [ProductName]? - WixUI_Ico_Info - Icona d'informació - - Instal·lació del producte [ProductName] - Arbre de seleccions - N&avega... - Re&stableix - &Ús de disc - WixUI_Bmp_Banner - Feu clic a les icones de l'arbre que apareix a continuació per canviar la manera en què s'instal·laran les característiques. - Seleccioneu la manera en què voleu que s'instal·lin les característiques. - {\WixUI_Font_Title}Configuració personalitzada - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Ubicació: - - Instal·lació del producte [ProductName] - WixUI_Bmp_Banner - Els volums ressaltats no tenen prou espai disponible al disc per a les característiques seleccionades. Podeu suprimir alguns fitxers dels volums ressaltats, instal·lar menys característiques o seleccionar altres unitats de destinació. - L'espai de disc necessari per a la instal·lació de les característiques seleccionades. - {\WixUI_Font_Title}Requisits d'espai al disc - {120}{70}{70}{70}{70} - - Instal·lació del producte [ProductName] - Text informatiu - WixUI_Ico_Info - Icona d'informació - - Instal·lació del producte [ProductName] - WixUI_Bmp_Dialog - Feu clic al botó Final per sortir de l'auxiliar d'instal·lació. - {\WixUI_Font_Bigger}S'ha completat l'auxiliar d'instal·lació del producte [ProductName] - - Instal·lació del producte [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}L'auxiliar d'instal·lació del producte [ProductName] ha finalitzat abans d'hora - L'auxiliar d'instal·lació del producte [ProductName] ha finalitzat abans d'hora a causa d'un error. No s'ha modificat el sistema. Per instal·lar aquest programa en un altre moment, torneu a executar l'auxiliar d'instal·lació. - Feu clic al botó Final per sortir de l'auxiliar d'instal·lació. - - Instal·lació del producte [ProductName] - Característiques del producte - WixUI_Bmp_Banner - Seleccioneu la manera en què voleu que s'instal·lin les característiques. - {\WixUI_Font_Title}Característiques del producte - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Instal·la - &Canvia - - Instal·lació del producte [ProductName] - &Surt - WixUI_Bmp_Banner - Les següents aplicacions fan servir fitxers que cal actualitzar en aquesta instal·lació. Tanqueu aquestes aplicacions i feu clic a &Torna-ho a provar per continuar amb la instal·lació o bé a Surt per sortir-ne. - S'estan utilitzant alguns fitxers que cal actualitzar. - {\WixUI_Font_Title}Fitxers en ús - - Instal·lació del producte [ProductName] - &Canvia... - {\WixUI_Font_Title}Carpeta de destinació - Feu clic a Endavant per instal·lar a la carpeta predeterminada o feu clic a Canvia per triar-ne una altra. - WixUI_Bmp_Banner - Instal·la el producte [ProductName] a: - - Instal·lació del producte [ProductName] - WixUI_Bmp_Banner - Trieu l'àmbit d'instal·lació i la carpeta - {\WixUI_Font_Title}Àmbit d'instal·lació - {\WixUI_Font_Emphasized}Instal·la &només per al vostre usuari ([LogonUser]) - El producte [ProductName] s'instal·larà en una carpeta per usuari i estarà disponible només per al compte del vostre usuari. No necessiteu privilegis locals d'administrador. - El producte [ProductName] no admet la instal·lació per usuari. - {\WixUI_Font_Emphasized}Instal·la per a tots els usuaris d'aquest &ordinador - El producte [ProductName] s'instal·larà en una carpeta per ordinador de manera predeterminada i estarà disponible per a tots els usuaris. Podeu canviar la carpeta d'instal·lació predeterminada. Heu de tenir privilegis locals d'administrador. - Carpeta d'&instal·lació: - &Canvia... - - Instal·lació del producte [ProductName] - El directori d'instal·lació ha de trobar-se en una unitat de disc dur local. - WixUI_Ico_Info - Icona d'informació - - Instal·lació del producte [ProductName] - &Accepto les condicions del contracte de llicència - WixUI_Bmp_Banner - Llegiu el contracte de llicència següent atentament - {\WixUI_Font_Title}Contracte de llicència de l'usuari final - - Instal·lació del producte [ProductName] - &Canvia - Canvia la instal·lació - Re&para - Repara la instal·lació - &Suprimeix - Suprimeix la instal·lació - WixUI_Bmp_Banner - Seleccioneu l'operació que voleu realitzar. - {\WixUI_Font_Title}Canvi, reparació o supressió de la instal·lació - Permet canviar la manera com s'instal·len les característiques. - El producte [ProductName] no té cap característica que es pugui seleccionar de manera independent. - Suprimeix el producte [ProductName] de l'ordinador. - No es pot suprimir el producte [ProductName]. - Repara els errors de la instal·lació més recent corregint fitxers, dreceres i entrades del registre perduts i malmesos. - No es pot reparar el producte [ProductName]. - - Instal·lació del producte [ProductName] - WixUI_Bmp_Dialog - L'auxiliar d'instal·lació us permet canviar la manera com s'instal·len les característiques del producte [ProductName] a l'ordinador o bé suprimir el producte. Feu clic a Endavant per continuar, o a Cancel·la, per sortir de l'auxiliar d'instal·lació. - {\WixUI_Font_Bigger}Benvinguts a l'auxiliar d'instal·lació del producte [ProductName] - - Instal·lació del producte [ProductName] - WixUI_Bmp_Banner - Les següents aplicacions fan servir fitxers que cal actualitzar en aquesta instal·lació. Podeu deixar que l'auxiliar d'instal·lació les tanqui i intenti reiniciar-les o podeu reiniciar l'ordinador més tard. - S'estan utilitzant alguns fitxers que cal actualitzar. - {\WixUI_Font_Title}Fitxers en ús - &Tanca les aplicacions i intenta reiniciar-les. - &No tanquis les aplicacions. Caldrà reiniciar. - - Instal·lació del producte [ProductName] - WixUI_Bmp_Banner - Els volums marcats no tenen prou espai al disc per a les característiques que heu seleccionat. Podeu suprimir alguns fitxers dels volums marcats, instal·lar menys característiques o seleccionar una altra unitat de destinació. - L'espai de disc necessari per a la instal·lació supera l'espai disponible al disc. - {\WixUI_Font_Title}No hi ha prou espai al disc - {120}{70}{70}{70}{70} - - Instal·lació del producte [ProductName] - WixUI_Bmp_Banner - Els volums marcats no tenen prou espai al disc per a les característiques que heu seleccionat. Podeu suprimir alguns fitxers dels volums marcats, instal·lar menys característiques o seleccionar una altra unitat de destinació. - L'espai de disc necessari per a la instal·lació supera l'espai disponible al disc. - {\WixUI_Font_Title}No hi ha prou espai al disc - {120}{70}{70}{70}{70} - També podeu inhabilitar la funcionalitat de reversió de l'instal·lador. D'aquesta manera, evitareu que l'instal·lador restauri l'estat original de l'ordinador si hi hagués qualsevol tipus d'interrupció durant la instal·lació. Feu clic a Sí si voleu assumir el risc d'inhabilitar la reversió. - - Instal·lació del producte [ProductName] - WixUI_Bmp_Dialog - Espereu mentre l'auxiliar d'instal·lació es prepara per guiar-vos pel procés d'instal·lació. - {\WixUI_Font_Bigger}Benvinguts a l'auxiliar d'instal·lació del producte [ProductName] - - Instal·lació del producte [ProductName] - WixUI_Bmp_Banner - Espereu mentre l'auxiliar d'instal·lació instal·la el producte [ProductName]. - {\WixUI_Font_Title}S'està instal·lant el producte [ProductName] - Espereu mentre l'auxiliar d'instal·lació canvia el producte [ProductName]. - {\WixUI_Font_Title}S'està canviant el producte [ProductName] - Espereu mentre l'auxiliar d'instal·lació repara el producte [ProductName]. - {\WixUI_Font_Title}S'està reparant el producte [ProductName] - Espereu mentre l'auxiliar d'instal·lació suprimeix el producte [ProductName]. - {\WixUI_Font_Title}S'està suprimint el producte [ProductName] - Espereu mentre l'auxiliar d'instal·lació actualitza el producte [ProductName]. - {\WixUI_Font_Title}S'està actualitzant el producte [ProductName] - Progrés - Estat: - - Instal·lació del producte [ProductName] - &Instal·la - WixUI_Bmp_Dialog - L'auxiliar d'instal·lació completarà la instal·lació del producte [ProductName] a l'ordinador. Feu clic a Instal·la per continuar o a Cancel·la per sortir de l'auxiliar d'instal·lació. - {\WixUI_Font_Bigger}S'està reprenent l'auxiliar d'instal·lació del producte [ProductName] - - Instal·lació del producte [ProductName] - &Típica - Instal·lació típica - P&ersonalitzada - Instal·lació personalitzada - C&ompleta - Instal·lació completa - WixUI_Bmp_Banner - {\WixUI_Font_Title}Trieu un tipus de configuració - Trieu el tipus de configuració que més bé s'adapti a les vostres necessitats - Instal·la les característiques del programa més comunes. Recomanat per a la majoria dels usuaris. - Permet que els usuaris triïn quines característiques del programa s'instal·laran i on s'instal·laran. Recomanat per a usuaris avançats. - S'instal·laran totes les característiques del programa. Requereix la major part de l'espai al disc. - - Instal·lació del producte [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}S'ha interromput l'auxiliar d'instal·lació del producte [ProductName] - S'ha interromput la configuració del producte [ProductName]. No s'ha modificat el sistema. Per instal·lar aquest programa en un altre moment, torneu a executar la instal·lació. - Feu clic al botó Final per sortir de l'auxiliar d'instal·lació. - - Instal·lació del producte [ProductName] - WixUI_Bmp_Banner - &Instal·la - Feu clic a Instal·la per començar la instal·lació. Feu clic a Endarrere per revisar o canviar les opcions de configuració de la instal·lació. Feu clic a Cancel·la per sortir de l'auxiliar. - {\WixUI_Font_Title}A punt per instal·lar el producte [ProductName] - &Canvia - Feu clic a Canvia per començar la instal·lació. Feu clic a Endarrere per revisar o canviar les opcions de configuració de la instal·lació. Feu clic a Cancel·la per sortir de l'auxiliar. - {\WixUI_Font_Title}A punt per canviar el producte [ProductName] - Re&para - Feu clic a Repara per reparar la instal·lació del producte [ProductName]. Feu clic a Endarrere per revisar o canviar les opcions de configuració de la instal·lació. Feu clic a Cancel·la per sortir de l'auxiliar. - {\WixUI_Font_Title}A punt per reparar el producte [ProductName] - &Suprimeix - Feu clic a Suprimeix per suprimir el producte [ProductName] de l'ordinador. Feu clic a Endarrere per revisar o canviar les opcions de configuració de la instal·lació. Feu clic a Cancel·la per sortir de l'auxiliar. - {\WixUI_Font_Title}A punt per suprimir el producte [ProductName] - &Actualitza - Feu clic a Actualitza per actualitzar el producte [ProductName] de l'ordinador. Feu clic a Endarrere per revisar o canviar les opcions de configuració de la instal·lació. Feu clic a Cancel·la per sortir de l'auxiliar. - {\WixUI_Font_Title}A punt per actualitzar el producte [ProductName] - - Instal·lació del producte [ProductName] - &Torna - Espereu mentre l'instal·lador determina els requisits d'espai al disc. - WixUI_Ico_Exclam - Icona d'exclamació - - Instal·lació del producte [ProductName] - WixUI_Bmp_Dialog - L'auxiliar d'instal·lació instal·larà el producte [ProductName] a l'ordinador. Feu clic a Endavant per continuar o a Cancel·la per sortir de l'auxiliar d'instal·lació. - L'auxiliar d'instal·lació actualitzarà el producte [ProductName] a l'ordinador. Feu clic a Endavant per continuar o a Cancel·la per sortir de l'auxiliar d'instal·lació. - {\WixUI_Font_Bigger}Benvinguts a l'auxiliar d'instal·lació del producte [ProductName] - - Instal·lació del producte [ProductName] - WixUI_Bmp_Dialog - &Accepto les condicions del contracte de llicència - &Instal·la - &Actualitza - {\WixUI_Font_Title}Llegiu el contracte de llicència del producte [ProductName] - - S'està validant la instal·lació - S'estan copiant els fitxers nous - Fitxer: [1], directori: [9], mida: [6] - S'estan copiant els fitxers d'instal·lació de xarxa - Fitxer: [1], directori: [9], mida: [6] - S'estan calculant els requisits d'espai - S'estan calculant els requisits d'espai - S'estan calculant els requisits d'espai - S'estan creant les dreceres - Drecera: [1] - S'estan publicant els components qualificats - ID de component: [1], qualificador: [2] - S'estan publicant les característiques del producte - Característica: [1] - S'està publicant la informació del producte - S'estan registrant els servidors de classes - ID de classe: [1] - S'estan registrant els servidors d'extensions - Extensió: [1] - S'està registrant la informació MIME - Tipus de contingut MIME: [1], extensió: [2] - S'estan registrant els identificadors de programa - Identificador del programa: [1] - S'està assignant l'espai del registre - Espai lliure: [1] - S'estan cercant les aplicacions instal·lades - Propietat: [1], signatura: [2] - S'estan vinculant els executables - Fitxer: [1] - S'estan cercant els productes necessaris - S'estan creant les carpetes - Carpeta: [1] - S'estan suprimint els serveis - Servei: [1] - S'estan creant fitxers duplicats - Fitxer: [1], directori: [9], mida: [6] - S'estan cercant les aplicacions relacionades - S'ha trobat una aplicació: [1] - S'estan instal·lant els components ODBC - S'estan instal·lant els serveis nous - Servei: [2] - S'estan avaluant les condicions d'inici - S'estan migrant els estats de les característiques des d'aplicacions relacionades - Aplicació: [1] - S'estan desplaçant els fitxers - Fitxer: [1], directori: [9], mida: [6] - S'estan aplicant revisions als fitxers - Fitxer: [1], directori: [2], mida: [3] - S'està actualitzant el registre de components - S'estan registrant les aplicacions i els components COM+ - ID aplicació: [1]{{, tipus d'aplicació: [2], usuaris: [3], RSN: [4]}} - S'estan registrant els tipus de lletra - Tipus de lletra: [1] - S'està registrant el producte - [1] - S'estan registrant les biblioteques de tipus - Identificador de la biblioteca: [1] - S'està registrant l'usuari - [1] - S'estan suprimint els fitxers duplicats - Fitxer: [1], directori: [9] - S'estan actualitzant les cadenes de l'entorn - Nom: [1], valor: [2], acció: [3] - S'estan suprimint les aplicacions - Aplicació: [1], línia d'ordres: [2] - S'estan suprimint els fitxers - Fitxer: [1], directori: [9] - S'estan suprimint les carpetes - Carpeta: [1] - S'estan suprimint les entrades dels fitxers INI - Fitxer: [1], secció: [2], clau: [3], valor: [4] - S'estan suprimint els components ODBC - S'estan suprimint els valors de registre del sistema - Clau: [1], nom: [2] - S'estan suprimint les dreceres - Drecera: [1] - S'estan cercant els productes necessaris - S'estan registrant els mòduls - Fitxer: [1], carpeta: [2] - S'estan suprimint els mòduls del registre - Fitxer: [1], carpeta: [2] - S'estan inicialitzant els directoris d'ODBC - S'estan iniciant els serveis - Servei: [1] - S'estan aturant els serveis - Servei: [1] - S'està suprimint la publicació dels components qualificats - ID de component: [1], qualificador: [2] - S'està suprimint la publicació de les característiques del producte - Característica: [1] - Suprimeix del registre els servidors de classes - ID de classe: [1] - S'estan suprimint del registre les aplicacions i els components COM+ - Identificador de l'aplicació: [1]{{, tipus d'aplicació: [2]}} - S'estan suprimint del registre els servidors d'extensions - Extensió: [1] - S'estan suprimint del registre els tipus de lletra - Tipus de lletra: [1] - S'està suprimint del registre la informació MIME - Tipus de contingut MIME: [1], extensió: [2] - S'estan suprimint del registre els identificadors de programa - Identificador del programa: [1] - S'estan suprimint del registre les biblioteques de classes - Identificador de la biblioteca: [1] - S'estan actualitzant les cadenes de l'entorn - Nom: [1], valor: [2], acció: [3] - S'estan escrivint els valors dels fitxers INI - Fitxer: [1], secció: [2], clau: [3], valor: [4] - S'estan escrivint els valors del registre del sistema - Clau: [1], nom: [2], valor: [3] - S'està anunciant l'aplicació - S'estan generant les operacions de seqüència per a l'acció: - [1] - S'està instal·lant el catàleg del sistema - Fitxer: [1], dependències: [2] - S'està publicant la informació de l'assemblat - Context d'aplicació: [1], nom de l'assemblat: [2] - S'està suprimint la publicació de la informació de l'assemblat - Context d'aplicació: [1], nom de l'assemblat: [2] - S'està recuperant l'acció: - [1] - S'estan suprimint els fitxers de còpia de seguretat - Fitxer: [1] - S'estan suprimint els fitxers desplaçats - Fitxer: [1], directori: [9] - S'està suprimint la publicació de la informació del producte - - {{Error greu: }} - {{Error [1]. }} - Advertiment [1]. - Informació [1]. - L'instal·lador ha detectat un error inesperat en instal·lar el paquet. Pot indicar un problema amb el paquet. El codi de l'error és: [1]. {{Els arguments són: [2], [3], [4]}} - {{Disc ple: }} - Acció [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Tipus de missatge: [1], argument: [2] - === El registre ha començat: [Date] [Time] === - === El registre s'ha aturat: [Date] [Time] === - L'acció ha començat a les [Time]: [1]. - L'acció ha finalitzat a les [Time]: [1]. Valor retornat: [2]. - Temps restant: {[1] minuts }{[2] segons} - No hi ha prou memòria. Tanqueu altres aplicacions i torneu-ho a provar. - L'instal·lador ja no respon. - L'instal·lador s'ha aturat abans d'hora. - Espereu mentre el Windows configura el producte [ProductName] - S'està recopilant la informació necessària... - S'estan suprimint les versions anteriors d'aquesta aplicació... - S'està preparant la supressió de les versions anteriors de l'aplicació... - La instal·lació del producte {[ProductName] }s'ha completat correctament. - S'ha produït un error a la instal·lació del producte {[ProductName]}. - S'ha produït un error en llegir el fitxer: [2]. {{ Error del sistema [3].}} Comproveu que existeix i que hi podeu accedir. - No es pot crear el fitxer "[2]". Hi ha un directori que té el mateix nom. Cancel·leu la instal·lació i torneu-ho a provar en una altra ubicació. - Inseriu el disc: [2] - L'instal·lador no té prou privilegis per accedir a aquest directori: [2]. La instal·lació no pot continuar. Inicieu sessió com a administrador o poseu-vos en contacte amb l'administrador del sistema. - S'ha produït un error en escriure al fitxer: [2]. Comproveu que teniu accés a aquest directori. - S'ha produït un error en llegir el fitxer [2]. {{ Error del sistema [3].}} Comproveu que el fitxer existeix i que hi podeu accedir. - Hi ha una altra aplicació que té accés exclusiu al fitxer "[2]". Tanqueu totes les altres aplicacions i feu clic a Torna-ho a provar. - No hi ha prou espai al disc per instal·lar el fitxer: [2]. Allibereu espai al disc i feu clic a Torna-ho a provar, o bé feu clic a Cancel·la per sortir. - No s'ha trobat el fitxer d'origen: [2]. Comproveu que el fitxer existeix i que hi podeu accedir. - S'ha produït un error en llegir el fitxer: [3]. {{ Error del sistema [2].}} Comproveu que el fitxer existeix i que hi podeu accedir. - S'ha produït un error en escriure al fitxer: [3]. {{ Error del sistema [2].}} Comproveu que teniu accés al directori. - No s'ha trobat el fitxer d'origen{{(cabinet)}}: [2]. Comproveu que el fitxer existeix i que hi podeu accedir. - No es pot crear el directori "[2]". Hi ha un fitxer que té el mateix nom. Canvieu el nom del fitxer o suprimiu-lo i feu clic a Torna-ho a provar, o bé feu clic a Cancel·la per sortir. - El volum [2] no està disponible en aquest moment. Seleccioneu-ne un altre. - El camí especificat, "[2]", no està disponible. - No es pot escriure a la carpeta especificada: [2]. - S'ha produït un error de xarxa en intentar llegir el fitxer: [2] - S'ha produït un error en intentar crear el directori: [2] - S'ha produït un error de xarxa en intentar crear el directori: [2] - S'ha produït un error de xarxa en intentar obrir el CAB del fitxer d'origen: [2] - El camí especificat és massa llarg: [2] - L'instal·lador no té prou privilegis per modificar aquest fitxer: [2]. - Part del camí de la carpeta "[2]" no és vàlid. El valor és buit o supera la longitud permesa pel sistema. - El camí de la carpeta "[2]" conté paraules no vàlides en camins de carpetes. - El camí de la carpeta "[2]" conté un caràcter no vàlid. - "[2]" no és un nom de fitxer curt vàlid. - S'ha produït un error en obtenir la seguretat del fitxer: [3] GetLastError: [2] - Unitat no vàlida: [2] - S'ha produït un error en aplicar el pedaç al fitxer [2]. Pot ser que s'hagi actualitzat d'una altra manera i ja no es pot modificar amb aquest pedaç. Per obtenir més informació, poseu-vos en contacte amb el proveïdor del pedaç. {{Error del sistema: [3]}} - No es pot instal·lar un fitxer necessari perquè el fitxer cabinet [2] no està signat electrònicament. Això pot indicar que el fitxer cabinet està malmès. - No es pot instal·lar un fitxer necessari perquè el fitxer cabinet [2] té una signatura electrònica no vàlida. Això pot indicar que el fitxer cabinet està malmès.{{ WinVerifyTrust ha retornat l'error [3].}} - No s'ha pogut copiar correctament el fitxer [2]: error de CRC. - No s'ha pogut desplaçar correctament el fitxer [2]: error de CRC. - No s'ha pogut aplicar el pedaç correctament al fitxer [2]: error de CRC. - El fitxer "[2]" no es pot instal·lar perquè no es troba al fitxer CAB "[3]". Això podria indicar un error de xarxa, un error en llegir del CD-ROM, o bé un problema amb el paquet. - El fitxer CAB "[2]" necessari per a aquesta instal·lació està malmès i no es pot utilitzar. Això podria indicar un error de xarxa, un error en llegir del CD-ROM, o bé un problema amb el paquet. - S'ha produït un error en crear un fitxer temporal necessari per completar la instal·lació. {{ Carpeta: [3]. Codi d'error del sistema: [2]}} - No s'ha pogut crear la clau: [2]. {{ Error del sistema [3].}} Comproveu que teniu l'accés necessari a la clau o poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut obrir la clau: [2]. {{ Error del sistema [3].}} Comproveu que teniu l'accés necessari a la clau o poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut suprimir el valor [2] de la clau [3]. {{ Error del sistema [4].}} Comproveu que teniu l'accés necessari a la clau o poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut suprimir la clau [2]. {{ Error del sistema [3].}} Comproveu que teniu l'accés necessari a la clau o poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut llegir el valor [2] de la clau [3]. {{ Error del sistema [4].}} Comproveu que teniu l'accés necessari a la clau o poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut escriure el valor [2] a la clau [3]. {{ Error del sistema [4].}} Comproveu que teniu l'accés necessari a la clau o poseu-vos en contacte amb el personal de suport tècnic. - No s'han pogut obtenir els noms dels valors de la clau [2]. {{ Error del sistema [3].}} Comproveu que teniu l'accés necessari a la clau o poseu-vos en contacte amb el personal de suport tècnic. - No s'han pogut obtenir els noms de les subclaus de la clau [2]. {{ Error del sistema [3].}} Comproveu que teniu l'accés necessari a la clau o poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut llegir la informació de seguretat de la clau [2]. {{ Error del sistema [3].}} Comproveu que teniu l'accés necessari a la clau o poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut augmentar l'espai disponible al registre. Cal tenir [2] kB d'espai lliure al registre per instal·lar aquesta aplicació. - Hi ha una altra instal·lació en curs. Completeu l'altra instal·lació abans de continuar amb aquesta. - S'ha produït un error en accedir a dades protegides. Assegureu-vos que el Windows Installer està configurat correctament i torneu a intentar portar a terme la instal·lació. - L'usuari "[2]" ja ha iniciat prèviament una instal·lació del producte "[3]", però haurà de tornar a executar-la per poder utilitzar el producte. La instal·lació actual d'aquest producte continuarà. - L'usuari "[2]" ja ha iniciat prèviament una instal·lació del producte "[3]", però haurà de tornar a executar-la per poder utilitzar el producte. - No hi ha prou espai al disc -- Volum: "[2]"; espai necessari: [3] kB; espai disponible: [4] KB. Augmenteu l'espai disponible del disc i torneu a provar-ho. - Esteu segur que voleu cancel·lar-ho? - El fitxer [2][3] està en ús{ pel procés següent: nom: [4], identificador: [5], títol de la finestra: "[6]"}. Tanqueu aquesta aplicació i torneu a provar-ho. - El producte "[2]" ja està instal·lat, la qual cosa impedeix instal·lar aquest producte. Aquests dos productes són incompatibles. - No hi ha prou espai de disc disponible al volum "[2]" per continuar la instal·lació amb la recuperació habilitada. Cal tenir [3] kB disponibles, però només hi ha [4] kB. Feu clic a Ignora per continuar la instal·lació sense desar la informació de recuperació, feu clic a Torna-ho a provar per tornar a comprovar l'espai disponible o feu clic a Cancel·la per sortir de la instal·lació. - No s'ha pogut accedir a la ubicació de xarxa [2]. - Tanqueu les aplicacions següents abans de continuar la instal·lació: - No s'ha trobat cap producte compatible instal·lat anteriorment a l'ordinador per instal·lar aquest producte. - S'ha produït un error en aplicar la configuració de seguretat. [2] no és un usuari o grup vàlid. Podria tractar-se d'un problema del paquet o d'un problema de connexió a un controlador de domini a la xarxa. Comproveu la connexió de xarxa i feu clic a Torna-ho a provar o feu clic a Cancel·la per finalitzar la instal·lació. {{No es troba l'SID de l'usuari, error del sistema [3]}} - La clau [2] no és vàlida. Comproveu que heu introduït la clau correcta. - Cal que l'instal·lador reiniciï el sistema perquè pugui continuar la instal·lació del producte [2]. Feu clic a Sí per reiniciar-lo ara o a No si teniu previst reiniciar-lo manualment més tard. - Heu de reiniciar el sistema perquè els canvis de configuració realitzats al [2] tinguin efecte. Feu clic a Sí per reiniciar-lo ara o a No si teniu previst reiniciar-lo manualment més tard. - S'ha suspès la instal·lació del producte [2]. Heu de desfer els canvis que hagi fet la instal·lació per poder continuar. Voleu desfer-los? - Ja hi ha una instal·lació anterior d'aquest producte en curs. Heu de desfer els canvis que hagi fet la instal·lació per poder continuar. Voleu desfer-los? - No es troba un paquet d'instal·lació per al producte [2]. Torneu a intentar la instal·lació amb una còpia vàlida del paquet d'instal·lació "[3]". - La instal·lació s'ha completat correctament. - S'ha produït un error a la instal·lació. - Producte: [2] -- [3] - Podeu restaurar l'ordinador a l'estat anterior o continuar amb la instal·lació més tard. Voleu restaurar-lo? - S'ha produït un error en escriure la informació d'instal·lació al disc. Assegureu-vos que hi hagi prou espai al disc i feu clic a Torna-ho a provar, o feu clic a Cancel·la per finalitzar la instal·lació. - No s'han trobat un o més dels fitxers necessaris per restaurar l'ordinador al seu estat anterior. No es podrà dur a terme la restauració. - El producte [2] no pot instal·lar un dels seus productes relacionats. Poseu-vos en contacte amb el grup de suport tècnic. {{Error del sistema: [3].}} - No es pot suprimir la versió anterior del producte [2]. Poseu-vos en contacte amb el grup de suport tècnic. {{Error del sistema: [3].}} - S'ha instal·lat el [2] - S'ha configurat el [2] - S'ha suprimit el [2] - La norma de signatura digital ha rebutjat el fitxer [2]. - No s'ha pogut accedir al servei del Windows Installer. Això pot succeir si executeu el Windows en mode de protecció o si el Windows Installer no està instal·lat correctament. Poseu-vos en contacte amb el personal de suport tècnic per obtenir ajuda. - Hi ha un problema amb aquest paquet del Windows Installer. No s'ha pogut executar una seqüència necessària perquè pugui completar-se aquesta instal·lació. Poseu-vos en contacte amb el personal de suport tècnic o amb el proveïdor del paquet. {{Acció personalitzada [2], error de la seqüència [3], [4]: [5] línia [6], columna [7], [8] }} - Hi ha un problema amb aquest paquet del Windows Installer. No s'ha pogut executar un programa necessari perquè es completi la instal·lació. Poseu-vos en contacte amb el personal de suport tècnic o amb el proveïdor del paquet. {{Acció: [2], ubicació: [3], ordre: [4] }} - Hi ha un problema amb aquest paquet del Windows Installer. Un programa que s'ha executat com a part de la instal·lació no ha finalitzat com s'esperava. Poseu-vos en contacte amb el personal de suport tècnic o amb el proveïdor del paquet. {{Acció [2], ubicació: [3], ordre: [4] }} - Hi ha un problema amb aquest paquet del Windows Installer. No s'ha pogut executar una DLL necessària perquè pugui completar-se aquesta instal·lació. Poseu-vos en contacte amb el personal de suport tècnic o amb el proveïdor del paquet. {{Acció: [2], entrada: [3], biblioteca: [4] }} - S'ha suprimit correctament. - S'ha produït un error a la supressió. - L'anunci s'ha completat correctament. - S'ha produït un error a l'anunci. - La configuració s'ha completat correctament. - S'ha produït un error a la configuració. - Heu de ser administrador per suprimir aquesta aplicació. Per suprimir-la, podeu iniciar una sessió com a administrador o posar-vos en contacte amb el grup de suport tècnic per obtenir ajuda. - El paquet d'instal·lació d'origen del producte [2] no està sincronitzat amb el paquet del client. Torneu a intentar la instal·lació amb una còpia vàlida del paquet d'instal·lació "[3]". - Per poder completar la instal·lació del producte [2], cal que reinicieu l'ordinador. Hi ha altres usuaris amb una sessió iniciada en aquest ordinador i, si el reinicieu, pot ser que perdin la feina. Voleu reiniciar-lo ara? - El camí [2] no és vàlid. Especifiqueu-ne un de vàlid. - No hi ha prou memòria. Tanqueu altres aplicacions i torneu-ho a provar. - No hi ha cap disc a la unitat [2]. Introduïu-ne un i feu clic a Torna-ho a provar o feu clic a Cancel·la per tornar al volum seleccionat anteriorment. - No hi ha cap disc a la unitat [2]. Introduïu-ne un i feu clic a Torna-ho a provar o feu clic a Cancel·la per tornar al quadre de diàleg de navegació i seleccionar un volum diferent. - La carpeta [2] no existeix. Especifiqueu un camí a una carpeta existent. - No teniu prou privilegis per llegir aquesta carpeta. - No s'ha pogut determinar una carpeta de destinació vàlida per a la instal·lació. - S'ha produït un error en provar de llegir de la base de dades d'instal·lació d'origen: [2]. - S'està programant l'operació de reinici: s'està canviant el nom del fitxer [2] a [3]. Cal reiniciar per completar l'operació. - S'està programant l'operació de reinici: s'està suprimint el fitxer [2]. Cal reiniciar per completar l'operació. - No s'ha pogut registrar el mòdul [2]. HRESULT [3]. Poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut suprimir el registre del mòdul [2]. HRESULT [3]. Poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut emmagatzemar a la memòria cau el paquet [2]. Error: [3]. Poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut registrar el tipus de lletra [2]. Comproveu que teniu els permisos necessaris per instal·lar tipus de lletra i que el sistema admet aquest tipus. - No s'ha pogut suprimir del registre el tipus de lletra [2]. Comproveu que teniu els permisos necessaris per suprimir tipus de lletra. - No s'ha pogut crear la drecera [2]. Comproveu que la carpeta de destinació existeix i que hi podeu accedir. - No s'ha pogut suprimir la drecera [2]. Comproveu que el fitxer de drecera existeix i que hi podeu accedir. - No s'ha pogut registrar la biblioteca de tipus del fitxer [2]. Poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut suprimir el registre de la biblioteca de tipus del fitxer [2]. Poseu-vos en contacte amb el personal de suport tècnic. - No s'ha pogut actualitzar el fitxer INI [2][3]. Comproveu que el fitxer existeix i que hi podeu accedir. - No s'ha pogut planificar el fitxer [2] perquè substitueixi el fitxer [3] en reiniciar el sistema. Comproveu que teniu permisos d'escriptura al fitxer [3]. - S'ha produït un error en suprimir l'administrador de controladors ODBC; error d'ODBC [2]: [3]. Poseu-vos en contacte amb el personal de suport tècnic. - S'ha produït un error en instal·lar l'administrador de controladors ODBC; error d'ODBC [2]: [3]. Poseu-vos en contacte amb el personal de suport tècnic. - S'ha produït un error en suprimir el controlador ODBC: [4]; error d'ODBC [2]: [3]. Comproveu que teniu prou privilegis per suprimir controladors ODBC. - S'ha produït un error en instal·lar el controlador ODBC: [4]; error d'ODBC [2]: [3]. Comproveu que el fitxer [4] existeix i que hi podeu accedir. - S'ha produït un error en configurar l'origen de dades ODBC: [4]; error d'ODBC [2]: [3]. Comproveu que el fitxer [4] existeix i que hi podeu accedir. - No s'ha pogut iniciar el servei "[2]" ([3]). Comproveu que teniu prou privilegis per iniciar els serveis del sistema. - No s'ha pogut aturar el servei "[2]" ([3]). Comproveu que teniu prou privilegis per aturar els serveis del sistema. - No s'ha pogut suprimir el servei "[2]" ([3]). Comproveu que teniu prou privilegis per suprimir els serveis del sistema. - No s'ha pogut instal·lar el servei "[2]" ([3]). Comproveu que teniu prou privilegis per instal·lar els serveis del sistema. - No s'ha pogut actualitzar la variable d'entorn "[2]". Comproveu que teniu prou privilegis per modificar variables d'entorn. - No teniu prou privilegis per finalitzar aquesta instal·lació per a tots els usuaris de l'ordinador. Inicieu sessió com a administrador i torneu a intentar la instal·lació. - No s'ha pogut definir la seguretat del fitxer "[3]". Error: [2]. Comproveu que teniu prou privilegis per modificar els permisos de seguretat d'aquest fitxer. - Els Serveis de components (COM+ 1.0) no estan instal·lats en aquest ordinador. Aquesta instal·lació necessita els Serveis de components per completar-se correctament. Els Serveis de components estan disponibles al Windows 2000. - S'ha produït un error en registrar l'aplicació COM+. Poseu-vos en contacte amb el personal de suport tècnic per obtenir més informació. - S'ha produït un error en suprimir el registre de l'aplicació COM+. Poseu-vos en contacte amb el personal de suport tècnic per obtenir més informació. - No s'ha pogut canviar la descripció del servei "[2]" ([3]). - El servei Windows Installer no pot actualitzar el fitxer del sistema [2] perquè està protegit pel Windows. És possible que hàgiu d'actualitzar el sistema operatiu perquè aquest programa funcioni correctament. {{Versió del paquet: [3], versió protegida del sistema operatiu: [4]}} - El servei del Windows Installer no pot actualitzar el fitxer protegit del Windows [2]. {{Versió del paquet: [3], versió protegida del sistema operatiu: [4], error d'SFP: [5]}} - El servei del Windows Installer no pot actualitzar un o més fitxers protegits del Windows. {{Error d'SFP: [2]. Llista de fitxers protegits:\r\n[3]}} - Les instal·lacions d'usuari estan inhabilitades per una norma de l'ordinador. - S'ha produït un error durant la instal·lació de l'assemblat "[6]". Vegeu l'Ajuda i suport tècnic per obtenir més informació. HRESULT: [3]. {{Interfície de l'assemblat: [4], funció: [5], component: [2]}} - S'ha produït un error durant la instal·lació de l'assemblat "[6]". L'assemblat no té un nom segur o no està signat amb la longitud de clau mínima. HRESULT: [3]. {{Interfície de l'assemblat: [4], funció: [5], component: [2]}} - S'ha produït un error durant la instal·lació de l'assemblat "[6]". La signatura o el catàleg no s'han pogut comprovar o no són vàlids. HRESULT: [3]. {{Interfície de l'assemblat: [4], funció: [5], component: [2]}} - S'ha produït un error durant la instal·lació de l'assemblat "[6]". No s'ha pogut trobar un o més mòduls de l'assemblat. HRESULT: [3]. {{Interfície de l'assemblat: [4], funció: [5], component: [2]}} - - bytes - GB - kB - MB - Aquesta característica no estarà disponible - Aquesta característica s'instal·larà quan calgui - Aquesta característica s'instal·larà en la seva totalitat per executar-se des del CD - Aquesta característica s'instal·larà en la seva totalitat al disc dur local - Aquesta característica s'instal·larà en la seva totalitat per executar-se des de la xarxa - S'instal·larà per executar-se des del CD - S'instal·larà al disc dur local - S'instal·larà per executar-se des de la xarxa - Carpeta|Crea una carpeta - S'està recopilant la informació necessària... - Aquesta característica no s'instal·larà - Aquesta característica es definirà per instal·lar-se quan calgui - Aquesta característica s'instal·larà per executar-se des del CD - Aquesta característica s'instal·larà a la unitat de disc dur local - Aquesta característica s'instal·larà per executar-se des de la xarxa - Aquesta característica deixarà d'estar disponible - S'instal·larà quan calgui - Aquesta característica estarà disponible per executar-se des del CD - Aquesta característica s'instal·larà al disc dur local - Aquesta característica estarà disponible per executar-se des de la xarxa - Aquesta característica es desinstal·larà completament i no podreu executar-la des del CD - Aquesta característica canviarà d'executar-se des del CD a definir-se per ésser instal·lada quan calgui - Aquesta característica es podrà executar des del CD - Aquesta característica deixarà d'executar-se des del CD i s'instal·larà a la unitat de disc dur local - Aquesta característica allibera [1] al disc dur. - Aquesta característica necessita [1] al disc dur. - S'està calculant el cost d'aquesta característica... - Aquesta característica se suprimirà completament - Aquesta característica se suprimirà del disc dur local, però es definirà per instal·lar-se quan calgui - Aquesta característica se suprimirà de la unitat de disc dur local, però encara es podrà executar des del CD - Aquesta característica romandrà a la unitat de disc dur local - Aquesta característica se suprimirà de la unitat de disc dur local, però encara es podrà executar des de la xarxa - Aquesta característica es desinstal·larà completament i no podreu executar-la des de la xarxa - Aquesta característica canviarà d'executar-se des de la xarxa a definir-se per instal·lar-se quan calgui - Aquesta característica deixarà d'executar-se des de la xarxa i s'instal·larà a la unitat de disc dur local - Aquesta característica podrà executar-se des de la xarxa - Aquesta característica allibera [1] al disc dur. Té [2] de [3] subcaracterístiques seleccionades. Les subcaracterístiques alliberen [4] al disc dur. - Aquesta característica allibera [1] al disc dur. Té [2] de [3] subcaracterístiques seleccionades. Les subcaracterístiques necessiten [4] al disc dur. - Aquesta característica necessita [1] al disc dur. Té [2] de [3] subcaracterístiques seleccionades. Les subcaracterístiques alliberen [4] al disc dur. - Aquesta característica necessita [1] al disc dur. Té [2] de [3] subcaracterístiques seleccionades. Les subcaracterístiques necessiten [4] al disc dur. - Temps restant: {[1] minuts }{[2] segons} - Disponible - Diferència - Obligatori - Mida del disc - Volum - diff --git a/Src/Localization/WixUI/WixUI_cs-CZ.wxl b/Src/Localization/WixUI/WixUI_cs-CZ.wxl deleted file mode 100644 index 2cbec1a..0000000 --- a/Src/Localization/WixUI/WixUI_cs-CZ.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Zpět - &Další - Storno - &Dokončit - &Opakovat - &Ignorovat - &Ano - &Ne - OK - &Tisk - - Instalace produktu [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Přečtěte si licenční smlouvu k produktu [ProductName]. - &S podmínkami licenční smlouvy souhlasím - Kliknutím na tlačítko Nainstalovat nainstalujete produkt s výchozími možnostmi pro všechny uživatele. Chcete-li změnit možnosti instalace, klikněte na tlačítko Upřesnit. - Kliknutím na tlačítko Nainstalovat nainstalujete produkt s výchozími možnostmi pouze pro vás. Chcete-li změnit možnosti instalace, klikněte na tlačítko Upřesnit. - &Nainstalovat - &Upřesnit - 8 - 12 - 9 - 8 - Tahoma - - Instalace produktu [ProductName] - &Oblast hledání: - WixUI_Bmp_Up - O úroveň výš - WixUI_Bmp_New - Umožňuje vytvořit novou složku. - &Název složky: - WixUI_Bmp_Banner - Umožňuje přejít do cílové složky. - {\WixUI_Font_Title}Změnit cílovou složku - - Instalace produktu [ProductName] - Opravdu chcete zrušit instalaci produktu [ProductName]? - WixUI_Ico_Info - Informační ikona - - Instalace produktu [ProductName] - Stromová struktura výběrů - P&rocházet... - &Obnovit - &Využití disku - WixUI_Bmp_Banner - Kliknutím na ikony v následující stromové struktuře můžete změnit způsob instalace součástí. - Vyberte požadovaný způsob instalace součástí. - {\WixUI_Font_Title}Vlastní instalace - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Umístění: - - Instalace produktu [ProductName] - WixUI_Bmp_Banner - Na zvýrazněných svazcích není dostatek místa pro vybrané součásti. Můžete odebrat některé soubory ze zvýrazněných svazků, nainstalovat méně součástí, nebo vybrat jiné cílové jednotky. - Místo na disku potřebné k instalaci vybraných součástí - {\WixUI_Font_Title}Požadavky na místo na disku - {120}{70}{70}{70}{70} - - Instalace produktu [ProductName] - Informační text - WixUI_Ico_Info - Informační ikona - - Instalace produktu [ProductName] - WixUI_Bmp_Dialog - Kliknutím na tlačítko Dokončit Průvodce instalací ukončete. - {\WixUI_Font_Bigger}Průvodce instalací produktu [ProductName] byl dokončen. - - Instalace produktu [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Průvodce instalací produktu [ProductName] byl předčasně ukončen. - Průvodce instalací produktu [ProductName] byl předčasně ukončen z důvodu chyby. Systém nebyl změněn. Budete-li chtít tento program nainstalovat později, spusťte znovu Průvodce instalací. - Kliknutím na tlačítko Dokončit Průvodce instalací ukončete. - - Instalace produktu [ProductName] - Součásti produktu - WixUI_Bmp_Banner - Vyberte požadovaný způsob instalace součástí. - {\WixUI_Font_Title}Součásti produktu - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Nainstalovat - &Změnit - - Instalace produktu [ProductName] - &Konec - WixUI_Bmp_Banner - Následující aplikace používají soubory, které je třeba při instalaci aktualizovat. Ukončete tyto aplikace a pokračujte v instalaci kliknutím na tlačítko &Opakovat, nebo kliknutím na tlačítko Storno instalaci ukončete. - Některé soubory, které je třeba aktualizovat, jsou právě používány. - {\WixUI_Font_Title}Používané soubory - - Instalace produktu [ProductName] - &Změnit... - {\WixUI_Font_Title}Cílová složka - Kliknutím na tlačítko Další nainstalujete produkt do výchozí složky. Chcete-li zvolit jinou složku, klikněte na tlačítko Změnit. - WixUI_Bmp_Banner - Nainstalovat produkt [ProductName] do složky: - - Instalace produktu [ProductName] - WixUI_Bmp_Banner - Umožňuje zvolit obor instalace a instalační složku. - {\WixUI_Font_Title}Obor instalace - {\WixUI_Font_Emphasized}Nainstalovat &pouze pro vás ([LogonUser]) - Produkt [ProductName] bude nainstalován do složky konkrétního uživatele a bude k dispozici pouze pro váš uživatelský účet. Nepotřebujete oprávnění místního správce. - Produkt [ProductName] nepodporuje instalace vázané na uživatele. - {\WixUI_Font_Emphasized}Nainstalovat pro všechny uživatele tohoto &počítače - Produkt [ProductName] bude nainstalován do složky platné ve výchozím nastavení pro celý počítač a bude k dispozici pro všechny uživatele. Výchozí instalační složku můžete změnit. Je nutné, abyste měli oprávnění místního správce. - Instalační &složka: - &Změnit... - - Instalace produktu [ProductName] - Instalační adresář se musí nacházet na místním pevném disku. - WixUI_Ico_Info - Informační ikona - - Instalace produktu [ProductName] - &S podmínkami licenční smlouvy souhlasím - WixUI_Bmp_Banner - Přečtěte si pečlivě následující licenční smlouvu. - {\WixUI_Font_Title}Licenční smlouva s koncovým uživatelem (EULA) - - Instalace produktu [ProductName] - &Změnit - Změnit instalaci - O&pravit - Opravit instalaci - &Odebrat - Odebrat instalaci - WixUI_Bmp_Banner - Vyberte operaci, kterou chcete provést. - {\WixUI_Font_Title}Změna, oprava nebo odebrání instalace - Umožňuje změnit způsob instalace součástí. - Produkt [ProductName] neobsahuje součásti, které lze vybírat samostatně. - Odebere z počítače produkt [ProductName]. - Produkt [ProductName] nelze odebrat. - Opraví chyby v nejnovější instalaci opravou chybějících a poškozených souborů, zástupců a položek registru. - Produkt [ProductName] nelze opravit. - - Instalace produktu [ProductName] - WixUI_Bmp_Dialog - Pomocí Průvodce instalací můžete změnit způsob instalace součástí produktu [ProductName] do počítače nebo odebrat tento produkt z počítače. Pokračujte kliknutím na tlačítko Další, nebo kliknutím na tlačítko Storno Průvodce instalací ukončete. - {\WixUI_Font_Bigger}Vítá vás Průvodce instalací produktu [ProductName]. - - Instalace produktu [ProductName] - WixUI_Bmp_Banner - Následující aplikace používají soubory, které je třeba při instalaci aktualizovat. Můžete je nechat zavřít Průvodcem instalací a pokusit se je znovu spustit nebo restartovat počítač později. - Některé soubory, které je třeba aktualizovat, jsou právě používány. - {\WixUI_Font_Title}Používané soubory - &Ukončit aplikace a pokusit se je znovu spustit - &Neukončovat aplikace (bude nutné restartovat počítač) - - Instalace produktu [ProductName] - WixUI_Bmp_Banner - Na zvýrazněných svazcích není dostatek místa pro aktuálně vybrané součásti. Můžete odebrat některé soubory ze zvýrazněných svazků, nainstalovat méně součástí nebo vybrat jinou cílovou jednotku. - Velikost požadovaného místa na disku je větší než dostupné místo na disku. - {\WixUI_Font_Title}Nedostatek místa na disku - {120}{70}{70}{70}{70} - - Instalace produktu [ProductName] - WixUI_Bmp_Banner - Na zvýrazněných svazcích není dostatek místa pro aktuálně vybrané součásti. Můžete odebrat některé soubory ze zvýrazněných svazků, nainstalovat méně součástí nebo vybrat jinou cílovou jednotku. - Velikost požadovaného místa na disku je větší než dostupné místo na disku. - {\WixUI_Font_Title}Nedostatek místa na disku - {120}{70}{70}{70}{70} - Alternativně můžete zakázat funkci vrácení změn instalačního programu. Zakázáním vrácení změn zabráníte obnovení původního stavu počítače v případě, že dojde k přerušení instalace. Pokud chcete riskovat zakázání vrácení změn, klikněte na tlačítko Ano. - - Instalace produktu [ProductName] - WixUI_Bmp_Dialog - Počkejte prosím, než se Průvodce instalací připraví na požadované kroky instalace. - {\WixUI_Font_Bigger}Vítá vás Průvodce instalací produktu [ProductName]. - - Instalace produktu [ProductName] - WixUI_Bmp_Banner - Počkejte prosím, než Průvodce instalací nainstaluje produkt [ProductName]. - {\WixUI_Font_Title}Instalace produktu [ProductName] - Počkejte prosím, než Průvodce instalací změní produkt [ProductName]. - {\WixUI_Font_Title}Změna produktu [ProductName] - Počkejte prosím, než Průvodce instalací opraví produkt [ProductName]. - {\WixUI_Font_Title}Oprava produktu [ProductName] - Počkejte prosím, než Průvodce instalací odebere produkt [ProductName]. - {\WixUI_Font_Title}Odebírání produktu [ProductName] - Počkejte prosím, než Průvodce instalací aktualizuje produkt [ProductName]. - {\WixUI_Font_Title}Aktualizace produktu [ProductName] - Ukazatel průběhu - Stav: - - Instalace produktu [ProductName] - &Nainstalovat - WixUI_Bmp_Dialog - Průvodce instalací dokončí instalaci produktu [ProductName] do počítače. Pokračujte kliknutím na tlačítko Nainstalovat, nebo kliknutím na tlačítko Storno ukončete Průvodce instalací. - {\WixUI_Font_Bigger}Pokračování Průvodce instalací produktu [ProductName] - - Instalace produktu [ProductName] - &Typická - Typická instalace - Vl&astní - Vlastní instalace - Ú&plná - Úplná instalace - WixUI_Bmp_Banner - {\WixUI_Font_Title}Zvolit typ instalace - Zvolte typ instalace, který nejlépe vyhovuje vašim potřebám. - Nainstaluje nejběžnější součásti programu. Doporučeno pro většinu uživatelů. - Umožňuje uživatelům zvolit, které součásti programu budou nainstalovány a kam. Doporučeno pro zkušené uživatele. - Budou nainstalovány všechny součásti programu. Požaduje nejvíce místa na pevném disku. - - Instalace produktu [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Průvodce instalací produktu [ProductName] byl přerušen. - Průvodce instalací produktu [ProductName] byl přerušen. Systém nebyl změněn. Chcete-li tento program nainstalovat později, spusťte znovu instalaci. - Kliknutím na tlačítko Dokončit Průvodce instalací ukončete. - - Instalace produktu [ProductName] - WixUI_Bmp_Banner - &Nainstalovat - Chcete-li zahájit instalaci, klikněte na tlačítko Nainstalovat. Jestliže chcete zkontrolovat nebo změnit nastavení instalace, klikněte na tlačítko Zpět. Pokud chcete průvodce ukončit, klikněte na tlačítko Storno. - {\WixUI_Font_Title}Instalace produktu [ProductName] je připravena. - &Změnit - Chcete-li zahájit instalaci, klikněte na tlačítko Změnit. Jestliže chcete zkontrolovat nebo změnit nastavení instalace, klikněte na tlačítko Zpět. Pokud chcete průvodce ukončit, klikněte na tlačítko Storno. - {\WixUI_Font_Title}Změna produktu [ProductName] je připravena. - O&pravit - Chcete-li opravit instalaci produktu [ProductName], klikněte na tlačítko Opravit. Jestliže chcete zkontrolovat nebo změnit nastavení instalace, klikněte na tlačítko Zpět. Pokud chcete průvodce ukončit, klikněte na tlačítko Storno. - {\WixUI_Font_Title}Oprava produktu [ProductName] je připravena. - &Odebrat - Chcete-li odebrat produkt [ProductName] z počítače, klikněte na tlačítko Odebrat. Jestliže chcete zkontrolovat nebo změnit nastavení instalace, klikněte na tlačítko Zpět. Pokud chcete průvodce ukončit, klikněte na tlačítko Storno. - {\WixUI_Font_Title}Odebrání produktu [ProductName] je připraveno. - &Aktualizovat - Chcete-li produkt [ProductName] v počítači aktualizovat, klikněte na tlačítko Aktualizovat. Jestliže chcete zkontrolovat nebo změnit nastavení instalace, klikněte na tlačítko Zpět. Pokud chcete průvodce ukončit, klikněte na tlačítko Storno. - {\WixUI_Font_Title}Připraveno k aktualizaci produktu [ProductName] - - Instalace produktu [ProductName] - &Vrátit - Počkejte prosím, než instalační program zjistí potřebné místo na disku. - WixUI_Ico_Exclam - Ikona upozornění - - Instalace produktu [ProductName] - WixUI_Bmp_Dialog - Průvodce instalací nainstaluje do počítače produkt [ProductName]. Pokračujte kliknutím na tlačítko Další, nebo kliknutím na tlačítko Storno Průvodce instalací ukončete. - Průvodce instalací aktualizuje v počítači produkt [ProductName]. Pokračujte kliknutím na tlačítko Další, nebo kliknutím na tlačítko Storno Průvodce instalací ukončete. - {\WixUI_Font_Bigger}Vítá vás Průvodce instalací produktu [ProductName]. - - Instalace produktu [ProductName] - WixUI_Bmp_Dialog - &S podmínkami licenční smlouvy souhlasím - &Nainstalovat - &Aktualizovat - {\WixUI_Font_Title}Přečtěte si licenční smlouvu k produktu [ProductName]. - - Ověřování instalace - Kopírování nových souborů - Soubor: [1], Adresář: [9], Velikost: [6] - Kopírování souborů síťové instalace - Soubor: [1], Adresář: [9], Velikost: [6] - Výpočet požadovaného místa na disku - Výpočet požadovaného místa na disku - Výpočet požadovaného místa na disku - Vytváření zástupců - Zástupce: [1] - Publikování kvalifikovaných součástí - ID součásti: [1], Kvalifikátor: [2] - Publikování součástí produktu - Součást: [1] - Publikování informací o produktu - Registrace serverů tříd - ID třídy: [1] - Registrace serverů rozšíření - Rozšíření: [1] - Registrace informací MIME - Typ obsahu MIME: [1], Rozšíření: [2] - Registrace identifikátorů programu - ID programu: [1] - Přidělování místa v registru - Volné místo: [1] - Hledání nainstalovaných aplikací - Vlastnost: [1], Podpis: [2] - Vytváření vazeb mezi spustitelnými soubory - Soubor: [1] - Hledání opravňujících produktů - Vytváření složek - Složka: [1] - Odstraňování služeb - Služba: [1] - Vytváření duplicitních souborů - Soubor: [1], Adresář: [9], Velikost: [6] - Hledání souvisejících aplikací - Nalezená aplikace: [1] - Instalace součástí rozhraní ODBC - Instalace nových služeb - Služba: [2] - Vyhodnocování podmínek pro spuštění - Migrace stavů součástí ze souvisejících aplikací - Aplikace: [1] - Přesouvání souborů - Soubor: [1], Adresář: [9], Velikost: [6] - Oprava souborů - Soubor: [1], Adresář: [2], Velikost: [3] - Aktualizace registrace součástí - Registrace aplikací a součástí modelu COM+ - ID aplikace: [1]{{, Typ aplikace: [2], Uživatelé: [3], RSN: [4]}} - Registrace písem - Písmo: [1] - Registrace produktu - [1] - Registrace knihoven typů - ID knihovny: [1] - Registrace uživatele - [1] - Odebírání duplicitních souborů - Soubor: [1], Adresář: [9] - Aktualizace řetězců prostředí - Název: [1], Hodnota: [2], Akce [3] - Odebírání aplikací - Aplikace: [1], Příkazový řádek: [2] - Odebírání souborů - Soubor: [1], Adresář: [9] - Odebírání složek - Složka: [1] - Odebírání záznamů v souborech INI - Soubor: [1], Oddíl: [2], Klíč: [3], Hodnota: [4] - Odebírání součástí rozhraní ODBC - Odebírání hodnot ze systémového registru - Klíč: [1], Název: [2] - Odebírání zástupců - Zástupce: [1] - Hledání opravňujících produktů - Registrace modulů - Soubor: [1], Složka: [2] - Rušení registrace modulů - Soubor: [1], Složka: [2] - Inicializace adresářů rozhraní ODBC - Spouštění služeb - Služba: [1] - Zastavování služeb - Služba: [1] - Rušení publikování kvalifikovaných součástí - ID součásti: [1], Kvalifikátor: [2] - Rušení publikování součástí produktu - Součást: [1] - Rušení registrace serverů tříd - ID třídy: [1] - Rušení registrace aplikací a součástí modelu COM+ - ID aplikace: [1]{{, Typ aplikace: [2]}} - Rušení registrace serverů rozšíření - Rozšíření: [1] - Rušení registrace písem - Písmo: [1] - Rušení registrace informací MIME - Typ obsahu MIME: [1], Rozšíření: [2] - Rušení registrace identifikátorů programů - ID programu: [1] - Rušení registrace knihoven typů - ID knihovny: [1] - Aktualizace řetězců prostředí - Název: [1], Hodnota: [2], Akce [3] - Zápis hodnot do souborů INI - Soubor: [1], Oddíl: [2], Klíč: [3], Hodnota: [4] - Zápis hodnot do systémového registru - Klíč: [1], Název: [2], Hodnota: [3] - Inzerování aplikace - Generování operací skriptu pro akci: - [1] - Instalace systémového katalogu - Soubor: [1], Závislosti: [2] - Publikování informací o sestavení - Kontext aplikace: [1], Název sestavení: [2] - Rušení publikování informací o sestavení - Kontext aplikace: [1], Název sestavení: [2] - Vracení akce: - [1] - Odebírání záložních souborů - Soubor: [1] - Odebírání přesunutých souborů - Soubor: [1], Adresář: [9] - Rušení publikování informací o produktu - - {{Závažná chyba: }} - {{Chyba [1]}} - Upozornění: [1] - Informace: [1] - Instalační služba zjistila při instalaci tohoto balíčku neočekávanou chybu. Tato chyba může značit problém s tímto balíčkem. Kód chyby: [1]. {{Argumenty: [2], [3], [4]}} - {{Disk je plný: }} - Akce [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Typ zprávy: [1], Argument: [2] - === Začátek protokolování: [Date] [Time] === - === Konec protokolování: [Date] [Time] === - Začátek akce [Time]: [1] - Akce ukončena [Time]: [1]. Návratová hodnota: [2] - Zbývající čas: {[1] min }{[2] s} - Nedostatek paměti. Ukončete jiné aplikace a opakujte akci. - Instalační služba nereaguje. - Instalační služba byla předčasně ukončena. - Počkejte na dokončení konfigurace produktu [ProductName] v systému Windows. - Shromažďování požadovaných informací... - Odebírání starších verzí této aplikace... - Příprava na odebrání starších verzí této aplikace... - Instalace produktu {[ProductName] }byla úspěšně dokončena. - Instalace produktu {[ProductName] }se nezdařila. - Při čtení souboru došlo k chybě: [2]. {{ Systémová chyba [3].}} Ověřte, zda soubor existuje a máte k němu přístup. - Nelze vytvořit soubor [2]. Již existuje adresář s tímto názvem. Zrušte instalaci a pokuste se produkt nainstalovat do jiného umístění. - Vložte disk [2]. - Instalační služba nemá dostatečná oprávnění pro přístup k tomuto adresáři: [2]. V instalaci nelze pokračovat. Přihlaste se jako správce nebo se obraťte na správce systému. - Při pokusu o zápis do souboru došlo k chybě: [2]. Ověřte, zda máte přístup k tomuto adresáři. - Při čtení souboru [2] došlo k chybě. {{ Systémová chyba [3].}} Ověřte, zda soubor existuje a máte k němu přístup. - K souboru [2] má výhradní přístup jiná aplikace. Ukončete všechny ostatní aplikace a klikněte na tlačítko Opakovat. - K instalaci tohoto souboru není na disku dostatek místa: [2]. Uvolněte místo na disku a klikněte na tlačítko Opakovat, nebo akci ukončete kliknutím na tlačítko Storno. - Zdrojový soubor nebyl nalezen: [2]. Ověřte, zda soubor existuje a máte k němu přístup. - Při čtení souboru došlo k chybě: [3]. {{ Systémová chyba [2].}} Ověřte, zda soubor existuje a máte k němu přístup. - Při pokusu o zápis do souboru došlo k chybě: [3]. {{ Systémová chyba [2].}} Ověřte, zda máte přístup k tomuto adresáři. - Zdrojový soubor nebyl nalezen{{(cabinet)}}: [2]. Ověřte, zda soubor existuje a máte k němu přístup. - Nelze vytvořit adresář [2]. Soubor s tímto názvem již existuje. Přejmenujte ho nebo odeberte a klikněte na tlačítko Opakovat, nebo akci zrušte kliknutím na tlačítko Storno. - Jednotka [2] je momentálně nedostupná. Vyberte jinou jednotku. - Zadaná cesta [2] je nedostupná. - Do zadané složky nelze zapisovat: [2]. - Při pokusu o čtení ze souboru došlo k chybě v síti: [2]. - Při pokusu o vytvoření adresáře došlo k chybě: [2]. - Při pokusu o vytvoření adresáře došlo k chybě v síti: [2]. - Při pokusu o otevření zdrojového souboru CAB došlo k chybě v síti: [2]. - Zadaná cesta je příliš dlouhá: [2]. - Instalační služba nemá dostatečná oprávnění ke změně tohoto souboru: [2]. - Některá část cesty ke složce [2] je neplatná. Buď je prázdná, nebo přesahuje délku povolenou v systému. - Cesta ke složce [2] obsahuje slova, která nelze do cesty ke složce zadat. - Cesta ke složce [2] obsahuje neplatný znak. - [2] není platný krátký název souboru. - Při načítání informací o zabezpečení souboru [3] došlo k chybě. GetLastError: [2] - Jednotka [2] není platná. - Při instalaci opravy souboru [2] došlo k chybě. Soubor byl pravděpodobně aktualizován jiným způsobem a tuto opravu již u něj nelze použít. Další informace získáte od dodavatele opravy. {{Systémová chyba: [3]}} - Požadovaný soubor nelze nainstalovat, protože soubor CAB [2] není digitálně podepsán. Soubor CAB je zřejmě poškozený. - Požadovaný soubor nelze nainstalovat, protože soubor CAB [2] obsahuje neplatný digitální podpis. Soubor CAB je zřejmě poškozený.{{ Funkce WinVerifyTrust vrátila chybu [3].}} - Soubor [2] nelze správně zkopírovat: Došlo k chybě CRC. - Soubor [2] nelze správně přesunout: Došlo k chybě CRC. - Soubor [2] nelze správně opravit: Došlo k chybě CRC. - Soubor [2] nelze nainstalovat, protože nebyl v souboru CAB [3] nalezen. Může se jednat o chybu v síti, chybu při čtení z disku CD-ROM nebo problém s tímto balíčkem. - Soubor CAB [2] požadovaný k instalaci je poškozen a nelze jej použít. Může se jednat o chybu v síti, chybu při čtení z disku CD-ROM nebo problém s tímto balíčkem. - Při vytváření dočasného souboru potřebného k dokončení instalace došlo k chybě.{{ Složka: [3]. Kód systémové chyby: [2]}} - Nelze vytvořit klíč: [2]. {{ Systémová chyba [3].}} Zkontrolujte, zda máte dostatečná oprávnění k přístupu ke klíči, nebo se obraťte na pracovníky podpory. - Nelze otevřít klíč: [2]. {{ Systémová chyba [3].}} Zkontrolujte, zda máte dostatečná oprávnění k přístupu ke klíči, nebo se obraťte na pracovníky podpory. - Nelze odstranit hodnotu [2] z klíče [3]. {{ Systémová chyba [4].}} Zkontrolujte, zda máte dostatečná oprávnění k přístupu ke klíči, nebo se obraťte na pracovníky podpory. - Klíč [2] nelze odstranit. {{ Systémová chyba [3].}} Zkontrolujte, zda máte dostatečná oprávnění k přístupu ke klíči, nebo se obraťte na pracovníky podpory. - Nelze číst hodnotu [2] z klíče [3]. {{ Systémová chyba [4].}} Zkontrolujte, zda máte dostatečná oprávnění k přístupu ke klíči, nebo se obraťte na pracovníky podpory. - Nelze zapsat hodnotu [2] do klíče [3]. {{ Systémová chyba [4].}} Ověřte, zda máte dostatečný přístup k tomuto klíči, nebo se obraťte na pracovníky podpory. - Nelze získat názvy hodnot klíče [2]. {{ Systémová chyba [3].}} Ověřte, zda máte dostatečný přístup k tomuto klíči, nebo se obraťte na pracovníky podpory. - Nelze získat názvy podklíčů klíče [2]. {{ Systémová chyba [3].}} Ověřte, zda máte dostatečný přístup k tomuto klíči, nebo se obraťte na pracovníky podpory. - Nelze číst informace o zabezpečení klíče [2]. {{ Systémová chyba [3].}} Ověřte, zda máte dostatečný přístup k tomuto klíči, nebo se obraťte na pracovníky podpory. - Nelze zvětšit dostupné místo v registru. Instalace této aplikace vyžaduje [2] kB volného místa v registru. - Probíhá jiná instalace. Před pokračováním této instalace je nutné druhou instalaci dokončit. - Při přístupu k zabezpečeným datům došlo k chybě. Zkontrolujte, zda je Instalační služba systému Windows správně nakonfigurovaná, a opakujte instalaci. - Uživatelem [2] byla již dříve spuštěna instalace produktu [3]. Před použitím produktu je třeba, aby tento uživatel spustil instalaci znovu. Aktuální instalace bude nyní pokračovat. - Uživatelem [2] byla již dříve spuštěna instalace produktu [3]. Před použitím produktu je třeba, aby tento uživatel spustil instalaci znovu. - Nedostatek místa na disku – Jednotka: [2]; Požadované místo: [3] kB; Dostupné místo: [4] kB. Uvolněte místo na disku a opakujte akci. - Opravdu chcete akci zrušit? - Soubor [2][3] je používán{ tímto procesem: Název: [4], ID: [5], Název okna: [6]}. Ukončete tuto aplikaci a opakujte akci. - Již je nainstalován produkt [2], který zabraňuje instalaci tohoto produktu. Tyto dva produkty nejsou kompatibilní. - K pokračování instalace s možností obnovení není na jednotce [2] dostatek místa. Je vyžadováno [3] kB, ale k dispozici je pouze [4] kB. Kliknutím na tlačítko Ignorovat pokračujte v instalaci bez uložení informací pro obnovení, kliknutím na tlačítko Opakovat znovu zkontrolujte volné místo nebo kliknutím na tlačítko Storno instalaci ukončete. - Nelze získat přístup k umístění v síti [2]. - Před pokračováním v instalaci je třeba ukončit tyto aplikace: - V počítači nelze najít žádné z dříve nainstalovaných opravňujících produktů potřebných k instalaci tohoto produktu. - Při nastavování zabezpečení došlo k chybě. [2] není platná skupina ani uživatel. Může jít o problém s tímto balíčkem nebo o problém při připojování k řadiči domény v síti. Zkontrolujte síťové připojení a klikněte na tlačítko Opakovat, nebo kliknutím na tlačítko Storno instalaci ukončete. {{Nelze zjistit identifikátor SID uživatele, systémová chyba [3].}} - Klíč [2] není platný. Ověřte, zda jste zadali správný klíč. - Před pokračováním konfigurace produktu [2] je třeba, aby instalační služba restartovala počítač. Kliknete-li na tlačítko Ano, bude počítač restartován ihned. Pokud chcete počítač restartovat později ručně, klikněte na tlačítko Ne. - Aby se projevily změny konfigurace produktu [2], je nutné počítač restartovat. Kliknete-li na tlačítko Ano, bude počítač restartován ihned. Pokud chcete počítač restartovat později ručně, klikněte na tlačítko Ne. - Instalace produktu [2] je pozastavena. Chcete-li pokračovat, je nutné vrátit zpět změny provedené při instalaci. Chcete tyto změny vrátit zpět? - Probíhá předchozí instalace tohoto produktu. Chcete-li pokračovat, je nutné vrátit zpět změny provedené při instalaci. Chcete tyto změny vrátit zpět? - Instalační balíček pro produkt [2] nebyl nalezen. Spusťte instalaci znovu pomocí platné kopie instalačního balíčku [3]. - Instalace byla úspěšně dokončena. - Instalace se nezdařila. - Produkt: [2] – [3] - Můžete se rozhodnout obnovit původní stav počítače nebo pokračovat v instalaci později. Chcete obnovit původní stav počítače? - Při zápisu informací o instalaci na disk došlo k chybě. Zkontrolujte, zda je k dispozici dostatek místa, a klikněte na tlačítko Opakovat, nebo kliknutím na tlačítko Storno ukončete instalaci. - Jeden nebo více souborů potřebných pro obnovení předchozího stavu počítače nelze najít. Předchozí stav počítače nelze obnovit. - [2] nemůže nainstalovat některý z požadovaných produktů. Obraťte se na pracovníky podpory. {{Systémová chyba: [3]}} - Starší verzi produktu [2] nelze odebrat. Obraťte se na pracovníky podpory. {{Systémová chyba [3]}} - Byl nainstalován produkt [2]. - Byl nakonfigurován produkt [2]. - Byl odebrán produkt [2]. - Soubor [2] byl na základě zásad digitálních podpisů odmítnut. - Instalační služba systému Windows není přístupná. K tomuto problému může dojít, pokud je systém Windows spuštěn v nouzovém režimu nebo pokud není Instalační služba systému Windows správně nainstalována. Obraťte se na pracovníky podpory. - Došlo k problému s tímto balíčkem Instalační služby systému Windows. Nelze spustit skript potřebný pro tuto instalaci. Obraťte se na pracovníky podpory nebo na dodavatele balíčku. {{Vlastní akce [2], chyba skriptu [3], [4]: [5] řádek [6], sloupec [7], [8] }} - Došlo k problému s tímto balíčkem Instalační služby systému Windows. Nelze spustit program potřebný pro tuto instalaci. Obraťte se na pracovníky podpory nebo na dodavatele balíčku. {{Akce: [2], umístění: [3], příkaz: [4] }} - Došlo k problému s tímto balíčkem Instalační služby systému Windows. Program spuštěný jako součást instalace nebyl ukončen očekávaným způsobem. Obraťte se na pracovníky podpory nebo na dodavatele balíčku. {{Akce [2], umístění: [3], příkaz: [4] }} - Došlo k problému s tímto balíčkem Instalační služby systému Windows. Nelze spustit knihovnu DLL potřebnou k dokončení této instalace. Obraťte se na pracovníky podpory nebo na dodavatele balíčku. {{Akce [2], položka: [3], knihovna: [4] }} - Odebrání proběhlo úspěšně. - Odebrání se nezdařilo. - Inzerování proběhlo úspěšně. - Inzerování se nezdařilo. - Konfigurace proběhla úspěšně. - Konfigurace se nezdařila. - Tuto aplikaci může odebrat pouze správce. Pokud chcete tuto aplikaci odebrat, přihlaste se jako správce nebo se obraťte na pracovníky technické podpory. - Zdrojový instalační balíček pro produkt [2] není synchronizován s klientským balíčkem. Spusťte instalaci znovu pomocí platné kopie instalačního balíčku [3]. - Dokončení instalace produktu [2] vyžaduje restartování počítače. K tomuto počítači jsou přihlášeni další uživatelé. Restartování může způsobit ztrátu jejich dat. Chcete počítač restartovat nyní? - Cesta [2] není platná. Zadejte platnou cestu. - Nedostatek paměti. Ukončete jiné aplikace a opakujte akci. - V jednotce [2] není disk. Vložte disk a klikněte na tlačítko Opakovat. Kliknutím na tlačítko Storno se vrátíte k předchozí vybrané jednotce. - V jednotce [2] není disk. Vložte disk a klikněte na tlačítko Opakovat. Kliknutím na tlačítko Storno se vrátíte do předchozího dialogového okna, ve kterém můžete vybrat jinou jednotku. - Složka [2] neexistuje. Zadejte cestu k existující složce. - Nemáte dostatečná oprávnění ke čtení z této složky. - Nelze určit platnou cílovou složku pro tuto instalaci. - Při pokusu o čtení ze zdrojové instalační databáze došlo k chybě: [2]. - Plánování restartování počítače: Přejmenovávání souboru [2] na [3]. Operaci je třeba dokončit restartováním počítače. - Plánování restartování počítače: Odstraňování souboru [2]. Operaci je třeba dokončit restartováním počítače. - Modul [2] nelze zaregistrovat. HRESULT [3]. Obraťte se na pracovníky podpory. - Nelze zrušit registraci modulu [2]. HRESULT [3]. Obraťte se na pracovníky podpory. - Balíček [2] nelze zapsat do mezipaměti. Chyba: [3]. Obraťte se na pracovníky podpory. - Písmo [2] nelze zaregistrovat. Ověřte, zda máte dostatečná oprávnění k instalaci písem a zda systém toto písmo podporuje. - Nelze zrušit registraci písma [2]. Ověřte, zda máte dostatečná oprávnění k odebírání písem. - Nelze vytvořit zástupce [2]. Ověřte, zda cílová složka existuje a máte k ní přístup. - Nelze odebrat zástupce [2]. Ověřte, zda zástupce existuje a máte k němu přístup. - Nelze zaregistrovat knihovnu typů pro soubor [2]. Obraťte se na pracovníky podpory. - Nelze zrušit registraci knihovny typů pro soubor [2]. Obraťte se na pracovníky podpory. - Nelze aktualizovat soubor INI [2][3]. Ověřte, zda soubor existuje a máte k němu přístup. - Nelze naplánovat nahrazení souboru [3] souborem [2] při restartování počítače. Ověřte, zda máte oprávnění k zápisu do souboru [3]. - Při odebírání správce ovladačů ODBC došlo k chybě. Chyba rozhraní ODBC [2]: [3]. Obraťte se na pracovníky podpory. - Při instalaci správce ovladačů ODBC došlo k chybě. Chyba rozhraní ODBC [2]: [3]. Obraťte se na pracovníky podpory. - Při odebírání ovladače ODBC došlo k chybě: [4]. Chyba rozhraní ODBC [2]: [3]. Ověřte, zda máte dostatečná oprávnění k odebírání ovladačů ODBC. - Při instalaci ovladače ODBC došlo k chybě: [4]. Chyba rozhraní ODBC [2]: [3]. Ověřte, zda soubor [4] existuje a máte k němu přístup. - Při konfiguraci zdroje dat ODBC došlo k chybě: [4]. Chyba rozhraní ODBC [2]: [3]. Ověřte, zda soubor [4] existuje a máte k němu přístup. - Službu [2] ([3]) nelze spustit. Ověřte, zda máte dostatečná oprávnění ke spouštění systémových služeb. - Službu [2] ([3]) nelze zastavit. Ověřte, zda máte dostatečná oprávnění k zastavování systémových služeb. - Službu [2] ([3]) nelze odstranit. Ověřte, zda máte dostatečná oprávnění k odebírání systémových služeb. - Službu [2] ([3]) nelze nainstalovat. Ověřte, zda máte dostatečná oprávnění k instalaci systémových služeb. - Nelze aktualizovat proměnnou prostředí [2]. Ověřte, zda máte dostatečná oprávnění ke změnám proměnných prostředí. - Nemáte dostatečná oprávnění k dokončení této instalace pro všechny uživatele tohoto počítače. Přihlaste se jako správce a instalaci opakujte. - Nelze nastavit zabezpečení souboru [3]. Chyba: [2]. Ověřte, zda máte dostatečná oprávnění ke změnám bezpečnostních oprávnění pro tento soubor. - V tomto počítači není nainstalována Služba komponent (COM+ 1.0). K úspěšnému dokončení této instalace je vyžadována Služba komponent. Služba komponent je k dispozici v systému Windows 2000. - Při registraci aplikace modelu COM+ došlo k chybě. Další informace získáte u pracovníků podpory. - Při rušení registrace aplikace modelu COM+ došlo k chybě. Další informace získáte u pracovníků podpory. - Popis služby [2] ([3]) nelze změnit. - Instalační služba systému Windows nemůže aktualizovat systémový soubor [2], protože je chráněn systémem Windows. Pro správnou funkci programu bude zřejmě nutné aktualizovat operační systém. {{Verze balíčku: [3], Verze chráněná operačním systémem: [4]}} - Instalační služba systému Windows nemůže aktualizovat soubor [2] chráněný systémem Windows. {{Verze balíčku: [3], Verze chráněná operačním systémem: [4], Chyba ochrany systémových souborů: [5]}} - Instalační služba systému Windows nemůže aktualizovat nejméně jeden soubor chráněný systémem Windows. {{Chyba SFP: [2]. Seznam chráněných souborů:\r\n[3]}} - Uživatelské instalace jsou zakázány prostřednictvím zásad tohoto počítače. - Při instalaci sestavení [6] došlo k chybě. Další informace získáte v nápovědě nebo od pracovníků podpory. HRESULT: [3]. {{rozhraní sestavení: [4], funkce: [5], součást: [2]}} - Při instalaci sestavení [6] došlo k chybě. Sestavení nemá silný název nebo není podepsáno klíčem o minimální délce. HRESULT: [3]. {{rozhraní sestavení: [4], funkce: [5], součást: [2]}} - Při instalaci sestavení [6] došlo k chybě. Podpis nebo katalog nelze ověřit nebo není platný. HRESULT: [3]. {{rozhraní sestavení: [4], funkce: [5], součást: [2]}} - Při instalaci sestavení [6] došlo k chybě. Nejméně jeden modul sestavení nelze najít. HRESULT: [3]. {{rozhraní sestavení: [4], funkce: [5], součást: [2]}} - - bajtů - GB - kB - MB - Celá součást nebude dostupná. - Součást bude nainstalována při požadavku na její použití. - Celá součást bude nainstalována pro spouštění z disku CD. - Celá součást bude nainstalována na místní pevný disk. - Celá součást bude nainstalována pro spouštění ze sítě. - Bude nainstalována pro spouštění z disku CD. - Bude nainstalována na místní pevný disk. - Bude nainstalována pro spouštění ze sítě. - Složka|Nová složka - Shromažďování požadovaných informací... - Tato součást nebude nainstalována. - Tato součást bude nainstalována při požadavku na její použití. - Tato součást bude nainstalována pro spouštění z disku CD. - Tato součást bude nainstalována na místní pevný disk. - Tato součást bude nainstalována pro spouštění ze sítě. - Tato součást přestane být dostupná. - Bude nainstalována při požadavku na její použití. - Tato součást bude nainstalována pro spouštění z disku CD. - Tato součást bude nainstalována na místní pevný disk. - Tato součást bude nainstalována pro spouštění ze sítě. - Tato součást bude zcela odinstalována a nebude možné ji spustit z disku CD. - Tato součást se změní tak, že nebude spouštěna z disku CD, ale bude nainstalována v případě požadavku na její použití. - Tato součást zůstane spustitelná z disku CD. - Tato součást se změní tak, že nebude spouštěna z disku CD, ale bude nainstalována na místní pevný disk. - Tato součást uvolní [1] na pevném disku. - Tato součást vyžaduje [1] na pevném disku. - Zjišťování nároků této součásti... - Tato součást bude zcela odebrána. - Tato součást bude odebrána z místního pevného disku, ale bude nastavena tak, aby byla nainstalována v případě požadavku na její použití. - Tato součást bude odebrána z místního pevného disku, ale bude ji nadále možné spustit z disku CD. - Tato součást zůstane na místním pevném disku. - Tato součást bude odebrána z místního pevného disku, ale bude ji nadále možné spustit ze sítě. - Tato součást bude zcela odinstalována a nebude možné ji spustit ze sítě. - Tato součást se změní tak, že nebude spouštěna ze sítě, ale bude nainstalována v případě požadavku na její použití. - Tato součást se změní tak, že nebude spouštěna ze sítě, ale bude nainstalována na místní pevný disk. - Tato součást bude nadále spouštěna ze sítě. - Tato součást uvolní [1] na pevném disku. Je pro ni vybráno [2] z [3] dílčích součástí. Tyto dílčí součásti uvolní [4] na pevném disku. - Tato součást uvolní [1] na pevném disku. Je pro ni vybráno [2] z [3] dílčích součástí. Tyto dílčí součásti vyžadují [4] na pevném disku. - Tato součást vyžaduje [1] na pevném disku. Je pro ni vybráno [2] z [3] dílčích součástí. Tyto dílčí součásti uvolní [4] na pevném disku. - Tato součást vyžaduje [1] na pevném disku. Je pro ni vybráno [2] z [3] dílčích součástí. Tyto dílčí součásti vyžadují [4] na pevném disku. - Zbývající čas: {[1] min }{[2] s} - K dispozici - Rozdíl - Vyžadováno - Velikost disku - Svazek - diff --git a/Src/Localization/WixUI/WixUI_da-DK.wxl b/Src/Localization/WixUI/WixUI_da-DK.wxl deleted file mode 100644 index 769c348..0000000 --- a/Src/Localization/WixUI/WixUI_da-DK.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Tilbage - &Næste - Annuller - &Udfør - &Prøv igen - &Ignorer - &Ja - &Nej - OK - &Udskriv - - [ProductName] Installation - WixUI_Bmp_Banner - {\WixUI_Font_Title}Læs licensaftalen til [ProductName] - Jeg &accepterer vilkårene i licensaftalen - Klik på Installer for at installere produktet med standardindstillingerne for alle brugere. Klik på Avanceret for at ændre installationsindstillingerne. - Klik på Installer for at installere produktet med standardindstillingerne kun for dig. Klik på Avanceret for at ændre installationsindstillingerne. - &Installer - A&vanceret - 8 - 12 - 9 - 8 - Tahoma - - [ProductName] Installation - &Søg i: - WixUI_Bmp_Up - Ét niveau op - WixUI_Bmp_New - Opret en ny mappe - &Mappenavn: - WixUI_Bmp_Banner - Gå til destinationsmappen - {\WixUI_Font_Title}Skift destinationsmappe - - [ProductName] Installation - Er du sikker på, at du vil annullere installationen af [ProductName]? - WixUI_Ico_Info - Oplysningsikon - - [ProductName] Installation - Trævisning for markerede elementer - &Gennemse... - Nul&stil - Disk&forbrug - WixUI_Bmp_Banner - Klik på ikonerne i træstrukturen nedenfor for at ændre den måde, som funktioner installeres på. - Vælg den måde, som funktionerne skal installeres på. - {\WixUI_Font_Title}Brugerdefineret installation - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Sted: - - [ProductName] Installation - WixUI_Bmp_Banner - De markerede diskenheder har ikke nok ledig diskplads til de valgte funktioner. Du kan vælge at fjerne nogle filer fra de markerede diskenheder, installere færre funktioner eller vælge et andet destinationsdrev. - Den krævede diskplads til installationen af de markerede funktioner. - {\WixUI_Font_Title}Krav til diskplads - {120}{70}{70}{70}{70} - - [ProductName] Installation - Oplysningstekst - WixUI_Ico_Info - Oplysningsikon - - [ProductName] Installation - WixUI_Bmp_Dialog - Klik på knappen Udfør for at afslutte guiden Installation. - {\WixUI_Font_Bigger}Guiden [ProductName] Installation er fuldført - - [ProductName] Installation - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Installationsprogrammet til [ProductName] blev afsluttet før tid - Guiden [ProductName] Installation blev afsluttet før tid på grund af en fejl. Systemet er ikke blevet ændret. Hvis du vil installere programmet på et senere tidspunkt, skal du køre guiden Installation igen. - Klik på knappen Udfør for at afslutte guiden Installation. - - [ProductName] Installation - Produktfunktioner - WixUI_Bmp_Banner - Vælg den måde, som funktionerne skal installeres på. - {\WixUI_Font_Title}Produktfunktioner - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installer - &Skift - - [ProductName] Installation - &Afslut - WixUI_Bmp_Banner - Følgende programmer bruger filer, der skal opdateres af installationsprogrammet. Luk programmerne, og klik derefter på &Prøv igen for at fortsætte installationen, eller klik på Afslut for at afslutte den. - Visse filer, som skal opdateres, er i brug. - {\WixUI_Font_Title}Filer, der er i brug - - [ProductName] Installation - &Skift... - {\WixUI_Font_Title}Destinationsmappe - Klik på Næste for at installere i standardmappen, eller klik på Skift for at vælge en anden mappe. - WixUI_Bmp_Banner - Installer [ProductName] i: - - [ProductName] Installation - WixUI_Bmp_Banner - Vælg installationsområde og -mappe - {\WixUI_Font_Title}Installationsområde - {\WixUI_Font_Emphasized}Installer &kun for dig ([LogonUser]) - [ProductName] installeres i en mappe pr. bruger og er kun tilgængelig for din brugerkonto. Du behøver ikke lokale administratorrettigheder. - [ProductName] understøtter ikke installation pr. bruger. - {\WixUI_Font_Emphasized}Installer for alle brugere på denne &computer - [ProductName] installeres som standard i en mappe pr. computer og er tilgængelig for alle brugere. Du kan ændre standardinstallationsmappen. Du skal have lokale administratorrettigheder. - Installations&mappe: - &Skift... - - [ProductName] Installation - Installationsmappen skal være på en lokal harddisk. - WixUI_Ico_Info - Oplysningsikon - - [ProductName] Installation - Jeg &accepterer vilkårene i licensaftalen - WixUI_Bmp_Banner - Læs følgende licensaftale grundigt - {\WixUI_Font_Title}Slutbrugerlicensaftale - - [ProductName] Installation - &Skift - Skift installationen - Re&parer - Reparer installationen - &Fjern - Fjern installationen - WixUI_Bmp_Banner - Vælg den handling, som du vil udføre. - {\WixUI_Font_Title}Skift, reparer eller fjern installationen - Gør det muligt at ændre den måde, som funktioner installeres på. - [ProductName] indeholder ikke nogen funktioner, der kan vælges separat. - Fjerner [ProductName] fra computeren. - [ProductName] kan ikke fjernes. - Reparerer fejl i den seneste installation ved at rette manglende og fejlbehæftede filer, genveje og poster i registreringsdatabasen. - [ProductName] kan ikke repareres. - - [ProductName] Installation - WixUI_Bmp_Dialog - Guiden Installation gør det muligt at ændre den måde, som funktioner i [ProductName] installeres på computeren på. Du kan også bruge guiden til at fjerne programmet fra computeren. Klik på Næste for at fortsætte, eller klik på Annuller for at afslutte guiden Installation. - {\WixUI_Font_Bigger}Velkommen til guiden [ProductName] Installation - - [ProductName] Installation - WixUI_Bmp_Banner - Følgende programmer bruger filer, der skal opdateres af installationsprogrammet. Du kan lade guiden Installation lukke dem og forsøge at genstarte dem eller genstarte computeren på et senere tidspunkt. - Visse filer, som skal opdateres, er i brug. - {\WixUI_Font_Title}Filer, der bruges - &Luk programmerne, og forsøg at genstarte dem. - &Luk ikke programmerne. Det er nødvendigt at genstarte. - - [ProductName] Installation - WixUI_Bmp_Banner - De markerede diskenheder har ikke nok ledig diskplads til de valgte funktioner. Du kan vælge at fjerne nogle filer fra de markerede diskenheder, installere færre funktioner eller vælge et andet destinationsdrev. - Installationen kræver mere diskplads, end der er til ledigt. - {\WixUI_Font_Title}Der er ikke mere ledig diskplads - {120}{70}{70}{70}{70} - - [ProductName] Installation - WixUI_Bmp_Banner - De markerede diskenheder har ikke nok ledig diskplads til de valgte funktioner. Du kan vælge at fjerne nogle filer fra de markerede diskenheder, installere færre funktioner eller vælge et andet destinationsdrev. - Installationen kræver mere diskplads, end der er til rådighed. - {\WixUI_Font_Title}Der er ikke mere ledig diskplads - {120}{70}{70}{70}{70} - Du kan også vælge at deaktivere funktionen til annullering af opdateringen i installationsprogrammet. Hvis du deaktiverer annulleringen af opdateringen, forhindrer det, at installationsprogrammet gendanner computerens oprindelige tilstand, hvis installationen afbrydes. Klik på Ja, hvis du vil løbe risikoen ved at deaktivere annulleringen af opdateringen. - - [ProductName] Installation - WixUI_Bmp_Dialog - Vent, mens guiden Installation forbereder at vejlede dig gennem installationen. - {\WixUI_Font_Bigger}Velkommen til guiden [ProductName] Installation - - [ProductName] Installation - WixUI_Bmp_Banner - Vent, mens guiden Installation installerer [ProductName]. - {\WixUI_Font_Title}Installerer [ProductName] - Vent, mens guiden Installation ændrer [ProductName]. - {\WixUI_Font_Title}Ændrer [ProductName] - Vent, mens guiden Installation reparerer [ProductName]. - {\WixUI_Font_Title}Reparerer [ProductName] - Vent, mens guiden Installation fjerner [ProductName]. - {\WixUI_Font_Title}Fjerner [ProductName] - Vent, mens guiden Installation opdaterer [ProductName]. - {\WixUI_Font_Title}Opdaterer [ProductName] - Udførelsesstatus - Status: - - [ProductName] Installation - &Installer - WixUI_Bmp_Dialog - Guiden Installation fuldfører installationen af [ProductName] på computeren. Klik på Installer for at fortsætte, eller klik på Annuller for at afslutte guiden Installation. - {\WixUI_Font_Bigger}Fortsætter guiden [ProductName] Installation - - [ProductName] Installation - &Standard - Standardinstallation - &Brugerdefineret - Brugerdefineret installation - &Fuld - Fuld installation - WixUI_Bmp_Banner - {\WixUI_Font_Title}Vælg installationstype - Vælg den installationstype, som passer bedst til dine behov - Installerer de mest almindelige programfunktioner. Anbefales til de fleste brugere. - Giver brugerne mulighed for at vælge, hvilke programfunktioner der installeres, og hvor de installeres. Anbefales til avancerede brugere. - Alle programfunktioner installeres. Kræver mest diskplads. - - [ProductName] Installation - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Guiden [ProductName] Installation blev afbrudt - Installationen af [ProductName] blev afbrudt. Systemet er ikke blevet ændret. Hvis du vil installere programmet på et senere tidspunkt, skal du køre installationsprogrammet igen. - Klik på knappen Udfør for at afslutte guiden Installation. - - [ProductName] Installation - WixUI_Bmp_Banner - &Installer - Klik på Installer for at starte installationen. Klik på Tilbage for at gennemgå eller ændre installationsindstillingerne. Klik på Annuller for at afslutte guiden. - {\WixUI_Font_Title}Klar til at installere [ProductName] - &Skift - Klik på Skift for at starte installationen. Klik på Tilbage for at gennemgå eller ændre installationsindstillingerne. Klik på Annuller for at afslutte guiden. - {\WixUI_Font_Title}Klar til at ændre [ProductName] - Re&parer - Klik på Reparer for at reparere installationen af [ProductName]. Klik på Tilbage for at gennemgå eller ændre installationsindstillingerne. Klik på Annuller for at afslutte guiden. - {\WixUI_Font_Title}Klar til at reparere [ProductName] - &Fjern - Klik på Fjern for at fjerne [ProductName] fra computeren. Klik på Tilbage for at gennemgå eller ændre installationsindstillingerne. Klik på Annuller for at afslutte guiden. - {\WixUI_Font_Title}Klar til at fjerne [ProductName] - &Opdater - Klik på Opdater for at opdatere [ProductName] på computeren. Klik på Tilbage for at gennemgå eller ændre installationsindstillingerne. Klik på Annuller for at afslutte guiden. - {\WixUI_Font_Title}Klar til at opdatere [ProductName] - - [ProductName] Installation - &Tilbage - Vent, mens installationsprogrammet bestemmer kravene til diskplads. - WixUI_Ico_Exclam - Ikon for udråbstegn - - [ProductName] Installation - WixUI_Bmp_Dialog - Guiden Installation installerer [ProductName] på computeren. Klik på Næste for at fortsætte, eller klik på Annuller for at afslutte guiden Installation. - Guiden Installation opdaterer [ProductName] på computeren. Klik på Næste for at fortsætte, eller klik på Annuller for at afslutte guiden Installation. - {\WixUI_Font_Bigger}Velkommen til guiden [ProductName] Installation - - [ProductName] Installation - WixUI_Bmp_Dialog - Jeg &accepterer vilkårene i licensaftalen - &Installer - &Opdater - {\WixUI_Font_Title}Læs licensaftalen til [ProductName] - - Kontrollerer installationen - Kopierer nye filer - Fil: [1], mappe: [9], størrelse: [6] - Kopierer netværksinstallationsfiler - Fil: [1], mappe: [9], størrelse: [6] - Beregner pladskrav - Beregner pladskrav - Beregner pladskrav - Opretter genveje - Genvej: [1] - Udgiver kvalificerede komponenter - Komponent-id: [1], operator: [2] - Udgiver produktfunktioner - Funktion: [1] - Udgiver produktoplysninger - Registrerer klasseservere - Klasse-id: [1] - Registrerer udvidelsesservere - Udvidelse: [1] - Registrerer MIME-oplysninger - MIME-indholdstype: [1], udvidelse: [2] - Registrerer program-id'er - Program-id: [1] - Allokerer plads i registreringsdatabasen - Ledig plads: [1] - Søger efter installerede programmer - Egenskab: [1], signatur: [2] - Binder eksekverbare filer - Fil: [1] - Søger efter kvalificerende produkter - Opretter mapper - Mappe: [1] - Sletter tjenester - Tjeneste: [1] - Opretter kopier af filer - Fil: [1], mappe: [9], størrelse: [6] - Søger efter relaterede programmer - Fandt programmet: [1] - Installerer ODBC-komponenter - Installerer nye tjenester - Tjeneste: [2] - Vurderer startbetingelser - Overflytter funktionstilstande fra relaterede programmer - Program: [1] - Flytter filer - Fil: [1], mappe: [9], størrelse: [6] - Udfører rettelser på filer - Fil: [1], mappe: [2], størrelse: [3] - Opdaterer komponentregistrering - Registrerer COM+-programmer og -komponenter - Program-id: [1]{{, programtype: [2], brugere: [3], RSN: [4]}} - Registrerer skrifttyper - Skrifttype: [1] - Registrerer produkt - [1] - Registrerer typebiblioteker - Lib-id: [1] - Registrerer bruger - [1] - Fjerner identiske filer - Fil: [1], mappe: [9] - Opdaterer miljøstrenge - Navn: [1], værdi: [2], handling [3] - Fjerner programmer - Program: [1], kommandolinje: [2] - Fjerner filer - Fil: [1], mappe: [9] - Fjerner mapper - Mappe: [1] - Fjerner poster i INI-filer - Fil: [1], sektion: [2], nøgle: [3], værdi: [4] - Fjerner ODBC-komponenter - Fjerner værdier fra registreringsdatabasen - Nøgle: [1], navn: [2] - Fjerner genveje - Genvej: [1] - Søger efter kvalificerende produkter - Registrerer moduler - Fil: [1], mappe: [2] - Fjerner registrering af moduler - Fil: [1], mappe: [2] - Initialiserer ODBC-mapper - Starter tjenester - Tjeneste: [1] - Stopper tjenester - Tjeneste: [1] - Fjerner udgivelse af kvalificerede komponenter - Komponent-id: [1], operator: [2] - Fjerner udgivelse af produktfunktioner - Funktion: [1] - Fjerner registrering af klasseservere - Klasse-id: [1] - Fjerner registreringen af COM+-programmer og -komponenter - Program-id: [1]{{, Programtype: [2]}} - Fjerner registreringen af udvidelsesservere - Udvidelse: [1] - Fjerner registrering af skrifttyper - Skrifttype: [1] - Fjerner registrering af MIME-oplysninger - MIME-indholdstype: [1], udvidelse: [2] - Fjerner registreringen af program-id'er - Program-id: [1] - Fjerner registreringen af typebiblioteker - Lib-id: [1] - Opdaterer miljøstrenge - Navn: [1], værdi: [2], handling [3] - Skriver værdier for INI-filer - Fil: [1], sektion: [2], nøgle: [3], værdi: [4] - Skriver værdier i registreringsdatabasen - Nøgle: [1], navn: [2], værdi: [3] - Annoncerer program - Opretter scriptfunktioner til handlingen: - [1] - Installerer systemkatalog - Fil: [1], afhængigheder: [2] - Udgiver samlingsoplysninger - Programkontekst:[1], samlingsnavn:[2] - Fjerner udgivelse af samlingsoplysninger - Programkontekst:[1], samlingsnavn:[2] - Gendannelse: - [1] - Fjerner sikkerhedskopifiler - Fil: [1] - Fjerner flyttede filer - Fil: [1], mappe: [9] - Fjerner udgivelse af produktoplysninger - - {{Alvorlig fejl: }} - {{Fejl [1]. }} - Advarsel [1]. - Oplysninger [1]. - Der opstod en fejl under installation af denne pakke. Dette skyldes muligvis et problem med denne pakke. Fejlkoden er [1]. {{Argumenterne er: [2], [3], [4]}} - {{Disken er fyldt: }} - Handling [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Meddelelsestype: [1], argument: [2] - === Logføring startet: [Date] [Time] === - === Logføring afsluttet: [Date] [Time] === - Handling startet [Time]: [1]. - Handling afsluttet [Time]: [1]. Returværdi [2]. - Resterende tid: {[1] minutter }{[2] sekunder} - Der er ikke mere hukommelse. Luk andre programmer, før du prøver igen. - Installationsprogrammet svarer ikke længere. - Installationsprogrammet stoppede for tid. - Vent, mens Windows konfigurerer [ProductName] - Indsamler nødvendige oplysninger... - Fjerner ældre versioner af dette program... - Forbereder fjernelse af ældre versioner af dette program... - Installationen af {[ProductName] } er fuldført. - {[ProductName] } blev ikke installeret. - Der opstod en fejl under læsning fra filen: [2]. {{ Systemfejl [3].}} Kontrollér, at filen findes, og at du har adgang til den. - Filen '[2]' kunne ikke oprettes. Der findes allerede en mappe med dette navn. Annuller installationsprogrammet, og forsøg at installere på en anden placering. - Indsæt disken: [2] - Installationsprogrammet har ikke tilstrækkelige rettigheder til at få adgang til mappen: [2]. Installationen kan ikke fortsætte. Log på som administrator, eller kontakt systemadministratoren. - Der opstod en fejl under skrivning til filen: [2]. Kontrollér, at du har adgang til mappen. - Der opstod en fejl under læsning fra filen [2]. {{ Systemfejl [3].}} Kontrollér, at filen findes, og at du har adgang til den. - Der er et andet program, der har udelt adgang til filen '[2]'. Luk alle andre programmer, og klik derefter på Prøv igen. - Der er ikke tilstrækkeligt med diskplads til at installere filen: [2]. Frigør noget diskplads, og klik på Prøv igen, eller klik på Annuller for at afslutte. - Kildefilen blev ikke fundet: [2]. Kontrollér, at filen findes, og at du har adgang til den. - Der opstod en fejl under læsning fra filen [3]. {{ Systemfejl [2].}} Kontrollér, at filen findes, og at du har adgang til den. - Der opstod en fejl under skrivning til filen: [3]. {{ Systemfejl [2].}} Kontrollér, at du har adgang til denne mappe. - Kildefilen blev ikke fundet{{(kabinet)}}: [2]. Kontrollér, at filen findes, og at du har adgang til den. - Mappen '[2]' kunne ikke oprettes. Der findes allerede en fil med dette navn. Omdøb eller fjern filen, og klik på Prøv igen, eller klik på Annuller for at afslutte. - Diskenheden [2] er ikke tilgængelig i øjeblikket. Vælg en anden diskenhed. - Den angivne sti '[2]' er ikke tilgængelig. - Systemet kunne ikke skrive til den angivne mappe: [2]. - Der opstod en netværksfejl under forsøg på at læse fra filen: [2] - Der opstod en fejl under forsøg på at oprette mappen: [2] - Der opstod en netværksfejl under forsøg på at oprette mappen: [2] - Der opstod en netværksfejl under forsøg på at åbne kildefilkabinettet: [2] - Den angivne sti er for lang: [2] - Installationsprogrammet har ikke tilstrækkelige rettigheder til at ændre denne fil: [2]. - En del af mappestien '[2]' er ugyldig. Den er enten tom eller overstiger den længde, der tillades i systemet. - Mappestien '[2]' indeholder ord, der ikke er gyldige i mappestier. - Mappestien '[2]' indeholder et ugyldigt tegn. - '[2]' er ikke et gyldigt kort filnavn. - Der opstod en fejl under forsøg på at hente filsikkerhed: [3] GetLastError: [2] - Ugyldigt drev: [2] - Der opstod fejl under forsøg på at anvende programrettelsen på filen [2]. Den er muligvis blevet opdateret på en anden måde, og den kan ikke længere ændres af denne programrettelse. Du kan få flere oplysninger ved at kontakte forhandleren af programrettelsen. {{Systemfejl: [3]}} - En påkrævet fil kan ikke installeres, da kabinetfilen [2] ikke er digitalt signeret. Dette kan angive, at kabinetfilen er fejlbehæftet. - En påkrævet fil kan ikke installeres, da kabinetfilen [2] har en digital signatur, der er ugyldig. Dette kan angive, at kabinetfilen er fejlbehæftet.{{ Fejlen [3] blev returneret af WinVerifyTrust.}} - Filen [2] kunne ikke kopieres korrekt: CRC-fejl. - Filen [2] kunne ikke flyttes korrekt: CRC-fejl. - Filen [2] kunne ikke rettes korrekt: CRC-fejl. - Filen '[2]' kan ikke installeres, fordi filen ikke blev fundet i kabinetfilen '[3]'. Dette skyldes muligvis en netværksfejl, en fejl ved læsning fra cd'en eller et problem med denne pakke. - Kabinetfilen '[2]', der er nødvendig til denne installation, er beskadiget og kan ikke bruges. Dette skyldes muligvis en netværksfejl, en fejl ved læsning fra cd'en eller et problem med denne pakke. - Der opstod en fejl under oprettelse af en midlertidig fil, der er nødvendig for at kunne fuldføre denne installation.{{ Mappe: [3]. Systemfejlkode: [2]}} - Nøglen kunne ikke oprettes: [2]. {{ Systemfejl [3].}} Kontrollér, at du har tilstrækkelig adgang til denne nøgle, eller kontakt supportteknikerne. - Nøglen kunne ikke åbnes: [2]. {{ Systemfejl [3].}} Kontrollér, at du har tilstrækkelig adgang til denne nøgle, eller kontakt supportteknikerne. - Værdien [2] kunne ikke slettes fra nøglen [3]. {{ Systemfejl [4].}} Kontrollér, at du har tilstrækkelig adgang til denne nøgle, eller kontakt supportteknikerne. - Nøglen [2] kunne ikke slettes. {{ Systemfejl [3].}} Kontrollér, at du har tilstrækkelig adgang til denne nøgle, eller kontakt supportteknikerne. - Værdien [2] kunne ikke læses fra nøglen [3]. {{ Systemfejl [4].}} Kontrollér, at du har tilstrækkelig adgang til denne nøgle, eller kontakt supportteknikerne. - Værdien [2] kunne ikke skrives til nøglen [3]. {{ Systemfejl [4].}} Kontrollér, at du har tilstrækkelig adgang til denne nøgle, eller kontakt supportteknikerne. - Systemet kunne ikke hente værdinavne for nøglen [2]. {{ Systemfejl [3].}} Kontrollér, at du har tilstrækkelig adgang til denne nøgle, eller kontakt supportteknikerne. - Systemet kunne ikke hente undernøglenavne for nøglen [2]. {{ Systemfejl [3].}} Kontrollér, at du har tilstrækkelig adgang til denne nøgle, eller kontakt supportteknikerne. - Systemet kunne ikke læse sikkerhedsoplysninger for nøglen [2]. {{ Systemfejl [3].}} Kontrollér, at du har tilstrækkelig adgang til denne nøgle, eller kontakt supportteknikerne. - Systemet kunne ikke forøge den tilgængelige plads i registreringsdatabasen. Der kræves [2] KB ledig plads i registreringsdatabasen til installation af dette program. - En anden installation er i gang. Du skal afslutte den pågældende installation, før du fortsætter med denne. - Der opstod en fejl under forsøg på at få adgang til sikre data. Kontrollér, at Windows Installer er konfigureret korrekt, og prøv at installere igen. - Brugeren '[2]' har tidligere startet en installation af programmet '[3]'. Den bruger skal køre installationen igen, før programmet kan bruges. Den aktuelle installation vil nu fortsætte. - Brugeren '[2]' har tidligere startet en installation af programmet '[3]'. Den bruger skal køre installationen igen, før programmet kan bruges. - Der er ikke mere ledig diskplads på diskenheden: '[2]'. Påkrævet plads: [3] KB. Ledig plads: [4] KB. Frigør noget diskplads, og prøv igen. - Er du sikker på, at du vil annullere? - Filen [2][3] bruges{ af følgende proces: Navn: [4], id: [5], vinduestitel: '[6]'}. Luk programmet, og forsøg igen. - Programmet '[2]' er allerede installeret. Det forhindrer, at dette program installeres. De to programmer er ikke kompatible. - Der er ikke nok ledig diskplads på diskenheden '[2]' til at fortsætte installationen med genoprettelse aktiveret. Der kræves [3] KB, men der er kun [4] KB ledig. Klik på Ignorer for at fortsætte installationen uden at gemme genoprettelsesoplysninger, klik på Forsøg igen for at undersøge mængden af ledig plads igen, eller klik på Annuller for at afslutte installationen. - Der kunne ikke opnås adgang til netværksplaceringen [2]. - Følgende programmer skal lukkes, før du fortsætter med installationen: - Systemet kunne ikke finde nogen tidligere installerede kompatible produkter på computeren til installation af dette produkt. - Der opstod en fejl under anvendelsen af sikkerhedsindstillingerne. [2] er ikke en gyldig bruger eller gruppe. Dette kan skyldes et problem med pakken eller et problem med forbindelsen til en domænecontroller på netværket. Kontrollér netværksforbindelsen, og klik på Forsøg igen, eller klik på Annuller for at afslutte installationen. {{Brugerens SID blev ikke fundet. Systemfejl [3]}} - Nøglen [2] er ugyldig. Kontrollér, at du har angivet den korrekte nøgle. - Installationsprogrammet skal genstarte programmet, før konfigurationen af [2] kan fortsætte. Klik på Ja for at genstarte nu, eller klik på Nej, hvis du vil genstarte manuelt senere. - Du skal genstarte systemet, for at de udførte konfigurationsændringer i [2] kan træde i kraft. Klik på Ja for at genstarte nu, eller klik på Nej, hvis du vil genstarte manuelt senere. - En installation af [2] er i øjeblikket afbrudt. Du skal fortryde de ændringer, der er foretaget under den pågældende installation, for at fortsætte. Vil du fortryde disse ændringer? - En tidligere installation af dette produkt er i gang. Du skal fortryde de ændringer, der er foretaget under den pågældende installation, for at fortsætte. Vil du fortryde disse ændringer? - En installationspakke til produktet [2] blev ikke fundet. Prøv at installere igen ved hjælp af en gyldig kopi af installationspakken '[3]'. - Installationen blev fuldført. - Installationen mislykkedes. - Produkt: [2] - [3] - Du kan enten gendanne computeren til dens tidligere tilstand eller fortsætte installationen senere. Vil du gendanne? - Der opstod fejl under skrivning af installationsoplysningerne til disken. Kontrollér, om der er nok ledig diskplads, og klik på Prøv igen, eller klik på Annuller for at afslutte installationen. - En eller flere af de filer, der er påkrævede for at gendanne computeren til dens forrige tilstand, blev ikke fundet. Det er ikke muligt at gendanne computeren. - [2] kan ikke installere et af de påkrævede produkter. Kontakt teknisk support. {{Systemfejl: [3].}} - Den ældre version af [2] kan ikke fjernes. Kontakt teknisk support. {{Systemfejl [3].}} - Installerede [2] - Konfigurerede [2] - Fjernede [2] - Filen [2] blev afvist af politikken for digital signatur. - Der kunne ikke opnås adgang til tjenesten Windows Installer. Denne fejl kan opstå, hvis du kører Windows i fejlsikret tilstand, eller hvis Windows Installer ikke er korrekt installeret. Kontakt supportteknikerne for at få hjælp. - Denne Windows Installer-pakke er fejlbehæftet. Et script, der er påkrævet, for at installationen kan fuldføres, kunne ikke køres. Kontakt supportafdelingen eller forhandleren af pakken. {{Brugerdefineret handling [2] scriptfejl [3], [4]: [5], linje [6], kolonne [7], [8] }} - Der er opstået et problem med denne Windows Installer-pakke. Et program, der er nødvendigt for at kunne fuldføre denne installation, kunne ikke køres. Kontakt supportteknikerne eller pakkens producent. {{Handling [2], placering: [3], kommando: [4] }} - Denne Windows Installer-pakke er fejlbehæftet. Et program, der køres som en del af installationen, blev ikke fuldført som forventet. Kontakt supportafdelingen eller forhandleren af pakken. {{Handling [2], placering: [3], kommando: [4] }} - Denne Windows Installer-pakke er fejlbehæftet. En DLL-fil, der er påkrævet, for at installationen kan fuldføres, kunne ikke køres. Kontakt supportafdelingen eller forhandleren af pakken. {{Handling [2], post: [3], bibliotek: [4] }} - Fjernelsen blev fuldført. - Fjernelsen mislykkedes. - Annonceringen blev fuldført. - Annonceringen mislykkedes. - Konfigurationen blev fuldført. - Konfigurationen mislykkedes. - Du skal være administrator for at kunne fjerne dette program. Hvis du vil fjerne programmet, skal du logge på som administrator eller kontakte teknisk support for at få hjælp. - Kildeinstallationspakken for produktet [2] er ikke synkroniseret med klientpakken. Prøv at installere igen ved hjælp af en gyldig kopi af installationspakken '[3]'. - Du skal genstarte computeren for at kunne fuldføre installationen af [2]. Der er i øjeblikket andre brugere logget på denne computer, og hvis computeren genstartes, mister disse brugere muligvis de data, der ikke er gemt. Vil du genstarte computeren nu? - Stien [2] er ugyldig. Angiv en gyldig sti. - Der er ikke mere hukommelse. Luk andre programmer, før du prøver igen. - Der er ingen disk i drev [2]. Indsæt en disk, og klik på Forsøg igen, eller klik på Annuller for at gå tilbage til den enhed, som blev brugt tidligere. - Der er ingen disk i drev [2]. Indsæt en disk, og klik på Forsøg igen, eller klik på Annuller for at gå tilbage til dialogboksen til søgning og vælge en anden diskenhed. - Mappen [2] findes ikke. Angiv en sti til en mappe, der findes. - Du har ikke tilstrækkelige rettigheder til at læse denne mappe. - Der blev ikke fundet en gyldig destinationsmappe til installationen. - Der opstod en fejl under forsøg på at læse fra kildeinstallationsdatabasen: [2]. - Planlægger genstart: Omdøber filen [2] til [3]. Computeren skal genstartes, for at handlingen kan fuldføres. - Planlægger genstart: Sletter filen [2]. Computeren skal genstartes, for at handlingen kan fuldføres. - Modulet [2] blev ikke registreret. HRESULT [3]. Kontakt supportafdelingen. - Annullering af registreringen af modulet [2] blev ikke fuldført. HRESULT [3]. Kontakt supportafdelingen. - Systemet kunne ikke cachelagre pakken [2]. Fejl: [3]. Kontakt supportafdelingen. - Skrifttypen [2] blev ikke registreret. Kontrollér, at du har de nødvendige rettigheder til at installere skrifttyper, og at skrifttypen understøttes af systemet. - Registreringen af skrifttypen [2] kunne ikke fjernes. Kontrollér, at du har de nødvendige rettigheder til at fjerne skrifttyper. - Det var ikke muligt at oprette genvejen [2]. Kontrollér, at destinationsmappen findes, og at du har adgang til den. - Det var ikke muligt at fjerne genvejen [2]. Kontrollér, at genvejsfilen findes, og at du har adgang til den. - Typebiblioteket for filen [2] blev ikke registreret. Kontakt supportafdelingen. - Annullering af registreringen af typebiblioteket for filen [2] blev ikke fuldført. Kontakt supportafdelingen. - INI-filen [2][3] blev ikke opdateret. Kontrollér, at filen findes, og at du har adgang til den. - Det var ikke muligt at planlægge, at filen [2] skulle erstatte filen [3] ved genstart. Kontrollér, at du har skriverettigheder til filen [3]. - Der opstod en fejl under fjernelsen af ODBC-driverstyring, ODBC-fejl [2]: [3]. Kontakt supportafdelingen. - Der opstod en fejl under installationen af ODBC-driverstyring, ODBC-fejl [2]: [3]. Kontakt supportafdelingen. - Der opstod en fejl under fjernelse af ODBC-driveren: [4], ODBC-fejl [2]: [3]. Kontrollér, at du har de nødvendige rettigheder til at fjerne ODBC-drivere. - Der opstod en fejl under installation af ODBC-driveren: [4], ODBC-fejl [2]: [3]. Kontrollér, at filen [4] findes, og at du kan få adgang til den. - Der opstod en fejl under konfiguration af ODBC-datakilden: [4], ODBC-fejl [2]: [3]. Kontrollér, at filen [4] findes, og at du kan få adgang til den. - Tjenesten '[2]' ([3]) kunne ikke starte. Kontrollér, at du har tilstrækkelige rettigheder til at starte systemtjenester. - Tjenesten '[2]' ([3]) kunne ikke stoppes. Kontrollér, at du har tilstrækkelige rettigheder til at standse systemtjenester. - Tjenesten '[2]' ([3]) kunne ikke slettes. Kontrollér, at du har tilstrækkelige rettigheder til at fjerne systemtjenester. - Tjenesten '[2]' ([3]) kunne ikke installeres. Kontrollér, at du har tilstrækkelige rettigheder til at installere systemtjenester. - Miljøvariablen '[2]' blev ikke opdateret. Kontrollér, at du har tilstrækkelige rettigheder til at ændre miljøvariabler. - Du har ikke tilstrækkelige rettigheder til at fuldføre installationen for alle brugerne af computeren. Log på som administrator, og prøv derefter at installere igen. - Filsikkerheden for filen '[3]' kunne ikke angives. Fejl: [2]. Kontrollér, at du har tilstrækkelige rettigheder til at ændre sikkerhedsindstillingerne for filen. - Component Services (COM+ 1.0) er ikke installeret på computeren. Component Services er påkrævet, for at installationen kan fuldføres. Component Services findes på Windows 2000. - Der opstod fejl under registrering af COM+-programmet. Kontakt supportafdelingen for at få flere oplysninger. - Der opstod fejl under annullering af registreringen af COM+-programmet. Kontakt supportafdelingen for at få flere oplysninger. - Beskrivelsen til tjenesten '[2]' ([3]) kunne ikke ændres. - Tjenesten Windows Installer kan ikke opdatere systemfilen [2], da den er beskyttet af Windows. Du skal muligvis opgradere operativsystemet, for at programmet fungerer korrekt. {{Pakkeversion: [3], version beskyttet af operativsystemet: [4]}} - Tjenesten Windows Installer kan ikke opdatere den beskyttede Windows-fil [2]. {{Pakkeversion: [3], version beskyttet af operativsystemet: [4], SFP-fejl: [5]}} - Tjenesten Windows Installer kan ikke opdatere en eller flere beskyttede Windows-filer. {{SFP-fejl: [2]. Liste over beskyttede filer:\r\n[3]}} - Brugerinstallationer er deaktiveret ved hjælp af en politik på computeren. - Der opstod en fejl under installationen af samlingen '[6]'. Se i Hjælp og support for at få flere oplysninger. HRESULT: [3]. {{samlingsgrænseflade: [4], funktion: [5], komponent: [2]}} - Der opstod en fejl under installationen af samlingen '[6]'. Samlingen er ikke navngivet med et sikkert navn eller er ikke signeret med den minimale nøglelængde. HRESULT: [3]. {{samlingsgrænseflade: [4], funktion: [5], komponent: [2]}} - Der opstod en fejl under installationen af samlingen '[6]'. Signaturen eller kataloget kunne ikke bekræftes eller er ikke gyldigt. HRESULT: [3]. {{samlingsgrænseflade: [4], funktion: [5], komponent: [2]}} - Der opstod en fejl under installationen af samlingen '[6]'. Et eller flere moduler i samlingen blev ikke fundet. HRESULT: [3]. {{samlingsgrænseflade: [4], funktion: [5], komponent: [2]}} - - byte - GB - KB - MB - Hele funktionen vil være utilgængelig - Funktionen bliver installeret, når den kræves - Hele funktionen installeres til at køre fra cd - Hele funktionen installeres på den lokale harddisk - Hele funktionen installeres til at køre fra netværket - Installeres til at køre fra cd - Installeres på den lokale harddisk - Installeres til at køre fra netværket - Mappe|Ny mappe - Indsamler nødvendige oplysninger... - Denne funktion installeres ikke - Denne funktion indstilles til at blive installeret, når den kræves - Denne funktion installeres til at køre fra cd - Denne funktion installeres på den lokale harddisk - Denne funktion installeres til at køre fra netværket - Denne funktion bliver ikke tilgængelig - Installeres, når den kræves - Denne funktion kan køres fra cd - Denne funktion installeres på den lokale harddisk - Denne funktion kan køres fra netværket - Denne funktion fjernes helt, og du kan ikke køre den fra cd - Denne funktion ændres fra at køre fra cd til at blive installeret, når det er påkrævet - Denne funktion køres fortsat fra cd - Denne funktion ændres fra at køre fra cd til at køre fra den lokale harddisk - Denne funktion frigiver [1] på harddisken. - Denne funktion kræver [1] på harddisken. - Kompilerer omkostninger for denne funktion... - Denne funktion fjernes fuldstændigt - Denne funktion fjernes fra den lokale harddisk, men den indstilles til at blive installeret, når den kræves - Denne funktion fjernes fra den lokale harddisk, men den kan stadig køres fra cd - Denne funktion bliver på den lokale harddisk - Denne funktion fjernes fra den lokale harddisk, men den kan stadig køres fra netværket - Denne funktion fjernes fuldstændig. Den vil ikke kunne køres fra netværket - Denne funktion skifter fra at køre fra netværkstilstand til at blive installeret, når den kræves - Denne funktion ændres fra at køre fra netværkstilstand til at blive installeret på den lokale harddisk - Denne funktion køres fortsat fra netværket - Denne funktion frigiver [1] på harddisken. [2] af [3] underfunktioner er valgt. Underfunktionerne frigiver [4] på harddisken. - Denne funktion frigiver [1] på harddisken. [2] af [3] underfunktioner er valgt. Underfunktionerne kræver [4] på harddisken. - Denne funktion kræver [1] på harddisken. [2] af [3] underfunktioner er valgt. Underfunktionerne frigiver [4] på harddisken. - Denne funktion kræver [1] på harddisken. [2] af [3] underfunktioner er valgt. Underfunktionerne kræver [4] på harddisken. - Resterende tid: {[1] minutter }{[2] sekunder} - Ledig - Forskel - Krævet - Diskstørrelse - Drev - diff --git a/Src/Localization/WixUI/WixUI_de-de.wxl b/Src/Localization/WixUI/WixUI_de-de.wxl deleted file mode 100644 index c7ccf25..0000000 --- a/Src/Localization/WixUI/WixUI_de-de.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Zurück - &Weiter - Abbrechen - &Fertig stellen - &Wiederholen - &Ignorieren - &Ja - &Nein - OK - &Drucken - - [ProductName]-Setup - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lesen Sie die Lizenzbedingungen für [ProductName]. - Ich &stimme den Bedingungen der Lizenzvereinbarung zu. - Klicken Sie auf "Installieren", um das Produkt mit Standardoptionen für alle Benutzer zu installieren. Klicken Sie auf "Erweitert", um die Installationsoptionen zu ändern. - Klicken Sie auf "Installieren", um das Produkt mit Standardoptionen nur für Sie zu installieren. Klicken Sie auf "Erweitert", um die Installationsoptionen zu ändern. - &Installieren - &Erweitert - 8 - 12 - 9 - 8 - Tahoma - - [ProductName]-Setup - &Suchen in: - WixUI_Bmp_Up - Eine Ebene nach oben - WixUI_Bmp_New - Neuen Ordner erstellen - &Ordnername: - WixUI_Bmp_Banner - Zielordner suchen - {\WixUI_Font_Title}Zielordner ändern - - [ProductName]-Setup - Möchten Sie die Installation von [ProductName] wirklich abbrechen? - WixUI_Ico_Info - Informationssymbol - - [ProductName]-Setup - Auswahlstruktur - Du&rchsuchen... - Zurück&setzen - Datenträger&verwendung - WixUI_Bmp_Banner - Klicken Sie in der Struktur unten auf die Symbole, um den Installationstyp der einzelnen Funktionen zu ändern. - Wählen Sie aus, wie die Funktionen installiert werden sollen. - {\WixUI_Font_Title}Benutzerdefiniertes Setup - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Ort: - - [ProductName]-Setup - WixUI_Bmp_Banner - Die hervorgehobenen Laufwerke weisen nicht genügend Speicherplatz für die ausgewählten Funktionen auf. Sie können entweder Dateien von den hervorgehobenen Laufwerken entfernen, weniger Funktionen installieren oder andere Ziellaufwerke bestimmen. - Der für die Installation der ausgewählten Funktionen erforderliche Speicherplatz. - {\WixUI_Font_Title}Speicherplatzbedarf auf dem Datenträger - {120}{70}{70}{70}{70} - - [ProductName]-Setup - Informationstext - WixUI_Ico_Info - Informationssymbol - - [ProductName]-Setup - WixUI_Bmp_Dialog - Klicken Sie auf "Fertig stellen", um den Setup-Assistenten zu beenden. - {\WixUI_Font_Bigger}Der Setup-Assistent für [ProductName] wurde abgeschlossen. - - [ProductName]-Setup - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Der Setup-Assistent für [ProductName] wurde vorzeitig beendet. - Der Setup-Assistent für [ProductName] wurde aufgrund eines Fehlers vorzeitig beendet. Das System wurde nicht verändert. Sie müssen den Setup-Assistenten erneut ausführen, um dieses Programm zu einem späteren Zeitpunkt zu installieren. - Klicken Sie auf "Fertig stellen", um den Setup-Assistenten zu beenden. - - [ProductName]-Setup - Produktfunktionen - WixUI_Bmp_Banner - Wählen Sie aus, wie die Funktionen installiert werden sollen. - {\WixUI_Font_Title}Produktfunktionen - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installieren - &Ändern - - [ProductName]-Setup - Be&enden - WixUI_Bmp_Banner - Folgende Anwendungen verwenden Dateien, die aktualisiert werden müssen. Schließen Sie diese Anwendungen, und klicken Sie auf "&Wiederholen", um die Installation fortzusetzen, oder auf "Beenden", um den Vorgang zu beenden. - Einige Dateien, die aktualisiert werden müssen, werden zurzeit verwendet. - {\WixUI_Font_Title}Dateien werden verwendet - - [ProductName]-Setup - &Ändern... - {\WixUI_Font_Title}Zielordner - Klicken Sie auf "Weiter", um die Installation im Standardordner vorzunehmen, oder klicken Sie auf 'Ändern', um einen anderen Ordner auszuwählen. - WixUI_Bmp_Banner - [ProductName] installieren in: - - [ProductName]-Setup - WixUI_Bmp_Banner - Wählen Sie Installationsumfang und -ordner - {\WixUI_Font_Title}Installationsumfang - {\WixUI_Font_Emphasized}&Nur für mich installieren ([LogonUser]) - [ProductName] wird in einem Benutzerordner installiert und steht nur unter Ihrem Benutzerkonto zur Verfügung. Sie benötigen keine Administratorberechtigungen. - [ProductName] unterstützt keine Installation für einzelne Benutzer. - {\WixUI_Font_Emphasized}Für alle Benutzer dieses &Computers installieren - [ProductName] wird in einem Computerordner erstellt und steht allen Benutzern zur Verfügung. Sie können den Standardinstallationsordner ändern. Sie benötigen dazu lokale Administratorberechtigungen. - Installations&ordner: - &Ändern... - - [ProductName]-Setup - Das Installationsverzeichnis muss sich auf einer lokalen Festplatte befinden. - WixUI_Ico_Info - Informationssymbol - - [ProductName]-Setup - Ich &stimme den Bedingungen der Lizenzvereinbarung zu. - WixUI_Bmp_Banner - Lesen Sie die nachfolgenden Lizenzbedingungen aufmerksam durch - {\WixUI_Font_Title}Lizenzbedingungen - - [ProductName]-Setup - &Ändern - Installation ändern - Re&parieren - Installation reparieren - &Entfernen - Installation entfernen - WixUI_Bmp_Banner - Wählen Sie den gewünschten Vorgang aus. - {\WixUI_Font_Title}Ändern, Reparieren oder Entfernen der Installation - Ermöglicht eine benutzerspezifische Anpassung der installierten Funktionen. - [ProductName] verfügt nicht über unabhängig voneinander auswählbare Funktionen. - Entfernt [ProductName] vom Computer. - [ProductName] kann nicht entfernt werden. - Repariert das zuletzt installierte Programm durch Berichtigen von fehlenden und beschädigten Dateien, Verknüpfungen und Registrierungseinträgen. - [ProductName] kann nicht repariert werden. - - [ProductName]-Setup - WixUI_Bmp_Dialog - Mit dem Setup-Assistenten können Sie die Installationsart der [ProductName]-Funktionen auf dem Computer ändern oder das Produkt vom Computer entfernen. Klicken Sie auf "Weiter", um den Vorgang fortzusetzen, bzw. auf "Abbrechen", um den Setup-Assistenten zu beenden. - {\WixUI_Font_Bigger}Willkommen beim Setup-Assistenten von [ProductName] - - [ProductName]-Setup - WixUI_Bmp_Banner - Folgende Anwendungen verwenden Dateien, die aktualisiert werden müssen. Sie können diese vom Setup-Assistenten schließen lassen und versuchen, sie neu zu starten, oder Sie führen später einen Neustart des Computers aus. - Einige Dateien, die aktualisiert werden müssen, werden zurzeit verwendet. - {\WixUI_Font_Title}Dateien werden verwendet - &Anwendungen zuerst schließen und dann neu starten - Anwendungen &nicht schließen (späterer Neustart erforderlich) - - [ProductName]-Setup - WixUI_Bmp_Banner - Die hervorgehobenen Volumes verfügen nicht über genügend Speicherplatz für die aktuell ausgewählten Funktionen. Sie können einige Dateien von diesen Volumes entfernen, weniger Funktionen installieren oder ein anderes Ziellaufwerk auswählen. - Für die Installation ist nicht genügend Speicherplatz verfügbar. - {\WixUI_Font_Title}Nicht genügend Speicherplatz - {120}{70}{70}{70}{70} - - [ProductName]-Setup - WixUI_Bmp_Banner - Die hervorgehobenen Volumes verfügen nicht über genügend Speicherplatz für die aktuell ausgewählten Funktionen. Sie können einige Dateien von diesen Volumes entfernen, weniger Funktionen installieren oder ein anderes Ziellaufwerk auswählen. - Für die Installation ist nicht genügend Speicherplatz verfügbar. - {\WixUI_Font_Title}Nicht genügend Speicherplatz - {120}{70}{70}{70}{70} - Alternativ können Sie die Rollbackfunktion des Installationsprogramms deaktivieren. Das Deaktivieren des Rollbacks verhindert, dass das Installationsprogramm den Ursprungszustand des Computers wiederherstellen kann, wenn die Installation unterbrochen werden sollte. Klicken Sie auf "Ja", wenn Sie das Risiko eingehen möchten, das Rollback zu deaktivieren. - - [ProductName]-Setup - WixUI_Bmp_Dialog - Warten Sie, während die Installation vorbereitet wird. - {\WixUI_Font_Bigger}Willkommen beim Setup-Assistenten von [ProductName] - - [ProductName]-Setup - WixUI_Bmp_Banner - Warten Sie, während [ProductName] vom Setup-Assistenten installiert wird. - {\WixUI_Font_Title}[ProductName] wird installiert - Warten Sie, während [ProductName] vom Setup-Assistenten geändert wird. - {\WixUI_Font_Title}[ProductName] wird geändert - Warten Sie, während [ProductName] vom Setup-Assistenten repariert wird. - {\WixUI_Font_Title}[ProductName] wird repariert - Warten Sie, während [ProductName] vom Setup-Assistenten entfernt wird. - {\WixUI_Font_Title}[ProductName] wird entfernt - Der Setup-Assistent aktualisiert [ProductName]. Bitte warten Sie. - {\WixUI_Font_Title}[ProductName] wird aktualisiert - Ausgeführt - Status: - - [ProductName]-Setup - &Installieren - WixUI_Bmp_Dialog - Die Installation von [ProductName] wird vom Setup-Assistenten auf dem Computer abgeschlossen. Klicken Sie auf "Installieren", um den Vorgang fortzusetzen, bzw. auf "Abbrechen", um den Setup-Assistenten zu beenden. - {\WixUI_Font_Bigger}Der Setup-Assistent für [ProductName] wird fortgesetzt - - [ProductName]-Setup - &Standard - Standardinstallation - &Benutzerdefiniert - Benutzerdefinierte Installation - &Vollständig - Vollständige Installation - WixUI_Bmp_Banner - {\WixUI_Font_Title}Installationstyp wählen - Wählen Sie die für Sie passende Installationsart aus - Standardprogrammfunktionen werden installiert. Empfohlen für die meisten Benutzer. - Installiert die vom Benutzer festgelegten Programmfunktionen am vom Benutzer angegebenen Speicherort. Empfohlen für fortgeschrittene Benutzer. - Alle Programmfunktionen werden installiert. Erfordert den meisten Speicherplatz. - - [ProductName]-Setup - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Der Setup-Assistent für [ProductName] wurde unterbrochen. - Die [ProductName]-Installation wurde unterbrochen. Das System wurde nicht verändert. Sie müssen die Installation erneut ausführen, wenn Sie dieses Programm zu einem späteren Zeitpunkt installieren möchten. - Klicken Sie auf "Fertig stellen", um den Setup-Assistenten zu beenden. - - [ProductName]-Setup - WixUI_Bmp_Banner - &Installieren - Klicken Sie auf "Installieren", um die Installation zu starten. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zur Installation von [ProductName] - &Ändern - Klicken Sie auf "Ändern", um die Installation zu starten. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zur Änderung von [ProductName] - Re&parieren - Klicken Sie auf "Reparieren", um die Installation von [ProductName] zu reparieren. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zur Reparatur von [ProductName] - &Entfernen - Klicken Sie auf "Entfernen", um [ProductName] vom Computer zu entfernen. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zum Entfernen von [ProductName] - &Aktualisieren - Klicken Sie auf "Aktualisieren", um [ProductName] auf Ihrem Computer zu aktualisieren. Klicken Sie auf "Zurück", um die Installationseinstellungen zu prüfen oder zu ändern. Klicken Sie auf "Abbrechen", um den Assistenten zu beenden. - {\WixUI_Font_Title}Bereit zum Aktualisieren von [ProductName] - - [ProductName]-Setup - &Zurückspringen - Das Installationsprogramm ermittelt den Speicherplatzbedarf. Bitte warten Sie. - WixUI_Ico_Exclam - Hinweissymbol - - [ProductName]-Setup - WixUI_Bmp_Dialog - [ProductName] wird auf dem Computer installiert. Klicken Sie auf "Weiter", um den Vorgang fortzusetzen, oder auf "Abbrechen", um den Setup-Assistenten zu beenden. - [ProductName] wird auf dem Computer aktualisiert. Klicken Sie auf "Weiter", um den Vorgang fortzusetzen, oder auf "Abbrechen", um den Setup-Assistenten zu beenden. - {\WixUI_Font_Bigger}Willkommen beim Setup-Assistenten von [ProductName] - - [ProductName]-Setup - WixUI_Bmp_Dialog - Ich &stimme den Bedingungen der Lizenzvereinbarung zu. - &Installieren - &Aktualisieren - {\WixUI_Font_Title}Lesen Sie die Lizenzbedingungen für [ProductName]. - - Installation wird überprüft - Neue Dateien werden kopiert - Datei: [1], Verzeichnis: [9], Größe: [6] - Netzwerkinstallationsdateien werden kopiert - Datei: [1], Verzeichnis: [9], Größe: [6] - Speicherplatzbedarf wird berechnet - Speicherplatzbedarf wird berechnet - Speicherplatzbedarf wird berechnet - Verknüpfungen werden erstellt - Verknüpfung: [1] - Qualifizierte Komponenten werden veröffentlicht - Komponenten-ID: [1], Qualifizierer: [2] - Produktfunktionen werden veröffentlicht - Funktion: [1] - Produktinformationen werden veröffentlicht - Klassenserver werden registriert - Klassen-ID: [1] - Erweiterungsserver werden registriert - Erweiterung: [1] - MIME-Informationen werden registriert - MIME-Inhaltstyp: [1], Erweiterung: [2] - Programm-IDs werden registriert - Programmkennung: [1] - Registrierungsspeicher wird zugeordnet - Freier Speicherplatz: [1] - Installierte Anwendungen werden gesucht - Eigenschaft: [1], Signatur: [2] - Ausführbare Dateien werden gebunden - Datei: [1] - Berechtigende Produkte werden gesucht - Ordner werden erstellt - Ordner: [1] - Dienste werden gelöscht - Dienst: [1] - Dateiduplikat wird erstellt - Datei: [1], Verzeichnis: [9], Größe: [6] - Verwandte Anwendungen werden gesucht - Gefundene Anwendung: [1] - ODBC-Komponenten werden installiert - Neue Dienste werden installiert - Dienst: [2] - Die Startbedingungen werden überprüft - Funktionsstatus verwandter Anwendungen wird migriert - Anwendung: [1] - Dateien werden verschoben - Datei: [1], Verzeichnis: [9], Größe: [6] - Dateien werden gepatcht - Datei: [1], Verzeichnis: [2], Größe: [3] - Komponentenregistrierung wird aktualisiert - COM+-Anwendungen und -Komponenten werden registriert - Anwendungs-ID: [1]{{, Anwendungstyp: [2], Benutzer: [3], RSN: [4]}} - Schriftarten werden registriert - Schriftart: [1] - Produkt wird registriert - [1] - Typbibliotheken werden registriert - Bibliothekenkennung: [1] - Benutzer wird registriert - [1] - Dateiduplikate werden entfernt - Datei: [1], Verzeichnis: [9] - Umgebungszeichenfolgen werden aktualisiert - Name: [1], Wert: [2], Aktion [3] - Anwendungen werden entfernt - Anwendung: [1], Befehlszeile: [2] - Dateien werden entfernt - Datei: [1], Verzeichnis: [9] - Ordner werden entfernt - Ordner: [1] - INI-Dateieinträge werden entfernt - Datei: [1], Abschnitt: [2], Schlüssel: [3], Wert: [4] - ODBC-Komponenten werden entfernt - Systemregistrierungswerte werden entfernt - Schlüssel: [1], Name: [2] - Verknüpfungen werden entfernt - Verknüpfung: [1] - Berechtigende Produkte werden gesucht - Module werden registriert - Datei: [1], Ordner: [2] - Modulregistrierung wird aufgehoben - Datei: [1], Ordner: [2] - ODBC-Verzeichnisse werden initialisiert - Dienste werden gestartet - Dienst: [1] - Dienste werden beendet - Dienst: [1] - Veröffentlichung qualifizierter Komponenten wird aufgehoben - Komponenten-ID: [1], Qualifizierer: [2] - Veröffentlichung der Produktfunktionen wird aufgehoben - Funktion: [1] - Registrierung der Klassenserver wird aufgehoben - Klassen-ID: [1] - Registrierung der COM+-Anwendungen und -Komponenten wird aufgehoben - Anwendungs-ID: [1]{{, Anwendungstyp: [2]}} - Registrierung der Erweiterungsserver wird aufgehoben - Erweiterung: [1] - Registrierung der Schriftarten wird aufgehoben - Schriftart: [1] - Registrierung der MIME-Informationen wird aufgehoben - MIME-Inhaltstyp: [1], Erweiterung: [2] - Registrierung der Programm-IDs wird aufgehoben - Programmkennung: [1] - Registrierung der Typbibliotheken wird aufgehoben - Bibliothekenkennung: [1] - Umgebungszeichenfolgen werden aktualisiert - Name: [1], Wert: [2], Aktion [3] - INI-Dateiwerte werden geschrieben - Datei: [1], Abschnitt: [2], Schlüssel: [3], Wert: [4] - Systemregistrierungswerte werden geschrieben - Schlüssel: [1], Name: [2], Wert: [3] - Anwendung wird angekündigt - Für folgende Aktion werden Skriptvorgänge erstellt: - [1] - Systemkatalog wird installiert - Datei: [1], Abhängigkeiten: [2] - Assemblyinformationen werden veröffentlicht - Anwendungskontext:[1], Assemblyname:[2] - Veröffentlichung der Assemblyinformationen wird aufgehoben - Anwendungskontext:[1], Assemblyname:[2] - Rollback für Aktion wird ausgeführt: - [1] - Sicherungsdateien werden entfernt - Datei: [1] - Verschobene Dateien werden entfernt - Datei: [1], Verzeichnis: [9] - Veröffentlichung der Produktinformationen wird aufgehoben - - {{Schwerwiegender Fehler: }} - {{Fehler [1]. }} - Warnung [1]. - Informationen [1]. - Bei der Installation dieses Pakets ist ein unerwarteter Fehler aufgetreten. Es liegt eventuell ein das Paket betreffendes Problem vor. Der Fehlercode ist [1]. {{Argumente: [2], [3], [4]}} - {{Datenträger voll: }} - Aktion [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Meldungstyp: [1], Argument: [2] - === Protokollierung gestartet: [Date] [Time] === - === Protokollierung beendet: [Date] [Time] === - Aktion gestartet um [Time]: [1]. - Aktion beendet um [Time]: [1]. Rückgabewert [2]. - Restdauer: {[1] Minuten }{[2] Sekunden} - Nicht genügend Arbeitsspeicher. Beenden Sie andere Anwendungen, und wiederholen Sie den Vorgang. - Installationsprogramm reagiert nicht. - Installationsprogramm wurde vorzeitig abgebrochen. - Bitte warten Sie, während [ProductName] konfiguriert wird. - Erforderliche Daten werden ermittelt... - Ältere Versionen dieser Anwendung werden entfernt... - Das Entfernen älterer Versionen der Anwendung wird vorbereitet... - Das Setup für {[ProductName]} wurde erfolgreich abgeschlossen. - Fehler beim Setup für {[ProductName]}. - Fehler beim Lesen der Datei: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob die Datei vorhanden ist und Sie darauf zugreifen können. - Die Datei "[2]" kann nicht erstellt werden. Ein Verzeichnis mit diesem Namen ist bereits vorhanden. Brechen Sie die Installation ab, und versuchen Sie, an einem anderen Ort zu installieren. - Legen Sie den Datenträger ein: [2] - Die Berechtigungen des Installationsprogramms sind für den Zugriff auf dieses Verzeichnis unzureichend: [2]. Die Installation kann nicht fortgesetzt werden. Melden Sie sich als Administrator an, oder wenden Sie sich an den Systemadministrator. - Fehler beim Schreiben in Datei: [2]. Überprüfen Sie, ob Sie auf das Verzeichnis zugreifen können. - Fehler beim Lesen der Datei: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob die Datei vorhanden ist und Sie darauf zugreifen können. - Eine andere Anwendung hat exklusiven Zugriff auf die Datei "[2]". Beenden Sie alle anderen Anwendungen, und klicken Sie anschließend auf "Wiederholen". - Auf Ihrem Datenträger ist nicht genügend freier Speicherplatz vorhanden, um diese Datei zu installieren: "[2]". Geben Sie zusätzlichen Speicher frei, und klicken Sie auf "Wiederholen", oder klicken Sie auf "Abbrechen", um das Installationsprogramm zu beenden. - Die Quelldatei wurde nicht gefunden: [2]. Überprüfen Sie, ob die Datei vorhanden ist, und ob Sie darauf zugreifen können. - Fehler beim Lesen der Datei: [3]. {{ Systemfehler [2].}} Überprüfen Sie, ob die Datei vorhanden ist und Sie darauf zugreifen können. - Fehler beim Schreiben in Datei: [3]. {{ Systemfehler [2].}} Überprüfen Sie, ob Sie auf das Verzeichnis zugreifen können. - Die Quelldatei {{(CAB-Datei)}} wurde nicht gefunden: [2]. Überprüfen Sie, ob die Datei vorhanden ist, und ob Sie darauf zugreifen können. - Das Verzeichnis "[2]" kann nicht erstellt werden. Eine Datei mit diesem Namen ist bereits vorhanden. Benennen Sie die Datei um, oder entfernen Sie sie, und klicken Sie dann auf "Wiederholen". Klicken Sie alternativ auf "Abbrechen", um das Programm zu beenden. - Das Volume "[2]" ist zurzeit nicht verfügbar. Wählen Sie ein anderes Volume aus. - Der angegebene Pfad "[2]" ist nicht verfügbar. - In den angegebenen Ordner konnte nicht geschrieben werden: [2]. - Beim Lesen der Datei ist ein Netzwerkfehler aufgetreten: [2] - Beim Erstellen des Verzeichnisses ist ein Fehler aufgetreten: [2] - Beim Erstellen des Verzeichnisses ist ein Netzwerkfehler aufgetreten: [2] - Beim Öffnen der CAB-Quelldatei [2] ist ein Fehler aufgetreten: [2] - Der angegebene Pfad ist zu lang: [2] - Das Installationsprogramm besitzt keine ausreichenden Berechtigungen, um diese Datei zu ändern: [2]. - Ein Teil des Ordnerpfads "[2]" ist ungültig. Er ist entweder leer, oder er überschreitet die im System zulässige Länge. - Der Pfad "[2]" enthält ungültige Zeichenfolgen. - Der Pfad "[2]" enthält ein ungültiges Zeichen. - "[2]" ist kein gültiger kurzer Dateiname. - Fehler beim Abrufen der Dateisicherheit: [3] GetLastError: [2] - Ungültiges Laufwerk: [2] - Fehler beim Anwenden eines Patches auf die Datei [2]. Die Datei wurde wahrscheinlich bereits anderweitig aktualisiert und kann von diesem Patch nicht mehr verändert werden. Weitere Informationen erhalten Sie vom Hersteller des Patches. {{Systemfehler: [3]}} - Eine erforderliche Datei kann nicht installiert werden, da die CAB-Datei "[2]" nicht digital signiert wurde. Dies kann darauf hindeuten, dass die CAB-Datei fehlerhaft ist. - Eine erforderliche Datei kann nicht installiert werden, da die CAB-Datei [2] eine ungültige digitale Signatur hat. Dies kann darauf hindeuten, dass die CAB-Datei fehlerhaft ist. {{Von WinVerifyTrust wurde der Fehler [3] zurückgegeben.}} - Die Datei [2] konnte nicht kopiert werden: CRC-Fehler. - Die Datei [2] konnte nicht verschoben werden: CRC-Fehler. - Die Datei [2] konnte nicht gepatcht werden: CRC-Fehler. - Die Datei "[2]" kann nicht installiert werden, da die Datei in der Kabinettdatei "[3]" nicht gefunden wurde. Dies deutet auf einen Netzwerkfehler, einen CD-Lesefehler oder auf ein das Paket betreffendes Problem hin. - Die für die Installation erforderliche Datei "[2]" ist beschädigt und kann nicht verwendet werden. Dies deutet auf einen Netzwerkfehler, einen CD-Lesefehler oder auf ein das Paket betreffendes Problem hin. - Beim Erstellen der für die Installation erforderlichen temporären Datei ist ein Fehler aufgetreten.{{ Ordner: [3]. Systemfehlercode: [2]}} - Der Schlüssel konnte nicht erstellt werden: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Schlüssel konnte nicht geöffnet werden: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Wert [2] konnte nicht aus dem Schlüssel [3] gelöscht werden. {{ Systemfehler [4].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Schlüssel konnte nicht gelöscht werden: [2]. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Wert [2] konnte nicht aus dem Schlüssel [3] gelesen werden. {{ Systemfehler [4].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der Wert [2] konnte nicht in den Schlüssel [3] geschrieben werden. {{ Systemfehler [4].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Die Wertnamen für den Schlüssel [2] konnten nicht gelesen werden. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Die Namen der untergeordneten Schlüssel des Schlüssels [2] konnten nicht bestimmt werden. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Die Sicherheitsinformationen für den Schlüssel [2] konnten nicht gelesen werden. {{ Systemfehler [3].}} Überprüfen Sie, ob Sie ausreichende Zugriffsrechte für diesen Schlüssel besitzen, oder setzen Sie sich mit dem Support in Verbindung. - Der verfügbare Registrierungsspeicher konnte nicht vergrößert werden. [2] KB freier Registrierungsspeicher sind zum Installieren dieser Anwendung erforderlich. - Es wird bereits eine weitere Installation ausgeführt. Sie müssen diese Installation abschließen, bevor Sie den Vorgang fortsetzen können. - Fehler beim Zugriff auf gesicherte Daten. Stellen Sie sicher, dass Windows Installer ordnungsgemäß konfiguriert ist, und wiederholen Sie die Installation. - Benutzer "[2]" hat bereits die Installation für das Produkt "[3]" initiiert. Dieser Benutzer muss die Installation erneut ausführen, bevor dieses Produkt verwendet werden kann. Ihre aktuelle Installation wird jetzt fortgesetzt. - Benutzer "[2]" hat bereits die Installation für das Produkt "[3]" initiiert. Dieser Benutzer muss die Installation erneut ausführen, bevor dieses Produkt verwendet werden kann. - Nicht genügend freier Speicher auf dem Laufwerk -- Volume: "[2]"; erforderlicher Speicher: [3] KB; verfügbarer Speicher: [4] KB. Geben Sie Datenträgerspeicher frei, und versuchen Sie es erneut. - Möchten Sie den Vorgang wirklich abbrechen? - Die Datei "[2][3]" ist zurzeit in Gebrauch {des folgenden Prozesses: Name: [4], ID: [5], Fenstertitel: "[6]"}. Schließen Sie die Anwendung, und wiederholen Sie den Vorgang. - Das Produkt "[2]" ist bereits installiert und verhindert die Installation dieses Produkts. Die beiden Produkte sind inkompatibel. - Auf Volume "[2]" steht nicht genügend Speicherplatz für die Installation bei aktivierter Wiederherstellungsoption zur Verfügung. [3] KB sind erforderlich, aber nur [4] KB sind verfügbar. Klicken Sie auf "Ignorieren", um die Installation ohne Speicherung von Wiederherstellungsinformationen fortzusetzen, klicken Sie auf "Wiederholen", um den verfügbaren Speicher erneut zu überprüfen, oder auf "Abbrechen", um die Installation abzubrechen. - Auf die Netzwerkadresse [2] konnte nicht zugegriffen werden. - Die folgenden Anwendungen sollten geschlossen werden, bevor Sie die Installation fortsetzen: - Es konnte kein kompatibles Produkt auf dem Computer gefunden werden, das zur Installation dieses Produkts erforderlich ist. - Fehler beim Anwenden der Sicherheitseinstellungen. "[2]" ist kein gültiger Benutzer und keine gültige Benutzergruppe. Möglicherweise besteht ein Problem mit dem Paket oder beim Herstellen einer Verbindung mit einem Domänencontroller im Netzwerk. Überprüfen Sie die Netzwerkverbindung, und klicken Sie dann auf ''Wiederholen". Wenn Sie die Installation beenden möchten, klicken Sie auf "Abbrechen". {{SID des Benutzers wurde nicht gefunden. Systemfehler [3]}} - Der Schlüssel [2] ist ungültig. Überprüfen Sie, ob Sie den richtigen Schlüssel eingegeben haben. - Das Installationsprogramm muss den Computer neu starten, damit die Konfiguration von [2] fortgesetzt werden kann. Klicken Sie auf "Ja", um den Computer jetzt neu zu starten, oder auf "Nein", um den Computer später manuell neu zu starten. - Sie müssen den Computer neu starten, damit die geänderte Konfiguration von [2] wirksam wird. Klicken Sie auf "Ja", um den Computer jetzt neu zu starten, oder auf "Nein", um den Computer später manuell neu zu starten. - Eine Installation von [2] ist im Augenblick ausgesetzt. Sie müssen zuerst die von dieser Installation vorgenommenen Änderungen rückgängig machen, damit Sie den Vorgang fortsetzen können. Möchten Sie diese Änderungen rückgängig machen? - Zurzeit wird eine frühere Installation dieses Produkts durchgeführt. Sie müssen zuerst die von dieser Installation vorgenommenen Änderungen rückgängig machen, damit Sie den Vorgang fortsetzen können. Möchten Sie diese Änderungen rückgängig machen? - Ein Installationspaket des Produkts [2] konnte nicht gefunden werden. Wiederholen Sie die Installation unter Verwendung einer gültigen Kopie des Installationspakets "[3]". - Die Installation wurde erfolgreich abgeschlossen. - Fehler bei der Installation. - Produkt: [2] -- [3] - Sie können den ursprünglichen Zustand des Computers wiederherstellen oder die Installation später fortsetzen. Möchten Sie wiederherstellen? - Fehler beim Schreiben der Installationsinformationen auf den Datenträger. Überprüfen Sie, ob genügend Speicherplatz auf dem Datenträger verfügbar ist, und klicken Sie auf "Wiederholen", oder klicken Sie auf "Abbrechen", um die Installation zu beenden. - Mindestens eine Datei, die zum Wiederherstellen des vorherigen Zustands des Computers erforderlich ist, wurde nicht gefunden. Eine Wiederherstellung ist nicht möglich. - [2] kann eines der erforderlichen Produkte nicht installieren. Wenden Sie sich an den technischen Support. {{Systemfehler: [3].}} - Die ältere Version von [2] kann nicht entfernt werden. Wenden Sie sich an den technischen Support. {{Systemfehler [3].}} - [2] wird installiert - [2] wird konfiguriert - [2] wurde entfernt - Die Datei "[2]" wurde von der Sicherheitsrichtlinie für digitale Signaturen zurückgewiesen. - Auf den Dienst "Windows Installer" konnte nicht zugegriffen werden. Dies kann auftreten, wenn Windows im abgesicherten Modus ausgeführt wird oder wenn der Windows Installer nicht ordnungsgemäß installiert wurde. Setzen Sie sich mit dem Support in Verbindung, um weitere Unterstützung zu erhalten. - Problem mit diesem Windows Installer-Paket. Ein für den Abschluss dieser Installation erforderliches Skript konnte nicht ausgeführt werden. Wenden Sie sich an den Support oder den Hersteller des Pakets. {{Benutzerdefinierte Aktion [2] Skriptfehler [3], [4]: [5] Zeile [6], Spalte [7], [8] }} - Problem mit diesem Windows Installer-Paket. Ein für den Abschluss der Installation erforderliches Programm konnte nicht ausgeführt werden. Wenden Sie sich an den Support oder den Hersteller des Pakets. {{Aktion: [2], Pfad: [3], Befehl: [4] }} - Es liegt ein Problem mit diesem Windows Installer-Paket vor. Ein Programm, das im Rahmen der Installation ausgeführt wurde, wurde nicht erfolgreich abgeschlossen. Wenden Sie sich an den Support oder den Hersteller des Pakets. {{Aktion: [2], Pfad: [3], Befehl: [4] }} - Es liegt ein Problem mit diesem Windows Installer-Paket vor. Eine für den Abschluss der Installation erforderliche DLL konnte nicht ausgeführt werden. Wenden Sie sich an den Support oder den Hersteller des Pakets. {{Aktion: [2], Eintrag: [3], Bibliothek: [4] }} - Das Entfernen wurde erfolgreich abgeschlossen. - Fehler beim Entfernen. - Die Ankündigung wurde erfolgreich abgeschlossen. - Fehler bei der Ankündigung. - Die Konfiguration wurde erfolgreich abgeschlossen. - Fehler bei der Konfiguration. - Zum Entfernen dieser Anwendung sind Administratorrechte erforderlich. Wenn Sie diese Anwendung entfernen möchten, melden Sie sich als Administrator an, oder wenden Sie sich an den technischen Support. - Das Quellinstallationspaket für das Produkt [2] ist nicht mehr mit dem Clientpaket synchron. Wiederholen Sie die Installation unter Verwendung einer gültigen Kopie des Installationspakets "[3]". - Zum Abschließen der Installation von [2] ist ein Neustart des Computers erforderlich. Es sind zurzeit andere Benutzer an diesem Computer angemeldet, deren Arbeit bei einem Neustart verloren gehen könnte. Möchten Sie den Neustart jetzt ausführen? - Der Pfad "[2]" ist ungültig. Geben Sie einen gültigen Pfad an. - Nicht genügend Arbeitsspeicher. Beenden Sie andere Anwendungen, und wiederholen Sie den Vorgang. - In Laufwerk [2] ist kein Datenträger eingelegt. Legen Sie einen Datenträger ein und klicken Sie auf "Wiederholen", oder klicken Sie auf "Abbrechen", um zu dem zuvor ausgewählten Volume zurückzukehren. - In Laufwerk [2] ist kein Datenträger eingelegt. Legen Sie einen Datenträger ein und klicken Sie auf "Wiederholen", oder klicken Sie auf "Abbrechen", um zum Dialog "Durchsuchen" zurückzukehren und ein anderes Volume auszuwählen. - Der Ordner "[2]" ist nicht vorhanden. Geben Sie einen Pfad zu einem vorhandenen Ordner ein. - Ihre Zugriffsrechte reichen nicht aus, um diesen Ordner zu lesen. - Es konnte kein gültiger Zielordner für die Installation bestimmt werden. - Fehler beim Lesen der Quellinstallationsdatenbank: [2]. - Computerneustart erforderlich: Die Datei [2] wird in [3] umbenannt. Der Computer muss neu gestartet werden, um den Vorgang abzuschließen. - Computerneustart erforderlich: Die Datei [2] wird gelöscht. Der Computer muss neu gestartet werden, um den Vorgang abzuschließen. - Fehler beim Registrieren des Moduls [2]. HRESULT [3]. Setzen Sie sich mit dem Support in Verbindung. - Fehler beim Aufheben der Registrierung des Moduls [2]. HRESULT [3]. Setzen Sie sich mit dem Support in Verbindung. - Fehler beim Zwischenspeichern von Paket [2]. Fehler: [3]. Setzen Sie sich mit dem Support in Verbindung. - Die Schriftart [2] konnte nicht registriert werden. Stellen Sie sicher, dass Sie über ausreichende Berechtigungen zum Installieren von Schriftarten verfügen und dass diese Schriftart vom System unterstützt wird. - Die Registrierung der Schriftart [2] konnte nicht aufgehoben werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Entfernen von Schriftarten besitzen. - Die Verknüpfung [2] konnte nicht erstellt werden. Überprüfen Sie, ob der Zielordner vorhanden ist und Sie darauf zugreifen können. - Die Verknüpfung [2] konnte nicht entfernt werden. Überprüfen Sie, ob die Verknüpfungsdatei vorhanden ist und Sie darauf zugreifen können. - Die Typbibliothek für die Datei "[2]" konnte nicht registriert werden. Setzen Sie sich mit dem Support in Verbindung. - Die Registrierung der Typbibliothek für die Datei "[2]" konnte nicht aufgehoben werden. Setzen Sie sich mit dem Support in Verbindung. - Die INI-Datei "[2][3]" konnte nicht aktualisiert werden. Überprüfen Sie, ob die Datei vorhanden ist, und ob Sie darauf zugreifen können. - Es konnte nicht festgelegt werden, dass die Datei "[3]" beim Neustart des Computers durch die Datei "[2]" ersetzt wird. Überprüfen Sie, ob Sie Schreibberechtigungen für die Datei "[3]" besitzen. - Fehler beim Entfernen des ODBC-Treiber-Managers, ODBC-Fehler [2]: [3]. Setzen Sie sich mit dem Support in Verbindung. - Fehler beim Installieren des ODBC-Treiber-Managers. ODBC-Fehler [2]: [3]. Setzen Sie sich mit dem Support in Verbindung. - Fehler beim Entfernen des ODBC-Treibers [4], ODBC-Fehler [2]: [3]. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Entfernen von ODBC-Treibern besitzen. - Fehler beim Installieren des ODBC-Treibers: [4]. ODBC-Fehler [2]: [3]. Überprüfen Sie, ob die Datei [4] vorhanden ist und Sie darauf zugreifen können. - Fehler beim Konfigurieren der ODBC-Datenquelle: [4]. ODBC-Fehler [2]: [3]. Überprüfen Sie, ob die Datei [4] vorhanden ist und Sie darauf zugreifen können. - Fehler beim Starten des Diensts "[2]" ([3]). Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Starten von Systemdiensten besitzen. - Fehler beim Beenden des Diensts "[2]" ([3]). Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Beenden von Systemdiensten besitzen. - Der Dienst "[2]" ([3]) konnte nicht gelöscht werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Entfernen von Systemdiensten besitzen. - Der Dienst "[2]" ([3]) konnte nicht installiert werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Installieren von Systemdiensten besitzen. - Die Umgebungsvariable "[2]" konnte nicht aktualisiert werden. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Ändern von Umgebungsvariablen besitzen. - Sie besitzen keine ausreichenden Berechtigungen, um diese Installation für alle Benutzer dieses Computers auszuführen. Melden Sie sich als Administrator an, und wiederholen Sie diese Installation. - Die Dateisicherheit für Datei "[3]" konnte nicht festgelegt werden. Fehler: [2]. Überprüfen Sie, ob Sie ausreichende Berechtigungen zum Ändern der Sicherheitsberechtigungen für diese Datei besitzen. - Die Komponentendienste (COM+ 1.0) sind auf dem Computer nicht installiert. Für den erfolgreichen Abschluss dieser Installation sind die Komponentendienste erforderlich. Die Komponentendienste sind unter Windows 2000 verfügbar. - Fehler beim Registrieren der COM+-Anwendung. Weitere Informationen erhalten Sie vom Support. - Fehler beim Aufheben der Registrierung der COM+-Anwendung. Weitere Informationen erhalten Sie vom Support. - Die Beschreibung für den Dienst "[2]" ([3]) konnte nicht geändert werden. - Der Windows Installer-Dienst kann die Systemdatei "[2]" nicht aktualisieren, weil sie von Windows geschützt wird. Möglicherweise müssen Sie das Betriebssystem aktualisieren, damit dieses Programm ordnungsgemäß funktionieren kann. {{Paketversion: [3], geschützte Betriebssystemversion: [4]}} - Der Dienst "Windows Installer" kann die geschützte Windows-Datei [2] nicht aktualisieren. {{Paketversion: [3], geschützte Betriebssystemversion: [4], Systemdateischutzfehler: [5]}} - Der Windows Installer-Dienst kann mindestens eine geschützte Windows-Datei nicht aktualisieren. {{Systemdateischutzfehler: [2]. Liste der geschützten Dateien:\r\n[3]}} - Installationen durch Benutzer werden durch Richtlinien für den Computer deaktiviert. - Fehler bei der Installation der Assembly "[6]". Weitere Informationen erhalten Sie in der Hilfe und vom Support. HRESULT: [3]. {{Assemblyschnittstelle: [4], Funktion: [5], Komponente: [2]}} - Fehler bei der Installation der Assembly "[6]". Die Assembly hat keinen starken Namen oder wurde nicht mit der minimalen Schlüssellänge signiert. HRESULT: [3]. {{Assemblyschnittstelle: [4], Funktion: [5], Komponente: [2]}} - Fehler bei der Installation der Assembly "[6]". Die Signatur oder der Katalog konnte nicht überprüft werden bzw. ist ungültig. HRESULT: [3]. {{Assemblyschnittstelle: [4], Funktion: [5], Komponente: [2]}} - Fehler bei der Installation der Assembly "[6]". Mindestens ein Modul der Assembly wurde nicht gefunden. HRESULT: [3]. {{Assemblyschnittstelle: [4], Funktion: [5], Komponente: [2]}} - - Bytes - GB - KB - MB - Die gesamte Funktion wird nicht verfügbar sein - Die Funktion wird bei Bedarf installiert - Die gesamte Funktion wird zum Ausführen von der CD installiert - Die Funktion wird vollständig auf der lokalen Festplatte installiert - Die gesamte Funktion wird zum Ausführen vom Netzwerk installiert - Wird zum Ausführen von der CD installiert - Wird auf der lokalen Festplatte installiert - Wird zum Starten vom Netzwerk installiert - Folder|Neuer Ordner - Erforderliche Daten werden ermittelt... - Die Funktion wird nicht installiert - Die Funktion wird bei Bedarf installiert - Die Funktion wird zum Starten von CD installiert - Diese Funktion wird auf der lokalen Festplatte installiert - Diese Funktion wird zum Starten vom Netzwerk installiert - Die Funktion wird nicht verfügbar sein - Wird bei Bedarf installiert - Die Funktion wird von der CD gestartet - Diese Funktion wird auf der lokalen Festplatte installiert - Die Funktion wird vom Netzwerk gestartet - Die Funktion wird vollständig entfernt. Sie können sie auch nicht von der CD starten - Die Funktion wird nicht mehr von der CD gestartet, sondern bei Bedarf installiert - Die Funktion wird weiterhin von der CD gestartet - Diese Funktion wird nicht mehr von CD gestartet, sondern auf der lokalen Festplatte installiert. - Die Funktion gibt [1] auf der Festplatte frei. - Die Funktion erfordert [1] auf der Festplatte. - Speicherplatzbedarf für diese Funktion wird ermittelt... - Die Funktion wird vollständig entfernt - Diese Funktion wird von der lokalen Festplatte entfernt und bei der ersten Verwendung installiert - Diese Funktion wird von der lokalen Festplatte entfernt, kann jedoch weiterhin von CD gestartet werden - Die Funktion bleibt weiterhin auf der lokalen Festplatte installiert - Die Funktion wird von der lokalen Festplatte entfernt, bleibt aber zum Starten vom Netzwerk installiert - Diese Funktion wird vollständig entfernt. Sie können sie auch nicht vom Netzwerk starten - Die Funktion wird nicht mehr vom Netzwerk gestartet, sondern bei Bedarf installiert - Die Funktion wird nicht mehr vom Netzwerk gestartet, sondern auf der lokalen Festplatte installiert - Die Funktion wird weiterhin vom Netzwerk gestartet - Die Funktion gibt [1] auf der Festplatte frei. Es sind [2] von [3] untergeordneten Funktionen ausgewählt, die [4] auf der Festplatte freigeben. - Die Funktion gibt [1] auf der Festplatte frei. Es sind [2] von [3] untergeordneten Funktionen ausgewählt, die [4] auf der Festplatte erfordern. - Die Funktion erfordert [1] auf der Festplatte. Es sind [2] von [3] untergeordneten Funktionen ausgewählt, die [4] auf der Festplatte freigeben. - Die Funktion erfordert [1] auf der Festplatte. Es sind [2] von [3] untergeordneten Funktionen ausgewählt, die [4] auf der Festplatte erfordern. - Restdauer: {[1] Minuten }{[2] Sekunden} - Verfügbar - Differenz - Erforderlich - Datenträgergröße - Volume - diff --git a/Src/Localization/WixUI/WixUI_el-GR.wxl b/Src/Localization/WixUI/WixUI_el-GR.wxl deleted file mode 100644 index 5be1edf..0000000 --- a/Src/Localization/WixUI/WixUI_el-GR.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Πίσω - Ε&πόμενο - Άκυρο - &Τέλος - &Επανάληψη - &Παράβλεψη - &Ναι - Όχ&ι - ΟΚ - &Εκτύπωση - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Διαβάστε τη σύμβαση άδειας χρήσης του [ProductName] - &Αποδέχομαι τους όρους της άδειας χρήσης - Επιλέξτε "Εγκατάσταση", για να εγκαταστήσετε το προϊόν με προεπιλογές για όλους τους χρήστες. Επιλέξτε "Για προχωρημένους", για να αλλάξετε τις επιλογές εγκατάστασης. - Επιλέξτε "Εγκατάσταση", για να εγκαταστήσετε το προϊόν με προεπιλογές μόνο για εσάς. Επιλέξτε "Για προχωρημένους", για να αλλάξετε τις επιλογές εγκατάστασης. - &Εγκατάσταση - Γ&ια προχωρημένους - 8 - 12 - 9 - 8 - Tahoma - - Πρόγραμμα εγκατάστασης του [ProductName] - &Αναζήτηση σε: - WixUI_Bmp_Up - Ένα επίπεδο επάνω - WixUI_Bmp_New - Δημιουργία νέου φακέλου - Ό&νομα φακέλου: - WixUI_Bmp_Banner - Αναζήτηση του φακέλου προορισμού - {\WixUI_Font_Title}Αλλαγή φακέλου προορισμού - - Πρόγραμμα εγκατάστασης του [ProductName] - Είστε βέβαιοι ότι θέλετε να ακυρώσετε την εγκατάσταση του [ProductName]; - WixUI_Ico_Info - Εικονίδιο πληροφοριών - - Πρόγραμμα εγκατάστασης του [ProductName] - Δέντρο επιλογών - Α&ναζήτηση... - Επανα&φορά - Χρήση &δίσκου - WixUI_Bmp_Banner - Κάντε κλικ στα εικονίδια στο παρακάτω δέντρο, για να αλλάξετε τον τρόπο εγκατάστασης των δυνατοτήτων. - Επιλέξτε τον τρόπο εγκατάστασης των δυνατοτήτων. - {\WixUI_Font_Title}Προσαρμοσμένη εγκατάσταση - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Θέση: - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Banner - Οι τόμοι που επισημαίνονται δεν έχουν αρκετό διαθέσιμο χώρο στο δίσκο για τις επιλεγμένες δυνατότητες. Μπορείτε να καταργήσετε μερικά αρχεία από τους τόμους που επισημαίνονται, να εγκαταστήσετε λιγότερες δυνατότητες ή να επιλέξετε μια διαφορετική μονάδα δίσκου προορισμού. - Ο χώρος στο δίσκο που απαιτείται για την εγκατάσταση των επιλεγμένων δυνατοτήτων. - {\WixUI_Font_Title}Απαιτήσεις χώρου στο δίσκο - {120}{70}{70}{70}{70} - - Πρόγραμμα εγκατάστασης του [ProductName] - Κείμενο πληροφοριών - WixUI_Ico_Info - Εικονίδιο πληροφοριών - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Dialog - Κάντε κλικ στο κουμπί "Τέλος", για να εξέλθετε από τον Οδηγό εγκατάστασης. - {\WixUI_Font_Bigger}Ο Οδηγός εγκατάστασης του [ProductName] ολοκληρώθηκε - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Ο Οδηγός εγκατάστασης του [ProductName] τερματίστηκε πρόωρα - Ο Οδηγός εγκατάστασης του [ProductName] τερματίστηκε πρόωρα λόγω σφάλματος. Το σύστημά σας δεν τροποποιήθηκε. Για να εγκαταστήσετε αυτό το πρόγραμμα αργότερα, εκτελέστε ξανά τον Οδηγό εγκατάστασης. - Κάντε κλικ στο κουμπί "Τέλος", για να εξέλθετε από τον Οδηγό εγκατάστασης. - - Πρόγραμμα εγκατάστασης του [ProductName] - Δυνατότητες προϊόντος - WixUI_Bmp_Banner - Επιλέξτε τον τρόπο εγκατάστασης των δυνατοτήτων. - {\WixUI_Font_Title}Δυνατότητες προϊόντος - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Εγκατάσταση - &Αλλαγή - - Πρόγραμμα εγκατάστασης του [ProductName] - Έ&ξοδος - WixUI_Bmp_Banner - Οι ακόλουθες εφαρμογές χρησιμοποιούν αρχεία που πρέπει να ενημερωθούν από αυτό το πρόγραμμα εγκατάστασης. Κλείστε αυτές τις εφαρμογές και μετά κάντε κλικ στο κουμπί "&Επανάληψη" για να συνεχίσετε την εγκατάσταση ή στο κουμπί "Έξοδος" για να βγείτε από αυτήν. - Κάποια αρχεία που πρέπει να ενημερωθούν βρίσκονται σε χρήση αυτήν τη στιγμή. - {\WixUI_Font_Title}Αρχεία σε χρήση - - Πρόγραμμα εγκατάστασης του [ProductName] - &Αλλαγή... - {\WixUI_Font_Title}Φάκελος προορισμού - Επιλέξτε "Επόμενο" για εγκατάσταση στον προεπιλεγμένο φάκελο ή "Αλλαγή", για επιλογή κάποιου άλλου φακέλου. - WixUI_Bmp_Banner - Εγκατάσταση του [ProductName] στη θέση: - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Banner - Επιλέξτε την εμβέλεια και το φάκελο εγκατάστασης - {\WixUI_Font_Title}Εμβέλεια εγκατάστασης - {\WixUI_Font_Emphasized}Εγκατάσταση &μόνο για εσάς, το χρήστη ([LogonUser]) - Το [ProductName] θα εγκατασταθεί σε ένα φάκελο ανά χρήστη και θα είναι διαθέσιμο μόνο για τον δικό σας λογαριασμό χρήστη. Δεν χρειάζεστε δικαιώματα τοπικού διαχειριστή. - Το [ProductName] δεν υποστηρίζει την εγκατάσταση ανά χρήστη. - {\WixUI_Font_Emphasized}Εγκατάσταση για όλους τους χρήστες αυτού του &υπολογιστή - Το [ProductName] θα εγκατασταθεί από προεπιλογή σε ένα φάκελο ανά υπολογιστή και θα είναι διαθέσιμο σε όλους τους χρήστες. Μπορείτε να αλλάξετε τον προεπιλεγμένο φάκελο εγκατάστασης. Πρέπει να διαθέτετε δικαιώματα τοπικού διαχειριστή. - Φάκελος &εγκατάστασης: - &Αλλαγή... - - Πρόγραμμα εγκατάστασης του [ProductName] - Ο κατάλογος εγκατάστασης πρέπει να βρίσκεται σε έναν τοπικό σκληρό δίσκο. - WixUI_Ico_Info - Εικονίδιο πληροφοριών - - Πρόγραμμα εγκατάστασης του [ProductName] - &Αποδέχομαι τους όρους της άδειας χρήσης - WixUI_Bmp_Banner - Διαβάστε προσεκτικά την παρακάτω άδειας χρήσης - {\WixUI_Font_Title}Άδεια χρήσης τελικού χρήστη - - Πρόγραμμα εγκατάστασης του [ProductName] - &Αλλαγή - Αλλαγή εγκατάστασης - Επι&διόρθωση - Επιδιόρθωση εγκατάστασης - &Κατάργηση - Κατάργηση εγκατάστασης - WixUI_Bmp_Banner - Επιλέξτε τη λειτουργία που θέλετε να εκτελέσετε. - {\WixUI_Font_Title}Αλλαγή, επιδιόρθωση ή κατάργηση εγκατάστασης - Σας επιτρέπει να αλλάξετε τον τρόπο εγκατάστασης των δυνατοτήτων. - Το [ProductName] δεν διαθέτει δυνατότητες που μπορούν να επιλεγούν ανεξάρτητα. - Καταργεί το [ProductName] από τον υπολογιστή σας. - Δεν είναι δυνατή η κατάργηση του [ProductName]. - Επιδιορθώνει σφάλματα στην πιο πρόσφατη εγκατάσταση, διορθώνοντας αρχεία, συντομεύσεις και καταχωρήσεις μητρώου που λείπουν ή που έχουν καταστραφεί. - Δεν είναι δυνατή η επιδιόρθωση του [ProductName]. - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Dialog - Ο Οδηγός εγκατάστασης σάς επιτρέπει να αλλάξετε τον τρόπο εγκατάστασης των δυνατοτήτων του [ProductName] στον υπολογιστή σας ή την κατάργησή του από τον υπολογιστή σας. Κάντε κλικ στο κουμπί "Επόμενο", για να συνεχίσετε ή στο κουμπί "Άκυρο", για να εξέλθετε από τον Οδηγό εγκατάστασης. - {\WixUI_Font_Bigger}Καλώς ορίσατε στον Οδηγό εγκατάστασης του [ProductName] - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Banner - Οι ακόλουθες εφαρμογές χρησιμοποιούν αρχεία που πρέπει να ενημερωθούν από αυτό το πρόγραμμα εγκατάστασης. Μπορείτε να αφήσετε τον Οδηγό εγκατάστασης να τα κλείσει και να προσπαθήσει να τα επανεκκινήσει ή να κάνετε επανεκκίνηση του υπολογιστή αργότερα. - Κάποια αρχεία που πρέπει να ενημερωθούν βρίσκονται σε χρήση αυτήν τη στιγμή. - {\WixUI_Font_Title}Αρχεία σε χρήση - &Κλείστε τις εφαρμογές και επιχειρήστε να τις επανεκκινήσετε. - &Μην κλείνετε τις εφαρμογές. Θα απαιτηθεί επανεκκίνηση. - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Banner - Οι τόμοι που επισημαίνονται δεν έχουν αρκετό διαθέσιμο χώρο στο δίσκο για τις επιλεγμένες δυνατότητες. Μπορείτε να καταργήσετε μερικά αρχεία από τους τόμους που επισημαίνονται, να εγκαταστήσετε λιγότερες δυνατότητες ή να επιλέξετε μια διαφορετική μονάδα δίσκου προορισμού. - Ο χώρος στο δίσκο που απαιτείται για την εγκατάσταση υπερβαίνει τον διαθέσιμο χώρο στο δίσκο. - {\WixUI_Font_Title}Ο χώρος στο δίσκο εξαντλήθηκε - {120}{70}{70}{70}{70} - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Banner - Οι τόμοι που επισημαίνονται δεν έχουν αρκετό διαθέσιμο χώρο στο δίσκο για τις επιλεγμένες δυνατότητες. Μπορείτε να καταργήσετε μερικά αρχεία από τους τόμους που επισημαίνονται, να εγκαταστήσετε λιγότερες δυνατότητες ή να επιλέξετε μια διαφορετική μονάδα δίσκου προορισμού. - Ο χώρος στο δίσκο που απαιτείται για την εγκατάσταση υπερβαίνει τον διαθέσιμο χώρο στο δίσκο. - {\WixUI_Font_Title}Ο χώρος στο δίσκο εξαντλήθηκε - {120}{70}{70}{70}{70} - Εναλλακτικά, μπορείτε να επιλέξετε να απενεργοποιήσετε τη λειτουργία επαναφοράς του προγράμματος εγκατάστασης. Η απενεργοποίηση της επαναφοράς δεν επιτρέπει στο πρόγραμμα εγκατάστασης να επαναφέρει το σύστημά σας στην αρχική του κατάσταση, εάν η εγκατάσταση διακοπεί για κάποιο λόγο. Κάντε κλικ στο κουμπί "Ναι", εάν θέλετε να διακινδυνεύσετε την απενεργοποίηση της επαναφοράς. - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Dialog - Περιμένετε όσο ο Οδηγός εγκατάστασης προετοιμάζεται για να σας καθοδηγήσει στην εγκατάσταση. - {\WixUI_Font_Bigger}Καλώς ορίσατε στον Οδηγό εγκατάστασης του [ProductName] - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Banner - Περιμένετε όσο ο Οδηγός εγκατάστασης εγκαθιστά το [ProductName]. - {\WixUI_Font_Title}Εγκατάσταση του [ProductName] - Περιμένετε όσο ο Οδηγός εγκατάστασης αλλάζει το [ProductName]. - {\WixUI_Font_Title}Αλλαγή του [ProductName] - Περιμένετε όσο ο Οδηγός εγκατάστασης επιδιορθώνει το [ProductName]. - {\WixUI_Font_Title}Επιδιόρθωση του [ProductName] - Περιμένετε όσο ο Οδηγός εγκατάστασης καταργεί το [ProductName]. - {\WixUI_Font_Title}Κατάργηση του [ProductName] - Περιμένετε όσο ο Οδηγός εγκατάστασης ενημερώνει το [ProductName]. - {\WixUI_Font_Title}Ενημέρωση του [ProductName] - Ποσοστό ολοκλήρωσης - Κατάσταση: - - Πρόγραμμα εγκατάστασης του [ProductName] - &Εγκατάσταση - WixUI_Bmp_Dialog - Ο Οδηγός εγκατάστασης θα ολοκληρώσει την εγκατάσταση του [ProductName] στον υπολογιστή σας. Κάντε κλικ στο κουμπί "Εγκατάσταση", για να συνεχίσετε ή στο κουμπί " Άκυρο", για να εξέλθετε από τον Οδηγό εγκατάστασης. - {\WixUI_Font_Bigger}Συνέχιση του Οδηγού εγκατάστασης του [ProductName] - - Πρόγραμμα εγκατάστασης του [ProductName] - &Τυπική - Τυπική εγκατάσταση - Π&ροσαρμοσμένη - Προσαρμοσμένη εγκατάσταση - Π&λήρης - Πλήρης εγκατάσταση - WixUI_Bmp_Banner - {\WixUI_Font_Title}Επιλογή τύπου εγκατάστασης - Επιλέξτε τον τύπο εγκατάστασης που ταιριάζει καλύτερα στις ανάγκες σας - Εγκαθιστά τις συνηθέστερες δυνατότητες του προγράμματος. Συνιστάται για τους περισσότερους χρήστες. - Επιτρέπει στους χρήστες να επιλέξουν τις δυνατότητες του προγράμματος που θα εγκατασταθούν και τη θέση στην οποία θα εγκατασταθούν. Συνιστάται για προχωρημένους χρήστες. - Θα εγκατασταθούν όλες οι δυνατότητες του προγράμματος. Απαιτεί τον περισσότερο χώρο στο δίσκο. - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Ο Οδηγός εγκατάστασης του [ProductName] διακόπηκε - Η εγκατάσταση του [ProductName] διακόπηκε. Το σύστημά σας δεν τροποποιήθηκε. Για να εγκαταστήσετε αυτό το πρόγραμμα αργότερα, εκτελέστε ξανά το πρόγραμμα εγκατάστασης. - Κάντε κλικ στο κουμπί "Τέλος", για να εξέλθετε από τον Οδηγό εγκατάστασης. - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Banner - &Εγκατάσταση - Κάντε κλικ στο κουμπί "Εγκατάσταση", για να ξεκινήσει η εγκατάσταση. Κάντε κλικ στο κουμπί "Πίσω", για να ελέγξετε ή να αλλάξετε τις ρυθμίσεις της εγκατάστασης. Κάντε κλικ στο κουμπί "Άκυρο", για να πραγματοποιήσετε έξοδο από τον οδηγό. - {\WixUI_Font_Title}Έτοιμο για εγκατάσταση του [ProductName] - &Αλλαγή - Κάντε κλικ στο κουμπί "Αλλαγή", για να ξεκινήσει η εγκατάσταση. Κάντε κλικ στο κουμπί "Πίσω", για να ελέγξετε ή να αλλάξετε τις ρυθμίσεις της εγκατάστασης. Κάντε κλικ στο κουμπί "Άκυρο", για να πραγματοποιήσετε έξοδο από τον οδηγό. - {\WixUI_Font_Title}Έτοιμο για αλλαγή του [ProductName] - Επι&διόρθωση - Κάντε κλικ στο κουμπί "Επιδιόρθωση" για να επιδιορθώσετε την εγκατάσταση του [ProductName]. Κάντε κλικ στο κουμπί "Πίσω", για να ελέγξετε ή να αλλάξετε τις ρυθμίσεις της εγκατάστασης. Κάντε κλικ στο κουμπί "Άκυρο", για να πραγματοποιήσετε έξοδο από τον οδηγό. - {\WixUI_Font_Title}Έτοιμο για επιδιόρθωση του [ProductName] - &Κατάργηση - Κάντε κλικ στο κουμπί "Κατάργηση", για να καταργήσετε το [ProductName] από τον υπολογιστή σας. Κάντε κλικ στο κουμπί "Πίσω", για να ελέγξετε ή να αλλάξετε τις ρυθμίσεις της εγκατάστασης. Κάντε κλικ στο κουμπί "Άκυρο", για να πραγματοποιήσετε έξοδο από τον οδηγό. - {\WixUI_Font_Title}Έτοιμο για κατάργηση του [ProductName] - &Ενημέρωση - Επιλέξτε "Ενημέρωση", για να ενημερώσετε το [ProductName] από τον υπολογιστή σας. Κάντε κλικ στο κουμπί "Πίσω", για να ελέγξετε ή να αλλάξετε τις ρυθμίσεις της εγκατάστασης. Κάντε κλικ στο κουμπί "Άκυρο", για να πραγματοποιήσετε έξοδο από τον οδηγό. - {\WixUI_Font_Title}Έτοιμο για ενημέρωση του [ProductName] - - Πρόγραμμα εγκατάστασης του [ProductName] - &Επιστροφή - Περιμένετε όσο το πρόγραμμα εγκατάστασης ολοκληρώνει τον προσδιορισμό των απαιτήσεων χώρου στο δίσκο. - WixUI_Ico_Exclam - Εικονίδιο θαυμαστικού - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Dialog - Ο Οδηγός εγκατάστασης θα εγκαταστήσει το [ProductName] στον υπολογιστή σας. Κάντε κλικ στο κουμπί "Επόμενο", για να συνεχίσετε ή στο κουμπί "Άκυρο", για να εξέλθετε από τον Οδηγό εγκατάστασης. - Ο Οδηγός εγκατάστασης θα ενημερώσει το [ProductName] στον υπολογιστή σας. Κάντε κλικ στο κουμπί "Επόμενο", για να συνεχίσετε ή στο κουμπί "Άκυρο", για να εξέλθετε από τον Οδηγό εγκατάστασης. - {\WixUI_Font_Bigger}Καλώς ορίσατε στον Οδηγό εγκατάστασης του [ProductName] - - Πρόγραμμα εγκατάστασης του [ProductName] - WixUI_Bmp_Dialog - &Αποδέχομαι τους όρους της άδειας χρήσης - &Εγκατάσταση - &Ενημέρωση - {\WixUI_Font_Title}Διαβάστε την άδεια χρήσης του [ProductName] - - Επικύρωση εγκατάστασης - Αντιγραφή νέων αρχείων - Αρχείο: [1], Κατάλογος: [9], Μέγεθος: [6] - Αντιγραφή αρχείων εγκατάστασης δικτύου - Αρχείο: [1], Κατάλογος: [9], Μέγεθος: [6] - Υπολογισμός απαιτούμενου χώρου - Υπολογισμός απαιτούμενου χώρου - Υπολογισμός απαιτούμενου χώρου - Δημιουργία συντομεύσεων - Συντόμευση: [1] - Δημοσίευση προσδιορισμένων στοιχείων - Αναγνωριστικό στοιχείου: [1], Προσδιοριστικό: [2] - Δημοσίευση δυνατοτήτων προϊόντος - Δυνατότητα: [1] - Δημοσίευση πληροφοριών προϊόντος - Καταχώρηση διακομιστών κλάσης - Αναγνωριστικό κλάσης: [1] - Καταχώρηση διακομιστών επέκτασης - Επέκταση: [1] - Καταχώρηση πληροφοριών MIME - Τύπος περιεχομένου MIME: [1], Επέκταση: [2] - Καταχώρηση αναγνωριστικών προγράμματος - Αναγνωριστικό προγράμματος: [1] - Εκχώρηση χώρου στο μητρώο - Ελεύθερος χώρος: [1] - Αναζήτηση εγκατεστημένων εφαρμογών - Ιδιότητα: [1], Υπογραφή: [2] - Σύνδεση εκτελέσιμων αρχείων - Αρχείο: [1] - Αναζήτηση για κατάλληλα προϊόντα - Δημιουργία φακέλων - Φάκελος: [1] - Διαγραφή υπηρεσιών - Υπηρεσία: [1] - Δημιουργία διπλότυπων αρχείων - Αρχείο: [1], Κατάλογος: [9], Μέγεθος: [6] - Αναζήτηση σχετικών εφαρμογών - Βρέθηκε η εφαρμογή: [1] - Εγκατάσταση στοιχείων ODBC - Εγκατάσταση νέων υπηρεσιών - Υπηρεσία: [2] - Αξιολόγηση συνθηκών εκκίνησης - Μετεγκατάσταση καταστάσεων δυνατοτήτων από σχετικές εφαρμογές - Εφαρμογή: [1] - Μετακίνηση αρχείων - Αρχείο: [1], Κατάλογος: [9], Μέγεθος: [6] - Ενημέρωση κώδικα αρχείων - Αρχείο: [1], Κατάλογος: [2], Μέγεθος: [3] - Ενημέρωση καταχώρησης στοιχείου - Καταχώρηση εφαρμογών και στοιχείων COM+ - Αναγνωριστικό εφαρμογής: [1]{{, Τύπος εφαρμογής: [2], Χρήστες: [3], RSN: [4]}} - Καταχώρηση γραμματοσειρών - Γραμματοσειρά: [1] - Δήλωση προϊόντος - [1] - Καταχώρηση βιβλιοθηκών τύπων - Αναγνωριστικό βιβλιοθήκης: [1] - Καταχώρηση χρήστη - [1] - Κατάργηση διπλότυπων αρχείων - Αρχείο: [1], Κατάλογος: [9] - Ενημέρωση συμβολοσειρών περιβάλλοντος - Όνομα: [1], Τιμή: [2], Ενέργεια [3] - Κατάργηση εφαρμογών - Εφαρμογή: [1], Γραμμή εντολών: [2] - Κατάργηση αρχείων - Αρχείο: [1], Κατάλογος: [9] - Κατάργηση φακέλων - Φάκελος: [1] - Κατάργηση καταχωρήσεων αρχείων INI - Αρχείο: [1], Ενότητα: [2], Κλειδί: [3], Τιμή: [4] - Κατάργηση στοιχείων ODBC - Κατάργηση τιμών μητρώου συστήματος - Κλειδί: [1], Όνομα: [2] - Κατάργηση συντομεύσεων - Συντόμευση: [1] - Αναζήτηση για κατάλληλα προϊόντα - Καταχώρηση λειτουργικών μονάδων - Αρχείο: [1], Φάκελος: [2] - Κατάργηση καταχώρησης λειτουργικών μονάδων - Αρχείο: [1], Φάκελος: [2] - Προετοιμασία καταλόγων ODBC - Εκκίνηση υπηρεσιών - Υπηρεσία: [1] - Διακοπή υπηρεσιών - Υπηρεσία: [1] - Κατάργηση δημοσίευσης προσδιορισμένων στοιχείων - Αναγνωριστικό στοιχείου: [1], Προσδιοριστικό: [2] - Κατάργηση δημοσίευσης δυνατοτήτων προϊόντος - Δυνατότητα: [1] - Κατάργηση καταχώρησης διακομιστών κλάσης - Αναγνωριστικό κλάσης: [1] - Κατάργηση καταχώρησης εφαρμογών και στοιχείων COM+ - Αναγνωριστικό εφαρμογής: [1]{{, Τύπος εφαρμογής: [2]}} - Κατάργηση καταχώρησης διακομιστών επέκτασης - Επέκταση: [1] - Κατάργηση καταχώρησης γραμματοσειρών - Γραμματοσειρά: [1] - Κατάργηση καταχώρησης πληροφοριών MIME - Τύπος περιεχομένου MIME: [1], Επέκταση: [2] - Κατάργηση καταχώρησης αναγνωριστικών προγράμματος - Αναγνωριστικό προγράμματος: [1] - Κατάργηση καταχώρησης βιβλιοθηκών τύπων - Αναγνωριστικό βιβλιοθήκης: [1] - Ενημέρωση συμβολοσειρών περιβάλλοντος - Όνομα: [1], Τιμή: [2], Ενέργεια [3] - Εγγραφή τιμών αρχείων INI - Αρχείο: [1], Ενότητα: [2], Κλειδί: [3], Τιμή: [4] - Εγγραφή τιμών μητρώου συστήματος - Κλειδί: [1], Όνομα: [2], Τιμή: [3] - Κοινοποίηση εφαρμογής - Δημιουργία ενεργειών δέσμης για την ενέργεια: - [1] - Εγκατάσταση καταλόγου συστήματος - Αρχείο: [1], Εξαρτήσεις: [2] - Δημοσίευση πληροφοριών συγκρότησης - Περιβάλλον εφαρμογής:[1], Όνομα συγκρότησης:[2] - Κατάργηση δημοσίευσης πληροφοριών συγκρότησης - Περιβάλλον εφαρμογής:[1], Όνομα συγκρότησης:[2] - Ενέργεια επαναφοράς: - [1] - Κατάργηση αρχείων αντιγράφων ασφαλείας - Αρχείο: [1] - Κατάργηση αρχείων που μετακινήθηκαν - Αρχείο: [1], Κατάλογος: [9] - Κατάργηση δημοσίευσης πληροφοριών προϊόντος - - {{Ανεπανόρθωτο σφάλμα: }} - {{Σφάλμα [1]. }} - Προειδοποίηση [1]. - Πληροφορίες [1]. - Το πρόγραμμα εγκατάστασης αντιμετώπισε ένα μη αναμενόμενο σφάλμα κατά την εγκατάσταση αυτού του πακέτου. Αυτό μπορεί να αποτελεί ένδειξη προβλήματος σε αυτό το πακέτο. Ο κωδικός σφάλματος είναι [1]. {{Τα ορίσματα είναι: [2], [3], [4]}} - {{Ο δίσκος είναι πλήρης: }} - Ενέργεια [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Τύπος μηνύματος: [1], Όρισμα: [2] - === Έναρξη καταγραφής: [Date] [Time] === - === Διακοπή καταγραφής: [Date] [Time] === - Έναρξη ενέργειας [Time]: [1]. - Τερματισμός ενέργειας [Time]: [1]. Τιμή επιστροφής [2]. - Χρόνος που απομένει: {[1] λεπτά }{[2] δευτερόλεπτα} - Η μνήμη δεν επαρκεί. Τερματίστε τις άλλες εφαρμογές προτού προσπαθήσετε ξανά. - Το πρόγραμμα εγκατάστασης δεν αποκρίνεται πλέον. - Το πρόγραμμα εγκατάστασης τερματίστηκε πρόωρα. - Περιμένετε όσο τα Windows ρυθμίζουν τις παραμέτρους του [ProductName] - Συλλογή απαιτούμενων πληροφοριών... - Κατάργηση παλαιότερων εκδόσεων αυτής της εφαρμογής... - Προετοιμασία για κατάργηση παλαιότερων εκδόσεων της εφαρμογής... - Η εγκατάσταση του {[ProductName] }ολοκληρώθηκε με επιτυχία. - Η εγκατάσταση του {[ProductName] } απέτυχε. - Παρουσιάστηκε σφάλμα κατά την ανάγνωση από το αρχείο: [2]. {{Σφάλμα συστήματος [3].}} Βεβαιωθείτε ότι το αρχείο υπάρχει και ότι έχετε πρόσβαση σε αυτό. - Δεν είναι δυνατή η δημιουργία του αρχείου "[2]". Υπάρχει ήδη ένας κατάλογος με αυτό το όνομα. Ακυρώστε την εγκατάσταση και προσπαθήστε να κάνετε εγκατάσταση σε διαφορετική θέση. - Τοποθετήστε το δίσκο: [2] - Το πρόγραμμα εγκατάστασης δεν διαθέτει επαρκή δικαιώματα πρόσβασης σε αυτόν τον κατάλογο: [2]. Δεν είναι δυνατό να συνεχιστεί η εγκατάσταση. Συνδεθείτε ως διαχειριστής ή επικοινωνήστε με το διαχειριστή του συστήματός σας. - Παρουσιάστηκε σφάλμα κατά την εγγραφή στο αρχείο: [2]. Βεβαιωθείτε ότι έχετε πρόσβαση σε αυτόν τον κατάλογο. - Παρουσιάστηκε σφάλμα κατά την ανάγνωση από το αρχείο [2]. {{ Σφάλμα συστήματος [3].}} Βεβαιωθείτε ότι το αρχείο υπάρχει και ότι έχετε πρόσβαση σε αυτό. - Μια άλλη εφαρμογή έχει αποκλειστικά δικαιώματα πρόσβασης στο αρχείο '[2]'. Τερματίστε όλες τις άλλες εφαρμογές και κάντε κλικ στο κουμπί "Επανάληψη". - Δεν υπάρχει αρκετός χώρος στο δίσκο για την εγκατάσταση αυτού του αρχείου: [2]. Αποδεσμεύστε χώρο από το δίσκο και μετά κάντε κλικ στο κουμπί "Επανάληψη" ή στο κουμπί "Άκυρο" για έξοδο. - Το αρχείο προέλευσης δεν βρέθηκε: [2]. Βεβαιωθείτε ότι το αρχείο υπάρχει και ότι έχετε πρόσβαση σε αυτό. - Παρουσιάστηκε σφάλμα κατά την ανάγνωση από το αρχείο: [3]. {{ Σφάλμα συστήματος [2].}} Βεβαιωθείτε ότι το αρχείο υπάρχει και ότι έχετε πρόσβαση σε αυτό. - Παρουσιάστηκε σφάλμα κατά την εγγραφή στο αρχείο: [3]. {{ Σφάλμα συστήματος [2].}} Βεβαιωθείτε ότι έχετε πρόσβαση σε αυτόν τον κατάλογο. - Δεν βρέθηκε το αρχείο προέλευσης{{(αρχειοθήκη)}}: [2]. Βεβαιωθείτε ότι το αρχείο υπάρχει και ότι έχετε πρόσβαση σε αυτό. - Δεν είναι δυνατή η δημιουργία του καταλόγου "[2]". Υπάρχει ήδη ένα αρχείο με αυτό το όνομα. Μετονομάστε ή καταργήστε το αρχείο και κάντε κλικ στο κουμπί "Επανάληψη" ή κάντε κλικ στο κουμπί "Άκυρο" για έξοδο. - Ο τόμος [2] δεν είναι διαθέσιμος αυτήν τη στιγμή. Επιλέξτε έναν άλλον τόμο. - Η καθορισμένη διαδρομή "[2]" δεν είναι διαθέσιμη. - Δεν είναι δυνατή η εγγραφή στον καθορισμένο φάκελο: [2]. - Παρουσιάστηκε σφάλμα δικτύου κατά την προσπάθεια ανάγνωσης από το αρχείο: [2] - Παρουσιάστηκε σφάλμα κατά την προσπάθεια δημιουργίας του καταλόγου: [2] - Παρουσιάστηκε σφάλμα δικτύου κατά την προσπάθεια δημιουργίας του καταλόγου: [2] - Παρουσιάστηκε σφάλμα δικτύου κατά την προσπάθεια ανοίγματος της αρχειοθήκης του αρχείου προέλευσης: [2] - Η καθορισμένη διαδρομή είναι υπερβολικά μεγάλη: [2] - Το πρόγραμμα εγκατάστασης δεν έχει επαρκή δικαιώματα για την τροποποίηση αυτού του αρχείου: [2]. - Ένα μέρος της διαδρομής φακέλου "[2]" δεν είναι έγκυρο. Είτε είναι κενό είτε υπερβαίνει το μέγιστο επιτρεπόμενο μήκος του συστήματος. - Η διαδρομή φακέλου "[2]" περιέχει λέξεις που δεν είναι έγκυρες σε διαδρομές φακέλων. - Η διαδρομή φακέλου "[2]" περιέχει ένα μη έγκυρο χαρακτήρα. - Το "[2]" δεν είναι έγκυρο σύντομο όνομα αρχείου. - Παρουσιάστηκε σφάλμα κατά τη λήψη της ασφάλειας του αρχείου: [3] GetLastError: [2] - Η μονάδα δίσκου δεν είναι έγκυρη: [2] - Παρουσιάστηκε σφάλμα κατά την εφαρμογή της ενημέρωσης κώδικα στο αρχείο [2]. Πιθανόν να έχει ενημερωθεί με άλλα μέσα και να μην είναι δυνατή η τροποποίησή του από αυτή την ενημέρωση κώδικα. Για περισσότερες πληροφορίες, επικοινωνήστε με τον προμηθευτή της ενημέρωσης κώδικα. {{Σφάλμα συστήματος: [3]}} - Δεν είναι δυνατή η εγκατάσταση ενός απαιτούμενου αρχείου, επειδή η αρχειοθήκη [2] δεν είναι υπογεγραμμένη ψηφιακά. Αυτό μπορεί να σημαίνει ότι η αρχειοθήκη είναι κατεστραμμένη. - Δεν είναι δυνατή η εγκατάσταση ενός απαιτούμενου αρχείου, επειδή η αρχειοθήκη [2] έχει μη έγκυρη ψηφιακή υπογραφή. Αυτό μπορεί να σημαίνει ότι η αρχειοθήκη είναι κατεστραμμένη.{{ Επιστράφηκε σφάλμα [3] από τη λειτουργία WinVerifyTrust.}} - Αποτυχία σωστής αντιγραφής αρχείου [2]: Σφάλμα CRC. - Αποτυχία σωστής μετακίνησης αρχείου [2]: Σφάλμα CRC. - Αποτυχία σωστής ενημέρωσης αρχείου [2]: Σφάλμα CRC. - Δεν είναι δυνατή η εγκατάσταση του αρχείου "[2]", επειδή δεν είναι δυνατή η εύρεση του αρχείου στην αρχειοθήκη "[3]". Αυτό μπορεί να σημαίνει σφάλμα δικτύου, σφάλμα ανάγνωσης από το CD-ROM ή πρόβλημα του πακέτου. - Η αρχειοθήκη "[2]" που απαιτείται για αυτή την εγκατάσταση έχει καταστραφεί και δεν μπορεί να χρησιμοποιηθεί. Αυτό μπορεί να σημαίνει σφάλμα δικτύου, σφάλμα ανάγνωσης από το CD-ROM ή πρόβλημα του πακέτου. - Παρουσιάστηκε σφάλμα κατά την απόπειρα δημιουργίας ενός προσωρινού αρχείου απαραίτητου για την ολοκλήρωση αυτής της εγκατάστασης.{{ Φάκελος: [3]. Κωδικός σφάλματος συστήματος: [2]}} - Δεν ήταν δυνατή η δημιουργία του κλειδιού: [2]. {{ Σφάλμα συστήματος [3].}} Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα πρόσβασης σε αυτό το κλειδί ή επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατό το άνοιγμα του κλειδιού: [2]. {{Σφάλμα συστήματος [3].}} Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα πρόσβασης σε αυτό το κλειδί ή επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η διαγραφή της τιμής [2] από το κλειδί [3]. {{ Σφάλμα συστήματος [4].}} Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα πρόσβασης σε αυτό το κλειδί ή επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η διαγραφή του κλειδιού [2]. {{ Σφάλμα συστήματος [3].}} Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα πρόσβασης σε αυτό το κλειδί ή επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η ανάγνωση της τιμής [2] από το κλειδί [3]. {{ Σφάλμα συστήματος [4].}} Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα πρόσβασης σε αυτό το κλειδί ή επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η εγγραφή της τιμής [2] στο κλειδί [3]. {{ Σφάλμα συστήματος [4].}} Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα πρόσβασης σε αυτό το κλειδί ή επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η λήψη ονομάτων τιμών για το κλειδί [2]. {{ Σφάλμα συστήματος [3].}} Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα πρόσβασης σε αυτό το κλειδί ή επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η λήψη ονομάτων δευτερευόντων κλειδιών για το κλειδί [2]. {{ Σφάλμα συστήματος [3].}} Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα πρόσβασης σε αυτό το κλειδί ή επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η ανάγνωση πληροφοριών ασφαλείας για το κλειδί [2]. {{ Σφάλμα συστήματος [3].}} Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα πρόσβασης σε αυτό το κλειδί ή επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η αύξηση του διαθέσιμου χώρου στο μητρώο. Απαιτούνται [2] KB ελεύθερου χώρου στο μητρώο για την εγκατάσταση αυτής της εφαρμογής. - Μια άλλη εγκατάσταση είναι σε εξέλιξη. Ολοκληρώστε την εγκατάσταση που βρίσκεται σε εξέλιξη προτού συνεχίσετε με αυτή την εγκατάσταση. - Παρουσιάστηκε σφάλμα κατά την πρόσβαση σε ασφαλή δεδομένα. Βεβαιωθείτε ότι οι παράμετροι του Windows Installer έχουν ρυθμιστεί σωστά και προσπαθήστε να επαναλάβετε την εγκατάσταση. - Ο χρήστης "[2]" έχει προετοιμάσει ήδη μια εγκατάσταση για το προϊόν "[3]". Αυτός ο χρήστης θα πρέπει να εκτελέσει τη συγκεκριμένη εγκατάσταση ξανά, για να μπορέσει να χρησιμοποιήσει το προϊόν. Η τρέχουσα εγκατάσταση θα συνεχιστεί τώρα. - Ο χρήστης "[2]" έχει προετοιμάσει ήδη μια εγκατάσταση για το προϊόν "[3]". Αυτός ο χρήστης θα πρέπει να εκτελέσει τη συγκεκριμένη εγκατάσταση ξανά, για να μπορέσει να χρησιμοποιήσει το προϊόν. - Δεν επαρκεί ο χώρος στο δίσκο -- Τόμος: "[2]"; απαιτούμενος χώρος: [3] KB, διαθέσιμος χώρος: [4] KB. Αποδεσμεύστε χώρο στο δίσκο και δοκιμάστε ξανά. - Είστε βέβαιοι ότι θέλετε να κάνετε ακύρωση; - Το αρχείο [2][3] χρησιμοποιείται { από την ακόλουθη διεργασία: Όνομα: [4], Αναγνωριστικό: [5], Τίτλος παραθύρου: "[6]"}. Κλείστε αυτή την εφαρμογή και δοκιμάστε ξανά. - Το προϊόν "[2]" είναι ήδη εγκατεστημένο, γεγονός που εμποδίζει την εγκατάσταση αυτού του προϊόντος. Τα δύο προϊόντα δεν είναι συμβατά. - Δεν υπάρχει αρκετός χώρος δίσκου στον τόμο "[2]" για τη συνέχιση της εγκατάστασης με ενεργοποιημένη την ανάκτηση. Απαιτούνται [3] KB, αλλά είναι διαθέσιμα μόνο [4] KB. Κάντε κλικ στο κουμπί "Παράβλεψη", για να συνεχίσετε την εγκατάσταση χωρίς την αποθήκευση πληροφοριών ανάκτησης, κάντε κλικ στο κουμπί "Επανάληψη" για νέο έλεγχο του διαθέσιμου χώρου ή στο κουμπί "Άκυρο", για να τερματίσετε την εγκατάσταση. - Δεν ήταν δυνατή η πρόσβαση στη θέση δικτύου [2]. - Πρέπει να κλείσετε τις παρακάτω εφαρμογές, για να συνεχίσετε την εγκατάσταση: - Δεν ήταν δυνατή η εύρεση συμβατών προϊόντων που έχουν ήδη εγκατασταθεί στον υπολογιστή για την εγκατάσταση αυτού του προϊόντος. - Παρουσιάστηκε σφάλμα κατά την εφαρμογή των ρυθμίσεων ασφαλείας. Ο χρήστης "[2]" δεν είναι έγκυρος χρήστης ή ομάδα χρηστών. Αυτό θα μπορούσε να σημαίνει πρόβλημα με το πακέτο ή πρόβλημα με τη σύνδεση σε ελεγκτή τομέα στο δίκτυο. Ελέγξτε τη σύνδεση δικτύου σας και κάντε κλικ στο κουμπί "Επανάληψη" ή κάντε κλικ στο κουμπί "Άκυρο", για να τερματίσετε την εγκατάσταση. {{Δεν ήταν δυνατός ο εντοπισμός του SID χρήστη, σφάλμα συστήματος [3]}} - Το κλειδί [2] δεν είναι έγκυρο. Βεβαιωθείτε ότι εισαγάγατε το σωστό κλειδί. - Το πρόγραμμα εγκατάστασης πρέπει να επανεκκινήσει το σύστημά σας, για να συνεχιστεί η ρύθμιση των παραμέτρων του [2]. Κάντε κλικ στο κουμπί "Ναι", για να γίνει επανεκκίνηση τώρα ή στο κουμπί "Όχι", εάν θέλετε να κάνετε επανεκκίνηση αργότερα με μη αυτόματο τρόπο. - Πρέπει να κάνετε επανεκκίνηση του συστήματός σας για να ενεργοποιηθούν οι αλλαγές που έγιναν στις ρυθμίσεις των παραμέτρων του [2]. Κάντε κλικ στο κουμπί "Ναι" για να γίνει επανεκκίνηση τώρα ή στο κουμπί "Όχι" εάν θέλετε να κάνετε επανεκκίνηση αργότερα με μη αυτόματο τρόπο. - Αυτήν τη στιγμή έχει ανασταλεί η εγκατάσταση του [2]. Πρέπει να αναιρέσετε τις αλλαγές που έγιναν από αυτή την εγκατάσταση για να συνεχίσετε. Θέλετε να αναιρέσετε αυτές τις αλλαγές; - Μια προηγούμενη εγκατάσταση για αυτό το προϊόν βρίσκεται σε εξέλιξη. Πρέπει να αναιρέσετε τις αλλαγές που έγιναν από αυτή την εγκατάσταση για να συνεχίσετε. Θέλετε να αναιρέσετε αυτές τις αλλαγές; - Δεν ήταν δυνατή η εύρεση ενός πακέτου εγκατάστασης για το προϊόν [2]. Επιχειρήστε εκ νέου εγκατάσταση χρησιμοποιώντας ένα έγκυρο αντίγραφο του πακέτου εγκατάστασης '[3]'. - Η εγκατάσταση ολοκληρώθηκε με επιτυχία. - Η εγκατάσταση απέτυχε. - Προϊόν: [2] -- [3] - Μπορείτε να επαναφέρετε τον υπολογιστή σας στην προηγούμενή του κατάσταση ή να συνεχίσετε την εγκατάσταση αργότερα. Θέλετε να γίνει επαναφορά; - Παρουσιάστηκε σφάλμα κατά την εγγραφή των πληροφοριών εγκατάστασης στο δίσκο. Βεβαιωθείτε ότι υπάρχει αρκετός διαθέσιμος χώρος στο δίσκο και κάντε κλικ στο κουμπί "Επανάληψη" ή στο κουμπί "Άκυρο", για να τερματίσετε την εγκατάσταση. - Δεν ήταν δυνατή η εύρεση ενός ή περισσότερων αρχείων που απαιτούνται για την επαναφορά του υπολογιστή σας στην προηγούμενή του κατάσταση. Δεν θα είναι δυνατή η επαναφορά. - Το πρόγραμμα [2] δεν είναι δυνατό να εγκαταστήσει ένα από τα απαιτούμενα προϊόντα του. Επικοινωνήστε με την ομάδα τεχνικής υποστήριξης. {{Σφάλμα συστήματος: [3].}} - Δεν είναι δυνατή η κατάργηση της παλαιότερης έκδοσης του προγράμματος [2]. Επικοινωνήστε με την ομάδα τεχνικής υποστήριξης. {{Σφάλμα συστήματος [3].}} - Έγινε εγκατάσταση του [2] - Έγινε ρύθμιση παραμέτρων του [2] - Έγινε κατάργηση του [2] - Το αρχείο [2] απορρίφθηκε από την πολιτική ψηφιακής υπογραφής. - Δεν ήταν δυνατή η πρόσβαση στην υπηρεσία του Windows Installer. Αυτό μπορεί να συμβεί, εάν εκτελείτε τα Windows σε κατάσταση ασφαλούς λειτουργίας ή εάν το Windows Installer δεν έχει εγκατασταθεί σωστά. Επικοινωνήστε με το προσωπικό υποστήριξης για βοήθεια. - Υπάρχει ένα πρόβλημα με αυτό το πακέτο του Windows Installer. Μια δέσμη ενεργειών που απαιτείται για να ολοκληρωθεί αυτή η εγκατάσταση δεν μπόρεσε να εκτελεστεί. Επικοινωνήστε με το προσωπικό υποστήριξης ή τον προμηθευτή του πακέτου. {{Προσαρμοσμένη ενέργεια [2] σφάλμα δέσμης ενεργειών [3], [4]: [5] Γραμμή [6], Στήλη [7], [8] }} - Υπάρχει ένα πρόβλημα με αυτό το πακέτο του Windows Installer. Ένα πρόγραμμα που απαιτείται για να ολοκληρωθεί αυτή η εγκατάσταση δεν μπόρεσε να εκτελεστεί. Επικοινωνήστε με το προσωπικό υποστήριξης ή τον προμηθευτή του πακέτου. {{Ενέργεια: [2], θέση: [3], εντολή: [4] }} - Υπάρχει ένα πρόβλημα με αυτό το πακέτο του Windows Installer. Ένα πρόγραμμα που εκτελείται ως μέρος αυτού του προγράμματος εγκατάστασης δεν ολοκληρώθηκε όπως αναμενόταν. Επικοινωνήστε με το προσωπικό υποστήριξης ή τον προμηθευτή του πακέτου. {{Ενέργεια [2], θέση: [3], εντολή: [4] }} - Υπάρχει ένα πρόβλημα με αυτό το πακέτο του Windows Installer. Ένα αρχείο DLL που απαιτείται για να ολοκληρωθεί αυτή η εγκατάσταση δεν μπόρεσε να εκτελεστεί. Επικοινωνήστε με το προσωπικό υποστήριξης ή τον προμηθευτή του πακέτου. {{Ενέργεια [2], καταχώρηση: [3], βιβλιοθήκη: [4] }} - Η κατάργηση ολοκληρώθηκε με επιτυχία. - Η κατάργηση απέτυχε. - Η κοινοποίηση ολοκληρώθηκε με επιτυχία. - Η κοινοποίηση απέτυχε. - Η ρύθμιση παραμέτρων ολοκληρώθηκε με επιτυχία. - Η ρύθμιση παραμέτρων απέτυχε. - Πρέπει να είστε διαχειριστής, για να καταργήσετε αυτή την εφαρμογή. Για την κατάργησή της θα πρέπει να συνδεθείτε στον υπολογιστή ως διαχειριστής ή να ζητήσετε βοήθεια από την ομάδα τεχνικής υποστήριξης. - Το πακέτο εγκατάστασης του αρχείου προέλευσης για το προϊόν [2] είναι εκτός συγχρονισμού με το πακέτο του προγράμματος-πελάτη. Επιχειρήστε εκ νέου εγκατάσταση χρησιμοποιώντας ένα έγκυρο αντίγραφο του πακέτου εγκατάστασης '[3]'. - Για να ολοκληρωθεί η εγκατάσταση του [2], πρέπει να κάνετε επανεκκίνηση του υπολογιστή. Αυτήν τη στιγμή είναι συνδεδεμένοι άλλοι χρήστες σε αυτόν τον υπολογιστή και με την επανεκκίνηση μπορεί να χάσουν τις εργασίες τους. Θέλετε να κάνετε επανεκκίνηση τώρα; - Η διαδρομή [2] δεν είναι έγκυρη. Καθορίστε μια έγκυρη διαδρομή. - Η μνήμη δεν επαρκεί. Τερματίστε τις άλλες εφαρμογές προτού προσπαθήσετε ξανά. - Δεν υπάρχει δίσκος στη μονάδα δίσκου [2]. Τοποθετήστε ένα δίσκο και κάντε κλικ στο κουμπί "Επανάληψη" ή κάντε κλικ στο κουμπί "Άκυρο", για να επιστρέψετε στον τόμο που είχε επιλεγεί προηγουμένως. - Δεν υπάρχει δίσκος στη μονάδα δίσκου [2]. Τοποθετήστε ένα δίσκο και κάντε κλικ στο κουμπί "Επανάληψη" ή κάντε κλικ στο κουμπί "Άκυρο" για να επιστρέψετε στο παράθυρο διαλόγου "Αναζήτηση" και να επιλέξετε έναν άλλον τόμο. - Ο φάκελος [2] δεν υπάρχει. Πληκτρολογήστε μια διαδρομή προς ένα φάκελο που υπάρχει. - Δεν έχετε επαρκή δικαιώματα για την ανάγνωση αυτού του φακέλου. - Δεν ήταν δυνατός ο προσδιορισμός έγκυρου φακέλου προορισμού για την εγκατάσταση. - Παρουσιάστηκε σφάλμα κατά την προσπάθεια ανάγνωσης από τη βάση δεδομένων εγκατάστασης προέλευσης: [2]. - Προγραμματισμός λειτουργίας επανεκκίνησης: Μετονομασία αρχείου [2] σε [3]. Πρέπει να γίνει επανεκκίνηση για να ολοκληρωθεί η λειτουργία. - Προγραμματισμός λειτουργίας επανεκκίνησης: Διαγραφή αρχείου [2]. Πρέπει να γίνει επανεκκίνηση για να ολοκληρωθεί η λειτουργία. - Η καταχώρηση της λειτουργικής μονάδας [2] απέτυχε. HRESULT [3]. Επικοινωνήστε με το προσωπικό υποστήριξης. - Η κατάργηση της καταχώρησης της λειτουργικής μονάδας [2] απέτυχε. HRESULT [3]. Επικοινωνήστε με το προσωπικό υποστήριξης. - Η εγγραφή του πακέτου [2] στη μνήμη cache απέτυχε. Σφάλμα: [3]. Επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η καταχώρηση της γραμματοσειράς [2]. Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα για την εγκατάσταση γραμματοσειρών και ότι το σύστημα υποστηρίζει αυτήν τη γραμματοσειρά. - Δεν ήταν δυνατή η κατάργηση της καταχώρησης της γραμματοσειράς [2]. Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα για την κατάργηση γραμματοσειρών. - Δεν ήταν δυνατή η δημιουργία της συντόμευσης [2]. Βεβαιωθείτε ότι ο φάκελος προορισμού υπάρχει και ότι έχετε πρόσβαση σε αυτόν. - Δεν ήταν δυνατή η κατάργηση της συντόμευσης [2]. Βεβαιωθείτε ότι το αρχείο συντόμευσης υπάρχει και ότι έχετε πρόσβαση σε αυτό. - Δεν ήταν δυνατή η καταχώρηση βιβλιοθήκης τύπων για το αρχείο [2]. Επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η κατάργηση της καταχώρησης βιβλιοθήκης τύπων για το αρχείο [2]. Επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η ενημέρωση του αρχείου ini [2][3]. Βεβαιωθείτε ότι το αρχείο υπάρχει και ότι έχετε πρόσβαση σε αυτό. - Δεν ήταν δυνατός ο προγραμματισμός του αρχείου [2] ώστε να αντικαταστήσει το αρχείο [3] κατά την επανεκκίνηση. Βεβαιωθείτε ότι έχετε δικαιώματα εγγραφής στο αρχείο [3]. - Παρουσιάστηκε σφάλμα κατά την κατάργηση της διαχείρισης προγραμμάτων οδήγησης ODBC. Σφάλμα ODBC [2]: [3]. Επικοινωνήστε με το προσωπικό υποστήριξης. - Παρουσιάστηκε σφάλμα κατά την εγκατάσταση της διαχείρισης προγραμμάτων οδήγησης ODBC. Σφάλμα ODBC [2]: [3]. Επικοινωνήστε με το προσωπικό υποστήριξης. - Παρουσιάστηκε σφάλμα κατά την κατάργηση του προγράμματος οδήγησης ODBC: [4]. Σφάλμα ODBC [2]: [3]. Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα για την κατάργηση προγραμμάτων οδήγησης ODBC. - Παρουσιάστηκε σφάλμα κατά την εγκατάσταση του προγράμματος οδήγησης ODBC: [4]. Σφάλμα ODBC [2]: [3]. Βεβαιωθείτε ότι το αρχείο [4] υπάρχει και ότι έχετε πρόσβαση σε αυτό. - Παρουσιάστηκε σφάλμα κατά τη ρύθμιση παραμέτρων της προέλευσης δεδομένων ODBC: [4]. Σφάλμα ODBC [2]: [3]. Βεβαιωθείτε ότι το αρχείο [4] υπάρχει και ότι έχετε πρόσβαση σε αυτό. - Η εκκίνηση της υπηρεσίας "[2]" ([3]) απέτυχε. Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα για την εκκίνηση υπηρεσιών συστήματος. - Δεν ήταν δυνατή η διακοπή της υπηρεσίας "[2]" ([3]). Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα για τη διακοπή υπηρεσιών συστήματος. - Δεν ήταν δυνατή η διαγραφή της υπηρεσίας "[2]" ([3]). Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα για την κατάργηση υπηρεσιών συστήματος. - Δεν ήταν δυνατή η εγκατάσταση της υπηρεσίας "[2]" ([3]). Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα για την εγκατάσταση υπηρεσιών συστήματος. - Δεν ήταν δυνατή η ενημέρωση της μεταβλητής περιβάλλοντος "[2]". Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα για την τροποποίηση μεταβλητών περιβάλλοντος. - Δεν έχετε επαρκή δικαιώματα για την ολοκλήρωση αυτής της εγκατάστασης για όλους τους χρήστες του υπολογιστή. Συνδεθείτε ως διαχειριστής και προσπαθήστε ξανά να κάνετε εγκατάσταση. - Δεν ήταν δυνατή η ρύθμιση ασφαλείας αρχείου για το αρχείο "[3]". Σφάλμα: [2]. Βεβαιωθείτε ότι έχετε επαρκή δικαιώματα για την τροποποίηση των δικαιωμάτων ασφαλείας για αυτό το αρχείο. - Οι υπηρεσίες στοιχείων (COM+ 1.0) δεν έχουν εγκατασταθεί σε αυτόν τον υπολογιστή. Αυτή η εγκατάσταση απαιτεί τις υπηρεσίες στοιχείων για να ολοκληρωθεί με επιτυχία. Οι υπηρεσίες στοιχείων είναι διαθέσιμες στα Windows 2000. - Παρουσιάστηκε σφάλμα κατά την καταχώρηση της εφαρμογής COM+. Για περισσότερες πληροφορίες, επικοινωνήστε με το προσωπικό υποστήριξης. - Παρουσιάστηκε σφάλμα κατά την κατάργηση της καταχώρησης της εφαρμογής COM+. Για περισσότερες πληροφορίες, επικοινωνήστε με το προσωπικό υποστήριξης. - Δεν ήταν δυνατή η αλλαγή της περιγραφής για την υπηρεσία "[2]" ([3]). - Δεν είναι δυνατή η ενημέρωση του αρχείου συστήματος [2] από την υπηρεσία Windows Installer, επειδή το αρχείο προστατεύεται από τα Windows. Ίσως χρειαστεί να ενημερώσετε το λειτουργικό σας σύστημα, ώστε να λειτουργεί σωστά αυτό το πρόγραμμα. {{Έκδοση πακέτου: [3], Έκδοση προστατευμένου λειτουργικού συστήματος: [4]}} - Δεν είναι δυνατή η ενημέρωση του προστατευμένου αρχείου των Windows [2] από την υπηρεσία του Windows Installer. {{Έκδοση πακέτου: [3], Έκδοση προστατευμένου λειτουργικού συστήματος: [4], Σφάλμα SFP: [5]}} - Η υπηρεσία Windows Installer δεν μπορεί να ενημερώσει ένα ή περισσότερα προστατευμένα αρχεία των Windows. {{Σφάλμα SFP: [2]. Λίστα προστατευμένων αρχείων:\r\n[3]}} - Οι εγκαταστάσεις χρηστών είναι απενεργοποιημένες μέσω πολιτικής στον υπολογιστή. - Παρουσιάστηκε σφάλμα κατά την εγκατάσταση της συγκρότησης "[6]". Ανατρέξτε στη Βοήθεια και Υποστήριξη για περισσότερες πληροφορίες. HRESULT: [3]. {{διασύνδεση συγκρότησης: [4], λειτουργία: [5], στοιχείο: [2]}} - Παρουσιάστηκε σφάλμα κατά την εγκατάσταση της συγκρότησης "[6]". Η συγκρότηση δεν έχει ισχυρό όνομα ή δεν διαθέτει υπογραφή με το ελάχιστο μήκος κλειδιού. HRESULT: [3]. {{διασύνδεση συγκρότησης: [4], λειτουργία: [5], στοιχείο: [2]}} - Παρουσιάστηκε σφάλμα κατά την εγκατάσταση της συγκρότησης "[6]". Η υπογραφή ή ο κατάλογος δεν ήταν δυνατό να επαληθευτούν ή δεν είναι έγκυρα. HRESULT: [3]. {{διασύνδεση συγκρότησης: [4], λειτουργία: [5], στοιχείο: [2]}} - Παρουσιάστηκε σφάλμα κατά την εγκατάσταση της συγκρότησης "[6]". Μία ή περισσότερες λειτουργικές μονάδες της συγκρότησης δεν ήταν δυνατό να βρεθούν. HRESULT: [3]. {{διασύνδεση συγκρότησης: [4], λειτουργία: [5], στοιχείο: [2]}} - - byte - GB - KB - MB - Δεν θα είναι διαθέσιμη η πλήρης δυνατότητα - Η δυνατότητα θα εγκατασταθεί όταν ζητηθεί - Η πλήρης δυνατότητα θα εγκατασταθεί για εκτέλεση από το CD - Η πλήρης δυνατότητα θα εγκατασταθεί στον τοπικό σκληρό δίσκο - Η πλήρης δυνατότητα θα εγκατασταθεί για εκτέλεση από το δίκτυο - Θα εγκατασταθεί για εκτέλεση από το CD - Θα εγκατασταθεί στον τοπικό σκληρό δίσκο - Θα εγκατασταθεί για εκτέλεση από το δίκτυο - Φάκελος|Νέος φάκελος - Συλλογή απαιτούμενων πληροφοριών... - Αυτή η δυνατότητα δεν θα εγκατασταθεί - Αυτή η δυνατότητα θα ρυθμιστεί έτσι ώστε να εγκατασταθεί όταν θα είναι απαραίτητη - Αυτή η δυνατότητα θα εγκατασταθεί ώστε να εκτελείται από CD - Αυτή η δυνατότητα θα εγκατασταθεί στον τοπικό σκληρό δίσκο - Αυτή η δυνατότητα θα εγκατασταθεί ώστε να εκτελείται από το δίκτυο - Αυτή η δυνατότητα δεν θα είναι πλέον διαθέσιμη - Θα εγκατασταθεί όταν ζητηθεί - Αυτή η δυνατότητα θα είναι διαθέσιμη για εκτέλεση από το CD - Αυτή η δυνατότητα θα εγκατασταθεί στον τοπικό σκληρό δίσκο - Αυτή η δυνατότητα θα είναι διαθέσιμη για εκτέλεση από το δίκτυο - Η εγκατάσταση αυτής της δυνατότητας θα καταργηθεί πλήρως, δεν θα μπορείτε να την εκτελέσετε από CD - Αυτή η δυνατότητα θα αλλάξει από την κατάσταση εκτέλεσης από CD, για να εγκατασταθεί όταν ζητηθεί - Αυτή η δυνατότητα θα εξακολουθήσει να εκτελείται από CD - Αυτή η δυνατότητα θα αλλάξει από την κατάσταση εκτέλεσης από CD, για να εγκατασταθεί στον τοπικό σκληρό δίσκο - Αυτή η δυνατότητα αποδεσμεύει [1] από το σκληρό δίσκο. - Αυτή η δυνατότητα απαιτεί [1] στο σκληρό δίσκο. - Υπολογισμός απαιτούμενου χώρου για αυτήν τη δυνατότητα... - Αυτή η δυνατότητα θα καταργηθεί εντελώς - Αυτή η δυνατότητα θα καταργηθεί από τον τοπικό σκληρό σας δίσκο, αλλά θα ρυθμιστεί για να εγκατασταθεί όταν ζητηθεί - Αυτή η δυνατότητα θα καταργηθεί από τον τοπικό σκληρό δίσκο, αλλά θα είναι ακόμη διαθέσιμη για εκτέλεση από CD - Αυτή η δυνατότητα θα παραμείνει στον τοπικό σκληρό σας δίσκο - Αυτή η δυνατότητα θα καταργηθεί από τον τοπικό σκληρό δίσκο, αλλά θα είναι ακόμη διαθέσιμη για εκτέλεση από το δίκτυο - Η εγκατάσταση αυτής της δυνατότητας θα καταργηθεί πλήρως, δεν θα μπορείτε να την εκτελέσετε από το δίκτυο - Αυτή η δυνατότητα θα αλλάξει από την κατάσταση εκτέλεσης από το δίκτυο, για να εγκατασταθεί όταν ζητηθεί - Αυτή η δυνατότητα θα αλλάξει από την κατάσταση εκτέλεσης από το δίκτυο, για να εγκατασταθεί στον τοπικό σκληρό δίσκο - Αυτή η δυνατότητα θα εξακολουθήσει να εκτελείται από το δίκτυο - Αυτή η δυνατότητα αποδεσμεύει [1] από το σκληρό δίσκο. Οι [2] από τις [3] δευτερεύουσες δυνατότητές της είναι επιλεγμένες. Οι δευτερεύουσες δυνατότητες αποδεσμεύουν έως [4] από το σκληρό δίσκο. - Αυτή η δυνατότητα αποδεσμεύει [1] από το σκληρό δίσκο. Οι [2] από τις [3] δευτερεύουσες δυνατότητές της είναι επιλεγμένες. Οι δευτερεύουσες δυνατότητες απαιτούν [4] στο σκληρό δίσκο. - Αυτή η δυνατότητα απαιτεί [1] στο σκληρό δίσκο. Οι [2] από τις [3] δευτερεύουσες δυνατότητές της είναι επιλεγμένες. Οι δευτερεύουσες δυνατότητες αποδεσμεύουν έως [4] από το σκληρό δίσκο. - Αυτή η δυνατότητα απαιτεί [1] στο σκληρό δίσκο. Οι [2] από τις [3] δευτερεύουσες δυνατότητές της είναι επιλεγμένες. Οι δευτερεύουσες δυνατότητες απαιτούν [4] στο σκληρό δίσκο. - Χρόνος που απομένει: {[1] λεπτά }{[2] δευτερόλεπτα} - Διαθέσιμο - Διαφορά - Απαιτούμενο - Μέγεθος δίσκου - Τόμος - diff --git a/Src/Localization/WixUI/WixUI_en-us.wxl b/Src/Localization/WixUI/WixUI_en-us.wxl deleted file mode 100644 index b9f90fa..0000000 --- a/Src/Localization/WixUI/WixUI_en-us.wxl +++ /dev/null @@ -1,606 +0,0 @@ - - - - - - - &Back - &Next - Cancel - &Finish - &Retry - &Ignore - &Yes - &No - OK - &Print - - [ProductName] Setup - WixUI_Bmp_Banner - {\WixUI_Font_Title}Please read the [ProductName] License Agreement - I &accept the terms in the License Agreement - Click Install to install the product with default options for all users. Click Advanced to change installation options. - Click Install to install the product with default options just for you. Click Advanced to change installation options. - &Install - A&dvanced - 8 - 12 - 9 - 8 - Tahoma - - [ProductName] Setup - &Look in: - WixUI_Bmp_Up - Up one level - WixUI_Bmp_New - Create a new folder - &Folder name: - WixUI_Bmp_Banner - Browse to the destination folder - {\WixUI_Font_Title}Change destination folder - - [ProductName] Setup - Are you sure you want to cancel [ProductName] installation? - WixUI_Ico_Info - Information icon - - [ProductName] Setup - Tree of selections - B&rowse... - Re&set - Disk &Usage - WixUI_Bmp_Banner - Click the icons in the tree below to change the way features will be installed. - Select the way you want features to be installed. - {\WixUI_Font_Title}Custom Setup - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Location: - - [ProductName] Setup - WixUI_Bmp_Banner - Highlighted volumes do not have enough disk space available for selected features. You can either remove some files from the highlighted volumes, install fewer features, or select different destination drives. - The disk space required for the installation of the selected features. - {\WixUI_Font_Title}Disk Space Requirements - {120}{70}{70}{70}{70} - - [ProductName] Setup - Information text - WixUI_Ico_Info - Information icon - - [ProductName] Setup - WixUI_Bmp_Dialog - Click the Finish button to exit the Setup Wizard. - {\WixUI_Font_Bigger}Completed the [ProductName] Setup Wizard - - [ProductName] Setup - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] Setup Wizard ended prematurely - [ProductName] Setup Wizard ended prematurely because of an error. Your system has not been modified. To install this program at a later time, run Setup Wizard again. - Click the Finish button to exit the Setup Wizard. - - [ProductName] Setup - Product features - WixUI_Bmp_Banner - Select the way you want features to be installed. - {\WixUI_Font_Title}Product Features - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Install - &Change - - [ProductName] Setup - E&xit - WixUI_Bmp_Banner - The following applications are using files that need to be updated by this setup. Close these applications and then click &Retry to continue setup or Exit to exit it. - Some files that need to be updated are currently in use. - {\WixUI_Font_Title}Files in Use - - [ProductName] Setup - &Change... - {\WixUI_Font_Title}Destination Folder - Click Next to install to the default folder or click Change to choose another. - WixUI_Bmp_Banner - Install [ProductName] to: - - [ProductName] Setup - WixUI_Bmp_Banner - Choose the installation scope and folder - {\WixUI_Font_Title}Installation Scope - {\WixUI_Font_Emphasized}Install &just for you ([LogonUser]) - [ProductName] will be installed in a per-user folder and be available just for your user account. You do not need local Administrator privileges. - [ProductName] does not support per-user installation. - {\WixUI_Font_Emphasized}Install for all users of this &machine - [ProductName] will be installed in a per-machine folder by default and be available for all users. You can change the default installation folder. You must have local Administrator privileges. - Installation &folder: - &Change... - - [ProductName] Setup - Installation directory must be on a local hard drive. - WixUI_Ico_Info - Information icon - - [ProductName] Setup - I &accept the terms in the License Agreement - WixUI_Bmp_Banner - Please read the following license agreement carefully - {\WixUI_Font_Title}End-User License Agreement - - [ProductName] Setup - &Change - Change Installation - Re&pair - Repair Installation - &Remove - Remove Installation - WixUI_Bmp_Banner - Select the operation you wish to perform. - {\WixUI_Font_Title}Change, repair, or remove installation - Lets you change the way features are installed. - [ProductName] has no independently selectable features. - Removes [ProductName] from your computer. - [ProductName] cannot be removed. - Repairs errors in the most recent installation by fixing missing and corrupt files, shortcuts, and registry entries. - [ProductName] cannot be repaired. - - [ProductName] Setup - WixUI_Bmp_Dialog - The Setup Wizard allows you to change the way [ProductName] features are installed on your computer or to remove it from your computer. Click Next to continue or Cancel to exit the Setup Wizard. - {\WixUI_Font_Bigger}Welcome to the [ProductName] Setup Wizard - - [ProductName] Setup - WixUI_Bmp_Banner - The following applications are using files that need to be updated by this setup. You can let Setup Wizard close them and attempt to restart them or reboot the machine later. - Some files that need to be updated are currently in use. - {\WixUI_Font_Title}Files in Use - &Close the applications and attempt to restart them. - &Do not close applications. A reboot will be required. - - [ProductName] Setup - WixUI_Bmp_Banner - The highlighted volumes do not have enough disk space available for the currently selected features. You can remove some files from the highlighted volumes, install fewer features, or select a different destination drive. - Disk space required for the installation exceeds available disk space. - {\WixUI_Font_Title}Out of Disk Space - {120}{70}{70}{70}{70} - - [ProductName] Setup - WixUI_Bmp_Banner - The highlighted volumes do not have enough disk space available for the currently selected features. You can remove some files from the highlighted volumes, install fewer features, or select a different destination drive. - Disk space required for the installation exceeds available disk space. - {\WixUI_Font_Title}Out of Disk Space - {120}{70}{70}{70}{70} - Alternatively, you may choose to disable the installer's rollback functionality. Disabling rollback prevents the installer from restoring your computer's original state should the installation be interrupted in any way. Click Yes if you wish to take the risk of disabling rollback. - - [ProductName] Setup - WixUI_Bmp_Dialog - Please wait while the Setup Wizard prepares to guide you through the installation. - {\WixUI_Font_Bigger}Welcome to the [ProductName] Setup Wizard - - [ProductName] Setup - WixUI_Bmp_Banner - Please wait while the Setup Wizard installs [ProductName]. - {\WixUI_Font_Title}Installing [ProductName] - Please wait while the Setup Wizard changes [ProductName]. - {\WixUI_Font_Title}Changing [ProductName] - Please wait while the Setup Wizard repairs [ProductName]. - {\WixUI_Font_Title}Repairing [ProductName] - Please wait while the Setup Wizard removes [ProductName]. - {\WixUI_Font_Title}Removing [ProductName] - Please wait while the Setup Wizard updates [ProductName]. - {\WixUI_Font_Title}Updating [ProductName] - Progress done - Status: - - [ProductName] Setup - &Install - WixUI_Bmp_Dialog - The Setup Wizard will complete the installation of [ProductName] on your computer. Click Install to continue or Cancel to exit the Setup Wizard. - {\WixUI_Font_Bigger}Resuming the [ProductName] Setup Wizard - - [ProductName] Setup - &Typical - Typical Installation - C&ustom - Custom Installation - C&omplete - Complete Installation - WixUI_Bmp_Banner - {\WixUI_Font_Title}Choose Setup Type - Choose the setup type that best suits your needs - Installs the most common program features. Recommended for most users. - Allows users to choose which program features will be installed and where they will be installed. Recommended for advanced users. - All program features will be installed. Requires the most disk space. - - [ProductName] Setup - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] Setup Wizard was interrupted - [ProductName] setup was interrupted. Your system has not been modified. To install this program at a later time, please run the installation again. - Click the Finish button to exit the Setup Wizard. - - [ProductName] Setup - WixUI_Bmp_Banner - &Install - Click Install to begin the installation. Click Back to review or change any of your installation settings. Click Cancel to exit the wizard. - {\WixUI_Font_Title}Ready to install [ProductName] - &Change - Click Change to begin the installation. Click Back to review or change any of your installation settings. Click Cancel to exit the wizard. - {\WixUI_Font_Title}Ready to change [ProductName] - Re&pair - Click Repair to repair the installation of [ProductName]. Click Back to review or change any of your installation settings. Click Cancel to exit the wizard. - {\WixUI_Font_Title}Ready to repair [ProductName] - &Remove - Click Remove to remove [ProductName] from your computer. Click Back to review or change any of your installation settings. Click Cancel to exit the wizard. - {\WixUI_Font_Title}Ready to remove [ProductName] - &Update - Click Update to update [ProductName] from your computer. Click Back to review or change any of your installation settings. Click Cancel to exit the wizard. - {\WixUI_Font_Title}Ready to update [ProductName] - - [ProductName] Setup - &Return - Please wait while the installer finishes determining your disk space requirements. - WixUI_Ico_Exclam - Exclamation icon - - [ProductName] Setup - WixUI_Bmp_Dialog - The Setup Wizard will install [ProductName] on your computer. Click Next to continue or Cancel to exit the Setup Wizard. - The Setup Wizard will update [ProductName] on your computer. Click Next to continue or Cancel to exit the Setup Wizard. - {\WixUI_Font_Bigger}Welcome to the [ProductName] Setup Wizard - - [ProductName] Setup - WixUI_Bmp_Dialog - I &accept the terms in the License Agreement - &Install - &Update - {\WixUI_Font_Title}Please read the [ProductName] License Agreement - - Validating install - Copying new files - File: [1], Directory: [9], Size: [6] - Copying network install files - File: [1], Directory: [9], Size: [6] - Computing space requirements - Computing space requirements - Computing space requirements - Creating shortcuts - Shortcut: [1] - Publishing Qualified Components - Component ID: [1], Qualifier: [2] - Publishing Product Features - Feature: [1] - Publishing product information - Registering Class servers - Class Id: [1] - Registering extension servers - Extension: [1] - Registering MIME info - MIME Content Type: [1], Extension: [2] - Registering program identifiers - ProgId: [1] - Allocating registry space - Free space: [1] - Searching for installed applications - Property: [1], Signature: [2] - Binding executables - File: [1] - Searching for qualifying products - Creating folders - Folder: [1] - Deleting services - Service: [1] - Creating duplicate files - File: [1], Directory: [9], Size: [6] - Searching for related applications - Found application: [1] - Installing ODBC components - Installing new services - Service: [2] - Evaluating launch conditions - Migrating feature states from related applications - Application: [1] - Moving files - File: [1], Directory: [9], Size: [6] - Patching files - File: [1], Directory: [2], Size: [3] - Updating component registration - Registering COM+ Applications and Components - AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}} - Registering fonts - Font: [1] - Registering product - [1] - Registering type libraries - LibID: [1] - Registering user - [1] - Removing duplicated files - File: [1], Directory: [9] - Updating environment strings - Name: [1], Value: [2], Action [3] - Removing applications - Application: [1], Command line: [2] - Removing files - File: [1], Directory: [9] - Removing folders - Folder: [1] - Removing INI files entries - File: [1], Section: [2], Key: [3], Value: [4] - Removing ODBC components - Removing system registry values - Key: [1], Name: [2] - Removing shortcuts - Shortcut: [1] - Searching for qualifying products - Registering modules - File: [1], Folder: [2] - Unregistering modules - File: [1], Folder: [2] - Initializing ODBC directories - Starting services - Service: [1] - Stopping services - Service: [1] - Unpublishing Qualified Components - Component ID: [1], Qualifier: [2] - Unpublishing Product Features - Feature: [1] - Unregister Class servers - Class Id: [1] - Unregistering COM+ Applications and Components - AppId: [1]{{, AppType: [2]}} - Unregistering extension servers - Extension: [1] - Unregistering fonts - Font: [1] - Unregistering MIME info - MIME Content Type: [1], Extension: [2] - Unregistering program identifiers - ProgId: [1] - Unregistering type libraries - LibID: [1] - Updating environment strings - Name: [1], Value: [2], Action [3] - Writing INI files values - File: [1], Section: [2], Key: [3], Value: [4] - Writing system registry values - Key: [1], Name: [2], Value: [3] - Advertising application - Generating script operations for action: - [1] - Installing system catalog - File: [1], Dependencies: [2] - Publishing assembly information - Application Context:[1], Assembly Name:[2] - Unpublishing assembly information - Application Context:[1], Assembly Name:[2] - Rolling back action: - [1] - Removing backup files - File: [1] - Removing moved files - File: [1], Directory: [9] - Unpublishing product information - - {{Fatal error: }} - {{Error [1]. }} - Warning [1]. - Info [1]. - The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}} - {{Disk full: }} - Action [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Message type: [1], Argument: [2] - === Logging started: [Date] [Time] === - === Logging stopped: [Date] [Time] === - Action start [Time]: [1]. - Action ended [Time]: [1]. Return value [2]. - Time remaining: {[1] minutes }{[2] seconds} - Out of memory. Shut down other applications before retrying. - Installer is no longer responding. - Installer stopped prematurely. - Please wait while Windows configures [ProductName] - Gathering required information... - Removing older versions of this application... - Preparing to remove older versions of this application... - {[ProductName] }Setup completed successfully. - {[ProductName] }Setup failed. - Error reading from file: [2]. {{ System error [3].}} Verify that the file exists and that you can access it. - Cannot create the file '[2]'. A directory with this name already exists. Cancel the install and try installing to a different location. - Please insert the disk: [2] - The installer has insufficient privileges to access this directory: [2]. The installation cannot continue. Log on as administrator or contact your system administrator. - Error writing to file: [2]. Verify that you have access to that directory. - Error reading from file [2]. {{ System error [3].}} Verify that the file exists and that you can access it. - Another application has exclusive access to the file '[2]'. Please shut down all other applications, then click Retry. - There is not enough disk space to install this file: [2]. Free some disk space and click Retry, or click Cancel to exit. - Source file not found: [2]. Verify that the file exists and that you can access it. - Error reading from file: [3]. {{ System error [2].}} Verify that the file exists and that you can access it. - Error writing to file: [3]. {{ System error [2].}} Verify that you have access to that directory. - Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it. - Cannot create the directory '[2]'. A file with this name already exists. Please rename or remove the file and click Retry, or click Cancel to exit. - The volume [2] is currently unavailable. Please select another. - The specified path '[2]' is unavailable. - Unable to write to the specified folder: [2]. - A network error occurred while attempting to read from the file: [2] - An error occurred while attempting to create the directory: [2] - A network error occurred while attempting to create the directory: [2] - A network error occurred while attempting to open the source file cabinet: [2] - The specified path is too long: [2] - The Installer has insufficient privileges to modify this file: [2]. - A portion of the folder path '[2]' is invalid. It is either empty or exceeds the length allowed by the system. - The folder path '[2]' contains words that are not valid in folder paths. - The folder path '[2]' contains an invalid character. - '[2]' is not a valid short file name. - Error getting file security: [3] GetLastError: [2] - Invalid Drive: [2] - Error applying patch to file [2]. It has probably been updated by other means, and can no longer be modified by this patch. For more information contact your patch vendor. {{System Error: [3]}} - A file that is required cannot be installed because the cabinet file [2] is not digitally signed. This may indicate that the cabinet file is corrupt. - A file that is required cannot be installed because the cabinet file [2] has an invalid digital signature. This may indicate that the cabinet file is corrupt.{{ Error [3] was returned by WinVerifyTrust.}} - Failed to correctly copy [2] file: CRC error. - Failed to correctly move [2] file: CRC error. - Failed to correctly patch [2] file: CRC error. - The file '[2]' cannot be installed because the file cannot be found in cabinet file '[3]'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package. - The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package. - There was an error creating a temporary file that is needed to complete this installation.{{ Folder: [3]. System error code: [2]}} - Could not create key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. - Could not open key: [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. - Could not delete value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel. - Could not delete key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. - Could not read value [2] from key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel. - Could not write value [2] to key [3]. {{ System error [4].}} Verify that you have sufficient access to that key, or contact your support personnel. - Could not get value names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. - Could not get sub key names for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. - Could not read security information for key [2]. {{ System error [3].}} Verify that you have sufficient access to that key, or contact your support personnel. - Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application. - Another installation is in progress. You must complete that installation before continuing this one. - Error accessing secured data. Please make sure the Windows Installer is configured properly and try the install again. - User '[2]' has previously initiated an install for product '[3]'. That user will need to run that install again before they can use that product. Your current install will now continue. - User '[2]' has previously initiated an install for product '[3]'. That user will need to run that install again before they can use that product. - Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB. Free some disk space and retry. - Are you sure you want to cancel? - The file [2][3] is being held in use{ by the following process: Name: [4], Id: [5], Window Title: '[6]'}. Close that application and retry. - The product '[2]' is already installed, preventing the installation of this product. The two products are incompatible. - There is not enough disk space on the volume '[2]' to continue the install with recovery enabled. [3] KB are required, but only [4] KB are available. Click Ignore to continue the install without saving recovery information, click Retry to check for available space again, or click Cancel to quit the installation. - Could not access network location [2]. - The following applications should be closed before continuing the install: - Could not find any previously installed compliant products on the machine for installing this product. - An error occurred while applying security settings. [2] is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. {{Unable to locate the user's SID, system error [3]}} - The key [2] is not valid. Verify that you entered the correct key. - The installer must restart your system before configuration of [2] can continue. Click Yes to restart now or No if you plan to manually restart later. - You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to manually restart later. - An installation for [2] is currently suspended. You must undo the changes made by that installation to continue. Do you want to undo those changes? - A previous installation for this product is in progress. You must undo the changes made by that installation to continue. Do you want to undo those changes? - An installation package for the product [2] cannot be found. Try the installation again using a valid copy of the installation package '[3]'. - Installation completed successfully. - Installation failed. - Product: [2] -- [3] - You may either restore your computer to its previous state or continue the install later. Would you like to restore? - An error occurred while writing installation information to disk. Check to make sure enough disk space is available, and click Retry, or Cancel to end the install. - One or more of the files required to restore your computer to its previous state could not be found. Restoration will not be possible. - [2] cannot install one of its required products. Contact your technical support group. {{System Error: [3].}} - The older version of [2] cannot be removed. Contact your technical support group. {{System Error [3].}} - Installed [2] - Configured [2] - Removed [2] - File [2] was rejected by digital signature policy. - The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance. - There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. {{Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8] }} - There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. {{Action: [2], location: [3], command: [4] }} - There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. {{Action [2], location: [3], command: [4] }} - There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. {{Action [2], entry: [3], library: [4] }} - Removal completed successfully. - Removal failed. - Advertisement completed successfully. - Advertisement failed. - Configuration completed successfully. - Configuration failed. - You must be an Administrator to remove this application. To remove this application, you can log on as an Administrator, or contact your technical support group for assistance. - The source installation package for the product [2] is out of sync with the client package. Try the installation again using a valid copy of the installation package '[3]'. - In order to complete the installation of [2], you must restart the computer. Other users are currently logged on to this computer, and restarting may cause them to lose their work. Do you want to restart now? - The path [2] is not valid. Please specify a valid path. - Out of memory. Shut down other applications before retrying. - There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume. - There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume. - The folder [2] does not exist. Please enter a path to an existing folder. - You have insufficient privileges to read this folder. - A valid destination folder for the install could not be determined. - Error attempting to read from the source install database: [2]. - Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation. - Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation. - Module [2] failed to register. HRESULT [3]. Contact your support personnel. - Module [2] failed to unregister. HRESULT [3]. Contact your support personnel. - Failed to cache package [2]. Error: [3]. Contact your support personnel. - Could not register font [2]. Verify that you have sufficient permissions to install fonts, and that the system supports this font. - Could not unregister font [2]. Verify that you that you have sufficient permissions to remove fonts. - Could not create Shortcut [2]. Verify that the destination folder exists and that you can access it. - Could not remove Shortcut [2]. Verify that the shortcut file exists and that you can access it. - Could not register type library for file [2]. Contact your support personnel. - Could not unregister type library for file [2]. Contact your support personnel. - Could not update the ini file [2][3]. Verify that the file exists and that you can access it. - Could not schedule file [2] to replace file [3] on reboot. Verify that you have write permissions to file [3]. - Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel. - Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel. - Error removing ODBC driver: [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers. - Error installing ODBC driver: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it. - Error configuring ODBC data source: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it. - Service '[2]' ([3]) failed to start. Verify that you have sufficient privileges to start system services. - Service '[2]' ([3]) could not be stopped. Verify that you have sufficient privileges to stop system services. - Service '[2]' ([3]) could not be deleted. Verify that you have sufficient privileges to remove system services. - Service '[2]' ([3]) could not be installed. Verify that you have sufficient privileges to install system services. - Could not update environment variable '[2]'. Verify that you have sufficient privileges to modify environment variables. - You do not have sufficient privileges to complete this installation for all users of the machine. Log on as administrator and then retry this installation. - Could not set file security for file '[3]'. Error: [2]. Verify that you have sufficient privileges to modify the security permissions for this file. - Component Services (COM+ 1.0) are not installed on this computer. This installation requires Component Services in order to complete successfully. Component Services are available on Windows 2000. - Error registering COM+ Application. Contact your support personnel for more information. - Error unregistering COM+ Application. Contact your support personnel for more information. - The description for service '[2]' ([3]) could not be changed. - The Windows Installer service cannot update the system file [2] because the file is protected by Windows. You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}} - The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}} - The Windows Installer service cannot update one or more protected Windows files. {{SFP Error: [2]. List of protected files:\r\n[3]}} - User installations are disabled via policy on the machine. - An error occurred during the installation of assembly '[6]'. Please refer to Help and Support for more information. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}} - An error occurred during the installation of assembly '[6]'. The assembly is not strongly named or is not signed with the minimal key length. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}} - An error occurred during the installation of assembly '[6]'. The signature or catalog could not be verified or is not valid. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}} - An error occurred during the installation of assembly '[6]'. One or more modules of the assembly could not be found. HRESULT: [3]. {{assembly interface: [4], function: [5], component: [2]}} - - bytes - GB - KB - MB - Entire feature will be unavailable - Feature will be installed when required - Entire feature will be installed to run from CD - Entire feature will be installed on local hard drive - Entire feature will be installed to run from network - Will be installed to run from CD - Will be installed on local hard drive - Will be installed to run from network - Folder|New Folder - Gathering required information... - This feature will remain uninstalled - This feature will be set to be installed when required - This feature will be installed to run from CD - This feature will be installed on the local hard drive - This feature will be installed to run from the network - This feature will become unavailable - Will be installed when required - This feature will be available to run from CD - This feature will be installed on your local hard drive - This feature will be available to run from the network - This feature will be uninstalled completely, you won't be able to run it from CD - This feature will change from run from CD state to set to be installed when required - This feature will remain to be run from CD - This feature will change from run from CD state to be installed on the local hard drive - This feature frees up [1] on your hard drive. - This feature requires [1] on your hard drive. - Compiling cost for this feature... - This feature will be completely removed - This feature will be removed from your local hard drive, but will be set to be installed when required - This feature will be removed from your local hard drive, but will be still available to run from CD - This feature will remain on your local hard drive - This feature will be removed from your local hard drive, but will be still available to run from the network - This feature will be uninstalled completely, you won't be able to run it from the network - This feature will change from run from network state to set to be installed when required - This feature will change from run from network state to be installed on the local hard drive - This feature will remain to be run from the network - This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive. - This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive. - This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive. - This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive. - Time remaining: {[1] minutes }{[2] seconds} - Available - Difference - Required - Disk Size - Volume - \ No newline at end of file diff --git a/Src/Localization/WixUI/WixUI_es-es.wxl b/Src/Localization/WixUI/WixUI_es-es.wxl deleted file mode 100644 index a359b18..0000000 --- a/Src/Localization/WixUI/WixUI_es-es.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Atrás - &Siguiente - Cancelar - &Finalizar - &Reintentar - &Ignorar - &Sí - &No - Aceptar - I&mprimir - - Instalación de [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lea el Contrato de licencia de [ProductName] - &Acepto los términos del Contrato de licencia - Haga clic en Instalar para instalar el producto con las opciones predeterminadas para todos los usuarios. Haga clic en Avanzada para cambiar las opciones de instalación. - Haga clic en Instalar para instalar el producto con las opciones predeterminadas solo para el usuario actual. Haga clic en Avanzada para cambiar las opciones de instalación. - &Instalar - A&vanzada - 8 - 12 - 9 - 8 - Tahoma - - Instalación de [ProductName] - &Buscar en: - WixUI_Bmp_Up - Subir un nivel - WixUI_Bmp_New - Crea una nueva carpeta - &Nombre de carpeta: - WixUI_Bmp_Banner - Buscar la carpeta de destino - {\WixUI_Font_Title}Cambiar carpeta de destino - - Instalación de [ProductName] - ¿Está seguro de que desea cancelar la instalación de [ProductName]? - WixUI_Ico_Info - Icono de información - - Instalación de [ProductName] - Árbol de selecciones - E&xaminar... - Re&stablecer - &Uso del disco - WixUI_Bmp_Banner - Haga clic en los iconos del árbol siguiente para cambiar el modo en que se instalan las características. - Seleccione el modo en que desea que se instalen las características. - {\WixUI_Font_Title}Instalación personalizada - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Ubicación: - - Instalación de [ProductName] - WixUI_Bmp_Banner - Los volúmenes resaltados no tienen espacio en disco suficiente para las características seleccionadas. Puede quitar algunos archivos de estos volúmenes, instalar menos características o seleccionar otras unidades de destino. - Espacio en disco necesario para la instalación de las características seleccionadas. - {\WixUI_Font_Title}Requisitos de espacio en disco - {120}{70}{70}{70}{70} - - Instalación de [ProductName] - Texto informativo - WixUI_Ico_Info - Icono de información - - Instalación de [ProductName] - WixUI_Bmp_Dialog - Haga clic en el botón Finalizar para salir del Asistente para la instalación. - {\WixUI_Font_Bigger}Ha completado el Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}El Asistente para la instalación de [ProductName] finalizó antes de tiempo. - El Asistente para la instalación de [ProductName] finalizó antes de tiempo debido a un error. El sistema no se ha modificado. Para instalar el programa más tarde, vuelva a ejecutar el Asistente para la instalación. - Haga clic en el botón Finalizar para salir del Asistente para la instalación. - - Instalación de [ProductName] - Características del producto - WixUI_Bmp_Banner - Seleccione el modo en que desea que se instalen las características. - {\WixUI_Font_Title}Características del producto - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Instalar - &Cambiar - - Instalación de [ProductName] - S&alir - WixUI_Bmp_Banner - Las siguientes aplicaciones están utilizando archivos que el programa de instalación debe actualizar. Cierre estas aplicaciones y haga clic en &Reintentar para continuar con la instalación o en Salir para salir de ella. - Algunos archivos que es necesario actualizar se están utilizando en este momento. - {\WixUI_Font_Title}Archivos en uso - - Instalación de [ProductName] - &Cambiar... - {\WixUI_Font_Title}Carpeta de destino - Haga clic en Siguiente para realizar la instalación en la carpeta predeterminada o en Cambiar para elegir otra carpeta. - WixUI_Bmp_Banner - Instalar [ProductName] en: - - Instalación de [ProductName] - WixUI_Bmp_Banner - Elija el ámbito y la carpeta de instalación - {\WixUI_Font_Title}Ámbito de la instalación - {\WixUI_Font_Emphasized}Instalar &solo para el usuario actual ([LogonUser]) - [ProductName] se instalará en una carpeta por usuario y solo estará disponible para su cuenta de usuario. No se necesitan privilegios de administrador local. - [ProductName] no admite la instalación por usuario. - {\WixUI_Font_Emphasized}Instalar para todos los usuarios de este &equipo - [ProductName] se instalará en una carpeta por equipo de forma predeterminada y estará disponible a todos los usuarios. Puede cambiar la carpeta de instalación predeterminada. Se necesitan privilegios de administrador local. - &Carpeta de instalación: - &Cambiar... - - Instalación de [ProductName] - El directorio de instalación debe estar en una unidad de disco duro local. - WixUI_Ico_Info - Icono de información - - Instalación de [ProductName] - &Acepto los términos del Contrato de licencia - WixUI_Bmp_Banner - Lea detenidamente el siguiente Contrato de licencia - {\WixUI_Font_Title}Contrato de licencia para el usuario final - - Instalación de [ProductName] - &Cambiar - Cambiar la instalación - Re&parar - Reparar la instalación - &Quitar - Quitar la instalación - WixUI_Bmp_Banner - Seleccione la operación que desea realizar. - {\WixUI_Font_Title}Cambiar, reparar o quitar la instalación - Permite cambiar el modo en que se instalan las características. - [ProductName] no tiene características que puedan seleccionarse de manera independiente. - Quita [ProductName] de su equipo. - No se puede quitar [ProductName]. - Repara errores en la instalación más reciente corrigiendo archivos, accesos directos y entradas de Registro que faltan o que están dañados. - No se puede reparar [ProductName]. - - Instalación de [ProductName] - WixUI_Bmp_Dialog - El Asistente para la instalación permite cambiar el modo en que se instalan las características de [ProductName] en el equipo o quitarlo de este. Haga clic en Siguiente para continuar o en Cancelar para salir del Asistente para la instalación. - {\WixUI_Font_Bigger}Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - WixUI_Bmp_Banner - Las siguientes aplicaciones están utilizando archivos que el programa de instalación debe actualizar. Puede dejar que el Asistente para la instalación los cierre e intentar reiniciarlos o reiniciar el equipo más tarde. - Algunos archivos que es necesario actualizar se están utilizando en este momento. - {\WixUI_Font_Title}Archivos en uso - &Cierre las aplicaciones e intente reiniciarlas. - &No cierre las aplicaciones. Será necesario reiniciar. - - Instalación de [ProductName] - WixUI_Bmp_Banner - Los volúmenes resaltados no disponen de espacio en disco suficiente para las características seleccionadas. Puede quitar algunos archivos de dichos volúmenes, instalar menos características o seleccionar otra unidad de destino. - El espacio en disco necesario para la instalación supera el espacio disponible en el disco. - {\WixUI_Font_Title}Espacio en disco insuficiente - {120}{70}{70}{70}{70} - - Instalación de [ProductName] - WixUI_Bmp_Banner - Los volúmenes resaltados no disponen de espacio en disco suficiente para las características seleccionadas. Puede quitar algunos archivos de dichos volúmenes, instalar menos características o seleccionar otra unidad de destino. - El espacio en disco necesario para la instalación supera el espacio disponible en disco. - {\WixUI_Font_Title}Espacio en disco insuficiente - {120}{70}{70}{70}{70} - También puede deshabilitar la funcionalidad de reversión del instalador. Esto impedirá que el instalador restaure el estado original del equipo en caso de que se interrumpa la instalación. Haga clic en Sí si desea correr el riesgo y deshabilitar la reversión. - - Instalación de [ProductName] - WixUI_Bmp_Dialog - Espere mientras el Asistente para la instalación se prepara para guiarlo durante la instalación. - {\WixUI_Font_Bigger}Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - WixUI_Bmp_Banner - Espere mientras el Asistente para la instalación instala [ProductName]. - {\WixUI_Font_Title}Instalando [ProductName] - Espere mientras el Asistente para la instalación cambia [ProductName]. - {\WixUI_Font_Title}Cambiando [ProductName] - Espere mientras el Asistente para la instalación repara [ProductName]. - {\WixUI_Font_Title}Reparando [ProductName] - Espere mientras el Asistente para la instalación quita [ProductName]. - {\WixUI_Font_Title}Quitando [ProductName] - Espere mientras el Asistente para la instalación actualiza [ProductName]. - {\WixUI_Font_Title}Actualizando [ProductName] - Operación completada - Estado: - - Instalación de [ProductName] - &Instalar - WixUI_Bmp_Dialog - El Asistente para la instalación completará la instalación de [ProductName] en el equipo. Haga clic en Instalar para continuar o en Cancelar para salir del Asistente para la instalación. - {\WixUI_Font_Bigger}Reanudando el Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - &Típica - Instalación típica - &Personalizada - Instalación personalizada - &Completa - Instalación completa - WixUI_Bmp_Banner - {\WixUI_Font_Title}Elija un tipo de instalación - Elija el tipo de instalación que mejor se adapte a sus necesidades. - Instala las características de programa más comunes. Recomendada para la mayoría de los usuarios. - El usuario podrá elegir las características de programa que se instalarán y dónde se instalarán. Recomendada para usuarios avanzados. - Instalará todas las características del programa. Esta opción es la que más espacio en disco requiere. - - Instalación de [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Se interrumpió el Asistente para la instalación de [ProductName]. - Se interrumpió la instalación de [ProductName]. El sistema no se ha modificado. Para instalar este programa más tarde, vuelva a ejecutar la instalación. - Haga clic en el botón Finalizar para salir del Asistente para la instalación. - - Instalación de [ProductName] - WixUI_Bmp_Banner - &Instalar - Haga clic en Instalar para comenzar la instalación. Haga clic en Atrás para revisar o cambiar la configuración de la instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para instalar [ProductName] - &Cambiar - Haga clic en Cambiar para comenzar la instalación. Haga clic en Atrás para revisar o cambiar la configuración de la instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para cambiar [ProductName] - Re&parar - Haga clic en Reparar para reparar la instalación de [ProductName]. Haga clic en Atrás para revisar o cambiar la configuración de la instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para reparar [ProductName] - &Quitar - Haga clic en Quitar para quitar [ProductName] de su equipo. Haga clic en Atrás para revisar o cambiar la configuración de la instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para quitar [ProductName] - &Actualizar - Haga clic en Actualizar para actualizar [ProductName] desde el equipo. Haga clic en Atrás para revisar o cambiar alguna de las opciones de instalación. Haga clic en Cancelar para salir del asistente. - {\WixUI_Font_Title}Listo para actualizar [ProductName] - - Instalación de [ProductName] - &Volver - Espere mientras el instalador determina los requisitos de espacio en disco. - WixUI_Ico_Exclam - Icono de exclamación - - Instalación de [ProductName] - WixUI_Bmp_Dialog - El Asistente para la instalación instalará [ProductName] en el equipo. Haga clic en Siguiente para continuar o en Cancelar para salir del asistente. - El Asistente para la instalación actualizará [ProductName] en el equipo. Haga clic en Siguiente para continuar o en Cancelar para salir del asistente. - {\WixUI_Font_Bigger}Asistente para la instalación de [ProductName] - - Instalación de [ProductName] - WixUI_Bmp_Dialog - &Acepto los términos del Contrato de licencia - &Instalar - &Actualizar - {\WixUI_Font_Title}Lea el Contrato de licencia de [ProductName] - - Validando la instalación - Copiando archivos nuevos - Archivo: [1], directorio: [9], tamaño: [6] - Copiando archivos de instalación de la red - Archivo: [1], directorio: [9], tamaño: [6] - Calculando el espacio necesario - Calculando el espacio necesario - Calculando el espacio necesario - Creando accesos directos - Acceso directo: [1] - Publicando componentes calificados - Id. de componente: [1], calificador: [2] - Publicando características del producto - Característica: [1] - Publicando información del producto - Registrando servidores de clases - Id. de clase: [1] - Registrando servidores de extensiones - Extensión: [1] - Registrando información MIME - Tipo de contenido MIME: [1], extensión: [2] - Registrando identificadores de programa - ProgID: [1] - Asignando espacio del Registro - Espacio disponible: [1] - Buscando aplicaciones instaladas - Propiedad: [1], firma: [2] - Enlazando archivos ejecutables - Archivo: [1] - Buscando productos certificados - Creando carpetas - Carpeta: [1] - Eliminando servicios - Servicio: [1] - Creando archivos duplicados - Archivo: [1], directorio: [9], tamaño: [6] - Buscando aplicaciones relacionadas - Se encontró la aplicación: [1] - Instalando componentes ODBC - Instalando servicios nuevos - Servicio: [2] - Evaluando las condiciones de inicio - Migrando los estados de las características desde las aplicaciones relacionadas - Aplicación: [1] - Moviendo archivos - Archivo: [1], directorio: [9], tamaño: [6] - Aplicando revisión a archivos - Archivo: [1], directorio: [2], tamaño: [3] - Actualizando el registro de componentes - Registrando aplicaciones y componentes COM+ - Id. de aplicación: [1]{{, tipo de aplicación: [2], usuarios: [3], RSN: [4]}} - Registrando fuentes - Fuente: [1] - Registrando producto - [1] - Registrando bibliotecas de tipos - Id. de la biblioteca: [1] - Registrando usuario - [1] - Quitando archivos duplicados - Archivo: [1], directorio: [9] - Actualizando cadenas de entorno - Nombre: [1], valor: [2], acción [3] - Quitando aplicaciones - Aplicación: [1], línea de comandos: [2] - Quitando archivos - Archivo: [1], directorio: [9] - Quitando carpetas - Carpeta: [1] - Quitando entradas de archivos INI - Archivo: [1], sección: [2], clave: [3], valor: [4] - Quitando componentes ODBC - Quitando valores del Registro del sistema - Clave: [1], nombre: [2] - Quitando accesos directos - Acceso directo: [1] - Buscando productos certificados - Registrando módulos - Archivo: [1], carpeta: [2] - Eliminando módulos del Registro - Archivo: [1], carpeta: [2] - Inicializando directorios ODBC - Iniciando servicios - Servicio: [1] - Deteniendo servicios - Servicio: [1] - Cancelando la publicación de componentes calificados - Id. de componente: [1], calificador: [2] - Cancelando la publicación de características del producto - Característica: [1] - Eliminando del Registro los servidores de clases - Id. de clase: [1] - Eliminando del Registro las aplicaciones y componentes COM+ - Id. de aplicación: [1]{{, tipo de aplicación: [2]}} - Eliminando del Registro los servidores de extensiones - Extensión: [1] - Eliminando del Registro las fuentes - Fuente: [1] - Eliminando del Registro la información MIME - Tipo de contenido MIME: [1], extensión: [2] - Eliminando del Registro los identificadores de programas - ProgID: [1] - Eliminando del Registro las bibliotecas de tipos - Id. de la biblioteca: [1] - Actualizando cadenas de entorno - Nombre: [1], valor: [2], acción [3] - Escribiendo valores de los archivos INI - Archivo: [1], sección: [2], clave: [3], valor: [4] - Escribiendo valores del Registro del sistema - Clave: [1], nombre: [2], valor: [3] - Anunciando aplicación - Generando operaciones de script para la acción: - [1] - Instalando catálogo del sistema - Archivo: [1], dependencias: [2] - Publicando información de ensamblado - Contexto de aplicación:[1], nombre de ensamblado:[2] - Cancelando la publicación de información de ensamblado - Contexto de aplicación:[1], nombre de ensamblado:[2] - Revirtiendo la acción: - [1] - Quitando copias de seguridad - Archivo: [1] - Quitando archivos movidos - Archivo: [1], directorio: [9] - Cancelando la publicación de información del producto - - {{Error irrecuperable: }} - {{Error [1]. }} - Advertencia [1]. - Información [1]. - El instalador encontró un error inesperado durante la instalación de este paquete. Esto puede indicar un problema con el paquete. El código de error es [1]. {{Los argumentos son: [2], [3], [4]}} - {{Disco lleno: }} - Acción [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Tipo de mensaje: [1], argumento: [2] - === Registro iniciado: [Date] [Time] === - === Registro detenido: [Date] [Time] === - La acción se inició a las [Time]: [1]. - La acción terminó a las [Time]: [1]. Valor devuelto [2]. - Quedan: {[1] minutos }{[2] segundos} - Memoria insuficiente. Cierre otras aplicaciones e inténtelo de nuevo. - El instalador no responde. - El instalador terminó antes de tiempo. - Espere mientras Windows configura [ProductName] - Obteniendo información necesaria... - Quitando versiones anteriores de esta aplicación... - Preparándose para quitar versiones anteriores de esta aplicación... - La instalación de {[ProductName] } se completó correctamente. - No se pudo instalar {[ProductName] }. - Error al leer el archivo: [2]. {{ Error del sistema [3].}} Compruebe que el archivo existe y que puede obtener acceso a él. - No se puede crear el archivo '[2]'. Ya existe un directorio con ese nombre. Cancele la instalación e intente realizarla en una ubicación distinta. - Inserte el disco: [2] - El instalador no dispone de privilegios suficientes para obtener acceso al directorio [2]. La instalación no puede continuar. Inicie sesión como administrador o póngase en contacto con el administrador del sistema. - Error al escribir en el archivo [2]. Compruebe que dispone de acceso a ese directorio. - Error al leer el archivo: [2]. {{ Error del sistema [3].}} Compruebe que el archivo existe y que puede obtener acceso a él. - Otra aplicación tiene acceso exclusivo al archivo '[2]'. Cierre todas las demás aplicaciones y haga clic en Reintentar. - No hay suficiente espacio en disco para instalar el archivo [2]. Libere espacio y haga clic en Reintentar, o bien haga clic en Cancelar para salir. - No se encontró el archivo de origen [2]. Compruebe que el archivo existe y que tiene acceso a él. - Error al leer el archivo: [3]. {{ Error del sistema [2].}} Compruebe que el archivo existe y que puede obtener acceso a él. - Error al escribir en el archivo [3]. {{ Error del sistema [2].}} Compruebe que dispone de acceso a ese directorio. - No se encontró el archivo de origen {{(archivo .CAB)}} [2]. Compruebe que el archivo existe y que tiene acceso a él. - No se puede crear el directorio '[2]'. Ya existe un archivo con este nombre. Cambie el nombre del archivo o quítelo y haga clic en Reintentar, o bien haga clic en Cancelar para salir. - El volumen [2] no está disponible en este momento. Seleccione otro volumen. - La ruta de acceso especificada, '[2]', no está disponible. - No se puede escribir en la carpeta especificada: [2]. - Error de red al intentar leer el archivo: [2] - Error al intentar crear el directorio: [2] - Error de red al intentar crear el directorio: [2] - Error de red al intentar abrir el archivo .CAB de origen: [2] - La ruta de acceso especificada es demasiado larga: [2] - El instalador no tiene suficientes privilegios para modificar el archivo [2]. - Una parte de la ruta de acceso a la carpeta '[2]' no es válida. Puede que esté vacía o que supere la longitud máxima permitida por el sistema. - La ruta de acceso a la carpeta '[2]' contiene palabras no válidas para rutas de acceso a carpetas. - La ruta de acceso a la carpeta '[2]' contiene un carácter no válido. - '[2]' no es un nombre corto de archivo válido. - Error al obtener la seguridad del archivo: [3] GetLastError: [2] - Unidad no válida: [2] - Error al aplicar la revisión al archivo [2]. Probablemente el archivo se ha actualizado por otros medios y esta revisión ya no puede modificarlo. Para obtener más información, póngase en contacto con el proveedor de la revisión. {{Error del sistema: [3]}} - No se puede instalar un archivo necesario porque el archivo .CAB [2] no está firmado digitalmente. Puede ser un síntoma de que el archivo .CAB está dañado. - No se puede instalar un archivo necesario porque el archivo .CAB [2] tiene una firma digital no válida. Puede ser un síntoma de que el archivo .CAB está dañado.{{ WinVerifyTrust devolvió el error [3].}} - No se pudo copiar correctamente el archivo [2]: error de CRC. - No se pudo mover correctamente el archivo [2]: error de CRC. - No se pudo aplicar correctamente la revisión al archivo [2]: error de CRC. - No se puede instalar el archivo '[2]' porque no se encuentra en el archivo .CAB '[3]'. Esto puede indicar un error en la red, un error de lectura del CD-ROM o un problema con este paquete. - El archivo .CAB '[2]' requerido por esta instalación está dañado y no puede usarse. Esto puede indicar un error en la red, un error de lectura del CD-ROM o un problema con este paquete. - Error al crear un archivo temporal necesario para completar esta instalación.{{ Carpeta: [3]. Código de error del sistema: [2]}} - No se pudo crear la clave [2]. {{ Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo abrir la clave [2]. {{ Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo eliminar el valor [2] de la clave [3]. {{Error del sistema [4].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo eliminar la clave [2]. {{Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo leer el valor [2] de la clave [3]. {{Error del sistema [4].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo escribir el valor [2] en la clave [3]. {{Error del sistema [4].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudieron obtener los nombres de los valores para la clave [2]. {{Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudieron obtener los nombres de las subclaves de la clave [2]. {{Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo leer la información de seguridad de la clave [2]. {{Error del sistema [3].}} Compruebe que dispone de suficientes permisos de acceso a esa clave o póngase en contacto con el personal de soporte técnico. - No se pudo aumentar el espacio disponible en el Registro. Para instalar esta aplicación se requieren [2] KB de espacio disponible en el Registro. - Ya hay otra instalación en curso. Debe completar esa instalación antes de continuar con esta. - Error al obtener acceso a los datos protegidos. Asegúrese de que Windows Installer está configurado correctamente y vuelva a intentar la instalación. - El usuario '[2]' ha iniciado previamente una instalación del producto '[3]'. Ese usuario deberá ejecutar de nuevo esa instalación para poder usar el producto. Ahora continuará la instalación actual. - El usuario '[2]' ha iniciado previamente una instalación del producto '[3]'. Ese usuario deberá ejecutar de nuevo esa instalación para poder usar el producto. - Espacio en disco insuficiente -- Volumen: '[2]'; espacio necesario: [3] KB; espacio disponible: [4] KB. Libere espacio en disco e inténtelo de nuevo. - ¿Está seguro de que desea cancelar? - El archivo [2][3] está siendo utilizado{ por el siguiente proceso: nombre: [4], id.: [5], título de ventana: '[6]'}. Cierre la aplicación e inténtelo de nuevo. - El producto [2] ya está instalado, lo que impide que se instale este producto, puesto que ambos son incompatibles entre sí. - Espacio en disco insuficiente en el volumen '[2]' para continuar la instalación con recuperación habilitada. Se requieren [3] KB, pero solo [4] KB están disponibles. Haga clic en Ignorar para continuar con la instalación sin guardar la información de recuperación, haga clic en Reintentar para comprobar el espacio disponible de nuevo o haga clic en Cancelar para salir de la instalación. - No se pudo obtener acceso a la ubicación de red [2]. - Se deben cerrar las siguientes aplicaciones antes de continuar con la instalación: - No se encontró ningún producto compatible instalado en el equipo para poder instalar este producto. - Error al aplicar la configuración de seguridad. [2] no es un usuario o grupo válido. Es posible que haya un problema con el paquete o no se pueda conectar al controlador de dominio en la red. Compruebe la conexión de red y haga clic en Reintentar, o haga clic en Cancelar para terminar la instalación. {{No se encuentra el SID del usuario, error del sistema [3]}} - La clave [2] no es válida. Compruebe que ha escrito la clave correcta. - El instalador debe reiniciar el sistema para que la configuración de [2] pueda continuar. Haga clic en Sí para reiniciar el sistema ahora o No si pretende reiniciarlo manualmente más tarde. - Debe reiniciar el sistema para que los cambios de configuración efectuados en [2] surtan efecto. Haga clic en Sí para reiniciar el sistema ahora o elija No si tiene previsto reiniciarlo manualmente más tarde. - Actualmente hay una instalación de [2] suspendida. Para continuar debe deshacer los cambios realizados por esa instalación. ¿Desea deshacer los cambios? - Ya hay una instalación anterior de este producto en curso. Para continuar debe deshacer los cambios realizados por esa instalación. ¿Desea deshacer los cambios? - No se encuentra un paquete de instalación del producto [2]. Vuelva a intentar la instalación usando una copia válida del paquete de instalación "[3]". - La instalación se completó correctamente. - No se puede realizar la instalación. - Producto: [2] -- [3] - Puede restaurar el equipo a su estado anterior o continuar con la instalación más tarde. ¿Desea restaurar el equipo? - Error al escribir la información de instalación en el disco. Asegúrese de que dispone de suficiente espacio en disco y haga clic en Reintentar, o bien haga clic en Cancelar para terminar la instalación. - No se encontraron uno o varios archivos necesarios para restaurar el equipo a su estado anterior. No es posible realizar la restauración. - [2] no puede instalar uno de los productos necesarios. Póngase en contacto con el grupo de soporte técnico. {{Error del sistema: [3].}} - No se puede quitar la versión anterior de [2]. Póngase en contacto con el grupo de soporte técnico. {{Error del sistema: [3].}} - Instalado [2] - Configurado [2] - Quitado [2] - La directiva de firmas digitales rechazó el archivo [2]. - No se pudo obtener acceso al servicio Windows Installer. Es posible que esto ocurra si está ejecutando Windows en modo seguro, o si Windows Installer no está correctamente instalado. Póngase en contacto con el personal de soporte técnico para obtener asistencia. - Hay un problema con este paquete de Windows Installer. No se pudo ejecutar un script necesario para completar la instalación. Póngase en contacto con el personal de soporte técnico o con el proveedor del paquete. {{Acción personalizada [2], error de script [3], [4]: [5] línea [6], columna [7], [8] }} - Hay un problema con este paquete de Windows Installer. No se pudo ejecutar un programa requerido para completar esta instalación. Póngase en contacto con el personal de soporte técnico o el proveedor del paquete. {{Acción: [2], ubicación: [3], comando: [4] }} - Hay un problema con este paquete de Windows Installer. Un programa ejecutado como parte de la instalación no finalizó como se esperaba. Póngase en contacto con el personal de soporte técnico o con el proveedor del paquete. {{Acción [2], ubicación: [3], comando: [4] }} - Hay un problema con este paquete de Windows Installer. No se pudo ejecutar un archivo DLL necesario para completar la instalación. Póngase en contacto con el personal de soporte técnico o con el proveedor del paquete. {{Acción: [2], entrada: [3], biblioteca: [4] }} - La eliminación se completó correctamente. - Error en la eliminación. - El anuncio se completó correctamente. - Error al anunciar. - La configuración se completó correctamente. - Error en la configuración. - Debe ser un administrador para quitar esta aplicación. Para quitarla, inicie sesión como administrador o póngase en contacto con el grupo de soporte técnico para recibir ayuda. - El paquete de instalación de origen del producto [2] no está sincronizado con el paquete del cliente. Vuelva a realizar la instalación utilizando una copia válida del paquete de instalación '[3]'. - Debe reiniciar el equipo para completar la instalación de [2]. Otros usuarios tienen una sesión abierta en este equipo actualmente y es posible que pierdan su trabajo si lo reinicia. ¿Desea reiniciar ahora? - La ruta de acceso [2] no es válida. Escriba una ruta de acceso válida. - Memoria insuficiente. Cierre otras aplicaciones e inténtelo de nuevo. - No hay ningún disco en la unidad [2]. Inserte uno y haga clic en Reintentar, o bien haga clic en Cancelar para volver al volumen previamente seleccionado. - No hay ningún disco en la unidad [2]. Inserte uno y haga clic en Reintentar, o bien haga clic en Cancelar para volver al cuadro de diálogo Examinar y seleccionar un volumen distinto. - La carpeta [2] no existe. Escriba una ruta de acceso a una carpeta existente. - No dispone de privilegios suficientes para leer esta carpeta. - No se pudo determinar una carpeta de destino válida para la instalación. - Error al intentar leer la base de datos de instalación de origen: [2]. - Programando la operación de reinicio: se está cambiando el nombre del archivo [2] a [3]. Para completar la operación se debe reiniciar el equipo. - Programando la operación de reinicio: se está eliminando el archivo [2]. Para completar la operación se debe reiniciar el equipo. - No se pudo registrar el módulo [2]. HRESULT [3]. Póngase en contacto con el personal de soporte técnico. - No se pudo eliminar el módulo [2] del Registro. HRESULT [3]. Póngase en contacto con el personal de soporte técnico. - No se pudo almacenar el paquete [2] en la memoria caché. Error: [3]. Póngase en contacto con el personal de soporte técnico. - No se pudo registrar la fuente [2]. Compruebe que dispone de suficientes permisos para instalar fuentes y que el sistema admite esta fuente. - No se pudo eliminar del Registro la fuente [2]. Compruebe que dispone de suficientes permisos para quitar fuentes. - No se pudo crear el acceso directo [2]. Compruebe que la carpeta de destino existe y que puede obtener acceso a ella. - No se pudo quitar el acceso directo [2]. Compruebe que el archivo de acceso directo existe y que puede obtener acceso a él. - No se pudo registrar la biblioteca de tipos para el archivo [2]. Póngase en contacto con el personal de soporte técnico. - No se pudo eliminar del Registro la biblioteca de tipos del archivo [2]. Póngase en contacto con el personal de soporte técnico. - No se pudo actualizar el archivo INI [2][3]. Compruebe que el archivo existe y que tiene acceso a él. - No se pudo programar el archivo [2] para que reemplace al archivo [3] cuando se reinicie el sistema. Compruebe que dispone de permisos de escritura para el archivo [3]. - Error al quitar el administrador de controladores ODBC; error de ODBC [2]: [3]. Póngase en contacto con el personal de soporte técnico. - Error al instalar el administrador de controladores ODBC; error de ODBC [2]: [3]. Póngase en contacto con el personal de soporte técnico. - Error al quitar el controlador ODBC [4]; error de ODBC [2]: [3]. Compruebe que dispone de suficientes privilegios para quitar controladores ODBC. - Error al instalar el controlador ODBC [4]; error de ODBC [2]: [3]. Compruebe que el archivo [4] existe y que puede obtener acceso a él. - Error al configurar el origen de datos de ODBC [4]; error de ODBC [2]: [3]. Compruebe que el archivo [4] existe y que puede obtener acceso a él. - No se pudo iniciar el servicio '[2]' ([3]). Compruebe que dispone de suficientes privilegios para iniciar servicios del sistema. - No se pudo detener el servicio '[2]' ([3]). Compruebe que dispone de suficientes privilegios para detener servicios del sistema. - No se pudo eliminar el servicio '[2]' ([3]). Compruebe que dispone de suficientes privilegios para quitar servicios del sistema. - No se pudo instalar el servicio '[2]' ([3]). Compruebe que dispone de suficientes privilegios para instalar servicios del sistema. - No se pudo actualizar la variable de entorno '[2]'. Compruebe que dispone de suficientes privilegios para modificar variables de entorno. - No dispone de privilegios suficientes para completar esta instalación para todos los usuarios del equipo. Inicie sesión como administrador y vuelva a ejecutar la instalación. - No se pudo establecer la seguridad del archivo '[3]'. Error: [2]. Compruebe que dispone de suficientes privilegios para modificar los permisos de seguridad de este archivo. - Los servicios de componentes (COM+ 1.0) no están instalados en este sistema. Estos servicios de componentes son necesarios para que la instalación se complete correctamente. Encontrará dichos servicios en Windows 2000. - Error al registrar la aplicación COM+. Póngase en contacto con el personal de soporte técnico para obtener más información. - Error al eliminar la aplicación COM+ del Registro. Póngase en contacto con el personal de soporte técnico para obtener más información. - No se pudo cambiar la descripción del servicio "[2]" ([3]). - El servicio Windows Installer no puede actualizar el archivo de sistema [2] porque está protegido por Windows. Puede que necesite actualizar el sistema operativo para que este programa funcione correctamente. {{Versión de paquete: [3], versión protegida del sistema operativo: [4]}} - El servicio Windows Installer no puede actualizar el archivo protegido de Windows [2]. {{Versión de paquete: [3], versión protegida del SO: [4], error SFP: [5]}} - El servicio Windows Installer no puede actualizar uno o varios de los archivos protegidos de Windows. {{Error SFP: [2]. Lista de archivos protegidos:\r\n[3]}} - Las instalaciones de usuario están deshabilitadas debido a la directiva del equipo. - Error durante la instalación del ensamblado '[6]'. Consulte la Ayuda y soporte técnico para obtener más información. HRESULT: [3]. {{interfaz de ensamblado: [4], función: [5], componente: [2]}} - Error al instalar el ensamblado '[6]'. El ensamblado no tiene un nombre seguro o no está firmado con la longitud de clave mínima. HRESULT: [3]. {{interfaz de ensamblado: [4], función: [5], componente: [2]}} - Error al instalar el ensamblado '[6]'. No se pudo comprobar la firma o el catálogo, o no son válidos. HRESULT: [3]. {{interfaz de ensamblado: [4], función: [5], componente: [2]}} - Error al instalar el ensamblado '[6]'. No se encontró uno o más módulos del ensamblado. HRESULT: [3]. {{interfaz de ensamblado: [4], función: [5], componente: [2]}} - - Bytes - GB - KB - MB - La característica completa no estará disponible. - La característica se instalará cuando se solicite. - La característica completa se instalará para ejecutarse desde el CD. - La característica completa se instalará en la unidad de disco duro local. - La característica completa se instalará para ejecutarse desde la red. - Se instalará para ejecutarse desde el CD. - Se instalará en la unidad de disco duro local. - Se instalará para ejecutarse desde la red. - Carpeta|Carpeta nueva - Obteniendo información necesaria... - Esta característica no se instalará. - Esta característica se configurará para instalarse cuando se solicite. - Esta característica se instalará para ejecutarse desde el CD. - Esta característica se instalará en la unidad de disco duro local. - Esta característica se instalará para ejecutarse desde la red. - Esta característica dejará de estar disponible. - Se instalará cuando se solicite. - Esta característica estará disponible para ejecutarse desde el CD. - Esta característica se instalará en la unidad de disco duro local. - Esta característica estará disponible para ejecutarse desde la red. - Esta característica se desinstalará por completo y no podrá ejecutarla desde el CD. - Esta característica dejará de ejecutarse desde el CD y se instalará cuando se solicite. - Esta característica continuará ejecutándose desde el CD. - Esta característica dejará de ejecutarse desde el CD y se instalará en la unidad de disco duro local. - Esta característica libera [1] del disco duro. - Esta característica necesita [1] del disco duro. - Calculando el espacio necesario para esta característica... - Esta característica se quitará por completo. - Esta característica se quitará del disco duro local, pero se configurará para instalarse cuando se solicite. - Esta característica se quitará de la unidad de disco duro local, pero podrá ejecutarse desde el CD. - Esta característica permanecerá en la unidad de disco duro local. - Esta característica se quitará de la unidad de disco duro local, pero podrá ejecutarse desde la red. - Esta característica se desinstalará por completo y no podrá ejecutarla desde la red. - Esta característica dejará de ejecutarse desde la red y se instalará cuando se solicite. - Esta característica dejará de ejecutarse desde la red y se instalará en la unidad de disco duro local. - Esta característica se podrá ejecutar desde la red. - Esta característica libera [1] del disco duro. Tiene [2] de [3] subcaracterísticas seleccionadas. Las subcaracterísticas liberan [4] del disco duro. - Esta característica libera [1] del disco duro. Tiene [2] de [3] subcaracterísticas seleccionadas. Las subcaracterísticas necesitan [4] del disco duro. - Esta característica necesita [1] del disco duro. Tiene [2] de [3] subcaracterísticas seleccionadas. Las subcaracterísticas liberan [4] del disco duro. - Esta característica necesita [1] del disco duro. Tiene [2] de [3] subcaracterísticas seleccionadas. Las subcaracterísticas necesitan [4] del disco duro. - Quedan: {[1] minutos }{[2] segundos} - Disponible - Diferencia - Necesario - Tamaño del disco - Volumen - diff --git a/Src/Localization/WixUI/WixUI_et-EE.wxl b/Src/Localization/WixUI/WixUI_et-EE.wxl deleted file mode 100644 index 11dc41e..0000000 --- a/Src/Localization/WixUI/WixUI_et-EE.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Tagasi - &Edasi - Loobu - &Valmis - &Proovi uuesti - &Ignoreeri - &Jah - &Ei - OK - &Prindi - - Toote [ProductName] install - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lugege toote [ProductName] litsentsilepingut - &Nõustun litsentsilepingu tingimustega - Klõpsake käsku Installi toote installimiseks vaikesätetega kõigile kasutajatele. Klõpsake suvandit Täpsemalt installimissuvandite muutmiseks. - Klõpsake Installi toote installimiseks vaikesätetega ainult teie jaoks. Klõpsake Täpsemalt installimissuvandite muutmiseks. - &Installi - T&äpsemalt - 8 - 12 - 9 - 8 - tahoma - - Toote [ProductName] install - &Vaata: - WixUI_Bmp_Up - Taseme võrra üles - WixUI_Bmp_New - Loo uus kaust - &Kausta nimi: - WixUI_Bmp_Banner - Liikuge sirvides soovitud sihtkausta juurde - {\WixUI_Font_Title}Sihtkausta muutmine - - Toote [ProductName] install - Kas soovite kindlasti rakenduse [ProductName] installist loobuda? - WixUI_Ico_Info - Teabeikoon - - Toote [ProductName] install - Valikupuu - S&irvimine... - Läh&htestus - Ketta &kasutus - WixUI_Bmp_Banner - Klõpsake ikoone alloleval puul funktsioonide installimise viisi muutmiseks. - Valige soovitud funktsioonide installimise viis. - {\WixUI_Font_Title}Kohandatud install - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Asukoht: - - Toote [ProductName] install - WixUI_Bmp_Banner - Esiletõstetud draividel pole valitud funktsioonide jaoks piisavalt vaba kettaruumi. Võite mõne faili esiletõstetud draividelt eemaldada, installida vähem funktsioone või valida mõne muu sihtdraivi. - Valitud funktsioonide installimiseks vajalik kettaruum. - {\WixUI_Font_Title}Kettaruumi nõuded - {120}{70}{70}{70}{70} - - Toote [ProductName] install - Teabetekst - WixUI_Ico_Info - Teabeikoon - - Toote [ProductName] install - WixUI_Bmp_Dialog - Klõpsake installiviisardist väljumiseks nupul Lõpeta. - {\WixUI_Font_Bigger}Toote [ProductName] installiviisard on lõpetanud - - Toote [ProductName] install - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Toote [ProductName] installiviisard peatus enneaegselt - Toote [ProductName] installiviisard peatus tõrke tõttu enneaegselt. Teie süsteemi pole muudetud. Kui soovite programmi hiljem installida, käivitage installiviisard uuesti. - Klõpsake installiviisardist väljumiseks nupul Lõpeta. - - Toote [ProductName] install - Toote funktsioonid - WixUI_Bmp_Banner - Valige soovitud funktsioonide installimise viis. - {\WixUI_Font_Title}Toote funktsioonid - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installi - &Muuda - - Toote [ProductName] install - V&älju - WixUI_Bmp_Banner - Järgmised rakendused kasutavad faile, mida see installiprogramm peab värskendama. Sulgege need rakendused ja klõpsake siis installimise jätkamiseks käsul &Proovi uuesti või väljumiseks käsul Välju. - Mõni värskendamist vajav fail on praegu kasutusel. - {\WixUI_Font_Title}Kasutuses olevad failid - - Toote [ProductName] install - &Muuda ... - {\WixUI_Font_Title}Sihtkaust - Klõpsake suvandit Järgmine vaikekausta installimiseks või suvandit Muuda teise sihtkoha valimiseks. - WixUI_Bmp_Banner - Installi toode [ProductName] asukohta: - - Toote [ProductName] install - WixUI_Bmp_Banner - Valige installimise ulatus ja kaust - {\WixUI_Font_Title}Installimise ulatus - {\WixUI_Font_Emphasized}Installimine &ainult teie jaoks ([LogonUser]) - Toode [ProductName] installitakse kasutajapõhisesse kausta ja see on saadaval ainult teie kasutajakontole. Teil ei ole vaja kohaliku administraatori õigusi. - Toode [ProductName] ei toeta kasutajapõhist installimist. - {\WixUI_Font_Emphasized}Installi kõigile kasutajatele sellel &seadmel - Toode [ProductName] installitakse vaikimisi seadmepõhisesse kausta ja see on saadaval kõigile kasutajatele. Saate vaikeinstalli kausta muuta. Teil peavad olema kohaliku administraatori õigused. - Installi&kaust: - &Muuda ... - - Toote [ProductName] install - Installikaust peab asuma kohalikul kõvakettal. - WixUI_Ico_Info - Teabeikoon - - Toote [ProductName] install - &Nõustun litsentsilepingu tingimustega - WixUI_Bmp_Banner - Palun lugege alltoodud litsentsileping hoolikalt läbi - {\WixUI_Font_Title}Lõppkasutaja litsentsileping - - Toote [ProductName] install - &Muuda - Muuda installi - &Paranda - Paranda install - &Eemalda - Eemalda install - WixUI_Bmp_Banner - Valige toiming, mida soovite teha. - {\WixUI_Font_Title}Installi muutmine, parandamine või eemaldamine - Saate muuta funktsioonide installimise viisi. - Tootel [ProductName] pole sõltumatult valitavaid funktsioone. - Eemaldab toote [ProductName] teie arvutist. - Toodet [ProductName] ei saa eemaldada. - Parandab viimase installimise tõrked, lahendades probleemid puuduvate või rikutud failide ja andmete, otseteede ja registrikirjete osas. - Toodet [ProductName] ei saa parandada. - - Toote [ProductName] install - WixUI_Bmp_Dialog - Installiviisard võimaldab muuta toote [ProductName] funktsioonide installimise viisi teie arvutis või selle arvutist eemaldada. Jätkamiseks klõpsake käsul Edasi või installiviisardist väljumiseks käsul Loobu. - {\WixUI_Font_Bigger}Tere tulemast toote [ProductName] installiviisardisse! - - Toote [ProductName] install - WixUI_Bmp_Banner - Järgmised rakendused kasutavad faile, mida see installiprogramm peab värskendama. Võite lasta installiviisardil need sulgeda ja uuesti käivitada või taaskäivitada arvuti hiljem. - Mõni värskendamist vajav fail on praegu kasutusel. - {\WixUI_Font_Title}Kasutuses olevad failid - &Sulgege rakendused ja proovige need uuesti käivitada. - &Ärge sulgege rakendusi. Arvuti tuleb taaskäivitada. - - Toote [ProductName] install - WixUI_Bmp_Banner - Esiletõstetud draividel pole praegu valitud funktsioonide jaoks piisavalt vaba kettaruumi. Võite mõne faili esiletõstetud draividelt eemaldada, installida vähem funktsioone või valida mõne muu sihtdraivi. - Installimiseks on vaja rohkem kettaruumi kui praegu saadaval. - {\WixUI_Font_Title}Kettaruum on otsas - {120}{70}{70}{70}{70} - - Toote [ProductName] install - WixUI_Bmp_Banner - Esiletõstetud draividel pole praegu valitud funktsioonide jaoks piisavalt vaba kettaruumi. Võite mõne faili esiletõstetud draividelt eemaldada, installida vähem funktsioone või valida mõne muu sihtdraivi. - Installimiseks on vaja rohkem kettaruumi kui praegu saadaval. - {\WixUI_Font_Title}Kettaruum on otsas - {120}{70}{70}{70}{70} - Soovi korral võite installeri tagasipööramisfunktsiooni keelata. Tagasipööramise keelamisel ei saa installer teie arvuti algset olekut taastada, kui installimine peaks mingil põhjusel katkema. Kui soovite riskida ja tagasipööramise keelata, klõpsake käsul Jah. - - Toote [ProductName] install - WixUI_Bmp_Dialog - Palun oodake, kuni installiviisard valmistub teid installimisel juhendama. - {\WixUI_Font_Bigger}Tere tulemast toote [ProductName] installiviisardisse! - - Toote [ProductName] install - WixUI_Bmp_Banner - Palun oodake, kuni installiviisard installib toodet [ProductName]. - {\WixUI_Font_Title}Toote [ProductName] installimine - Palun oodake, kuni installiviisard muudab toodet [ProductName]. - {\WixUI_Font_Title}Toote [ProductName] muutmine - Palun oodake, kuni installiviisard parandab toodet [ProductName]. - {\WixUI_Font_Title}Toote [ProductName] parandamine - Palun oodake, kuni installiviisard eemaldab toodet [ProductName]. - {\WixUI_Font_Title}Toote [ProductName] eemaldamine - Palun oodake, kuni installiviisard värskendab toodet [ProductName]. - {\WixUI_Font_Title}Toote [ProductName] värskendamine - Edenemine - Olek: - - Toote [ProductName] install - &Installi - WixUI_Bmp_Dialog - Installiviisard viib toote [ProductName] teie arvutisse installimise lõpule. Jätkamiseks klõpsake käsul Installi, installiviisardist väljumiseks käsul Loobu. - {\WixUI_Font_Bigger}Toote [ProductName] installiviisardi jätkamine - - Toote [ProductName] install - &Tavaline - Tavaline install - K&ohandatud - Kohandatud install - T&äielik - Täielik install - WixUI_Bmp_Banner - {\WixUI_Font_Title}Installitüübi valimine - Valige oma vajadustele vastav installitüüp - Installitakse levinumad programmifunktsioonid. Soovitatav enamikule kasutajatele. - Võimaldab kasutajatel otsustada programmifunktsioonide installimise valiku ja koha üle. Soovitatav kogenud kasutajatele. - Installitakse kõik programmifunktsioonid. Nõuab kõige rohkem kettaruumi. - - Toote [ProductName] install - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Toote [ProductName] installiviisardi töö on katkestatud - Toote [ProductName] installimine on katkestatud. Teie süsteemi pole muudetud. Kui soovite selle programmi hiljem installida, käivitage install uuesti. - Klõpsake installiviisardist väljumiseks nupul Lõpeta. - - Toote [ProductName] install - WixUI_Bmp_Banner - &Installi - Installimise alustamiseks klõpsake käsul Installi. Installisätete läbivaatamiseks või muutmiseks klõpsake käsul Tagasi. Viisardist väljumiseks klõpsake käsul Loobu. - {\WixUI_Font_Title}Toote [ProductName] installimiseks valmis - &Muuda - Installimise alustamiseks klõpsake käsul Muuda. Installisätete läbivaatamiseks või muutmiseks klõpsake käsul Tagasi. Viisardist väljumiseks klõpsake käsul Loobu. - {\WixUI_Font_Title}Toote [ProductName] muutmiseks valmis - &Paranda - Toote [ProductName] installi parandamiseks klõpsake käsul Paranda. Installisätete läbivaatamiseks või muutmiseks klõpsake käsul Tagasi. Viisardist väljumiseks klõpsake käsul Loobu. - {\WixUI_Font_Title}Toote [ProductName] parandamiseks valmis - &Eemalda - Toote [ProductName] arvutist eemaldamiseks klõpsake käsul Eemalda. Installisätete läbivaatamiseks või muutmiseks klõpsake käsul Tagasi. Viisardist väljumiseks klõpsake käsul Loobu. - {\WixUI_Font_Title}Toote [ProductName] eemaldamiseks valmis - &Värskendamine - Klõpsake käsul Värskenda toote [ProductName] värskendamiseks teie arvutis. Installisätete läbivaatamiseks või muutmiseks klõpsake käsul Tagasi. Viisardist väljumiseks klõpsake käsul Loobu. - {\WixUI_Font_Title}Toote [ProductName] värskendamiseks valmis - - Toote [ProductName] install - &Tagasi - Palun oodake, kuni installiprogramm lõpetab vajamineva kettaruumi kindlakstegemise. - WixUI_Ico_Exclam - Hüüumärgi ikoon - - Toote [ProductName] install - WixUI_Bmp_Dialog - Installiviisard installib toote [ProductName] teie arvutisse. Jätkamiseks klõpsake käsul Edasi või installiviisardist väljumiseks käsul Loobu. - Installiviisard värskendab toodet [ProductName] teie arvutis. Jätkamiseks klõpsake käsul Edasi või installiviisardist väljumiseks käsul Loobu. - {\WixUI_Font_Bigger}Tere tulemast toote [ProductName] installiviisardisse! - - Toote [ProductName] install - WixUI_Bmp_Dialog - &Nõustun litsentsilepingu tingimustega - &Installi - &Värskendamine - {\WixUI_Font_Title}Lugege toote [ProductName] litsentsilepingut - - Installi kinnitamine - uute failide kopeerimine - Fail: [1], kataloog: [9], maht: [6] - Võrguinstallifailide kopeerimine - Fail: [1], kataloog: [9], maht: [6] - Ruuminõuete arvutamine - Ruuminõuete arvutamine - Ruuminõuete arvutamine - Otseteede loomine - Otsetee: [1] - Sobivate komponentide avaldamine - Komponendi ID: [1], täpsusti: [2] - Tootefunktsioonide avaldamine - Funktsioon: [1] - Tooteteabe avaldamine - Klassiserverite registreerimine - Klassi ID: [1] - Laiendiserverite registreerimine - Laiend: [1] - MIME-teabe registreerimine - MIME-sisu tüüp: [1], laiend: [2] - Programmi-identifikaatorite registreerimine - ProgId: [1] - Registriruumi eraldamine - Vaba ruum: [1] - Installitud rakenduste otsimine - Atribuut: [1], allkiri: [2] - Täitmisfailide sidumine - Fail: [1] - Sobivate toodete otsimine - Kaustade loomine - Kaust: [1] - Teenuste kustutamine - Teenus: [1] - Duplikaatfailide loomine - Fail: [1], kataloog: [9], maht: [6] - Seotud rakenduste otsimine - Leitud rakendus: [1] - ODBC-komponentide installimine - Uute teenuste installimine - Teenus: [2] - Käivitustingimuste hindamine - Funktsiooniolekute migreerimine seotud rakendustest - Rakendus: [1] - Failide teisaldamine - Fail: [1], kataloog: [9], maht: [6] - Failide paikamine - Fail: [1], kataloog: [2], maht: [3] - Komponendi registreeringu värskendamine - COM+ rakenduste ja komponentide registreerimine - Rakenduse ID: [1]{{, rakenduse tüüp: [2], kasutajad: [3], RSN: [4]}} - Fontide registreerimine - Font: [1] - Toote registreerimine - [1] - Tüübiteekide registreerimine - LibID: [1] - Kasutaja registreerimine - [1] - Duplikaatfailide eemaldamine - Fail: [1], kataloog: [9] - Keskkonnastringide värskendamine - Nimi: [1], väärtus: [2], toiming [3] - Rakenduste eemaldamine - Rakendus: [1], käsurida: [2] - failide eemaldamine - Fail: [1], kataloog: [9] - Kaustade eemaldamine - Kaust: [1] - INI-failide kirjete eemaldamine - Fail: [1], sektsioon: [2], võti: [3], väärtus: [4] - ODBC-komponentide eemaldamine - Süsteemiregistri väärtuste eemaldamine - Võti: [1], nimi: [2] - Otseteede eemaldamine - Otsetee: [1] - Sobivate toodete otsimine - Moodulite registreerimine - Fail: [1], kaust: [2] - Moodulite registreeringu tühistamine - Fail: [1], kaust: [2] - ODBC-kataloogide lähtestamine - Teenuste käivitamine - Teenus: [1] - Teenuste peatamine - Teenus: [1] - Sobivate komponentide avaldamise tühistamine - Komponendi ID: [1], täpsusti: [2] - Tootefunktsioonide avaldamise tühistamine - Funktsioon: [1] - Klassiserverite registreeringu tühistamine - Klassi ID: [1] - COM+ rakenduste ja komponentide registreeringu tühistamine - Rakenduse ID: [1]{{, rakenduse tüüp: [2]}} - Laiendiserverite registreeringu tühistamine - Laiend: [1] - Fontide registreeringu tühistamine - Font: [1] - MIME-teabe registreeringu tühistamine - MIME-sisu tüüp: [1], laiend: [2] - Programmi-identifikaatorite registreeringu tühistamine - ProgId: [1] - Tüübiteekide registreeringu tühistamine - LibID: [1] - Keskkonnastringide värskendamine - Nimi: [1], väärtus: [2], toiming [3] - INI-failide väärtuste kirjutamine - Fail: [1], sektsioon: [2], võti: [3], väärtus: [4] - Süsteemiregistri väärtuste kirjutamine - Võti: [1], nimi: [2], väärtus: [3] - Rakenduse väljakuulutamine - Skriptioperatsioonide loomine toimingule: - [1] - Süsteemikataloogi installimine - Fail: [1], sõltuvused: [2] - Paketi teabe avaldamine - Rakenduse kontekst: [1], paketi nimi: [2] - Paketi teabe avaldamise tühistamine - Rakenduse kontekst: [1], paketi nimi: [2] - Toimingu tagasipööramine: - [1] - Varufailide eemaldamine - Fail: [1] - Teisaldatud failide eemaldamine - Fail: [1], kataloog: [9] - Toote teabe avaldamise tühistamine - - {{Pöördumatu tõrge: }} - {{Tõrge [1]. }} - Hoiatus [1]. - Teave [1]. - Installeril ilmnes selle paketi installimisel ootamatu tõrge. See võib viidata selle paketi probleemile. Tõrkekood on [1]. {{Argumendid on järgmised: [2], [3], [4]}} - {{Ketas täis: }} - Toiming [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Sõnumi tüüp: [1], argument: [2] - === Logimise algus: [Date] [Time] === - === Logimise lõpp: [Date] [Time] === - Toimingu algus [Time]: [1]. - Toimingu lõpp [Time]: [1]. Tagastusväärtus [2]. - Aega jäänud: {[1] minut(it) }{[2] sekund(it)} - Mälu pole piisavalt. Enne uuesti proovimist sulgege muud rakendused. - Installer ei reageeri enam. - Installer peatus enneaegselt. - Palun oodake, kuni Windows konfigureerib toodet [ProductName] - Vajaliku teabe kogumine ... - Selle rakenduse vanemate versioonide eemaldamine ... - Selle rakenduse varasemate versioonide eemaldamise ettevalmistamine ... - Toote {[ProductName] }installimine on edukalt lõpule viidud. - Toote {[ProductName] }installimine nurjus. - Failist [2] lugemisel ilmnes tõrge. {{ Süsteemitõrge [3].}} Veenduge, et fail on olemas ja teil on sellele juurdepääs. - Faili [2] ei saa luua. Samanimeline kaust on juba olemas. Tühistage install ja proovige installida mõnda teise asukohta. - Palun sisestage ketas: [2] - Installeril pole kaustale [2] juurdepääsuks piisavaid õigusi. Installimist ei saa jätkata. Logige sisse administraatorina või pöörduge süsteemiadministraatori poole. - Tõrge faili [2] kirjutamisel. Veenduge, et teil oleks juurdepääs sellele kaustale. - Failist [2] lugemisel ilmnes tõrge. {{ Süsteemitõrge [3].}} Veenduge, et fail on olemas ja teil on sellele juurdepääs. - Fail [2] on mõnes muus rakenduses eksklusiivselt kasutusel. Sulgege kõik muud rakendused ja klõpsake siis käsul Proovi uuesti. - Faili [2] installimiseks pole piisavalt kettaruumi. Vabastage kettal ruumi ja klõpsake käsul Proovi uuesti. Väljumiseks klõpsake käsul Loobu. - Lähtefaili ei leitud: [2]. Veenduge, et fail oleks olemas ja pääsete sellele juurde. - Failist [3] lugemisel ilmnes tõrge. {{ Süsteemitõrge [2].}} Veenduge, et fail on olemas ja pääsete sellele juurde. - Faili [3] kirjutamisel ilmnes tõrge. {{ Süsteemitõrge [2].}} Veenduge, et teil on juurdepääs sellele kataloogile. - Lähtefaili ei leitud{{(CAB-fail)}}: [2]. Veenduge, et fail on olemas ja pääsete sellele juurde. - Kausta [2] ei saa luua. Samanimeline fail on juba olemas. Nimetage fail ümber või eemaldage see ja klõpsake siis käsul Proovi uuesti või klõpsake väljumiseks käsul Loobu. - Draiv [2] pole praegu saadaval. Valige mõni muu draiv. - Määratud tee [2] pole kättesaadav. - Määratud kausta [2] ei saa kirjutada. - Failist [2] lugemisel ilmnes võrgutõrge - Kataloogi [2] loomisel ilmnes tõrge - Kataloogi [2] loomisel ilmnes võrgutõrge - Lähtefailikapi [2] avamisel ilmnes võrgutõrge - Määratud tee on liiga pikk: [2] - Installiprogrammil pole faili [2] muutmiseks piisavalt õigusi. - Osa kaustateest [2] ei sobi. See on kas tühi või selle pikkus ületab süsteemi lubatu. - Kaustatee [2] sisaldab sõnu, mis on kaustateede puhul sobimatud. - Kaustatee [2] sisaldab sobimatut märki. - [2] on faili lühinimena sobimatu. - Faili turvalisuse toomisel ilmnes tõrge: [3] GetLastError: [2] - Sobimatu draiv: [2] - Paiga rakendamisel failile [2] ilmnes tõrge. Arvatavasti on seda juba mõnel muul viisil värskendatud ja seetõttu ei saa see paik seda enam muuta. Lisateavet saate paiga tarnijalt. {{Süsteemitõrge: [3]}} - Mõnda nõutavat faili ei saa installida, kuna CAB-fail [2] pole digitaalselt allkirjastatud. CAB-fail võib olla rikutud. - Mõnda nõutavat faili ei saa installida, kuna CAB-faili [2] digitaalne allkiri ei kehti. CAB-fail võib olla rikutud.{{ WinVerifyTrust tagastas tõrke [3].}} - Faili [2] kopeerimine nurjus: CRC tõrge. - Faili [2] teisaldamine nurjus: CRC tõrge. - Faili [2] paikamine nurjus: CRC tõrge. - Faili [2] ei saa installida, sest seda faili CAB-failist [3] ei leia. See võib viidata võrgutõrkele, tõrkele CD-ROM-i lugemisel või probleemile selle paketiga. - Selle installi jaoks vajalik CAB-fail [2] on rikutud ja seda ei saa kasutada. See võib viidata võrgutõrkele, tõrkele CD-ROM-i lugemisel või probleemile selle paketiga. - Selle installi lõpuleviimiseks vajaliku ajutise faili loomisel ilmnes tõrge.{{ Kaust: [3]. Süsteemi tõrkekood: [2]}} - Võtit [2] ei saanud luua. {{ Süsteemitõrge [3].}} Veenduge, et teil on sellele võtmele piisav juurdepääs või pöörduge oma tugipersonali poole. - Võtit [2] ei saanud avada. {{ Süsteemitõrge [3].}} Veenduge, et teil on sellele võtmele piisav juurdepääs või pöörduge oma tugipersonali poole. - Väärtust [2] ei saanud võtmest [3] kustutada. {{ Süsteemitõrge [4].}} Veenduge, et teil on sellele võtmele piisav juurdepääs või pöörduge oma tugipersonali poole. - Võtit [2] ei saanud kustutada. {{ Süsteemitõrge [3].}} Veenduge, et teil on sellele võtmele piisav juurdepääs või pöörduge oma tugipersonali poole. - Väärtust [2] ei saanud võtmest [3] lugeda. {{ Süsteemitõrge [4].}} Veenduge, et teil on sellele võtmele piisav juurdepääs või pöörduge oma tugipersonali poole. - Väärtust [2] ei saanud võtmesse [3] kirjutada. {{ Süsteemitõrge [4].}} Veenduge, et teil on sellele võtmele piisav juurdepääs või pöörduge oma tugipersonali poole. - Võtme [2] väärtuste nimesid ei saanud hankida. {{ Süsteemitõrge [3].}} Veenduge, et teil on sellele võtmele piisav juurdepääs või pöörduge oma tugipersonali poole. - Võtme [2] alamvõtmete nimesid ei saanud hankida. {{ Süsteemitõrge [3].}} Veenduge, et teil on sellele võtmele piisav juurdepääs või pöörduge oma tugipersonali poole. - Võtme [2] turbeteavet ei saanud lugeda. {{ Süsteemitõrge [3].}} Veenduge, et teil on sellele võtmele piisav juurdepääs või pöörduge oma tugipersonali poole. - Saadaolevat registriruumi ei saanud suurendada. Selle rakenduse installimiseks on vaja [2] kB vaba registriruumi. - Teine install on pooleli. See install tuleb kõigepealt lõpule viia, enne kui saate jätkata uuega. - Turvatud andmetele juurdepääsul ilmnes tõrge. Veenduge, et Windows Installer on õigesti konfigureeritud ja proovige uuesti installida. - Kasutaja [2] on varem algatanud toote [3] installi. See kasutaja peab selle installi enne toote kasutamist uuesti käivitama. Teie praegune install jätkub nüüd. - Kasutaja [2] on varem algatanud toote [3] installi. See kasutaja peab selle installi enne toote kasutamist uuesti käivitama. - Kettaruum on otsas — draiv: [2]; vajalik ruum: [3] kB; saadaolev ruum: [4] kB. Vabastage kettaruumi ja proovige uuesti. - Kas soovite kindlasti loobuda? - Fail [2][3] on kasutusel{ järgmises protsessis: nimi: [4], ID: [5], aknatiitel: [6]}. Sulgege see rakendus ja proovige uuesti. - Toode [2] on juba installitud, välistades käesoleva toote installimise. Need kaks toodet on ühildumatud. - Draivil [2] pole installi jätkamiseks koos lubatud taastamisega piisavalt kettaruumi. [3] kB on vaja, aga ainult [4] kB on vaba. Kui soovite jätkata installi ilma taasteteavet salvestamata, klõpsake käsul Ignoreeri, kui soovite saadaolevat ruumi uuesti kontrollida, klõpsake käsul Proovi uuesti, või kui soovite installi katkestada, klõpsake käsul Loobu. - Võrgukohale [2] ei pääse juurde. - Järgmised rakendused tuleks enne installi jätkamist sulgeda: - Selle toote installiks ei leia arvutist ühtki varem installitud sobivat toodet. - Turbesätete rakendamisel ilmnes tõrge. [2] pole lubatud kasutaja või rühm. Probleem võib olla paketis või ühenduse loomisel võrgus oleva domeenikontrolleriga. Kontrollige oma võrguühendust ning klõpsake käsul Proovi uuesti või, kui soovite installi lõpetada, klõpsake käsul Loobu. {{Kasutaja SID leidmine nurjus, süsteemitõrge [3]}} - Võti [2] on kehtetu. Veenduge, et sisestasite õige võtme. - Enne toote [2] konfigureerimise jätkamist peab installer süsteemi taaskäivitama. Arvuti kohe taaskäivitamiseks klõpsake käsul Jah, hiljem käsitsi taaskäivitamiseks klõpsake käsul Ei. - Muudatused toote [2] konfiguratsioonis jõustuvad alles pärast arvuti taaskäivitamist. Arvuti kohe taaskäivitamiseks klõpsake käsul Jah või hiljem käsitsi taaskäivitamiseks klõpsake käsul Ei. - Toote [2] install on praegu peatatud. Jätkamiseks peate selle installi tehtud muudatused tühistama. Kas soovite need muudatused tühistada? - Selle toote varasem install on pooleli. Jätkamiseks peate selle installi tehtud muudatused tühistama. Kas soovite need muudatused tühistada? - Toote [2] installipaketti ei õnnestu leida. Proovige uuesti installida, kasutades installipaketi [3] kehtivat eksemplari. - Install on edukalt lõpule viidud. - Install nurjus. - Toode: [2] -- [3] - Võite taastada oma arvuti varasema seisundi või jätkata installimist hiljem. Kas soovite taastada? - Installiteabe kirjutamisel kettale ilmnes tõrge. Kontrollige, kas kettal on piisavalt ruumi ja klõpsake käsul Proovi uuesti. Kui soovite installi katkestada, klõpsake käsul Loobu. - Mõnda arvuti varasema oleku taastamiseks vajalikku faili ei leitud. Taastamine pole võimalik. - [2] ei saa installida ühte oma vajalikest toodetest. Pöörduge tehnilise toe poole. {{Süsteemitõrge: [3].}} - Toote [2] varasemat versiooni ei saa eemaldada. Pöörduge tehnilise toe poole. {{Süsteemitõrge [3].}} - Installitud [2] - Konfigureeritud [2] - Eemaldatud [2] - Digitaalallkirjapoliitika keeldus failist [2]. - Windows Installeri teenusele puudub juurdepääs. Nii võib juhtuda, kui Windows on turvarežiimis või Windows Installer pole õigesti installitud. Abi saamiseks pöörduge oma tugipersonali poole. - Selle Windows Installeri paketiga ilmnes probleem. Installi lõpuleviimiseks vajalikku skripti ei saanud käivitada. Pöörduge oma tugipersonali või paketi tarnija poole. {{Kohandatud toimingu [2] skriptitõrge [3], [4]: [5] rida [6], veerg [7], [8] }} - Selle Windows Installeri paketiga ilmnes probleem. Installi lõpuleviimiseks vajalikku programmi ei saanud käivitada. Pöörduge oma tugipersonali või paketi tarnija poole. {{Toiming: [2], asukoht: [3], käsk: [4] }} - Selle Windows Installeri paketiga ilmnes probleem. Installi osana käivitatud programm ei jõudnud ootuspäraselt lõpule. Pöörduge oma tugipersonali või paketi tarnija poole. {{Toiming [2], asukoht: [3], käsk: [4] }} - Selle Windows Installeri paketiga ilmnes probleem. Selle installi lõpuleviimiseks vajalikku DLL-i ei saanud käivitada. Pöörduge oma tugipersonali või paketi tarnija poole. {{Toiming [2], kirje: [3], teek: [4] }} - Eemaldamine on edukalt lõpule viidud. - Eemaldamine nurjus. - Väljakuulutamine on edukalt lõpule viidud. - Väljakuulutamine nurjus. - Konfigureerimine on edukalt lõpule viidud. - Konfigureerimine nurjus. - Selle rakenduse eemaldamiseks peate olema administraator. Rakenduse eemaldamiseks peate administraatorina sisse logima või pöörduma abi saamiseks tehnilise toe poole. - Toote [2] lähteinstallipakett pole kliendipaketiga sünkroonitud. Proovige uuesti installida, kasutades installipaketi [3] kehtivat eksemplari. - Rakenduse [2] installi lõpuleviimiseks peate oma arvuti taaskäivitama. Teised kasutajad on praegu sellesse arvutisse sisse logitud ja taaskäivitamisel võib nende töö kaotsi minna. Kas soovite kohe taaskäivitada? - Tee [2] ei sobi. Palun määrake sobiv tee. - Mälu pole piisavalt. Enne uuesti proovimist sulgege muud rakendused. - Draivis [2] pole ketast. Palun sisestage ketas ja klõpsake käsul Proovi uuesti või eelmisena valitud draivi juurde tagasi pöördumiseks käsul Loobu. - Draivis [2] pole ketast. Palun sisestage ketas ja klõpsake käsul Proovi uuesti või sirvimisdialoogi tagasipöördumiseks ja muu draivi valimiseks käsul Loobu. - Kausta [2] pole olemas. Sisestage mõne olemasoleva kausta tee. - Teil pole selle kausta lugemiseks piisavaid õigusi. - Installi jaoks sobivat sihtkausta ei saanud määrata. - Installi lähteandmebaasist [2] lugemisel ilmnes tõrge. - Taaskäivituse ajastamise toiming: faili [2] ümbernimetamine failiks [3]. Toimingu lõpuleviimiseks tuleb arvuti taaskäivitada. - Taaskäivituse ajastamise toiming: faili [2] kustutamine. Toimingu lõpuleviimiseks tuleb arvuti taaskäivitada. - Mooduli [2] registreerimine nurjus. HRESULT [3]. Pöörduge oma tugipersonali poole. - Mooduli [2] registrist eemaldamine nurjus. HRESULT [3]. Pöörduge oma tugipersonali poole. - Paketi [2] vahemällu salvestamine nurjus. Tõrge: [3]. Pöörduge oma tugipersonali poole. - Fonti [2] ei saanud registreerida. Veenduge, et teil on fontide installimiseks piisavad õigused ja et teie süsteem toetab seda fonti. - Fondi [2] registreeringut ei saanud tühistada. Veenduge, et teil on fontide eemaldamiseks piisavad õigused. - Otseteed [2] ei saanud luua. Veenduge, et sihtkaust on olemas ja et teil on sellele juurdepääs. - Otseteed [2] ei saanud eemaldada. Veenduge, et see otsetee on olemas ja et teil on sellele juurdepääs. - Faili [2] tüübiteeki ei saanud registreerida. Pöörduge oma tugipersonali poole. - Faili [2] tüübiteeki ei saanud registrist eemaldada. Pöörduge oma tugipersonali poole. - INI-faili [2][3] ei saanud värskendada. Veenduge, et see fail on olemas ja et teil on sellele juurdepääs. - Faili [2] ei saanud ajastada faili [3] taaskäivitamisel asendama. Veenduge, et teil on faili [3] kirjutusõigus. - ODBC-draiverihalduri eemaldamisel ilmnes tõrge, ODBC tõrge [2]: [3]. Pöörduge oma tugipersonali poole. - ODBC-draiverihalduri installimisel ilmnes tõrge, ODBC tõrge [2]: [3]. Pöörduge oma tugipersonali poole. - ODBC-draiveri [4] eemaldamisel ilmnes tõrge, ODBC tõrge [2]: [3]. Veenduge, et teil on ODBC-draiverite eemaldamiseks piisavad õigused. - ODBC-draiveri [4] installimisel ilmnes tõrge, ODBC tõrge [2]: [3]. Veenduge, et fail [4] on olemas ja et teil on sellele juurdepääs. - ODBC-andmeallika [4] konfigureerimisel ilmnes tõrge, ODBC tõrge [2]: [3]. Veenduge, et fail [4] on olemas ja et teil on sellele juurdepääs. - Teenuse [2] ([3]) käivitamine nurjus. Veenduge, et teil on süsteemiteenuste käivitamiseks piisavad õigused. - Teenust [2] ([3]) ei saanud peatada. Veenduge, et teil on süsteemiteenuste peatamiseks piisavad õigused. - Teenust [2] ([3]) ei saanud kustutada. Veenduge, et teil on süsteemiteenuste kustutamiseks piisavad õigused. - Teenust [2] ([3]) ei saanud installida. Veenduge, et teil on süsteemiteenuste installimiseks piisavad õigused. - Keskkonnamuutujat [2] ei saanud värskendada. Veenduge, et teil on keskkonnamuutujate muutmiseks piisavad õigused. - Teil pole arvuti kõigi kasutajate jaoks vajaliku installiprotsessi lõpuleviimiseks piisavaid õigusi. Logige sisse administraatorina ja proovige siis uuesti installida. - Faili [3] turbeteavet ei saanud määrata. Tõrge: [2]. Veenduge, et teil on selle faili turbeõiguste muutmiseks piisavad õigused. - Component Services (COM+ 1.0) pole sellesse arvutisse installitud. Selle installi lõpuleviimiseks on Component Services nõutav. Component Services on olemas operatsioonisüsteemis Windows 2000. - Rakenduse COM+ registreerimisel ilmnes tõrge. Lisateabe saamiseks pöörduge oma tugipersonali poole. - Rakenduse COM+ registrist eemaldamisel ilmnes tõrge. Lisateabe saamiseks pöörduge oma tugipersonali poole. - Teenuse [2] ([3]) kirjeldust ei saanud muuta. - Windows Installeri teenus ei saa süsteemifaili [2] värskendada, kuna Windows kaitseb seda faili. On võimalik, et selle programmi õige töötamise tagamiseks peate oma operatsioonisüsteemi värskendama. {{Paketi versioon: [3], operatsioonisüsteemi kaitstud versioon: [4]}} - Windows Installer ei saa kaitstud Windowsi faili [2] värskendada. {{Paketi versioon: [3], operatsioonisüsteemi kaitstud versioon: [4], SFP tõrge: [5]}} - Windows Installer ei saanud värskendada ühte või mitut kaitstud Windowsi faili. {{SFP tõrge: [2]. Kaitstud failide loend:\r\n[3]}} - Arvuti poliitika keelab kasutajapoolse installimise. - Paketi [6] installi ajal ilmnes tõrge. Lisateavet leiate spikri- ja tugikeskusest. HRESULT: [3]. {{paketi liides: [4], funktsioon: [5], komponent: [2]}} - Paketi [6] installi ajal ilmnes tõrge. Paketi nimi pole tugev või pakett pole allkirjastatud minimaalse võtmepikkusega. HRESULT: [3]. {{paketi liides: [4], funktsioon: [5], komponent: [2]}} - Paketi [6] installi ajal ilmnes tõrge. Allkirja või kataloogi ei saanud kinnitada või see pole sobiv. HRESULT: [3]. {{paketi liides: [4], funktsioon: [5], komponent: [2]}} - Paketi [6] installi ajal ilmnes tõrge. Ühte või mitut paketi moodulit ei leia. HRESULT: [3]. {{paketi liides: [4], funktsioon: [5], komponent: [2]}} - - baidid - GB - kB - MB - Kogu funktsioon muutub kättesaamatuks - Funktsioon installitakse vajadusel - Kogu funktsioon installitakse CD-lt käitatavana - Kogu funktsioon installitakse kohalikule kõvakettale - Kogu funktsioon installitakse võrgust käitatavana - Installitakse CD-lt käitatavana - Installitakse kohalikule kõvakettale - Installitakse võrgust käitatavana - Kaust|Uus kaust - Vajaliku teabe kogumine ... - See funktsioon jääb installimata - See funktsioon määratakse nõudmisel installitavaks - See funktsioon installitakse CD-lt käitatavana - See funktsioon installitakse kohalikule kõvakettale - See funktsioon installitakse võrgust käitatavana - See funktsioon muutub kättesaamatuks - Installitakse nõudmisel - Seda funktsiooni saab edaspidi käitada CD-lt - See funktsioon installitakse kohalikule kõvakettale - Seda funktsiooni saab edaspidi käitada võrgust - See funktsioon desinstallitakse täielikult, te ei saa seda enam CD-lt käitada - See senini CD-lt käitatav funktsioon määratakse vajadusel installitavaks - See funktsioon jääb CD-lt käitatavaks - Funktsiooni olek muutub CD-l käitatavast kohalikule kõvakettale installitavaks - See komponent vabastab teie kõvakettal [1]. - See funktsioon nõuab [1] kõvakettaruumi. - Selle funktsiooni kulu arvutamine ... - See funktsioon eemaldatakse täielikult - See funktsioon eemaldatakse kohalikult kõvakettalt, kuid määratakse installitavaks nõudmisel - See funktsioon eemaldatakse teie kohalikult kõvakettalt, kuid on edaspidi siiski käitatav CD-lt - See funktsioon jääb kohalikule kõvakettale installituks - See funktsioon eemaldatakse teie kohalikult kõvakettalt, kuid võrgust saab seda endiselt käitada - See funktsioon desinstallitakse täielikult, te ei saa seda enam võrgust käitada - Funktsiooni olek muutub võrgus käitatavast nõudmisel installitavaks - Funktsiooni olek muutub võrgus käitatavast kohalikule kõvakettale installitavaks - See funktsioon jääb võrgust käitatavaks - See funktsioon vabastab [1] kõvakettaruumi. Valitud on [2] alamfunktsiooni [3]-st. Alamfunktsioonid vabastavad teie kõvakettal [4] ruumi. - See funktsioon vabastab [1] kõvakettaruumi. Valitud on [2] alamfunktsiooni [3]-st. Alamfunktsioonide jaoks on vaja kõvakettal [4] ruumi. - Selle funktsiooni jaoks on vaja kõvakettal [1] ruumi. Valitud on [2] alamfunktsiooni [3]-st. Alamfunktsioonid vabastavad teie kõvakettal [4] ruumi. - Selle funktsiooni jaoks on vaja kõvakettal [1] ruumi. Valitud on [2] alamfunktsiooni [3]-st. Alamfunktsioonide jaoks on vaja kõvakettal [4] ruumi. - Aega jäänud: {[1] minut(it) }{[2] sekund(it)} - Saadaval - Erinevus - Nõutav - Kettamaht - Draiv - diff --git a/Src/Localization/WixUI/WixUI_fi-FI.wxl b/Src/Localization/WixUI/WixUI_fi-FI.wxl deleted file mode 100644 index ce9e873..0000000 --- a/Src/Localization/WixUI/WixUI_fi-FI.wxl +++ /dev/null @@ -1,608 +0,0 @@ - - - - - - - - - &Edellinen - &Seuraava - Peruuta - &Valmis - &Yritä uudelleen - &Ohita - &Kyllä - &Ei - OK - &Tulosta - - Tuotteen [ProductName] asennus - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lue tuotteen [ProductName] käyttöoikeussopimus - &Hyväksyn käyttöoikeussopimuksen ehdot - Valitse Asenna, jos haluat asentaa tuotteen käyttäen oletusasetuksia kaikille käyttäjille. Valitse Lisäasetukset, jos haluat muuttaa asennuksen asetuksia. - Valitse Asenna, jos haluat asentaa tuotteen käyttäen oletusasetuksia vain nykyiselle käyttäjälle. Valitse Lisäasetukset, jos haluat muuttaa asennuksen asetuksia. - &Asenna - &Lisäasetukset - 8 - 12 - 9 - 8 - Tahoma - - Tuotteen [ProductName] asennus - &Kohde: - WixUI_Bmp_Up - Yksi taso ylöspäin - WixUI_Bmp_New - Luo uusi kansio - &Kansion nimi: - WixUI_Bmp_Banner - Selaa kohdekansioon - {\WixUI_Font_Title}Vaihda kohdekansiota - - Tuotteen [ProductName] asennus - Haluatko varmasti peruuttaa tuotteen [ProductName] asennuksen? - WixUI_Ico_Info - Tietokuvake - - Tuotteen [ProductName] asennus - Valintojen puu - &Selaa... - P&alauta - Levyn &käyttö - WixUI_Bmp_Banner - Napsauttamalla alla olevassa puussa olevia kuvakkeita voit muuttaa ominaisuuksien asennustapaa. - Valitse ominaisuuksien asennustapa. - {\WixUI_Font_Title}Mukautettu asennus - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Sijainti: - - Tuotteen [ProductName] asennus - WixUI_Bmp_Banner - Korostetuissa asemissa ei ole tarpeeksi vapaata levytilaa valittuja ominaisuuksia varten. Voit poistaa tiedostoja korostetuista asemista, asentaa vähemmän ominaisuuksia tai valita eri kohdeasemat. - Valittujen ominaisuuksien asentamiseen vaadittava levytila. - {\WixUI_Font_Title}Levytilavaatimukset - {120}{70}{70}{70}{70} - - Tuotteen [ProductName] asennus - Tietoteksti - WixUI_Ico_Info - Tietokuvake - - Tuotteen [ProductName] asennus - WixUI_Bmp_Dialog - Lopeta ohjattu asennus valitsemalla Valmis. - {\WixUI_Font_Bigger}Tuotteen [ProductName] ohjattu asennus on suoritettu - - Tuotteen [ProductName] asennus - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Tuotteen [ProductName] ohjattu asennus päättyi ennenaikaisesti - Tuotteen [ProductName] ohjattu asennus päättyi ennenaikaisesti virheen vuoksi. Järjestelmään ei ole tehty muutoksia. Voit asentaa tämän ohjelman myöhemmin suorittamalla ohjatun asennuksen uudelleen. - Lopeta ohjattu asennus valitsemalla Valmis. - - Tuotteen [ProductName] asennus - Tuotteen ominaisuudet - WixUI_Bmp_Banner - Valitse ominaisuuksien asennustapa. - {\WixUI_Font_Title}Tuotteen ominaisuudet - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Asenna - &Muuta - - Tuotteen [ProductName] asennus - &Lopeta - WixUI_Bmp_Banner - Seuraavat sovellukset käyttävät tiedostoja, jotka tämän asennuksen on päivitettävä. Sulje sovellukset ja jatka sitten asennusta valitsemalla &Yritä uudelleen tai lopeta ohjattu toiminto valitsemalla Lopeta. - Jotkin päivitettävät tiedostot ovat tällä hetkellä käytössä. - {\WixUI_Font_Title}Tiedostoja on käytössä - - Tuotteen [ProductName] asennus - &Muuta... - {\WixUI_Font_Title}Kohdekansio - Valitse Seuraava, jos haluat asentaa oletuskansioon, tai valitse Muuta, jos haluat valita toisen kansion. - WixUI_Bmp_Banner - Asenna [ProductName] seuraavaan sijaintiin: - - Tuotteen [ProductName] asennus - WixUI_Bmp_Banner - Valitse asennuksen laajuus ja kansio - {\WixUI_Font_Title}Asennuksen laajuus - {\WixUI_Font_Emphasized}Asenna &vain nykyiselle käyttäjälle ([LogonUser]) - [ProductName] asennetaan käyttäjäkohtaiseen kansioon, ja se on vain nykyisen käyttäjätilin käytettävissä. Paikallisia järjestelmänvalvojaoikeuksia ei tarvita. - [ProductName] ei tue käyttäjäkohtaista asennusta. - {\WixUI_Font_Emphasized}Asenna kaikille tämän &tietokoneen käyttäjille - [ProductName] asennetaan tietokonekohtaiseen kansioon oletusarvon mukaan, ja se on kaikkien käyttäjien käytettävissä. Oletusasennuskansiota voi muuttaa. Paikalliset järjestelmänvalvojaoikeudet tarvitaan. - Asennus&kansio: - &Muuta... - - Tuotteen [ProductName] asennus - Asennushakemiston on oltava paikallisessa kiintolevyasemassa. - WixUI_Ico_Info - Tietokuvake - - Tuotteen [ProductName] asennus - &Hyväksyn käyttöoikeussopimuksen ehdot - WixUI_Bmp_Banner - Lue seuraava käyttöoikeussopimus huolellisesti - {\WixUI_Font_Title}Käyttöoikeussopimus - - Tuotteen [ProductName] asennus - &Muuta - Muuta asennusta - &Korjaa - Korjaa asennus - &Poista - Poista asennus - WixUI_Bmp_Banner - Valitse suoritettava toiminto. - {\WixUI_Font_Title}Korjaa tai poista asennus tai muuta sitä - Antaa muuttaa asennettuja ominaisuuksia. - Tuotteessa [ProductName] ei ole erikseen valittavia ominaisuuksia. - Poistaa tuotteen [ProductName] tietokoneesta. - Tuotetta [ProductName] ei voi poistaa. - Korjaa uusimman asennuksen virheitä korjaamalla puuttuvia ja vioittuneita tiedostoja, pikakuvakkeita ja rekisterimerkintöjä. - Tuotetta [ProductName] ei voi korjata. - - Tuotteen [ProductName] asennus - WixUI_Bmp_Dialog - Ohjatun asennuksen avulla voit muuttaa sitä, miten tuotteen [ProductName] ominaisuudet asennetaan tietokoneeseen, tai poistaa tuotteen tietokoneesta. Voit jatkaa valitsemalla Seuraava tai poistua ohjatusta asennuksesta valitsemalla Peruuta. - {\WixUI_Font_Bigger}Tervetuloa tuotteen [ProductName] ohjattuun asennukseen - - Tuotteen [ProductName] asennus - WixUI_Bmp_Banner - Seuraavat sovellukset käyttävät tiedostoja, jotka tämän asennuksen on päivitettävä. Voit antaa ohjatun asennuksen sulkea ne ja yrittää käynnistää ne uudelleen tai käynnistää tietokoneen myöhemmin uudelleen. - Jotkin päivitettävät tiedostot ovat tällä hetkellä käytössä. - {\WixUI_Font_Title}Tiedostoja on käytössä - &Sulje sovellukset ja yritä käynnistää ne uudelleen. - &Älä sulje sovelluksia. Uudelleenkäynnistys tarvitaan. - - Tuotteen [ProductName] asennus - WixUI_Bmp_Banner - Korostetuissa asemissa ei ole tarpeeksi vapaata levytilaa valittuja ominaisuuksia varten. Voit poistaa tiedostoja korostetuista asemista, asentaa vähemmän ominaisuuksia tai valita toisen kohdeaseman. - Asennuksen vaatima levytila on suurempi kuin käytettävissä oleva levytila. - {\WixUI_Font_Title}Levytila lopussa - {120}{70}{70}{70}{70} - - Tuotteen [ProductName] asennus - WixUI_Bmp_Banner - Korostetuissa asemissa ei ole tarpeeksi vapaata levytilaa valittuja ominaisuuksia varten. Voit poistaa tiedostoja korostetuista asemista, asentaa vähemmän ominaisuuksia tai valita toisen kohdeaseman. - Asennuksen vaatima levytila on suurempi kuin käytettävissä oleva levytila. - {\WixUI_Font_Title}Levytila lopussa - {120}{70}{70}{70}{70} - Voit myös poistaa asennusohjelman palautustoiminnon käytöstä. Palautuksen poistaminen käytöstä estää asennusohjelmaa palauttamasta tietokoneen alkuperäistä tilaa, jos asennus keskeytyy jollakin tavalla. Valitse Kyllä, jos haluat ottaa riskin ja poistaa palautuksen käytöstä. - - Tuotteen [ProductName] asennus - WixUI_Bmp_Dialog - Odota. Ohjattu asennus valmistautuu asennukseen. - {\WixUI_Font_Bigger}Tervetuloa tuotteen [ProductName] ohjattuun asennukseen - - Tuotteen [ProductName] asennus - WixUI_Bmp_Banner - Odota. Ohjattu asennus asentaa tuotteen [ProductName]. - {\WixUI_Font_Title}Asennetaan tuotetta [ProductName] - Odota. Ohjattu asennus muuttaa tuotteen [ProductName] asennusta. - {\WixUI_Font_Title}Muutetaan tuotetta [ProductName] - Odota. Ohjattu asennus korjaa tuotteen [ProductName]. - {\WixUI_Font_Title}Korjataan tuotetta [ProductName] - Odota. Ohjattu asennus poistaa tuotteen [ProductName]. - {\WixUI_Font_Title}Poistetaan tuotetta [ProductName] - Odota. Ohjattu asennus päivittää tuotteen [ProductName]. - {\WixUI_Font_Title}Päivitetään tuotetta [ProductName] - Valmis - Tila: - - Tuotteen [ProductName] asennus - &Asenna - WixUI_Bmp_Dialog - Ohjattu asennus viimeistelee tuotteen [ProductName] asennuksen tietokoneeseen. Voit jatkaa valitsemalla Asenna tai lopettaa ohjatun asennuksen valitsemalla Peruuta. - {\WixUI_Font_Bigger}Jatketaan tuotteen [ProductName] ohjattua asennusta - - Tuotteen [ProductName] asennus - &Normaali - Normaali asennus - &Mukautettu - Mukautettu asennus - &Valmis - Täydellinen asennus - WixUI_Bmp_Banner - {\WixUI_Font_Title}Valitse asennustyyppi - Valitse tarpeitasi parhaiten vastaava asennustyyppi - Asentaa yleisimmät ohjelman ominaisuudet. Suositellaan useimmille käyttäjille. - Käyttäjä voi valita, mitkä ohjelman ominaisuudet asennetaan ja mihin ne asennetaan. Suositellaan kokeneille käyttäjille. - Kaikki ohjelman ominaisuudet asennetaan. Vaatii eniten levytilaa. - - Tuotteen [ProductName] asennus - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Tuotteen [ProductName] ohjattu asennus keskeytyi - Tuotteen [ProductName] asennus on keskeytynyt. Järjestelmään ei ole tehty muutoksia. Voit asentaa tämän ohjelman myöhemmin suorittamalla asennuksen uudelleen. - Lopeta ohjattu asennus valitsemalla Valmis. - - Tuotteen [ProductName] asennus - WixUI_Bmp_Banner - &Asenna - Voit aloittaa asennuksen valitsemalla Asenna. Voit tarkastella tai muuttaa asennuksen asetuksia valitsemalla Edellinen. Voit lopettaa ohjatun toiminnon valitsemalla Peruuta. - {\WixUI_Font_Title}Valmiina asentamaan tuotteen [ProductName] - &Muuta - Voit aloittaa asennuksen valitsemalla Muuta. Voit tarkastella ja muuttaa asennuksen asetuksia valitsemalla Edellinen. Voit lopettaa ohjatun toiminnon valitsemalla Peruuta. - {\WixUI_Font_Title}Valmiina muuttamaan tuotetta [ProductName] - &Korjaa - Voit aloittaa tuotteen [ProductName] asennuksen korjauksen valitsemalla Korjaa. Voit tarkastella tai muuttaa asennuksen asetuksia valitsemalla Edellinen. Voit lopettaa ohjatun toiminnon valitsemalla Peruuta. - {\WixUI_Font_Title}Valmiina korjaamaan tuotteen [ProductName] - &Poista - Voit poistaa tuotteen [ProductName] tietokoneestasi valitsemalla Poista. Voit tarkastella tai muuttaa asennuksen asetuksia valitsemalla Edellinen. Voit lopettaa ohjatun toiminnon valitsemalla Peruuta. - {\WixUI_Font_Title}Valmiina poistamaan tuotteen [ProductName] - &Päivitä - Valitse Päivitä, jos haluat päivittää tietokoneessa olevan tuotteen [ProductName]. Valitse Edellinen, jos haluat tarkastella tai muuttaa asennuksen asetuksia. Valitse Peruuta, jos haluat lopettaa ohjatun toiminnon. - {\WixUI_Font_Title}Valmiina päivittämään tuotteen [ProductName] - - Tuotteen [ProductName] asennus - &Palaa - Odota hetki. Asennusohjelma viimeistelee levytilavaatimusten määrittämistä. - WixUI_Ico_Exclam - Huutomerkkikuvake - - Tuotteen [ProductName] asennus - WixUI_Bmp_Dialog - Ohjattu asennus asentaa tuotteen [ProductName] tietokoneeseen. Voit jatkaa valitsemalla Seuraava tai lopettaa ohjatun asennuksen valitsemalla Peruuta. - Ohjattu asennus päivittää tietokoneessa olevan tuotteen [ProductName]. Valitse Seuraava, jos haluat jatkaa, tai valitse Peruuta, jos haluat lopettaa ohjatun asennuksen. - {\WixUI_Font_Bigger}Tervetuloa tuotteen [ProductName] ohjattuun asennukseen - - Tuotteen [ProductName] asennus - WixUI_Bmp_Dialog - &Hyväksyn käyttöoikeussopimuksen ehdot - &Asenna - &Päivitä - {\WixUI_Font_Title}Lue tuotteen [ProductName] käyttöoikeussopimus - - Vahvistetaan asennusta - Kopioidaan uusia tiedostoja - Tiedosto: [1], hakemisto: [9], koko: [6] - Kopioidaan verkkoasennustiedostoja - Tiedosto: [1], hakemisto: [9], koko: [6] - Lasketaan tilavaatimuksia - Lasketaan tilavaatimuksia - Lasketaan tilavaatimuksia - Luodaan pikakuvakkeita - Pikakuvake: [1] - Julkaistaan valittuja osia - Osan tunnus: [1], tarkenne: [2] - Julkaistaan tuotteen ominaisuudet - Toiminto: [1] - Julkaistaan tuotetietoja - Rekisteröidään luokkapalvelimia - Luokkatunnus: [1] - Rekisteröidään laajennuspalvelimia - Laajennus: [1] - Rekisteröidään MIME-tietoja - MIME-sisältötyyppi: [1], laajennus: [2] - Rekisteröidään ohjelmatunnisteita - Ohjelmatunniste: [1] - Varataan rekisteritilaa - Vapaa tila: [1] - Etsitään asennettuja sovelluksia - Ominaisuus: [1], allekirjoitus: [2] - Sidotaan ohjelmatiedostoja - Tiedosto: [1] - Etsitään vaatimukset täyttäviä tuotteita - Luodaan kansioita - Kansio: [1] - Poistetaan palveluita - Palvelu: [1] - Luodaan tiedostojen kaksoiskappaleita - Tiedosto: [1], hakemisto: [9], koko: [6] - Etsitään yhteensopivia sovelluksia - Löydettiin sovellus: [1] - Asennetaan ODBC-osia - Asennetaan uusia palveluita - Palvelu: [2] - Arvioidaan käynnistysehtoja - Siirretään ominaisuuksien tiloja muista sovelluksista - Sovellus: [1] - Siirretään tiedostoja - Tiedosto: [1], hakemisto: [9], koko: [6] - Korjataan tiedostoja - Tiedosto: [1], hakemisto: [2], koko: [3] - Päivitetään osien rekisteröintiä - Rekisteröidään COM+-sovelluksia ja -osia - Sovellustunnus: [1]{{, Sovellustyyppi: [2], Käyttäjät: [3], RSN: [4]}} - Rekisteröidään fontteja - Fontti: [1] - Rekisteröidään tuote - [1] - Rekisteröidään tyyppikirjastoja - Kirjastotunniste: [1] - Rekisteröidään käyttäjä - [1] - Poistetaan tiedostojen kaksoiskappaleita - Tiedosto: [1], hakemisto: [9] - Päivitetään ympäristömerkkijonoja - Nimi: [1], arvo: [2], toiminto [3] - Poistetaan sovelluksia - Sovellus: [1], komentorivi: [2] - Poistetaan tiedostoja - Tiedosto: [1], hakemisto: [9] - Poistetaan kansioita - Kansio: [1] - Poistetaan INI-tiedostojen merkintöjä - Tiedosto: [1], osa: [2], avain: [3], arvo: [4] - Poistetaan ODBC-osia - Poistetaan järjestelmärekisterin arvoja - Avain: [1], nimi: [2] - Poistetaan pikakuvakkeita - Pikakuvake: [1] - Etsitään vaatimukset täyttäviä tuotteita - Rekisteröidään moduuleita - Tiedosto: [1], kansio: [2] - Poistetaan moduulien rekisteröintiä - Tiedosto: [1], kansio: [2] - Alustetaan ODBC-hakemistoja - Käynnistetään palveluita - Palvelu: [1] - Pysäytetään palveluita - Palvelu: [1] - Peruutetaan valittujen osien julkaisemista - Osan tunnus: [1], tarkenne: [2] - Peruutetaan tuotteen ominaisuuksien julkaisemista - Toiminto: [1] - Poista luokkapalvelinten rekisteröinti - Luokkatunnus: [1] - Poistetaan COM+-sovellusten ja -osien rekisteröintiä - Sovellustunnus: [1]{{, sovelluksen tyyppi: [2]}} - Poistetaan laajennuspalvelimien rekisteröintiä - Laajennus: [1] - Poistetaan fonttien rekisteröintiä - Fontti: [1] - Poistetaan MIME-rekisteröintiä - MIME-sisältötyyppi: [1], laajennus: [2] - Poistetaan ohjelmatunnisteiden rekisteröintiä - Ohjelmatunniste: [1] - Poistetaan tyyppikirjastojen rekisteröintiä - Kirjastotunniste: [1] - Päivitetään ympäristömerkkijonoja - Nimi: [1], arvo: [2], toiminto [3] - Kirjoitetaan INI-tiedoston arvoja - Tiedosto: [1], osa: [2], avain: [3], arvo: [4] - Kirjoitetaan järjestelmärekisteriarvoja - Avain: [1], nimi: [2], arvo: [3] - Ilmoitetaan sovelluksesta - Muodostetaan komentosarjatoimintoja toiminnolle: - [1] - Asennetaan järjestelmäluetteloa - Tiedosto: [1], riippuvuudet: [2] - Julkaistaan kokoonpanotietoja - Sovellusyhteys:[1], kokoonpanon nimi:[2] - Peruutetaan kokoonpanotietojen julkaisemista - Sovellusyhteys:[1], kokoonpanon nimi:[2] - Palautetaan toimintoa: - [1] - Poistetaan varmuuskopiotiedostoja - Tiedosto: [1] - Poistetaan siirrettyjä tiedostoja - Tiedosto: [1], hakemisto: [9] - Peruutetaan tuotetietojen julkaisemista - - {{Vakava virhe: }} - {{Virhe [1]. }} - Varoitus [1]. - Tiedot [1]. - Odottamaton virhe paketin asennuksessa. Paketissa saattaa olla virhe. Virhekoodi: [1]. {{Argumentit: [2], [3], [4]}} - {{Levy on täynnä: }} - Toiminto [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Sanomatyyppi: [1], argumentti: [2] - === Kirjaaminen aloitettu: [Date] [Time] === - === Kirjaaminen lopetettu: [Date] [Time] === - Toiminto alkoi [Time]: [1]. - Toiminto päättyi [Time]: [1]. Palautusarvo [2]. - Aikaa jäljellä: {[1] minuuttia }{[2] sekuntia} - Muisti ei riitä. Sulje muut sovellukset ja yritä uudelleen. - Asennusohjelma ei enää vastaa. - Asennusohjelma pysähtyi ennen valmistumista. - Odota, Windows määrittää tuotteen [ProductName] - Kerätään tarvittavia tietoja... - Poistetaan sovelluksen vanhempia versioita... - Valmistellaan sovelluksen vanhempien versioiden poistamista... - {[ProductName] }Asennus onnistui. - {[ProductName] }Asennus epäonnistui. - Virhe luettaessa tiedostosta: [2]. {{ Järjestelmävirhe [3].}} Varmista, että tiedosto on olemassa ja että voit käyttää sitä. - Tiedostoa [2] ei voi luoda. Samanniminen hakemisto on jo olemassa. Peruuta asennus ja yritä suorittaa asennus toiseen sijaintiin. - Aseta asemaan levy: [2] - Asennusohjelman oikeudet eivät riitä seuraavan hakemiston käyttämiseen: [2]. Asennusta ei voi jatkaa. Kirjaudu sisään järjestelmänvalvojana tai ota yhteyttä järjestelmänvalvojaan. - Virhe kirjoitettaessa tiedostoon: [2]. Varmista, että sinulla on tarvittavan hakemiston käyttöoikeudet. - Virhe luettaessa tiedostosta [2]. {{ Järjestelmävirhe [3].}} Varmista, että tiedosto on olemassa ja että käyttöoikeutesi ovat riittävät. - Jollakin toisella sovelluksella on yksinomainen käyttöoikeus tiedostoon [2]. Sulje kaikki muut sovellukset ja valitse sitten Yritä uudelleen. - Levytila ei riitä seuraavan tiedoston asentamiseen: [2]. Vapauta levytilaa ja valitse Yritä uudelleen tai lopeta valitsemalla Peruuta. - Lähdetiedostoa ei löytynyt: [2]. Tarkista, että tiedosto on olemassa ja että voit käyttää sitä. - Virhe luettaessa tiedostosta [3]. {{ Järjestelmävirhe [2].}} Varmista, että tiedosto on olemassa ja että käyttöoikeutesi ovat riittävät. - Virhe kirjoitettaessa tiedostoon [3].{{ Järjestelmävirhe [2].}} Varmista, että sinulla on tarvittavan hakemiston käyttöoikeudet. - Lähdetiedostoa ei löytynyt{{(CAB-tiedosto)}}: [2]. Tarkista, että tiedosto on olemassa ja että voit käyttää sitä. - Hakemistoa [2] ei voi luoda. Samanniminen tiedosto on jo olemassa. Vaihda tiedoston nimi tai poista se järjestelmästä ja valitse Yritä uudelleen tai lopeta valitsemalla Peruuta. - Asema [2] ei ole tällä hetkellä käytettävissä. Valitse toinen asema. - Määritetty polku [2] ei ole käytettävissä. - Määritettyyn kansioon [2] ei voi kirjoittaa. - Verkkovirhe yritettäessä lukea tiedostoa: [2] - Virhe yritettäessä luoda hakemistoa: [2] - Verkkovirhe yritettäessä luoda hakemistoa: [2] - Verkkovirhe yritettäessä avata lähdetiedoston .cab-tiedosto: [2] - Määritetty polku on liian pitkä: [2] - Asennusohjelmalla ei ole riittäviä oikeuksia tiedoston [2] muokkaamiseen. - Kansiopolun [2] osa on virheellinen. Se on tyhjä tai ylittää järjestelmän salliman pituuden. - Kansion polku [2] sisältää sanoja, jotka eivät ole kelvollisia kansioiden poluissa. - Kansion polku [2] sisältää virheellisen merkin. - [2] ei ole kelvollinen lyhyt tiedostonimi. - Virhe haettaessa tiedoston suojauksia: [3] GetLastError: [2] - Asema ei kelpaa: [2] - Virhe otettaessa korjausta käyttöön tiedostossa [2]. Tiedosto on ehkä päivitetty muulla tavoin, joten sitä ei voi enää muuttaa tällä korjauksella. Saat lisätietoja korjauksen myyjältä. {{Järjestelmävirhe: [3]}} - Tarvittavaa tiedostoa ei voi asentaa, koska .cab-tiedostoa [2] ei ole allekirjoitettu digitaalisesti. Tämä voi tarkoittaa, että .cab-tiedosto on vioittunut. - Tarvittavaa tiedostoa ei voi asentaa, koska .cab-tiedostolla [2] on virheellinen digitaalinen allekirjoitus. Tämä voi tarkoittaa, että .cab-tiedosto on vioittunut.{{ WinVerifyTrust palautti virheen [3].}} - Tiedoston [2] kopiointi ei onnistunut: CRC-virhe. - Tiedoston [2] siirtäminen ei onnistunut: CRC-virhe. - Tiedoston [2] päivittäminen ei onnistunut: CRC-virhe. - Tiedostoa [2] ei voida asentaa, koska sitä ei löytynyt .cab-tiedostosta [3]. Tämä saattaa johtua verkkovirheestä, CD-levyn lukuvirheestä tai paketin viallisuudesta. - Asennukseen tarvittava .cab-tiedosto [2] on viallinen, eikä sitä voida käyttää. Tämä saattaa johtua verkkovirheestä, CD-levyn lukuvirheestä tai paketin viallisuudesta. - Virhe tarvittavan tilapäistiedoston luomisessa. {{ Kansio: [3]. Järjestelmävirhekoodi: [2]}} - Avainta [2] ei voi luoda.{{ Järjestelmävirhe [3].}} Varmista, että käyttöoikeutesi riittävät avaimen käyttöön, tai ota yhteyttä tukihenkilöstöön. - Avainta [2] ei voi avata.{{ Järjestelmävirhe [3].}} Varmista, että käyttöoikeutesi riittävät avaimen käyttöön, tai ota yhteyttä tukihenkilöstöön. - Arvoa [2] ei voi poistaa avaimesta [3].{{ Järjestelmävirhe [4].}} Varmista, että käyttöoikeutesi riittävät avaimen käyttöön, tai ota yhteyttä tukihenkilöstöön. - Avainta [2] ei voi poistaa.{{ Järjestelmävirhe [3].}} Varmista, että käyttöoikeutesi riittävät avaimen käyttöön, tai ota yhteyttä tukihenkilöstöön. - Arvoa [2] ei voi lukea avaimesta [3].{{ Järjestelmävirhe [4].}} Varmista, että käyttöoikeutesi riittävät avaimen käyttöön, tai ota yhteyttä tukihenkilöstöön. - Arvoa [2] ei voi kirjoittaa avaimeen [3].{{ Järjestelmävirhe [4].}} Varmista, että käyttöoikeutesi riittävät avaimen käyttöön, tai ota yhteyttä tukihenkilöstöön. - Avaimen [2] arvojen nimiä ei voi hakea.{{ Järjestelmävirhe [3].}} Varmista, että käyttöoikeutesi riittävät avaimen käyttöön, tai ota yhteyttä tukihenkilöstöön. - Avaimen [2] aliavainten nimiä ei voi hakea.{{ Järjestelmävirhe [3].}} Varmista, että käyttöoikeutesi riittävät avaimen käyttöön, tai ota yhteyttä tukihenkilöstöön. - Avaimen [2] suojaustietoja ei voi lukea.{{ Järjestelmävirhe [3].}} Varmista, että käyttöoikeutesi riittävät avaimen käyttöön, tai ota yhteyttä tukihenkilöstöön. - Vapaata rekisteritilaa ei voi lisätä. Tämän sovelluksen asentaminen vaatii [2] kilotavua vapaata rekisteritilaa. - Toinen asennus on käynnissä. Se on suoritettava loppuun ennen tämän asennuksen jatkamista. - Virhe käytettäessä suojattuja tietoja. Varmista, että Windows Installer on määritetty oikein, ja yritä sitten asennusta uudelleen. - Käyttäjä [2] on aiemmin aloittanut tuotteen [3] asennuksen. Käyttäjän on suoritettava kyseinen asennus uudelleen, ennen kuin hän voi käyttää tuotetta. Nykyinen asennus jatkuu nyt. - Käyttäjä [2] on aiemmin aloittanut tuotteen [3] asennuksen. Käyttäjän on suoritettava kyseinen asennus uudelleen, ennen kuin hän voi käyttää tuotetta. - Levytila lopussa -- asema: [2]; tarvittava tila: [3] kt; käytettävissä oleva tila: [4] kt. Vapauta levytilaa ja yritä uudelleen. - Haluatko varmasti peruuttaa? - Tiedostoa [2][3] käyttää{ seuraava prosessi: nimi: [4], tunnus: [5], ikkunan otsikko: [6]}. Sulje kyseinen sovellus ja yritä uudelleen. - Tuote [2] on jo asennettu, mikä estää tämän tuotteen asennuksen. Nämä kaksi tuotetta ovat toisensa poissulkevia. - Asennuksen jatkamiseen ei ole tarpeeksi levytilaa asemassa [2] palautustoiminnon ollessa käytössä. [3] kt vaaditaan, mutta vain [4] kt on käytettävissä. Valitse Ohita jatkaaksesi asennusta ilman palautustietojen tallentamista, Yritä uudelleen tarkistaaksesi vapaa levytila uudelleen tai keskeytä asennus valitsemalla Peruuta. - Verkon kohteeseen [2] ei voi muodostaa yhteyttä. - Seuraavat sovellukset on suljettava ennen asennuksen jatkamista: - Tietokoneesta ei löytynyt tämän tuotteen asennuksen edellyttämiä yhteensopivia tuotteita. - Virhe suojausasetusten käyttöönotossa. [2] ei ole kelvollinen käyttäjä tai ryhmä. Ongelma saattaa olla paketissa tai yhteyden muodostamisessa toimialueen ohjauskoneeseen verkossa. Tarkista verkkoyhteys ja yritä uudelleen valitsemalla Yritä uudelleen. Voit keskeyttää asennuksen valitsemalla Peruuta. {{Käyttäjän SID-tunnusta ei löydy, järjestelmävirhe [3]}} - Avain [2] ei kelpaa. Varmista, että olet antanut oikean avaimen. - Asennusohjelman on käynnistettävä järjestelmä uudelleen, ennen kuin kohteen [2] määritys voi jatkua. Valitse Kyllä, jos haluat käynnistää järjestelmän uudelleen nyt, tai Ei, jos haluat käynnistää järjestelmän myöhemmin manuaalisesti. - Sinun on käynnistettävä järjestelmä uudelleen, jotta tuotteen [2] määrityksiin tehdyt muutokset tulisivat voimaan. Käynnistä tietokone uudelleen valitsemalla Kyllä tai käynnistä tietokone itse uudelleen myöhemmin valitsemalla Ei. - Kohteen [2] asennus on keskeytetty. Et voi jatkaa, ennen kuin kumoat asennuksessa tehdyt muutokset. Haluatko kumota muutokset? - Tämän tuotteen aiempi asennus on kesken. Et voi jatkaa, ennen kuin kumoat asennuksessa tehdyt muutokset. Haluatko kumota muutokset? - Tuotteen [2] asennuspakettia ei löydy. Yritä asennusta uudelleen käyttäen asennuspaketin [3] oikeaa versiota. - Asennus onnistui. - Asennus epäonnistui. - Tuote: [2] -- [3] - Voit joko palauttaa tietokoneen aiempaan tilaan tai jatkaa asennusta myöhemmin uudelleen. Haluatko palauttaa aiemman tilan? - Kirjoitettaessa asennustietoja levylle ilmeni virhe. Tarkista, että käytettävissä on riittävästi levytilaa, ja valitse Yritä uudelleen. Jos haluat lopettaa asennuksen, valitse Peruuta. - Joitakin tiedostoja, joita tarvitaan tietokoneen aiempaan tilaan palauttamiseen, ei löydy. Palautusta ei voi suorittaa. - [2] ei voi asentaa yhtä tarvittavaa tuotetta. Ota yhteyttä tekniseen tukeen. {{Järjestelmävirhe: [3].}} - Tuotteen [2] vanhempaa versiota ei voi poistaa. Ota yhteyttä tekniseen tukeen. {{Järjestelmävirhe [3].}} - Asennettu [2] - Määritetty [2] - Poistettu [2] - Digitaalisten allekirjoitusten käytäntö hylkäsi tiedoston [2]. - Windows Installer -palvelua ei voida käyttää. Tämä saattaa tapahtua, jos Windows on vikasietotilassa tai Windows Installeria ei ole asennettu oikein. Ota yhteys tukihenkilöön. - Tähän Windows Installer -pakettiin liittyy jokin ongelma. Asennuksessa tarvittavaa komentosarjaa ei voitu suorittaa. Ota yhteyttä tukihenkilöstöön tai paketin myyjään. {{Mukautetun toiminnon [2] komentosarjan virhe [3], [4]: [5] rivi [6], sarake [7], [8] }} - Tähän Windows Installer -pakettiin liittyy jokin ongelma. Asennukseen tarvittavaa ohjelmaa ei voitu käynnistää. Ota yhteyttä tukihenkilöön tai paketin myyjään. {{Toiminto: [2], sijainti: [3], komento: [4] }} - Tähän Windows Installer -pakettiin liittyy jokin ongelma. Asennuksessa tarvittavan ohjelman suoritus ei päättynyt odotetulla tavalla. Ota yhteyttä tukihenkilöstöön tai paketin myyjään. {{Toiminto [2], sijainti: [3], komento: [4] }} - Tähän Windows Installer -pakettiin liittyy jokin ongelma. Asennuksessa tarvittavaa DLL-tiedostoa ei voitu suorittaa. Ota yhteyttä tukihenkilöstöön tai paketin myyjään. {{Toiminto [2], merkintä: [3], kirjasto: [4] }} - Poistaminen onnistui. - Poistaminen epäonnistui. - Ilmoittaminen onnistui - Ilmoittaminen epäonnistui. - Määrittäminen onnistui. - Määrittäminen epäonnistui. - Käyttäjällä, joka poistaa tämän sovelluksen, täytyy olla Järjestelmänvalvoja-oikeudet. Kirjaudu järjestelmään käyttäen Järjestelmänvalvoja-tiliä tai ota yhteyttä tukihenkilöstöön. - Tuotteen [2] lähdeasennuspakettia ei ole synkronoitu asiakaspaketin kanssa. Yritä suorittaa asennus uudelleen käyttämällä kelvollista asennuspaketin [3] kopiota. - Tuotteen [2] asennuksen viimeistely edellyttää tietokoneen käynnistämistä uudelleen. Tietokoneeseen on parhaillaan kirjautuneina muita käyttäjiä, jotka voivat menettää tietoja, jos tietokone käynnistetään uudelleen. Haluatko käynnistää tietokoneen uudelleen nyt? - Polku [2] ei kelpaa. Määritä kelvollinen polku. - Muisti ei riitä. Sulje muut sovellukset ja yritä uudelleen. - Asemassa [2] ei ole levyä. Aseta levy asemaan ja valitse Yritä uudelleen tai palaa aiemmin valittuun asemaan valitsemalla Peruuta. - Asemassa [2] ei ole levyä. Aseta levy asemaan ja valitse Yritä uudelleen tai palaa selausvalintaikkunaan ja valitse eri asema valitsemalla Peruuta. - Kansiota [2] ei ole. Anna olemassa olevan kansion polku. - Sinulla ei ole lukuoikeutta tähän kansioon. - Asennusta varten ei voitu määrittää kelvollista kohdekansiota. - Virhe yritettäessä lukea lähdeasennustietokannasta: [2]. - Ajoitetaan uudelleenkäynnistystoiminto: tiedosto [2] nimetään uudelleen tiedostoksi [3]. Tietokone on käynnistettävä uudelleen toiminnon viimeistelemiseksi. - Ajoitetaan uudelleenkäynnistystoiminto: tiedosto [2] poistetaan. Tietokone on käynnistettävä uudelleen toiminnon viimeistelemiseksi. - Moduulia [2] ei voitu rekisteröidä. HRESULT [3]. Ota yhteyttä tukihenkilöstöön. - Moduulin [2] rekisteröintiä ei voitu poistaa. HRESULT [3]. Ota yhteyttä tukihenkilöstöön. - Paketin [2] tallentaminen välimuistiin epäonnistui. Virhe: [3]. Ota yhteyttä tukeen. - Fonttia [2] ei voitu rekisteröidä. Varmista, että oikeutesi riittävät fonttien asentamiseen ja että järjestelmä tukee kyseistä fonttia. - Fontin [2] rekisteröintiä ei voi poistaa. Varmista, että sinulla on tarvittavat oikeudet fonttien rekisteröintien poistamiseen. - Pikakuvaketta [2] ei voi luoda. Varmista, että kohdekansio on olemassa ja että voit käyttää sitä. - Pikakuvaketta [2] ei voi poistaa. Varmista, että pikakuvaketiedosto on olemassa ja että voit käyttää sitä. - Tiedoston [2] tyyppikirjastoa ei voitu rekisteröidä. Ota yhteyttä tukihenkilöstöön. - Tiedoston [2] tyyppikirjaston rekisteröintiä ei voitu poistaa. Ota yhteyttä tukihenkilöstöön. - INI-tiedostoa [2][3] ei voitu päivittää. Varmista, että tiedosto on olemassa ja että voit käyttää sitä. - Tiedostoa [2] ei voitu ajoittaa korvaamaan tiedostoa [3] uudelleenkäynnistyksessä. Varmista, että sinulla on kirjoitusoikeudet tiedostoon [3]. - Virhe poistettaessa ODBC-ohjaimen hallintaohjelmaa, ODBC-virhe [2]: [3]. Ota yhteyttä tukeen. - Virhe asennettaessa ODBC-ohjaimen hallintaohjelmaa, ODBC-virhe [2]: [3]. Ota yhteyttä tukeen. - Virhe poistettaessa ODBC-ohjainta: [4], ODBC-virhe [2]: [3]. Varmista, että sinulla on riittävät oikeudet ODBC-ohjainten poistamiseen. - Virhe asennettaessa ODBC-ohjainta: [4], ODBC-virhe [2]: [3]. Varmista, että tiedosto [4] on luotu aiemmin ja että voit käyttää sitä. - Virhe määritettäessä ODBC-tietolähdettä: [4], ODBC-virhe [2]: [3]. Varmista, että tiedosto [4] on luotu aiemmin ja että voit käyttää sitä. - Palvelua [2] ([3]) ei voitu käynnistää. Varmista, että oikeutesi riittävät järjestelmäpalvelujen käynnistämiseen. - Palvelua [2] ([3]) ei voitu pysäyttää. Varmista, että oikeutesi riittävät järjestelmäpalvelujen pysäyttämiseen. - Palvelua [2] ([3]) ei voitu poistaa. Varmista, että oikeutesi riittävät järjestelmäpalvelujen poistamiseen. - Palvelua [2] ([3]) ei voitu asentaa. Varmista, että oikeutesi riittävät järjestelmäpalvelujen asentamiseen. - Ympäristömuuttujaa [2] ei voitu päivittää. Varmista, että oikeutesi riittävät ympäristömuuttujien muokkaamiseen. - Oikeutesi eivät riitä tämän asennuksen tekemiseen kaikkien tietokoneen käyttäjien puolesta. Kirjaudu sisään järjestelmänvalvojana ja yritä suorittaa asennus sitten uudelleen. - Tiedoston [3] suojausta ei voitu määrittää. Virhe: [2]. Varmista, että oikeutesi riittävät tämän tiedoston suojausoikeuksien muokkaamiseen. - Tämän tietokoneeseen ei ole asennettu Component Services (COM+ 1.0) -sovellusta. Component Services tarvitaan, jotta asennus onnistuisi. Component Services löytyy Windows 2000:sta. - Virhe rekisteröitäessä COM+-sovellusta. Jos haluat lisätietoja, ota yhteyttä tukihenkilöstöön. - Virhe poistettaessa COM+-sovelluksen rekisteröintiä. Jos haluat lisätietoja, ota yhteyttä tukihenkilöstöön. - Palvelun [2] ([3]) kuvausta ei voi muuttaa. - Windows Installer -palvelu ei voi päivittää järjestelmätiedostoa [2], koska Windows on suojannut sen. Käyttöjärjestelmä täytyy ehkä päivittää, jotta tämä ohjelma toimii oikein. {{Paketin versio: [3], käyttöjärjestelmän suojaama versio: [4]}} - Windows Installer ei voi päivittää Windowsin suojaamaa tiedostoa [2]. {{Paketin versio: [3], käyttöjärjestelmän suojaama versio: [4], SFP-virhe: [5]}} - Windows Installer -palvelu ei pysty päivittämään vähintään yhtä Windowsin suojaamaa tiedostoa. {{SFP-virhe: [2]. Suojattujen tiedostojen luettelo:\r\n[3]}} - Tietokoneen käytäntö estää käyttäjäasennukset. - Kokoonpanon [6] asennuksen aikana ilmeni virhe. Lisätietoja on ohje- ja tukipalveluissa. HRESULT: [3]. {{kokoonpanoliittymä: [4], toiminto: [5], osa: [2]}} - Kokoonpanon [6] asennuksessa tapahtui virhe. Kokoonpanon nimi ei ole vahva, tai allekirjoitusta ei ole tehty vaadittavalla avainpituudella. HRESULT: [3]. {{kokoonpanoliittymä: [4], toiminto: [5], osa: [2]}} - Kokoonpanon [6] asennuksessa tapahtui virhe. Allekirjoitusta tai luetteloa ei voitu vahvistaa, tai se ei ole kelvollinen. HRESULT: [3]. {{kokoonpanoliittymä: [4], toiminto: [5], osa: [2]}} - Kokoonpanon [6] asennuksessa tapahtui virhe. Yhtä tai useampaa kokoonpanon moduulia ei löytynyt. HRESULT: [3]. {{kokoonpanoliittymä: [4], toiminto: [5], osa: [2]}} - - tavua - Gt - kt - Mt - Ominaisuus poistetaan kokonaisuudessaan käytettävistä - Ominaisuus asennetaan tarvittaessa - Ominaisuus asennetaan kokonaisuudessaan CD-levyltä suoritettavaksi - Ominaisuus asennetaan kokonaisuudessaan paikalliselle kiintolevylle - Ominaisuus asennetaan kokonaisuudessaan verkosta suoritettavaksi - Asennetaan suoritettavaksi CD-levyltä - Asennetaan paikalliselle kiintolevylle - Asennetaan suoritettavaksi verkosta - Kansio|Uusi kansio - Kerätään tarvittavia tietoja... - Ominaisuutta ei asenneta - Ominaisuus asennetaan tarvittaessa - Ominaisuus asennetaan CD-levyltä suoritettavaksi - Ominaisuus asennetaan paikalliselle kiintolevylle - Ominaisuus asennetaan toimimaan verkosta - Ominaisuus poistetaan käytettävistä - Asennetaan tarvittaessa - Ominaisuus voidaan suorittaa CD-levyltä - Ominaisuus asennetaan paikalliselle kiintolevylle - Ominaisuus voidaan suorittaa verkosta - Ominaisuus poistetaan kokonaisuudessaan, jolloin sitä ei voi enää suorittaa CD-levyltä - Ominaisuus muutetaan CD-levyltä suoritettavasta tarvittaessa asennettavaksi - Ominaisuus jää CD-levyltä suoritettavaksi - Ominaisuus muutetaan CD-levyltä suoritettavasta paikalliselle kiintolevylle asennetuksi - Tämä ominaisuus vapauttaa [1] kiintolevytilaa. - Tämä ominaisuus vaatii [1] kiintolevytilaa. - Lasketaan ominaisuuden tarvitsemaa levytilaa... - Ominaisuus poistetaan kokonaan - Ominaisuus poistetaan paikalliselta kiintolevyltä, mutta se asennetaan tarvittaessa - Ominaisuus poistetaan paikalliselta kiintolevyltä, mutta sen voi edelleen suorittaa CD-levyltä - Ominaisuus jätetään paikalliselle kiintolevylle - Ominaisuus poistetaan paikalliselta kiintolevyltä, mutta sen voi edelleen suorittaa verkosta - Ominaisuus poistetaan kokonaisuudessaan, jolloin sitä ei voi enää suorittaa verkosta - Ominaisuus muutetaan verkosta suoritettavasta tarvittaessa asennettavaksi - Ominaisuus muutetaan verkosta suoritettavasta paikalliselle kiintolevylle asennetuksi - Ominaisuus voidaan edelleen suorittaa verkosta - Ominaisuus vapauttaa [1] kiintolevytilaa. Siinä on valittuna [2] alitoimintoa. Alitoimintoja on [3]. Alitoiminnot vapauttavat [4] levytilaa. - Ominaisuus vapauttaa [1] kiintolevytilaa. Siinä on valittuna [2] alitoimintoa. Alitoimintoja on [3]. Alitoiminnot vaativat [4] levytilaa. - Ominaisuus vaatii [1] kiintolevytilaa. Siinä on valittuna [2] alitoimintoa. Alitoimintoja on [3]. Alitoiminnot vapauttavat [4] levytilaa. - Ominaisuus vaatii [1] kiintolevytilaa. Siinä on valittuna [2] alitoimintoa. Alitoimintoja on [3]. Alitoiminnot vaativat [4] levytilaa. - Aikaa jäljellä: {[1] minuuttia }{[2] sekuntia} - Käytettävissä - Ero - Tarvitaan - Levyn koko - Levyasema - diff --git a/Src/Localization/WixUI/WixUI_fr-fr.wxl b/Src/Localization/WixUI/WixUI_fr-fr.wxl deleted file mode 100644 index 6b38a17..0000000 --- a/Src/Localization/WixUI/WixUI_fr-fr.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Précédent - &Suivant - Annuler - &Terminer - &Réessayer - &Ignorer - &Oui - &Non - OK - &Imprimer - - Installation de [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lisez attentivement le contrat de licence de [ProductName] - J'&accepte les termes du contrat de licence - Cliquez sur Installer pour installer le produit avec les options par défaut pour tous les utilisateurs. Cliquez sur Avancé pour modifier les options d'installation. - Cliquez sur Installer pour installer le produit avec les options par défaut uniquement pour vous. Cliquez sur Avancé pour modifier les options d'installation. - &Installer - A&vancé - 8 - 12 - 9 - 8 - Tahoma - - Installation de [ProductName] - &Regarder dans : - WixUI_Bmp_Up - Remonter d'un niveau - WixUI_Bmp_New - Créer un dossier - &Nom du dossier : - WixUI_Bmp_Banner - Sélectionner le dossier de destination - {\WixUI_Font_Title}Modifier le dossier de destination - - Installation de [ProductName] - Êtes-vous sûr de vouloir annuler l'installation de [ProductName] ? - WixUI_Ico_Info - Icône d'information - - Installation de [ProductName] - Arborescence des sélections - Pa&rcourir... - Réinitiali&ser - &Utilisation du disque - WixUI_Bmp_Banner - Cliquez sur les icônes dans l'arborescence ci-dessous pour modifier la façon dont les composants sont installés. - Sélectionnez la façon d'installer les composants. - {\WixUI_Font_Title}Installation personnalisée - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Emplacement : - - Installation de [ProductName] - WixUI_Bmp_Banner - Les volumes mis en surbrillance ne disposent pas de suffisamment d'espace disque pour les composants sélectionnés. Vous pouvez supprimer certains fichiers des volumes mis en surbrillance, installer moins de composants ou sélectionner d'autres lecteurs de destination. - Espace disque nécessaire pour l'installation des composants sélectionnés. - {\WixUI_Font_Title}Espace disque nécessaire - {120}{70}{70}{70}{70} - - Installation de [ProductName] - Texte d'information - WixUI_Ico_Info - Icône d'information - - Installation de [ProductName] - WixUI_Bmp_Dialog - Cliquez sur le bouton Terminer pour quitter l'Assistant Installation. - {\WixUI_Font_Bigger}Assistant Installation de [ProductName] terminé - - Installation de [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] L'Assistant Installation a pris fin prématurément. - Une erreur a causé la fin prématurée de l'Assistant Installation de [ProductName]. Votre système n'a pas été modifié. Pour installer ce programme ultérieurement, réexécutez l'Assistant Installation. - Cliquez sur le bouton Terminer pour quitter l'Assistant Installation. - - Installation de [ProductName] - Composants du produit - WixUI_Bmp_Banner - Sélectionnez la façon d'installer les composants. - {\WixUI_Font_Title}Composants du produit - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installer - &Modifier - - Installation de [ProductName] - &Quitter - WixUI_Bmp_Banner - Les applications suivantes utilisent des fichiers qui doivent être mis à jour par ce programme d'installation. Fermez ces applications et cliquez sur Réessayer pour continuer l'installation, ou cliquez sur Quitter pour la quitter. - Certains fichiers qui doivent être mis à jour sont en cours d'utilisation. - {\WixUI_Font_Title}Fichiers en cours d'utilisation - - Installation de [ProductName] - &Modifier... - {\WixUI_Font_Title}Dossier de destination - Cliquez sur Suivant pour effectuer l'installation dans le dossier par défaut, ou cliquez sur Modifier pour choisir un autre dossier. - WixUI_Bmp_Banner - Installer [ProductName] sur : - - Installation de [ProductName] - WixUI_Bmp_Banner - Choisir l'étendue et le dossier d'installation - {\WixUI_Font_Title}Étendue d'installation - {\WixUI_Font_Emphasized}Installer &uniquement pour vous ([LogonUser]) - [ProductName] sera installé dans un dossier spécifique à chaque utilisateur et sera disponible uniquement pour votre compte d'utilisateur. Vous n'avez pas besoin de disposer de privilèges d'administrateur local. - [ProductName] ne prend pas en charge l'installation spécifique à chaque utilisateur. - {\WixUI_Font_Emphasized}Installer pour tous les utilisateurs de cet &ordinateur - [ProductName] sera installé dans un dossier spécifique à chaque ordinateur par défaut et sera disponible pour tous les utilisateurs. Vous pouvez modifier le dossier d'installation par défaut. Vous devez disposer de privilèges d'administrateur local. - &Dossier d'installation : - &Modifier... - - Installation de [ProductName] - Le répertoire d'installation doit se trouver sur un disque dur local. - WixUI_Ico_Info - Icône d'information - - Installation de [ProductName] - J'&accepte les termes du contrat de licence - WixUI_Bmp_Banner - Lisez attentivement le contrat de licence suivant - {\WixUI_Font_Title}Contrat de Licence Utilisateur Final - - Installation de [ProductName] - &Modifier - Modifier l'installation - Ré&parer - Réparer l'installation - &Supprimer - Supprimer l'installation - WixUI_Bmp_Banner - Sélectionnez l'opération à exécuter. - {\WixUI_Font_Title}Modifier, réparer ou supprimer l'installation - Vous permet de modifier la façon dont les composants sont installés. - [ProductName] n'a aucun composant individuellement sélectionnable. - Supprime [ProductName] de votre ordinateur. - [ProductName] ne peut pas être supprimé. - Corrige les erreurs de l'installation la plus récente en réparant les fichiers, raccourcis et entrées de Registre manquants ou endommagés. - [ProductName] ne peut pas être réparé. - - Installation de [ProductName] - WixUI_Bmp_Dialog - L'Assistant Installation vous permet de modifier la façon dont les composants de [ProductName] sont installés sur votre ordinateur ou de supprimer celui-ci. Cliquez sur Suivant pour continuer ou sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Bigger}Bienvenue dans l'Assistant Installation de [ProductName] - - Installation de [ProductName] - WixUI_Bmp_Banner - Les applications suivantes utilisent des fichiers qui doivent être mis à jour au cours de cette installation. Vous pouvez laisser l'Assistant Installation se charger de les fermer et tenter de les redémarrer, ou redémarrer l'ordinateur ultérieurement. - Certains fichiers qui doivent être mis à jour sont en cours d'utilisation. - {\WixUI_Font_Title}Fichiers en cours d'utilisation - &Fermer les applications et tenter de les redémarrer. - Ne pas fermer les applications. Vous devrez re&démarrer l'ordinateur. - - Installation de [ProductName] - WixUI_Bmp_Banner - Les volumes mis en surbrillance ne disposent pas de suffisamment d'espace disque pour les composants actuellement sélectionnés. Vous pouvez supprimer certains fichiers des volumes mis en surbrillance, installer moins de composants ou sélectionner un lecteur de destination différent. - L'espace disque requis pour l'installation dépasse l'espace disponible. - {\WixUI_Font_Title}Espace disque insuffisant - {120}{70}{70}{70}{70} - - Installation de [ProductName] - WixUI_Bmp_Banner - Les volumes mis en surbrillance ne disposent pas de suffisamment d'espace disque pour les composants actuellement sélectionnés. Vous pouvez supprimer certains fichiers des volumes mis en surbrillance, installer moins de composants ou sélectionner un lecteur de destination différent. - L'espace disque requis pour l'installation dépasse l'espace disponible. - {\WixUI_Font_Title}Espace disque insuffisant - {120}{70}{70}{70}{70} - Vous pouvez également désactiver la fonctionnalité de restauration du programme d'installation. La désactivation de la restauration empêche le programme d'installation de restaurer l'état d'origine de l'ordinateur en cas d'interruption de l'installation. Cliquez sur Oui si vous souhaitez prendre le risque de désactiver la restauration. - - Installation de [ProductName] - WixUI_Bmp_Dialog - Veuillez patienter pendant que l'Assistant Installation se prépare pour vous guider dans l'installation. - {\WixUI_Font_Bigger}Bienvenue dans l'Assistant Installation de [ProductName] - - Installation de [ProductName] - WixUI_Bmp_Banner - Veuillez patienter pendant que l'Assistant Installation installe [ProductName]. - {\WixUI_Font_Title}Installation de [ProductName] - Veuillez patienter pendant que l'Assistant Installation modifie [ProductName]. - {\WixUI_Font_Title}Modification de [ProductName] - Veuillez patienter pendant que l'Assistant Installation répare [ProductName]. - {\WixUI_Font_Title}Réparation de [ProductName] - Veuillez patienter pendant que l'Assistant Installation supprime [ProductName]. - {\WixUI_Font_Title}Suppression de [ProductName] - Veuillez patienter pendant que l'Assistant Installation met à jour [ProductName]. - {\WixUI_Font_Title}Mise à jour de [ProductName] - État d'avancement - Statut : - - Installation de [ProductName] - &Installer - WixUI_Bmp_Dialog - L'Assistant Installation va terminer l'installation de [ProductName] sur l'ordinateur. Cliquez sur Installer pour continuer, ou sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Bigger}Reprise de l'installation de [ProductName] - - Installation de [ProductName] - Par &défaut - Installation par défaut - Perso&nnalisée - Installation personnalisée - C&omplète - Installation complète - WixUI_Bmp_Banner - {\WixUI_Font_Title}Sélectionner le type d'installation - Choisissez le type d'installation qui correspond le mieux à vos besoins. - Installe les composants les plus courants du programme. Recommandé pour la plupart des utilisateurs. - Permet à l'utilisateur de sélectionner les composants du programme qui seront installés et l'emplacement d'installation. Ceci est recommandé pour les utilisateurs expérimentés. - Tous les composants du programme vont être installés. Nécessite une quantité d’espace disque maximale. - - Installation de [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}L'Assistant Installation de [ProductName] a été interrompu - L'installation de [ProductName] a été interrompue. Votre système n'a pas été modifié. Pour installer ce programme ultérieurement, réexécutez l'installation. - Cliquez sur le bouton Terminer pour quitter l'Assistant Installation. - - Installation de [ProductName] - WixUI_Bmp_Banner - &Installer - Cliquez sur Installer pour commencer l'installation. Cliquez sur Précédent pour vérifier ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant. - {\WixUI_Font_Title}Prêt à installer [ProductName] - &Modifier - Cliquez sur Modifier pour lancer l'installation. Cliquez sur Précédent pour consulter ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Title}Prêt à modifier [ProductName] - Ré&parer - Cliquez sur Réparer pour réparer l'installation de [ProductName]. Cliquez sur Précédent pour consulter ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Title}Prêt à réparer [ProductName] - &Supprimer - Cliquez sur Supprimer pour supprimer [ProductName] de votre ordinateur. Cliquez sur Précédent pour vérifier ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant. - {\WixUI_Font_Title}Prêt à supprimer [ProductName] - Mettre à jo&ur - Cliquez sur Mettre à jour pour mettre à jour [ProductName] sur votre ordinateur. Cliquez sur Précédent pour vérifier ou modifier vos paramètres d'installation. Cliquez sur Annuler pour quitter l'Assistant. - {\WixUI_Font_Title}Prêt à mettre à jour [ProductName] - - Installation de [ProductName] - &Retour - Veuillez patienter pendant que l'Assistant Installation finit de calculer l'espace disque nécessaire. - WixUI_Ico_Exclam - Icône d'exclamation - - Installation de [ProductName] - WixUI_Bmp_Dialog - L'Assistant Installation va installer [ProductName] sur l'ordinateur. Cliquez sur Suivant pour continuer, ou sur Annuler pour quitter l'Assistant Installation. - L'Assistant Installation va mettre à jour [ProductName] sur l'ordinateur. Cliquez sur Suivant pour continuer, ou sur Annuler pour quitter l'Assistant Installation. - {\WixUI_Font_Bigger}Bienvenue dans l'Assistant Installation de [ProductName] - - Installation de [ProductName] - WixUI_Bmp_Dialog - J'&accepte les termes du contrat de licence - &Installer - Mettre à jo&ur - {\WixUI_Font_Title}Lisez attentivement le contrat de licence de [ProductName] - - Validation de l'installation - Copie des nouveaux fichiers - Fichier : [1], répertoire : [9], taille : [6] - Copie des fichiers d'installation réseau - Fichier : [1], répertoire : [9], taille : [6] - Calcul de l'espace nécessaire - Calcul de l'espace nécessaire - Calcul de l'espace nécessaire - Création des raccourcis - Raccourci : [1] - Publication des composants qualifiés - Identificateur du composant : [1], qualificateur : [2] - Publication des composants du produit - Composant : [1] - Publication des informations sur le produit - Inscription des serveurs de classes - Identificateur de classe : [1] - Inscription des serveurs d'extensions - Extension : [1] - Inscription des informations MIME - Type de contenu MIME : [1], extension : [2] - Inscription des identificateurs de programmes - ID du programme : [1] - Allocation de l'espace du Registre - Espace libre : [1] - Recherche des applications déjà installées - Propriété : [1], signature : [2] - Liaison des exécutables - Fichier : [1] - Recherche des produits éligibles - Création des dossiers - Dossier : [1] - Suppression des services - Service : [1] - Création de fichiers dupliqués - Fichier : [1], répertoire : [9], taille : [6] - Recherche des applications associées - Application trouvée : [1] - Installation des composants ODBC - Installation des nouveaux services - Service : [2] - Évaluation des conditions de lancement - Migration de l'état des composants à partir des applications associées - Application : [1] - Déplacement des fichiers - Fichier : [1], répertoire : [9], taille : [6] - Mises à jour correctives des fichiers - Fichier : [1], répertoire : [2], taille : [3] - Mise à jour de l'inscription des composants - Inscription des applications et des composants COM+ - ID d'application : [1]{{, Type application : [2], Utilisateurs : [3], RSN : [4]}} - Inscription des polices - Police : [1] - Inscription du produit - [1] - Inscription des bibliothèques de types - ID de la bibliothèque : [1] - Inscription de l'utilisateur - [1] - Suppression des fichiers dupliqués - Fichier : [1], répertoire : [9] - Mise à jour des chaînes d'environnement - Nom : [1], valeur : [2], action : [3] - Suppression des applications - Application : [1], ligne de commande : [2] - Suppression des fichiers - Fichier : [1], répertoire : [9] - Suppression des dossiers - Dossier : [1] - Suppression des entrées des fichiers INI - Fichier : [1] ; section : [2] ; clé : [3] ; valeur : [4] - Suppression des composants ODBC - Suppression des valeurs du Registre système - Clé : [1] ; nom : [2] - Suppression des raccourcis - Raccourci : [1] - Recherche des produits éligibles - Inscription des modules - Fichier : [1] ; dossier : [2] - Annulation de l'inscription des modules - Fichier : [1] ; dossier : [2] - Initialisation des répertoires ODBC - Démarrage des services - Service : [1] - Arrêt des services - Service : [1] - Annulation de la publication des composants qualifiés - Identificateur du composant : [1], qualificateur : [2] - Annulation de la publication des composants du produit - Composant : [1] - Annulation de l'inscription des serveurs de classes - Identificateur de classe : [1] - Annulation de l'inscription des applications et des composants COM+ - ID d'application : [1]{{, Type application : [2]}} - Annulation de l'inscription des serveurs d'extensions - Extension : [1] - Annulation de l'inscription des polices - Police : [1] - Annulation de l'inscription des informations MIME - Type de contenu MIME : [1], extension : [2] - Annulation de l'inscription des identificateurs de programmes - ID du programme : [1] - Annulation de l'inscription des bibliothèques de types - ID de la bibliothèque : [1] - Mise à jour des chaînes d'environnement - Nom : [1], valeur : [2], action : [3] - Écriture des valeurs des fichiers INI - Fichier : [1] ; section : [2] ; clé : [3] ; valeur : [4] - Écriture des valeurs du Registre système - Clé : [1] ; nom : [2] ; valeur : [3] - Publication d'informations sur l'application - Génération d'opérations de script pour l'action : - [1] - Installation du catalogue système - Fichier : [1] ; dépendances : [2] - Publication des informations d'assembly - Contexte de l'application : [1], nom de l'assembly : [2] - Annulation de la publication des informations d'assembly - Contexte de l'application : [1], nom de l'assembly : [2] - Annulation de l'action : - [1] - Suppression des fichiers de sauvegarde - Fichier : [1] - Suppression des fichiers déplacés - Fichier : [1], répertoire : [9] - Annulation de la publication des informations sur le produit - - {{Erreur irrécupérable : }} - {{Erreur [1]. }} - Avertissement [1]. - Informations [1]. - Le programme d'installation a rencontré un problème lors de l'installation de ce package. Cette erreur peut indiquer un problème dans ce package. Le code d'erreur est [1]. {{Les arguments sont : [2], [3], [4]}} - {{Disque plein : }} - Action [Time] : [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Type de message : [1] ; argument : [2] - === Début de l'écriture dans le journal : [Date] [Time] === - === Fin de l'écriture dans le journal : [Date] [Time] === - Début de l'action [Time] : [1]. - Fin de l'action [Time] : [1]. Valeur renvoyée : [2]. - Durée restante : {[1] minute(s) }{[2] seconde(s)} - Mémoire insuffisante. Fermez les autres applications avant de recommencer. - Le programme d'installation ne répond plus. - Le programme d'installation s'est arrêté prématurément. - Veuillez patienter pendant que Windows configure [ProductName] - Collecte des informations nécessaires... - Suppression des anciennes versions de cette application... - Préparation à la suppression des anciennes versions de cette application... - L'installation de [ProductName] s'est terminée correctement. - Échec de l'installation de [ProductName]. - Erreur lors de la lecture du fichier [2]. {{ Erreur système [3].}} Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Impossible de créer le fichier « [2] ». Un répertoire du même nom existe déjà. Annulez l'installation et essayez d'effectuer l'installation dans un autre emplacement. - Veuillez insérer le disque : [2] - Le programme d'installation ne dispose pas des privilèges nécessaires pour accéder au répertoire [2]. Impossible de poursuivre l'installation. Ouvrez une session en tant qu'administrateur, ou contactez l'administrateur système. - Erreur lors de l'écriture dans le fichier : [2]. Vérifiez que vous êtes autorisé à accéder à ce répertoire. - Erreur lors de la lecture du fichier [2]. {{ Erreur système [3].}} Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Une autre application a un accès exclusif au fichier « [2] ». Fermez toutes les autres applications, puis cliquez sur Réessayer. - Espace disque insuffisant pour installer le fichier : [2]. Libérez de l'espace disque et cliquez sur Réessayer, ou cliquez sur Annuler pour abandonner l'opération. - Fichier source [2] introuvable. Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Erreur lors de la lecture du fichier [3].{{ Erreur système [2].}} Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Erreur lors de l'écriture dans le fichier [3]. {{ Erreur système [2].}} Vérifiez que vous êtes autorisé à accéder à ce répertoire. - Fichier source introuvable{{(cabinet)}} : [2]. Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Impossible de créer le répertoire « [2] ». Un fichier portant ce nom existe déjà. Renommez ou supprimez le fichier et cliquez sur Réessayer, ou cliquez sur Annuler pour quitter. - Le volume [2] n'est pas disponible actuellement. Veuillez en sélectionner un autre. - Le chemin d'accès spécifié « [2] » n'est pas disponible. - Impossible d'écrire dans le dossier spécifié : [2]. - Une erreur réseau s'est produite lors de la tentative de lecture à partir du fichier : [2] - Erreur lors de la tentative de création du répertoire : [2] - Une erreur réseau s'est produite lors de la tentative de création du répertoire : [2] - Une erreur réseau s'est produite lors de la tentative d'ouverture du fichier CAB du source : [2] - Le chemin d'accès spécifié est trop long : [2] - Le programme d'installation ne dispose pas des privilèges nécessaires pour modifier le fichier [2]. - Une partie du chemin d'accès au dossier « [2] » n'est pas valide. Elle est vide, ou elle dépasse la longueur maximale autorisée par le système. - Le chemin d'accès du dossier « [2] » contient des mots non valides. - Le chemin d'accès du dossier « [2] » contient un caractère non valide. - Le nom de fichier court « [2] » n'est pas valide. - Erreur lors de l'obtention des informations sur la sécurité du fichier [3] GetLastError : [2] - Lecteur non valide : [2] - Erreur lors de l'application du correctif logiciel au fichier [2]. Celui-ci a probablement été mis à jour par d'autres moyens et ne peut plus être modifié par ce correctif logiciel. Pour plus d'informations, contactez le fournisseur du correctif logiciel. {{Erreur système : [3]}} - Un fichier requis ne peut pas être installé, car le fichier CAB [2] n'est pas signé numériquement. Cela indique peut-être que le fichier CAB est endommagé. - Un fichier requis ne peut pas être installé, car la signature numérique du fichier CAB [2] n'est pas valide. Ceci peut indiquer que le fichier CAB est endommagé. {{L'erreur [3] a été retournée par WinVerifyTrust.}} - Échec de la copie du fichier [2] : erreur CRC. - Échec du déplacement du fichier [2] : erreur CRC. - Échec de la modification du fichier [2] : erreur CRC. - Impossible d'installer le fichier « [2] », car il ne se trouve pas dans le fichier CAB « [3] ». Ceci peut venir d'une erreur réseau, d'une erreur de lecture du CD-ROM ou d'un problème lié à ce package. - Le fichier CAB « [2] » requis pour cette installation est endommagé et inutilisable. Ceci peut venir d'une erreur réseau, d'une erreur de lecture du CD-ROM ou d'un problème lié à ce package. - Une erreur s'est produite lors de la création d'un fichier temporaire requis par cette installation.{{ Dossier : [3]. Code d'erreur système : [2]}} - Impossible de créer la clé [2]. {{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'ouvrir la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible de supprimer la valeur [2] de la clé [3].{{ Erreur système [4].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible de supprimer la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible de lire la valeur [2] de la clé [3].{{ Erreur système [4].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'écrire la valeur [2] dans la clé [3].{{ Erreur système [4].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'obtenir le nom des valeurs de la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'obtenir le nom des sous-clés de la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible de lire les informations sur la sécurité de la clé [2].{{ Erreur système [3].}} Vérifiez que vous disposez des droits d'accès nécessaires pour cette clé ou contactez votre service de support technique. - Impossible d'augmenter l'espace disponible dans le Registre. [2] Ko d'espace doivent être libres dans le Registre pour permettre l'installation de cette application. - Une autre installation est en cours d'exécution. Vous devez la terminer avant de poursuivre cette installation. - Erreur lors de l'accès aux données protégées. Vérifiez que Windows Installer est correctement configuré, puis recommencez l'installation. - L'utilisateur « [2] » a précédemment lancé une installation du produit « [3] ». Il devra réexécuter cette installation avant de pouvoir utiliser ce produit. Votre installation va maintenant se poursuivre. - L'utilisateur « [2] » a précédemment lancé une installation du produit « [3] ». Il devra réexécuter cette installation avant de pouvoir utiliser ce produit. - Espace disque insuffisant - Volume : « [2] » ; espace nécessaire : [3] Ko ; espace disponible : [4] Ko. Libérez de l'espace sur le disque, puis réessayez. - Êtes-vous sûr de vouloir annuler ? - Le fichier [2][3] est en cours d'utilisation {par le processus suivant : nom : [4], ID : [5], titre de fenêtre : « [6] »}. Fermez cette application et réessayez. - « [2] » est déjà installé, ce qui empêche l'installation de ce produit. Les deux produits sont incompatibles. - Espace insuffisant sur le volume « [2] » pour continuer l'installation avec l'option de récupération. [3] Ko sont requis, alors que seuls [4] Ko sont disponibles. Cliquez sur Ignorer pour poursuivre l'installation sans enregistrer les informations de récupération, cliquez sur Réessayer pour revérifier l'espace disponible, ou cliquez sur Annuler pour arrêter. - Impossible d'accéder à l'emplacement réseau [2]. - Fermez les applications suivantes avant de poursuivre l'installation : - Impossible de trouver un produit compatible précédemment installé permettant l'installation de ce produit sur cet ordinateur. - Une erreur s'est produite lors de l'activation des paramètres de sécurité. [2] n'est pas un nom de groupe ou d'utilisateur reconnu. Le problème peut venir du package ou de la connexion au contrôleur de domaine sur le réseau. Vérifiez vos connexions réseau et cliquez sur Réessayer, ou cliquez sur Annuler pour arrêter. {{Le SID de l'utilisateur est introuvable, erreur système [3]}} - La clé [2] n'est pas valide. Vérifiez que vous avez entré la clé correcte. - Le programme d'installation doit redémarrer l'ordinateur afin de poursuivre la configuration de [2]. Cliquez sur Oui pour redémarrer maintenant, ou sur Non pour redémarrer manuellement ultérieurement. - Vous devez redémarrer votre système pour que les modifications apportées à la configuration de [2] prennent effet. Cliquez sur Oui pour redémarrer maintenant, ou sur Non pour redémarrer manuellement ultérieurement. - L’installation de [2] est suspendue. Vous devez annuler les modifications apportées par cette installation pour continuer. Voulez-vous annuler les modifications ? - Une installation de ce produit est déjà en cours. Vous devez annuler les modifications apportées par cette installation pour continuer. Voulez-vous annuler les modifications ? - Aucun package d'installation pour le produit [2] n'a été trouvé. Recommencez l'installation en utilisant une copie valide du package d'installation « [3] ». - Installation effectuée. - Échec de l'installation. - Produit : [2] -- [3] - Vous pouvez restaurer l'état antérieur de votre ordinateur ou poursuivre l'installation ultérieurement. Voulez-vous restaurer votre ordinateur ? - Erreur lors de l'écriture sur le disque des informations concernant l'installation. Vérifiez que l'espace disponible sur le disque est suffisant et cliquez sur Réessayer, ou cliquez sur Annuler pour mettre fin à l'installation. - Impossible de trouver les fichiers requis pour restaurer l'état antérieur de votre ordinateur. Impossible de procéder à la restauration. - [2] ne peut pas installer l'un des produits nécessaires. Contactez votre service de support technique. {{Erreur système : [3].}} - La version précédente de [2] ne peut pas être supprimée. Contactez votre service de support technique. {{Erreur système : [3].}} - [2] installé - [2] configuré - [2] supprimé - Le fichier [2] a été rejeté par la stratégie de signature numérique. - Impossible d'accéder au service Windows Installer. Ceci peut se produire si vous exécutez Windows en mode sans échec, ou si le programme d'installation de Windows n'est pas bien installé. Contactez votre service de support technique pour obtenir de l'assistance. - Problème détecté dans ce package Windows Installer. Un script requis pour cette installation ne peut pas s'exécuter. Contactez votre service de support technique ou l'éditeur du package. {{Action personnalisée [2] erreur de script [3], [4] : [5] ligne [6], colonne [7], [8]}} - Problème détecté dans ce package Windows Installer. Un programme requis pour cette installation n'a pas pu être exécuté. Contactez votre service de support technique ou l'éditeur du package. {{Action : [2], emplacement : [3], commande : [4] }} - Problème détecté dans ce package Windows Installer. Un programme exécuté dans le cadre de l'installation ne s'est pas terminé normalement. Contactez votre service de support technique ou l'éditeur du package. {{Action [2], emplacement : [3], commande : [4]}} - Problème détecté dans ce package Windows Installer. Un fichier DLL requis pour cette installation n'a pas pu être exécuté. Contactez votre service de support technique ou l'éditeur du package. {{Action [2], entrée : [3], bibliothèque : [4]}} - Suppression effectuée. - Échec de la suppression. - Annonce effectuée. - Échec de l'annonce. - Configuration effectuée. - Échec de la configuration. - Vous devez être administrateur pour supprimer cette application. Pour la supprimer, ouvrez une session avec un compte d'administrateur ou contactez votre service de support technique pour obtenir de l'assistance. - Le package d'installation source du produit [2] n'est pas synchronisé avec le package client. Recommencez l'installation en utilisant une copie valide du package d'installation « [3] ». - Vous devez redémarrer l’ordinateur afin de terminer l’installation de [2], or d’autres utilisateurs sont actuellement connectés à cet ordinateur, et un redémarrage risque d’entraîner la perte de leurs données. Voulez-vous redémarrer maintenant ? - Le chemin d'accès [2] n'est pas valide. Spécifiez un chemin d'accès valide. - Mémoire insuffisante. Fermez les autres applications avant de recommencer. - Le lecteur [2] est vide. Insérez un disque et cliquez sur Réessayer, ou cliquez sur Annuler pour revenir au volume sélectionné précédemment. - Le lecteur [2] est vide. Insérez un disque et cliquez sur Réessayer, ou cliquez sur Annuler pour revenir à la boîte de dialogue de sélection de l'emplacement et sélectionner un autre volume. - Le dossier [2] n'existe pas. Entrez un chemin d'accès à un dossier existant. - Vous ne disposez pas des privilèges nécessaires pour lire le contenu de ce dossier. - Impossible de trouver un dossier de destination valide pour l'installation. - Une erreur s'est produite lors de la tentative de lecture de la base de données d'installation source : [2]. - Planification du redémarrage : le fichier [2] est renommé [3]. Pour terminer l'opération, votre système doit être redémarré. - Planification du redémarrage : suppression du fichier [2]. Pour terminer l'opération, votre système doit être redémarré. - Impossible d'inscrire le module [2]. HRESULT [3]. Contactez votre service de support technique. - Impossible d'annuler l'inscription du module [2]. HRESULT [3]. Contactez votre service de support technique. - Impossible de placer le package [2] dans le cache. Erreur : [3]. Contactez votre service de support technique. - Impossible d'inscrire la police [2]. Vérifiez que vous disposez des autorisations nécessaires pour installer des polices et que le système prend en charge cette police en particulier. - Impossible d'annuler l'inscription de la police [2]. Vérifiez que vous disposez des autorisations nécessaires pour supprimer des polices. - Impossible de créer le raccourci [2]. Vérifiez que le dossier de destination existe et que vous êtes autorisé à y accéder. - Impossible de supprimer le raccourci [2]. Vérifiez que le fichier de raccourcis existe et que vous êtes autorisé à y accéder. - Impossible d'inscrire la bibliothèque de types pour le fichier [2]. Contactez votre service de support technique. - Impossible d'annuler l'inscription de la bibliothèque de types pour le fichier [2]. Contactez votre service de support technique. - Impossible de mettre à jour le fichier ini [2][3]. Vérifiez que ce fichier existe et que vous êtes autorisé à y accéder. - Impossible de planifier le remplacement du fichier [3] par le fichier [2] au redémarrage. Vérifiez que vous disposez des autorisations d'écriture sur le fichier [3]. - Erreur lors de la suppression du gestionnaire de pilotes ODBC. Erreur ODBC [2] : [3]. Contactez votre service de support technique. - Erreur lors de l'installation du gestionnaire de pilotes ODBC. Erreur ODBC [2] : [3]. Contactez votre service de support technique. - Erreur lors de la suppression du pilote ODBC [4]. Erreur ODBC [2] : [3]. Vérifiez que vous disposez des privilèges nécessaires pour supprimer des pilotes ODBC. - Erreur lors de l'installation du pilote ODBC [4]. Erreur ODBC [2] : [3]. Vérifiez que le fichier [4] existe et que vous êtes autorisé à y accéder. - Erreur lors de la configuration de la source de données ODBC [4]. Erreur ODBC [2] : [3]. Vérifiez que le fichier [4] existe et que vous êtes autorisé à y accéder. - Impossible de démarrer le service « [2] » ([3]). Vérifiez que vous disposez des privilèges nécessaires pour démarrer les services système. - Impossible d'arrêter le service « [2] » ([3]). Vérifiez que vous disposez des privilèges nécessaires pour arrêter les services système. - Impossible de supprimer le service « [2] » ([3]). Vérifiez que vous disposez des privilèges nécessaires pour supprimer les services système. - Impossible d'installer le service « [2] » ([3]). Vérifiez que vous disposez des privilèges nécessaires pour installer les services système. - Impossible de mettre à jour la variable d'environnement « [2] ». Vérifiez que vous disposez des privilèges nécessaires pour modifier les variables d'environnement. - Vous ne disposez pas des privilèges nécessaires pour effectuer cette installation pour tous les utilisateurs de cet ordinateur. Ouvrez une session en tant qu'administrateur, puis réessayez. - Impossible de définir la sécurité du fichier « [3] ». Erreur : [2]. Vérifiez que vous disposez des privilèges nécessaires pour modifier les autorisations de sécurité pour ce fichier. - Les services de composants (COM+ 1.0) ne sont pas installés sur cet ordinateur. Cette installation nécessite les services de composants afin de se terminer correctement. Les services de composants sont disponibles dans Windows 2000. - Erreur lors de l'inscription de l'application COM+. Contactez le support technique pour plus d'informations. - Erreur lors de l'annulation de l'inscription de l'application COM+. Contactez le support technique pour plus d'informations. - La description du service « [2] » ([3]) n'a pas pu être modifiée. - Le service Windows Installer ne peut pas mettre à jour le fichier système [2], car celui-ci est protégé par Windows. Vous devrez peut-être mettre à jour votre système d'exploitation pour que ce programme fonctionne correctement. {{Version du package : [3], version protégée du système d'exploitation : [4]}} - Le service Windows Installer ne peut pas mettre à jour le fichier Windows protégé [2]. {{Version du package : [3], version protégée du système d'exploitation : [4], erreur SFP : [5]}} - Le service Windows Installer ne peut pas mettre à jour un ou plusieurs des fichiers Windows protégés. {{Erreur SFP : [2]. Liste des fichiers protégés :\r\n[3]}} - Les installations utilisateur sont désactivées via une stratégie sur cet ordinateur. - Une erreur s'est produite lors de l'installation de l'assembly « [6] ». Voir Aide et support pour plus d'informations. HRESULT : [3]. {{interface de l'assembly : [4], fonction : [5] composant : [2]}} - Une erreur s'est produite lors de l'installation de l'assembly « [6] ». L'assembly n'a pas un nom fort ou n'est pas signé avec la longueur de clé minimale. HRESULT : [3]. {{interface de l'assembly : [4], fonction : [5], composant : [2]}} - Une erreur s'est produite lors de l'installation de l'assembly « [6] ». La signature ou le catalogue n'a pas pu être vérifié ou n'est pas valide. HRESULT : [3]. {{interface de l'assembly : [4], fonction : [5], composant : [2]}} - Une erreur s'est produite lors de l'installation de l'assembly « [6] ». Un ou plusieurs des modules de l'assembly sont introuvables. HRESULT : [3]. {{interface de l'assembly : [4], fonction : [5], composant : [2]}} - - octets - Go - Ko - Mo - Ce composant ne sera pas disponible en totalité - Ce composant sera installé à la demande - Ce composant sera installé pour être exécuté à partir du CD - Ce composant sera installé en totalité sur le disque dur local - Ce composant sera installé en totalité pour être exécuté à partir du réseau - Installation pour une exécution à partir du CD - Installation sur le disque dur local - Installation pour une exécution à partir du réseau - Folder|Nouveau dossier - Collecte des informations nécessaires... - Ce composant ne sera pas installé - Ce composant sera configuré pour être installé à la demande - Ce composant sera installé pour être exécuté à partir du CD - Ce composant sera installé sur le disque dur local - Ce composant sera installé pour être exécuté à partir du réseau - Ce composant ne sera plus disponible - Installation à la demande - Ce composant sera disponible pour être exécuté à partir du CD - Ce composant sera installé sur le disque dur local - Ce composant sera disponible pour être exécuté à partir du réseau - Ce composant sera désinstallé en totalité et ne pourra plus être exécuté à partir du CD - Ce composant ne pourra plus être exécuté à partir du CD et sera configuré pour être installé à la demande - Ce composant pourra encore être exécuté à partir du CD - Ce composant ne pourra plus être exécuté à partir du CD et sera installé sur le disque dur local - Ce composant libère [1] sur votre disque dur. - Ce composant requiert [1] sur votre disque dur. - Calcul de l'espace nécessaire pour ce composant... - Ce composant sera supprimé en totalité - Ce composant sera supprimé du disque dur local, mais sera configuré pour être installé à la demande - Ce composant sera supprimé du disque dur local, mais pourra encore être exécuté à partir du CD - Ce composant sera conservé sur le disque dur local - Ce composant sera supprimé du disque dur local, mais pourra être exécuté à partir du réseau - Ce composant sera désinstallé en totalité et ne pourra plus être exécuté à partir du réseau - Ce composant ne pourra plus être exécuté à partir du réseau et sera configuré pour être installé à la demande - Ce composant ne pourra plus être exécuté à partir du réseau et sera installé sur le disque dur local - Ce composant pourra encore être exécuté à partir du réseau - Ce composant libère [1] sur votre disque dur. [2] de ses [3] sous-composants sont sélectionnés. Les sous-composants libèrent [4] sur votre disque dur. - Ce composant libère [1] sur votre disque dur. [2] de ses [3] sous-composants sont sélectionnés. Les sous-composants requièrent [4] sur votre disque dur. - Ce composant requiert [1] sur votre disque dur. [2] de ses [3] sous-composants sont sélectionnés. Les sous-composants libèrent [4] sur votre disque dur. - Ce composant requiert [1] sur votre disque dur. [2] de ses [3] sous-composants sont sélectionnés. Les sous-composants requièrent [4] sur votre disque dur. - Durée restante : {[1] minute(s) }{[2] seconde(s)} - Disponible - Différence - Nécessaire - Taille du disque - Volume - diff --git a/Src/Localization/WixUI/WixUI_he-IL.wxl b/Src/Localization/WixUI/WixUI_he-IL.wxl deleted file mode 100644 index 0cba5d1..0000000 --- a/Src/Localization/WixUI/WixUI_he-IL.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - ה&קודם - ה&בא - ביטול - &סיום - &נסה שוב - ה&תעלם - &כן - &לא - אישור - הדפ&ס - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}קרא את הסכם הרשיון של [ProductName] - אני &מקבל את תנאי הסכם הרשיון - לחץ על 'התקן' כדי להתקין את המוצר עם אפשרויות ברירת מחדל עבור כל המשתמשים. לחץ על 'מתקדם' כדי לשנות אפשרויות התקנה. - לחץ על 'התקן' כדי להתקין את המוצר עם אפשרויות ברירת מחדל עבורך בלבד. לחץ על 'מתקדם' כדי לשנות אפשרויות התקנה. - ה&תקן - &מתקדם - 8 - 12 - 9 - 8 - Times New Roman - - תוכנית ההתקנה של [ProductName] - &חפש ב: - WixUI_Bmp_Up - רמה אחת למעלה - WixUI_Bmp_New - צור תיקיה חדשה - &שם תיקיה: - WixUI_Bmp_Banner - עבור אל תיקיית היעד - {\WixUI_Font_Title}שינוי תיקיית יעד - - תוכנית ההתקנה של [ProductName] - האם אתה בטוח שברצונך לבטל את ההתקנה של [ProductName]? - WixUI_Ico_Info - סמל מידע - - תוכנית ההתקנה של [ProductName] - עץ בחירות - &עיון... - אי&פוס - &שימוש בדיסק - WixUI_Bmp_Banner - לחץ על הסמלים בעץ להלן כדי לשנות את אופן ההתקנה של תכונות. - בחר כיצד ברצונך להתקין את התכונות. - {\WixUI_Font_Title}התקנה מותאמת אישית - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - מיקום: - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Banner - באמצעי האחסון המסומנים אין די שטח דיסק זמין עבור התכונות שנבחרו. באפשרותך להסיר חלק מהקבצים מאמצעי האחסון המסומנים, להתקין פחות תכונות או לבחור כונני יעד אחרים. - שטח הדיסק הנדרש להתקנת התכונות שנבחרו. - {\WixUI_Font_Title}דרישות שטח דיסק - {120}{70}{70}{70}{70} - - תוכנית ההתקנה של [ProductName] - טקסט מידע - WixUI_Ico_Info - סמל מידע - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Dialog - לחץ על לחצן 'סיום' כדי לצאת מאשף ההתקנה. - {\WixUI_Font_Bigger}פעולתו של אשף ההתקנה של [ProductName] הושלמה - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}פעולתו של אשף ההתקנה של [ProductName] הסתיימה מוקדם מהצפוי - פעולתו של אשף ההתקנה של [ProductName] הסתיימה מוקדם מהצפוי עקב שגיאה. המערכת שלך לא השתנתה. כדי להתקין תוכנית זו במועד מאוחר יותר, הפעל שוב את אשף ההתקנה. - לחץ על לחצן 'סיום' כדי לצאת מאשף ההתקנה. - - תוכנית ההתקנה של [ProductName] - תכונות מוצר - WixUI_Bmp_Banner - בחר כיצד ברצונך להתקין את התכונות. - {\WixUI_Font_Title}תכונות מוצר - FeaturesDlgItemDescription - FeaturesDlgItemSize - ה&תקן - &שנה - - תוכנית ההתקנה של [ProductName] - י&ציאה - WixUI_Bmp_Banner - היישומים הבאים עושים שימוש בקבצים שתוכנית התקנה זו חייבת לעדכן. סגור יישומים אלה ולאחר מכן לחץ על '&נסה שוב' כדי להמשיך בהתקנה, או על 'יציאה' כדי לצאת ממנה. - חלק מהקבצים שיש לעדכן נמצאים כעת בשימוש. - {\WixUI_Font_Title}קבצים בשימוש - - תוכנית ההתקנה של [ProductName] - &שינוי... - {\WixUI_Font_Title}תיקיית יעד - לחץ על 'הבא' כדי להתקין את תיקיית ברירת המחדל או לחץ על 'שנה' כדי לבחור תיקיה אחרת. - WixUI_Bmp_Banner - התקן את [ProductName] ב: - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Banner - בחר את הטווח והתיקיה להתקנה - {\WixUI_Font_Title}טווח התקנה - {\WixUI_Font_Emphasized}התקן &רק עבורך ([LogonUser]) - [ProductName] יותקן בתיקיה לפי משתמש ויהיה זמין רק עבור חשבון המשתמש שלך. אינך זקוק להרשאות מקומיות של מנהל מערכת. - [ProductName] אינו תומך בהתקנה לפי משתמש. - {\WixUI_Font_Emphasized}התקן עבור כל משתמשי &מחשב זה - [ProductName] יותקן בתיקיה לפי מחשב כברירת מחדל ויהיה זמין עבור כל המשתמשים. באפשרותך לשנות את תיקיית היעד המהווה ברירת מחדל. יש צורך בהרשאות מקומיות של מנהל מערכת. - תיקיית &התקנה: - &שינוי... - - תוכנית ההתקנה של [ProductName] - ספריית ההתקנה חייבת להימצא בכונן קשיח מקומי. - WixUI_Ico_Info - סמל מידע - - תוכנית ההתקנה של [ProductName] - אני &מקבל את תנאי הסכם הרשיון - WixUI_Bmp_Banner - קרא בעיון את הסכם הרשיון שלהלן - {\WixUI_Font_Title}הסכם רשיון למשתמש קצה - - תוכנית ההתקנה של [ProductName] - &שנה - שנה התקנה - &תקן - תקן התקנה - ה&סר - הסר התקנה - WixUI_Bmp_Banner - בחר את הפעולה שברצונך לבצע. - {\WixUI_Font_Title}שינוי, תיקון או הסרה של ההתקנה - מתן אפשרות לשינוי אופן ההתקנה של תכונות. - ל- [ProductName] אין תכונות הניתנות לבחירה באופן עצמאי. - הסרת [ProductName] מהמחשב. - אין אפשרות להסיר את [ProductName]. - תיקון שגיאות בהתקנה האחרונה על-ידי תיקון קבצים, קיצורי דרך וערכי רישום חסרים ופגומים. - אין אפשרות לתקן את [ProductName]. - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Dialog - אשף ההתקנה מאפשר לך לשנות את אופן ההתקנה של התכונות של [ProductName] במחשב או להסיר מוצר זה מהמחשב. לחץ על 'הבא' כדי להמשיך או על 'ביטול' כדי לצאת מאשף ההתקנה. - {\WixUI_Font_Bigger}ברוך הבא אל אשף ההתקנה של [ProductName] - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Banner - היישומים הבאים משתמשים בקבצים שתוכנית התקנה זו צריכה לעדכן. באפשרותך לאפשר לאשף ההתקנה לסגור אותם ולנסות להפעיל אותם מחדש או לאתחל מחדש את המחשב מאוחר יותר. - חלק מהקבצים שיש לעדכן נמצאים כעת בשימוש. - {\WixUI_Font_Title}קבצים בשימוש - &סגור את היישומים ונסה להפעיל אותם מחדש. - &אל תסגור את היישומים. יידרש אתחול מחדש. - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Banner - באמצעי האחסון המסומנים אין די שטח דיסק זמין עבור התכונות הנוכחיות שנבחרו. באפשרותך להסיר קבצים מסוימים מאמצעי האחסון המסומנים, להתקין פחות תכונות או לבחור כונן יעד אחר. - שטח הדיסק הנדרש עבור ההתקנה חורג משטח הדיסק הזמין. - {\WixUI_Font_Title}אזל השטח בדיסק - {120}{70}{70}{70}{70} - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Banner - באמצעי האחסון המסומנים אין די שטח דיסק זמין עבור התכונות הנוכחיות שנבחרו. באפשרותך להסיר קבצים מסוימים מאמצעי האחסון המסומנים, להתקין פחות תכונות או לבחור כונן יעד אחר. - שטח הדיסק הנדרש עבור ההתקנה חורג משטח הדיסק הזמין. - {\WixUI_Font_Title}אזל השטח בדיסק - {120}{70}{70}{70}{70} - לחלופין, תוכל לבחור להפוך ללא זמינה את פונקציונליות ההחזרה למצב קודם של המתקין. הפיכת ההחזרה למצב קודם ללא זמינה מונעת מהמתקין לשחזר את המצב המקורי של המחשב במקרה שההתקנה מופסקת בצורה כלשהי. לחץ על 'כן' אם ברצונך לקחת את הסיכון של הפיכת ההחזרה למצב קודם ללא זמינה. - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Dialog - נא המתן בעת שאשף ההתקנה מתכונן להנחות אותך בתהליך ההתקנה. - {\WixUI_Font_Bigger}ברוך הבא אל אשף ההתקנה של [ProductName] - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Banner - נא המתן בזמן שאשף ההתקנה מתקין את [ProductName]. - {\WixUI_Font_Title}התקנת [ProductName] - נא המתן בזמן שאשף ההתקנה משנה את [ProductName]. - {\WixUI_Font_Title}שינוי [ProductName] - נא המתן בזמן שאשף ההתקנה מתקן את [ProductName]. - {\WixUI_Font_Title}תיקון [ProductName] - נא המתן בזמן שאשף ההתקנה מסיר את [ProductName]. - {\WixUI_Font_Title}הסרת [ProductName] - נא המתן בזמן שאשף ההתקנה מעדכן את [ProductName]. - {\WixUI_Font_Title}עדכון [ProductName] - ההתקדמות הסתיימה - מצב: - - תוכנית ההתקנה של [ProductName] - ה&תקן - WixUI_Bmp_Dialog - אשף ההתקנה ישלים את התקנת [ProductName] במחשב שלך. לחץ על 'התקן' כדי להמשיך, או על 'ביטול' כדי לצאת מאשף ההתקנה. - {\WixUI_Font_Bigger}חידוש פעולתו של אשף ההתקנה של [ProductName] - - תוכנית ההתקנה של [ProductName] - &רגילה - התקנה רגילה - מ&ותאמת אישית - התקנה מותאמת אישית - מ&לאה - התקנה מלאה - WixUI_Bmp_Banner - {\WixUI_Font_Title}בחירת סוג התקנה - בחר בסוג ההתקנה שמתאים ביותר לצרכיך - התקנת תכונות התוכנית הנפוצות ביותר. מומלץ עבור מרבית המשתמשים. - מתן אפשרות למשתמשים לבחור אילו תכונות תוכנית יותקנו והיכן הן יותקנו. מומלץ עבור משתמשים מתקדמים. - כל תכונות התוכנית יותקנו. האפשרות דורשת את שטח הדיסק הרב ביותר. - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}פעולתו של אשף ההתקנה של [ProductName] הופסקה - התקנת [ProductName] הופסקה. המערכת שלך לא השתנתה. כדי להתקין תוכנית זו במועד מאוחר יותר, הפעל שוב את ההתקנה. - לחץ על לחצן 'סיום' כדי לצאת מאשף ההתקנה. - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Banner - ה&תקן - לחץ על 'התקן' כדי להתחיל בהתקנה. לחץ על 'הקודם' כדי לסקור או לשנות הגדרה כלשהי מהגדרות ההתקנה. לחץ על 'ביטול' כדי לצאת מהאשף. - {\WixUI_Font_Title}מוכן להתקנת [ProductName] - &שנה - לחץ על 'שנה' כדי להתחיל בהתקנה. לחץ על 'הקודם' כדי לסקור או לשנות הגדרה כלשהי מהגדרות ההתקנה. לחץ על 'ביטול' כדי לצאת מהאשף. - {\WixUI_Font_Title}מוכן לשינוי [ProductName] - &תקן - לחץ על 'תקן' כדי לתקן את ההתקנה של [ProductName]. לחץ על 'הקודם' כדי לסקור או לשנות הגדרה כלשהי מהגדרות ההתקנה. לחץ על 'ביטול' כדי לצאת מהאשף. - {\WixUI_Font_Title}מוכן לתיקון [ProductName] - ה&סר - לחץ על 'הסר' כדי להסיר את [ProductName] מהמחשב. לחץ על 'הקודם' כדי לסקור או לשנות הגדרה כלשהי מהגדרות ההתקנה. לחץ על 'ביטול' כדי לצאת מהאשף. - {\WixUI_Font_Title}מוכן להסרת [ProductName] - &עדכן - לחץ על 'עדכן' כדי לעדכן את [ProductName] במחשב. לחץ על 'הקודם' כדי לסקור או לשנות הגדרה כלשהי מהגדרות ההתקנה. לחץ על 'ביטול' כדי לצאת מהאשף. - {\WixUI_Font_Title}מוכן לעדכון [ProductName] - - תוכנית ההתקנה של [ProductName] - &חזור - נא המתן בזמן שהמתקין מסיים להגדיר את דרישות שטח הדיסק שלך. - WixUI_Ico_Exclam - סמל של סימן קריאה - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Dialog - אשף ההתקנה יתקין את [ProductName] במחשב שלך. לחץ על 'הבא' כדי להמשיך או על 'ביטול' כדי לצאת מאשף ההתקנה. - אשף ההתקנה יעדכן את [ProductName] במחשב. לחץ על 'הבא' כדי להמשיך או על 'ביטול' כדי לצאת מאשף ההתקנה. - {\WixUI_Font_Bigger}ברוך הבא אל אשף ההתקנה של [ProductName] - - תוכנית ההתקנה של [ProductName] - WixUI_Bmp_Dialog - אני &מקבל את תנאי הסכם הרשיון - ה&תקן - &עדכן - {\WixUI_Font_Title}קרא את הסכם הרשיון של [ProductName] - - מאמת התקנה - מעתיק קבצים חדשים - קובץ: [1], ספריה: [9], גודל: [6] - מעתיק קבצי התקנה ברשת - קובץ: [1], ספריה: [9], גודל: [6] - מחשב דרישות שטח - מחשב דרישות שטח - מחשב דרישות שטח - יוצר קיצורי דרך - קיצור דרך: [1] - מפרסם רכיבים העומדים בדרישות - מזהה רכיב: [1], מזהה: [2] - מפרסם תכונות מוצר - תכונה: [1] - מפרסם מידע אודות המוצר - רושם שרתי מחלקה - מזהה מחלקה: [1] - רושם שרתי הרחבה - הרחבה: [1] - רושם מידע MIME - סוג תוכן MIME‏: [1], הרחבה: [2] - רושם מזהי תוכנית - ProgID:‏ [1]‎ - מקצה שטח רישום - שטח פנוי: [1] - מחפש יישומים מותקנים - מאפיין: [1], חתימה: [2] - מאגד קבצי הפעלה - קובץ: [1] - מחפש מוצרים שעומדים בדרישות - יוצר תיקיות - תיקיה: [1] - מוחק שירותים - שירות: [1] - יוצר קבצים כפולים - קובץ: [1], ספריה: [9], גודל: [6] - מחפש יישומים קשורים - נמצא יישום: [1] - מתקין רכיבי ODBC - מתקין שירותים חדשים - שירות: [2] - מעריך תנאי הפעלה - מעביר מצבי תכונות מיישומים קשורים - יישום: [1] - מעביר קבצים - קובץ: [1], ספריה: [9], גודל: [6] - מתקן קבצים - קובץ: [1], ספריה: [2], גודל: [3] - מעדכן רישום רכיבים - מבצע רישום יישומים ורכיבים של COM+‎ - AppId‏: [1], {{AppType‏: [2], משתמשים: [3], RSN‏: [4]}} - מבצע רישום גופנים - גופן: [1] - רושם מוצר - [1] - רושם ספריות סוגים - LibID:‏ [1]‎ - רושם משתמש - [1] - מסיר קבצים כפולים - קובץ: [1], ספריה: [9] - מעדכן מחרוזות סביבה - שם: [1], ערך: [2], פעולה [3] - מסיר יישומים - יישום: [1], שורת פקודה: [2] - מסיר קבצים - קובץ: [1], ספריה: [9] - מסיר תיקיות - תיקיה: [1] - ‏‏מסיר ערכים בקבצי INI - קובץ: [1], סעיף: [2], מפתח: [3], ערך: [4] - מסיר רכיבי ODBC - מסיר ערכי רישום של המערכת - מפתח: [1], שם: [2] - מסיר קיצורי דרך - קיצור דרך: [1] - מחפש מוצרים שעומדים בדרישות - רושם מודולים - קובץ: [1], תיקיה: [2] - מבטל רישום מודולים - קובץ: [1], תיקיה: [2] - מאתחל ספריות ODBC - מפעיל שירותים - שירות: [1] - מפסיק שירותים - שירות: [1] - מבטל פרסום של רכיבים העומדים בדרישות - מזהה רכיב: [1], מזהה: [2] - מבטל פרסום של תכונות מוצר - תכונה: [1] - מסיר רישום של שרתי מחלקה - מזהה מחלקה: [1] - מבטל רישום יישומים ורכיבים של +COM - ‏AppId‏: [1] {{AppType: ‏[2]‏}} - מבטל רישום של שרתי הרחבה - הרחבה: [1] - מבטל רישום גופנים - גופן: [1] - מבטל רישום של מידע MIME - סוג תוכן MIME‏: [1], הרחבה: [2] - מבטל רישום של מזהי תוכנית - ProgID:‏ [1]‎ - מבטל רישום של ספריות סוגים - LibID:‏ [1]‎ - מעדכן מחרוזות סביבה - שם: [1], ערך: [2], פעולה [3] - כותב ערכים בקבצי INI - קובץ: [1], סעיף: [2], מפתח: [3], ערך: [4] - כותב ערכי רישום של המערכת - מפתח: [1], שם: [2], ערך: [3] - מפרסם יישום - יוצר פעולות Script עבור הפעולה: - [1] - מתקין את קטלוג המערכת - קובץ: [1], יחסי תלות: [2] - מפרסם מידע הרכבה - הקשר יישום: [1], שם הרכבה: [2] - מבטל פרסום של מידע הרכבה - הקשר יישום: [1], שם הרכבה: [2] - פעולת חזרה למצב קודם: - [1] - מסיר קבצי גיבוי - קובץ: [1] - מסיר קבצים שהועברו - קובץ: [1], ספריה: [9] - מבטל פרסום מידע אודות המוצר - - {{שגיאה מכרעת: }} - {{שגיאה [1]. }} - אזהרה [1]. - ‏‏מידע [1]. - ‏‏המתקין נתקל בשגיאה בלתי צפויה בהתקנת חבילה זו. ייתכן ששגיאה זו מצביעה על בעיה בחבילה. קוד השגיאה הוא [1]. {{הארגומנטים הם: [2], [3], [4]}} - {{הדיסק מלא: }} - פעולה [Time]: [1]. [2]‏ - [ProductName] - {[2]}{, [3]}{, [4]} - סוג הודעה: [1], ארגומנט: [2]‏ - === תחילת הרישום: [Date] ‏ [Time]‏ === - === סיום הרישום: [Date] ‏ [Time] === - תחילת הפעולה [Time]‏: [1]. - סיום הפעולה [Time]‏: [1]. ערך החזרה [2]. - זמן נותר: {[1] דקות }{[2] שניות} - אין זיכרון פנוי. סגור יישומים אחרים לפני שתנסה שוב. - המתקין הפסיק להגיב. - פעולת המתקין הופסקה בטרם עת. - נא המתן בזמן ש- Windows קובע את תצורת [ProductName] - אוסף מידע נדרש... - מסיר גירסאות קודמות של יישום זה... - מתכונן להסרת גירסאות קודמות של יישום זה... - התקנת {[ProductName] }הסתיימה בהצלחה. - התקנת {[ProductName] }נכשלה. - שגיאה בקריאה מקובץ: [2]. {{ שגיאת מערכת [3].}} ודא שהקובץ קיים ושבאפשרותך לגשת אליו. - אין אפשרות ליצור את הקובץ '[2]'. ספריה בשם זה כבר קיימת. בטל את ההתקנה ונסה להתקין במיקום אחר. - ‏‏נא הכנס את הדיסק: [2]‏ - למתקין אין די הרשאות לגשת לספריה זו: [2]. אין אפשרות להמשיך בהתקנה. היכנס כמנהל מערכת, או פנה למנהל המערכת. - שגיאה בכתיבה לקובץ: [2]. ודא שיש לך גישה לספריה זו. - שגיאה בקריאה מקובץ ‎[2]‎. {{ שגיאת מערכת [3].}} ודא שהקובץ קיים ושבאפשרותך לגשת אליו. - ליישום אחר יש גישה בלעדית לקובץ '[2]'. סגור את כל היישומים האחרים ולאחר מכן לחץ על 'נסה שוב'. - אין די שטח דיסק להתקנת קובץ זה: [2]. פנה שטח דיסק ולחץ על 'נסה שוב', או לחץ על 'ביטול' כדי לצאת. - קובץ המקור לא נמצא: [2]. ודא שהקובץ קיים ושבאפשרותך לגשת אליו. - ‏‏שגיאה בקריאה מקובץ: [3]. {{ שגיאת מערכת [2].}} ודא שהקובץ קיים ושבאפשרותך לגשת אליו. - ‏‏שגיאה בכתיבה לקובץ: [3]. {{ שגיאת מערכת [2].}} ודא שיש לך גישה לספריה זו. - קובץ המקור לא נמצא {{(קובץ Cabinet‏)}}: [2]. ודא שהקובץ קיים ושבאפשרותך לגשת אליו. - אין אפשרות ליצור את הספריה '[2]'. קובץ בשם זה קיים כבר. שנה את שם הקובץ או הסר אותו, ולחץ על 'נסה שוב', או לחץ על 'ביטול' כדי לצאת. - אמצעי האחסון [2] אינו זמין כעת. בחר אמצעי אחסון אחר. - הנתיב שצוין '[2]' אינו זמין. - ‏‏לא ניתן לכתוב לתיקיה שצוינה: [2]. - אירעה שגיאת רשת בעת הניסיון לקרוא מהקובץ: [2] - אירעה שגיאה בעת הניסיון ליצור את הספריה: [2] - ‏‏אירעה שגיאת רשת בעת הניסיון ליצור את הספריה: [2]‏ - אירעה שגיאת רשת בעת הניסיון לפתוח את קובץ Cabinet של קובץ המקור: [2] - הנתיב שצוין ארוך מדי: [2] - ‏‏למתקין אין הרשאות מספיקות לשינוי קובץ זה: [2]. - חלק מנתיב התיקיה '[2]' אינו חוקי. הוא ריק, או שהוא חורג מהאורך שהמערכת מתירה. - נתיב התיקיה '[2]' מכיל מילים שאינן חוקיות עבור נתיבי תיקיות. - נתיב התיקיה '[2]' מכיל תו לא חוקי. - '[2]' אינו שם קובץ קצר חוקי. - שגיאה בקבלת אבטחת הקובץ: [3] ‏GetLastError‏: [2] - כונן לא חוקי: [2] - שגיאה בהחלת תיקון על קובץ [2]. כנראה שהקובץ עודכן באמצעים אחרים, ולא ניתן עוד לשנותו באמצעות תיקון זה. לקבלת מידע נוסף, פנה לספק התיקון. {{שגיאת מערכת: [3]}} - אין אפשרות להתקין קובץ נדרש מאחר שקובץ ה- Cabinet ‏[2] אינו חתום בחתימה דיגיטלית. דבר זה עשוי להצביע על כך שקובץ ה- Cabinet פגום. - אין אפשרות להתקין קובץ נדרש מאחר שקובץ ה- Cabinet ‏[2] כולל חתימה דיגיטלית שאינה חוקית. דבר זה עשוי להצביע על כך שקובץ ה- Cabinet פגום.{{ WinVerifyTrust החזיר את שגיאה [3].}} - העתקת קובץ [2] כראוי נכשלה: שגיאת CRC. - העברת קובץ [2] כראוי נכשלה: שגיאת CRC. - תיקון קובץ [2] כראוי נכשל: שגיאת CRC. - אין אפשרות להתקין את הקובץ '[2]' מאחר שהקובץ אינו נמצא בקובץ Cabinet ‏'[3]'. מצב זה עשוי להצביע על שגיאת רשת, שגיאה בקריאה מכונן תקליטורים או בעיה בחבילה זו. - אין אפשרות להשתמש בקובץ Cabinet ‏'[2]' הדרוש להתקנה זו, מאחר שהוא פגום. מצב זה עשוי להצביע על שגיאת רשת, שגיאה בקריאה מכונן תקליטורים או בעיה בחבילה זו. - אירעה שגיאה בעת יצירת קובץ זמני הדרוש להשלמת התקנה זו. {{ תיקיה: [3]. קוד שגיאת מערכת: [2]}} - לא ניתן ליצור את המפתח: [2]. {{ שגיאת מערכת [3].}} ודא שיש לך הרשאות גישה מספיקות למפתח זה או פנה לצוות התמיכה.‏ - לא ניתן לפתוח את המפתח: [2]. {{ שגיאת מערכת [3].}} ודא שיש לך הרשאות גישה מספיקות למפתח זה או פנה לצוות התמיכה. - לא ניתן למחוק את הערך [2] ממפתח [3]. {{ שגיאת מערכת [4].}} ודא שיש לך הרשאות גישה מספיקות למפתח זה או פנה לצוות התמיכה. - ‏‏‏‏לא ניתן למחוק את המפתח [2]. {{ שגיאת מערכת [3].}} ודא שיש לך הרשאות גישה מספיקות למפתח זה או פנה לצוות התמיכה. - לא ניתן לקרוא את הערך [2] מהמפתח [3]. {{ שגיאת מערכת [4].}} ודא שיש לך הרשאות גישה מספיקות למפתח זה או פנה לצוות התמיכה. - לא ניתן לכתוב את הערך [2] למפתח [3]. {{ שגיאת מערכת [4].}} ודא שיש לך הרשאות גישה מספיקות למפתח זה או פנה לצוות התמיכה. - לא ניתן לקבל שמות ערכים עבור מפתח [2]. {{ שגיאת מערכת [3].}} ודא שיש לך הרשאות גישה מספיקות למפתח זה או פנה לצוות התמיכה. - לא ניתן לקבל שמות מפתחות משנה עבור מפתח [2]. {{ שגיאת מערכת [3].}} ודא שיש לך הרשאות גישה מספיקות למפתח זה או פנה לצוות התמיכה. - לא ניתן לקרוא מידע אבטחה עבור מפתח [2]. {{ שגיאת מערכת [3].}} ודא שיש לך הרשאות גישה מספיקות למפתח זה או פנה לצוות התמיכה. - לא ניתן להגדיל את שטח הרישום הזמין. ‎[2] KB של שטח רישום פנוי דרושים להתקנת יישום זה. - התקנה אחרת מתבצעת כעת. עליך להשלים התקנה זו לפני שתמשיך בהתקנה הנוכחית. - שגיאה בגישה לנתונים מאובטחים. ודא ש- Windows Installer מוגדר כראוי ונסה להתקין שוב. - משתמש '[2]' הפעיל בעבר התקנה של מוצר '[3]'. משתמש זה יצטרך להפעיל התקנה זו שוב בטרם יוכל להשתמש במוצר זה. ההתקנה הנוכחית שלך תמשיך כעת. - משתמש '[2]' הפעיל בעבר התקנה של מוצר '[3]'. משתמש זה יצטרך להפעיל התקנה זו שוב בטרם יוכל להשתמש במוצר זה. - אזל השטח בדיסק -- אמצעי אחסון: '[2]'; שטח נדרש: ‎[3] KB; שטח זמין: [4] KB. פנה שטח בדיסק ונסה שוב. - ‏‏האם אתה בטוח שברצונך לבטל? - הקובץ [2][3] מוחזק בשימוש על-ידי ההליך הבא: {שם: [4], מזהה: [5], כותרת החלון: '[6]'}. סגור יישום זה ונסה שוב. - המוצר '[2]' כבר מותקן, דבר המונע את התקנת מוצר זה. שני מוצרים אלה אינם תואמים. - אין די שטח דיסק באמצעי אחסון '[2]' כדי להמשיך את ההתקנה עם אפשרות שחזור מופעלת. דרושים KB ‏[3], אבל רק KB ‏[4] פנויים. לחץ על 'התעלם' להמשך ההתקנה ללא אפשרות שמירת נתוני השחזור, לחץ על 'נסה שוב' לבדיקה חוזרת של שטח פנוי או לחץ על 'ביטול' ליציאה מתוכנית ההתקנה. - לא ניתן לגשת למיקום הרשת [2]. - יש לסגור את היישומים הבאים לפני המשך ההתקנה: - לא נמצאו מוצרים תואמים שהותקנו בעבר במחשב המיועד להתקנת מוצר זה. - אירעה שגיאה בעת הקצאת הגדרות אבטחה. [2] אינו משתמש או קבוצה חוקיים. הבעיה עשויה להיות בחבילה או בעיה בהתחברות לבקר תחום ברשת. בדוק את חיבור הרשת ולחץ על 'נסה שוב', או לחץ על 'ביטול' כדי לסיים את ההתקנה. {{אין אפשרות לאתר את SID המשתמש, שגיאת מערכת [3]}} - המפתח [2] אינו חוקי. ודא שהזנת את המפתח הנכון. - המתקין חייב להפעיל מחדש את המערכת שלך כדי שניתן יהיה להמשיך עם קביעת התצורה של [2]. לחץ על 'כן' כדי להפעיל מחדש כעת, או על 'לא' אם בכוונתך להפעיל מחדש באופן ידני מאוחר יותר. - עליך להפעיל מחדש את המערכת כדי ששינויי התצורה של [2] ייכנסו לתוקף. לחץ על 'כן', כדי להפעיל מחדש כעת, או על 'לא' אם בכוונתך להפעיל מחדש באופן ידני מאוחר יותר. - התקנה של [2] מושעית כעת. כדי להמשיך, עליך לבטל את השינויים שביצעה התקנה זו. האם ברצונך לבטל שינויים אלה? - מתבצעת כעת התקנה קודמת של מוצר זה. כדי להמשיך, עליך לבטל את השינויים שביצעה התקנה זו. האם ברצונך לבטל שינויים אלה? - לא נמצאה חבילת התקנה עבור המוצר [2]. נסה את ההתקנה שוב באמצעות עותק חוקי של חבילת ההתקנה '[3]'. - ההתקנה הושלמה בהצלחה. - ההתקנה נכשלה. - מוצר: [2] -- [3] - באפשרותך לשחזר את המחשב למצבו הקודם או להמשיך בהתקנה במועד מאוחר יותר. האם ברצונך לבצע שחזור? - אירעה שגיאה במהלך כתיבת מידע התקנה בדיסק. ודא שיש די שטח דיסק זמין ולחץ על 'נסה שוב, או לחץ על 'ביטול' כדי לסיים את ההתקנה. - לא ניתן לאתר קובץ אחד או יותר מהקבצים הדרושים לשחזור המחשב שלך למצבו הקודם. לא ניתן יהיה לבצע שחזור. - ל- [2] אין אפשרות להתקין אחד מהמוצרים הנדרשים שלו. פנה לקבוצת התמיכה הטכנית. {{שגיאת מערכת: [3].}} - לא ניתן להסיר את הגירסה הקודמת של [2]. פנה לקבוצת התמיכה הטכנית. {{שגיאת מערכת [3].}} - [2] הותקן - [2] הוגדר - [2] הוסר - קובץ [2] נדחה על-ידי מדיניות חתימה דיגיטלית. - לא ניתן לגשת לשירות Windows Installer. הדבר עשוי להתרחש אם Windows פועל במצב בטוח או אם Windows Installer אינו מותקן כראוי. פנה לצוות התמיכה לקבלת סיוע. - קיימת בעיה בחבילה זו של Windows Installer. לא ניתן להפעיל קובץ Script שנדרש להשלמת התקנה זו. פנה לצוות התמיכה או לספק החבילה. {{פעולה מותאמת אישית [2] שגיאת Script ‏[3], [4]: [5] שורה [6], עמודה [7], [8] }} - קיימת בעיה בחבילה זו של Windows Installer. לא ניתן להפעיל קובץ DLL שנדרש להשלמת התקנה זו. פנה לצוות התמיכה או לספק החבילה. {{פעולה [2], מיקום: [3], פקודה: [4] }} - קיימת בעיה בחבילה זו של Windows Installer. תוכנית המופעלת כחלק מההתקנה לא סיימה את פעולתה כצפוי. פנה לצוות התמיכה או לספק החבילה. {{פעולה [2], מיקום: [3], פקודה: [4] }} - קיימת בעיה בחבילה זו של Windows Installer. לא ניתן להפעיל קובץ DLL שנדרש להשלמת התקנה זו. פנה לצוות התמיכה או לספק החבילה. {{פעולה [2], ערך: [3], ספריה: [4] }} - ‏‏ההסרה הושלמה בהצלחה. - ‏‏ההסרה נכשלה. - המודעה הושלמה בהצלחה. - המודעה נכשלה. - ‏‏קביעת התצורה הושלמה בהצלחה. - ‏‏קביעת התצורה נכשלה. - ‏‏עליך להיות מנהל מערכת כדי להסיר יישום זה. להסרת יישום זה, היכנס למערכת עם הרשאות של מנהל מערכת או פנה לקבוצת התמיכה הטכנית לקבלת סיוע. - חבילת ההתקנה המקורית של המוצר [2] אינה מסונכרנת עם חבילת הלקוח. נסה לבצע את ההתקנה שוב באמצעות עותק חוקי של חבילת ההתקנה '[3]'. - כדי להשלים את ההתקנה של [2], עליך להפעיל מחדש את המחשב. משתמשים אחרים מחוברים כעת למחשב זה, והפעלה מחדש עלולה לגרום להם לאבד את עבודתם. האם ברצונך להפעיל מחדש כעת? - הנתיב [2] אינו חוקי. נא ציין נתיב חוקי. - אין זיכרון פנוי. סגור יישומים אחרים לפני שתנסה שוב. - אין דיסק בכונן [2]. הכנס דיסק ולחץ על 'נסה שוב', או לחץ על 'ביטול' כדי לחזור אל אמצעי האחסון הקודם שנבחר. - אין דיסק בכונן [2]. הכנס דיסק ולחץ על 'נסה שוב', או לחץ על 'ביטול' כדי לחזור אל תיבת העיון ולבחור אמצעי אחסון אחר. - התיקיה [2] אינה קיימת. נא הזן נתיב לתיקיה קיימת. - אין לך הרשאות מתאימות לקריאת תיקיה זו. - לא ניתן לקבוע תיקיית יעד חוקית עבור ההתקנה. - ‏‏שגיאה בניסיון לקרוא ממסד הנתונים המקורי של ההתקנה: [2]. - מתזמן פעולת אתחול מחדש: משנה את שם הקובץ [2] ל- [3]. יש לבצע אתחול מחדש כדי להשלים את הפעולה. - מתזמן פעולת אתחול מחדש: מוחק את הקובץ [2]. יש לבצע אתחול מחדש כדי להשלים את הפעולה. - רישום מודול [2] נכשל. HRESULT ‏[3]. פנה לצוות התמיכה. - ביטול הרישום של מודול [2] נכשל. HRESULT ‏[3]. פנה לצוות התמיכה. - אחסון החבילה [2] במטמון נכשל. שגיאה: [3]. פנה לצוות התמיכה. - לא ניתן לרשום את הגופן [2]. ודא שיש לך הרשאות מספיקות להתקנת גופנים ושהמערכת תומכת בגופן זה. - ביטול רישום הגופן [2] נכשל. ודא שיש לך הרשאות מספיקות להסרת גופנים. - לא ניתן ליצור את קיצור הדרך [2]. ודא שתיקיית היעד קיימת ושבאפשרותך לגשת אליה. - ‏‏לא ניתן להסיר את קיצור הדרך [2]. ודא שקיצור הדרך קיים ושבאפשרותך לגשת אליו. - לא ניתן לרשום ספריית סוגים עבור הקובץ [2]. פנה לצוות התמיכה. - לא ניתן לבטל את רישום ספריית הסוגים עבור הקובץ [2]. פנה לצוות התמיכה. - לא ניתן לעדכן את קובץ ה- INI ‏[2][3]. ודא שהקובץ קיים ושבאפשרותך לגשת אליו. - לא ניתן לתזמן את הקובץ [2] להחליף את הקובץ [3] במהלך אתחול מחדש. ודא שיש לך הרשאות כתיבה לקובץ [3]. - שגיאה בעת הסרת מנהל של מנהלי ההתקנים של ODBC, שגיאת ODBC‏ [2]: [3]. פנה לצוות התמיכה. - שגיאה בעת התקנת מנהל של מנהלי ההתקנים של ODBC, שגיאת ODBC‏ [2]: [3]. פנה לצוות התמיכה. - שגיאה בעת הסרת מנהל ההתקן של ODBC‏: [4], שגיאת ODBC‏ [2]: [3]. ודא שיש לך הרשאות מתאימות להסרת מנהלי התקן של ODBC. - שגיאה בעת התקנת מנהל ההתקן של ODBC‏: [4], שגיאת ODBC‏ [2]: [3]. ודא שהקובץ [4] קיים ושבאפשרותך לגשת אליו. - ‏‏שגיאה בהגדרת תצורה של מקור נתוני ODBC: ‏[4], שגיאת ODBC ‏[2]:‏ [3]. ודא שהקובץ [4] קיים ושבאפשרותך לגשת אליו. - הפעלת שירות '[2]' ([3]) נכשלה. ודא שברשותך הרשאות מספיקות להפעלת שירותי מערכת. - לא ניתן להפסיק את שירות '[2]' ([3]). ודא שברשותך הרשאות מספיקות להפסקת שירותי מערכת. - לא ניתן למחוק את שירות '[2]' ([3]). ודא שברשותך הרשאות מספיקות להסרת שירותי מערכת. - לא ניתן להתקין את שירות '[2]' ([3]). ודא שברשותך הרשאות מספיקות להתקנת שירותי מערכת. - לא ניתן לעדכן את משתנה הסביבה '[2]'. ודא שברשותך הרשאות מספיקות לשינוי משתני סביבה. - אין לך הרשאות מספיקות להשלמת התקנה זו עבור כל משתמשי המחשב. היכנס כמנהל מערכת ולאחר מכן נסה שוב לבצע התקנה זו. - לא ניתן להגדיר אבטחת קובץ עבור הקובץ '[3]'. שגיאה: [2]. ודא שברשותך הרשאות מספיקות לשינוי הרשאות האבטחה עבור קובץ זה. - שירותי רכיבים (COM+ 1.0) אינם מותקנים במחשב זה. כדי שהתקנה זו תסתיים בהצלחה, יש צורך בשירותי רכיבים. שירותי רכיבים זמינים ב- Windows 2000. - שגיאה ברישום יישום COM+‎‎. פנה לצוות התמיכה לקבלת מידע נוסף. - שגיאה בביטול הרישום של יישום COM+‎‎. פנה לצוות התמיכה לקבלת מידע נוסף. - לא ניתן לשנות את התיאור של שירות '[2]' ([3]). - לשירות Windows Installer אין אפשרות לעדכן את קובץ המערכת [2] מאחר שהקובץ מוגן על-ידי Windows. ייתכן שתצטרך לעדכן את מערכת ההפעלה שלך כדי שתוכנית זו תפעל כהלכה. {{גירסת חבילה: [3], גירסה המוגנת על-ידי מערכת ההפעלה: [4]}} - לשירות Windows Installer אין אפשרות לעדכן את קובץ Windows המוגן [2]. {{גירסת חבילה: [3], גירסה המוגנת על-ידי מערכת ההפעלה: [4], שגיאת SFP‏: [5]}} - לשירות Windows Installer אין אפשרות לעדכן קובץ Windows מוגן אחד או יותר. {{שגיאת SFP: ‏[2]. רשימת קבצים מוגנים:\r\n[3]}} - מדיניות במחשב אינה מאפשרת התקנות משתמש. - אירעה שגיאה במהלך התקנת רכיב ההרכבה '[6]'. עיין בעזרה ותמיכה לקבלת מידע נוסף. HRESULT:‏ [3]. {{ממשק הרכבה: [4], פונקציה: [5], רכיב: [2]}} - אירעה שגיאה במהלך התקנת ההרכבה '[6]'. להרכבה לא מוגדר שם חזק או שהיא אינה חתומה באמצעות מפתח באורך המינימלי הנדרש. HRESULT‏: [3]. {{ממשק הרכבה: [4], פונקציה: [5], רכיב: [2]}} - אירעה שגיאה במהלך התקנת ההרכבה '[6]'. לא ניתן לאמת את החתימה או הקטלוג או שהפריט אינו חוקי. HRESULT‏: [3]. {{ממשק הרכבה: [4], פונקציה: [5], רכיב: [2]}} - אירעה שגיאה במהלך התקנת ההרכבה '[6]'. לא ניתן לאתר מודול אחד או יותר של ההרכבה. HRESULT‏: [3]. {{ממשק הרכבה: [4], פונקציה: [5], רכיב: [2]}} - - בתים - GB - KB - MB - התכונה כולה תהיה לא זמינה - התכונה תותקן לפי דרישה - התכונה המלאה תותקן להפעלה מתקליטור - התכונה המלאה תותקן בכונן קשיח מקומי - התכונה המלאה תותקן להפעלה מרשת - תותקן להפעלה מתקליטור - תותקן בכונן קשיח מקומי - תותקן להפעלה מרשת - תיקיה|תיקיה חדשה - אוסף מידע נדרש... - תכונה זו תישאר לא מותקנת - תכונה זו תוגדר להתקנה לפי דרישה - תכונה זו תותקן להפעלה מתקליטור - תכונה זו תותקן בכונן הקשיח המקומי - תכונה זו תותקן להפעלה מהרשת - תכונה זו תהפוך ללא זמינה - תותקן לפי דרישה - תכונה זו תהיה זמינה להפעלה מתקליטור - תכונה זו תותקן בכונן הקשיח המקומי שלך - תכונה זו תהיה זמינה להפעלה מהרשת - תכונה זו תוסר לחלוטין, לא תוכל להפעיל אותה מתקליטור - תכונה זו תעבור ממצב הפעלה מתקליטור להגדרת התקנה לפי דרישה - תכונה זו תישאר במצב הפעלה מתקליטור - תכונה זו תשתנה ממצב הפעלה מתקליטור למצב התקנה בכונן הקשיח המקומי - תכונה זו מפנה עד [1] בכונן הקשיח. - תכונה זו דורשת [1] בכונן הקשיח. - מחשב דרישות עבור תכונה זו... - תכונה זו תוסר לחלוטין - תכונה זו תוסר מהכונן הקשיח המקומי שלך, אך תוגדר להתקנה לפי דרישה - תכונה זו תוסר מהכונן הקשיח המקומי שלך, אך עדיין תהיה זמינה להפעלה מתקליטור - תכונה זו תישאר בכונן הקשיח המקומי - תכונה זו תוסר מהכונן הקשיח המקומי, אך עדיין תהיה זמינה להפעלה מהרשת - תכונה זו תוסר לחלוטין, לא תוכל להפעיל אותה מהרשת - תכונה זו תשתנה ממצב הפעלה מהרשת להגדרה להתקנה לפי דרישה - תכונה זו תשתנה ממצב הפעלה מהרשת למצב התקנה בכונן הקשיח המקומי - תכונה זו תישאר במצב הפעלה מהרשת - תכונה זו מפנה [1] בכונן הקשיח. נבחרו [2] מתוך [3] תכונות המשנה שלה. תכונות המשנה מפנות [4] בכונן הקשיח. - תכונה זו מפנה [1] בכונן הקשיח. נבחרו [2] מתוך [3] תכונות המשנה שלה. תכונות המשנה דורשות [4] בכונן הקשיח. - תכונה זו דורשת [1] בכונן הקשיח. נבחרו [2] מתוך [3] תכונות המשנה שלה. תכונות המשנה מפנות [4] בכונן הקשיח. - תכונה זו דורשת [1] בכונן הקשיח. נבחרו [2] מתוך [3] תכונות המשנה שלה. תכונות המשנה דורשות [4] בכונן הקשיח. - זמן נותר: {[1] דקות }{[2] שניות} - זמין - הבדל - דרוש - גודל דיסק - אמצעי אחסון - diff --git a/Src/Localization/WixUI/WixUI_hi-IN.wxl b/Src/Localization/WixUI/WixUI_hi-IN.wxl deleted file mode 100644 index cc2da3d..0000000 --- a/Src/Localization/WixUI/WixUI_hi-IN.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &पीछे - &अगला - रद्द करें - &समाप्त करें - &पुनर्प्रयास करें - &ध्यान न दें - &हाँ - &नहीं - ठीक - &मुद्रण - - [ProductName] सेटअप - WixUI_Bmp_Banner - {\WixUI_Font_Title} कृपया [ProductName] लायसेंस एग्रीमेंट पढें - मुझे &लायसेंस एग्रीमेंट की शर्तें स्वीकार हैं - उत्पाद को सभी उपयोगकर्ताओं के लिए डिफ़ॉल्ट विकल्पों के साथ स्थापित करने के लिए स्थापित करें क्लिक करें. स्थापना विकल्प बदलने के लिए उन्नत क्लिक करें. - उत्पाद को केवल आपके लिए डिफ़ॉल्ट विकल्पों के साथ स्थापित करने के लिए स्थापित करें क्लिक करें. स्थापना विकल्प बदलने के लिए उन्नत क्लिक करें. - &स्थापित करें - &उन्नत - 8 - 12 - 9 - 8 - Tahoma - - [ProductName] सेटअप - &इसमें देखें: - WixUI_Bmp_Up - एक स्तर ऊपर - WixUI_Bmp_New - नया फ़ोल्डर बनाएँ - &फ़ोल्डर नाम: - WixUI_Bmp_Banner - गंतव्य फ़ोल्डर ब्राउज़ करें - {\WixUI_Font_Title}गंतव्य फ़ोल्डर बदलें - - [ProductName] सेटअप - क्या आप वाकई [ProductName] की स्थापना रद्द करना चाहते है? - WixUI_Ico_Info - जानकारी चिह्न - - [ProductName] सेटअप - चयनों का ट्री - ब्रा&उज़ करें... - &रीसेट करें - डिस्क &उपयोग - WixUI_Bmp_Banner - सुविधाओं की स्थापना का तरीका बदलने के लिए नीचे दिए ट्री में चिह्न क्लिक करें. - चुनें कि आप सुविधाओं को किस तरह स्थापित करना चाहते हैं. - {\WixUI_Font_Title}कस्टम सेटअप - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - स्‍थान: - - [ProductName] सेटअप - WixUI_Bmp_Banner - हाइलाइट किए गए वॉल्यूम में चयनित सुविधाओं के लिए पर्याप्त डिस्क स्थान उपलब्ध नहीं है. आप हाइलाइट किए गए वॉल्यूम से कुछ फ़ाइलें निकाल सकते हैं, कम सुविधाएँ स्थापित कर सकते हैं, या भिन्न गंतव्य ड्राइव चुन सकते हैं. - चयनित सुविधाओं की स्थापना के लिए आवश्यक डिस्क स्थान. - {\WixUI_Font_Title}डिस्क स्थान आवश्यकताएँ - {120}{70}{70}{70}{70} - - [ProductName] सेटअप - जानकारी पाठ - WixUI_Ico_Info - जानकारी चिह्न - - [ProductName] सेटअप - WixUI_Bmp_Dialog - सेटअप विज़ार्ड से बाहर निकलने के लिए समाप्ति बटन क्लिक करें. - {\WixUI_Font_Bigger} ने [ProductName] सेटअप विज़ार्ड पूरा किया है - - [ProductName] सेटअप - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] सेटअप विज़ार्ड समय के पहले ही रुक गया - किसी त्रुटि के कारण [ProductName] सेटअप विज़ार्ड समय के पहले ही रुक गया. आपका सिस्टम संशोधित नहीं किया गया है. यह प्रोग्राम बाद में स्थापित करने के लिए, सेटअप विज़ार्ड फिर से चलाएँ. - सेटअप विज़ार्ड से बाहर निकलने के लिए समाप्ति बटन क्लिक करें. - - [ProductName] सेटअप - उत्पाद सुविधाएँ - WixUI_Bmp_Banner - चुनें कि आप सुविधाओं को किस तरह स्थापित करना चाहते हैं. - {\WixUI_Font_Title}उत्पाद सुविधाएँ - FeaturesDlgItemDescription - FeaturesDlgItemSize - &स्थापित करें - &बदलें - - [ProductName] सेटअप - बा&हर जाएँ - WixUI_Bmp_Banner - निम्न अनुप्रयोगों द्वारा उपयोग की जाने वाली फ़ाइलों का इस सेटअप से अद्यतन होना आवश्यक है. इन अनुप्रयोगों को बंद करें और बाद में स्थापना जारी रखने के लिए &पुनर्प्रयास करें क्लिक करें या उससे बाहर निकलने के लिए बाहर जाएँ क्लिक करें. - कुछ ऐसी फ़ाइलें अभी उपयोग में हैं, जिन्हें अद्यतन करने की आवश्यकता है. - {\WixUI_Font_Title}फ़ाइलें उपयोग में - - [ProductName] सेटअप - &बदलें... - {\WixUI_Font_Title}गंतव्य फ़ोल्डर - डिफ़ॉल्ट फ़ोल्डर में स्थापित करने के लिए अगला क्लिक करें या दूसरा फ़ोल्डर चुनने के लिए बदलें क्लिक करें. - WixUI_Bmp_Banner - [ProductName] को यहाँ स्थापित करें: - - [ProductName] सेटअप - WixUI_Bmp_Banner - स्थापना क्षेत्र और फ़ोल्डर चुनें - {\WixUI_Font_Title}स्थापना क्षेत्र - {\WixUI_Font_Emphasized}Install &केवल आपके लिए ([USERNAME]) - [ProductName] को प्रति उपयोगकर्ता फ़ोल्डर में स्थापित किया जाएगा और केवल आपके लिए उपलब्ध होगा. आपको स्थानीय व्यवस्थापक विशेषाधिकारों की आवश्यकता नहीं होगी. - [ProductName] प्रति उपयोगकर्ता स्थापना का समर्थन नहीं करता. - {\WixUI_Font_Emphasized}इस मशीन के सभी उपयोगकर्ताओं के लिए &स्थापित करें - [ProductName] डिफ़ॉल्ट रूप से प्रति मशीन फ़ोल्डर में स्थापित किया जाएगा और सभी उपयोगकर्ताओं के लिए उपलब्ध होगा. आप डिफ़ॉल्ट स्थापना फ़ोल्डर बदल सकते हैं. आपके पास स्थानीय व्यवस्थापक विशेषाधिकार होने चाहिए. - स्थापना &फ़ोल्डर: - &बदलें... - - [ProductName] सेटअप - स्थापना निर्देशिका किसी स्थानीय हार्ड ड्राइव पर होना चाहिए. - WixUI_Ico_Info - जानकारी चिह्न - - [ProductName] सेटअप - मुझे &लायसेंस एग्रीमेंट की शर्तें स्वीकार हैं - WixUI_Bmp_Banner - कृपया निम्न लाइसेंस अनुबंध को ध्यानपूर्वक पढ़ें - {\WixUI_Font_Title}एंड-यूज़र लाइसेंस एग्रीमेंट - - [ProductName] सेटअप - &बदलें - स्थापना बदलें - सु&धारें - स्थापना सुधारें - &निकालें - स्थापना निकालें - WixUI_Bmp_Banner - आप जो कार्रवाई करना चाहते हैं, उसका चयन करें. - {\WixUI_Font_Title}स्थापना बदलें, सुधारें या निकालें - आप को सुविधाओं की स्थापना का तरीका बदलने देता है. - [ProductName] को स्वतंत्र रूप से चयन योग्य कोई सुविधाएँ नहीं हैं. - आपके कंप्‍यूटर से [ProductName] को निकालता है. - [ProductName] निकाला नहीं जा सकता. - गुम तथा दूषित फ़ाइलें, शॉर्टकट और रजिस्ट्री प्रविष्टियाँ सुलझा कर नवीनतम स्थापना में होने वाली त्रुटियाँ सुधारता है. - [ProductName] सुधारा नहीं जा सकता. - - [ProductName] सेटअप - WixUI_Bmp_Dialog - सेटअप विज़ार्ड आप को [ProductName] सुविधाएँ जिस तरीके से आप के कंप्यूटर पर स्थापित हो उसे बदलने की या उसे आप के कंप्यूटर से निकालने की अनुमति देता है. जारी रखने के लिए अगला क्लिक करें या सेटअप विज़ार्ड से बाहर निकलने के लिए रद्द करें क्लिक करें. - {\WixUI_Font_Bigger} [ProductName] सेटअप विज़ार्ड में स्वागत है - - [ProductName] सेटअप - WixUI_Bmp_Banner - निम्न अनुप्रयोगों द्वारा उपयोग की जाने वाली फ़ाइलों का इस सेटअप से अद्यतन होना आवश्यक है. आप सेटअप विज़ार्ड को इन्हें बंद करने की अनुमति दे सकते हैं और फिर से प्रारंभ करने का प्रयास कर सकते हैं या बाद में मशीन रीबूट कर सकते हैं. - कुछ ऐसी फ़ाइलें अभी उपयोग में हैं, जिन्हें अद्यतन करने की आवश्यकता है. - {\WixUI_Font_Title}फ़ाइलें उपयोग में - अनुप्रयोग &बंद करें और उन्हें फिर से प्रारंभ करने का प्रयास करें. - अनुप्रयोग बंद &न करें. एक रीबूट की आवश्यकता होगी. - - [ProductName] सेटअप - WixUI_Bmp_Banner - हाइलाइट किए गए वॉल्यूम्स में वर्तमान में चयनित सुविधाओं के लिए पर्याप्त डिस्क स्थान उपलब्ध नहीं है. हाइलाइट किए गए वॉल्यूम्स में से आप कुछ फ़ाइलें निकाल सकते हैं, कम सुविधाएँ स्थापित कर सकते हैं या कोई अन्य गंतव्य ड्राइव का चयन कर सकते हैं. - प्रस्थापना के लिए आवश्यक डिस्क स्थान उपलब्ध डिस्क स्थान से ज्यादा है. - {\WixUI_Font_Title} डिस्क स्थान कम - {120}{70}{70}{70}{70} - - [ProductName] सेटअप - WixUI_Bmp_Banner - हाइलाइट किए गए वॉल्यूम्स में वर्तमान में चयनित सुविधाओं के लिए पर्याप्त डिस्क स्थान उपलब्ध नहीं है. हाइलाइट किए गए वॉल्यूम्स में से आप कुछ फ़ाइलें निकाल सकते हैं, कम सुविधाएँ स्थापित कर सकते हैं या कोई अन्य गंतव्य ड्राइव का चयन कर सकते हैं. - प्रस्थापना के लिए आवश्यक डिस्क स्थान उपलब्ध डिस्क स्थान से ज्यादा है. - {\WixUI_Font_Title} डिस्क स्थान कम - {120}{70}{70}{70}{70} - वैकल्पिक रूप से, आप installer की रोलबैक कार्यक्षमता अक्षम करने का विकल्प चुन सकते हैं. रोलबैक अक्षम करने से, किसी भी वजह से स्थापना में व्यवधान उत्पन्न होने पर, installer द्वारा आपके कंप्यूटर की मूल स्थिति पुनर्स्थापित की जाना रोका जाता है. आप रोलबैक अक्षम करने का जोखिम उठाना चाहते हैं तो हाँ क्लिक करें. - - [ProductName] सेटअप - WixUI_Bmp_Dialog - सेट अप विज़ार्ड आपको स्थापना में सहायता करे, तब तक कृपया प्रतीक्षा करें. - {\WixUI_Font_Bigger} [ProductName] सेटअप विज़ार्ड में स्वागत है - - [ProductName] सेटअप - WixUI_Bmp_Banner - सेटअप विज़ार्ड ने [ProductName] की स्थापना करने तक कृपया प्रतीक्षा करें. - {\WixUI_Font_Title} [ProductName] को स्थापित कर रहा है - सेटअप विज़ार्ड ने [ProductName] बदलने तक कृपया प्रतीक्षा करें. - {\WixUI_Font_Title} [ProductName] बदल रहा है - सेटअप विज़ार्ड ने [ProductName] सुधारने तक कृपया प्रतीक्षा करें. - {\WixUI_Font_Title}[ProductName] सुधार रहा है - सेटअप विज़ार्ड ने [ProductName] निकालने तक कृपया प्रतीक्षा करें. - {\WixUI_Font_Title} [ProductName] निकाल रहा है - कृपया सेटअप विज़ार्ड को [ProductName] को अद्यतन करते समय प्रतीक्षा करें. - {\WixUI_Font_Title}[ProductName] को अद्यतन कर रहा है - प्रगति पूर्ण - स्थिति: - - [ProductName] सेटअप - &स्थापित करें - WixUI_Bmp_Dialog - सेटअप विज़ार्ड आपके कंप्यूटर पर [ProductName] की स्थापना पूरी करेगा. जारी रखने के लिए स्थापित करें क्लिक करें या सेटअप विज़ार्ड से बाहर निकलने के लिए रद्द करें क्लिक करें. - {\WixUI_Font_Bigger} [ProductName] सेटअप विज़ार्ड फिर से शुरु हो रहा है - - [ProductName] सेटअप - &सामान्य - सामान्य स्थापना - &कस्टम - कस्टम स्थापना - &पूर्ण - पूर्ण स्थापना - WixUI_Bmp_Banner - {\WixUI_Font_Title}सेटअप प्रकार चुनें - वह सेटअप प्रकार चुनें को आपकी आवश्यकताओं के लिए श्रेष्ठ हो - सबसे सामान्य प्रोग्राम सुविधाएँ स्थापित करता है. अधिकांश उपयोगकर्ताओं के लिए अनुशंसित. - उपयोगकर्ताओं को यह चुनने देता है कि कौन सा प्रोग्राम स्थापित होगा और वे कहाँ स्थापित होंगे. उन्नत उपयोगकर्ताओं के लिए अनुशंसित. - सभी प्रोग्राम स्थापित किए जाएँगे. अधिक डिस्क स्थान की आवश्यकता होती है. - - [ProductName] सेटअप - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] सेटअप विज़ार्ड बाधित हुआ था - [ProductName] सेटअप बाधित हो गया था. आपका सिस्टम संशोधित नहीं किया गया है. यह प्रोग्राम बाद में स्थापित करने के लिए कृपया स्थापना फिर से चलाएँ. - सेटअप विज़ार्ड से बाहर निकलने के लिए समाप्ति बटन क्लिक करें. - - [ProductName] सेटअप - WixUI_Bmp_Banner - &स्थापित करें - स्थापना प्रारंभ करने के लिए स्थापित करें क्लिक करें. अपनी स्थापना सेटिंग देखने या बदलने के लिए वापस क्लिक करें. विज़ार्ड से बाहर जाने के लिए रद्द करें क्लिक करें. - {\WixUI_Font_Title} [ProductName] स्थापित करने के लिए तैयार - &बदलें - स्थापना प्रारंभ करने के लिए बदलें क्लिक करें. अपनी स्थापना सेटिंग देखने या बदलने के लिए वापस क्लिक करें. विज़ार्ड से बाहर जाने के लिए रद्द करें क्लिक करें. - {\WixUI_Font_Title} [ProductName] बदलने के लिए तैयार - सु&धारें - [ProductName] की स्थापना सुधारने के लिए सुधारें क्लिक करें. अपनी स्थापना सेटिंग देखने या बदलने के लिए वापस क्लिक करें. विज़ार्ड से बाहर जाने के लिए रद्द करें क्लिक करें. - {\WixUI_Font_Title}[ProductName] सुधारने के लिए तैयार - &निकालें - अपने कंप्यूटर से [ProductName] निकालने के लिए निकालें क्लिक करें. अपनी स्थापना सेटिंग देखने या बदलने के लिए वापस क्लिक करें. विज़ार्ड से बाहर जाने के लिए रद्द करें क्लिक करें. - {\WixUI_Font_Title} [ProductName] निकालने के लिए तैयार - &अद्यतन - अपने कंप्यूटर से [ProductName] को अद्यतन करने के लिए अद्यतन क्लिक करें. अपनी स्थापना सेटिंग देखने या बदलने के लिए वापस क्लिक करें. विज़ार्ड से बाहर जाने के लिए रद्द करें क्लिक करें. - {\WixUI_Font_Title}[ProductName] अद्यतन करने के लिए तैयार - - [ProductName] सेटअप - &वापस जाएँ - installer ने आपकी डिस्क स्थान आवश्यकताएँ निर्धारित करना समाप्त करने तक कृपया प्रतीक्षा करें. - WixUI_Ico_Exclam - विस्मयादिबोधक चिह्न - - [ProductName] सेटअप - WixUI_Bmp_Dialog - सेटअप विज़ार्ड [ProductName] को आपके कंप्यूटर पर स्थापित करेगा. जारी रखने के लिए अगला क्लिक करें या सेटअप विज़ार्ड से बाहर निकलने के लिए रद्द करें क्लिक करें. - सेटअप विज़ार्ड [ProductName] को आपके कंप्यूटर पर अद्यतन करेगा. जारी रखने के लिए अगला क्लिक करें या सेटअप विज़ार्ड से बाहर निकलने के लिए रद्द करें क्लिक करें. - {\WixUI_Font_Bigger} [ProductName] सेटअप विज़ार्ड में स्वागत है - - [ProductName] सेटअप - WixUI_Bmp_Dialog - मुझे &लायसेंस एग्रीमेंट की शर्तें स्वीकार हैं - &स्थापित करें - &अद्यतन - {\WixUI_Font_Title} कृपया [ProductName] लायसेंस एग्रीमेंट पढें - - स्‍थापना मान्य कर रहा है - नई फ़ाइलों की प्रतिलिपि बना रहा है - फ़ाइल: [1], निर्देशिका: [9], आकार: [6] - नेटवर्क स्‍थापना फ़ाइलों की प्रति‍लि‍पि‍ बना रहा है - फ़ाइल: [1], निर्देशिका: [9], आकार: [6] - कंप्यूटिंग रिक्ति आवश्यकताएँ - कंप्यूटिंग रिक्ति आवश्यकताएँ - कंप्यूटिंग रिक्ति आवश्यकताएँ - शॉर्टकट्स बना रहा है - शॉर्टकट: [1] - योग्‍य घटकों को प्रकाशि‍त कर रहा है - घटक ID: [1], क्‍वालिफ़ायर: [2] - उत्पाद सुविधाएँ प्रकाशित कर रहा है - सुविधा: [1] - उत्पाद जानकारी प्रकाशित कर रहा है - वर्ग सर्वर पंजीकृत कर रहा है - वर्ग Id: [1] - एक्सटेंशन सर्वर पंजीकृत कर रहा है - एक्सटेंशन: [1] - MIME जानकारी पंजीकृत कर रहा है - MIME सामग्री प्रकार: [1], एक्‍सटेंशन: [2] - प्रोग्राम पहचानकर्ता पंजीकृत कर रहा है - ProgId: [1] - रजिस्ट्री स्थान आबंटन - रिक्त स्थान: [1] - स्थापित किए गए अनुप्रयोग ढूँढ रहा है - गुण: [1], हस्ताक्षर: [2] - निष्पादन योग्य की बाइंडिंग - फ़ाइल: [1] - योग्यता वाले उत्पाद खोज रहा है - फ़ोल्डर्स बना रहा है - फ़ोल्डर: [1] - सेवाएँ हटा रहा है - सेवा: [1] - डुप्लिकेट फ़ाइलें बना रहा है - फ़ाइल: [1], निर्देशिका: [9], आकार: [6] - संबंधित अनुप्रयोगों को खोज रहा है - अनुप्रयोग मिला: [1] - ODBC घटक स्थापित कर रहा है - नई सेवाएँ स्थापित कर रहा है - सेवा: [2] - लॉन्च स्थितियों का मूल्यांकन कर रहा है - संबंधि‍त अनुप्रयोगों से सुवि‍धा स्‍थि‍ति‍याँ माइग्रेट कर रहा है - अनुप्रयोग: [1] - फ़ाइलें ले जाई जा रही हैं - फ़ाइल: [1], निर्देशिका: [9], आकार: [6] - पैचिंग फ़ाइलें - फ़ाइल: [1], निर्देशिका: [2], आकार: [3] - घटकों का पंजीकरण अद्यतन कर रहा है - COM+ अनुप्रयोग और घटक पंजीकृत कर रहा है - अनुप्रयोग Id: [1]{{, अनुप्रयोग प्रकार: [2], उपयोगकर्ता: [3], RSN: [4]}} - फ़ॉन्‍ट्स पंजीकृत कर रहा है - फ़ॉन्ट: [1] - उत्पाद पंजीकृत कर रहा है - [1] - प्रकार लायब्रेरीज़ पंजीकृत कर रहा हैं - LibID: [1] - उपयोगकर्ता पंजीकृत किया जा रहा है - [1] - डुप्‍लि‍केट फ़ाइलें नि‍काल रहा है - फ़ाइल: [1], निर्देशिका: [9] - परिवेश स्‍ट्रिंग्‍स अद्यतन कर रहा है - नाम: [1], मान: [2], क्रिया [3] - अनुप्रयोगों को निकाल रहा है - अनुप्रयोग: [1], आदेश पंक्ति: [2] - फ़ाइलें निकाल रहा है - फ़ाइल: [1], निर्देशिका: [9] - फ़ोल्डर्स निकाल रहा है - फ़ोल्डर: [1] - INI फ़ाइलों की प्रविष्टियाँ निकाल रहा है - फ़ाइल: [1], अनुभाग: [2], कुंजी: [3], मान: [4] - ODBC घटक निकाल रहा है - सिस्टम रजिस्ट्री मान निकाले जा रहे हैं - कुंजी: [1], नाम: [2] - शॉर्टकट्स निकाल रहा है - शॉर्टकट: [1] - योग्यता वाले उत्पाद खोज रहा है - मॉड्यूल पंजीकृत किए जा रहे हैं - फ़ाइल: [1], फ़ोल्डर: [2] - मॉड्यूल पंजीकरण रद्द किए जा रहे हैं - फ़ाइल: [1], फ़ोल्डर: [2] - ODBC निर्देशिकाएँ प्रारंभ कर रहा है - सेवाएँ प्रारंभ की जा रही है - सेवा: [1] - सेवाएँ रोकी जा रही है - सेवा: [1] - योग्‍य घटकों का प्रकाशन रद्द कर रहा है - घटक ID: [1], क्‍वालिफ़ायर: [2] - उत्पाद सुविधाओं का प्रकाशन रद्द किया जा रहा है - सुविधा: [1] - वर्ग सर्वर का पंजीकरण रद्द करें - वर्ग Id: [1] - COM+ अनुप्रयोगों और घटकों का पंजीकरण रद्द कर रहा है - अनुप्रयोग Id: [1]{{, अनुप्रयोग प्रकार: [2]}} - एक्‍सटेंशन सर्वर्स का पंजीकरण रद्द कर रहा है - एक्सटेंशन: [1] - फ़ॉन्‍ट्स का पंजीकरण रद्द कर रहा है - फ़ॉन्ट: [1] - MIME जानकारी का पंजीकरण रद्द कर रहा है - MIME सामग्री प्रकार: [1], एक्‍सटेंशन: [2] - प्रोग्राम पहचानकर्ताओं का पंजीकरण रद्द कर रहा है - ProgId: [1] - प्रकार लायब्रेरीज़ का पंजीकरण रद्द कर रहा है - LibID: [1] - परिवेश स्‍ट्रिंग्‍स अद्यतन कर रहा है - नाम: [1], मान: [2], क्रिया [3] - INI फ़ाइलों के मान लिख रहा है - फ़ाइल: [1], अनुभाग: [2], कुंजी: [3], मान: [4] - सिस्टम रजिस्ट्री मान लिखे जा रहे हैं - कुंजी: [1], नाम: [2], मान: [3] - विज्ञापन अनुप्रयोग - क्रिया के लिए स्क्रिप्ट कार्रवाई जनरेट कर रहा है: - [1] - सिस्टम कैटलॉग स्थापित कर रहा है - फ़ाइल: [1], निर्भरताएँ: [2] - असेंबली जानकारी प्रकाशि‍त कर रहा है - अनुप्रयोग संदर्भ:[1], असेंबली नाम:[2] - असेंबली जानकारी का प्रकाशन रद्द कर रहा है - अनुप्रयोग संदर्भ:[1], असेंबली नाम:[2] - क्रिया रोलबैक की जा रही है: - [1] - बैकअप फ़ाइलें निकाली जा रही हैं - फ़ाइल: [1] - ले जाई गई फ़ाइलें निकाली जा रही हैं - फ़ाइल: [1], निर्देशिका: [9] - उत्पाद जानकारी का प्रकाशन रद्द कर रहा है - - {{गंभीर त्रुटि: }} - {{त्रुटि [1]. }} - चेतावनी [1]. - जानकारी [1]. - इस पैकेज को स्‍थापित करते समय इंस्‍टॉलर के समक्ष एक अनपेक्षित त्रुटि आई. हो सकता है कि यह इस पैकेज के साथ किसी समस्‍या को दर्शाता हो. त्रुटि कोड [1] है. {{तर्क हैं: [2], [3], [4]}} - {{डिस्क भरी है: }} - क्रिया [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - संदेश प्रकार: [1], तर्क: [2] - === लॉगिंग प्रारंभ हुई: [Date] [Time] === - === लॉगिंग रोकी गई: [Date] [Time] === - क्रिया प्रारंभ [Time]: [1]. - क्रिया समाप्त [Time]: [1]. वापसी मूल्य [2]. - शेष समय: {[1] मिनट }{[2] सेकंड} - स्मृति समाप्त. पुनर्प्रयास करने से पहले अन्य अनुप्रयोग बंद करें. - इंस्टॉलर अब प्रतिसाद नहीं दे रहा है. - इंस्‍टॉलर पूर्ण करने से पहले बंद हो गया. - जब तक Windows [ProductName] को कॉन्फ़िगर करता है, कृपया प्रतीक्षा करें - आवश्यक जानकारी एकत्र की जा रही है... - इस अनुप्रयोग के पुराने संस्करण निकाले जा रहे हैं... - इस अनुप्रयोग के पुराने संस्करणों को निकालने की तैयारी की जा रही है... - {[ProductName] }सेटअप सफलतापूर्वक पूर्ण. - {[ProductName] }सेटअप विफल रहा. - फ़ाइल से पढ़ने में त्रुटि: [2]. {{ सिस्टम त्रुटि [3].}} सत्यापित करें कि फ़ाइल मौजूद है और आप इस तक पहुँच सकते हैं. - फ़ाइल '[2]' नहीं बना सकता. इस नाम की निर्देशिका पहले से मौजूद है. स्थापना रद्द करें और किसी दूसरे स्थान पर स्थापना का प्रयास करें. - कृपया डिस्क: [2] डालें - इस निर्देशिका पर पहुँचने के लिए installer को अपर्याप्त विशेषाधिकार हैं: [2]. स्थापना जारी नहीं रखी जा सकती. व्यवस्थापक के रूप में लॉग-ऑन करें या अपने सिस्टम व्यवस्थापक से संपर्क करें. - फ़ाइल: [2] में लिखने में त्रुटि. पुष्टि करें कि उस निर्देशिका तक आपकी पहुँच है. - फ़ाइल: [2] से पढ़ने में त्रुटि. {{ सिस्टम त्रुटि [3].}} सत्यापित करें कि फ़ाइल मौजूद है और आप इस तक पहुँच सकते हैं. - फ़ाइल '[2]' तक अन्य अनुप्रयोग की अनन्य पहुँच है. कृपया अन्य सभी अनुप्रयोगों को बंद करें, तब 'पुनर्प्रयास करें' क्लिक करें. - फ़ाइल [2] स्थापित करने के लिए पर्याप्त डिस्क स्थान नहीं है. कुछ डिस्क स्थान रिक्त करें और 'पुनर्प्रयास करें' क्लिक करें, या बाहर निकलने के लिए 'रद्द करें' क्लिक करें. - स्रोत फ़ाइल मिली नहीं: [2]. पुष्टि करें कि फ़ाइल मौजूद है और आप इस तक पहुँच सकते हैं. - फ़ाइल से पढ़ने में त्रुटि: [3]. {{ सिस्‍टम त्रुटि [2].}} सत्यापित करें कि फ़ाइल मौजूद है और आप उस तक पहुँच प्राप्त कर सकते हैं. - फ़ाइल में लिखने में त्रुटि: [3]. {{ सिस्‍टम त्रुटि [2].}} सत्यापित करें कि आपको उस निर्देशिका तक पहुँच प्राप्त है. - स्रोत फ़ाइल नहीं मिली{{(cabinet)}}: [2]. पुष्टि करें कि फ़ाइल मौजूद है और आप इस तक पहुँच सकते हैं. - निर्देशिका '[2]' नहीं बना सकता. इस नाम की कोई फ़ाइल पहले से मौजूद है. कृपया फ़ाइल का नाम बदलें या उसे निकालें और 'पुनर्प्रयास करें' क्लिक करें या बाहर निकलने के लिए 'रद्द करें' क्लिक करें. - वॉल्यूम [2] वर्तमान में अनुपलब्ध है. कृपया किसी अन्य का चयन करें. - निर्दिष्ट पथ '[2]' अनुपलब्ध है. - निर्दिष्ट फ़ोल्‍डर में लिखने में असमर्थ: [2]. - फ़ाइल से पढ़ने का प्रयास करते समय कोई नेटवर्क त्रुटि उत्‍पन्‍न हुई: [2] - निर्देशिका बनाने का प्रयास करते समय त्रुटि उत्‍पन्‍न हुई: [2] - निर्देशिका बनाने का प्रयास करते समय एक नेटवर्क त्रुटि उत्‍पन्‍न हुई: [2] - स्रोत फ़ाइल केबिनेट खोलने का प्रयास करते समय एक नेटवर्क त्रुटि उत्‍पन्‍न हुई: [2] - निर्दिष्ट पथ बहुत लंबा है: [2] - इंस्‍टॉलर के पास इस फ़ाइल को संशोधित करने के अपर्याप्त अधिकार हैं: [2]. - फ़ोल्डर पथ '[2]' का कुछ भाग अमान्य है. यह रिक्त है या उसकी लंबाई सिस्टम द्वारा अनुमतित लंबाई से अधिक है. - फ़ोल्‍डर पथ '[2]' में ऐसे शब्‍द हैं जो फ़ोल्‍डर पथों के लिए मान्‍य नहीं हैं. - फ़ोल्‍डर पथ '[2]' में अमान्‍य वर्ण है. - '[2]' मान्‍य छोटा फ़ाइल नाम नहीं है. - फ़ाइल सुरक्षा प्राप्त करने में त्रुटि: [3] GetLastError: [2] - अमान्य ड्राइव: [2] - फ़ाइल[2] को पैच लागू करने में त्रुटि. यह संभवतः अन्य तरीकों से अद्यतित की गई है, और अब इस पैच से संशोधित नहीं की जा सकती. अधिक जानकारी के लिए आपके पैच विक्रेता से संपर्क करें. {{सिस्टम त्रुटि: [3]}} - आवश्यक फ़ाइल स्थापित नहीं की जा सकती क्योंकि कैबिनेट फ़ाइल [2] डिजिटल हस्ताक्षरित नहीं है. यह शायद कैबिनेट फ़ाइल दूषित होने का संकेत करेगा. - आवश्यक फ़ाइल स्थापित नहीं की जा सकती क्योंकि कैबिनेट फ़ाइल [2] के डिजिटल हस्ताक्षर अमान्य हैं. यह शायद कैबिनेट फ़ाइल दूषित होने का संकेत होगा. {{ WinVerifyTrust द्वारा त्रुटि [3] दी गई.}} - फ़ाइल की सही रूप में प्रतिलिपि बनाने [2] में विफल: CRC त्रुटि. - फ़ाइल को सही रूप में ले जाने [2] में विफल: CRC त्रुटि. - फ़ाइल को सही रूप में पैच करने [2] में विफल: CRC त्रुटि. - फ़ाइल '[2]' स्‍थापित नहीं की जा सकती क्‍योंकि फ़ाइल केबिनेट फ़ाइल '[3]' में नहीं मिल सकती. संभवत: यह किसी नेटवर्क, CD-ROM से पढ़ने मे हुई त्रुटि, या इस पैकेज की किसी समस्‍या को दर्शाता है. - इस स्थापना के लिए आवश्‍यक केबिनेट फ़ाइल '[2]' दूषित हो गई है और उपयोग नहीं की जा सकती. संभवत: यह किसी नेटवर्क, CD-ROM से पढ़ने मे हुई त्रुटि, या इस पैकेज की किसी समस्‍या को दर्शाता है. - इस स्‍थापना को पूरा करने में आवश्‍यक अस्‍थायी फ़ाइल को बनाते हुए एक त्रुटि आई थी.{{ फ़ोल्‍डर: [3]. सिस्‍टम त्रुटि कोड: [2]}} - कुंजी नहीं बना सका: [2]. {{ सिस्‍टम त्रुटि [3].}} सत्यापित करें कि आपके पास उस कुंजी तक पर्याप्त पहुँच है, या अपने समर्थन कर्मचारी से संपर्क करें. - कुंजी नहीं खोल सका: [2]. {{ सिस्‍टम त्रुटि [3].}} सत्यापित करें कि आपके पास उस कुंजी तक पर्याप्त पहुँच है, या अपने समर्थन कर्मचारी से संपर्क करें. - कुंजी [3] से मान [2] हटा नहीं सका. {{ सिस्‍टम त्रुटि [4].}} सत्यापित करें कि आपके पास उस कुंजी तक पर्याप्त पहुँच है, या अपने समर्थन कर्मचारी से संपर्क करें. - कुंजी [2] हटा नहीं सका. {{ सिस्‍टम त्रुटि [3].}} सत्यापित करें कि आपके पास उस कुंजी तक पर्याप्त पहुँच है, या अपने समर्थन कर्मचारी से संपर्क करें. - कुंजी [3] से मान [2] पढ़ नहीं सका. {{ सिस्‍टम त्रुटि [4].}} सत्यापित करें कि आपके पास उस कुंजी तक पर्याप्त पहुँच है, या अपने समर्थन कर्मचारी से संपर्क करें. - कुंजी [3] में मान [2] नहीं लिख सका. {{ सिस्‍टम त्रुटि [4].}} सत्यापित करें कि आपके पास उस कुंजी तक पर्याप्त पहुँच है, या अपने समर्थन कर्मचारी से संपर्क करें. - कुंजी [2] के लिए मान नाम प्राप्त नहीं हो सके. {{ सिस्‍टम त्रुटि [3].}} सत्यापित करें कि आपके पास उस कुंजी तक पर्याप्त पहुँच है, या अपने समर्थन कर्मचारी से संपर्क करें. - कुंजी [2] के लिए उप कुंजी नाम प्राप्त नहीं हो सके. {{ सिस्‍टम त्रुटि [3].}} सत्यापित करें कि आपके पास उस कुंजी तक पर्याप्त पहुँच है, या अपने समर्थन कर्मचारी से संपर्क करें. - कुंजी [2] के लिए सुरक्षा जानकारी पढ़ी नहीं जा सकी. {{ सिस्‍टम त्रुटि [3].}} सत्यापित करें कि आपके पास उस कुंजी तक पर्याप्त पहुँच है, या अपने समर्थन कर्मचारी से संपर्क करें. - उपलब्‍ध रजिस्‍ट्री स्‍थान में वृद्धि नहीं कर सका. रिक्त रजिस्‍ट्री स्‍थान का [2] KB इस अनुप्रयोग की स्‍थापना के लिए आवश्‍यक है. - एक अन्‍य स्‍थापना जारी है. आपको यह स्‍थापना जारी करने से पहले वह स्‍थापना पूर्ण करनी होगी. - सुरक्षित डेटा एक्‍सेस करने में त्रुटि. कृपया सुनिश्चित करें कि Windows Installer ठीक तरह से कॉन्‍फ़िगर किया गया है और पुन: स्‍थापित करने का प्रयास करें. - उत्पाद '[3]' के लिए उपयोगकर्ता '[2]' ने पहले एक स्थापना प्रारंभ की है. उस उपयोगकर्ता को उस उत्पाद का उपयोग करने से पहले वह स्थापना चलानी होगी. अब आपकी वर्तमान स्थापना जारी रहेगी. - उत्पाद '[3]' के लिए उपयोगकर्ता '[2]' ने पहले एक स्थापना प्रारंभ की है. उस उपयोगकर्ता को उस उत्पाद का उपयोग करने से पहले वह स्थापना फिर से चलानी होगी. - डिस्क में जगह नहीं है -- वॉल्यूम: '[2]'; आवश्यक जगह: [3] KB; उपलब्ध जगह: [4] KB. कुछ डिस्क जगह रिक्त करें और पुनर्प्रयास करें. - क्या आप वाकई रद्द करना चाहते हैं? - फ़ाइल [2][3] उपयोग की जा रही है{ निम्न प्रक्रिया द्वारा: नाम: [4], Id: [5], विंडो शीर्षक: '[6]'}. वह अनुप्रयोग बंद करें और पुनर्प्रयास करें. - उत्पाद '[2]' पहले से स्थापित है, जिससे इस उत्पाद की स्थापना में रुकावट आ रही है. दोनों उत्पाद असंगत हैं. - पुनर्प्राप्ति सक्षम रहते हुए स्‍थापना जारी रखने के लिए वॉल्‍यूम '[2]' पर पर्याप्त डिस्‍क स्‍थान नहीं है. [3] KB आवश्‍यक है, लेकिन केवल [4] KB ही उपलब्‍ध है. पुनर्प्राप्ति जानकारी को सहेजे बिना स्‍थापना को जारी रखने के लिए ध्‍यान न दें क्‍लिक करें, पुन: उपलब्‍ध स्‍थान की जाँच करने के लिए, पुन: प्रयास करें क्‍लिक करें, या स्‍थापना से बाहर निकलने के लिए रद्द करें क्लिक करें. - नेटवर्क स्थान [2] तक नहीं पहुँच सका. - स्थापना जारी रखने से पहले निम्न अनुप्रयोग बंद किए जाने चाहिए: - इस उत्‍पाद की स्‍थापना के लिए मशीन पर कोई भी पूर्व में स्‍थापित संगत उत्‍पाद नहीं मिला. - सुरक्षा सेटिंग लागू करते समय त्रुटि आई. [2] मान्‍य उपयोगकर्ता या समूह नहीं है. यह पैकेज की कोई समस्‍या हो सकती है, या नेटवर्क पर किसी डोमेन नियंत्रण से कनेक्‍ट करने में समस्‍या हो सकती है. अपने नेटवर्क कनेक्‍शन की जाँच करें और पुन: प्रयास करें क्‍लिक करें, या स्‍थापना समाप्त करने के लिए रद्द करें क्‍लिक करें. {{उपयोगकर्ता का SID ढूँढने में असमर्थ, सिस्‍टम त्रुटि [3]}} - कुंजी [2] मान्य नहीं है. पुष्टि करें कि आप ने ठीक कुंजी दर्ज की है. - [2] में किए गए कॉन्‍फ़िगरेशन परिवर्तनों को प्रभावी बनाने के लिए, आपको अपना सिस्‍टम पुनरारंभ करना होगा. अभी पुनरारंभ करने के लिए हाँ या यदि आप बाद में मैन्‍युअली पुनरारंभ करना चाहते हैं तो नहीं क्‍लिक करें. - [2] में किए गए कॉन्‍फ़िगरेशन परिवर्तनों को प्रभावी बनाने के लिए, आपको अपना सिस्‍टम पुनरारंभ करना होगा. अभी पुनरारंभ करने के लिए हाँ या यदि आप बाद में मैन्‍युअली पुनरारंभ करना चाहते हैं तो नहीं क्‍लिक करें. - [2] की कोई स्थापना वर्तमान में निलंबित है. जारी रखने के लिए आप को उस स्थापना द्वारा किए गए परिवर्तन पूर्ववत् करना आवश्यक है. क्या आप यह परिवर्तन पूर्ववत् करना चाहते हैं? - इस उत्पाद के लिए एक पिछली स्थापना प्रगति पर है. जारी रखने के लिए आप को उस स्थापना द्वारा किए गए परिवर्तन पूर्ववत् करना आवश्यक है. क्या आप यह परिवर्तन पूर्ववत् करना चाहते हैं? - उत्‍पाद [2] के लिए स्‍थापना पेकैज नहीं मिल सकता. स्‍थापना पेकैज '[3]' की मान्‍य प्रति का उपयोग करके पुन: स्‍थापना का प्रयास करें. - स्‍थापना सफलतापूर्वक पूर्ण. - स्‍थापना विफल. - उत्पाद: [2] -- [3] - आप या तो अपने कंप्‍यूटर को उसकी पूर्व स्‍थिति में पुनर्स्‍थापित कर सकते हैं या स्‍थापना को बाद में जारी रख सकते हैं. क्‍या आप पुनर्स्‍थापित करना चाहेंगे? - स्थापना जानकारी डिस्क पर लिखते समय कोई त्रुटि आई. जाँचें कि पर्याप्त डिस्क स्थान उपलब्ध है, और पुनर्प्रयास करें क्लिक करें, या स्थापना बंद करने के लिए रद्द करें क्लिक करें. - आपके कंप्यूटर को इसकी पिछली स्थिति पर पुनर्स्थापित करने के लिए आवश्यक एक या अधिक फ़ाइलें नहीं मिल सकी. पुनर्स्थापना संभव नहीं होगी. - [2] उसके आवश्यक उत्पादों में से कोई एक स्थापित नहीं कर सकता. अपने तकनीकी सहायता समूह से संपर्क करें. {{सिस्टम त्रुटि: [3].}} - [2] का पुराना संस्करण निकाला नहीं जा सकता. अपने तकनीकी सहायता समूह से संपर्क करें. {{सिस्टम त्रुटि [3].}} - स्थापित [2] - कॉन्फ़िगर किया गया [2] - निकाला गया [2] - फ़ाइल [2] डिजिटल हस्‍ताक्षर नीति द्वारा अस्वीकृत कर दी गई. - Windows Installer सेवा एक्‍सेस नहीं की जा सकी. यदि आप Windows को सुरक्षित मोड में चला रहें हैं, या यदि Windows Installer ठीक तरह से स्‍थापित नहीं है, तो ऐसा हो सकता है. सहायता के लिए अपने समर्थन कर्मचारी से संपर्क करें. - Windows Installer पैकेज में कोई समस्‍या है. यह स्थापना पूरी करने के लिए आवश्यक स्क्रिप्ट चलाया नहीं जा सका. अपने समर्थन कर्मचारी या पैकेज विक्रेता से संपर्क करें. {{कस्टम क्रिया [2] स्क्रिप्ट त्रुटि [3], [4]: [5] पंक्ति [6], स्तंभ [7], [8] }} - Windows Installer पैकेज में कोई समस्‍या है. इस स्‍थापना को पूर्ण करने के लिए आवश्‍यक प्रोग्राम चलाया नहीं जा सका. अपने समर्थन कर्मचारी या पैकेज विक्रेता से संपर्क करें. {{क्रिया: [2] स्‍थान: [3], आदेश: [4] }} - Windows Installer पैकेज में कोई समस्‍या है. सेटअप के भाग के रूप में चलाया गया प्रोग्राम अपेक्षित जैसे पूरा नहीं हुआ. अपने समर्थन कर्मचारी या पैकेज विक्रेता से संपर्क करें. {{क्रिया [2], स्थान: [3], आदेश: [4] }} - Windows Installer पैकेज में कोई समस्‍या है. यह स्थापना पूरी करने के लिए आवश्यक DLL चलाई नहीं जा सकी. अपने समर्थन कर्मचारी या पैकेज विक्रेता से संपर्क करें. {{क्रिया [2], प्रविष्टि: [3], लायब्रेरी: [4] }} - निकालना सफलतापूर्वक पूर्ण. - निकालना विफल. - विज्ञापन सफलतापूर्वक पूर्ण. - विज्ञापन विफल. - कॉन्‍फ़िगरेशन सफलतापूर्वक पूर्ण. - कॉन्‍फ़िगरेशन विफल. - इस अनुप्रयोग को निकालने के लिए आपका व्‍यवस्‍थापक होना आवश्‍यक है. इस अनुप्रयोग को निकालने के लिए, आप व्‍यवस्‍थापक के रूप में लॉग ऑन कर सकते हैं, या सहायता के लिए अपने तकनीकी सहायता समूह से संपर्क कर सकते हैं. - उत्पाद [2] के लिए होने वाला स्रोत स्थापना पैकेज क्लाइंट पैकेज के साथ सिंक से बाहर है. स्थापना पैकेज '[3]' की मान्य प्रतिलिपि का उपयोग कर के फिर से स्थापना का प्रयास करें. - [2] की स्थापना पूरी करने के लिए, आप को कंप्यूटर का पुनर्प्रारंभ करना होगा. वर्तमान में अन्य उपयोगकर्ता इस कंप्यूटर पर लॉग्ड्ऑन हैं, और पुनर्प्रारंभ करने से उनका कार्य नष्ट हो जाएगा. क्या आप अभी पुनर्स्थापना करना चाहते हैं? - पथ [2] मान्य नहीं है. कृपया कोई मान्य पथ का निर्देश करें. - स्मृति समाप्त. पुनर्प्रयास करने से पहले अन्य अनुप्रयोग बंद करें. - ड्राइव [2] में कोई डिस्‍क नहीं है. कृपया डिस्‍क डालें और पुन: प्रयास करें क्‍लिक करें, या पहले चयनित वॉल्‍यूम पर वापस जाने के लिए रद्द करें क्‍लिक करें. - ड्राइव [2] में कोई डिस्‍क नहीं है. कृपया डिस्‍क डालें और पुन: प्रयास करें क्‍लिक करें, या ब्राउज़ करें संवाद पर वापस जाने के लिए रद्द करें क्‍लिक करें और भिन्‍न वॉल्‍यूम का चयन करें. - फ़ोल्डर [2] मौजूद नहीं है. कृपया किसी मौजूदा फ़ोल्डर का कोई पथ दर्ज करें. - आपके पास फ़ोल्‍डर पढ़ने के लिए अपर्याप्त विशेषाधिकार हैं. - स्थापना के लिए कोई मान्य गंतव्य फ़ोल्डर निर्धारित नहीं किया जा सका. - स्रोत स्‍थापना डेटाबेस से पढ़ने के प्रयास में त्रुटि: [2]. - रीबूट की कार्रवाई शेड्यूल कर रहा है: फ़ाइल का नाम [2] से [3] में बदल रहा है. कार्रवाई पूर्ण करने के लिए रीबूट करना आवश्‍यक है. - रीबूट की कार्रवाई शेड्यूल कर रहा है: फ़ाइल [2] हटा रहा है. कार्रवाई पूर्ण करने के लिए रीबूट करना आवश्‍यक है. - मॉड्यूल [2] पंजीकृत होने में विफल. HRESULT [3]. अपने समर्थन कर्मचारी से संपर्क करें. - मॉड्यूल [2] का पंजीकरण निरस्त होने में विफल. HRESULT [3]. अपने समर्थन कर्मचारी से संपर्क करें. - पैकेज [2] कैश करने में विफल. त्रुटि: [3]. अपने समर्थन कर्मचारी से संपर्क करें. - फ़ॉन्ट [2] पंजीकृत नहीं किया जा सका. पुष्टि करें कि आपके पास फ़ॉन्ट स्थापित करने के लिए पर्याप्त अनुमतियाँ हैं, और सिस्टम इस फ़ॉन्ट का समर्थन करता है. - फ़ॉन्‍ट [2] का पंजीकरण रद्द न कर सका. सत्यापित करें कि आपके पास फ़ॉन्‍ट्‍स निकालने की पर्याप्त अनुमतियाँ हैं. - शॉर्टकट [2] नहीं बना सका. सत्यापित करें कि गंतव्‍य फ़ोल्‍डर मौजूद है और आप उस तक पहुँच सकते हैं. - शॉर्टकट [2] नहीं निकाल सका. सत्यापित करें कि शॉर्टकट फ़ाइल मौजूद हैं और आप उस तक पहुँच सकते हैं. - फ़ाइल [2] के लिए प्रकार लायब्रेरी पंजीकृत नहीं की जा सकी. अपने समर्थन कर्मचारी से संपर्क करें. - फ़ाइल [2] के लिए प्रकार लायब्रेरी का पंजीकरण निरस्त नहीं किया जा सका. अपने समर्थन कर्मचारी से संपर्क करें. - ini फ़ाइल [2][3] अद्यतन नहीं की जा सकी. पुष्टि करें कि फ़ाइल मौजूद है और आप इस तक पहुँच सकते हैं. - रीबूट पर फ़ाइल [2] द्वारा फ़ाइल [3] का बदलना शेड्यूल नहीं किया जा सका. पुष्टि करें कि आपको फ़ाइल [3] पर लेखन की अनुमतियाँ हैं. - ODBC ड्राइवर प्रबंधक निकालने में त्रुटि, ODBC त्रुटि [2]: [3]. अपने समर्थन कर्मचारी से संपर्क करें. - ODBC ड्राइवर प्रबंधक स्‍थापित करने में त्रुटि, ODBC त्रुटि [2]: [3]. अपने समर्थन कर्मचारी से संपर्क करें. - ODBC ड्राइवर निकालने में त्रुटि: [4], ODBC त्रुटि [2]: [3]. सत्यापित करें कि आपके पास ODBC ड्राइवर्स निकालने के लिए पर्याप्त विशेषाधिकार है. - ODBC ड्राइवर स्‍थापित करने में त्रुटि: [4], ODBC त्रुटि [2]: [3].सत्यापित करें कि फ़ाइल [4] मौजूद हैं और आप उस तक पहुँच सकते हैं. - ODBC डेटा स्रोत कॉन्‍फ़िगर करने में त्रुटि: [4], ODBC त्रुटि [2]: [3]. सत्यापित करें कि फ़ाइल [4] मौजूद हैं और आप उस तक पहुँच सकते हैं. - सेवा '[2]' ([3]) प्रारंभ होने में विफल. पुष्टि करें कि आपको सिस्टम सेवाएँ प्रारंभ करने के लिए पर्याप्त विशेषाधिकार हैं. - सेवा '[2]' ([3])रोकी नहीं जा सकी. पुष्टि करें कि आपको सिस्टम सेवाएँ रोकने के लिए पर्याप्त विशेषाधिकार हैं. - सेवा '[2]' ([3]) निकाली नहीं जा सकी. पुष्टि करें कि आपको सिस्टम सेवाएँ निकालने के लिए पर्याप्त विशेषाधिकार हैं. - सेवा '[2]' ([3]) स्थापित नहीं की जा सकी. पुष्टि करें कि आपको सिस्टम सेवाएँ स्थापित करने के लिए पर्याप्त विशेषाधिकार हैं. - वातावरणीय चर '[2]' का अद्यतन नहीं किया जा सका. पुष्टि करें कि आप को वातावरणीय चर संशोधित करने के लिए पर्याप्त विशेषाधिकार हैं. - आप को मशीन के सभी उपयोगकर्ताओं के लिए यह स्थापना पूरी करने के लिए पर्याप्त विशेषाधिकार नहीं हैं. व्यवस्थापक के रूप में लॉगइन करें और फिर इस स्थापना का पुनर्प्रयास करें. - फ़ाइल '[3]' के लिए फ़ाइल सुरक्षा सेट नहीं की जा सकी. त्रुटि: [2]. पुष्टि करें कि आपको इस फ़ाइल की सुरक्षा अनुमतियाँ संशोधित करने के लिए पर्याप्त विशेषाधिकार हैं. - इस कंप्यूटर पर घटक सेवाएँ (COM+ 1.0) स्थापित नहीं हैं. यह स्थापना सफलतापूर्वक पूरी होने के लिए घटक सेवाओं की आवश्यकता है. Windows 2000 पर घटक सेवाएँ उपलब्ध हैं. - COM+ अनुप्रयोग पंजीकृत करने में त्रुटि. अधिक जानकारी के लिए अपने समर्थन कर्मचारी से संपर्क करें. - COM+ अनुप्रयोग का पंजीकरण निरस्त करने में त्रुटि. अधिक जानकारी के लिए अपने समर्थन कर्मचारी से संपर्क करें. - सेवा '[2]' ([3]) के लिए विवरण बदला नहीं जा सका. - Windows installer सेवा सिस्टम फ़ाइल [2] अद्यतन नहीं कर सकता क्योंकि यह फ़ाइल Windows द्वारा सुरक्षित है. वर्तमान में यह प्रोग्राम ठीक से चलाने के लिए आपको शायद अपना ऑपरेटिंग सिस्टम अद्यतन करना होगा. {{पैकेज संस्करण: [3], OS सुरक्षित संस्करण: [4]}} - Windows Installer सेवा सुरक्षित Windows फ़ाइल [2] का अद्यतन नहीं कर सकता. {{पैकेज संस्‍करण: [3], OS सुरक्षित संस्‍करण: [4], SFP त्रुटि: [5]}} - Windows Installer सेवा एक या अधिक सुरक्षित Windows फ़ाइलों को अद्यतन नहीं कर सकता. {{SFP Error: [2]. सुरक्षित फ़ाइलों की सूची:\r\n[3]}} - मशीन पर स्‍थित नीति द्वारा उपयोगकर्ता स्‍थापनाएँ अक्षम की गई हैं. - असेंबली '[6]' की स्थापना के दौरान एक उत्‍पन्‍न हुई. अधिक जानकारी के लिए कृपया मदद तथा समर्थन का संदर्भ लें. HRESULT: [3]. {{असेंबली इंटरफ़ेस: [4], फ़ंक्‍शन: [5], घटक: [2]}} - असेंबली '[6]' की स्‍थापना के दौरान एक त्रुटि उत्‍पन्‍न हुई. असेंबली अच्‍छी तरह नामांकित नहीं है या सबसे कम कुंजी लंबाई से हस्‍ताक्षरित नहीं है. HRESULT: [3]. {{असेंबली इंटरफ़ेस: [4], फ़ंक्‍शन: [5], घटक: [2]}} - असेंबली '[6]' की स्‍थापना के दौरान एक त्रुटि उत्‍पन्‍न हुई. हस्‍ताक्षर या सूचीपत्र की जाँच नहीं की जा सकी या वह मान्‍य नहीं है. HRESULT: [3]. {{असेंबली इंटरफ़ेस: [4], फ़ंक्‍शन: [5], घटक: [2]}}. - असेंबली '[6]' की स्‍थापना के दौरान एक त्रुटि उत्‍पन्‍न हुई. असेंबली के एक या एक से अधिक मोड्यूल नहीं मिल सके. HRESULT: [3]. {{असेंबली इंटरफ़ेस: [4], फ़ंक्‍शन: [5], घटक: [2]}} - - बाइट्स - GB - KB - MB - संपूर्ण सुविधा अनुपलब्ध होगी - आवश्यकता होने पर सुविधा स्थापित की जाएगी - CD से चलने के लिए संपूर्ण सुविधा स्थापित की जाएगी - स्थानीय हार्ड ड्राइव पर संपूर्ण सुविधा स्थापित की जाएगी - नेटवर्क से चलने के लिए संपूर्ण सुविधा स्थापित की जाएगी - CD से चलने के लिए स्थापित किया जाएगा - स्थानीय हार्ड ड्राइव पर स्थापित किया जाएगा - नेटवर्क से चलने के लिए स्थापित किया जाएगा - Folder|नया फ़ोल्डर - आवश्यक जानकारी एकत्र की जा रही है... - इस सुविधा की स्थापना रद्द रहेगी - आवश्यकता होने पर स्थापित होने के लिए यह सुविधा सेट की जाएगी - यह सुविधा CD से चलने के लिए स्थापित की जाएगी - यह सुविधा स्थानीय हार्ड ड्राइव पर स्थापित की जाएगी - यह सुविधा नेटवर्क से चलने के लिए स्थापित की जाएगी - यह सुविधा अनुपलब्ध हो जाएगी - आवश्यकता होने पर स्थापित किया जाएगा - यह सुविधा CD से चलने के लिए उपलब्ध होगी - यह सुविधा आपके स्थानीय हार्ड ड्राइव पर स्थापित की जाएगी - यह सुविधा नेटवर्क से चलने के लिए उपलब्ध होगी - इस सुविधा की स्थापना पूरी तरह रद्द की जाएगी, आप इसे CD से नहीं चला पाएँगे - यह सुविधा CD से चलाएँ स्थिति से आवश्यकता होने पर स्थापित होने के लिए सेट किए जाने पर बदलेगी - यह सुविधा CD से चलाने के लिए शेष रहेगी - यह सुविधा CD से चलाएँ स्थिति से स्थानीय हार्ड ड्राइव पर स्थापित होने पर परिवर्तित हो जाएगी - यह सुविधा आपके हार्ड ड्राइव पर [1] खाली करती है. - इस सुविधा को आपके हार्ड ड्राइव पर [1] की आवश्यकता है. - इस सुविधा के लिए होने वाली लागत कंपाइल की जा रही है... - यह सुविधा पूरी तरह से निकाल दी जाएगी - यह सुविधा आपके स्थानीय हार्ड ड्राइव से निकाल दी जाएगी, लेकिन आवश्यकता होने पर स्थापित होने के लिए सेट की जाएगी - यह सुविधा आपके स्थानीय हार्ड ड्राइव से निकाल दी जाएगी, लेकिन फिर भी CD से चलने के लिए उपलब्ध होगी - यह सुविधा आपकी स्थानीय हार्ड ड्राइव पर मौजूद रहेगी - यह सुविधा आपके स्थानीय हार्ड ड्राइव से निकाल दी जाएगी, लेकिन फिर भी नेटवर्क से चलने के लिए उपलब्ध होगी - यह सुविधा पूरी तरह से निकाल दी जाएगी, आप इसे नेटवर्क से चलाने में समर्थ नहीं होगे - यह सुविधा नेटवर्क से चलाएँ स्थिति से आवश्यकता होने पर स्थापित होने के लिए सेट किए जाने पर बदलेगी - यह सुविधा नेटवर्क से चलाएँ स्थिति से स्थानीय हार्ड ड्राइव पर स्थापित होने पर बदलेगी - यह सुविधा नेटवर्क से चलाए जाने के लिए शेष रहेगी - यह सुविधा आपके हार्ड ड्राइव पर [1] खाली करती है. इसमें [3] में से [2] उपसुविधाएँ चयनित हैं. उपसुविधाएँ हार्ड ड्राइव पर [4] खाली करती हैं. - यह सुविधा आपके हार्ड ड्राइव पर [1] खाली करती है. इसमें [3] में से [2] उपसुविधाएँ चयनित हैं. इन उपसुविधाओं के लिए आपके हार्ड ड्राइव पर [4] की आवश्यकता है. - इस सुविधा के लिए आपके हार्ड ड्राइव पर [1] की आवश्यकता है. इसमें [3] में से [2] उपसुविधाएँ चयनित हैं. उपसुविधाएँ हार्ड ड्राइव पर [4] खाली करती हैं. - इस सुविधा के लिए आपके हार्ड ड्राइव पर [1] की आवश्यकता है. इसमें [3] में से [2] उपसुविधाएँ चयनित हैं. इन उपसुविधाओं के लिए आपके हार्ड ड्राइव पर [4] की आवश्यकता है. - शेष समय: {[1] मिनट }{[2] सेकंड} - उपलब्ध - अंतर - आवश्यक - डिस्क आकार - वॉल्यूम - diff --git a/Src/Localization/WixUI/WixUI_hr-HR.wxl b/Src/Localization/WixUI/WixUI_hr-HR.wxl deleted file mode 100644 index 95cbab4..0000000 --- a/Src/Localization/WixUI/WixUI_hr-HR.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Natrag - &Dalje - Odustani - &Dovrši - &Pokušaj ponovo - &Zanemari - &Da - &Ne - U redu - &Ispiši - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Pročitajte licencni ugovor za proizvod [ProductName] - &Prihvaćam uvjete licencnog ugovora - Kliknite "Instaliraj" da biste instalirali proizvod za sve korisnike uz zadane mogućnosti. Da biste promijenili mogućnosti instalacije, kliknite "Dodatno". - Kliknite "Instaliraj" da biste instalirali proizvod samo za sebe uz zadane mogućnosti. Da biste promijenili mogućnosti instalacije, kliknite "Dodatno". - &Instaliraj - Do&datno - 8 - 12 - 9 - 8 - Tahoma - - Instalacija programa [ProductName] - &Traži u: - WixUI_Bmp_Up - Jedna razina gore - WixUI_Bmp_New - Stvaranje nove mape - &Naziv mape: - WixUI_Bmp_Banner - Pregledavanje odredišne mape - {\WixUI_Font_Title}Promjena odredišne mape - - Instalacija programa [ProductName] - Jeste li sigurni da želite otkazati instalaciju programa [ProductName]? - WixUI_Ico_Info - Ikona informacija - - Instalacija programa [ProductName] - Stablo odabira - P&regledaj... - Ponovno po&stavi - &Korištenje diska - WixUI_Bmp_Banner - Kliknite ikone na stablu u nastavku da biste promijenili način instalacije značajki. - Odaberite način na koji želite instalirati značajke. - {\WixUI_Font_Title}Prilagođena instalacija - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Lokacija: - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Na označenim jedinica nema dovoljno slobodnog prostora na disku za odabrane značajke. Možete ukloniti neke datoteke s označenih jedinica, instalirati manje značajki ili odabrati druge odredišne pogone. - Potreban slobodan prostor na disku za instalaciju odabranih značajki. - {\WixUI_Font_Title}Potreban prostor na disku - {120}{70}{70}{70}{70} - - Instalacija programa [ProductName] - Tekst s informacijama - WixUI_Ico_Info - Ikona informacija - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - Kliknite gumb "Dovrši" da biste izašli iz čarobnjaka za instalaciju. - {\WixUI_Font_Bigger}Dovršen je čarobnjak za instalaciju programa [ProductName] - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Čarobnjak za instalaciju programa [ProductName] završio je prerano - Čarobnjak za instalaciju programa [ProductName] završio je prerano zbog pogreške. Sustav nije izmijenjen. Da biste proizvod naknadno instalirali, ponovno pokrenite čarobnjak za instalaciju. - Kliknite gumb "Dovrši" da biste izašli iz čarobnjaka za instalaciju. - - Instalacija programa [ProductName] - Značajke proizvoda - WixUI_Bmp_Banner - Odaberite način na koji želite instalirati značajke. - {\WixUI_Font_Title}Značajke proizvoda - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Instaliraj - &Promijeni - - Instalacija programa [ProductName] - I&zlaz - WixUI_Bmp_Banner - Sljedeće aplikacije koriste datoteke koje instalacija mora ažurirati. Zatvorite te aplikacije, a zatim kliknite "&Pokušaj ponovno" da biste nastavili instalaciju ili "Izlaz" da biste izašli. - Neke datoteke koje je potrebno ažurirati trenutno se koriste. - {\WixUI_Font_Title}Datoteke se koriste - - Instalacija programa [ProductName] - &Promijeni... - {\WixUI_Font_Title}Odredišna mapa - Kliknite "Dalje" da biste instalirali u zadanu mapu ili "Promijeni" da biste odabrali drugu. - WixUI_Bmp_Banner - Instaliraj [ProductName] u: - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Odaberite opseg i mapu instalacije - {\WixUI_Font_Title}Opseg instalacije - {\WixUI_Font_Emphasized}Instalacija &samo za vas ([LogonUser]) - [ProductName] instalirat će se u korisničku mapu i bit će dostupan samo iz vašeg korisničkog računa. Nisu vam potrebne lokalne administratorske ovlasti. - [ProductName] ne podržava instalaciju samo za određene korisnike. - {\WixUI_Font_Emphasized}Instaliraj za sve korisnike ovog &računala - [ProductName] po zadanom će se instalirati u mapu računala te će biti dostupan svim korisnicima. Zadanu mapu za instalaciju možete promijeniti. Morate imati lokalne administratorske ovlasti. - Instalacijska &mapa: - &Promijeni... - - Instalacija programa [ProductName] - Instalacijski direktorij mora biti na lokalnom tvrdom disku. - WixUI_Ico_Info - Ikona informacija - - Instalacija programa [ProductName] - &Prihvaćam uvjete licencnog ugovora - WixUI_Bmp_Banner - Pozorno pročitajte sljedeći licencni ugovor - {\WixUI_Font_Title}Licencni ugovor za krajnjeg korisnika - - Instalacija programa [ProductName] - &Promijeni - Promjena instalacije - Po&pravi - Popravak instalacije - &Ukloni - Uklanjanje instalacije - WixUI_Bmp_Banner - Odaberite operaciju koju želite izvesti. - {\WixUI_Font_Title}Promjena, popravak i uklanjanje instalacije - Omogućuje promjenu načina instalacije značajki. - [ProductName] ne sadrži značajke koje je moguće pojedinačno odabrati. - Uklanja [ProductName] s računala. - [ProductName] nije moguće ukloniti. - Otklanja pogreške najnovije instalacije popravljanjem oštećenih datoteka, prečaca i unosa u registar te dodavanjem onih koji nedostaju. - [ProductName] nije moguće popraviti. - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - Čarobnjak za instalaciju omogućuje promjenu načina na koji se značajke programa [ProductName] instaliraju na računalo te uklanjanje programa s računala. Kliknite "Dalje" da biste nastavili ili "Odustani" da biste izašli iz čarobnjaka za instalaciju. - {\WixUI_Font_Bigger}Dobro došli u čarobnjak za instalaciju programa [ProductName] - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Sljedeće aplikacije koriste datoteke koje instalacija mora ažurirati. Možete dopustiti čarobnjaku za instalaciju da ih zatvori te ih pokuša ponovno pokrenuti ili naknadno ponovno pokrenuti računalo. - Neke datoteke koje je potrebno ažurirati trenutno se koriste. - {\WixUI_Font_Title}Datoteke se koriste - &Zatvori aplikacije i pokušaj ih ponovno pokrenuti. - &Ne zatvaraj aplikacije. Potrebno će biti ponovno pokrenuti računalo. - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Na označenim jedinicama nema dovoljno slobodnog prostora na disku za trenutno odabrane značajke. Možete ukloniti neke datoteke s označenih jedinica, instalirati manje značajki ili odabrati neki drugi odredišni disk. - Za instalaciju je potrebno više prostora nego što je slobodno na disku. - {\WixUI_Font_Title}Nema dovoljno prostora na disku - {120}{70}{70}{70}{70} - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Na označenim jedinicama nema dovoljno slobodnog prostora na disku za trenutno odabrane značajke. Možete ukloniti neke datoteke s označenih jedinica, instalirati manje značajki ili odabrati neki drugi odredišni disk. - Za instalaciju je potrebno više prostora nego što je slobodno na disku. - {\WixUI_Font_Title}Nema dovoljno prostora na disku - {120}{70}{70}{70}{70} - Druga je mogućnost da onemogućite funkciju vraćanja instalacijskog programa. Ako onemogućite vraćanje, instalacijski program neće moći vratiti računalo u izvorno stanje u slučaju da zbog bilo kojeg razloga dođe do prekida instalacije. Kliknite "Da" ako želite riskirati i onemogućiti vraćanje. - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - Pričekajte da se čarobnjak za instalaciju pripremi da bi vas vodio kroz instalaciju. - {\WixUI_Font_Bigger}Dobro došli u čarobnjak za instalaciju programa [ProductName] - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Pričekajte da čarobnjak za instalaciju instalira [ProductName]. - {\WixUI_Font_Title}Instalacija programa [ProductName] - Pričekajte da čarobnjak za instalaciju promijeni [ProductName]. - {\WixUI_Font_Title}Promjena programa [ProductName] - Pričekajte da čarobnjak za instalaciju popravi [ProductName]. - {\WixUI_Font_Title}Popravak programa [ProductName] - Pričekajte da čarobnjak za instalaciju ukloni [ProductName]. - {\WixUI_Font_Title}Uklanjanje programa [ProductName] - Pričekajte da čarobnjak za instalaciju ažurira [ProductName]. - {\WixUI_Font_Title}Ažuriranje programa [ProductName] - Postupak je dovršen - Status: - - Instalacija programa [ProductName] - &Instaliraj - WixUI_Bmp_Dialog - Čarobnjak za instalaciju dovršit će instalaciju programa [ProductName] na računalo. Kliknite "Instaliraj" da biste nastavili ili "Odustani" da biste izašli iz čarobnjaka za instalaciju. - {\WixUI_Font_Bigger}Nastavljanje čarobnjaka za instalaciju programa [ProductName] - - Instalacija programa [ProductName] - &Tipična - Tipična instalacija - Pr&ilagođena - Prilagođena instalacija - P&otpuna - Potpuna instalacija - WixUI_Bmp_Banner - {\WixUI_Font_Title}Odaberite vrstu instalacije - Odaberite vrstu instalacije koja najbolje odgovara vašim potrebama - Instalira najčešće značajke programa. Preporučuje se za većinu korisnika. - Korisniku omogućuje da odabere značajke programa koje želi instalirati te mjesto na koje će se instalirati. Preporučuje se za napredne korisnike. - Instaliraju se sve značajke programa. Potrebno je najviše prostora na disku. - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Instalacija programa [ProductName] je prekinuta - Instalacija programa [ProductName] je prekinuta. Sustav nije izmijenjen. Da biste naknadno instalirali program, ponovno pokrenite instalaciju. - Kliknite gumb "Dovrši" da biste izašli iz čarobnjaka za instalaciju. - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - &Instaliraj - Kliknite "Instaliraj" da biste započeli instalaciju. Kliknite "Natrag" da biste pregledali postavke instalacije ili ih promijenili. Kliknite "Odustani" da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spreman instalirati [ProductName] - &Promijeni - Kliknite "Promijeni" da biste započeli instalaciju. Kliknite "Natrag" da biste pregledali postavke instalacije ili ih promijenili. Kliknite "Odustani" da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spreman promijeniti [ProductName] - Po&pravi - Kliknite "Popravi" da biste popravili instalaciju programa [ProductName]. Kliknite "Natrag" da biste pregledali postavke instalacije ili ih promijenili. Kliknite "Odustani" da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spreman popraviti [ProductName] - &Ukloni - Kliknite "Ukloni" da biste uklonili [ProductName] s računala. Kliknite "Natrag" da biste pregledali postavke instalacije ili ih promijenili. Kliknite "Odustani" da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spreman ukloniti [ProductName] - &Ažuriraj - Kliknite "Ažuriraj" da biste ažurirali [ProductName] s računala. Kliknite "Natrag" da biste pregledali postavke instalacije ili ih promijenili. Kliknite "Odustani" da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spreman ažurirati [ProductName] - - Instalacija programa [ProductName] - &Povratak - Pričekajte da instalacijski program odredi potreban prostor na disku. - WixUI_Ico_Exclam - Ikona uskličnika - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - Čarobnjak za instalaciju instalirat će [ProductName] na računalo. Kliknite "Dalje" da biste nastavili ili "Odustani" da biste izašli iz čarobnjaka za instalaciju. - Čarobnjak za instalaciju ažurirat će [ProductName] na računalu. Kliknite "Dalje" da biste nastavili ili "Odustani" da biste izašli iz čarobnjaka za instalaciju. - {\WixUI_Font_Bigger}Dobro došli u čarobnjak za instalaciju programa [ProductName] - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - &Prihvaćam uvjete licencnog ugovora - &Instaliraj - &Ažuriraj - {\WixUI_Font_Title}Pročitajte licencni ugovor za proizvod [ProductName] - - Provjera valjanosti instalacije - Kopiranje novih datoteka - Datoteka: [1], direktorij: [9], veličina: [6] - Kopiranje datoteka za mrežnu instalaciju - Datoteka: [1], direktorij: [9], veličina: [6] - Izračunavanje potrebnog prostora - Izračunavanje potrebnog prostora - Izračunavanje potrebnog prostora - Stvaranje prečaca - Prečac: [1] - Objavljivanje odgovarajućih komponenti - ID komponente: [1], kvalifikator: [2] - Objavljivanje značajki proizvoda - Značajka: [1] - Objavljivanje informacija o proizvodu - Registracija poslužitelja klasa - ID klase: [1] - Registracija poslužitelja proširenja - Proširenje: [1] - Registracija MIME informacija - MIME vrsta sadržaja: [1], proširenje: [2] - Registracija programskih identifikatora - ID programa: [1] - Dodjeljivanje prostora registra - Slobodan prostor: [1] - Traženje instaliranih aplikacija - Svojstvo: [1], potpis: [2] - Povezivanje izvršnih programa - Datoteka: [1] - Traženje odgovarajućih proizvoda - Stvaranje mapa - Mapa: [1] - Brisanje servisa - Servis: [1] - Stvaranje dupliciranih datoteka - Datoteka: [1], direktorij: [9], veličina: [6] - Traženje povezanih aplikacija - Pronađena aplikacija: [1] - Instaliranje ODBC komponenti - Instaliranje novih servisa - Servis: [2] - Procjena uvjeta za pokretanje - Migracija stanja značajki iz povezanih programa - Aplikacija: [1] - Premještanje datoteka - Datoteka: [1], direktorij: [9], veličina: [6] - Zakrpavanje datoteka - Datoteka: [1], direktorij: [2], veličina: [3] - Ažuriranje registracije komponenti - Registracija COM+ aplikacija i komponenti - ID aplikacije: [1]{{, vrsta aplikacije: [2], korisnici: [3], RSN: [4]}} - Registracija fontova - Font: [1] - Registracija proizvoda - [1] - Registracija biblioteka vrsta - ID biblioteke: [1] - Registracija korisnika - [1] - Uklanjanje dupliciranih datoteka - Datoteka: [1], direktorij: [9] - Ažuriranje nizova okruženja - Naziv: [1], vrijednost: [2], akcija [3] - Uklanjanje aplikacija - Aplikacija: [1], naredbeni redak: [2] - Uklanjanje datoteka - Datoteka: [1], direktorij: [9] - Uklanjanje mapa - Mapa: [1] - Uklanjanje unosa INI datoteka - Datoteka: [1], odjeljak: [2], ključ: [3], vrijednost: [4] - Uklanjanje ODBC komponenti - Uklanjanje vrijednosti iz registra sustava - Ključ: [1], naziv: [2] - Uklanjanje prečaca - Prečac: [1] - Traženje odgovarajućih proizvoda - Registracija modula - Datoteka: [1], mapa: [2] - Poništavanje registracije modula - Datoteka: [1], mapa: [2] - Inicijalizacija direktorija ODBC-a - Pokretanje servisa - Servis: [1] - Zaustavljanje servisa - Servis: [1] - Poništavanje objavljivanja odgovarajućih komponenti - ID komponente: [1], kvalifikator: [2] - Poništavanje objavljivanja značajki proizvoda - Značajka: [1] - Poništavanje registracije poslužitelja klasa - ID klase: [1] - Poništavanje registracije COM+ aplikacija i komponenti - ID aplikacije: [1]{{, vrsta aplikacije: [2]}} - Poništavanje registracije poslužitelja proširenja - Proširenje: [1] - Poništavanje registracije fontova - Font: [1] - Poništavanje registracije MIME informacija - MIME vrsta sadržaja: [1], proširenje: [2] - Poništavanje registracije programskih identifikatora - ID programa: [1] - Poništavanje registracije biblioteka vrsta - ID biblioteke: [1] - Ažuriranje nizova okruženja - Naziv: [1], vrijednost: [2], akcija [3] - Pisanje vrijednosti INI datoteka - Datoteka: [1], odjeljak: [2], ključ: [3], vrijednost: [4] - Pisanje vrijednosti registra sustava - Ključ: [1], naziv: [2], vrijednost: [3] - Oglašavanje aplikacije - Generiranje operacija skripti za akciju: - [1] - Instalacija kataloga sustava - Datoteka: [1], ovisnosti: [2] - Objavljivanje podataka o sklopu - Kontekst aplikacije:[1], naziv sklopa:[2] - Poništavanje objavljivanja podataka o sklopu - Kontekst aplikacije:[1], naziv sklopa:[2] - Akcija vraćanja: - [1] - Uklanjanje sigurnosnih kopija datoteka - Datoteka: [1] - Uklanjanje premještenih datoteka - Datoteka: [1], direktorij: [9] - Poništavanje objavljivanja informacija o proizvodu - - {{Fatalna pogreška: }} - {{Pogreška [1]. }} - Upozorenje [1]. - Informacija [1]. - Instalacijski program naišao je na neočekivanu pogrešku pri instalaciji ovog paketa. To možda upućuje na problem s ovim paketom. Kod pogreške je [1]. {{Argumenti su: [2], [3], [4]}} - {{Disk pun: }} - Akcija [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Vrsta poruke: [1], argument: [2] - === Početak zapisivanja: [Date] [Time] === - === Kraj zapisivanja: [Date] [Time] === - Početak akcije [Time]: [1]. - Završetak akcije [Time]: [1]. Povratna vrijednost [2]. - Preostalo vrijeme: {[1] min }{[2] s} - Nedostatak memorije. Prije ponovnog pokušaja zatvorite druge aplikacije. - Instalacijski program više ne reagira. - Instalacijski je program završio prerano. - Pričekajte dok Windows konfigurira [ProductName] - Prikupljanje potrebnih informacija... - Uklanjanje starijih verzija aplikacije... - Priprema za uklanjanje starijih verzija aplikacije... - Instalacija programa {[ProductName] }uspješno je dovršena. - Instalacija programa {[ProductName] }nije uspjela. - Pogreška pri čitanju iz datoteke: [2]. {{ Sistemska pogreška [3].}} Provjerite postoji li datoteka te možete li joj pristupiti. - Nije moguće stvoriti datoteku "[2]". Već postoji direktorij pod tim nazivom. Odustanite od instalacije te pokušajte instalirati na drugo mjesto. - Umetnite disk: [2] - Instalacijski program nema dovoljno ovlasti da bi pristupio sljedećem direktoriju: [2]. Instalacija se ne može nastaviti. Prijavite se kao administrator ili se obratite administratoru sustava. - Pogreška prilikom pisanja u datoteku: [2]. Provjerite imate li pristup tom direktoriju. - Pogreška pri čitanju iz datoteke: [2]. {{ Sistemska pogreška [3].}} Provjerite postoji li datoteka te možete li joj pristupiti. - Druga aplikacija ima ekskluzivan pristup datoteci "[2]". Zatvorite sve druge aplikacije te kliknite "Pokušaj ponovno". - Nema dovoljno prostora na disku za instalaciju ove datoteke: [2]. Oslobodite prostor na disku te kliknite "Pokušaj ponovno" ili kliknite "Odustani" da biste izašli. - Izvor nije pronađen: [2].Provjerite postoji li datoteka te možete li joj pristupiti. - Pogreška pri čitanju iz datoteke: [3]. {{ Sistemska pogreška [2].}} Provjerite postoji li datoteka te možete li joj pristupiti. - Pogreška prilikom pisanja u datoteku: [3]. {{ Sistemska pogreška [2].}} Provjerite imate li pristup tom direktoriju. - Izvorna datoteka nije pronađena{{(kabinetska)}}: [2]. Provjerite postoji li datoteka te možete li joj pristupiti. - Direktorij "[2]" nije moguće stvoriti. Već postoji datoteka pod tim nazivom. Preimenujte datoteku ili je premjestite te kliknite "Pokušaj ponovno" ili kliknite "Odustani" da biste izašli. - Jedinica [2] trenutno nije dostupna. Odaberite drugu jedinicu. - Navedeni put "[2]" nije dostupan. - Nije moguće pisanje u navedenu mapu: [2]. - Došlo je do mrežne pogreške pri pokušaju čitanja iz datoteke: [2] - Došlo je do pogreške pri pokušaju stvaranja direktorija: [2] - Došlo je do mrežne pogreške pri pokušaju stvaranja direktorija: [2] - Došlo je do mrežne pogreške pri pokušaju otvaranja izvorne kabinetske datoteke: [2] - Navedeni je put predug: [2] - Instalacijski program nema dovoljne ovlasti za izmjenu ove datoteke: [2]. - Dio puta mape "[2]" nije valjan. Put je prazan ili premašuje duljinu dopuštenu u sustavu. - Put mape "[2]" sadrži riječi koje nisu valjane u putovima mapa. - Put mape "[2]" sadrži znak koji nije valjan. - "[2]" nije valjani kratki naziv datoteke. - Pogreška pri dohvaćanju zaštite datoteke: [3] GetLastError: [2] - Pogon nije valjan: [2] - Pogreška prilikom primjene zakrpe na datoteku [2]. Datoteka je vjerojatno na drugi način ažurirana te je više nije moguće izmijeniti tom zakrpom. Dodatne informacije zatražite od dobavljača zakrpe. {{Pogreška sustava: [3]}} - Potrebnu datoteku nije moguće instalirati jer kabinetska datoteka [2] nije digitalno potpisana. To može upućivati na oštećenost kabinetske datoteke. - Potrebnu datoteku nije moguće instalirati jer kabinetska datoteka [2] sadrži digitalni potpis koji nije valjan. To može upućivati na oštećenost kabinetske datoteke.{{ WinVerifyTrust vratio je pogrešku [3].}} - Kopiranje datoteke [2] nije uspjelo: CRC pogreška. - Premještanje datoteke [2] nije uspjelo: CRC pogreška. - Zakrpavanje datoteke [2] nije uspjelo: CRC pogreška. - Datoteku "[2]" nije moguće instalirati jer se ne može pronaći moguće u kabinetskoj datoteci "[3]". To može upućivati na pogrešku mreže, pogrešku pri čitanju s CD-ROM-a ili na problem s paketom. - Kabinetska datoteka "[2]" potrebna za ovu instalaciju oštećena je i ne može se koristiti. To može upućivati na pogrešku mreže, pogrešku pri čitanju s CD-ROM-a ili na problem s paketom. - Došlo je do pogreške pri stvaranju privremene datoteke potrebne za dovršetak instalacije.{{ Mapa: [3]. Kod sistemske pogreške: [2]}} - Nije moguće stvoriti ključ: [2]. {{ Sistemska pogreška [3].}} Provjerite imate li potreban pristup tom ključu ili se obratite osoblju za podršku. - Nije moguće otvoriti ključ: [2]. {{ Sistemska pogreška [3].}} Provjerite imate li potreban pristup tom ključu ili se obratite osoblju za podršku. - Nije moguće izbrisati vrijednost [2] iz ključa [3]. {{ Sistemska pogreška [4].}} Provjerite imate li potreban pristup tom ključu ili se obratite osoblju za podršku. - Nije moguće izbrisati ključ [2]. {{ Sistemska pogreška [3].}} Provjerite imate li potreban pristup tom ključu ili se obratite osoblju za podršku. - Nije moguće pročitati vrijednost [2] iz ključa [3]. {{ Sistemska pogreška [4].}} Provjerite imate li potreban pristup tom ključu ili se obratite osoblju za podršku. - Nije moguće zapisati vrijednost [2] u ključ [3]. {{ Sistemska pogreška [4].}} Provjerite imate li potreban pristup tom ključu ili se obratite osoblju za podršku. - Nije moguće dohvatiti nazive vrijednosti za ključ [2]. {{ Sistemska pogreška [3].}} Provjerite imate li potreban pristup tom ključu ili se obratite osoblju za podršku. - Nije moguće dohvatiti nazive potključeva za ključ [2]. {{ Sistemska pogreška [3].}} Provjerite imate li potreban pristup tom ključu ili se obratite osoblju za podršku. - Nije moguće pročitati sigurnosne informacije za ključ [2]. {{ Sistemska pogreška [3].}} Provjerite imate li potreban pristup tom ključu ili se obratite osoblju za podršku. - Nije moguće povećati slobodan prostor registra. Za instalaciju aplikacije potrebno je najmanje [2] kB slobodnog prostora u registru. - U tijeku je druga instalacija. Morate dovršiti tu instalaciju prije nastavka ove. - Pogreška prilikom pristupa osiguranim podacima. Provjerite je li Windows Installer pravilno konfiguriran i pokušajte ponoviti instalaciju. - Korisnik "[2]" već je započeo instalaciju proizvoda "[3]". Morat će ponovno pokrenuti instalaciju da bi mogao koristiti proizvod. Vaša će se trenutna instalacija sada nastaviti. - Korisnik "[2]" već je započeo instalaciju proizvoda "[3]". Morat će ponovno pokrenuti instalaciju da bi mogao koristiti proizvod. - Nema dovoljno prostora na disku -- jedinica: '[2]'; potreban prostor: [3] kB; slobodan prostor: [4] kB. Oslobodite prostor na disku i pokušajte ponovno. - Jeste li sigurni da želite odustati? - Datoteku [2][3] koristi{ sljedeći proces: naziv: [4], ID: [5], naslov prozora: "[6]"}. Zatvorite tu aplikaciju i pokušajte ponovno. - Proizvod "[2]" već je instaliran te onemogućuje instalaciju ovog proizvoda. Ta dva proizvoda nisu kompatibilna. - Nema dovoljno diskovnog prostora na jedinici "[2]" za nastavak instalacije s omogućenim oporavkom. Potrebno je [3] kB, a dostupno je samo [4] kB. Kliknite "Zanemari" da biste nastavili instalaciju bez spremanja podataka za oporavak, "Pokušaj ponovno" da biste ponovno provjerili količinu slobodnog prostora ili "Odustani" da biste izašli iz instalacije. - Nije moguće pristupiti mrežnom mjestu [2]. - Prije nastavka instalacije potrebno je zatvoriti sljedeće aplikacije: - Na računalu nije moguće pronaći prethodno instalirane kompatibilne proizvode za instalaciju ovog proizvoda. - Došlo je do pogreške pri primjeni sigurnosnih postavki. [2] nije valjani korisnik ili grupa. To može upućivati na probleme s paketom ili pri povezivanju s kontrolorom domene na mreži. Provjerite mrežnu vezu i kliknite "Pokušaj ponovno" ili "Odustani" da biste prekinuli instalaciju. {{Nije moguće pronaći korisnički SID, sistemska pogreška [3]}} - Ključ [2] nije valjan. Provjerite jeste li unijeli ispravan ključ. - Instalacijski program mora ponovno pokrenuti sustav da bi se mogla nastaviti konfiguracija programa [2]. Kliknite "Da" da biste odmah ponovno pokrenuli računalo ili "Ne" ako ga namjeravate naknadno ponovno pokrenuti ručno. - Morate ponovno pokrenuti sustav da bi promjene konfiguracije programa [2] stupile na snagu. Kliknite "Da" da biste odmah ponovno pokrenuli računalo ili "Ne" ako ga planirate ponovno pokrenuti ručno kasnije. - Instalacija programa [2] trenutno je obustavljena. Da biste nastavili, morate poništiti promjene koje je napravila instalacija. Želite li poništiti promjene? - U tijeku je prethodna instalacija tog proizvoda. Da biste nastavili, morate poništiti promjene koje je napravila instalacija. Želite li poništiti promjene? - Nije moguće pronaći instalacijski paket za proizvod [2]. Pokušajte ponovno instalirati pomoću valjane kopije instalacijskog paketa "[3]". - Instalacije je uspješno dovršena. - Instalacija nije uspjela. - Proizvod: [2] -- [3] - Računalo možete vratiti u prethodno stanje ili naknadno nastaviti instalaciju. Želite li vratiti prethodno stanje? - Prilikom pisanja informacija na disk došlo je do pogreške. Provjerite ima li na disku dovoljno slobodnog prostora te kliknite "Pokušaj ponovno" ili "Odustani" da biste zaustavili instalaciju. - Nije moguće pronaći neke datoteke potrebne za vraćanje računala u prethodno stanje. Vraćanje neće biti moguće. - [2] ne može instalirati jedan od obaveznih proizvoda. Obratite se službi za tehničku podršku. {{Pogreška sustava: [3].}} - Nije moguće ukloniti stariju verziju programa [2]. Obratite se službi za tehničku podršku. {{Pogreška sustava [3].}} - Instalirano [2] - Konfigurirano [2] - Uklonjeno [2] - Datoteka [2] odbačena je zbog pravilnika o digitalnim potpisima. - Nije moguće pristupiti servisu Windows Installer Service. Do toga može doći ako je Windows pokrenut u sigurnom načinu rada ili ako Windows Installer nije pravilno instaliran. Za pomoć se obratite osoblju za podršku. - Postoji problem s paketom servisa Windows Installer. Nije moguće pokrenuti skriptu potrebnu za dovršetak ove instalacije. Obratite se osoblju za podršku ili dobavljaču paketa. {{Pogreška skripte [2] prilagođene akcije [3], [4]: [5] redak [6], stupac [7], [8] }} - Postoji problem s paketom servisa Windows Installer. Program potreban za dovršetak instalacije nije moguće pokrenuti. Obratite se osoblju za podršku ili dobavljaču paketa. {{Akcija: [2], mjesto: [3], naredba: [4] }} - Postoji problem s paketom servisa Windows Installer. Program pokrenut u sklopu instalacije nije završio na očekivan način. Obratite se osoblju za podršku ili dobavljaču paketa. {{Akcija [2], mjesto: [3], naredba: [4] }} - Postoji problem s paketom servisa Windows Installer. DLL potreban za dovršetak instalacije nije moguće pokrenuti. Obratite se osoblju za podršku ili dobavljaču paketa. {{Akcija [2], unos: [3], biblioteka: [4] }} - Uklanjanje je uspješno dovršeno. - Uklanjanje nije uspjelo. - Oglašavanje je uspješno dovršeno. - Oglašavanje nije uspjelo. - Konfiguracija je uspješno dovršena. - Konfiguracija nije uspjela. - Da biste uklonili tu aplikaciju, morate biti administrator. Da biste uklonili aplikaciju, prijavite se kao administrator ili se za pomoć obratite službi za tehničku podršku. - Izvorišni instalacijski paket za proizvod [2] nije usklađen s klijentskim paketom. Pokušajte ponovno instalirati pomoću valjane kopije instalacijskog paketa "[3]". - Da biste dovršili instalaciju programa [2], morate ponovno pokrenuti računalo. Na računalo su trenutno prijavljeni drugi korisnici koji bi mogli izgubiti to na čemu rade ako ponovno pokrenete računalo. Želite li odmah ponovno pokrenuti računalo? - Put [2] nije valjan. Navedite valjani put. - Nedostatak memorije. Prije ponovnog pokušaja zatvorite druge aplikacije. - Nema diska u pogonu [2]. Umetnite disk i kliknite "Pokušaj ponovno" ili kliknite "Odustani" da biste se vratili na prethodno odabranu jedinicu. - Nema diska u pogonu [2]. Umetnite disk i kliknite "Pokušaj ponovno" ili kliknite "Odustani" da biste se vratili na dijaloški okvir za pregledavanje te odabrali drugu jedinicu. - Mapa [2] ne postoji. Unesite put do postojeće mape. - Nemate dovoljno ovlasti za čitanje ove mape. - Nije moguće odrediti valjanu odredišnu mapu za instalaciju. - Pogreška pri čitanju iz izvorišne baze podataka za instalaciju: [2]. - Zakazivanje operacije ponovnog pokretanja: preimenovanje datoteke [2] u [3]. Računalo se mora ponovno pokrenuti da bi se operacija dovršila. - Zakazivanje operacije ponovnog pokretanja: brisanje datoteke [2]. Računalo se mora ponovno pokrenuti da bi se operacija dovršila. - Registracija modula [2] nije uspjela. HRESULT [3]. Obratite se osoblju za podršku. - Poništavanje registracije modula [2] nije uspjelo. HRESULT [3]. Obratite se osoblju za podršku. - Predmemoriranje paketa [2] nije uspjelo. Pogreška: [3]. Obratite se osoblju za podršku. - Nije moguće registrirati font [2]. Provjerite imate li potrebne dozvole za instalaciju fontove te podržava li sustav taj font. - Poništavanje registracije fonta [2] nije uspjelo. Provjerite imate li potrebne dozvole za uklanjanje fontova. - Stvaranje prečaca [2] nije moguće. Provjerite postoji li odredišna mapa te možete li joj pristupiti. - Uklanjanje prečaca [2] nije uspjelo. Provjerite postoji li datoteka prečaca te možete li joj pristupiti. - Nije moguće registrirati biblioteku tipa za datoteku [2]. Obratite se osoblju za podršku. - Nije moguće poništiti registraciju biblioteke tipa za datoteku [2]. Obratite se osoblju za podršku. - Nije moguće ažurirati ini datoteku [2][3]. Provjerite postoji li datoteka te možete li joj pristupiti. - Nije moguće zakazati zamjenu datoteke [3] datotekom [2] pri ponovnom pokretanju sustava. Provjerite imate li dozvole pisanja za datoteku [3]. - Pogreška pri uklanjanju ODBC upravitelja upravljačkim programima, ODBC pogreška [2]: [3]. Obratite se osoblju za podršku. - Pogreška pri instaliranju ODBC upravitelja upravljačkim programima, ODBC pogreška [2]: [3]. Obratite se osoblju za podršku. - Pogreška pri uklanjanju ODBC upravljačkog programa: [4], ODBC pogreška [2]: [3]. Provjerite imate li dovoljne ovlasti za uklanjanje ODBC upravljačkih programa. - Pogreška pri instaliranju ODBC upravljačkog programa: [4], ODBC pogreška [2]: [3]. Provjerite postoji li datoteka [4] te možete li joj pristupiti. - Pogreška pri konfiguriranju ODBC izvora podataka: [4], ODBC pogreška [2]: [3]. Provjerite postoji li datoteka [4] te možete li joj pristupiti. - Servis "[2]" ([3]) nije se uspio pokrenuti. Provjerite imate li dovoljne ovlasti za pokretanje servisa sustava. - Servis "[2]" ([3]) nije moguće zaustaviti. Provjerite imate li dovoljne ovlasti za zaustavljanje servisa sustava. - Servis "[2]" ([3]) nije moguće izbrisati. Provjerite imate li dovoljne ovlasti za uklanjanje servisa sustava. - Servis "[2]" ([3]) nije moguće instalirati. Provjerite imate li dovoljne ovlasti za instalaciju servisa sustava. - Nije moguće ažurirati varijablu okruženja "[2]". Provjerite imate li dovoljne ovlasti za izmjenu varijabli okruženja. - Nemate dovoljno ovlasti da biste dovršili instalaciju za sve korisnike računala. Prijavite se kao administrator, a zatim ponovno pokušajte instalirati. - Nije moguće postaviti zaštitu datoteke za datoteku "[3]". Pogreška: [2]. Provjerite imate li dovoljne ovlasti za izmjenu sigurnosnih dozvola za tu datoteku. - Na ovom računalu nije instalirana komponenta Component Services (COM+ 1.0). Da bi se ova instalacija uspješno dovršila, potrebna je komponenta Component Services. Komponenta Component Services dostupna je u sustavu Windows 2000. - Pogreška pri registraciji aplikacije COM+. Dodatne informacije zatražite od osoblja za podršku. - Pogreška pri poništavanju registracije aplikacije COM+. Dodatne informacije zatražite od osoblja za podršku. - Opis za servis "[2]" ([3]) nije moguće promijeniti. - Servis Windows Installer ne može ažurirati sistemsku datoteku [2] jer je ta datoteka zaštićena u sustavu Windows. Da bi ovaj program ispravno funkcionirao, možda ćete morati ažurirati operacijski sustav. {{Verzija paketa: [3], verzija zaštićena OS-om: [4]}} - Servis Windows Installer nije uspio ažurirati zaštićenu datoteku sustava Windows [2]. {{Verzija paketa: [3], verzija zaštićena OS-om: [4], SFP pogreška: [5]}} - Servis Windows Installer ne može ažurirati neke datoteke zaštićene datoteke sustava Windows. {{SFP pogreška: [2]. Popis zaštićenih datoteka:\r\n[3]}} - Korisničke instalacije onemogućene su pravilnicima računala. - Došlo je do pogreške prilikom instalacije sklopa "[6]". Dodatne informacije potražite u pomoći i podršci. HRESULT: [3]. {{sučelje sklopa: [4], funkcija: [5], komponenta: [2]}} - Došlo je do pogreške prilikom instalacije sklopa "[6]". Sklop nema naziv ključa ili nije potpisan minimalnom duljinom ključa. HRESULT: [3]. {{sučelje sklopa: [4], funkcija: [5], komponenta: [2]}} - Došlo je do pogreške prilikom instalacije sklopa "[6]". Potpis ili katalog nije moguće potvrditi ili nisu valjani. HRESULT: [3]. {{sučelje sklopa: [4], funkcija: [5], komponenta: [2]}} - Došlo je do pogreške prilikom instalacije sklopa "[6]". Neke module sklopa nije moguće pronaći. HRESULT: [3]. {{sučelje sklopa: [4], funkcija: [5], komponenta: [2]}} - - bajtova - GB - kB - MB - Nijedan dio značajke neće biti dostupan - Značajka će se instalirati po potrebi - Cijela će se značajka instalirati za pokretanje s CD-a - Cijela će se značajka instalirati na lokalni tvrdi disk - Cijela će se značajka instalirati za pokretanje s mreže - Instalirat će se za pokretanje s CD-a - Instalirat će se na lokalni tvrdi disk - Instalirat će se za pokretanje s mreže - Mapa|Nova mapa - Prikupljanje potrebnih informacija... - Značajka se neće instalirati - Značajka će se postaviti za instaliranje po potrebi - Značajka će se instalirati za pokretanje s CD-a - Značajka će se instalirati na lokalni tvrdi disk - Značajka će se instalirati za pokretanje s mreže - Značajka više neće biti dostupna - Značajka će se instalirati po potrebi - Značajka će biti dostupna za pokretanje s CD-a - Značajka će se instalirati na lokalni tvrdi disk - Značajka će biti dostupna za pokretanje s mreže - Značajka će se potpuno deinstalirati i nećete je moći pokrenuti s CD-a - Stanje instalacije značajke promijenit će se s pokretanja s CD-a na instalaciju po potrebi - Značajka će se i dalje pokretati s CD-a - Stanje instalacije značajke promijenit će se iz pokretanja s CD-a u instalaciju na lokalnom tvrdom disku - Ta značajka oslobađa [1] na tvrdom disku. - Za tu je značajku potrebno [1] na tvrdom disku. - Izračunavanje potrošnje memorijskog prostora za tu značajku... - Značajka će biti potpuno uklonjena - Značajka će se ukloniti s lokalnog tvrdog diska, ali će se postaviti na instalaciju po potrebi - Značajka će se ukloniti s lokalnog tvrdog diska, ali će i dalje biti dostupna za pokretanje s CD-a - Značajka će ostati na lokalnom tvrdom disku - Značajka će biti uklonjena s lokalnog tvrdog diska, ali će i dalje biti dostupna za pokretanje s mreže - Značajka će se potpuno deinstalirati i nećete je moći pokrenuti s mreže - Stanje instalacije značajke promijenit će se iz pokretanja s mreže u instalaciju po potrebi - Stanje instalacije značajke promijenit će se iz pokretanja s mreže u instalaciju na lokalnom tvrdom disku - Značajka će se i dalje pokretati s mreže - Značajka oslobađa [1] na tvrdom disku. Odabrane podznačajke: [2] od [3]. Podznačajke oslobađaju [4] na tvrdom disku. - Značajka oslobađa [1] na tvrdom disku. Odabrane podznačajke: [2] od [3]. Za podznačajke je potrebno [4] na tvrdom disku. - Za značajku je potrebno [1] na tvrdom disku. Odabrane podznačajke: [2] od [3]. Podznačajke oslobađaju [4] na tvrdom disku. - Za značajku je potrebno [1] na tvrdom disku. Odabrane podznačajke: [2] od [3]. Za podznačajke je potrebno [4] na tvrdom disku. - Preostalo vrijeme: {[1] min }{[2] s} - Slobodno - Razlika - Potrebno - Veličina diska - Jedinica - diff --git a/Src/Localization/WixUI/WixUI_hu-HU.wxl b/Src/Localization/WixUI/WixUI_hu-HU.wxl deleted file mode 100644 index 631dfa6..0000000 --- a/Src/Localization/WixUI/WixUI_hu-HU.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Vissza - &Tovább - Mégse - &Befejezés - Újr&a - &Mellőzés - &Igen - &Nem - OK - &Nyomtatás - - A(z) [ProductName] telepítése - WixUI_Bmp_Banner - {\WixUI_Font_Title}Olvassa el a(z) [ProductName] licencszerződését - &Elfogadom a licencszerződés feltételeit. - Ha az alapértelmezett beállításokkal, minden felhasználónak szeretné telepíteni a terméket, kattintson a Telepítés gombra. Ha módosítani szeretné a telepítési beállításokat, kattintson a Speciális gombra. - Ha az alapértelmezett beállításokkal, csak önmagának szeretné telepíteni a terméket, kattintson a Telepítés gombra. Ha módosítani szeretné a telepítési beállításokat, kattintson a Speciális gombra. - &Telepítés - S&peciális - 8 - 12 - 9 - 8 - Tahoma - - A(z) [ProductName] telepítése - &Hely: - WixUI_Bmp_Up - Egy szinttel feljebb - WixUI_Bmp_New - Új mappa létrehozása - &Mappa neve: - WixUI_Bmp_Banner - Tallózással keresse meg a célmappát. - {\WixUI_Font_Title}Célmappa módosítása - - A(z) [ProductName] telepítése - Biztosan megszakítja a(z) [ProductName] telepítését? - WixUI_Ico_Info - Információs ikon - - A(z) [ProductName] telepítése - Kijelölőfa - T&allózás... - &Visszaállítás - &Lemezfelhasználás - WixUI_Bmp_Banner - Az alábbi faszerkezet ikonjaira kattintva módosíthatja, hogy miképpen települjenek a termék szolgáltatásai. - Ezen a lapon adhatja meg a szolgáltatások telepítésének módját. - {\WixUI_Font_Title}Egyéni telepítés - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Helye: - - A(z) [ProductName] telepítése - WixUI_Bmp_Banner - A kijelölt köteteken nincs elég szabad lemezterület a megadott szolgáltatások telepítéséhez. A probléma megoldásához törölhet néhány fájlt a kijelölt kötetekről, telepíthet kevesebb szolgáltatást, vagy más célmeghajtókat választhat. - A kijelölt szolgáltatások telepítéséhez szükséges lemezterület. - {\WixUI_Font_Title}Lemezterület-szükséglet - {120}{70}{70}{70}{70} - - A(z) [ProductName] telepítése - Információs szöveg - WixUI_Ico_Info - Információs ikon - - A(z) [ProductName] telepítése - WixUI_Bmp_Dialog - A telepítővarázslóból való kilépéshez kattintson a Befejezés gombra. - {\WixUI_Font_Bigger}A(z) [ProductName] telepítővarázsló futása befejeződött. - - A(z) [ProductName] telepítése - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}A(z) [ProductName] telepítővarázsló futása idő előtt véget ért. - A(z) [ProductName] telepítővarázsló futása egy hiba miatt megszakadt. A rendszer nem módosult. A programot később a telepítővarázsló futtatásával telepítheti. - A telepítővarázslóból való kilépéshez kattintson a Befejezés gombra. - - A(z) [ProductName] telepítése - A termék funkciói - WixUI_Bmp_Banner - Ezen a lapon adhatja meg a szolgáltatások telepítésének módját. - {\WixUI_Font_Title}A termék funkciói - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Telepítés - &Módosítás - - A(z) [ProductName] telepítése - &Kilépés - WixUI_Bmp_Banner - A következő alkalmazások jelenleg használják a telepítő által frissítendő fájlokat. Zárja be ezeket az alkalmazásokat, majd az Újr&a gombra kattintva folytassa a telepítést, vagy a Kilépés gombra kattintva lépjen ki a telepítőből. - Néhány frissítendő fájl jelenleg használatban van. - {\WixUI_Font_Title}Használatban lévő fájlok - - A(z) [ProductName] telepítése - &Módosítás... - {\WixUI_Font_Title}Célmappa - Ha az alapértelmezett mappába kívánja telepíteni, kattintson a Tovább gombra, ha másikat szeretne választani, kattintson a Módosítás gombra. - WixUI_Bmp_Banner - A(z) [ProductName] telepítése ide: - - A(z) [ProductName] telepítése - WixUI_Bmp_Banner - A telepítési hatókör és mappa kiválasztása - {\WixUI_Font_Title}Telepítési hatókör - {\WixUI_Font_Emphasized}Telepítés &csak önmaga számára ([LogonUser]) - A(z) [ProductName] egy felhasználói mappába települ, és csak az Ön felhasználói fiókjával lesz elérhető. Nem szükségesek rendszergazdai jogok. - A(z) [ProductName] nem telepíthető felhasználónként. - {\WixUI_Font_Emphasized}Telepítés a számítógép &minden felhasználója számára - A(z) [ProductName] alapértelmezés szerint egy számítógépszintű mappába települ, és minden felhasználó számára elérhető lesz. Az alapértelmezett telepítési mappa módosítható. Helyi rendszergazdai jogok szükségesek. - Telepítési &mappa: - &Módosítás... - - A(z) [ProductName] telepítése - A telepítési mappának egy helyi merevlemezen kell lennie. - WixUI_Ico_Info - Információs ikon - - A(z) [ProductName] telepítése - &Elfogadom a licencszerződés feltételeit. - WixUI_Bmp_Banner - Figyelmesen olvassa el az alábbi licencszerződést. - {\WixUI_Font_Title}Végfelhasználói licencszerződés - - A(z) [ProductName] telepítése - &Módosítás - A telepítés módosítása - &Javítás - A telepítés kijavítása - &Eltávolítás - A telepítés eltávolítása - WixUI_Bmp_Banner - Válasszon a rendelkezésre álló lehetőségek közül. - {\WixUI_Font_Title}A telepítés módosítása, kijavítása vagy eltávolítása - Lehetővé teszi a telepített szolgáltatások telepítési módjának megváltoztatását. - A(z) [ProductName] nem tartalmaz egymástól függetlenül választható szolgáltatásokat. - A(z) [ProductName] eltávolítása a számítógépről - A(z) [ProductName] nem távolítható el. - Kijavítja a legutóbbi telepítés hibáit úgy, hogy helyreállítja a hiányzó és sérült fájlokat, parancsikonokat és beállításjegyzékbeli bejegyzéseket. - A(z) [ProductName] nem javítható ki. - - A(z) [ProductName] telepítése - WixUI_Bmp_Dialog - A telepítővarázslóval megváltoztathatja a(z) [ProductName] szolgáltatásainak telepítési módját, vagy eltávolíthatja a terméket a számítógépről. A folytatáshoz kattintson a Tovább gombra, a telepítővarázslóból való kilépéshez a Mégse gombra. - {\WixUI_Font_Bigger}A(z) [ProductName] telepítése – üdvözli a varázsló. - - A(z) [ProductName] telepítése - WixUI_Bmp_Banner - A következő alkalmazások jelenleg használják a telepítő által frissítendő fájlokat. Engedélyezheti, hogy a telepítővarázsló bezárja őket, és később kísérletet tegyen az újraindításukra vagy a számítógép újraindítására. - Néhány frissítendő fájl jelenleg használatban van. - {\WixUI_Font_Title}Fájlok vannak használatban - Az alkalmazások &bezárása és későbbi újraindítása - Az alkalmazások bezárásának &mellőzése. A számítógépet később újra kell indítani. - - A(z) [ProductName] telepítése - WixUI_Bmp_Banner - A kijelölt köteteken nincs elég szabad lemezterület a megadott szolgáltatások telepítéséhez. A probléma megoldásához törölhet néhány fájlt a kijelölt kötetekről, telepíthet kevesebb szolgáltatást, vagy más célmeghajtókat választhat. - A rendelkezésre álló lemezterület nem elegendő a telepítéshez. - {\WixUI_Font_Title}Kevés a szabad lemezterület. - {120}{70}{70}{70}{70} - - A(z) [ProductName] telepítése - WixUI_Bmp_Banner - A kijelölt köteteken nincs elég szabad lemezterület a megadott szolgáltatások telepítéséhez. A probléma megoldásához törölhet néhány fájlt a kijelölt kötetekről, telepíthet kevesebb szolgáltatást, vagy más célmeghajtókat választhat. - A rendelkezésre álló lemezterület nem elegendő a telepítéshez. - {\WixUI_Font_Title}Kevés a szabad lemezterület. - {120}{70}{70}{70}{70} - Másik lehetőségként letilthatja a telepítőprogram visszaállítási funkcióját. A visszaállítás letiltása megakadályozza a számítógép eredeti állapotának visszaállítását, ha a telepítés valamiért megszakadna. Ha vállalja ennek kockázatát, kattintson az Igen gombra. - - A(z) [ProductName] telepítése - WixUI_Bmp_Dialog - Várjon, amíg a telepítővarázsló felkészül, hogy végigvezesse Önt a telepítés folyamatán. - {\WixUI_Font_Bigger}A(z) [ProductName] telepítése – üdvözli a varázsló. - - A(z) [ProductName] telepítése - WixUI_Bmp_Banner - Várjon, amíg a telepítővarázsló telepíti a(z) [ProductName] terméket. - {\WixUI_Font_Title}A(z) [ProductName] telepítése - Várjon, amíg a telepítővarázsló módosítja a(z) [ProductName] terméket. - {\WixUI_Font_Title}A(z) [ProductName] módosítása - Várjon, amíg a telepítővarázsló kijavítja a(z) [ProductName] terméket. - {\WixUI_Font_Title}A(z) [ProductName] kijavítása - Várjon, amíg a telepítővarázsló eltávolítja a(z) [ProductName] terméket. - {\WixUI_Font_Title}A(z) [ProductName] eltávolítása - Kis türelmet, a telepítővarázsló a(z) [ProductName] frissítését végzi. - {\WixUI_Font_Title}A(z) [ProductName] frissítése - A folyamat állapota - Állapot: - - A(z) [ProductName] telepítése - &Telepítés - WixUI_Bmp_Dialog - A telepítővarázsló befejezi a(z) [ProductName] telepítését a számítógépre. A folytatáshoz kattintson a Telepítés gombra, a varázslóból való kilépéshez a Mégse gombra. - {\WixUI_Font_Bigger}A(z) [ProductName] telepítővarázsló folytatása - - A(z) [ProductName] telepítése - &Tipikus - Tipikus telepítés - &Egyéni - Egyéni telepítés - Telje&s - Teljes telepítés - WixUI_Bmp_Banner - {\WixUI_Font_Title}A telepítéstípus kiválasztása - Ezen a lapon választhatja ki a telepítés típusát. - A leggyakrabban használt szolgáltatások telepítése (a legtöbb esetben ez a lehetőség ajánlott). - A telepítendő szolgáltatások és azok helyének kiválasztása (tapasztalt felhasználóknak ajánlott). - A program minden szolgáltatása települ. Ehhez szükséges a legtöbb lemezterület. - - A(z) [ProductName] telepítése - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}A(z) [ProductName] telepítővarázsló futása megszakadt. - A(z) [ProductName] telepítése megszakadt. A rendszer nem módosult. A programot később a telepítés futtatásával telepítheti. - A telepítővarázslóból való kilépéshez kattintson a Befejezés gombra. - - A(z) [ProductName] telepítése - WixUI_Bmp_Banner - &Telepítés - A telepítés megkezdéséhez válassza a Telepítés lehetőséget. A Vissza gombra kattintva áttekintheti és módosíthatja a telepítési beállításokat. A telepítővarázslóból való kilépéshez kattintson a Mégse gombra. - {\WixUI_Font_Title}A telepítő készen áll a(z) [ProductName] telepítésére - &Módosítás - A telepítés megkezdéséhez válassza a Módosítás lehetőséget. A Vissza gombra kattintva áttekintheti és módosíthatja a telepítési beállításokat. A telepítővarázslóból való kilépéshez kattintson a Mégse gombra. - {\WixUI_Font_Title}A telepítő készen áll a(z) [ProductName] módosítására - &Javítás - A(z) [ProductName] telepítésének kijavításához válassza a Javítás lehetőséget. A Vissza gombra kattintva áttekintheti és módosíthatja a telepítési beállításokat. A telepítővarázslóból való kilépéshez kattintson a Mégse gombra. - {\WixUI_Font_Title}A telepítő készen áll a(z) [ProductName] kijavítására - &Eltávolítás - A(z) [ProductName] eltávolításához válassza az Eltávolítás lehetőséget. A Vissza gombra kattintva áttekintheti és módosíthatja a telepítési beállításokat. A telepítővarázslóból való kilépéshez kattintson a Mégse gombra. - {\WixUI_Font_Title}A telepítő készen áll a(z) [ProductName] eltávolítására - &Frissítés - Ha frissíteni szeretné a(z) [ProductName] terméket a számítógépen, kattintson a Frissítés lehetőségre. A Vissza gombra kattintva áttekintheti és módosíthatja a telepítési beállításokat. A telepítővarázslóból való kilépéshez kattintson a Mégse gombra. - {\WixUI_Font_Title}A telepítő készen áll a(z) [ProductName] frissítésére - - A(z) [ProductName] telepítése - &Vissza - Kis türelmet, a telepítő befejezi a lemezterület-szükséglet megállapítását. - WixUI_Ico_Exclam - Felkiáltójel ikon - - A(z) [ProductName] telepítése - WixUI_Bmp_Dialog - A telepítővarázsló telepíti a(z) [ProductName] alkalmazást a számítógépre. A folytatáshoz kattintson a Tovább gombra, a telepítővarázslóból való kilépéshez a Mégse gombra. - A telepítővarázsló frissíti a(z) [ProductName] terméket a számítógépen. A folytatáshoz kattintson a Tovább gombra, a telepítővarázslóból való kilépéshez a Mégse gombra. - {\WixUI_Font_Bigger}A(z) [ProductName] telepítése – üdvözli a varázsló. - - A(z) [ProductName] telepítése - WixUI_Bmp_Dialog - &Elfogadom a licencszerződés feltételeit. - &Telepítés - &Frissítés - {\WixUI_Font_Title}Olvassa el a(z) [ProductName] licencszerződését - - A telepítés ellenőrzése - Új fájlok másolása - Fájl: [1], könyvtár: [9], méret: [6] - Hálózati telepítőfájlok másolása - Fájl: [1], könyvtár: [9], méret: [6] - A szükséges lemezterület kiszámítása - A szükséges lemezterület kiszámítása - A szükséges lemezterület kiszámítása - Parancsikonok létrehozása - Parancsikon: [1] - Minősített összetevők közzététele - Összetevő-azonosító: [1], minősítő: [2] - A termék szolgáltatásainak közzététele - Szolgáltatás: [1] - A termék adatainak közzététele - Osztálykiszolgálók regisztrálása - Osztályazonosító: [1] - Kiterjesztésszolgáltatók regisztrálása - Kiterjesztés: [1] - MIME-információ regisztrálása - A MIME-tartalom típusa: [1], kiterjesztés: [2] - Programazonosítók regisztrálása - Programazonosító: [1] - Hely lefoglalása a beállításjegyzékben - Szabad lemezterület: [1] - Telepített alkalmazások keresése - Tulajdonság: [1], aláírás: [2] - Végrehajtható fájlok kötése - Fájl: [1] - Feljogosító termékek keresése - Mappák létrehozása - Mappa: [1] - Szolgáltatások törlése - Szolgáltatás: [1] - Fájlok másodpéldányának létrehozása - Fájl: [1], könyvtár: [9], méret: [6] - Kapcsolódó alkalmazások keresése - Talált alkalmazás: [1] - ODBC-összetevők telepítése - Új szolgáltatások telepítése - Szolgáltatás: [2] - Indítási feltételek kiértékelése - Szolgáltatásállapotok áttelepítése kapcsolódó alkalmazásokból - Alkalmazás: [1] - Fájlok áthelyezése - Fájl: [1], könyvtár: [9], méret: [6] - Fájlok javítása - Fájl: [1], könyvtár: [2], méret: [3] - Összetevők beállításbejegyzéseinek frissítése - COM+-alkalmazások és -összetevők regisztrálása - Alk. azonosítója: [1]{{, alk. típusa: [2], felhasználók: [3], sorozatsz.: [4]}} - Betűkészletek regisztrálása - Betűkészlet: [1] - A termék regisztrálása - [1] - Típustárak regisztrálása - Típustár-azonosító: [1] - A felhasználó regisztrálása - [1] - Fájlok másodpéldányának eltávolítása - Fájl: [1], könyvtár: [9] - A környezeti karakterláncok frissítése - Név: [1], érték: [2], művelet: [3] - Alkalmazások eltávolítása - Alkalmazás: [1], parancssor: [2] - Fájlok eltávolítása - Fájl: [1], könyvtár: [9] - Mappák eltávolítása - Mappa: [1] - INI-fájlbejegyzések eltávolítása - Fájl: [1], szakasz: [2], kulcs: [3], érték: [4] - ODBC-összetevők eltávolítása - Értékek törlése a beállításjegyzékből - Kulcs: [1], név: [2] - Parancsikonok eltávolítása - Parancsikon: [1] - Feljogosító termékek keresése - Modulok regisztrálása - Fájl: [1], mappa: [2] - Modulok törlése a beállításjegyzékből - Fájl: [1], mappa: [2] - ODBC-könyvtárak inicializálása - Szolgáltatások elindítása - Szolgáltatás: [1] - Szolgáltatások leállítása - Szolgáltatás: [1] - Minősített összetevők közzétételének visszavonása - Összetevő-azonosító: [1], minősítő: [2] - A termékszolgáltatások közzétételének visszavonása - Szolgáltatás: [1] - Osztálykiszolgálók törlése a beállításjegyzékből - Osztályazonosító: [1] - COM+-alkalmazások és -összetevők törlése a beállításjegyzékből - Alkalmazásazonosító: [1] {{alkalmazástípus: [2]}} - Kiterjesztésszolgáltatók törlése a beállításjegyzékből - Kiterjesztés: [1] - Betűkészletek törlése a beállításjegyzékből - Betűkészlet: [1] - MIME-információ törlése a beállításjegyzékből - A MIME-tartalom típusa: [1], kiterjesztés: [2] - Programazonosítók törlése a beállításjegyzékből - Programazonosító: [1] - Típustárak törlése a beállításjegyzékből - Típustár-azonosító: [1] - A környezeti karakterláncok frissítése - Név: [1], érték: [2], művelet: [3] - INI-fájlértékek írása - Fájl: [1], szakasz: [2], kulcs: [3], érték: [4] - A beállításjegyzék értékeinek írása - Kulcs: [1], név: [2], érték: [3] - Alkalmazás meghirdetése - Végrehajtandó parancsfájl-műveletek generálása: - [1] - Rendszerkatalógus telepítése - Fájl: [1], függőségek: [2] - A szerelvény adatainak közzététele - Alkalmazáskörnyezet:[1], szerelvény neve:[2] - A szerelvényadatok közzétételének visszavonása - Alkalmazáskörnyezet:[1], szerelvény neve:[2] - Művelet visszavonása: - [1] - Fájlok biztonsági másolatának eltávolítása - Fájl: [1] - Áthelyezett fájlok eltávolítása - Fájl: [1], könyvtár: [9] - A termékadatok közzétételének visszavonása - - {{Helyreállíthatatlan hiba: }} - {{Hiba: [1]. }} - Figyelmeztetés: [1]. - Információ: [1]. - Váratlan hiba történt a csomag telepítésekor. Lehet, hogy hibás a csomag. A hibakód a következő: [1]. {{Az argumentumok: [2], [3], [4]}} - {{A lemez megtelt: }} - Művelet [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Üzenet típusa: [1], argumentum: [2] - === Naplózás kezdete: [Date] [Time] === - === Naplózás vége: [Date] [Time] === - Művelet kezdete: [Time]: [1]. - Művelet vége: [Time]: [1]. Visszatérési érték: [2]. - Hátralévő idő: {[1] perc }{[2] másodperc} - Kevés a memória. Az újabb kísérlet előtt zárjon be néhány alkalmazást. - A telepítő nem válaszol. - A telepítés idő előtt leállt. - Kis türelmet, a Windows a(z) [ProductName] konfigurálását végzi. - A szükséges adatok összegyűjtése... - Az alkalmazás régebbi verzióinak eltávolítása... - Felkészülés az alkalmazás régebbi verzióinak eltávolítására... - {[ProductName] – }A telepítés sikeresen befejeződött. - {[ProductName] – }A telepítés sikertelen volt. - Hiba történt a következő fájl olvasásakor: [2].{{ Rendszerhiba: [3].}} Ellenőrizze, hogy létezik-e a fájl, és hogy hozzá tud-e férni. - Nem hozható létre „[2]” nevű fájl. Már létezik ilyen nevű könyvtár. Szakítsa meg a telepítést, és próbálja meg másik helyre telepíteni a szoftvert. - Helyezze be a következő lemezt: [2]. - A telepítőnek nincs megfelelő jogosultsága a következő könyvtár eléréséhez: [2]. A telepítés nem folytatható. Jelentkezzen be rendszergazdaként, vagy forduljon a rendszergazdához. - Hiba történt a következő fájl írásakor: [2]. Ellenőrizze, hogy hozzá tud-e férni a könyvtárhoz. - Hiba történt a következő fájl olvasásakor: [2].{{ Rendszerhiba: [3].}} Ellenőrizze, hogy létezik-e a fájl, és hogy hozzá tud-e férni. - Egy másik alkalmazásnak kizárólagos hozzáférése van a következő fájlhoz: „[2]”. Zárjon be minden más alkalmazást, majd kattintson az Újra gombra. - Nincs elegendő lemezterület a következő fájl telepítéséhez: [2]. Szabadítson fel lemezterületet, majd kattintson az Újra gombra, vagy a kilépéshez kattintson a Mégse gombra. - Nem található a forrásfájl: [2]. Ellenőrizze, hogy létezik-e a fájl, és hogy hozzá tud-e férni. - Hiba történt a következő fájl olvasásakor: [3].{{ Rendszerhiba: [2].}} Ellenőrizze, hogy létezik-e a fájl, és hogy hozzá tud-e férni. - Hiba történt a következő fájl írásakor: [3].{{ Rendszerhiba: [2].}} Ellenőrizze, hogy hozzá tud-e férni a könyvtárhoz. - Nem található a forrásfájl: {{(kabinet)}}: [2]. Ellenőrizze, hogy létezik-e a fájl, és hogy hozzá tud-e férni. - Nem hozható létre „[2]” nevű könyvtár. Már létezik ilyen nevű fájl. Nevezze át vagy távolítsa el a fájlt, majd kattintson az Újra gombra, vagy a kilépéshez kattintson a Mégse gombra. - A következő kötet jelenleg nem érhető el: [2]. Válasszon másikat. - A megadott elérési út („[2]”) nem érhető el. - A rendszer nem tudott írni a megadott mappába: [2]. - Hálózati hiba történt a következő fájl olvasásakor: [2]. - Hiba történt a következő könyvtár létrehozásakor: [2]. - Hálózati hiba történt a következő könyvtár létrehozásakor: [2]. - Hálózati hiba történt a forrásként szolgáló kabinetfájl megnyitásakor: [2]. - A megadott elérési út túl hosszú: [2]. - A telepítőnek nincs megfelelő jogosultsága a következő fájl módosításához: [2]. - A mappa „[2]” elérési útjának egy része érvénytelen. Vagy üres, vagy meghaladja a rendszer által engedélyezett hosszúságot. - A mappa „[2]” elérési útja olyan szavakat tartalmaz, amelyek nem használhatók elérési utakban. - A mappa „[2]” elérési útja érvénytelen karaktert tartalmaz. - A következő rövid fájlnév érvénytelen: „[2]”. - Hiba történt a fájl biztonsági adatainak lekérdezésekor: [3]. GetLastError: [2] - Érvénytelen meghajtó: [2] - Hiba történt a javításnak a következő fájlra való alkalmazásakor: [2]. A fájlt valószínűleg más módon frissítették, és ezzel a javítókészlettel már nem módosítható. További információért forduljon a javítókészlet forgalmazójához. {{Rendszerhiba: [3]}} - Egy szükséges fájl nem telepíthető, mert a következő kabinetfájl nincs digitálisan aláírva: [2]. Lehet, hogy a kabinetfájl sérült. - Egy szükséges fájl nem telepíthető, mert a következő kabinetfájl aláírása érvénytelen: [2]. Lehet, hogy a kabinetfájl sérült.{{ A WinVerifyTrust a következő hibát adta vissza: [3].}} - A következő fájl másolása sikertelen: [2]: CRC-hiba. - A következő fájl áthelyezése sikertelen: [2]: CRC-hiba. - A következő fájl javítása sikertelen: [2]: CRC-hiba. - A(z) „[2]” fájl nem telepíthető, mert nem található a kabinetfájlban ([3]). Ennek oka lehet hálózati hiba, a CD-ROM-ról való olvasás hibája vagy a csomaggal kapcsolatos probléma. - A telepítéshez szükséges kabinetfájl ([2]) sérült, ezért nem használható. Ennek oka lehet hálózati hiba, a CD-ROM-ról való olvasás hibája vagy a csomaggal kapcsolatos probléma. - Hiba történt egy, a telepítés befejezéséhez szükséges ideiglenes fájl létrehozásakor.{{ Mappa: [3]. Rendszerhiba kódja: [2]}} - A következő kulcs nem hozható létre: [2].{{ Rendszerhiba: [3].}} Ellenőrizze, hogy van-e megfelelő engedélye a kulcs eléréséhez, vagy forduljon a technikai tanácsadási csoporthoz. - A következő kulcs nem nyitható meg: [2].{{ Rendszerhiba: [3].}} Ellenőrizze, hogy van-e megfelelő engedélye a kulcs eléréséhez, vagy forduljon a technikai tanácsadási csoporthoz. - A(z) [2] érték nem törölhető a következő kulcsból: [3].{{ Rendszerhiba: [4].}} Ellenőrizze, hogy van-e megfelelő engedélye a kulcs eléréséhez, vagy forduljon a technikai tanácsadási csoporthoz. - A következő kulcs nem törölhető: [2].{{ Rendszerhiba: [3].}} Ellenőrizze, hogy van-e megfelelő engedélye a kulcs eléréséhez, vagy forduljon a technikai tanácsadási csoporthoz. - Az érték ([2]) nem olvasható ki a következő kulcsból: [3].{{ Rendszerhiba: [4].}} Ellenőrizze, hogy van-e megfelelő engedélye a kulcs eléréséhez, vagy forduljon a technikai tanácsadási csoporthoz. - Az érték ([2]) nem írható a következő kulcsba: [3].{{ Rendszerhiba: [4].}} Ellenőrizze, hogy van-e megfelelő engedélye a kulcs eléréséhez, vagy forduljon a technikai tanácsadási csoporthoz. - Nem kérdezhető le a következő kulcs értékeinek neve: [2].{{ Rendszerhiba: [3].}} Ellenőrizze, hogy van-e megfelelő engedélye a kulcs eléréséhez, vagy forduljon a technikai tanácsadási csoporthoz. - Nem kérdezhető le a következő kulcs alkulcsainak neve: [2].{{ Rendszerhiba: [3].}} Ellenőrizze, hogy van-e megfelelő engedélye a kulcs eléréséhez, vagy forduljon a technikai tanácsadási csoporthoz. - Nem olvasható be a következő kulcshoz tartozó biztonsági információ: [2].{{ Rendszerhiba: [3].}} Ellenőrizze, hogy van-e megfelelő engedélye a kulcs eléréséhez, vagy forduljon a technikai tanácsadási csoporthoz. - Nem növelhető a beállításjegyzékhez igénybe vehető terület. Ennek az alkalmazásnak a telepítéséhez [2] KB szabad területre van szükség a beállításjegyzékben. - Folyamatban van egy másik telepítés. Mielőtt folytatná ezt a telepítést, be kell fejeznie a másikat. - Hiba történt a védett adatok elérésekor. Ellenőrizze, hogy a Windows Installer megfelelően van-e konfigurálva, és próbálja meg újból a telepítést. - A(z) „[2]” nevű felhasználó korábban elindította a termék („[3]”) telepítését. Ez a felhasználó csak a telepítő újbóli futtatása után használhatja majd a terméket. Az Ön jelenlegi telepítése most folytatódik. - A(z) „[2]” nevű felhasználó korábban elindította a termék („[3]”) telepítését. Ez a felhasználó csak a telepítő újbóli futtatása után használhatja majd a terméket. - Nincs elegendő szabad lemezterület. Kötet: „[2]”; szükséges terület: [3] KB; szabad terület: [4] KB. Szabadítson fel lemezterületet, majd próbálkozzon újra. - Biztosan megszakítja a telepítést? - A(z) [2][3] fájl éppen használatban van{ a következő folyamat használja: név: [4], azonosító: [5], ablak címe: „[6]”}. Zárja be a fájlt használó alkalmazást, majd próbálkozzon újra. - Az előzőleg telepített „[2]” termék megakadályozza ennek a terméknek a telepítését. A két termék nem kompatibilis. - Nincs elég szabad lemezterület a következő köteten a visszaállítási lehetőséggel való telepítés folytatásához: „[2]”. [3] KB szükséges, de csak [4] KB szabad. A telepítés visszaállítási adatok mentése nélküli folytatásához kattintson a Mellőzés gombra, a szabad terület ismételt ellenőrzéséhez kattintson az Újra gombra, vagy a telepítés megszakításához kattintson a Mégse gombra. - A következő hálózati hely nem érhető el: [2]. - A telepítés folytatása előtt be kell zárni a következő alkalmazásokat: - Nem található a gépen olyan korábban telepített termék, amely lehetővé tenné ennek a terméknek a telepítését. - Hiba történt a biztonsági beállítások alkalmazásakor. A(z) „[2]” nem érvényes felhasználó vagy csoport. Ezt okozhatja a csomag hibája vagy az, hogy nem lehet tartományvezérlőhöz kapcsolódni a hálózaton. Ellenőrizze a hálózati kapcsolatot, majd kattintson az Újra gombra, vagy a telepítés befejezéséhez kattintson a Mégse gombra. {{Nem található a felhasználó SID azonosítója. Rendszerhiba: [3]}} - A következő kulcs érvénytelen: [2]. Ellenőrizze, hogy megfelelő kulcsot adott-e meg. - A telepítőnek újra kell indítania a rendszert a(z) [2] konfigurálásának folytatása előtt. Kattintson az Igen gombra az azonnali újraindításhoz, vagy a Nem gombra, ha később kívánja újraindítani a számítógépet. - A(z) [2] konfigurációjában végzett módosítások érvénybe lépéséhez újra kell indítani a rendszert. Kattintson az Igen gombra az azonnali újraindításhoz, vagy a Nem gombra, ha később kívánja újraindítani a számítógépet. - A(z) [2] egy korábbi telepítése jelenleg fel van függesztve. A folytatáshoz vissza kell vonnia a másik telepítés által végzett változtatásokat. Visszavonja a változtatásokat? - A termék egy korábban elindított telepítése még folyamatban van. A folytatáshoz vissza kell vonnia a másik telepítés által végzett változtatásokat. Visszavonja a változtatásokat? - A termék ([2]) egyik telepítőcsomagja nem található. Próbálja meg újból a telepítést a telepítőcsomag („[3]”) érvényes másolatával. - A telepítés sikeresen befejeződött. - A telepítés sikertelen. - Termék: [2] – [3] - Visszaállíthatja a számítógép korábbi állapotát, vagy innen folytathatja a telepítést egy későbbi időpontban. Visszaállítja a korábbi állapotot? - Hiba történt a telepítési adatok lemezre írásakor. Ellenőrizze, hogy van-e elég hely a lemezen, és kattintson az Újra gombra, vagy kattintson a Mégse gombra a telepítés befejezéséhez. - Nem találhatók a számítógép korábbi állapotának visszaállításához szükséges fájlok. Nem lehet majd visszaállítást végezni. - A(z) [2] nem tudja telepíteni az egyik szükséges terméket. Forduljon a technikai tanácsadási csoporthoz. {{Rendszerhiba: [3].}} - A(z) [2] régebbi verziója nem távolítható el. Forduljon a technikai tanácsadási csoporthoz. {{Rendszerhiba: [3].}} - A(z) [2] telepítése megtörtént. - A(z) [2] konfigurálása megtörtént. - A(z) [2] eltávolítása megtörtént. - A digitális aláírásokra vonatkozó házirend elutasította a következő fájlt: [2]. - A Windows Installer szolgáltatás nem érhető el. Ez akkor fordulhat elő, ha a Windows csökkentett módban fut, vagy ha a Windows Installer nincs helyesen telepítve. Segítségért forduljon a technikai tanácsadási csoporthoz. - Probléma merült fel ezzel a Windows Installer-csomaggal kapcsolatban. A telepítés befejezéséhez szükséges egyik parancsfájl nem futtatható. Forduljon a technikai tanácsadási csoporthoz vagy a csomag forgalmazójához. {{Egyéni művelet: [2], parancsfájlhiba: [3], [4]: [5], sor: [6], oszlop: [7], [8] }} - Probléma merült fel ezzel a Windows Installer-csomaggal kapcsolatban. A telepítés befejezéséhez szükséges egyik program nem futtatható. Forduljon a technikai tanácsadási csoporthoz vagy a csomag forgalmazójához. {{Művelet: [2], hely: [3], parancs: [4] }} - Probléma merült fel ezzel a Windows Installer-csomaggal kapcsolatban. A telepítés részeként futtatott programok egyike nem a várt módon fejeződött be. Forduljon a technikai tanácsadási csoporthoz vagy a csomag forgalmazójához. {{Művelet: [2], hely: [3], parancs: [4] }} - Probléma merült fel ezzel a Windows Installer-csomaggal kapcsolatban. A telepítés befejezéséhez szükséges egyik DLL-fájl nem futtatható. Forduljon a technikai tanácsadási csoporthoz vagy a csomag forgalmazójához. {{Művelet: [2], bejegyzés: [3], függvénytár: [4] }} - Az eltávolítás sikeresen befejeződött. - Az eltávolítás sikertelen. - A hirdetés sikeresen befejeződött. - A hirdetés sikertelen. - A konfigurálás sikeresen befejeződött. - A konfigurálás sikertelen. - Az alkalmazás eltávolításához rendszergazdai engedélyek szükségesek. Az alkalmazás eltávolításához jelentkezzen be rendszergazdaként, vagy kérjen segítséget a technikai tanácsadási csoporttól. - A következő termék forrás telepítőcsomagja nem felel meg az ügyfél csomagjának: [2]. Próbálja megismételni a telepítést a telepítőcsomag („[3]”) érvényes példányával. - A termék ([2]) telepítésének befejezéséhez újra kell indítani a számítógépet. A számítógépre jelenleg más felhasználók is be vannak jelentkezve, és az újraindítás adataik elvesztéséhez vezethet. Újraindítja most a rendszert? - Az elérési út ([2]) érvénytelen. Adjon meg érvényes elérési utat. - Kevés a memória. Az újabb kísérlet előtt zárja be a többi alkalmazást. - Nincs lemez a(z) [2] meghajtóban. Helyezzen be egyet, és kattintson az Újra gombra, vagy kattintson a Mégse gombra, ha vissza kíván térni az előzőleg választott kötethez. - Nincs lemez a(z) [2] meghajtóban. Helyezzen be egyet, és kattintson az Újra gombra, vagy kattintson a Mégse gombra, ha vissza kíván térni a Tallózás párbeszédpanelre, ahol másik kötetet választhat. - A mappa ([2]) nem létezik. Adjon meg egy létező mappára mutató elérési utat. - Nincs megfelelő jogosultsága a mappa olvasásához. - Nem sikerült érvényes célmappát meghatározni a telepítéshez. - Hiba történt a telepítési forrásadatbázis olvasásakor: [2]. - Újraindítási művelet ütemezése: fájl átnevezése [2] névről [3] névre. A művelet befejezéséhez újraindítás szükséges. - Újraindítási művelet ütemezése: [2] nevű fájl törlése. A művelet befejezéséhez újraindítás szükséges. - A modul ([2]) regisztrálása meghiúsult. HRESULT [3]. Forduljon a technikai tanácsadási csoporthoz. - A modul ([2]) regisztrációjának törlése meghiúsult. HRESULT [3]. Forduljon a technikai tanácsadási csoporthoz. - A csomag ([2]) gyorsítótárba írása sikertelen. Hiba: [3]. Forduljon a technikai tanácsadási csoporthoz. - A(z) [2] betűkészlet regisztrálása meghiúsult. Ellenőrizze, hogy rendelkezik-e a betűkészletek telepítéséhez szükséges engedélyekkel, és hogy a rendszer támogatja-e ezt a betűkészletet. - A következő betűkészletnek a beállításjegyzékből való törlése sikertelen: [2]. Ellenőrizze, hogy rendelkezik-e a betűkészletek eltávolításához szükséges engedélyekkel. - A következő parancsikon nem hozható létre: [2]. Ellenőrizze, hogy létezik-e a célmappa, és hogy hozzá tud-e férni. - A következő parancsikon nem távolítható el: [2]. Ellenőrizze, hogy létezik-e a parancsikonfájl, és hogy hozzá tud-e férni. - A következő fájl típustára nem regisztrálható: [2]. Forduljon a technikai tanácsadási csoporthoz. - A következő fájl típustárának regisztrációja nem törölhető: [2]. Forduljon a technikai tanácsadási csoporthoz. - A következő INI-fájl nem frissíthető: [2][3]. Ellenőrizze, hogy létezik-e a fájl, és hogy hozzá tud-e férni. - Nem ütemezhető be, hogy újraindításkor a(z) [2] fájl lecserélje a következőt: [3]. Ellenőrizze, hogy rendelkezik-e a fájl ([3]) írásához szükséges engedélyekkel. - Hiba történt az ODBC-illesztőprogram kezelőjének eltávolításakor, ODBC-hiba: [2]: [3]. Forduljon a technikai tanácsadási csoporthoz. - Hiba történt az ODBC-illesztőprogram kezelőjének telepítésekor, ODBC-hiba: [2]: [3]. Forduljon a technikai tanácsadási csoporthoz. - Hiba történt az ODBC-illesztőprogram eltávolításakor: [4], ODBC-hiba: [2]: [3]. Ellenőrizze, hogy rendelkezik-e az ODBC-illesztőprogramok eltávolításához szükséges engedélyekkel. - Hiba történt az ODBC-illesztőprogram telepítésekor: [4], ODBC-hiba: [2]: [3]. Ellenőrizze, hogy létezik-e a(z) [4] fájl, és hogy hozzá tud-e férni. - Hiba történt az ODBC-adatforrás konfigurálásakor: [4], ODBC-hiba: [2]: [3]. Ellenőrizze, hogy létezik-e a(z) [4] fájl, és hogy hozzá tud-e férni. - A következő szolgáltatás nem indult el: „[2]” ([3]). Ellenőrizze, hogy rendelkezik-e a rendszerszolgáltatások indításához szükséges engedélyekkel. - A következő szolgáltatás nem állítható le: „[2]” ([3]). Ellenőrizze, hogy rendelkezik-e a rendszerszolgáltatások leállításához szükséges engedélyekkel. - A következő szolgáltatás nem törölhető: „[2]” ([3]). Ellenőrizze, hogy rendelkezik-e a rendszerszolgáltatások eltávolításához szükséges engedélyekkel. - A következő szolgáltatás nem telepíthető: „[2]” ([3]). Ellenőrizze, hogy rendelkezik-e a rendszerszolgáltatások telepítéséhez szükséges engedélyekkel. - A következő környezeti változó nem frissíthető: „[2]”. Ellenőrizze, hogy rendelkezik-e a környezeti változók módosításához szükséges engedélyekkel. - Nincs megfelelő jogosultsága ahhoz, hogy a telepítést a számítógép összes felhasználója számára elvégezze. Jelentkezzen be rendszergazdaként, és próbálja meg újból a telepítést. - Nem állíthatók be a következő fájl biztonsági tulajdonságai: „[3]”. Hiba: [2]. Ellenőrizze, hogy rendelkezik-e megfelelő jogosultsággal a fájl biztonsági engedélyeinek módosításához. - Nincsenek telepítve a számítógépen a komponensszolgáltatások (COM+ 1.0). A telepítés sikeres befejezéséhez szükség van a komponensszolgáltatásokra. A komponensszolgáltatások a Windows 2000 rendszeren érhetők el. - Hiba történt egy COM+ alkalmazás regisztrálásakor. További tájékoztatásért forduljon a technikai tanácsadási csoporthoz. - Hiba történt egy COM+ alkalmazás regisztrációjának törlésekor. További tájékoztatásért forduljon a technikai tanácsadási csoporthoz. - A következő szolgáltatás leírása nem módosítható: „[2]” ([3]). - A Windows Installer szolgáltatás nem tudja frissíteni a következő rendszerfájlt, mert azt a Windows védi: [2]. A program helyes működéséhez esetleg frissítenie kell az operációs rendszert. {{Csomag verziója: [3], az operációs rendszer által védett verzió: [4]}} - A Windows Installer szolgáltatás nem tudja frissíteni a Windows által védett következő fájlt: [2]. {{Csomag verziója: [3], az operációs rendszer által védett verzió: [4], SFP-hiba: [5]}} - A Windows Installer szolgáltatás nem tud frissíteni legalább egy védett Windows-fájlt. {{SFP-hiba: [2]. A védett fájlok listája:\r\n[3]}} - Egy házirend tiltja, hogy a felhasználók programot telepítsenek a számítógépre. - Hiba történt a következő szerelvény telepítése során: „[6]”. További információ a Súgó és támogatás szolgáltatásban található. HRESULT: [3]. {{szerelvény felülete: [4], függvény: [5], összetevő: [2]}} - Hiba történt a következő szerelvény telepítésekor: „[6]”. A szerelvény elnevezése nem erős, vagy a minimális hosszúságnál rövidebb kulccsal van aláírva. HRESULT: [3]. {{szerelvény felülete: [4], függvény: [5], összetevő: [2]}} - Hiba történt a következő szerelvény telepítésekor: „[6]”. Az aláírás vagy a katalógus nem ellenőrizhető vagy nem érvényes. HRESULT: [3]. {{szerelvény felülete: [4], függvény: [5], összetevő: [2]}} - Hiba történt a következő szerelvény telepítésekor: „[6]”. A szerelvény egy vagy több modulja nem található. HRESULT: [3]. {{szerelvény felülete: [4], függvény: [5], összetevő: [2]}} - - bájt - GB - KB - MB - A teljes szolgáltatás elérhetetlen lesz. - A szolgáltatás igény szerint lesz telepítve. - A teljes szolgáltatás CD-ről történő futtatáshoz lesz telepítve. - A teljes szolgáltatás a helyi merevlemezre lesz telepítve. - A teljes szolgáltatás hálózatról történő futtatáshoz lesz telepítve. - Telepítés CD-ről történő futtatáshoz - Telepítés a helyi merevlemezre - Telepítés hálózatról történő futtatáshoz - Folder|Új mappa - A szükséges adatok összegyűjtése... - Ez a szolgáltatás nem lesz telepítve. - Ez a szolgáltatás úgy lesz beállítva, hogy szükség esetén legyen telepítve. - Ez a szolgáltatás úgy lesz telepítve, hogy CD-ről működjön. - Ez a szolgáltatás a helyi merevlemezre lesz telepítve. - Ez a szolgáltatás úgy lesz telepítve, hogy a hálózatról működjön. - Ez a szolgáltatás a továbbiakban nem lesz elérhető. - Szükség esetén lesz telepítve. - Ez a szolgáltatás CD-ről lesz elérhető. - Ez a szolgáltatás a helyi merevlemezre lesz telepítve. - Ez a szolgáltatás a hálózatról lesz elérhető. - Ez a szolgáltatás teljesen el lesz távolítva, CD-ről sem lesz használható. - Ez a szolgáltatás módosítva lett, hogy a CD-ről való működés helyett szükség esetén legyen telepítve. - Ez a szolgáltatás továbbra is CD-ről lesz elérhető. - Ez a szolgáltatás módosítva lett, hogy a CD-ről való működés helyett a helyi merevlemezre legyen telepítve. - A szolgáltatással felszabadítható hely a merevlemezen: [1]. - A szolgáltatás helyigénye a merevlemezen: [1]. - A szolgáltatás helyigényének kiszámítása... - Ez a szolgáltatás teljesen el lesz távolítva. - Ez a szolgáltatás el lesz távolítva a helyi merevlemezről, de úgy lesz beállítva, hogy szükség esetén telepítve legyen. - Ez a szolgáltatás el lesz távolítva a helyi merevlemezről, de CD-ről továbbra is elérhető marad. - A szolgáltatás a helyi merevlemez-meghajtón marad. - Ez a szolgáltatás el lesz távolítva a helyi merevlemezről, de a hálózatról továbbra is elérhető marad. - Ez a szolgáltatás teljesen el lesz távolítva, a hálózatról sem lesz használható. - Ez a szolgáltatás módosítva lett, hogy a hálózatról való működés helyett szükség esetén legyen telepítve. - Ez a szolgáltatás módosítva lett, hogy a hálózatról való működés helyett a helyi merevlemezre legyen telepítve. - Ez a szolgáltatás továbbra is a hálózatról lesz elérhető. - A szolgáltatással felszabadítható hely a merevlemezen: [1]. [3] részszolgáltatásból [2] van kijelölve. A részszolgáltatásokkal felszabadítható hely a merevlemezen: [4]. - A szolgáltatással felszabadítható hely a merevlemezen: [1]. [3] részszolgáltatásból [2] van kijelölve. A részszolgáltatások helyigénye a merevlemezen: [4]. - A szolgáltatás helyigénye a merevlemezen: [1]. [3] részszolgáltatásból [2] van kijelölve. A részszolgáltatásokkal felszabadítható hely a merevlemezen: [4]. - A szolgáltatás helyigénye a merevlemezen: [1]. [3] részszolgáltatásból [2] van kijelölve. A részszolgáltatások helyigénye a merevlemezen: [4]. - Hátralévő idő: {[1] perc }{[2] másodperc} - Szabad - Különbség - Szükséges - Lemez mérete - Kötet - diff --git a/Src/Localization/WixUI/WixUI_it-it.wxl b/Src/Localization/WixUI/WixUI_it-it.wxl deleted file mode 100644 index 7910d66..0000000 --- a/Src/Localization/WixUI/WixUI_it-it.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - In&dietro - &Avanti - Annulla - &Fine - &Riprova - &Ignora - &Sì - &No - OK - &Stampa - - Installazione di [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Leggere il Contratto di Licenza di [ProductName] - &Accetto i termini del Contratto di Licenza - Fare clic su Installa per installare il prodotto con le opzioni predefinite per tutti gli utenti. Fare clic su Avanzate per modificare le opzioni di installazione. - Fare clic su Installa per installare il prodotto con le opzioni predefinite solo per l'utente corrente. Fare clic su Avanzate per modificare le opzioni di installazione. - &Installa - A&vanzate - 8 - 12 - 9 - 8 - Tahoma - - Installazione di [ProductName] - &Cerca in: - WixUI_Bmp_Up - Livello superiore - WixUI_Bmp_New - Crea una nuova cartella - &Nome cartella: - WixUI_Bmp_Banner - Scegliere la cartella di destinazione - {\WixUI_Font_Title}Modifica cartella di destinazione - - Installazione di [ProductName] - Annullare l'installazione di [ProductName]? - WixUI_Ico_Info - Icona informazioni - - Installazione di [ProductName] - Albero delle selezioni - Sf&oglia... - Re&imposta - &Utilizzo disco - WixUI_Bmp_Banner - Per modificare la modalità di installazione delle funzionalità, fare clic sulle icone nell'albero sottostante. - Selezionare la modalità di installazione delle funzionalità desiderata. - {\WixUI_Font_Title}Installazione personalizzata - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Percorso: - - Installazione di [ProductName] - WixUI_Bmp_Banner - Lo spazio su disco disponibile nei volumi evidenziati non è sufficiente per installare le funzionalità selezionate. Rimuovere alcuni file dai volumi evidenziati, installare un numero minore di funzionalità oppure selezionare unità di destinazione diverse. - Spazio su disco necessario per l'installazione delle funzionalità selezionate. - {\WixUI_Font_Title}Requisiti di spazio su disco - {120}{70}{70}{70}{70} - - Installazione di [ProductName] - Testo informativo - WixUI_Ico_Info - Icona informazioni - - Installazione di [ProductName] - WixUI_Bmp_Dialog - Fare clic sul pulsante Fine per uscire dall'Installazione guidata. - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] completata - - Installazione di [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] terminata prima del completamento - L'Installazione guidata di [ProductName] è terminata prima del completamento a causa di un errore. Il sistema non è stato modificato. Per installare il programma in un secondo momento, eseguire di nuovo l'Installazione guidata. - Fare clic sul pulsante Fine per uscire dall'Installazione guidata. - - Installazione di [ProductName] - Funzionalità del prodotto - WixUI_Bmp_Banner - Selezionare la modalità di installazione delle funzionalità desiderata. - {\WixUI_Font_Title}Funzionalità del prodotto - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installa - &Cambia - - Installazione di [ProductName] - E&sci - WixUI_Bmp_Banner - Le applicazioni seguenti stanno utilizzando file che devono essere aggiornati da questa installazione. Chiudere le applicazioni, quindi fare clic su &Riprova per continuare l'installazione. Per uscire dall'installazione, fare clic su Esci. - Alcuni file che richiedono l'aggiornamento sono attualmente in uso. - {\WixUI_Font_Title}File in uso - - Installazione di [ProductName] - &Cambia... - {\WixUI_Font_Title}Cartella di destinazione - Fare clic su Avanti per eseguire l'installazione nella cartella predefinita o su Cambia per scegliere una cartella diversa. - WixUI_Bmp_Banner - Installazione di [ProductName] in: - - Installazione di [ProductName] - WixUI_Bmp_Banner - Scegliere la cartella e l'ambito di installazione - {\WixUI_Font_Title}Ambito di installazione - {\WixUI_Font_Emphasized}Installa solo per l'&utente corrente ([LogonUser]) - [ProductName] verrà installato in una cartella per utente e sarà disponibile solo per l'account utente corrente. Non sono necessari privilegi di amministratore locale. - [ProductName] non supporta l'installazione per utente. - {\WixUI_Font_Emphasized}Installa per tutti gli utenti di questo co&mputer - [ProductName] verrà installato in una cartella per computer per impostazione predefinita e sarà disponibile per tutti gli utenti. È possibile modificare la cartella di installazione predefinita. È necessario disporre dei privilegi di amministratore locale. - Cartella di i&nstallazione: - &Cambia... - - Installazione di [ProductName] - La directory di installazione deve trovarsi su un disco rigido locale. - WixUI_Ico_Info - Icona informazioni - - Installazione di [ProductName] - &Accetto i termini del Contratto di Licenza - WixUI_Bmp_Banner - Leggere attentamente il Contratto di Licenza - {\WixUI_Font_Title}Contratto di Licenza con l'utente finale - - Installazione di [ProductName] - &Cambia - Consente di modificare l'installazione - Ri&para - Consente di riparare l'installazione - &Rimuovi - Consente di rimuovere l'installazione - WixUI_Bmp_Banner - Selezionare l'operazione che si desidera eseguire. - {\WixUI_Font_Title}Modifica, riparazione o rimozione installazione - Cambia la modalità di installazione delle funzionalità. - [ProductName] non dispone di funzionalità selezionabili separatamente. - Consente di rimuovere [ProductName] dal computer. - Impossibile rimuovere [ProductName]. - Corregge gli errori presenti nell'installazione più recente ripristinando file mancanti o danneggiati, collegamenti e voci del Registro di sistema. - Impossibile riparare [ProductName]. - - Installazione di [ProductName] - WixUI_Bmp_Dialog - L'Installazione guidata consente di cambiare la modalità di installazione delle funzionalità di [ProductName] nel computer oppure di rimuovere il prodotto. Fare clic su Avanti per continuare oppure su Annulla per uscire dall'Installazione guidata. - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] - - Installazione di [ProductName] - WixUI_Bmp_Banner - Le applicazioni seguenti utilizzano file che devono essere aggiornati da questa installazione. È possibile consentirne la chiusura e il successivo riavvio da parte dell'Installazione guidata oppure riavviare il computer in seguito. - Alcuni file che richiedono l'aggiornamento sono attualmente in uso. - {\WixUI_Font_Title}File in uso - &Chiudi le applicazioni e tenta di riavviarle. - &Non chiudere le applicazioni. Sarà necessario riavviare il sistema. - - Installazione di [ProductName] - WixUI_Bmp_Banner - Lo spazio su disco disponibile nei volumi evidenziati non è sufficiente per installare le funzionalità attualmente selezionate. Rimuovere alcuni file dai volumi evidenziati, installare un numero minore di funzionalità oppure selezionare un'unità di destinazione diversa. - Spazio su disco disponibile insufficiente per l'installazione. - {\WixUI_Font_Title}Spazio su disco insufficiente - {120}{70}{70}{70}{70} - - Installazione di [ProductName] - WixUI_Bmp_Banner - Lo spazio su disco disponibile nei volumi evidenziati non è sufficiente per installare le funzionalità attualmente selezionate. Rimuovere alcuni file dai volumi evidenziati, installare un numero minore di funzionalità oppure selezionare un'unità di destinazione diversa. - Spazio su disco disponibile insufficiente per l'installazione. - {\WixUI_Font_Title}Spazio su disco insufficiente - {120}{70}{70}{70}{70} - In alternativa, è possibile scegliere di disabilitare la funzionalità di ripristino dello stato precedente all'installazione che consente, nel caso in cui l'installazione venga interrotta, di ripristinare lo stato originario del computer. Per disabilitare la funzionalità di ripristino dello stato precedente all'installazione, fare clic su Sì. - - Installazione di [ProductName] - WixUI_Bmp_Dialog - Attendere. È in corso la preparazione dell'Installazione guidata. - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] - - Installazione di [ProductName] - WixUI_Bmp_Banner - Attendere. È in corso l'installazione di [ProductName]. - {\WixUI_Font_Title}Installazione di [ProductName] - Attendere. È in corso la modifica di [ProductName]. - {\WixUI_Font_Title}Modifica di [ProductName] - Attendere. È in corso la riparazione di [ProductName]. - {\WixUI_Font_Title}Riparazione di [ProductName] - Attendere. È in corso la rimozione di [ProductName]. - {\WixUI_Font_Title}Rimozione di [ProductName] - Attendere. È in corso l'aggiornamento di [ProductName]. - {\WixUI_Font_Title}Aggiornamento di [ProductName] - Stato - Stato: - - Installazione di [ProductName] - &Installa - WixUI_Bmp_Dialog - L'installazione di [ProductName] nel computer in uso verrà completata. Fare clic su Installa per continuare oppure su Annulla per uscire dall'Installazione guidata. - {\WixUI_Font_Bigger}Ripresa dell'Installazione guidata di [ProductName] - - Installazione di [ProductName] - &Tipica - Installazione tipica - P&ersonalizzata - Installazione personalizzata - C&ompleta - Installazione completa - WixUI_Bmp_Banner - {\WixUI_Font_Title}Scegliere il tipo di installazione - Scegliere il tipo di installazione più adatto - Vengono installate le funzionalità del programma più comuni. Opzione consigliata per la maggior parte degli utenti. - Consente agli utenti di scegliere le funzionalità del programma da installare e la posizione in cui verranno installate. Opzione consigliata per utenti esperti. - Verranno installate tutte le funzionalità del programma. È necessaria la quantità massima di spazio su disco. - - Installazione di [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] interrotta - L'installazione di [ProductName] è stata interrotta. Il sistema non è stato modificato. Per installare il programma in un secondo momento, eseguire di nuovo l'installazione. - Fare clic sul pulsante Fine per uscire dall'Installazione guidata. - - Installazione di [ProductName] - WixUI_Bmp_Banner - &Installa - Fare clic su Installa per avviare l'installazione. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio installazione di [ProductName] - &Cambia - Fare clic su Cambia per avviare l'installazione. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio modifica di [ProductName] - Ri&para - Fare clic su Ripara per riparare l'installazione di [ProductName]. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio riparazione di [ProductName] - &Rimuovi - Fare clic su Rimuovi per rimuovere [ProductName] dal computer. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio rimozione di [ProductName] - A&ggiorna - Fare clic su Aggiorna per eseguire l'aggiornamento di [ProductName] dal computer in uso. Fare clic su Indietro per rivedere o modificare le impostazioni di installazione. Fare clic su Annulla per uscire dalla procedura guidata. - {\WixUI_Font_Title}Inizio aggiornamento di [ProductName] - - Installazione di [ProductName] - &Torna indietro - Attendere. È in corso il calcolo dello spazio su disco richiesto. - WixUI_Ico_Exclam - Icona punto esclamativo - - Installazione di [ProductName] - WixUI_Bmp_Dialog - L'Installazione guidata consente di installare [ProductName] nel computer. Fare clic su Avanti per continuare oppure su Annulla per uscire dall'Installazione guidata. - Verrà eseguito l'aggiornamento di [ProductName] nel computer in uso. Fare clic su Avanti per continuare oppure su Annulla per uscire dall'Installazione guidata. - {\WixUI_Font_Bigger}Installazione guidata di [ProductName] - - Installazione di [ProductName] - WixUI_Bmp_Dialog - &Accetto i termini del Contratto di Licenza - &Installa - A&ggiorna - {\WixUI_Font_Title}Leggere il Contratto di Licenza di [ProductName] - - Convalida dell'installazione in corso... - Copia dei nuovi file in corso... - File: [1], directory: [9], dimensione: [6] - Copia dei file per l'installazione in rete in corso... - File: [1], directory: [9], dimensione: [6] - Calcolo dello spazio necessario in corso... - Calcolo dello spazio necessario in corso... - Calcolo dello spazio necessario in corso... - Creazione dei collegamenti in corso... - Collegamento: [1] - Pubblicazione dei componenti qualificati in corso... - ID componente: [1], qualificatore: [2] - Pubblicazione delle funzionalità del prodotto in corso... - Funzionalità: [1] - Pubblicazione delle informazioni sul prodotto in corso... - Registrazione dei server delle classi in corso... - ID classe: [1] - Registrazione dei server delle estensioni in corso... - Estensione: [1] - Registrazione delle informazioni MIME in corso... - Tipo di contenuto MIME: [1], estensione: [2] - Registrazione degli ID di programma in corso... - ID programma: [1] - Allocazione dello spazio nel Registro di sistema in corso... - Spazio disponibile: [1] - Rilevamento delle applicazioni installate in corso... - Proprietà: [1], firma: [2] - Binding dei file eseguibili in corso... - File: [1] - Ricerca del software originale richiesto in corso... - Creazione delle cartelle in corso... - Cartella: [1] - Eliminazione dei servizi in corso... - Servizio: [1] - Creazione file duplicati in corso... - File: [1], directory: [9], dimensione: [6] - Ricerca delle applicazioni correlate in corso... - Applicazione trovata: [1] - Installazione dei componenti ODBC in corso... - Installazione dei nuovi servizi in corso... - Servizio: [2] - Valutazione delle condizioni di avvio in corso... - Migrazione degli stati delle funzionalità da applicazioni correlate in corso... - Applicazione: [1] - Spostamento dei file in corso... - File: [1], directory: [9], dimensione: [6] - Installazione della patch in corso... - File: [1], directory: [2], dimensione: [3] - Aggiornamento della registrazione del componente in corso... - Registrazione dei componenti e delle applicazioni COM+ in corso... - ID applicazione: [1]{{, Tipo applicazione: [2], Utenti: [3], RSN: [4]}} - Registrazione dei tipi di carattere in corso... - Tipo di carattere: [1] - Registrazione del prodotto in corso... - [1] - Registrazione delle librerie dei tipi in corso... - ID libreria: [1] - Registrazione dell'utente in corso... - [1] - Rimozione dei file duplicati in corso... - File: [1], directory: [9] - Aggiornamento delle stringhe di ambiente in corso... - Nome: [1], valore: [2], azione [3] - Rimozione delle applicazioni in corso... - Applicazione: [1], riga di comando: [2] - Rimozione dei file in corso... - File: [1], directory: [9] - Rimozione delle cartelle in corso... - Cartella: [1] - Rimozione delle voci dei file INI in corso... - File: [1], sezione: [2], chiave: [3], valore: [4] - Rimozione dei componenti ODBC in corso... - Rimozione dei valori del Registro di sistema in corso... - Chiave: [1], nome: [2] - Rimozione dei collegamenti in corso... - Collegamento: [1] - Ricerca del software originale richiesto in corso... - Registrazione dei moduli in corso... - File: [1], cartella: [2] - Annullamento della registrazione dei moduli in corso... - File: [1], cartella: [2] - Inizializzazione delle directory ODBC in corso... - Avvio dei servizi in corso... - Servizio: [1] - Arresto dei servizi in corso... - Servizio: [1] - Annullamento della pubblicazione dei componenti qualificati in corso... - ID componente: [1], qualificatore: [2] - Annullamento della pubblicazione delle funzionalità del prodotto in corso... - Funzionalità: [1] - Annullamento della registrazione dei server delle classi in corso... - ID classe: [1] - Annullamento della registrazione dei componenti e delle applicazioni COM+ in corso... - ID applicazione: [1]{{, Tipo applicazione: [2]}} - Annullamento della registrazione dei server delle estensioni in corso... - Estensione: [1] - Annullamento della registrazione dei tipi di carattere in corso... - Tipo di carattere: [1] - Annullamento della registrazione delle informazioni MIME in corso... - Tipo di contenuto MIME: [1], estensione: [2] - Annullamento della registrazione degli ID di programma in corso... - ID programma: [1] - Annullamento della registrazione delle librerie dei tipi in corso... - ID libreria: [1] - Aggiornamento delle stringhe di ambiente in corso... - Nome: [1], valore: [2], azione [3] - Scrittura dei valori dei file INI in corso... - File: [1], sezione: [2], chiave: [3], valore: [4] - Scrittura dei valori del Registro di sistema in corso... - Chiave: [1], nome: [2], valore: [3] - Visualizzazione degli avvisi relativi all'applicazione in corso... - Generazione delle operazioni di script per l'azione in corso: - [1] - Installazione del catalogo di sistema in corso... - File: [1], dipendenze: [2] - Pubblicazione delle informazioni sull'assembly in corso... - Contesto applicazione:[1], nome assembly:[2] - Annullamento della pubblicazione delle informazioni sull'assembly in corso... - Contesto applicazione:[1], nome assembly:[2] - Ripristino stato precedente in corso: - [1] - Rimozione dei file di backup in corso... - File: [1] - Rimozione dei file spostati in corso... - File: [1], directory: [9] - Annullamento della pubblicazione delle informazioni sul prodotto in corso... - - {{Errore irreversibile: }} - {{Errore [1]. }} - Avviso [1]. - Informazioni [1]. - Errore imprevisto durante l'installazione del pacchetto. L'errore può essere dovuto a problemi del pacchetto. Il codice di errore è [1]. {{Gli argomenti sono: [2], [3], [4]}} - {{Disco pieno: }} - Azione [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Tipo messaggio: [1], argomento: [2] - === Inizio registrazione: [Date] [Time] === - === Fine registrazione: [Date] [Time] === - Inizio azione [Time]: [1]. - Fine azione [Time]: [1]. Valore restituito [2]. - Tempo rimanente: {[1] minuti }{[2] secondi} - Memoria esaurita. Chiudere alcune applicazioni, quindi riprovare. - Windows Installer non risponde. - Windows Installer arrestato in modo anomalo. - Attendere. È in corso la configurazione di [ProductName]. - Raccolta delle informazioni necessarie in corso... - Rimozione delle versioni precedenti di questa applicazione in corso... - Preparazione alla rimozione delle versioni precedenti di questa applicazione in corso... - Installazione di {[ProductName] }completata. - Impossibile installare {[ProductName] }. - Errore durante la lettura dal file [2]. {{ Errore di sistema [3].}} Verificare che il file esista e di disporre dei relativi diritti di accesso. - Impossibile creare il file '[2]' perché esiste già una directory con questo nome. Annullare l'installazione e riprovare specificando un altro percorso. - Inserire il disco: [2] - Impossibile continuare l'installazione. Windows Installer non dispone di privilegi sufficienti per l'accesso alla directory [2]. Accedere come amministratore oppure contattare l'amministratore di sistema. - Errore durante la scrittura nel file [2]. Verificare di disporre dei diritti di accesso alla directory. - Errore durante la lettura dal file [2]. {{ Errore di sistema [3].}} Verificare che il file esista e di disporre dei relativi diritti di accesso. - Il file '[2]' è aperto in modo esclusivo da un'altra applicazione. Chiudere tutte le applicazioni aperte, quindi fare clic su Riprova. - Spazio su disco insufficiente per l'installazione del file [2]. Liberare spazio su disco e scegliere Riprova oppure scegliere Annulla per uscire dall'installazione. - Impossibile trovare il file di origine [2]. Verificare che il file esista e di disporre dei relativi diritti di accesso. - Errore durante la lettura dal file [3]. {{ Errore di sistema [2].}} Verificare che il file esista e di disporre dei relativi diritti di accesso. - Errore durante la scrittura nel file [3]. {{ Errore di sistema [2].}} Verificare di disporre dei diritti di accesso alla directory. - Impossibile trovare il file di origine{{ (file CAB)}} [2]. Verificare che il file esista e di disporre dei relativi diritti di accesso. - Impossibile creare la directory '[2]' perché esiste già un file con questo nome. Rinominare o rimuovere il file, quindi scegliere Riprova oppure scegliere Annulla per uscire. - Il volume [2] non è attualmente disponibile. Selezionarne un altro. - Il percorso specificato '[2]' non è disponibile. - Impossibile scrivere nella cartella specificata: [2]. - Errore di rete durante il tentativo di lettura dal file: [2] - Errore durante il tentativo di creazione della directory: [2] - Errore di rete durante il tentativo di creazione della directory: [2] - Errore di rete durante il tentativo di apertura dei file CAB dell'origine [2]. - Il percorso specificato è troppo lungo: [2] - Privilegi insufficienti per modificare il file [2]. - Una parte del percorso della cartella '[2]' non è valida, perché è vuota o supera la lunghezza consentita dal sistema. - Il percorso della cartella '[2]' contiene parole non valide per i percorsi delle cartelle. - Il percorso della cartella '[2]' contiene un carattere non valido. - '[2]' non è un nome file breve valido. - Errore durante la lettura dei dati di sicurezza del file [3]. GetLastError: [2] - Unità non valida: [2] - Errore durante l'applicazione dell'aggiornamento al file [2]. Probabilmente il file è già stato modificato con altri mezzi e non può più essere modificato da questa patch. Per ulteriori informazioni rivolgersi al fornitore. {{Errore di sistema: [3]}} - Impossibile installare un file necessario. Il file CAB [2] non dispone di firma digitale. Il file CAB potrebbe essere danneggiato. - Impossibile installare un file necessario. La firma digitale del file CAB [2] non è valida. Il file CAB potrebbe essere danneggiato.{{ WinVerifyTrust ha restituito l'errore [3].}} - Impossibile copiare correttamente il file [2]: errore CRC. - Impossibile spostare correttamente il file [2]: errore CRC. - Impossibile correggere il file [2]: errore CRC. - Impossibile installare il file '[2]'. Il file non è presente nel file CAB '[3]'. Il problema potrebbe essere dovuto a un errore di rete, un errore di lettura da CD-ROM o a un problema del pacchetto. - Il file CAB '[2]' richiesto per l'installazione è danneggiato e non potrà essere utilizzato. Il problema potrebbe essere dovuto a un errore di rete, un errore di lettura da CD-ROM o a un problema del pacchetto. - Errore durante la creazione di un file temporaneo necessario per il completamento dell'installazione.{{ Cartella: [3]. Codice errore di sistema: [2]}} - Impossibile creare la chiave [2]. {{ Errore di sistema [3].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile aprire la chiave [2]. {{ Errore di sistema [3].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile eliminare il valore [2] dalla chiave [3]. {{ Errore di sistema [4].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile eliminare la chiave [2]. {{ Errore di sistema [3].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile leggere il valore [2] dalla chiave [3]. {{ Errore di sistema [4].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile scrivere il valore [2] nella chiave [3]. {{ Errore di sistema [4].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile ottenere nomi dei valori della chiave [2]. {{ Errore di sistema [3].}} Verificare di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile ottenere i nomi delle chiavi secondarie per la chiave [2]. {{ Errore di sistema [3].}} Assicurarsi di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile leggere le informazioni di sicurezza per la chiave [2]. {{Errore di sistema [3].}} Assicurarsi di disporre di diritti di accesso sufficienti per tale chiave oppure contattare il personale di supporto. - Impossibile aumentare lo spazio disponibile nel Registro di sistema. Per installare l'applicazione sono necessari [2] KB di spazio disponibile nel Registro di sistema. - È in corso un'altra installazione. Completarla, quindi continuare con l'installazione desiderata. - Errore durante l'accesso a dati protetti. Assicurarsi che Windows Installer sia configurato correttamente e tentare di nuovo l'installazione. - L'utente '[2]' ha avviato in precedenza l'installazione del prodotto '[3]'. Prima di utilizzare il prodotto, tale utente dovrà ripeterne l'installazione. L'installazione corrente verrà continuata. - L'utente '[2]' ha avviato in precedenza l'installazione del prodotto '[3]'. Prima di utilizzare il prodotto, tale utente dovrà ripeterne l'installazione. - Spazio su disco insufficiente -- Volume: '[2]', spazio richiesto: [3] KB, spazio disponibile: [4] KB. Liberare spazio su disco e riprovare. - Annullare? - Il file [2][3] è già utilizzato{ dal processo con nome: [4], ID: [5] e titolo finestra: '[6]'}. Chiudere tale applicazione e riprovare. - Nel sistema è già installato il prodotto '[2]', che non consente l'installazione di questo prodotto perché incompatibile. - Spazio su disco insufficiente sul volume '[2]' per continuare l'installazione con il recupero abilitato. Sono necessari [3] KB, ma solo [4] KB sono disponibili. Scegliere Ignora per continuare senza salvare le informazioni di recupero, scegliere Riprova per controllare nuovamente lo spazio disponibile o scegliere Annulla per uscire dall'installazione. - Impossibile accedere al percorso di rete [2]. - È necessario chiudere le applicazioni seguenti prima di procedere con l'installazione: - Impossibile trovare versioni precedenti del software originale richiesto nel computer in uso. - Errore durante l'applicazione delle impostazioni di sicurezza. [2] non è un utente o un gruppo valido. L'errore potrebbe essere causato da un problema del pacchetto o da un problema durante la connessione a un controller di dominio in rete. Verificare la connessione di rete e scegliere Riprova. Altrimenti, scegliere Annulla per terminare l'installazione. {{Impossibile individuare il SID dell'utente. Errore di sistema [3]}} - La chiave [2] non è valida. Verificare che la chiave immessa sia corretta. - Prima di continuare la configurazione di [2], è necessario riavviare il sistema. Scegliere Sì per riavviarlo adesso oppure No per riavviarlo in un secondo momento. - Per rendere effettive le modifiche apportate alla configurazione di [2], è necessario riavviare il sistema. Scegliere Sì per riavviarlo adesso oppure No per riavviarlo in un secondo momento. - Un'istanza del programma di installazione di [2] è attualmente sospesa. Per continuare, è necessario annullare le modifiche effettuate da tale istanza del programma di installazione. Annullare le modifiche? - È in esecuzione un'istanza del programma di installazione del prodotto avviata in precedenza. Per continuare, è necessario annullare le modifiche effettuate da tale istanza del programma di installazione. Annullare le modifiche? - Impossibile trovare un pacchetto di installazione per [2]. Provare a ripetere l'installazione utilizzando una copia valida del pacchetto di installazione '[3]'. - Installazione completata. - Installazione non riuscita. - Prodotto: [2] -- [3] - È possibile ripristinare lo stato precedente del computer oppure continuare l'installazione in un secondo momento. Eseguire il ripristino? - Errore durante la scrittura su disco delle informazioni di installazione. Verificare che lo spazio disponibile su disco sia sufficiente e scegliere Riprova oppure scegliere Annulla per terminare l'installazione. - Impossibile trovare uno o più file necessari. Impossibile ripristinare lo stato precedente del computer. - Impossibile installare uno dei prodotti necessari per [2]. Contattare il supporto tecnico. {{Errore di sistema: [3].}} - Impossibile rimuovere la versione precedente di [2]. Contattare il supporto tecnico. {{Errore di sistema [3].}} - Installazione di [2] completata - Configurazione di [2] completata - Rimozione di [2] completata - Il file [2] è stato rifiutato dai criteri di firma digitale. - Impossibile accedere al servizio Windows Installer. Windows potrebbe essere in esecuzione in modalità provvisoria o l'installazione di Windows Installer potrebbe non essere stata eseguita correttamente. Contattare il personale di supporto. - Problema con il pacchetto Windows Installer. Impossibile eseguire uno degli script richiesti per il completamento dell'installazione. Contattare il personale di supporto o il fornitore del pacchetto. {{Azione personalizzata [2] errore script [3], [4]: [5] riga [6], colonna [7], [8] }} - Problema con il pacchetto Windows Installer. Impossibile eseguire uno dei programmi richiesti per il completamento dell'installazione. Contattare il personale di supporto o il fornitore del pacchetto. {{Azione: [2], percorso: [3], comando: [4] }} - Problema con il pacchetto Windows Installer. Uno dei programmi eseguiti come parte dell'installazione non è stato terminato correttamente. Contattare il personale di supporto o il fornitore del pacchetto. {{Azione: [2], percorso: [3], comando: [4] }} - Problema con il pacchetto Windows Installer. Impossibile eseguire una DLL necessaria per il completamento dell'installazione. Contattare il personale di supporto o il fornitore del pacchetto. {{Azione [2], voce: [3], libreria: [4] }} - Rimozione completata. - Rimozione non riuscita. - Annuncio completato. - Annuncio non riuscito. - Configurazione completata. - Configurazione non riuscita. - È necessario disporre di privilegi di amministratore per poter rimuovere questa applicazione. Accedere come amministratore o contattare il supporto tecnico. - Il pacchetto di installazione di origine per il prodotto [2] non è sincronizzato con il pacchetto client. Riprovare a eseguire l'installazione utilizzando una copia valida del pacchetto di installazione '[3]'. - Per completare l'installazione di [2] è necessario riavviare il computer. Altri utenti sono attualmente connessi al computer e il riavvio potrebbe causare la perdita dei dati non salvati. Riavviare il computer ora? - Il percorso [2] non è valido. Specificare un percorso valido. - Memoria esaurita. Chiudere alcune applicazioni, quindi riprovare. - L'unità [2] non contiene alcun disco. Inserire un disco e scegliere Riprova oppure scegliere Annulla per tornare al volume selezionato in precedenza. - L'unità [2] non contiene alcun disco. Inserire un disco e scegliere Riprova oppure scegliere Annulla per tornare alla finestra di ricerca e selezionare un altro volume. - La cartella [2] non esiste. Immettere il percorso di una cartella esistente. - Privilegi in lettura insufficienti per la cartella specificata. - Impossibile determinare una cartella di destinazione valida per l'installazione. - Errore durante il tentativo di lettura dal database di installazione di origine: [2]. - Pianificazione dell'operazione di riavvio. Il file [2] verrà rinominato [3]. Per completare l'operazione, è necessario riavviare il computer. - Pianificazione dell'operazione di riavvio. Il file [2] verrà eliminato. Per completare l'operazione, è necessario riavviare il computer. - Impossibile registrare il modulo [2]. HRESULT [3]. Contattare il personale di supporto. - Impossibile annullare la registrazione del modulo [2]. HRESULT [3]. Contattare il personale di supporto. - Impossibile memorizzare il pacchetto nella cache [2]. Errore: [3]. Contattare il personale di supporto. - Impossibile registrare il tipo di carattere [2]. Assicurarsi di disporre di autorizzazioni sufficienti per l'installazione dei tipi di carattere e verificare che il sistema supporti il tipo di carattere specificato. - Impossibile annullare la registrazione del tipo di carattere [2]. Assicurarsi di disporre di autorizzazioni sufficienti per l'eliminazione dei tipi di carattere. - Impossibile creare il collegamento [2]. Verificare che la cartella di destinazione esista e di disporre dei relativi diritti di accesso. - Impossibile rimuovere il collegamento [2]. Verificare che il file del collegamento esista e di disporre dei relativi diritti di accesso. - Impossibile registrare la libreria dei tipi per il file [2]. Contattare il personale di supporto. - Impossibile annullare la registrazione della libreria dei tipi per il file [2]. Contattare il personale di supporto. - Impossibile aggiornare il file INI [2][3]. Verificare che il file esista e sia accessibile. - Impossibile pianificare la sostituzione del file [3] con il file [2] durante il riavvio del sistema. Assicurarsi di disporre delle autorizzazioni di scrittura per il file [3]. - Errore durante la rimozione di Gestione driver ODBC. Errore ODBC [2]: [3]. Contattare il personale di supporto. - Errore durante l'installazione di Gestione driver ODBC. Errore ODBC [2]: [3]. Contattare il personale di supporto. - Errore durante la rimozione del driver ODBC [4]. Errore ODBC [2]: [3]. Verificare di disporre di privilegi sufficienti per la rimozione dei driver ODBC. - Errore durante l'installazione del driver ODBC [4]. Errore ODBC [2]: [3]. Verificare che il file [4] esista e di disporre dei relativi diritti di accesso. - Errore durante la configurazione dell'origine dati ODBC [4]. Errore ODBC [2]: [3]. Verificare che il file [4] esista e di disporre dei relativi diritti di accesso. - Impossibile avviare il servizio '[2]' ([3]). Assicurarsi di disporre di privilegi sufficienti per l'avvio dei servizi di sistema. - Impossibile arrestare il servizio '[2]' ([3]). Assicurarsi di disporre di privilegi sufficienti per l'arresto dei servizi di sistema. - Impossibile eliminare il servizio '[2]' ([3]). Assicurarsi di disporre di privilegi sufficienti per la rimozione dei servizi di sistema. - Impossibile installare il servizio '[2]' ([3]). Assicurarsi di disporre di privilegi sufficienti per l'installazione dei servizi di sistema. - Impossibile aggiornare la variabile di ambiente '[2]'. Assicurarsi di disporre di privilegi sufficienti per modificare le variabili di ambiente. - Privilegi insufficienti per completare l'installazione specificata per tutti gli utenti del computer. Accedere come amministratore, quindi ripetere l'installazione. - Impossibile impostare la sicurezza per il file '[3]'. Errore: [2]. Verificare di disporre di privilegi sufficienti per modificare le autorizzazioni di sicurezza per il file specificato. - Servizi componenti (COM+ 1.0) non è installato in questo computer. Per completare l'installazione è necessario disporre di Servizi componenti nel computer. Servizi componenti è disponibile in Windows 2000. - Errore durante la registrazione dell'applicazione COM+. Contattare il personale di supporto per maggiori informazioni. - Errore durante l'annullamento della registrazione dell'applicazione COM+. Contattare il personale di supporto per maggiori informazioni. - Impossibile modificare la descrizione del servizio '[2]' ([3]). - Il servizio Windows Installer non è in grado di aggiornare il file di sistema [2] in quanto è protetto da Windows. Potrebbe essere necessario eseguire l'aggiornamento del sistema operativo per consentire al programma di funzionare correttamente. {{Versione del pacchetto: [3], versione del sistema operativo protetto: [4]}} - Il servizio Windows Installer non è in grado di aggiornare il file protetto di Windows [2]. {{Versione del pacchetto: [3], versione del sistema operativo protetto: [4], errore SFP: [5]}} - Il servizio Windows Installer non è in grado di aggiornare uno o più file di Windows protetti. {{Errore SFP: [2]. Elenco file protetti:\r\n[3]}} - Le installazioni utente sono state disabilitate tramite criteri sul computer. - Errore durante l'installazione dell'assembly '[6]'. Per ulteriori informazioni, vedere Guida e supporto tecnico. HRESULT: [3]. {{interfaccia assembly: [4], funzione: [5], componente: [2]}} - Errore durante l'installazione dell'assembly '[6]'. L'assembly non dispone di nome sicuro o la lunghezza di chiave utilizzata per la firma è inferiore alla lunghezza minima consentita. HRESULT: [3]. {{interfaccia assembly: [4], funzione: [5], componente: [2]}} - Errore durante l'installazione dell'assembly '[6]'. Firma o catalogo non verificabili o non validi. HRESULT: [3]. {{interfaccia assembly: [4], funzione: [5], componente: [2]}} - Errore durante l'installazione dell'assembly '[6]'. Impossibile trovare uno o più moduli dell'assembly. HRESULT: [3]. {{interfaccia assembly: [4], funzione: [5], componente: [2]}} - - byte - GB - KB - MB - La funzionalità completa non sarà disponibile. - La funzionalità specificata verrà installata quando richiesto. - La funzionalità completa verrà installata in modo da consentirne l'avvio da CD. - La funzionalità completa verrà installata sul disco rigido locale. - La funzionalità completa verrà installata in modo da consentirne l'avvio dalla rete. - Verrà installata in modo da consentirne l'avvio da CD. - Verrà installata sul disco rigido locale. - Verrà installata in modo da consentirne l'avvio dalla rete. - Folder|Nuova cartella - Raccolta delle informazioni necessarie in corso... - La funzionalità specificata non verrà installata. - La funzionalità specificata verrà impostata per essere installata quando richiesto. - La funzionalità specificata verrà installata in modo da consentirne l'avvio da CD. - La funzionalità specificata verrà installata sul disco rigido locale. - La funzionalità specificata verrà installata in modo da consentirne l'avvio dalla rete. - La funzionalità specificata non sarà disponibile. - Verrà installata quando richiesto. - La funzionalità specificata sarà disponibile per l'avvio da CD. - La funzionalità specificata verrà installata sul disco rigido locale. - La funzionalità specificata sarà disponibile per l'avvio dalla rete. - La funzionalità specificata verrà rimossa completamente e non potrà più essere avviata da CD. - La funzionalità specificata, correntemente impostata per l'avvio da CD, verrà impostata per essere installata quando richiesto. - La funzionalità specificata rimarrà impostata per l'avvio da CD. - La funzionalità specificata, correntemente impostata per l'avvio da CD, verrà installata sul disco rigido locale. - La funzionalità specificata consente di liberare [1] sul disco rigido. - La funzionalità specificata richiede [1] sul disco rigido. - Calcolo dello spazio necessario per la funzionalità specificata in corso... - La funzionalità specificata verrà rimossa completamente. - La funzionalità specificata verrà rimossa dal disco rigido locale ma verrà impostata per essere installata quando richiesto. - La funzionalità specificata verrà rimossa dal disco rigido locale ma sarà ancora disponibile per l'avvio da CD. - La funzionalità specificata rimarrà sul disco rigido locale. - La funzionalità specificata verrà rimossa dal disco rigido locale ma sarà disponibile per l'avvio dalla rete. - La funzionalità specificata verrà completamente rimossa e non potrà più essere avviata dalla rete. - La funzionalità specificata, correntemente impostata per l'avvio dalla rete, verrà impostata per essere installata quando richiesto. - La funzionalità specificata, correntemente impostata per l'avvio dalla rete, verrà installata sul disco rigido locale. - La funzionalità specificata rimarrà impostata per l'avvio dalla rete. - La funzionalità specificata consente di liberare [1] sul disco rigido. Sono selezionate [2] funzionalità secondarie su [3]. Le funzionalità secondarie consentono di liberare [4] sul disco rigido. - La funzionalità specificata consente di liberare [1] sul disco rigido. Sono selezionate [2] funzionalità secondarie su [3]. Le funzionalità secondarie richiedono [4] sul disco rigido. - La funzionalità specificata richiede [1] sul disco rigido. Sono selezionate [2] funzionalità secondarie su [3]. Le funzionalità secondarie consentono di liberare [4] sul disco rigido. - La funzionalità specificata richiede [1] sul disco rigido. Sono selezionate [2] funzionalità secondarie su [3]. Le funzionalità secondarie richiedono [4] sul disco rigido. - Tempo rimanente: {[1] minuti }{[2] secondi} - Disponibile - Differenza - Necessario - Dimensioni disco - Volume - diff --git a/Src/Localization/WixUI/WixUI_ja-jp.wxl b/Src/Localization/WixUI/WixUI_ja-jp.wxl deleted file mode 100644 index f6e5e4f..0000000 --- a/Src/Localization/WixUI/WixUI_ja-jp.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - 戻る(&B) - 次へ(&N) - キャンセル - 完了(&F) - 再試行(&R) - 無視(&I) - はい(&Y) - いいえ(&N) - OK - 印刷(&P) - - [ProductName] セットアップ - WixUI_Bmp_Banner - {\WixUI_Font_Title}[ProductName] の使用許諾契約書をお読みください - 使用許諾契約書に同意します(&A) - すべてのユーザーを対象に既定のオプションで製品をインストールする場合は [\[]インストール[\]] をクリックしてください。インストール オプションを変更する場合は [\[]詳細設定[\]] をクリックしてください。 - 自分のみを対象に既定のオプションで製品をインストールする場合は [\[]インストール[\]] をクリックしてください。インストール オプションを変更する場合は [\[]詳細設定[\]] をクリックしてください。 - インストール(&I) - 詳細設定(&D) - 8 - 12 - 9 - 8 - "MS UI Gothic", "MS PGothic", "MS Pゴシック", "MS Gothic", "MS ゴシック", Osaka, Tahoma - - [ProductName] セットアップ - 場所(&L): - WixUI_Bmp_Up - 1 つ上のフォルダーへ移動 - WixUI_Bmp_New - 新しいフォルダーの作成 - フォルダー名(&F): - WixUI_Bmp_Banner - インストール先フォルダーを参照します。 - {\WixUI_Font_Title}インストール先フォルダーの変更 - - [ProductName] セットアップ - [ProductName] のインストールを取り消しますか? - WixUI_Ico_Info - 情報アイコン - - [ProductName] セットアップ - 選択項目のツリー - 参照(&R)... - リセット(&S) - ディスク使用量(&U) - WixUI_Bmp_Banner - 下のツリーのアイコンをクリックして、機能をインストールする方法を変更してください。 - 機能をインストールする方法を選択してください。 - {\WixUI_Font_Title}カスタム セットアップ - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - 場所: - - [ProductName] セットアップ - WixUI_Bmp_Banner - 強調表示されたボリュームには、選択した機能に利用できる十分な空き領域がありません。強調表示されたボリュームから一部のファイルを削除するか、インストールする機能を減らすか、別のインストール先ドライブを選択することができます。 - 選択された機能に必要なディスク領域です。 - {\WixUI_Font_Title}必要なディスク領域 - {120}{70}{70}{70}{70} - - [ProductName] セットアップ - 情報テキスト - WixUI_Ico_Info - 情報アイコン - - [ProductName] セットアップ - WixUI_Bmp_Dialog - セットアップ ウィザードを終了するには、[\[]完了[\]] ボタンをクリックします。 - {\WixUI_Font_Bigger}[ProductName] セットアップ ウィザードが完了しました - - [ProductName] セットアップ - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] セットアップ ウィザードを完了できませんでした - エラーが発生したため、[ProductName] のセットアップ ウィザードは処理の途中で終了しました。システムは変更されていません。このプログラムを後でインストールするには、セットアップ ウィザードを再実行してください。 - セットアップ ウィザードを終了するには、[\[]完了[\]] ボタンをクリックします。 - - [ProductName] セットアップ - 製品機能 - WixUI_Bmp_Banner - 機能をインストールする方法を選択してください。 - {\WixUI_Font_Title}製品機能 - FeaturesDlgItemDescription - FeaturesDlgItemSize - インストール(&I) - 変更(&C) - - [ProductName] セットアップ - 終了(&X) - WixUI_Bmp_Banner - 以下のアプリケーションが、このセットアップで更新する必要のあるファイルを使用しています。これらのアプリケーションを閉じてから [\[]再試行(&R)[\]] をクリックしてインストールを続行するか、[\[]終了[\]] をクリックして終了してください。 - 更新する必要のある一部のファイルは現在使用中です。 - {\WixUI_Font_Title}使用中のファイル - - [ProductName] セットアップ - 変更(&C)... - {\WixUI_Font_Title}インストール先フォルダー - 既定のフォルダーにインストールするには [\[]次へ[\]] をクリックし、別のフォルダーを選択するには [\[]変更[\]] をクリックします。 - WixUI_Bmp_Banner - [ProductName] のインストール先: - - [ProductName] セットアップ - WixUI_Bmp_Banner - インストール範囲とフォルダーの選択 - {\WixUI_Font_Title}インストール範囲 - {\WixUI_Font_Emphasized}自分のみを対象にインストール ([LogonUser])(&J) - [ProductName] はユーザーごとのフォルダーにインストールされ、そのユーザー アカウントでのみ使用できます。ローカル管理者の権限は必要ありません。 - [ProductName] はユーザーごとのインストールをサポートしていません。 - {\WixUI_Font_Emphasized}このコンピューターのすべてのユーザーを対象にインストール(&M) - 既定では、[ProductName] はコンピューターごとのフォルダーにインストールされ、すべてのユーザーが使用できます。既定のインストール フォルダーを変更できます。ローカル管理者の権限が必要です。 - インストール フォルダー(&F): - 変更(&C)... - - [ProductName] セットアップ - インストール ディレクトリはローカル ハード ドライブにあることが必要です。 - WixUI_Ico_Info - 情報アイコン - - [ProductName] セットアップ - 使用許諾契約書に同意します(&A) - WixUI_Bmp_Banner - 以下の使用許諾契約書をよくお読みください。 - {\WixUI_Font_Title}使用許諾契約書 - - [ProductName] セットアップ - 変更(&C) - インストールの変更 - 修復(&P) - インストールの修復 - 削除(&R) - インストール内容の削除 - WixUI_Bmp_Banner - 実行する操作を選択してください。 - {\WixUI_Font_Title}インストールの変更、修復、または削除 - 機能のインストール方法を変更できます。 - [ProductName] の機能は個別に選択できません。 - [ProductName] をコンピューターから削除します。 - [ProductName] を削除できません。 - 不足している、または壊れたファイル、ショートカット、およびレジストリ エントリを修正して、現在のインストールに存在するエラーを修復します。 - [ProductName] を修復できません。 - - [ProductName] セットアップ - WixUI_Bmp_Dialog - セットアップ ウィザードでは、[ProductName] の機能をコンピューターにインストールする方法を変更したり、コンピューターから [ProductName] を削除したりできます。続行するには、[\[]次へ[\]] をクリックしてください。セットアップ ウィザードを終了するには、[\[]キャンセル[\]] をクリックしてください。 - {\WixUI_Font_Bigger}[ProductName] セットアップ ウィザードへようこそ - - [ProductName] セットアップ - WixUI_Bmp_Banner - 以下のアプリケーションが、このセットアップで更新する必要のあるファイルを使用しています。セットアップ ウィザードを使用してこれらのアプリケーションを終了して再起動するか、後でコンピューターを再起動することができます。 - 更新する必要のある一部のファイルは現在使用中です。 - {\WixUI_Font_Title}使用中のファイル - アプリケーションを終了してから再起動する(&C) - アプリケーションを終了しない (再起動が必要)(&D) - - [ProductName] セットアップ - WixUI_Bmp_Banner - 強調表示されたボリュームには、現在選択中の機能に利用できる十分なディスク領域がありません。強調表示されたボリュームから一部のファイルを削除するか、インストールする機能を減らすか、別のインストール先ドライブを選択することができます。 - インストールに必要なディスク領域がディスクの空き領域を超えています。 - {\WixUI_Font_Title}ディスク領域の不足 - {120}{70}{70}{70}{70} - - [ProductName] セットアップ - WixUI_Bmp_Banner - 強調表示されたボリュームには、現在選択中の機能に利用できる十分なディスク領域がありません。強調表示されたボリュームから一部のファイルを削除するか、インストールする機能を減らすか、別のインストール先ドライブを選択することができます。 - インストールに必要なディスク領域がディスクの空き領域を超えています。 - {\WixUI_Font_Title}ディスク領域の不足 - {120}{70}{70}{70}{70} - あるいは、インストーラーのロールバック機能を無効にすることもできます。ロールバックを無効にすると、インストールがなんらかの理由で中断されてもインストーラーによってコンピューターの元の状態が復元されません。リスクを認識したうえでロールバック機能を無効にする場合は [\[]はい[\]] をクリックしてください。 - - [ProductName] セットアップ - WixUI_Bmp_Dialog - インストールの準備をしています。しばらくお待ちください。 - {\WixUI_Font_Bigger}[ProductName] セットアップ ウィザードへようこそ - - [ProductName] セットアップ - WixUI_Bmp_Banner - [ProductName] をインストールしています。しばらくお待ちください。 - {\WixUI_Font_Title}[ProductName] をインストール中 - [ProductName] を変更しています。しばらくお待ちください。 - {\WixUI_Font_Title}[ProductName] を変更中 - [ProductName] を修復しています。しばらくお待ちください。 - {\WixUI_Font_Title}[ProductName] を修復中 - [ProductName] を削除しています。しばらくお待ちください。 - {\WixUI_Font_Title}[ProductName] を削除中 - [ProductName] を更新しています。しばらくお待ちください。 - {\WixUI_Font_Title}[ProductName] を更新中 - 進行状況 - 状態: - - [ProductName] セットアップ - インストール(&I) - WixUI_Bmp_Dialog - セットアップ ウィザードは [ProductName] のインストールを完了します。セットアップを続行する場合は [\[]インストール[\]] を、終了する場合は [\[]キャンセル[\]] をクリックしてください。 - {\WixUI_Font_Bigger}[ProductName] セットアップ ウィザードの再開 - - [ProductName] セットアップ - 標準(&T) - 標準インストール - カスタム(&U) - カスタム インストール - 完全(&O) - 完全インストール - WixUI_Bmp_Banner - {\WixUI_Font_Title}セットアップの種類の選択 - 目的に合わせてセットアップの種類を選択してください。 - 最も一般的に使われるプログラムの機能がインストールされます。通常は、こちらを選択してください。 - ユーザーが、インストールするプログラムの機能やインストール先を選択することができます。詳しい知識のある方にお勧めします。 - すべてのプログラム機能をインストールします。最も多くのディスク領域が必要です。 - - [ProductName] セットアップ - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] セットアップ ウィザードは中断されました - [ProductName] のセットアップが中断されました。システムは変更されていません。このプログラムを後でインストールするには、インストールを再実行してください。 - セットアップ ウィザードを終了するには、[\[]完了[\]] ボタンをクリックします。 - - [ProductName] セットアップ - WixUI_Bmp_Banner - インストール(&I) - インストールを開始するには [\[]インストール[\]] をクリックしてください。インストール設定を確認または変更するには [\[]戻る[\]] をクリックしてください。ウィザードを終了するには [\[]キャンセル[\]] をクリックしてください。 - {\WixUI_Font_Title}[ProductName] のインストール準備完了 - 変更(&C) - インストールを開始するには [\[]変更[\]] をクリックしてください。インストール設定を確認または変更するには [\[]戻る[\]] をクリックしてください。ウィザードを終了するには [\[]キャンセル[\]] をクリックしてください。 - {\WixUI_Font_Title}[ProductName] の変更準備完了 - 修復(&P) - [ProductName] のインストールを修復するには [\[]修復[\]] をクリックしてください。インストール設定を確認または変更するには [\[]戻る[\]] をクリックしてください。ウィザードを終了するには [\[]キャンセル[\]] をクリックしてください。 - {\WixUI_Font_Title}[ProductName] の修復準備完了 - 削除(&R) - コンピューターから [ProductName] を削除するには [\[]削除[\]] をクリックしてください。インストール設定を確認または変更するには [\[]戻る[\]] をクリックしてください。ウィザードを終了するには [\[]キャンセル[\]] をクリックしてください。 - {\WixUI_Font_Title}[ProductName] の削除準備完了 - 更新(&U) - コンピューターの [ProductName] を更新するには [\[]更新[\]] をクリックしてください。インストール設定を確認または変更するには [\[]戻る[\]] をクリックしてください。ウィザードを終了するには [\[]キャンセル[\]] をクリックしてください。 - {\WixUI_Font_Title}[ProductName] の更新準備完了 - - [ProductName] セットアップ - 戻る(&R) - インストーラーが必要なディスク領域を計算しています。しばらくお待ちください。 - WixUI_Ico_Exclam - 感嘆符アイコン - - [ProductName] セットアップ - WixUI_Bmp_Dialog - このセットアップ ウィザードでは、[ProductName] をコンピューターにインストールします。続行するには、[\[]次へ[\]] をクリックしてください。セットアップ ウィザードを終了するには、[\[]キャンセル[\]] をクリックしてください。 - このセットアップ ウィザードでは、コンピューターにインストールされている [ProductName] を更新します。続行するには、[\[]次へ[\]] をクリックしてください。セットアップ ウィザードを終了するには、[\[]キャンセル[\]] をクリックしてください。 - {\WixUI_Font_Bigger}[ProductName] セットアップ ウィザードへようこそ - - [ProductName] セットアップ - WixUI_Bmp_Dialog - 使用許諾契約書に同意します(&A) - インストール(&I) - 更新(&U) - {\WixUI_Font_Title}[ProductName] の使用許諾契約書をお読みください - - インストールを検証しています - 新しいファイルをコピーしています - ファイル: [1]、ディレクトリ: [9]、サイズ: [6] - ネットワーク インストール ファイルをコピーしています - ファイル: [1]、ディレクトリ: [9]、サイズ: [6] - 必要な領域を計算しています - 必要な領域を計算しています - 必要な領域を計算しています - ショートカットを作成しています - ショートカット: [1] - 条件に合うコンポーネントを公開しています - コンポーネント ID: [1]、修飾子: [2] - 製品機能を公開しています - 機能: [1] - 製品情報を公開しています - クラス サーバーを登録しています - クラス ID: [1] - エクステンション サーバーを登録しています - エクステンション: [1] - MIME 情報を登録しています - MIME コンテンツ タイプ: [1]、エクステンション: [2] - プログラム識別子を登録しています - プログラム ID: [1] - レジストリ領域を割り当てています - 空き領域: [1] - インストールされているアプリケーションを検索しています - プロパティ: [1] 署名: [2] - 実行ファイルをバインドしています - ファイル: [1] - 条件に合う製品を検索しています - フォルダーを作成しています - フォルダー: [1] - サービスを削除しています - サービス: [1] - ファイルを複製しています - ファイル: [1]、ディレクトリ: [9]、サイズ: [6] - 関連するアプリケーションを検索しています - 見つかったアプリケーション: [1] - ODBC コンポーネントをインストールしています - 新しいサービスをインストールしています - サービス: [2] - 起動状態を検証しています - 関連アプリケーションから機能の状態を移行しています - アプリケーション: [1] - ファイルを移動しています - ファイル: [1]、ディレクトリ: [9]、サイズ: [6] - ファイルを修正しています - ファイル: [1]、ディレクトリ: [2]、サイズ: [3] - コンポーネントの登録を更新しています - COM+ アプリケーションとコンポーネントを登録しています - アプリケーション ID: [1]{{、アプリケーションの種類: [2]、ユーザー: [3]、RSN: [4]}} - フォントを登録しています - フォント: [1] - 製品を登録しています - [1] - タイプ ライブラリを登録しています - ライブラリ ID: [1] - ユーザーを登録しています - [1] - 重複するファイルを削除しています - ファイル: [1]、ディレクトリ: [9] - 環境文字列を更新しています - 名前: [1]、値: [2]、アクション [3] - アプリケーションを削除しています - アプリケーション: [1]、コマンド ライン: [2] - ファイルを削除しています - ファイル: [1]、ディレクトリ: [9] - フォルダーを削除しています - フォルダー: [1] - INI ファイルのエントリを削除しています - ファイル: [1]、セクション: [2]、キー: [3]、値: [4] - ODBC コンポーネントを削除しています - システム レジストリの値を削除しています - キー: [1]、名前: [2] - ショートカットを削除しています - ショートカット: [1] - 条件に合う製品を検索しています - モジュールを登録しています - ファイル: [1]、フォルダー: [2] - モジュールの登録を解除しています - ファイル: [1]、フォルダー: [2] - ODBC ディレクトリを初期化しています - サービスを開始しています - サービス: [1] - サービスを停止しています - サービス: [1] - 条件に合うコンポーネントを非公開にしています - コンポーネント ID: [1]、修飾子: [2] - 製品機能を非公開にしています - 機能: [1] - クラス サーバーの登録を解除しています - クラス ID: [1] - COM+ アプリケーションとコンポーネントの登録を解除しています - アプリケーション ID: [1]{{、アプリケーションの種類: [2]}} - エクステンション サーバーの登録を解除しています - エクステンション: [1] - フォントの登録を解除しています - フォント: [1] - MIME 情報の登録を解除しています - MIME コンテンツ タイプ: [1]、エクステンション: [2] - プログラム識別子の登録を解除しています - プログラム ID: [1] - タイプ ライブラリの登録を解除しています - ライブラリ ID: [1] - 環境文字列を更新しています - 名前: [1]、値: [2]、アクション [3] - INI ファイルの値を書き込んでいます - ファイル: [1]、セクション: [2]、キー: [3]、値: [4] - システム レジストリの値を書き込んでいます - キー: [1]、名前: [2]、値: [3] - アプリケーションのインストール情報を通知しています - 操作のためのスクリプトの動作を作成しています: - [1] - システム カタログをインストールしています - ファイル: [1]、依存関係: [2] - アセンブリ情報を公開しています - アプリケーション コンテキスト:[1]、アセンブリ名:[2] - アセンブリ情報を非公開にしています - アプリケーション コンテキスト:[1]、アセンブリ名:[2] - 操作を元に戻しています: - [1] - バックアップ ファイルを削除しています - ファイル: [1] - 移動したファイルを削除しています - ファイル: [1]、ディレクトリ: [9] - 製品情報を非公開にしています - - {{致命的なエラー: }} - {{エラー [1]。}} - 警告 [1]。 - 情報 [1]。 - このパッケージをインストールしているときに、インストーラーに予期しないエラーが発生しました。このパッケージに問題がある可能性があります。エラー コードは、[1] です。{{引数: [2]、[3]、[4]}} - {{ディスクがいっぱいです: }} - アクション [Time]: [1]。[2] - [ProductName] - {[2]}{、[3]}{、[4]} - メッセージの種類: [1]、引数: [2] - === ログ開始: [Date] [Time] === - === ログ終了: [Date] [Time] === - アクション開始 [Time]: [1]。 - アクション終了 [Time]: [1]。 戻り値 [2]。 - 残り時間: {[1] 分 }{[2] 秒} - メモリ不足です。他のアプリケーションを閉じてから、再試行してください。 - インストーラーから応答がありません。 - インストーラーは、完了前に停止しました。 - [ProductName] を構成しています。しばらくお待ちください。 - 必要な情報を集めています... - このアプリケーションの古いバージョンを削除しています... - このアプリケーションの古いバージョンを削除する準備をしています... - [ProductName] のセットアップは正常に終了しました。 - [ProductName] のセットアップに失敗しました。 - ファイル [2] を読み取るときにエラーが発生しました。{{ システム エラー [3]。}} ファイルが存在し、そのファイルにアクセスできることを確認してください。 - ファイル '[2]' を作成できません。同じ名前のディレクトリが既に存在します。インストールを取り消して、別の場所にインストールしてください。 - 次のディスクを挿入してください: [2] - このインストーラーにはディレクトリ [2] にアクセスできる十分な権限がないので、インストールを続行できません。管理者としてログオンするか、システム管理者に問い合わせてください。 - ファイル [2] への書き込み中にエラーが発生しました。このディレクトリへのアクセス権があることを確認してください。 - ファイル [2] を読み取るときにエラーが発生しました。{{ システム エラー [3]。}} ファイルが存在し、そのファイルにアクセスできることを確認してください。 - 別のアプリケーションがファイル '[2]' を排他的に使用しています。他のアプリケーションをすべて終了してから、[\[]再試行[\]] をクリックしてください。 - ファイル [2] のインストールに必要なディスク領域が足りません。ディスクの空き領域を増やしてから、[\[]再試行[\]] をクリックしてください。終了する場合は [\[]キャンセル[\]] をクリックしてください。 - ソース ファイル [2] が見つかりませんでした。このファイルが存在し、アクセスできることを確認してください。 - ファイル [3] を読み取るときにエラーが発生しました。{{ システム エラー [2]。}} ファイルが存在し、そのファイルにアクセスできることを確認してください。 - ファイル [3] に書き込むときにエラーが発生しました。{{ システム エラー [2]。}} このディレクトリへのアクセス権があることを確認してください。 - ソース ファイルが見つかりません。{{(cabinet)}}: [2]。このファイルが存在し、アクセスできることを確認してください。 - ディレクトリ '[2]' を作成できません。同じ名前のファイルが既に存在します。このファイルの名前を変更するかファイルを削除してから、[\[]再試行[\]] をクリックしてください。終了する場合は [\[]キャンセル[\]] をクリックしてください。 - ボリューム [2] は現在使用できません。他のボリュームを選択してください。 - 指定されたパス '[2]' は使用できません。 - 指定されたフォルダー [2] に書き込めません。 - ファイル [2] の読み取り中にネットワーク エラーが発生しました - ディレクトリ [2] の作成中にエラーが発生しました - ディレクトリ [2] の作成中にネットワーク エラーが発生しました - ソース ファイル キャビネット [2] を開くときに、ネットワーク エラーが発生しました - 指定されたパスは長すぎます: [2] - インストーラーには、ファイル [2] を修正する権限が不足しています。 - フォルダー パス [2] の一部が無効です。空白かシステムで許容されている長さを超えています。 - フォルダー パス '[2]' にフォルダー パスで使用できない文字列が含まれています。 - フォルダー パス '[2]' に使用できない文字が含まれています。 - '[2]' は短いファイル名としては正しくありません。 - ファイル セキュリティを取得するときにエラーが発生しました: [3] GetLastError: [2] - 無効なドライブ: [2] - ファイル [2] に修正プログラムを適用中にエラーが発生しました。このファイルは、別の方法で更新されていて、この修正プログラムでは変更できない可能性があります。詳細については、この修正プログラムの製造元に問い合わせてください。{{システム エラー: [3]}} - キャビネット ファイル [2] がデジタル署名されていないため、必要なファイルをインストールできません。キャビネット ファイルが壊れている可能性があります。 - キャビネット ファイル [2] のデジタル署名が無効であるため、必要なファイルをインストールできません。キャビネット ファイルが壊れている可能性があります。{{ エラー [3] が WinVerifyTrust によって返されました。}} - [2] ファイルを正しくコピーできませんでした: CRC エラー。 - [2] ファイルを正しく移動できませんでした: CRC エラー。 - [2] ファイルを正しく修正できませんでした: CRC エラー。 - ファイル '[2]' がキャビネット ファイル '[3]' で見つからなかったため、このファイルをインストールできません。ネットワーク エラーまたは CD-ROM からの読み取りエラーが発生したか、このパッケージに問題がある可能性があります。 - このインストールに必要なキャビネット ファイル '[2]' は壊れているため使用できません。ネットワーク エラーまたは CD-ROM からの読み取りエラーが発生したか、このパッケージに問題がある可能性があります。 - このインストールを完了するために必要な一時ファイルを作成しているときに、エラーが発生しました。{{ フォルダー: [3]。システム エラー コード: [2]}} - キー [2] を作成できませんでした。{{システム エラー [3]。}} このキーへの十分なアクセス権があるか確認するか、サポート担当者へお問い合わせください。 - キー [2] を開くことができませんでした。{{システム エラー [3]。}} このキーへの十分なアクセス権があるか確認するか、サポート担当者へお問い合わせください。 - キー [3] から値 [2] を削除できませんでした。 {{システム エラー [4]。}} このキーへの十分なアクセス権があるか確認するか、サポート担当者へお問い合わせください。 - キー [2] を削除できませんでした。 {{システム エラー [3]。}} このキーへの十分なアクセス権があるか確認するか、サポート担当者へお問い合わせください。 - キー [3] から値 [2] を読み取れませんでした。 {{システム エラー [4]。}} このキーへの十分なアクセス権があるか確認するか、サポート担当者へお問い合わせください。 - 値 [2] をキー [3] に書き込めませんでした。{{ システム エラー [4]。}} このキーへの十分なアクセス権があるか確認するか、サポート担当者へお問い合わせください。 - キー [2] の値の名前を取得できませんでした。{{ システム エラー [3]。}} このキーへの十分なアクセス権があるか確認するか、サポート担当者へお問い合わせください。 - キー [2] のサブ キー名を取得できませんでした。{{ システム エラー [3]。}} このキーへの十分なアクセス権があるか確認するか、サポート担当者へお問い合わせください。 - キー [2] のセキュリティ情報を読み取れませんでした。{{ システム エラー [3]。} }このキーへの十分なアクセス権があるか確認するか、サポート担当者へお問い合わせください。 - 利用可能なレジストリ領域を増やすことができませんでした。このアプリケーションをインストールするには、[2] KB のレジストリ領域が必要です。 - 別のインストールが現在行われています。新たにインストールを行うには、既に実行中のインストールを完了しなければなりません。 - セキュリティで保護されているデータにアクセスするときに、エラーが発生しました。Windows インストーラーが正しく構成されていることを確認してから、再度インストールを実行してください。 - ユーザー '[2]' は、製品 '[3]' のインストールを以前に実行したことがありますが、この製品を使用するにはインストールを再度実行する必要があります。現在のインストールはこのまま続行されます。 - ユーザー '[2]' は、製品 '[3]' のインストールを以前に実行したことがありますが、この製品を使用するにはインストールを再度実行する必要があります。 - ディスク領域が不足しています -- ボリューム: '[2]'、必要な領域: [3] KB、使用可能な領域: [4] KB。ディスクの領域を増やして再度実行してください。 - 取り消しますか? - ファイル [2][3] は次のプロセスで使用されています {プロセス名: [4]、ID: [5]、ウィンドウ タイトル: '[6]'}。このアプリケーションを終了してから、再度実行してください。 - '[2]' が既にインストールされているので、この製品をインストールできません。この 2 つの製品には互換性がありません。 - ボリューム '[2]' には、回復を有効にしてインストールを続行するための十分な空き領域がありません。[3] KB 必要ですが、[4] KB しか利用できません。回復情報を保存しないでインストールを続行するには、[\[]無視[\]] をクリックしてください。もう一度空き領域を確認するには、[\[]再試行[\]] をクリックしてください。また、インストールを中止するには、[\[]キャンセル[\]] をクリックしてください。 - ネットワーク上の場所 [2] へアクセスできませんでした。 - インストールを続行するには、次のアプリケーションを終了する必要があります: - この製品をインストールするために必要なアプリケーションがインストールされていません。 - セキュリティ設定の適用中にエラーが発生しました。[2] は有効なユーザーまたはグループではありません。これはパッケージの問題であるか、ネットワーク上のドメイン コントローラーへの接続の問題である可能性があります。ネットワークの接続を確認し、[\[]再試行[\]] をクリックするか、[\[]キャンセル[\]] をクリックしてインストールを終了してください。{{ユーザーの SID を検出できません、システム エラー [3]}} - キー [2] は有効ではありません。正しいキーを入力したか確認してください。 - [2] の構成を続行する前に、システムを再起動する必要があります。すぐに再起動する場合は [\[]はい[\]] を、後で手動で再起動する場合は [\[]いいえ[\]] をクリックしてください。 - [2] に行った構成の変更を有効にするには、システムを再起動する必要があります。すぐに再起動する場合は [\[]はい[\]] を、後で手動で再起動する場合は [\[]いいえ[\]] をクリックしてください。 - [2] のインストールは現在中断されています。続行するには、インストールによって行われた変更を取り消す必要があります。これらの変更を取り消しますか? - この製品のインストールは現在進行中です。続行するには、インストールによって行われた変更を取り消す必要があります。これらの変更を取り消しますか? - 製品 [2] のインストール パッケージが見つかりません。インストール パッケージ '[3]' の有効なコピーを使って、もう一度インストールしてください。 - インストールは正常に終了しました。 - インストールに失敗しました。 - 製品: [2] -- [3] - コンピューターを直前の状態に復元するか、後でインストールを続行することができます。復元しますか? - インストール情報をディスクに書き込み中にエラーが発生しました。十分なディスク領域があることを確認してから [\[]再試行[\]] をクリックして続行するか、[\[]キャンセル[\]] をクリックしてインストールを中止してください。 - コンピューターを以前の状態に復元するために必要なファイルの一部が見つかりませんでした。復元することができません。 - [2] に必要な製品の 1 つをインストールできません。テクニカル サポート グループに問い合わせてください。{{システム エラー: [3]。}} - 古いバージョンの [2] を削除できません。テクニカル サポート グループに問い合わせてください。{{システム エラー [3]。}} - [2] をインストールしました - [2] を構成しました - [2] を削除しました - ファイル [2] は、デジタル署名ポリシーによって拒否されました。 - Windows インストーラー サービスにアクセスできませんでした。これは、Windows をセーフ モードで実行している場合、または Windows インストーラーが正しくインストールされていない場合に発生することがあります。サポート担当者に問い合わせてください。 - この Windows インストーラー パッケージに問題があります。このインストールを完了するために必要なスクリプトを実行できませんでした。サポート担当者またはパッケージ開発元に問い合わせてください。{{カスタム アクション [2] スクリプト エラー [3]、[4]: [5] 行 [6]、列 [7]、[8] }} - この Windows インストーラー パッケージに問題があります。このインストールを完了するために必要なプログラムを実行できませんでした。サポート担当者またはパッケージ開発元に問い合わせてください。{{アクション: [2]、場所: [3]、コマンド: [4] }} - この Windows インストーラー パッケージに問題があります。セットアップの一部として実行されるプログラムが正常に完了しませんでした。サポート担当者またはパッケージ開発元に問い合わせてください。{{アクション [2]、場所: [3]、コマンド: [4] }} - この Windows インストーラー パッケージに問題があります。このインストールを完了するために必要な DLL を実行できませんでした。サポート担当者またはパッケージ開発元に問い合わせてください。{{アクション: [2]、エントリ: [3]、ライブラリ: [4] }} - 削除を正常に完了しました。 - 削除に失敗しました。 - アドバタイズを正しく完了しました。 - アドバタイズに失敗しました。 - 構成を正常に完了しました。 - 構成に失敗しました。 - このアプリケーションを削除するには、Administrator である必要があります。このアプリケーションを削除するには、Administrator としてログオンするか、テクニカル サポート グループに問い合わせてください。 - 製品 [2] のソース インストール パッケージは、クライアント パッケージと同期していません。有効なインストール パッケージ '[3]' を使用して、インストールをやり直してください。 - [2] のインストールを完了するには、コンピューターを再起動する必要があります。現在、このコンピューターにログオンしているユーザーは他にもいます。再起動すると、ログオンしているユーザーの作業内容が失われる可能性があります。今すぐ再起動しますか? - パス [2] が有効ではありません。有効なパスを指定してください。 - メモリ不足です。他のアプリケーションを閉じてから、再試行してください。 - ドライブ [2] にはディスクがありません。ディスクを挿入してから [\[]再試行[\]] をクリックしてください。既に選択されたボリュームに戻る場合は、[\[]キャンセル[\]] をクリックしてください。 - ドライブ [2] にはディスクがありません。ディスクを挿入してから [\[]再試行[\]] をクリックしてください。[\[]参照[\]] ダイアログ ボックスに戻って、別のボリュームを選択する場合は、[\[]キャンセル[\]] をクリックしてください。 - フォルダー [2] は存在しません。既存のフォルダーへのパスを入力してください。 - このフォルダーを読み取るための十分な権限がありません。 - インストールのための正しいコピー先を確定できませんでした。 - ソース インストール データベース [2] からの読み取りでエラーが発生しました。 - 再起動操作のスケジュールを設定しています。ファイル [2] の名前を [3] に変更しています。操作を完了するには、再起動する必要があります。 - 再起動操作のスケジュールを設定しています。[2] を削除しています。操作を完了するには、再起動する必要があります。 - モジュール [2] で登録に失敗しました。HRESULT [3]。サポート担当者に問い合わせてください。 - モジュール [2] で登録の解除に失敗しました。HRESULT [3]。サポート担当者に問い合わせてください。 - パッケージ [2] のキャッシュに失敗しました。エラー: [3]。サポート担当者に問い合わせてください。 - フォント [2] を登録できませんでした。フォントをインストールするための十分なアクセス許可があり、システムがこのフォントをサポートしていることを確認してください。 - フォント [2] の登録を解除できませんでした。フォントを削除するための十分なアクセス許可があることを確認してください。 - ショートカット [2] を作成できませんでした。目的のフォルダーが存在し、そのフォルダーにアクセスできることを確認してください。 - ショートカット [2] を削除できませんでした。ショートカット ファイルが存在し、そのショートカット ファイルにアクセスできることを確認してください。 - ファイル [2] のタイプ ライブラリを登録できませんでした。サポート担当者に問い合わせてください。 - ファイル [2] のタイプ ライブラリの登録を解除できませんでした。サポート担当者に問い合わせてください。 - INI ファイル [2][3] を更新できませんでした。ファイルが存在し、そのファイルにアクセスできることを確認してください。 - 再起動時にファイル [3] を [2] で置き換えるようにスケジュール設定できませんでした。ファイル [3] に対する書き込みアクセス許可があることを確認してください。 - ODBC ドライバー マネージャーの削除でエラーが発生しました。ODBC エラー [2]: [3]。サポート担当者に問い合わせてください。 - ODBC ドライバー マネージャーのインストールでエラーが発生しました。ODBC エラー [2]: [3]。サポート担当者に問い合わせてください。 - ODBC ドライバー [4] の削除でエラーが発生しました。ODBC エラー [2]: [3]。ODBC ドライバーを削除できる十分な権限があることを確認してください。 - ODBC ドライバー [4] のインストールでエラーが発生しました。ODBC エラー [2]: [3]。ファイル [4] が存在し、そのファイルにアクセスできることを確認してください。 - ODBC データ ソースの構成でエラーが発生しました: [4]。ODBC エラー [2]: [3]。ファイル [4] が存在し、そのファイルにアクセスできることを確認してください。 - サービス '[2]' ([3]) を開始できませんでした。システム サービスを開始できる十分な権限があることを確認してください。 - サービス '[2]' ([3]) を停止できませんでした。システム サービスを停止できる十分な権限があることを確認してください。 - サービス '[2]' ([3]) を削除できませんでした。システム サービスを削除できる十分な権限があることを確認してください。 - サービス '[2]' ([3]) をインストールできませんでした。システム サービスをインストールできる十分な権限があることを確認してください。 - 環境変数 '[2]' を更新できませんでした。環境変数を変更できる十分な権限があることを確認してください。 - 十分な権限がないため、このコンピューターのすべてのユーザーが使用できるようにアプリケーションをインストールできません。管理者としてログオンして、インストールをやり直してください。 - ファイル '[3]' のファイル セキュリティを設定できませんでした。エラー: [2]。このファイルのセキュリティ アクセス許可を変更できる十分な権限があることを確認してください。 - コンポーネント サービス (COM+ 1.0) がこのコンピューターにインストールされていません。このインストールを完了するには、コンポーネント サービスが必要です。コンポーネント サービスは、Windows 2000 で利用できます。 - COM+ アプリケーションの登録中にエラーが発生しました。詳細については、サポート担当者に問い合わせてください。 - COM+ アプリケーションの登録解除中にエラーが発生しました。詳細については、サポート担当者に問い合わせてください。 - サービス '[2]' ([3]) の説明を変更できませんでした。 - Windows インストーラー サービスはシステム ファイル [2] を更新できません。ファイルは Windows によって保護されています。このプログラムを正しく動作させるには、オペレーティング システムの更新が必要な場合があります。{{パッケージ バージョン: [3]、OS の保護バージョン: [4]}} - Windows インストーラー サービスは、保護された Windows ファイル [2] を更新できません。{{パッケージ バージョン: [3]、OS の保護バージョン: [4]、SFP エラー: [5]}} - Windows インストーラー サービスは、1 つ以上の保護された Windows ファイルを更新できません。{{SFP エラー: [2]。保護されているファイルの一覧:\r\n[3]}} - コンピューターのポリシーによって、ユーザー インストールは無効にされています。 - アセンブリ '[6]' のインストール中にエラーが発生しました。詳細については、ヘルプとサポートを参照してください。HRESULT: [3]。{{アセンブリ インターフェイス: [4]、関数: [5]、コンポーネント: [2]}} - アセンブリ '[6]' のインストール中にエラーが発生しました。アセンブリは厳密な名前を持たないか、最小のキー長で署名されていません。HRESULT: [3]。{{アセンブリ インターフェイス: [4]、関数: [5]、コンポーネント: [2]}} - アセンブリ '[6]' のインストール中にエラーが発生しました。署名またはカタログが検証できないか無効です。HRESULT: [3]。{{アセンブリ インターフェイス: [4]、関数: [5]、コンポーネント: [2]}} - アセンブリ '[6]' のインストール中にエラーが発生しました。アセンブリの 1 つ以上のモジュールが見つかりませんでした。HRESULT: [3]。{{アセンブリ インターフェイス: [4]、関数: [5]、コンポーネント: [2]}} - - バイト - GB - KB - MB - インストールしない - 必要時にインストール - CD からすべて実行 - ローカル ハード ドライブにすべてインストール - ネットワークからすべて実行 - CD から実行 - ローカル ハード ドライブにインストール - ネットワークから実行 - Folder|新しいフォルダー - 必要な情報を集めています... - この機能はインストールされません - この機能は必要時にインストールされます - この機能は CD から実行されます - この機能はローカル ハード ドライブにインストールされます - この機能はネットワークから実行されます - この機能は使用できなくなります - 必要な場合にインストールされます - この機能は CD から実行できるようになります - この機能はローカル ハード ドライブにインストールされます - この機能はネットワークから実行されるようになります - この機能は完全にアンインストールされます。CD から実行することもできなくなります - この機能は CD から実行される設定から、必要時にインストールされる設定に変更されます - この機能は今後も CD から実行されます - この機能は CD から実行される設定から、ローカル ハード ドライブにインストールされる設定に変更されます - この機能は、ハード ドライブの [1] を解放します。 - この機能はハード ドライブの [1] を必要とします。 - この機能のコストを計算しています... - この機能は完全に削除されます - この機能はローカル ハード ドライブ上からは削除されますが、必要なときにインストールされるように設定されます - この機能はローカル ハード ドライブから削除されますが、引き続き CD から実行できます - この機能はローカル ハード ドライブに残ります - この機能はローカル ハード ドライブから削除されますが、ネットワークから実行することができます - この機能は完全にアンインストールされます。ネットワークから実行することもできなくなります - この機能はネットワークから実行される設定から、必要時にインストールされる設定に変更されます - この機能は、ネットワークから実行される設定から、ローカル ハード ドライブにインストールされる設定に変更されます - この機能は今後もネットワークから実行されます - この機能ではハード ドライブが [1] 解放されます。[3] つのうち [2] つのサブ機能が選択されています。これらのサブ機能では、ハード ドライブが [4] 解放されます。 - この機能ではハード ドライブが [1] 解放されます。[3] つのうち [2] つのサブ機能が選択されています。これらのサブ機能には、ハード ドライブ領域が [4] 必要です。 - この機能にはハード ドライブ領域が [1] 必要です。[3] つのうち [2] つのサブ機能が選択されています。これらのサブ機能では、ハード ドライブが [4] 解放されます。 - この機能にはハード ドライブ領域が [1] 必要です。[3] つのうち [2] つのサブ機能が選択されています。これらのサブ機能には、ハード ドライブ領域が [4] 必要です。 - 残り時間: {[1] 分 }{[2] 秒} - 利用可能 - 残領域 - 必須 - ディスク サイズ - ボリューム - diff --git a/Src/Localization/WixUI/WixUI_kk-KZ.wxl b/Src/Localization/WixUI/WixUI_kk-KZ.wxl deleted file mode 100644 index da9ce5a..0000000 --- a/Src/Localization/WixUI/WixUI_kk-KZ.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Артқа - &Келесі - Болдырмау - &Аяқтау - &Қайталау - &Елемеу - &Иә - &Жоқ - OK - &Басып шығару - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Banner - {\WixUI_Font_Title}[ProductName] бағдарламасының лицензиялық келісімін оқып шығыңыз - Мен лицензиялық келісімнің шарттарын &қабылдаймын - Барлық пайдаланушыларға өнімді әдепкі параметрлерге орнату үшін "Орнату" түймешігін басыңыз. Орнату параметрлерін өзгерту үшін "Қосымша" түймешігін басыңыз. - Өзіңізге өнімді әдепкі параметрлерге орнату үшін "Орнату" түймешігін басыңыз. Орнату параметрлерін өзгерту үшін "Қосымша" түймешігін басыңыз. - &Орнату - Қ&осымша - 8 - 12 - 9 - 8 - Tahoma - - [ProductName] бағдарламасын орнату - &Іздеу: - WixUI_Bmp_Up - Бір деңгей жоғары - WixUI_Bmp_New - Жаңа қалта жасау - &Қалта атауы: - WixUI_Bmp_Banner - Тағайындалған қалтаны шолу - {\WixUI_Font_Title}Тағайындау қалтасын өзгерту - - [ProductName] бағдарламасын орнату - Шынымен [ProductName] бағдарламасын орнатудан бас тартқыңыз келе ме? - WixUI_Ico_Info - Ақпарат белгішесі - - [ProductName] бағдарламасын орнату - Таңдаулар тармақтары - Ш&олу... - Ыс&ыру - Дискіні &пайдалану - WixUI_Bmp_Banner - Мүмкіндіктер орнатылатын жолды өзгерту үшін төмендегі тармақтағы белгішелерді нұқыңыз. - Мүмкіндіктер орнатылатын жолды таңдаңыз. - {\WixUI_Font_Title}Арнайы орнату - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Орналасу: - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Banner - Бөлектелген мәндерде таңдалған мүмкіндіктер үшін дискіде жеткілікті бос орын жоқ. Бөлектелген мәндерден кейбір файлдарды жоюға, азырақ мүмкіндіктер орнатуға немесе басқа тағайындау дискілерін таңдауыңызға болады. - Таңдалған мүмкіндіктерді орнату үшін дискіде бос орын қажет етіледі. - {\WixUI_Font_Title}Дискіде қажет етілетін бос орын - {120}{70}{70}{70}{70} - - [ProductName] бағдарламасын орнату - Ақпараттық мәтін - WixUI_Ico_Info - Ақпарат белгішесі - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Dialog - Орнату шеберінен шығу үшін "Аяқтау" түймешігін басыңыз. - {\WixUI_Font_Bigger}[ProductName] бағдарламасының орнату шебері жұмысын аяқтады - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] бағдарламасының орнату шебері жұмысын мерзімінен бұрын аяқтады - [ProductName] бағдарламасының орнату шебері қатеге байланысты жұмысын мерзімінен бұрын аяқтады. Жүйеңіз өзгертілген жоқ. Бұл бағдарламаны кейінірек орнату үшін, орнату шеберін қайтадан іске қосыңыз. - Орнату шеберінен шығу үшін "Аяқтау" түймешігін басыңыз. - - [ProductName] бағдарламасын орнату - Өнім мүмкіндіктері - WixUI_Bmp_Banner - Мүмкіндіктер орнатылатын жолды таңдаңыз. - {\WixUI_Font_Title}Өнім мүмкіндіктері - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Орнату - &Өзгерту - - [ProductName] бағдарламасын орнату - Ш&ығу - WixUI_Bmp_Banner - Бұл орнату жаңартуы керек файлдарды келесі бағдарламалар пайдалануда. Бұл бағдарламаларды жабыңыз да, орнатуды жалғастыру үшін "Қ&айталау" түймешігін немесе одан шығу үшін "Шығу" түймешігін басыңыз. - Жаңартылуы қажет кейбір файлдар қазір қолданыста. - {\WixUI_Font_Title}Қолданыстағы файлдар - - [ProductName] бағдарламасын орнату - &Өзгерту... - {\WixUI_Font_Title}Тағайындау қалтасы - Әдепкі қалтаны орнату үшін "Келесі" түймешігін немесе басқасын таңдау үшін "Өзгерту" түймешігін басыңыз. - WixUI_Bmp_Banner - [ProductName] бағдарламасын мұнда орнату: - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Banner - Орнату ауқымын және қалтасын таңдау - {\WixUI_Font_Title}Орнату ауқымы - {\WixUI_Font_Emphasized}&Тек өзіңіз үшін орнату ([USERNAME]) - [ProductName] бағдарламасы әрбір пайдаланушы қалтасына орнатылады және тек пайдаланушы тіркелгіңізге қол жетімді болады. Әкімші құқықтары қажет емес. - [ProductName] бағдарламасы әрбір пайдаланушы орнатуын қолдамайды. - {\WixUI_Font_Emphasized}Осы &компьютердің барлық пайдаланушылары үшін орнату - [ProductName] бағдарламасы әрбір компьютер қалтасына әдепкідей орнатылады және барлық пайдаланушылар үшін қол жетімді болады. Әдепкі орнату қалтасын өзгерте аласыз. Әкімші құқықтары болуы қажет. - Орнату &қалтасы: - &Өзгерту... - - [ProductName] бағдарламасын орнату - Орнату каталогы жергілікті қатты дискіде болуы керек. - WixUI_Ico_Info - Ақпарат белгішесі - - [ProductName] бағдарламасын орнату - Мен лицензиялық келісімнің шарттарын &қабылдаймын - WixUI_Bmp_Banner - Төмендегі лицензиялық келісімнің шарттарын мұқият оқып шығыңыз - {\WixUI_Font_Title}соңғы тұтынушысына арналған лицензиялық келісім - - [ProductName] бағдарламасын орнату - &Өзгерту - Орнатуды өзгерту - Қа&лпына келтіру - Орнатуды қалпына келтіру - &Жою - Орнатуды жою - WixUI_Bmp_Banner - Орындағыңыз келген әрекетті таңдаңыз. - {\WixUI_Font_Title}Орнатуды өзгерту, қалпына келтіру немесе жою - Сізге мүмкіндіктердің орнатылу жолын өзгертуге мүмкіндік береді. - [ProductName] бағдарламасында бөлек таңдалатын мүмкіндіктер жоқ. - [ProductName] бағдарламасын компьютеріңізден жояды. - [ProductName] бағдарламасын жою мүмкін емес. - Жоқ және бұзылған файлдарды, ендер мен тізбе жазбаларын түзету арқылы ең соңғы орнатудағы қателерді қалпына келтіреді. - [ProductName] бағдарламасын қалпына келтіру мүмкін емес. - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Dialog - Орнату шебері [ProductName] бағдарламасының мүмкіндіктері компьютеріңізге қалай орнатылатынын өзгертуге немесе оны компьютеріңізден жоюға мүмкіндік береді. Жалғастыру үшін "Келесі" түймешігін немесе орнату шеберінен шығу үшін "Болдырмау" түймешігін басыңыз. - {\WixUI_Font_Bigger}[ProductName] бағдарламасының орнату шеберіне қош келдіңіз - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Banner - Бұл орнату жаңартуы керек файлдарды келесі бағдарламалар пайдалануда. Орнату шеберіне оларды жауып, қайта қотаруға немесе компьютерді кейінірек қайта қотаруға мүмкіндік бере аласыз. - Жаңартылуы қажет кейбір файлдар қазір қолданыста. - {\WixUI_Font_Title}Қолданыстағы файлдар - &Бағдарламаларды жауып, оларды қайта қотарып көріңіз. - &Бағдарламаларды жаппаңыз. Компьютерді қайта қотару қажет болады. - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Banner - Бөлектелген мәнедерде ағымдағы таңдалған мүмкіндіктер үшін дискте жеткілікті бос орын жоқ. Бөлектелген мәндерден кейбір файлдарды жоюға, азырақ мүмкіндіктер орнатуға немесе басқа тағайындау драйверін таңдауға болады. - Орнату үшін қажет етілетін дискідегі бос орын дискіде бар бос орыннан асады. - {\WixUI_Font_Title}Дискіде бос орын жоқ - {120}{70}{70}{70}{70} - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Banner - Бөлектелген мәнедерде ағымдағы таңдалған мүмкіндіктер үшін дискте жеткілікті бос орын жоқ. Бөлектелген мәндерден кейбір файлдарды жоюға, азырақ мүмкіндіктер орнатуға немесе басқа тағайындау драйверін таңдауға болады. - Орнату үшін қажет етілетін дискідегі бос орын дискіде бар бос орыннан асады. - {\WixUI_Font_Title}Дискіде бос орын жоқ - {120}{70}{70}{70}{70} - Сонымен қатар, орнатушының қалпына келтіру функциясын ажыратуға болады. Қалпына келтіру функциясын ажырату орнату процесі қандай да бір жағдайда үзілген кезде орнатушы бағдарламаның компьютеріңізді бастапқы күйге келтіруіне мүмкіндік бермейді. Тәуекелге барып, қалпына келтіру функциясын ажырату үшін "Иә" түймешігін басыңыз. - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Dialog - Орнату шебері орнату барысында бағыт беруге дайын болғанша күтіңіз. - {\WixUI_Font_Bigger}[ProductName] бағдарламасының орнату шеберіне қош келдіңіз - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Banner - Орнату шебері [ProductName] бағдарламасын орнатқанға дейін күте тұрыңыз. - {\WixUI_Font_Title}[ProductName] бағдарламасы орнатылуда - Орнату шебері [ProductName] бағдарламасын өзгерткенге дейін күте тұрыңыз. - {\WixUI_Font_Title}[ProductName] бағдарламасы өзгертілуде - Орнату шебері [ProductName] бағдарламасын қалпына келтіргенге дейін күте тұрыңыз. - {\WixUI_Font_Title}[ProductName] бағдарламасы қалпына келтірілуде - Орнату шебері [ProductName] бағдарламасын жойғанға дейін күте тұрыңыз. - {\WixUI_Font_Title}[ProductName] бағдарламасы жойылуда - Орнату шебері [ProductName] бағдарламасын орнатқанға дейін күте тұрыңыз. - {\WixUI_Font_Title} [ProductName] бағдарламасын жаңартуда - Орындалды - Күйі: - - [ProductName] бағдарламасын орнату - &Орнату - WixUI_Bmp_Dialog - Орнату шебері [ProductName] бағдарламасын компьютеріңізге орнатуды аяқтайды. Жалғастыру үшін "Орнату" түймешігін немесе орнату шеберінен шығу үшін "Болдырмау" түймешігін басыңыз. - {\WixUI_Font_Bigger}[ProductName] бағдарламасын орнату шебері жаңартылуда - - [ProductName] бағдарламасын орнату - &Әдеттегі - Әдеттегі орнату - Т&аңдамалы - Таңдамалы орнату - А&яқтау - Орнатуды аяқтау - WixUI_Bmp_Banner - {\WixUI_Font_Title}Орнату түрін таңдау - Қажеттіліктерге сәйкес келетін орнату түрін таңдау - Көптеген жалпы бағдарлама мүмкіндіктерін орнатады. Көптеген пайдаланушыларға ұсынылады. - Пайдаланушыларға орнатылатын бағдарлама мүмкіндіктерін және олардың орнатылатын жерін таңдауға мүмкіндік береді. Тәжірибелі пайдаланушылар үшін ұсынылады. - Барлық бағдарлама мүмкіндіктері орнатылады. Дискіде қосымша бос орын қажет. - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] бағдарламасының орнату шеберінің жұмысы үзілді - [ProductName] бағдарламасын орнату үзілді. Жүйеңіз өзгертілген жоқ. Бұл бағдарламаны кейінірек орнату үшін, орнатуды қайтадан іске қосыңыз. - Орнату шеберінен шығу үшін "Аяқтау" түймешігін басыңыз. - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Banner - &Орнату - Орнатуды бастау үшін "Орнату" түймешігін басыңыз. Сараптау немесе кез келген орнату параметрлерін өзгерту үшін "Артқа" түймешігін басыңыз. Шеберден шығу үшін "Болдырмау" түймешігін басыңыз. - {\WixUI_Font_Title}[ProductName] бағдарламасын орнатуға дайын - &Өзгерту - Орнатуды бастау үшін "Өзгерту" түймешігін басыңыз. Сараптау немесе кез келген орнату параметрлерін өзгерту үшін "Артқа" түймешігін басыңыз. Шеберден шығу үшін "Болдырмау" түймешігін басыңыз. - {\WixUI_Font_Title}[ProductName] бағдарламасын өзгертуге дайын - Қа&лпына келтіру - [ProductName] бағдарламасының орнатуын қалпына келтіру үшін "Қалпына келтіру" түймешігін басыңыз. Сараптау немесе кез келген орнату параметрлерін өзгерту үшін "Артқа" түймешігін басыңыз. Шеберден шығу үшін "Болдырмау" түймешігін басыңыз. - {\WixUI_Font_Title}[ProductName] бағдарламасын қалпына келтіруге дайын - &Жою - [ProductName] бағдарламасын компьютеріңізден жою үшін ”Жою” түймешігін басыңыз. Сараптау немесе кез келген орнату параметрлерін өзгерту үшін "Артқа" түймешігін басыңыз. Шеберден шығу үшін "Болдырмау" түймешігін басыңыз. - {\WixUI_Font_Title}[ProductName] бағдарламасын жоюға дайын - &Жаңарту - [ProductName] бағдарламасын компьютеріңізден жаңарту үшін "Жаңарту" түймешігін басыңыз. Сараптау немесе кез келген орнату параметрлерін өзгерту үшін "Артқа" түймешігін басыңыз. Шеберден шығу үшін "Болдырмау" түймешігін басыңыз. - {\WixUI_Font_Title}[ProductName] бағдарламасын жаңартуға дайын - - [ProductName] бағдарламасын орнату - &Қайтару - Орнатушы дискідегі бос орын талаптарын анықтап болғанша күте тұрыңыз. - WixUI_Ico_Exclam - Леп белгішесі - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Dialog - Орнату шебері компьютеріңізге [ProductName] бағдарламасын орнатады. Жалғастыру үшін "Келесі" түймешігін немесе орнату шеберінен шығу үшін "Болдырмау" түймешігін басыңыз. - Орнату шебері компьютеріңіздегі [ProductName] бағдарламасын жаңартады. Жалғастыру үшін "Келесі" түймешігін немесе орнату шеберінен шығу үшін "Болдырмау" түймешігін басыңыз. - {\WixUI_Font_Bigger}[ProductName] бағдарламасының орнату шеберіне қош келдіңіз - - [ProductName] бағдарламасын орнату - WixUI_Bmp_Dialog - Мен лицензиялық келісімнің шарттарын &қабылдаймын - &Орнату - &Жаңарту - {\WixUI_Font_Title}[ProductName] бағдарламасының лицензиялық келісімін оқып шығыңыз - - Орнату тексерілуде - Жаңа файлдар көшірілуде - Файл: [1], каталог: [9], өлшем: [6] - Желілік орнату файлдары көшірілуде - Файл: [1], каталог: [9], өлшем: [6] - Талап етілетін бос орын есептелуде - Талап етілетін бос орын есептелуде - Талап етілетін бос орын есептелуде - Таңбашалар жасалуда - Ен: [1] - Сәйкес құрамдас бөліктер жариялануда - Құрамдас бөлік коды: [1], жіктегіш: [2] - Өнім мүмкіндіктері жариялануда - Мүмкіндік: [1] - Өнім туралы мәліметтер жариялануда - Сынып серверлері тіркелуде - Сынып коды: [1] - Кеңейтім серверлері тіркелуде - Кеңейтім: [1] - MIME мәліметтері тіркелуде - MIME мазмұнының түрі: [1], кеңейтім: [2] - Бағдарлама идентификаторлары тіркелуде - ProgId: [1] - Тізбе бос орны бөлектелуде - Бос орын: [1] - Орнатылған бағдарламалар ізделуде - Сипат: [1], қолтаңба: [2] - Атқарылатын файлдар біріктірілуде - Файл: [1] - Сәйкес өнімдер ізделуде - Қалталар жасалуда - Қалта: [1] - Қызметтер жойылуда - Қызмет: [1] - Көшірме файлдары жасалуда - Файл: [1], каталог: [9], өлшем: [6] - Байланысқан бағдарламалар ізделуде - Табылған бағдарлама: [1] - ODBC құрамдас бөліктері орнатылуда - Жаңа қызметтер орнатылуда - Қызмет: [2] - Іске қосу шарттары бағаланып жатыр - Қатысты бағдарламалардан мүмкіндіктердің күйлері өткізілуде - Бағдарлама: [1] - Файлдар жылжытылуда - Файл: [1], каталог: [9], өлшем: [6] - Файлдар жаңартылуда - Файл: [1], каталог: [2], өлшем: [3] - Құрамдас бөлік тіркемесі жаңартылуда - COM+ бағдарламалары мен құрамдас бөліктері тіркелуде - AppId: [1]{{, AppType: [2], пайдаланушылар: [3], RSN: [4]}} - Қаріптер тіркелуде - Қаріп: [1] - Өнім тіркелуде - [1] - Түрлер кітапханалары тіркелуде - LibID: [1] - Пайдаланушы тіркелуде - [1] - Қайталанатын файлдар жойылуда - Файл: [1], каталог: [9] - Орта жолдары жаңартылуда - Атау: [1], мән: [2], әрекет [3] - Бағдарламалар жойылуда - Бағдарлама: [1], пәрмен жолы: [2] - Файлдар жойылуда - Файл: [1], каталог: [9] - Қалталар жойылуда - Қалта: [1] - INI файлдарының жазбалары жойылуда - Файл: [1], бөлім: [2], перне: [3], мән: [4] - ODBC құрамдас бөліктері жойылуда - Жүйелік тізбе мәндері жойылуда - Перне: [1], атау: [2] - Ендер жойылуда - Ен: [1] - Сәйкес өнімдер ізделуде - Модульдер тіркелуде - Файл: [1], қалта: [2] - Модульдерді тіркеу болдырылмауда - Файл: [1], қалта: [2] - ODBC каталогтары баптандырылуда - Қызметтер іске қосылуда - Қызмет: [1] - Қызметтер тоқтатылуда - Қызмет: [1] - Жарамды құрамдас бөліктер жарияланбауда - Құрамдас бөлік коды: [1], жіктегіш: [2] - Өнім мүмкіндіктері жарияланбауда - Мүмкіндік: [1] - Сынып серверлерін тіркеуді болдырмау - Сынып коды: [1] - COM+ бағдарламалары мен құрамдас бөліктерін тіркеу болдырылмауда - AppId: [1]{{, AppType: [2]}} - Кеңейтім серверлерін тіркеу болдырылмауда - Кеңейтім: [1] - Қаріптерді тіркеу болдырылмауда - Қаріп: [1] - MIME мәліметтерін тіркеу болдырылмауда - MIME мазмұнының түрі: [1], кеңейтім: [2] - Бағдарлама идентификаторларын тіркеуді болдырмау - ProgId: [1] - Түрлер кітапханаларын тіркеу болдырылмауда - LibID: [1] - Орта жолдары жаңартылуда - Атау: [1], мән: [2], әрекет [3] - INI файлдарының мәндері жазылуда - Файл: [1], бөлім: [2], перне: [3], мән: [4] - Жүйелік тізбе мәндері жазылуда - Перне: [1], атау: [2], мән: [3] - Бағдарлама туралы мәлімет таратылуда - Келесі әрекет үшін сценарий әрекеттері жасалуда: - [1] - Жүйе каталогы орнатылуда - Файл: [1], тәуелділіктер: [2] - Жиын туралы мәліметтер жариялануда - Бағдарлама мәтінмәні:[1], жиын атауы:[2] - Жиын туралы мәліметтер жарияланбауда - Бағдарлама мәтінмәні:[1], жиын атауы:[2] - Әрекет болдырылмауда: - [1] - Файлдардың сақтық көшірмелері жойылуда - Файл: [1] - Жылжытылған файлдар жойылуда - Файл: [1], каталог: [9] - Өнім туралы мәліметтер жарияланбауда - - {{Түзетілмейтін қате: }} - {{[1]-қате. }} - Ескерту [1]. - Ақпарат [1]. - Орнатушы осы буманы орнату кезінде күтпеген қате тапты. Бұл бумада ақаулықтың бар екендігін білдіруі мүмкін. Қате коды: [1]. {{Дәлелдер: [2], [3], [4]}} - {{Дискі толық: }} - Әрекет [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Хабар түрі: [1], дәлел: [2] - === Жұрнал жүргізу басталды: [күн] [уақыт] === - === Жұрнал жүргізу тоқтатылды: [күн] [уақыт] === - Әрекеттің басталуы [уақыт]: [1]. - Әрекеттің аяқталуы [уақыт]: [1]. Берілген мән: [2]. - Қалған уақыт: {[1] минут }{[2] секунд} - Жад жеткіліксіз. Әрекетті қайталамастан бұрын, басқа бағдарламаларды жабыңыз. - Орнатушы енді жауап бермейді. - Орнатушы уақытынан бұрын тоқтады. - Windows жүйесі [ProductName] бағдарламасын теңшегенге дейін күте тұрыңыз - Қажетті мәліметтер жиналуда... - Осы бағдарламаның ескі нұсқалары жойылуда... - Осы бағдарламаның ескі нұсқалары жою үшін дайындалуда... - {[ProductName] }Орнату сәтті аяқталды. - {[ProductName] }Орнатылмады. - Файлдан оқу кезіндегі қате: [2]. {{ [3]-жүйе қатесі.}} Файл бар екенін және онымен жұмыс жасай алатыныңызды тексеріңіз. - '[2]' файлын жасау мүмкін болмады. Осы атпен каталог бар. Орнатуды болдырмаңыз да, басқа орынға орнатып көріңіз. - Дискіні салыңыз: [2] - Орнатушыда осы каталогқа кіру артықшылықтары жеткіліксіз: [2]. Орнату жалғастырылмайды. Әкімші ретінде кіріңіз немесе жүйе әкімшісімен хабарласыңыз. - Файлға жазу кезіндегі қате: [2]. Сол каталогқа кіру мүмкіндігіңіз бар екенін тексеріңіз. - [2] файлынан оқу кезіндегі қате. {{ [3]-жүйе қатесі.}} Файл бар екенін және онымен жұмыс жасай алатыныңызды тексеріңіз. - '[2]' файлына басқа бағдарламаның жеке иелікпен кіру құқығы бар. Басқа бағдарламалардың барлығын жабыңыз да "Қайталау" түймешігін басыңыз. - Бұл файлды орнатуға дискідегі бос орын жеткіліксіз: [2]. Біраз орын босатып, "Қайталау" түймешігін басыңыз немесе шығу үшін "Болдырмау" түймешігін басыңыз. - Бастапқы файл табылмады: [2]. Файл бар екенін және онымен жұмыс жасай алатыныңызды тексеріңіз. - Файлдан оқу кезіндегі қате: [3]. {{ [2]-жүйе қатесі.}} Файл бар екенін және онымен жұмыс жасай алатыныңызды тексеріңіз. - Файлға жазу кезіндегі қате: [3]. {{ [2]-жүйе қатесі.}} Ол каталогқа рұқсатыңыздың бар екендігін тексеріңіз. - Бастапқы файл табылмады{{(CAB файлы)}}: [2]. Файл бар екенін және онымен жұмыс жасай алатыныңызды тексеріңіз. - '[2]' каталогын жасау мүмкін болмады. Мұндай атты файл бар. Файлдың атын ауыстырыңыз да немесе оны жойыңыз да, "Қайталау" түймешігін немесе шығу үшін "Болдырмау" түймешігін басыңыз. - Қазір [2] мәні жоқ. Басқасын таңдаңыз. - Көрсетілген '[2]' жолы жоқ. - Көрсетілген қалтаға жазу мүмкін емес: [2]. - Файлдан оқу әрекеті кезінде желі қатесі орын алды: [2] - Каталогты жасау әрекеті кезінде қате орын алды: [2] - Каталогты жасау әрекеті кезінде желі қатесі орын алды: [2] - Бастапқы CAB-файлын ашу әрекеті кезінде желі қатесі орын алды: [2] - Көрсетілген жол тым ұзын: [2] - Орнатушыда бұл файлды өзгерту үшін жеткілікті басымдылықтар жоқ: [2]. - '[2]' қалта жолының бөлігі жарамсыз. Ол бос немесе оның ұзындығы жүйеде рұқсат етілгеннен ұзынырақ. - '[2]' қалтасының жолында қалта жолдарында жарамды болып табылмайтын сөздер бар. - '[2]' қалтасының жолында жарамсыз таңба бар. - '[2]' жарамды қысқа файл атауы емес. - Файл қауіпсіздігін алу кезіндегі қате: [3] GetLastError: [2] - Жарамсыз дискі: [2] - [2] файлына жаңартуды қолдану кезіндегі қате. Мүмкін ол басқа жолмен жаңартылған болар, бұл жаңартумен енді өзгертілмейді. Қосымша ақпарат алу үшін жаңартудың сатушысына хабарласыңыз. {{Жүйелік қате: [3]}} - [2] CAB файлына сандық қолтаңба қойылмағандықтан қажет файлды орнату мүмкін емес. Бұл CAB файлының бұзылғанын білдіруі мүмкін. - Қажет файл орнатылмайды, себебі [2] кабинет файлындағы сандық қолтаңба жарамсыз. Бұл кабинет файлының бұзылғанын көрсетеді.{{ [3] қатесін WinVerifyTrust қайтарды.}} - [2] файлы дұрыс көшірілмеді: CRC қатесі. - [2] файлы дұрыс жылжытылмады: CRC қатесі. - [2] файлын дұрыс жаңарту мүмкін болмады: CRC қатесі. - '[2]' файлын орнату мүмкін емес, себебі файл '[3]' CAB-файлынан табылмайды. Бұл желі қатесін немесе CD-ROM ішінен оқу кезіндегі қатені, не болмаса бұл бумада ақаулықтың бар екендігін көрсетеді. - Осы орнатым үшін қажет '[2]' CAB-файлы бүлінген және оны пайдалану мүмкін емес. Бұл желі қатесін немесе CD-ROM ішінен оқу кезіндегі қатені, не болмаса бұл бумада ақаулықтың бар екендігін көрсетеді. - Осы орнатымды аяқтау үшін қажетті уақытша файлды жасау кезінде қате орын алды.{{ Қалта: [3]. Жүйелік қате коды: [2]}} - Перне жасау мүмкін емес: [2]. {{ Жүйелік қате [3].}} Ол кілтке жеткілікті рұқсатыңыздың бар екенін тексеріңіз немесе қолдау көрсету орталығының қызметкеріне хабарласыңыз. - Пернені ашу мүмкін болмады: [2]. {{ Жүйелік қате [3].}} Ол кілтке жеткілікті рұқсатыңыздың бар екенін тексеріңіз немесе қолдау көрсету орталығының қызметкеріне хабарласыңыз. - [2] мәнін [3] пернесінен жою мүмкін болмады. {{ Жүйелік қате [4].}} Ол кілтке жеткілікті рұқсатыңыздың бар екенін тексеріңіз немесе қолдау көрсету орталығының қызметкеріне хабарласыңыз. - [2] пернесі жою мүмкін болмады. {{ Жүйелік қате [3].}} Ол кілтке жеткілікті рұқсатыңыздың бар екенін тексеріңіз немесе қолдау көрсету орталығының қызметкеріне хабарласыңыз. - [2] мәнін [3] пернесінен оқу мүмкін болмады. {{ Жүйелік қате [4].}} Ол кілтке жеткілікті рұқсатыңыздың бар екенін тексеріңіз немесе қолдау көрсету орталығының қызметкеріне хабарласыңыз. - [3] бөліміне [2] мәнін жазу мүмкін болмады. {{ [4]-жүйелік қате.}} Ол кілтке жеткілікті рұқсатыңыздың бар екенін тексеріңіз немесе қолдау көрсету орталығының қызметкеріне хабарласыңыз. - [2] бөлімі үшін мән атауларын алу мүмкін болмады. {{ [3]-жүйелік қате.}} Ол кілтке жеткілікті рұқсатыңыздың бар екенін тексеріңіз немесе қолдау көрсету орталығының қызметкеріне хабарласыңыз. - [2] бөлімі үшін ішкі бөлім атауларын алу мүмкін болмады. {{ [3]-жүйелік қате.}} Ол кілтке жеткілікті рұқсатыңыздың бар екенін тексеріңіз немесе қолдау көрсету орталығының қызметкеріне хабарласыңыз. - [2] бөлімінің қауіпсіздік туралы мәліметтерін оқу мүмкін болмады. {{ [3]-жүйелік қате.}} Ол кілтке жеткілікті рұқсатыңыздың бар екенін тексеріңіз немесе қолдау көрсету орталығының қызметкеріне хабарласыңыз. - Қол жетімді тізбе орнын көбейту мүмкін болмады. Бұл бағдарламаны орнату үшін [2] Кбайт бос тізбе орны қажет. - Басқа орнату орындалып жатыр. Бұл орнатуды жалғастырмастан бұрын, соны аяқтауыңыз керек. - Қорғалған деректерге кіру кезіндегі қате. Windows орнатушысының дұрыс теңшелгендігін тексеріп, орнатуды қайталаңыз. - '[2]' пайдаланушысы '[3]' өнімінің орнатылуын бұдан бұрын бастаған. Пайдаланушыға өнімді пайдалану үшін алдымен сол орнатқышты іске қосуы керек. Ал қазір ағымдағы орнатқыш жұмысы жалғасады. - '[2]' пайдаланушысы '[3]' өнімінің орнатылуын бұдан бұрын бастаған. Өнімді пайдалану үшін сол пайдаланушы орнатуды қайта іске қосуы керек. - Дискіде бос орын жоқ -- Бөлім: '[2]'; қажет етілетін бос орын: [3] Кбайт; бар бос орын: [4] Кбайт. Орын босатып, қайталаңыз. - Шынымен бас тартқыңыз келе ме? - [2][3] файлы пайдаланылуда { мына процесс бойынша: Атау: [4], идентификаторы: [5], терезе аты: '[6]'}. Ол қолданбаны жауып, қайта әрекеттеніңіз. - Бұрын орнатылған '[2]' өнімі осы өнімнің орнатылуына бөгет болып отыр. Екі өнім бір-бірімен сыйыспайды. - Қалпына келтіру мүмкіндігі қосылған орнатуды жалғастыру үшін "[2]" бөліміндегі дискіде жеткілікті бос орын жоқ. [3] Кбайт бос орын талап етіледі, бірақ тек [4] Кбайт бос орын бар. Қалпына келтіру мәліметтерін сақтаусыз орнатуды жалғастыру үшін, "Елемеу" түймешігін, бар бос орынды қайта тексеру үшін, "Қайталау" түймешігін, ал орнатуды тоқтату үшін, "Болдырмау" түймешігін басыңыз. - [2] желілік орналасуды ашу мүмкін болмады. - Орнату жалғастырылмастан бұрын, келесі бағдарламалар жабылуы керек: - Осы өнімді орнату үшін компьютерде алдыңғы орнатылған сәйкес өнімдерді табу мүмкін емес. - Қауіпсіздік параметрлерін қолдану кезінде қате орын алды. [2] жарамды пайдаланушы немесе топ емес. Бұл бумада орын алған немесе желідегі домен контроллеріне қосылу проблемасы болуы мүмкін. Желі қосылымын тексеріп, орнатуды аяқтау үшін, "Қайталау" немесе "Болдырмау" түймешігін басыңыз. {{Пайдаланушының қауіпсіздік идентификаторын табу мүмкін емес, [3]-жүйе қатесі}} - [2] кілт жарамсыз. Дұрыс кілт енгізілгенін тексеріңіз. - [2] өнімін теңшеуді жалғастыру үшін орнатушы жүйеңізді қайта қотаруы тиіс. Қазір қайта іске қосу үшін "Иә" түймешігін немесе кейінірек қолмен қайта icке қосуды жоспарласаңыз, "Жоқ" түймешігін басыңыз. - [2] ішіне жасалған теңшелім өзгертулері күшіне енуі үшін, жүйе қайта іске қосылуы тиіс. Қазір қайта іске қосу үшін "Иә" түймешігін немесе кейінірек қолмен қайта icке қосуды жоспарласаңыз, "Жоқ" түймешігін басыңыз. - [2] орнатпасы қазір уақытша тоқтатылған. Орнатуды жалғастыру үшін жасалған өзгерістерді қайтару керек. Сол өзгерістер қайтарылсын ба? - Бұл өнімнің алдыңғы орнатылуы жасалуда. Орнатуды жалғастыру үшін жасалған өзгерістерді қайтару керек. Сол өзгерістер қайтарылсын ба? - [2] өніміне арналған орнатым бумасын табу мүмкін емес. '[3]' орнатым бумасының жарамды көшірмесін пайдаланып, орнатуды қайталаңыз. - Орнату сәтті аяқталды. - Орнатылмады. - Өнім: [2] -- [3] - Компьютерді алдыңғы күйіне қалпына келтіруге немесе орнатуды кейінірек жалғастыруға болады. Қалпына келтірілсін бе? - Орнату ақпаратын дискіге жазу кезінде қате орын алды. Жеткілікті бос орын бар болғанына көз жеткізіңіз де, "Қайталау" түймешігін немесе орнатуды аяқтау үшін "Болдырмау" түймешігін басыңыз. - Компьютерді алдыңғы күйіне қалпына келтіру үшін қажет бір немесе бірнеше файл табылмады. Қалпына келтіру мүмкін емес. - [2] өнімі қажетті өнімдерінің біреуін орната алмайды. Техникалық қолдау көрсету тобыңызға хабарласыңыз. {{Жүйелік қате: [3].}} - [2] өнімінің алдыңғы нұсқасын жою мүмкін емес. Техникалық қолдау көрсету тобыңызға хабарласыңыз. {{[3] жүйелік қатесі.}} - Орнатылған [2] - Теңшелген [2] - Жойылған [2] - [2] файлын сандық қолтаңба саясаты қабылдамады. - Windows орнатушысы қызметіне кіру мүмкін болмады. Бұл Windows жүйесі қауіпсіз күйде іске қосылса немесе Windows орнатушысы дұрыс орнатылмаса орын алады. Көмек алу үшін, қолдау көрсету орталығының қызметкеріне хабарласыңыз. - Осы Windows орнатушы бумасында ақаулық бар. Орнатуды аяқтау үшін қажет сценарий іске қосылмайды. Қолдау көрсету қызметкерлеріне немесе буманың сатушысына хабарласыңыз. {{[2] таңдамалы әрекетінің сценарий қатесі [3], [4]: [5] [6], [7] бағаны, [8] бағаны}} - Осы Windows орнатушы бумасында ақаулық бар. Осы орнатудың аяқталуы үшін қажетті бағдарламаны іске қосу мүмкін болмады. Қолдау көрсету қызметкерлеріне немесе буманың сатушысына хабарласыңыз. {{Әрекет: [2], орналасу: [3], пәрмен: [4] }} - Осы Windows орнатушы бумасында ақаулық бар. Ақаулық осы орнатпа бөлігінін күткендегідей орнатылмағандығынан туындады. Қолдау көрсету қызметкерлеріне немесе буманың сатушысына хабарласыңыз. {{[2] әрекеті, орын: [3], пәрмен: [4] }} - Осы Windows орнатушы бумасында ақаулық бар. Бұл орнатудың аяқталуы үшін қажет DLL файлы іске қосылмайды. Қолдау көрсету қызметкерлеріне немесе буманың сатушысына хабарласыңыз. {{Әрекет [2], жазба: [3], кітапхана: [4] }} - Жою сәтті аяқталды. - Жойылмады. - Жариялау сәтті аяқталды. - Хабарландыру сәтсіз аяқталды. - Теңшелім сәтті аяқталды. - Теңшелім орындалмады. - Бұл бағдарламаны жою үшін, әкімші болуыңыз керек. Осы бағдарламаны жою үшін, әкімші ретінде жүйеге кіруіңізге немесе көмек алу үшін техникалық қолдау көрсету тобына хабарласуыңызға болады. - [2] бағдарламасына арналған бастапқы орнату бумасы клиент бумасымен үндестірілмеген. '[3]' орнатым бумасының жарамды көшірмесін пайдаланып, орнатуды қайталаңыз. - [2] бағдарламасын орнатуды аяқтау үшін, компьютерді қайта қосу керек. Қазір бұл компьютерге кірген басқа пайдаланушылар бар, ал қайта қосу олардың жұмысының жоғалуына себеп болуы мүмкін. Қазір қайта қосу керек пе? - [2] жолы жарамсыз. Жарамды жолды көрсетіңіз. - Жад жеткіліксіз. Әрекетті қайталамастан бұрын, басқа бағдарламаларды жабыңыз. - [2] дискіенгізгісінде диск жоқ. Дискіні салып, "Қайталау" түймешігін, ал алдыңғы таңдалған бөлімге оралу үшін, "Болдырмау" түймешігін басыңыз. - [2] дискіенгізгісінде диск жоқ. Дискіні салып, "Қайталау" түймешігін, ал алдыңғы таңдалған бөлімге оралу үшін, "Болдырмау" түймешігін басыңыз. - [2] қалтасы жоқ. Бар қалта жолын енгізіңіз. - Бұл қалтаны оқу үшін сізде жеткілікті басымдылықтар жоқ. - Орнатуға тағайындалған жарамды қалтаны анықтау мүмкін болмады. - Бастапқы орнату дерекқорынан оқу әрекеті кезіндегі қате: [2]. - Қайта іске қосу әрекеті жоспарлануда: [2] файлы [3] ретінде қайта аталуда. Әрекетті аяқтау үшін қайта іске қосу қажет. - Қайта іске қосу әрекеті жоспарлануда: [2] файлы жойылуда. Әрекетті аяқтау үшін қайта іске қосу қажет. - [2] модулі тіркелмеді. HRESULT [3]. Қолдау көрсету қызметкерлеріне хабарласыңыз. - [2] модулі ажыратылмады. HRESULT [3]. Қолдау көрсету қызметкерлеріне хабарласыңыз. - [2] бумасы кэштелмеді. Қате: [3]. Қолдау көрсету қызметкерлеріне хабарласыңыз. - [2] қарпін тіркеу мүмкін болмады. Қаріптерді орнатуға жеткілікті рұқсаттардың болуын және жүйе бұл қаріпті қолдайтынын тексеріңіз. - [2] қарпін тіркеуді болдырмау мүмкін болмады. Қаріптерді жою үшін жеткілікті рұқсаттарыңыздың бар екендігін тексеріңіз. - [2] таңбашасын жасау мүмкін болмады. Тағайындалған қалтаның бар болуын және оны аша алатындығыңызды тексеріңіз. - [2] таңбашасын жою мүмкін болмады. Таңбаша файлының бар болуын және оны аша алатындығыңызды тексеріңіз. - [2] файлы үшін түр кітапханасын тіркеу мүмкін болмады. Қолдау көрсету қызметкерлеріне хабарласыңыз. - [2] файлы үшін түр кітапханасын ажырату мүмкін болмады. Қолдау көрсету қызметкерлеріне хабарласыңыз. - [2][3] ini файлын жаңарту мүмкін болмады. Файл бар екенін және онымен жұмыс жасай алатыныңызды тексеріңіз. - Қайта қотарғанда [2] файлымен [3] файлын алмастыруды жоспарлау мүмкін болмады. [3] файлына жазу рұқсаттарыңыздың болуын тексеріңіз. - ODBC драйверін реттеушіні жою кезіндегі қате, [2] -ODBC қатесі: [3]. Қолдау көрсету қызметкерлеріне хабарласыңыз. - ODBC драйверін реттеушіні орнату кезіндегі қате, [2]-ODBC қатесі: [3]. Қолдау көрсету қызметкерлеріне хабарласыңыз. - ODBC драйверін жою кезіндегі қате: [4], [2]-ODBC қатесі: [3]. ODBC драйверлерін жою үшін жеткілікті басымдылықтарыңыздың бар екендігін тексеріңіз. - ODBC драйверін орнату кезіндегі қате: [4], [2]-ODBC қатесі: [3]. [4] файлының бар болуын және оны аша алатындығыңызды тексеріңіз. - ODBC деректер көзін теңшеу кезіндегі қате: [4], [2]-ODBC қатесі: [3]. [4] файлының бар болуын және оны аша алатындығыңызды тексеріңіз. - '[2]' ([3]) қызметі басталмады. Жүйелік қызметтерді бастауға жеткілікті құқықтың болуын тексеріңіз. - '[2]' ([3]) қызметін тоқтату мүмкін болмады. Жүйелік қызметтерді тоқтатуға жеткілікті құқықтың болуын тексеріңіз. - '[2]' ([3]) қызметін жою мүмкін болмады. Жүйелік қызметтерді жоюға жеткілікті құқықтың болуын тексеріңіз. - '[2]' ([3]) қызметін орнату мүмкін болмады. Жүйелік қызметтерді орнатуға жеткілікті құқықтың болуын тексеріңіз. - Ортаның '[2]' айнымалы мәнін жаңарту мүмкін болмады. Ортаның айнымалы мәндерін өзгертуге жеткілікті құқықтың болуын тексеріңіз. - Бұл компьютердің пайдаланушыларының барлығы үшін орнатуды аяқтауға құқықтар жеткіліксіз. Жүйеге әкімші ретінде кіріңіз де, содан кейін бұл орнатуды қайтадан орындап көріңіз. - '[3]' файлы үшін файл қауіпсіздігін қою мүмкін болмады. Қате: [2]. Осы файлдың қауіпсіздік рұқсаттарын өзгертуге құқықтардың жеткілікті екенін тексеріңіз. - Құрамдас қызметтер (COM+ 1.0) бұл компьютерге орнатылмаған. Сәтті аяқталу үшін бұл орнату құрамдас қызметтерді қажет етеді. Құрамдас қызметтер Windows 2000 жүйесінде бар. - COM+ бағдарламасын тіркеу қатесі. Қосымша ақпарат алу үшін қолдау көрсету қызметкерлеріне хабарласыңыз. - COM+ бағдарламасын ажырату қатесі. Қосымша ақпарат алу үшін қолдау көрсету қызметкерлеріне хабарласыңыз. - '[2]' қызметінің сипаттамасын ([3]) өзгерту мүмкін болмады. - Windows орнатушы қызметі [2] жүйелік файлын жаңарта алмайды, өйткені ол Windows жүйесімен қорғалады. Бұл бағдарлама дұрыс жұмыс істеуі үшін амалдық жүйені жаңарту керек болуы мүмкін. {{Бума нұсқасы: [3], амалдық жүйемен қорғалған нұсқа: [4]}} - Windows орнатушысы қызметі қорғалған [2] Windows файлын жаңарта алмайды. {{Бума нұсқасы: [3], амалдық жүйемен қорғалған нұсқа: [4], SFP қатесі: [5]}} - Windows орнатушы қызметі бір немесе бірнеше қорғалған Windows файлдарын жаңарта алмады. {{SFP Қате: [2]. Қорғалған файлдар тізімі:\r\n[3]}} - Пайдаланушы орнатымдары компьютердегі саясат арқылы ажыратылған. - '[6]' жиынын орнату кезінде қате орын алды. Қосымша ақпаратты Анықтама және қолдау орталығынан қарай аласыз. HRESULT: [3]. {{жиын интерфейсі: [4], функция: [5], құрамдас: [2]}} - '[6]' жиынын орнату кезінде қате орын алды. Жиынның аты күрделі емес немесе оған ең аз кілт ұзындығымен қол қойылмаған. HRESULT: [3]. {{жиын интерфейсі: [4], функция: [5], құрамдас: [2]}} - '[6]' жиынын орнату кезінде қате орын алды. Қолтаңба мен каталог расталмады немесе олар жарамсыз. HRESULT: [3]. {{жиын интерфейсі: [4], функция: [5], құрамдас: [2]}} - '[6]' жиынын орнату кезінде қате орын алды. Жиынның бір немесе бірнеше модульдері табылмады. HRESULT: [3]. {{жиын интерфейсі: [4], функция: [5], құрамдас: [2]}} - - байт - Гбайт - Кбайт - Мбайт - Толық мүмкіндік қол жетімді болмайды - Мүмкіндік қажет болғанда орнатылады - Ықшам дискіден іске қосылуы үшін толық мүмкіндік орнатылады - Толық мүмкіндік жергілікті қатты дискіде орнатылады - Толық мүмкіндік желіден іске қосылуы үшін орнатылады - Ықшам дискіден іске қосылуы үшін орнатылады - Жергілікті қатты дискіде орнатылады - Желіден іске қосылуы үшін орнатылады - Қалта|Жаңа қалта - Қажетті мәліметтер жиналуда... - Бұл мүмкіндік жойылмаған күйі қалады - Бұл мүмкіндік қажет болғанда орнатылуы үшін теңшеледі - Бұл мүмкіндік ықшам дискіден іске қосылуы үшін орнатылады - Бұл мүмкіндік жергілікті қатты дискіде орнатылады - Бұл мүмкіндік желіден іске қосылуы үшін орнатылады - Бұл мүмкіндік қол жетімді емес болады - Қажет болғанда орнатылады - Бұл мүмкіндік ықшам дискіден іске қосылу үшін қол жетімді болады - Бұл мүмкіндік жергілікті қатты дискіде орнатылады - Бұл мүмкіндік желіден іске қосылу үшін қол жетімді болады - Бұл мүмкіндік толығымен жойылады, оны ықшам дискіден іске қосу мүмкін болмайды - Бұл мүмкіндік қажет болғанда орнатылуға теңшелу үшін, ықшам дискі күйінен іске қосылудан өзгереді - Бұл мүмкіндік ықшам дискіден іске қосылатын болып қалады - Бұл мүмкіндік жергілікті қатты дискіден орнатылу үшін, ықшам дискі күйінен іске қосылудан өзгереді - Бұл мүмкіндік қатты дискіде [1] орынды босатады. - Бұл мүмкіндік үшін қатты дискіде [1] орын қажет. - Осы мүмкіндік құны есептелуде... - Бұл мүмкіндік толығымен жойылады - Бұл мүмкіндік жергілікті қатты дискіден жойылады, бірақ қажет болғанда орнатылатын етіп теңшеледі - Бұл мүмкіндік жергілікті қатты дискіден жойылады, бірақ әлі де ықшам дискіден іске қосылу үшін қол жетімді болады - Бұл мүмкіндік жергілікті қатты дискіде қалады - Бұл мүмкіндік жергілікті қатты дискіден жойылады, бірақ желіден іске қосылу үшін әлі де қол жетімді болады. - Бұл мүмкіндік толығымен жойылады, оны желіден іске қосу мүмкін болмайды - Бұл мүмкіндік қажет болғанда орнатылуға теңшелу үшін, желі күйінен іске қосылудан өзгереді - Бұл мүмкіндік жергілікті қатты дискіде орнатылу үшін, желі күйінен іске қосылудан өзгереді - Бұл мүмкіндік желіден іске қосылатын болып қалады - Бұл мүмкіндік қатты дискіде [1] орынды босатады. Онда [2]/[3] таңдалған ішкі мүмкіндіктер бар. Ішкі мүмкіндіктер қатты дискіде [4] орынды босатады. - Бұл мүмкіндік қатты дискіде [1] орынды босатады. Онда [2]/[3] таңдалған ішкі мүмкіндіктер бар. Ішкі мүмкіндіктер үшін қатты дискіде [4] орын қажет. - Бұл мүмкіндік үшін қатты дискіде [1] орын қажет. Онда [2]/[3] таңдалған ішкі мүмкіндіктер бар. Ішкі мүмкіндіктер қатты дискіде [4] орынды босатады. - Бұл мүмкіндік үшін қатты дискіде [1] орын қажет. Онда [2]/[3] таңдалған ішкі мүмкіндіктер бар. Ішкі мүмкіндіктер үшін қатты дискіде [4] орын қажет. - Қалған уақыт: {[1] минут }{[2] секунд} - Бар - Айырмашылық - Талап етілген - Дискі өлшемі - Көлем - diff --git a/Src/Localization/WixUI/WixUI_ko-KR.wxl b/Src/Localization/WixUI/WixUI_ko-KR.wxl deleted file mode 100644 index 0ba041f..0000000 --- a/Src/Localization/WixUI/WixUI_ko-KR.wxl +++ /dev/null @@ -1,607 +0,0 @@ - - - - 뒤로(&B) - 다음(&N) - 취소 - 마침(&F) - 다시 시도(&R) - 무시(&I) - 예(&Y) - 아니요(&N) - 확인 - 인쇄(&P) - - [ProductName] 설치 - WixUI_Bmp_Banner - {\WixUI_Font_Title}[ProductName] 사용 조건을 읽어 주십시오. - 동의함(&A) - 모든 사용자에 대해 기본 옵션을 사용하여 제품을 설치하려면 "설치"를 클릭하십시오. 설치 옵션을 변경하려면 "고급"을 클릭하십시오. - 사용자에 대해서만 기본 옵션을 사용하여 제품을 설치하려면 "설치"를 클릭하십시오. 설치 옵션을 변경하려면 "고급"을 클릭하십시오. - 설치(&I) - 고급(&D) - 8 - 12 - 9 - 8 - 돋움 - - [ProductName] 설치 - 찾는 위치(&L): - WixUI_Bmp_Up - 한 수준 위로 - WixUI_Bmp_New - 새 폴더 만들기 - 폴더 이름(&F): - WixUI_Bmp_Banner - 대상 폴더 찾아보기 - {\WixUI_Font_Title}대상 폴더 변경 - - [ProductName] 설치 - [ProductName] 설치를 취소하시겠습니까? - WixUI_Ico_Info - 정보 아이콘 - - [ProductName] 설치 - 선택 항목 트리 - 찾아보기(&R)... - 다시 설정(&S) - 디스크 사용량(&U) - WixUI_Bmp_Banner - 기능 설치 방법을 변경하려면 아래 트리에 있는 아이콘을 클릭하십시오. - 원하는 기능 설치 방법을 선택하십시오. - {\WixUI_Font_Title}사용자 지정 설치 - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - 위치: - - [ProductName] 설치 - WixUI_Bmp_Banner - 선택한 볼륨의 디스크 공간이 부족하여 선택한 기능을 설치할 수 없습니다. 선택한 볼륨에서 일부 파일을 제거하거나, 선택한 기능 중 일부를 취소하거나, 다른 대상 드라이브를 선택하십시오. - 선택한 기능을 설치하는 데 필요한 디스크 공간입니다. - {\WixUI_Font_Title}필요한 디스크 공간 - {120}{70}{70}{70}{70} - - [ProductName] 설치 - 정보 텍스트 - WixUI_Ico_Info - 정보 아이콘 - - [ProductName] 설치 - WixUI_Bmp_Dialog - 설치 마법사를 끝내려면 "마침" 단추를 클릭하십시오. - {\WixUI_Font_Bigger}[ProductName] 설치 마법사를 완료했습니다. - - [ProductName] 설치 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 설치 마법사가 중간에 중단되었습니다. - 오류가 발생하여 [ProductName] 설치 마법사가 중간에 중단되었습니다. 시스템이 수정되지 않았습니다. 나중에 이 프로그램을 설치하려면 설치 마법사를 다시 실행하십시오. - 설치 마법사를 끝내려면 "마침" 단추를 클릭하십시오. - - [ProductName] 설치 - 제품 기능 - WixUI_Bmp_Banner - 원하는 기능 설치 방법을 선택하십시오. - {\WixUI_Font_Title}제품 기능 - FeaturesDlgItemDescription - FeaturesDlgItemSize - 설치(&I) - 변경(&C) - - [ProductName] 설치 - 끝내기(&X) - WixUI_Bmp_Banner - 이 설치를 통해 업데이트해야 하는 파일을 다음 응용 프로그램에서 사용하고 있습니다. 해당 응용 프로그램을 닫은 후 "다시 시도(&R)"를 클릭하여 설치를 계속하거나 "끝내기"를 클릭하여 끝내십시오. - 업데이트해야 할 일부 파일을 현재 사용하고 있습니다. - {\WixUI_Font_Title}사용 중인 파일 - - [ProductName] 설치 - 변경(&C)... - {\WixUI_Font_Title}대상 폴더 - 기본 폴더에 설치하려면 "다음"을 클릭하고 다른 폴더에 설치하려면 "변경"을 클릭하십시오. - WixUI_Bmp_Banner - 다음 폴더에 [ProductName] 설치: - - [ProductName] 설치 - WixUI_Bmp_Banner - 설치 범위 및 폴더 선택 - {\WixUI_Font_Title}설치 범위 - {\WixUI_Font_Emphasized}사용자([LogonUser])에 대해서만(&J) - [ProductName]은(는) 사용자 단위 폴더에 설치되며 사용자 계정에 대해서만 사용 가능하게 됩니다. 이 설치에는 로컬 관리자 권한이 없어도 됩니다. - [ProductName]은(는) 사용자 단위 설치를 지원하지 않습니다. - {\WixUI_Font_Emphasized}이 컴퓨터의 모든 사용자에 대해 설치(&M) - [ProductName]은(는) 기본적으로 컴퓨터 단위 폴더에 설치되며 모든 사용자에 대해 사용 가능하게 됩니다. 기본 설치 폴더는 변경할 수 있습니다. 이 설치에는 로컬 관리자 권한이 있어야 합니다. - 설치 폴더(&F): - 변경(&C)... - - [ProductName] 설치 - 설치 디렉터리는 로컬 하드 드라이브에 있어야 합니다. - WixUI_Ico_Info - 정보 아이콘 - - [ProductName] 설치 - 동의함(&A) - WixUI_Bmp_Banner - 다음 사용 조건을 자세히 읽어 주십시오. - {\WixUI_Font_Title}최종 사용자 사용권 계약 - - [ProductName] 설치 - 변경(&C) - 설치 변경 - 복구(&P) - 설치 복구 - 제거(&R) - 설치 제거 - WixUI_Bmp_Banner - 수행할 작업을 선택하십시오. - {\WixUI_Font_Title}설치 변경, 복구 또는 제거 - 기능 설치 방법을 변경할 수 있습니다. - [ProductName]에는 개별적으로 선택할 수 있는 기능이 없습니다. - [ProductName]을(를) 컴퓨터에서 제거합니다. - [ProductName]을(를) 제거할 수 없습니다. - 손실되거나 손상된 파일, 바로 가기 및 레지스트리 항목을 수정하여 가장 최근의 설치에서 발생한 오류를 복구합니다. - [ProductName]을(를) 복구할 수 없습니다. - - [ProductName] 설치 - WixUI_Bmp_Dialog - 설치 마법사로 [ProductName] 기능 설치 방법을 변경하거나 제거할 수 있습니다. 계속하려면 [\[]다음[\]]을 클릭하고 설치 마법사를 끝내려면 [\[]취소[\]]를 클릭하십시오. - {\WixUI_Font_Bigger}[ProductName] 설치 마법사 시작 - - [ProductName] 설치 - WixUI_Bmp_Banner - 다음 응용 프로그램에서 이 설치 프로그램이 업데이트해야 하는 파일을 사용하고 있습니다. 설치 마법사를 통해 해당 응용 프로그램을 닫은 후 다시 시작하거나 나중에 컴퓨터를 다시 부팅할 수 있습니다. - 업데이트해야 할 일부 파일을 현재 사용하고 있습니다. - {\WixUI_Font_Title}사용 중인 파일 - 응용 프로그램을 닫고 다시 시작합니다(&C). - 응용 프로그램을 닫지 않습니다(&D). 나중에 다시 부팅해야 합니다. - - [ProductName] 설치 - WixUI_Bmp_Banner - 선택한 볼륨의 디스크 공간이 부족하여 현재 선택한 기능을 설치할 수 없습니다. 선택한 볼륨에서 일부 파일을 제거하거나, 선택한 기능 중 일부를 취소하거나, 다른 대상 드라이브를 선택하십시오. - 설치에 필요한 디스크 공간이 사용 가능한 디스크 공간을 초과합니다. - {\WixUI_Font_Title}디스크 공간 부족 - {120}{70}{70}{70}{70} - - [ProductName] 설치 - WixUI_Bmp_Banner - 선택한 볼륨의 디스크 공간이 부족하여 현재 선택한 기능을 설치할 수 없습니다. 선택한 볼륨에서 일부 파일을 제거하거나, 선택한 기능 중 일부를 취소하거나, 다른 대상 드라이브를 선택하십시오. - 설치에 필요한 디스크 공간이 사용 가능한 디스크 공간을 초과합니다. - {\WixUI_Font_Title}디스크 공간 부족 - {120}{70}{70}{70}{70} - 또는 설치 프로그램의 롤백 기능을 사용하지 않도록 선택할 수 있습니다. 이렇게 하면 설치가 중단될 경우 설치 관리자가 컴퓨터의 원래 상태를 복원할 수 없게 됩니다. 이러한 위험에도 불구하고 롤백 기능을 사용하지 않도록 하려면 "예"를 클릭하십시오. - - [ProductName] 설치 - WixUI_Bmp_Dialog - 설치 마법사가 설치 안내를 준비하는 동안 잠시 기다려 주십시오. - {\WixUI_Font_Bigger}[ProductName] 설치 마법사 시작 - - [ProductName] 설치 - WixUI_Bmp_Banner - 설치 마법사가 [ProductName]을(를) 설치하는 동안 잠시 기다려 주십시오. - {\WixUI_Font_Title}[ProductName] 설치 중 - 설치 마법사가 [ProductName]을(를) 변경하는 동안 잠시 기다려 주십시오. - {\WixUI_Font_Title}[ProductName] 변경 중 - 설치 마법사가 [ProductName]을(를) 복구하는 동안 잠시 기다려 주십시오. - {\WixUI_Font_Title}[ProductName] 복구 중 - 설치 마법사가 [ProductName]을(를) 제거하는 동안 잠시 기다려 주십시오. - {\WixUI_Font_Title}[ProductName] 제거 중 - 설치 마법사에서 [ProductName]을(를) 업데이트하는 동안 잠시 기다려 주십시오. - {\WixUI_Font_Title}[ProductName] 업데이트하는 중 - 완료 - 상태: - - [ProductName] 설치 - 설치(&I) - WixUI_Bmp_Dialog - [ProductName] 설치를 완료합니다. 계속하려면 "설치"를 클릭하고 설치 마법사를 끝내려면 "취소"를 클릭하십시오. - {\WixUI_Font_Bigger}[ProductName] 설치 마법사를 계속하는 중 - - [ProductName] 설치 - 표준 설치(&T) - 표준 설치 - 사용자 지정 설치(&U) - 사용자 지정 설치 - 전체 설치(&O) - 전체 설치 - WixUI_Bmp_Banner - {\WixUI_Font_Title}설치 유형 선택 - 사용자의 요구 사항에 가장 적합한 설치 유형을 선택하십시오. - 가장 일반적인 프로그램 기능을 설치합니다. 대부분의 사용자에게 권장합니다. - 설치할 프로그램 기능과 위치를 선택할 수 있습니다. 고급 사용자에게 권장합니다. - 모든 프로그램 기능을 설치합니다. 가장 많은 디스크 공간이 필요합니다. - - [ProductName] 설치 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 설치 마법사 중단됨 - [ProductName] 설치가 중단되었습니다. 시스템이 수정되지 않았습니다. 나중에 이 프로그램을 설치하려면 설치 프로그램을 다시 실행하십시오. - 설치 마법사를 끝내려면 -"마침" 단추를 클릭하십시오. - - [ProductName] 설치 - WixUI_Bmp_Banner - 설치(&I) - 설치를 시작하려면 "설치"를 클릭하십시오. 설치 설정을 검토하거나 변경하려면 -"뒤로"를 클릭하십시오. 마법사를 끝내려면 "취소"를 클릭하십시오. - {\WixUI_Font_Title}[ProductName] 설치 준비 완료 - 변경(&C) - 설치를 시작하려면 "변경"을 클릭하십시오. 설치 설정을 검토하거나 변경하려면 -"뒤로"를 클릭하십시오. 마법사를 끝내려면 "취소"를 클릭하십시오. - {\WixUI_Font_Title}[ProductName] 변경 준비 완료 - 복구(&P) - [ProductName] 설치를 복구하려면 "복구"를 클릭하십시오. 설치 설정을 검토하거나 변경하려면 "뒤로"를 클릭하십시오. 마법사를 끝내려면 "취소"를 클릭하십시오. - {\WixUI_Font_Title}[ProductName] 복구 준비 완료 - 제거(&R) - [ProductName]을(를) 제거하려면 "제거"를 클릭하십시오. 설치 설정을 검토하거나 변경하려면 -"뒤로"를 클릭하십시오. 마법사를 끝내려면 "취소"를 클릭하십시오. - {\WixUI_Font_Title}[ProductName] 제거 준비 완료 - 업데이트(&U) - 컴퓨터에서 [ProductName]을(를) 업데이트하려면 [\[]업데이트[\]]를 클릭하십시오. 설치 설정을 검토하거나 변경하려면 [\[]뒤로[\]]를 클릭하십시오. 마법사를 끝내려면 [\[]취소[\]]를 클릭하십시오. - {\WixUI_Font_Title}[ProductName] 업데이트 준비 완료 - - [ProductName] 설치 - 돌아가기(&R) - 필요한 디스크 공간을 확인하는 동안 잠시 기다려 주십시오. - WixUI_Ico_Exclam - 경고 아이콘 - - [ProductName] 설치 - WixUI_Bmp_Dialog - 컴퓨터에 [ProductName]을(를) 설치합니다. 계속하려면 "다음"을 클릭하고 설치 마법사를 끝내려면 "취소"를 클릭하십시오. - 설치 마법사에서 컴퓨터에 설치되어 있는 [ProductName]을(를) 업데이트합니다. 계속하려면 [\[]다음[\]]을 클릭하고 설치 마법사를 끝내려면 [\[]취소[\]]를 클릭하십시오. - {\WixUI_Font_Bigger}[ProductName] 설치 마법사 시작 - - [ProductName] 설치 - WixUI_Bmp_Dialog - 동의함(&A) - 설치(&I) - 업데이트(&U) - {\WixUI_Font_Title}[ProductName] 사용권 계약을 읽어 주십시오. - - 설치 유효성을 확인하는 중 - 새 파일을 복사하는 중 - 파일: [1], 디렉터리: [9], 크기: [6] - 네트워크 설치 파일을 복사하는 중 - 파일: [1], 디렉터리: [9], 크기: [6] - 필요한 공간을 확인하는 중 - 필요한 공간을 확인하는 중 - 필요한 공간을 확인하는 중 - 바로 가기를 만드는 중 - 바로 가기: [1] - 해당 구성 요소를 게시하는 중 - 구성 요소 ID: [1], 한정자: [2] - 제품 기능을 게시하는 중 - 기능: [1] - 제품 정보를 게시하는 중 - 클래스 서버를 등록하는 중 - 클래스 ID: [1] - 확장 서버를 등록하는 중 - 확장: [1] - MIME 정보를 등록하는 중 - MIME 콘텐츠 형식: [1], 확장: [2] - 프로그램 ID를 등록하는 중 - ProgId: [1] - 레지스트리 공간을 할당하는 중 - 사용 가능한 공간: [1] - 설치한 응용 프로그램을 찾는 중 - 속성: [1], 서명: [2] - 실행 파일을 연결하는 중 - 파일: [1] - 정품을 찾는 중 - 폴더를 만드는 중 - 폴더: [1] - 서비스를 삭제하는 중 - 서비스: [1] - 중복 파일을 만드는 중 - 파일: [1], 디렉터리: [9], 크기: [6] - 관련 응용 프로그램을 찾는 중 - 찾은 응용 프로그램: [1] - ODBC 구성 요소를 설치하는 중 - 새 서비스를 설치하는 중 - 서비스: [2] - 시작 조건을 평가하는 중 - 관련 응용 프로그램에서 기능 상태를 마이그레이션하는 중 - 응용 프로그램: [1] - 파일을 옮기는 중 - 파일: [1], 디렉터리: [9], 크기: [6] - 파일을 패치하는 중 - 파일: [1], 디렉터리: [2], 크기: [3] - 구성 요소 등록을 업데이트하는 중 - COM+ 응용 프로그램 및 구성 요소를 등록하는 중 - AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}} - 글꼴을 등록하는 중 - 글꼴: [1] - 제품을 등록하는 중 - [1] - 형식 라이브러리를 등록하는 중 - LibID: [1] - 사용자를 등록하는 중 - [1] - 중복 파일을 제거하는 중 - 파일: [1], 디렉터리: [9] - 환경 문자열을 업데이트하는 중 - 이름: [1], 값: [2], 작업 [3] - 응용 프로그램을 제거하는 중 - 응용 프로그램: [1], 명령줄: [2] - 파일을 제거하는 중 - 파일: [1], 디렉터리: [9] - 폴더를 제거하는 중 - 폴더: [1] - INI 파일 항목을 제거하는 중 - 파일: [1], 섹션: [2], 키: [3], 값: [4] - ODBC 구성 요소를 제거하는 중 - 시스템 레지스트리 값을 제거하는 중 - 키: [1], 이름: [2] - 바로 가기를 제거하는 중 - 바로 가기: [1] - 정품을 찾는 중 - 모듈을 등록하는 중 - 파일: [1], 폴더: [2] - 모듈의 등록을 취소하는 중 - 파일: [1], 폴더: [2] - ODBC 디렉터리를 초기화하는 중 - 서비스를 시작하는 중 - 서비스: [1] - 서비스를 중지하는 중 - 서비스: [1] - 해당 구성 요소의 게시를 취소하는 중 - 구성 요소 ID: [1], 한정자: [2] - 제품 기능의 게시를 취소하는 중 - 기능: [1] - 클래스 서버 등록 취소 - 클래스 ID: [1] - COM+ 응용 프로그램 및 구성 요소의 등록을 취소하는 중 - AppId: [1]{{, AppType: [2]}} - 확장 서버의 등록을 취소하는 중 - 확장: [1] - 글꼴 등록을 취소하는 중 - 글꼴: [1] - MIME 정보의 등록을 취소하는 중 - MIME 콘텐츠 형식: [1], 확장: [2] - 프로그램 식별자의 등록을 취소하는 중 - ProgId: [1] - 형식 라이브러리의 등록을 취소하는 중 - LibID: [1] - 환경 문자열을 업데이트하는 중 - 이름: [1], 값: [2], 작업 [3] - INI 파일 값을 쓰는 중 - 파일: [1], 섹션: [2], 키: [3], 값: [4] - 시스템 레지스트리 값을 쓰는 중 - 키: [1], 이름: [2], 값: [3] - 응용 프로그램을 보급하는 중 - 실행할 스크립트 작업을 생성하는 중: - [1] - 시스템 카탈로그를 설치하는 중 - 파일: [1], 종속성: [2] - 어셈블리 정보를 게시하는 중 - 응용 프로그램 컨텍스트:[1], 어셈블리 이름:[2] - 어셈블리 정보의 게시를 취소하는 중 - 응용 프로그램 컨텍스트:[1], 어셈블리 이름:[2] - 작업을 롤백하는 중: - [1] - 백업 파일을 제거하는 중 - 파일: [1] - 옮긴 파일을 제거하는 중 - 파일: [1], 디렉터리: [9] - 제품 정보의 게시를 취소하는 중 - - {{오류: }} - {{오류 [1]. }} - 경고 [1]. - 정보 [1]. - 이 패키지를 설치하는 동안 예기치 못한 오류가 발생했습니다. 패키지에 문제가 있을 수 있습니다. 오류 코드: [1]. {{인수: [2], [3], [4]}} - {{디스크 꽉 참: }} - 작업 [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - 메시지 유형: [1], 인수: [2] - === 로깅 시작: [Date] [Time] === - === 로깅 중지: [Date] [Time] === - 작업 시작 [Time]: [1]. - 작업 끝 [Time]: [1]. 반환 값 [2]. - 남은 시간: {[1]분 }{[2]초} - 메모리가 부족합니다. 다른 응용 프로그램을 종료한 후 다시 시도하십시오. - 설치 관리자가 더 이상 응답하지 않습니다. - 설치가 중단되었습니다. - [ProductName]을(를) 구성하는 동안 잠시 기다려 주십시오. - 필요한 정보를 모으는 중... - 이 응용 프로그램의 이전 버전을 제거하는 중... - 이 응용 프로그램의 이전 버전을 제거하기 위해 준비하는 중... - {[ProductName] }이(가) 설치되었습니다. - {[ProductName] }이(가) 설치되지 않았습니다. - 파일 읽기 오류: [2]. {{ 시스템 오류 [3].}} 파일이 있는지, 그리고 해당 파일에 액세스할 수 있는지 확인하십시오. - '[2]' 파일을 만들 수 없습니다. 이름이 같은 디렉터리가 이미 있습니다. 설치를 취소하고 다른 위치에 설치해 보십시오. - 다음 디스크를 넣으십시오. [2] - [2] 디렉터리에 액세스할 수 있는 권한이 없어 설치를 계속할 수 없습니다. Administrator로 로그온하거나 시스템 관리자에게 문의하십시오. - 파일 쓰기 오류: [2]. 해당 디렉터리에 액세스할 수 있는지 확인하십시오. - 파일 읽기 오류: [2]. {{ 시스템 오류 [3].}} 파일이 있는지, 그리고 해당 파일에 액세스할 수 있는지 확인하십시오. - 다른 응용 프로그램에서 '[2]' 파일을 단독으로 사용하고 있습니다. 다른 응용 프로그램을 모두 닫은 후 "다시 시도"를 클릭하십시오. - 디스크 공간이 부족하여 [2] 파일을 설치할 수 없습니다. 필요한 디스크 공간을 확보하고 "다시 시도"를 클릭하거나 "취소"를 클릭하여 끝내십시오. - 원본 파일이 없습니다. [2]. 파일이 있는지, 그리고 해당 파일에 액세스할 수 있는지 확인하십시오. - 파일 읽기 오류: [3]. {{ 시스템 오류 [2].}} 파일이 있는지, 그리고 해당 파일에 액세스할 수 있는지 확인하십시오. - 파일 쓰기 오류: [3]. {{ 시스템 오류 [2].}} 해당 디렉터리에 액세스할 수 있는지 확인하십시오. - 원본 파일이 없습니다. {{(cabinet)}}: [2]. 파일이 있는지, 그리고 해당 파일에 액세스할 수 있는지 확인하십시오. - '[2]' 디렉터리를 만들 수 없습니다. 이 이름을 가진 파일이 이미 있습니다. 파일 이름을 변경하거나 파일을 제거한 후 "다시 시도"를 클릭하거나 "취소"를 클릭하여 끝내십시오. - [2] 볼륨을 현재 사용할 수 없습니다. 다른 볼륨을 선택하십시오. - 지정한 경로 '[2]'을(를) 사용할 수 없습니다. - 지정한 폴더 [2]에 쓸 수 없습니다. - 파일 [2]을(를) 읽는 동안 네트워크 오류가 발생했습니다. - 디렉터리 [2]을(를) 만드는 동안 오류가 발생했습니다. - 디렉터리 [2]을(를) 만드는 동안 네트워크 오류가 발생했습니다. - 원본 파일 캐비닛 [2]을(를) 여는 동안 네트워크 오류가 발생했습니다. - 지정한 경로 [2]이(가) 너무 깁니다. - 파일 [2]을(를) 수정할 수 있는 권한이 없습니다. - 폴더 경로 '[2]'의 일부가 잘못되었습니다. 비어 있거나 시스템에서 허용하는 길이를 초과합니다. - 폴더 경로 '[2]'에 폴더 경로에 사용할 수 없는 단어가 들어 있습니다. - 폴더 경로 '[2]'에 사용할 수 없는 문자가 들어 있습니다. - '[2]'은(는) 유효한 약식 파일 이름이 아닙니다. - 파일 보안 오류: [3] GetLastError: [2] - 유효하지 않은 드라이브: [2] - [2] 파일에 패치를 적용하는 동안 오류가 발생했습니다. 다른 방법으로 업데이트되었으므로 더 이상 이 패치를 사용하여 수정할 수 없습니다. 자세한 내용은 패치 공급업체에 문의하십시오. {{시스템 오류: [3]}} - 캐비닛 파일 [2]에 디지털 서명이 되어 있지 않으므로 필요한 파일을 설치할 수 없습니다. 캐비닛 파일이 손상되었을 수 있습니다. - 캐비닛 파일 [2]의 디지털 서명이 유효하지 않으므로 필요한 파일을 설치할 수 없습니다. 캐비닛 파일이 손상되었을 수 있습니다. {{WinVerifyTrust에서 [3] 오류가 반환되었습니다.}} - [2] 파일을 올바로 복사하지 못했습니다. CRC 오류입니다. - [2] 파일을 올바로 이동하지 못했습니다. CRC 오류입니다. - [2] 파일을 올바로 패치하지 못했습니다. CRC 오류입니다. - 캐비닛 파일 '[3]'에서 찾을 수 없어서 '[2]' 파일을 설치할 수 없습니다. 네트워크 오류이거나, CD-ROM에서 읽기 오류이거나, 이 패키지에 문제가 있을 수 있습니다. - 설치에 필요한 캐비닛 파일 '[2]'이(가) 손상되어 사용할 수 없습니다. 네트워크 오류이거나, CD-ROM에서 읽기 오류이거나, 이 패키지에 문제가 있을 수 있습니다. - 설치를 마치는데 필요한 임시 파일을 만드는 동안 오류가 발생했습니다.{{ 폴더: [3]. 시스템 오류 코드: [2]}} - 키 [2]을(를) 만들지 못했습니다. {{ 시스템 오류 [3].}} 해당 키에 대한 액세스 권한이 충분한지 확인하거나 고객 지원 담당자에게 문의하십시오. - 키 [2]을(를) 열지 못했습니다. {{ 시스템 오류 [3].}} 해당 키에 대한 액세스 권한이 충분한지 확인하거나 고객 지원 담당자에게 문의하십시오. - 키 [3]에서 값 [2]을(를) 삭제하지 못했습니다. {{ 시스템 오류 [4].}} 해당 키에 대한 액세스 권한이 충분한지 확인하거나 고객 지원 담당자에게 문의하십시오. - 키 [2]을(를) 삭제하지 못했습니다. {{ 시스템 오류 [3].}} 해당 키에 대한 액세스 권한이 충분한지 확인하거나 고객 지원 담당자에게 문의하십시오. - 키 [3]에서 값 [2]을(를) 읽지 못했습니다. {{ 시스템 오류 [4].}} 해당 키에 대한 액세스 권한이 충분한지 확인하거나 고객 지원 담당자에게 문의하십시오. - 키 [3]에 값 [2]을(를) 쓰지 못했습니다. {{ 시스템 오류 [4].}} 해당 키에 대한 액세스 권한이 충분한지 확인하거나 고객 지원 담당자에게 문의하십시오. - 키 [2]의 값 이름을 가져오지 못했습니다. {{ 시스템 오류 [3].}} 해당 키에 대한 액세스 권한이 충분한지 확인하거나 고객 지원 담당자에게 문의하십시오. - 키 [2]의 하위 키 이름을 가져오지 못했습니다. {{ 시스템 오류 [3].}} 해당 키에 대한 액세스 권한이 충분한지 확인하거나 고객 지원 담당자에게 문의하십시오. - 키 [2]의 보안 정보를 읽지 못했습니다. {{ 시스템 오류 [3].}} 해당 키에 대한 액세스 권한이 충분한지 확인하거나 고객 지원 담당자에게 문의하십시오. - 사용 가능한 레지스트리 공간을 늘리지 못했습니다. [2]KB의 사용 가능한 레지스트리 공간이 있어야 이 응용 프로그램을 설치할 수 있습니다. - 다른 프로그램을 설치하고 있습니다. 해당 프로그램의 설치를 끝낸 후 이 작업을 계속하십시오. - 보안 데이터에 액세스하는 동안 오류가 발생했습니다. Windows Installer 구성을 올바르게 설정했는지 확인하고 다시 설치하십시오. - 사용자 '[2]'이(가) 제품 '[3]'의 설치를 시작한 적이 있습니다. 이 사용자가 다시 설치 프로그램을 실행해야 해당 제품을 사용할 수 있습니다. 현재 설치는 계속됩니다. - 사용자 '[2]'이(가) 제품 '[3]'의 설치를 시작한 적이 있습니다. 이 사용자가 다시 설치 프로그램을 실행해야 해당 제품을 사용할 수 있습니다. - 디스크 공간 부족 -- 볼륨: '[2]', 필요한 공간: [3]KB, 사용 가능한 공간: [4]KB. 디스크 공간을 늘린 후 다시 시도하십시오. - 취소하시겠습니까? - 파일 [2][3]을(를) 다른 프로세스{이름: [4], ID: [5], 창 제목: '[6]'}에서 사용하고 있습니다. 해당 응용 프로그램을 닫은 후 다시 시도하십시오. - 제품 '[2]'이(가) 이미 설치되어 있어서 이 제품을 설치할 수 없습니다. 두 제품은 호환되지 않습니다. - 복구를 사용하여 설치를 계속하기에는 '[2]' 볼륨에 디스크 공간이 부족합니다. [3]KB가 필요하나, [4]KB만 사용 가능합니다. 복구 정보를 저장하지 않고 설치를 계속하려면 "무시"를 클릭하고, 사용 가능한 공간을 다시 확인하려면 "다시 시도"를 클릭하십시오. 설치를 끝내려면 "취소"를 클릭하십시오. - 네트워크 위치 [2]에 액세스하지 못했습니다. - 설치를 계속하려면 다음 응용 프로그램을 닫아야 합니다. - 지금 설치하려는 제품의 이전 버전이 이 시스템에 설치되어 있지 않습니다. - 보안 설정을 적용하는 동안 오류가 발생했습니다. [2]은(는) 유효한 사용자 또는 그룹이 아닙니다. 패키지에 문제가 있거나, 네트워크의 도메인 컨트롤러에 연결하는 데 문제가 있을 수 있습니다. 네트워크 연결을 확인하고 "다시 시도"를 클릭하거나, 설치를 마치려면 "취소"를 클릭하십시오. {{사용자 SID를 찾을 수 없습니다. 시스템 오류 [3]}} - 키 [2]이(가) 유효하지 않습니다. 정확한 키를 입력했는지 확인하십시오. - 시스템을 다시 시작한 후에 [2] 구성을 계속할 수 있습니다. 지금 다시 시작하려면 "예"를 클릭하고, 나중에 수동으로 다시 시작하려면 "아니요"를 클릭하십시오. - 변경된 구성 설정을 [2]에 적용하려면 시스템을 다시 시작해야 합니다. 지금 다시 시작하려면 "예"를 클릭하고, 나중에 수동으로 다시 시작하려면 "아니요"를 클릭하십시오. - [2]의 설치가 현재 중지된 상태입니다. 작업을 계속하려면 설치하면서 변경된 내용을 취소해야 합니다. 변경된 내용을 취소하시겠습니까? - 이전에 실행했던 이 제품의 설치 작업이 진행 중인 상태입니다. 작업을 계속하려면 설치하면서 변경된 내용을 취소해야 합니다. 변경된 내용을 취소하시겠습니까? - 제품 [2]의 설치 패키지가 없습니다. 설치 패키지 '[3]'의 올바른 복사본을 사용하여 설치를 다시 시도하십시오. - 설치가 완료되었습니다. - 설치하지 못했습니다. - 제품: [2] -- [3] - 컴퓨터를 이전 상태로 복원하거나 나중에 다시 설치해야 합니다. 복원하시겠습니까? - 설치 정보를 디스크에 쓰는 동안 오류가 발생했습니다. 디스크 공간이 충분한지 확인하고 "다시 시도"를 클릭하거나, 설치를 끝내려면 "취소"를 클릭하십시오. - 컴퓨터를 이전 상태로 복원하는 데 필요한 일부 파일을 찾을 수 없습니다. 복원할 수 없습니다. - [2]이(가) 필요한 제품 중의 하나를 설치할 수 없습니다. 기술 지원 부서에 문의하십시오. {{시스템 오류: [3].}} - 이전 버전의 [2]을(를) 제거할 수 없습니다. 기술 지원 부서에 문의하십시오. {{시스템 오류 [3].}} - [2] 설치됨 - [2] 구성됨 - [2] 제거됨 - 디지털 서명 정책이 [2] 파일을 거부했습니다. - Windows Installer Service에 액세스할 수 없습니다. Windows를 안전 모드에서 실행 중이거나, Windows Installer가 올바로 설치되지 않은 경우 발생할 수 있습니다. 고객 지원 담당자에게 문의하십시오. - Windows Installer 패키지에 문제가 있습니다. 설치를 완료하는 데 필요한 스크립트를 실행할 수 없습니다. 고객 지원 담당자 또는 패키지 공급업체에 문의하십시오. {{사용자 지정 작업: [2] 스크립트 오류: [3], [4]: [5], 줄: [6], 열: [7], [8] }} - Windows Installer 패키지에 문제가 있습니다. 설치를 완료하는 데 필요한 프로그램을 실행할 수 없습니다. 고객 지원 담당자 또는 패키지 공급업체에 문의하십시오. {{작업: [2], 위치: [3], 명령: [4] }} - Windows Installer 패키지에 문제가 있습니다. 설치 프로그램의 일부로 실행되는 프로그램이 예상대로 완료되지 않았습니다. 고객 지원 담당자 또는 패키지 공급업체에 문의하십시오. {{작업: [2], 위치: [3], 명령: [4] }} - Windows Installer 패키지에 문제가 있습니다. 설치를 완료하는 데 필요한 DLL을 실행할 수 없습니다. 고객 지원 담당자 또는 패키지 공급업체에 문의하십시오. {{작업: [2], 항목: [3], 라이브러리: [4] }} - 제거가 완료되었습니다. - 제거하지 못했습니다. - 보급이 완료되었습니다. - 보급하지 못했습니다. - 구성이 완료되었습니다. - 구성하지 못했습니다. - Administrator만 이 응용 프로그램을 제거할 수 있습니다. 이 응용 프로그램을 제거하려면 Administrator로 로그온하거나 기술 지원 부서에 문의하십시오. - 제품 [2]의 원본 설치 패키지가 클라이언트 패키지와 동기화되어 있지 않습니다. 설치 패키지 '[3]'의 올바른 복사본을 사용하여 설치를 다시 시도하십시오. - [2]의 설치를 완료하려면 컴퓨터를 다시 시작해야 합니다. 다른 사용자가 현재 이 컴퓨터에 로그온해 있으며 컴퓨터를 다시 시작하면 다른 사용자의 작업 내용이 손실될 수 있습니다. 지금 다시 시작하시겠습니까? - 경로 [2]이(가) 유효하지 않습니다. 올바른 경로를 지정하십시오. - 메모리가 부족합니다. 다른 응용 프로그램을 종료한 후 다시 시도하십시오. - 드라이브 [2]에 디스크가 없습니다. 디스크를 넣은 후 "다시 시도"를 클릭하거나, "취소"를 클릭하여 이전에 선택한 볼륨으로 다시 돌아가십시오. - 드라이브 [2]에 디스크가 없습니다. 디스크를 넣은 후 "다시 시도"를 클릭하거나, "취소"를 클릭하여 "찾아보기" 대화 상자로 간 후 다른 볼륨을 선택하십시오. - [2] 폴더가 없습니다. 기존 폴더 경로를 입력하십시오. - 이 폴더를 읽을 수 있는 권한이 없습니다. - 설치할 대상 폴더를 결정하지 못했습니다. - 원본 설치 데이터베이스를 읽는 동안 오류 발생: [2]. - 다시 부팅 작업을 예약하고 있습니다. [2] 파일의 이름을 [3](으)로 바꿉니다. 작업을 완료하려면 다시 부팅해야 합니다. - 다시 부팅 작업을 예약하고 있습니다. [2] 파일을 삭제합니다. 작업을 완료하려면 다시 부팅해야 합니다. - 모듈 [2]을(를) 등록하지 못했습니다. HRESULT [3]. 고객 지원 담당자에게 문의하십시오. - 모듈 [2]의 등록을 취소하지 못했습니다. HRESULT [3]. 고객 지원 담당자에게 문의하십시오. - [2] 패키지를 캐시하지 못했습니다. 오류: [3]. 고객 지원 담당자에게 문의하십시오. - [2] 글꼴을 등록하지 못했습니다. 글꼴을 설치할 수 있는 권한이 있는지, 그리고 이 글꼴을 시스템에서 지원하는지 확인하십시오. - [2] 글꼴의 등록을 취소하지 못했습니다. 글꼴을 제거할 수 있는 권한이 있는지 확인하십시오. - 바로 가기 [2]을(를) 만들지 못했습니다. 대상 폴더가 있는지, 그리고 해당 폴더에 액세스할 수 있는지 확인하십시오. - [2] 바로 가기를 제거하지 못했습니다. 바로 가기 파일이 있는지, 그리고 해당 파일에 액세스할 수 있는지 확인하십시오. - [2] 파일의 형식 라이브러리를 등록하지 못했습니다. 고객 지원 담당자에게 문의하십시오. - [2] 파일의 형식 라이브러리 등록을 취소하지 못했습니다. 고객 지원 담당자에게 문의하십시오. - ini 파일 [2][3]을(를) 업데이트하지 못했습니다. 파일이 있는지, 그리고 해당 파일에 액세스할 수 있는지 확인하십시오. - 시스템을 다시 부팅할 때 파일 [3]을(를) [2](으)로 바꾸도록 지정하지 못했습니다. 파일 [3]에 대한 쓰기 권한이 있는지 확인하십시오. - ODBC 드라이버 관리자를 제거하는 동안 오류가 발생했습니다. ODBC 오류 [2]: [3]. 고객 지원 담당자에게 문의하십시오. - ODBC 드라이버 관리자를 설치하는 동안 오류가 발생했습니다. ODBC 오류 [2]: [3]. 고객 지원 담당자에게 문의하십시오. - ODBC 드라이버 [4]을(를) 제거하는 동안 오류가 발생했습니다. ODBC 오류 [2]: [3]. ODBC 드라이버를 제거할 수 있는 권한이 있는지 확인하십시오. - ODBC 드라이버 [4]을(를) 설치하는 동안 오류가 발생했습니다. ODBC 오류 [2]: [3]. 파일 [4]이(가) 있는지, 그리고 해당 파일에 액세스할 수 있는지 확인하십시오. - ODBC 데이터 원본 [4]을(를) 구성하는 동안 오류가 발생했습니다. ODBC 오류 [2]: [3]. 파일 [4]이(가) 있는지, 그리고 해당 파일에 액세스할 수 있는지 확인하십시오. - 서비스 '[2]'([3])을(를) 시작하지 못했습니다. 시스템 서비스를 시작할 수 있는 권한이 있는지 확인하십시오. - 서비스 '[2]'([3])을(를) 중지하지 못했습니다. 시스템 서비스를 중지할 수 있는 권한이 있는지 확인하십시오. - 서비스 '[2]'([3])을(를) 삭제하지 못했습니다. 시스템 서비스를 제거할 수 있는 권한이 있는지 확인하십시오. - 서비스 '[2]'([3])을(를) 설치하지 못했습니다. 시스템 서비스를 설치할 수 있는 권한이 있는지 확인하십시오. - 환경 변수 '[2]'을(를) 업데이트하지 못했습니다. 환경 변수를 수정할 수 있는 권한이 있는지 확인하십시오. - 이 시스템의 모든 사용자가 사용하도록 제품을 설치할 권한이 없습니다. Administrator로 로그온한 후 다시 설치하십시오. - 파일 '[3]'에 대해 파일 보안을 설정하지 못했습니다. 오류: [2]. 이 파일의 보안 권한을 수정할 수 있는 권한이 있는지 확인하십시오. - 이 컴퓨터에 구성 요소 서비스(COM+ 1.0)가 설치되어 있지 않습니다. 설치를 완료하려면 구성 요소 서비스가 있어야 합니다. 구성 요소 서비스는 Windows 2000에서 사용할 수 있습니다. - COM+ 응용 프로그램을 등록하는 동안 오류가 발생했습니다. 자세한 내용은 고객 지원 담당자에게 문의하십시오. - COM+ 응용 프로그램 등록을 취소하는 동안 오류가 발생했습니다. 자세한 내용은 고객 지원 담당자에게 문의하십시오. - 서비스 '[2]' ([3])의 설명을 변경할 수 없습니다. - Windows에서 시스템 파일 [2]을(를) 보호하고 있어 업데이트할 수 없습니다. 이 프로그램이 제대로 작동하려면 운영 체제를 업데이트해야 합니다. {{패키지 버전: [3], OS 보호된 버전: [4]}} - Windows Installer 서비스가 보호된 Windows 파일 [2]을(를) 업데이트할 수 없습니다. {{패키지 버전: [3], OS 보호된 버전: [4], SFP 오류: [5]}} - Windows Installer 서비스에서 하나 이상의 보호된 Windows 파일을 업데이트할 수 없습니다. {{SFP 오류: [2]. 보호된 파일 목록:\r\n[3]}} - 컴퓨터의 정책에 의해 사용자 설치를 할 수 없습니다. - '[6]' 어셈블리를 설치하는 동안 오류가 발생했습니다. 자세한 내용은 도움말 및 지원을 참조하십시오. HRESULT: [3]. {{어셈블리 인터페이스: [4], 함수: [5], 구성 요소: [2]}} - '[6]' 어셈블리를 설치하는 동안 오류가 발생했습니다. 강력한 이름의 어셈블리가 아니거나 최소 키 길이로 서명되지 않았습니다. HRESULT: [3]. {{어셈블리 인터페이스: [4], 함수: [5], 구성 요소: [2]}} - '[6]' 어셈블리를 설치하는 동안 오류가 발생했습니다. 서명 또는 카탈로그를 확인할 수 없거나 서명 또는 카탈로그가 올바르지 않습니다. HRESULT: [3]. {{어셈블리 인터페이스: [4], 함수: [5], 구성 요소: [2]}} - '[6]' 어셈블리를 설치하는 동안 오류가 발생했습니다. 하나 이상의 어셈블리 모듈을 찾을 수 없습니다. HRESULT: [3]. {{어셈블리 인터페이스: [4], 함수: [5], 구성 요소: [2]}} - - 바이트 - GB - KB - MB - 모든 기능을 사용할 수 없습니다. - 필요할 때 기능을 설치합니다. - 모든 기능이 CD에서 실행되도록 설치됩니다. - 모든 기능이 로컬 하드 드라이브에 설치됩니다. - 모든 기능이 네트워크에서 실행되도록 설치됩니다. - CD에서 실행되도록 설치됩니다. - 로컬 하드 드라이브에 설치됩니다. - 네트워크에서 실행되도록 설치됩니다. - Folder|새 폴더 - 필요한 정보를 모으는 중... - 이 기능은 설치되지 않습니다. - 이 기능은 필요할 때 설치하도록 설정됩니다. - 이 기능은 CD에서 실행되도록 설치됩니다. - 이 기능은 로컬 하드 드라이브에 설치됩니다. - 이 기능은 네트워크에서 실행되도록 설치됩니다. - 이 기능을 사용할 수 없게 됩니다. - 필요할 때 설치합니다. - 이 기능은 CD에서 실행할 수 있습니다. - 이 기능은 로컬 하드 드라이브에 설치됩니다. - 이 기능은 네트워크에서 실행할 수 있습니다. - 이 기능은 완전히 제거되며, CD에서 실행할 수 없게 됩니다. - 이 기능은 CD에서 실행되던 상태에서 필요할 때 설치되는 것으로 변경됩니다. - 이 기능은 그대로 CD에서 실행됩니다. - 이 기능은 CD에서 실행되던 상태에서 로컬 하드 드라이브에 설치되는 것으로 변경됩니다. - 이 기능은 하드 드라이브에 [1]의 공간을 만듭니다. - 이 기능을 사용하려면 하드 드라이브에 [1]이(가) 있어야 합니다. - 이 기능에 대한 공간을 계산하는 중... - 이 기능은 완전히 제거됩니다. - 이 기능은 로컬 하드 드라이브에서 제거되지만 필요할 때 설치하도록 설정됩니다. - 이 기능은 로컬 하드 드라이브에서 제거되지만 CD에서는 실행할 수 있습니다. - 이 기능은 로컬 하드 드라이브에 그대로 남아 있게 됩니다. - 이 기능은 로컬 하드 드라이브에서 제거되지만 네트워크에서 실행할 수 있습니다. - 이 기능은 완전히 제거되며, 네트워크에서 실행할 수 없게 됩니다. - 이 기능은 네트워크에서 실행되던 상태에서 필요할 때 설치되는 것으로 변경됩니다. - 이 기능은 네트워크에서 실행되던 상태에서 로컬 하드 드라이브에 설치되는 것으로 변경됩니다. - 이 기능은 그대로 네트워크에서 실행됩니다. - 이 기능은 하드 드라이브에 [1]의 공간을 만듭니다. [3]개의 하위 기능 중 [2]개가 선택되었습니다. 하위 기능은 하드 드라이브에 [4]의 공간을 만듭니다. - 이 기능은 하드 드라이브에 [1]의 공간을 만듭니다. [3]개의 하위 기능 중 [2]개가 선택되었습니다. 하위 기능을 사용하려면 하드 드라이브에 [4]이(가) 있어야 합니다. - 이 기능을 사용하려면 하드 드라이브에 [1]이(가) 있어야 합니다. [3]개의 하위 기능 중 [2]개가 선택되었습니다. 하위 기능은 하드 드라이브에 [4]의 공간을 만듭니다. - 이 기능을 사용하려면 하드 드라이브에 [1]이(가) 있어야 합니다. [3]개의 하위 기능 중 [2]개가 선택되었습니다. 하위 기능을 사용하려면 하드 드라이브에 [4]이(가) 있어야 합니다. - 남은 시간: {[1]분 }{[2]초} - 사용 가능한 공간 - 차이 - 필요한 공간 - 디스크 크기 - 볼륨 - diff --git a/Src/Localization/WixUI/WixUI_lt-LT.wxl b/Src/Localization/WixUI/WixUI_lt-LT.wxl deleted file mode 100644 index 248362b..0000000 --- a/Src/Localization/WixUI/WixUI_lt-LT.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Atgal - &Pirmyn - Atšaukti - &Baigti - &Kartoti - &Nepaisyti - &Taip - &Ne - Gerai - &Spausdinti - - [ProductName] sąranka - WixUI_Bmp_Banner - {\WixUI_Font_Title}Perskaitykite [ProductName] licencijos sutartį - &Sutinku su licencijos sutarties sąlygomis - Spustelėkite Diegti, norėdami įdiegti produktą visiems vartotojams su numatytosiomis parinktimis. Spustelėkite Išsamiau, norėdami pakeisti diegimo parinktis. - Spustelėkite Diegti, norėdami įdiegti produktą su numatytosiomis parinktimis tik sau. Spustelėkite Išsamiau, norėdami pakeisti diegimo parinktis. - &Diegti - I&šsamiau - 8 - 12 - 9 - 8 - „Tahoma“ - - [ProductName] sąranka - &Kur ieškoti: - WixUI_Bmp_Up - Vienu lygiu aukščiau - WixUI_Bmp_New - Kurti naują aplanką - &Aplanko pavadinimas: - WixUI_Bmp_Banner - Eiti į paskirties aplanką - {\WixUI_Font_Title}Keisti paskirties aplanką - - [ProductName] sąranka - Ar tikrai norite atšaukti [ProductName] diegimą? - WixUI_Ico_Info - Informacijos piktograma - - [ProductName] sąranka - Parinkčių medis - N&aršyti... - Nu&statyti iš naujo - Disko &naudojimas - WixUI_Bmp_Banner - Spustelėkite toliau medyje esančias piktogramas, norėdami pakeisti priemonių diegimo būdą. - Pažymėkite, kaip norite įdiegti priemones. - {\WixUI_Font_Title}Pasirinktinė sąranka - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Vieta: - - [ProductName] sąranka - WixUI_Bmp_Banner - Paryškintuose tomuose nepakanka vietos pasirinktoms priemonėms. Galite pašalinti kai kuriuos failus iš paryškintų tomų, įdiegti naujų priemonių arba pasirinkti kitus paskirties diskus. - Reikalinga vieta diske pažymėtoms priemonėms diegti. - {\WixUI_Font_Title}Diske reikalinga vieta - {120}{70}{70}{70}{70} - - [ProductName] sąranka - Informacinis tekstas - WixUI_Ico_Info - Informacijos piktograma - - [ProductName] sąranka - WixUI_Bmp_Dialog - Norėdami uždaryti sąrankos vedlį, spustelėkite mygtuką Baigti. - {\WixUI_Font_Bigger}Atlikti [ProductName] sąrankos vedlio nurodymai - - [ProductName] sąranka - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] sąrankos vedlys nutrūko per anksti - [ProductName] sąrankos vedlys nustojo dirbti per anksti dėl klaidos. Sistema nebuvo modifikuota. Norėdami įdiegti šią programą vėliau, vėl paleiskite sąrankos vedlį. - Norėdami uždaryti sąrankos vedlį, spustelėkite mygtuką Baigti. - - [ProductName] sąranka - Produkto priemonės - WixUI_Bmp_Banner - Pažymėkite, kaip norite įdiegti priemones. - {\WixUI_Font_Title}Produkto priemonės - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Diegti - &Keisti - - [ProductName] sąranka - I&šeiti - WixUI_Bmp_Banner - Šios programos naudoja sąrankos metu būtinus atnaujinti failus. Uždarykite šias programas, tada norėdami tęsti diegimą spustelėkite mygtuką &Kartoti arba norėdami iš jo išeiti spustelėkite mygtuką Išeiti. - Kai kurie failai, kuriuos reikia atnaujinti, šiuo metu naudojami. - {\WixUI_Font_Title}Naudojami failai - - [ProductName] sąranka - &Keisti... - {\WixUI_Font_Title}Paskirties aplankas - Spustelėkite Pirmyn, norėdami įdiegti numatytajame aplanke, arba spustelėkite Keisti, norėdami pasirinkti kitą. - WixUI_Bmp_Banner - Diegti „[ProductName]“ į: - - [ProductName] sąranka - WixUI_Bmp_Banner - Pasirinkite diegimo aprėptį ir aplanką - {\WixUI_Font_Title}Diegimo aprėptis - {\WixUI_Font_Emphasized}Diegti &tik sau ([LogonUser]) - [ProductName] bus įdiegta vartotojo aplanke ir bus pasiekiama tik jūsų vartotojo abonementui. Nereikia turėti vietinio administratoriaus teisių. - [ProductName] nepalaiko vartotojo įdiegties. - {\WixUI_Font_Emphasized}Diegti visiems šio &kompiuterio vartotojams - [ProductName] bus pagal numatytuosius nustatymus įdiegta kompiuterio aplanke ir pasiekiama visiems vartotojams. Galite pakeisti numatytąjį diegimo aplanką. - Diegimo &aplankas: - &Keisti... - - [ProductName] sąranka - Diegimo katalogas turi būti vietiniame standžiajame diske. - WixUI_Ico_Info - Informacijos piktograma - - [ProductName] sąranka - &Sutinku su licencijos sutarties sąlygomis - WixUI_Bmp_Banner - Atidžiai perskaitykite šią licencijos sutartį - {\WixUI_Font_Title}Galutinio vartotojo licencijos sutartis - - [ProductName] sąranka - &Keisti - Keisti įdiegtį - Ta&isyti - Taisyti įdiegtį - &Šalinti - Šalinti įdiegtį - WixUI_Bmp_Banner - Pažymėkite norimą atlikti operaciją. - {\WixUI_Font_Title}Įdiegties keitimas, taisymas arba šalinimas - Leidžia keisti priemonių diegimo būdą. - [ProductName] nėra atskirai pasirenkamų priemonių. - Pašalina [ProductName] iš kompiuterio. - [ProductName] negalima pašalinti. - Ištaiso naujausios įdiegties klaidas pataisydama trūkstamus ir sugadintus failus, sparčiąsias nuorodas ir registro įrašus. - [ProductName] negalima pataisyti. - - [ProductName] sąranka - WixUI_Bmp_Dialog - Sąrankos vedlys leidžia keisti būdą, kuriuo [ProductName] priemonės yra diegiamos jūsų kompiuteryje, ar pašalinti jas iš jūsų kompiuterio. Norėdami, kad sąrankos vedlys tęstų savo darbą, spustelėkite mygtuką Pirmyn, o norėdami išeiti iš jo, spustelėkite mygtuką Atšaukti. - {\WixUI_Font_Bigger}Sveiki! Čia [ProductName] sąrankos vedlys - - [ProductName] sąranka - WixUI_Bmp_Banner - Šios programos naudoja sąrankos metu būtinus atnaujinti failus. Galite leisti sąrankos vedliui juos uždaryti ir bandyti paleisti iš naujo arba vėliau perkrauti kompiuterį. - Kai kurie failai, kuriuos reikia atnaujinti, šiuo metu naudojami. - {\WixUI_Font_Title}Naudojami failai - &Uždarykite programas ir pabandykite paleisti jas iš naujo. - &Neuždarykite programų. Reikės iš naujo paleisti kompiuterį. - - [ProductName] sąranka - WixUI_Bmp_Banner - Pažymėtuose tomuose nėra pakankamai vietos, kurią būtų galima panaudoti nurodytoms priemonėms įdiegti. Galite pašalinti kai kuriuos failus iš pažymėtų tomų, įdiegti mažiau priemonių arba pasirinkti kitą paskirties diską. - Įdiegčiai reikia daugiau vietos, nei jos yra diske. - {\WixUI_Font_Title}Diske neliko vietos - {120}{70}{70}{70}{70} - - [ProductName] sąranka - WixUI_Bmp_Banner - Pažymėtuose tomuose nėra pakankamai vietos, kurią būtų galima panaudoti nurodytoms priemonėms įdiegti. Galite pašalinti kai kuriuos failus iš pažymėtų tomų, įdiegti mažiau priemonių arba pasirinkti kitą paskirties diską. - Įdiegčiai reikia daugiau vietos, nei jos yra diske. - {\WixUI_Font_Title}Diske neliko vietos - {120}{70}{70}{70}{70} - Arba galite pasirinkti išjungti diegimo programos keitimų atšaukimo funkcijas. Išjungus keitimų atšaukimą, diegimo programa negalės atkurti kompiuterio pradinės būsenos, jei diegimas būtų kaip nors nutrauktas. Spustelėkite Taip, jei norite surizikuoti ir išjungti keitimų atšaukimą. - - [ProductName] sąranka - WixUI_Bmp_Dialog - Palaukite, kol sąrankos vedlys pasiruoš vadovauti diegimo procesui. - {\WixUI_Font_Bigger}Sveiki! Čia [ProductName] sąrankos vedlys - - [ProductName] sąranka - WixUI_Bmp_Banner - Palaukite, kol sąrankos vedlys įdiegs [ProductName]. - {\WixUI_Font_Title}[ProductName] diegimas - Palaukite, kol sąrankos vedlys pakeis [ProductName]. - {\WixUI_Font_Title}[ProductName] keitimas - Palaukite, kol sąrankos vedlys pataisys [ProductName]. - {\WixUI_Font_Title}[ProductName] taisymass - Palaukite, kol sąrankos vedlys pašalins [ProductName]. - {\WixUI_Font_Title}[ProductName] šalinimas - Palaukite, kol sąrankos vedlys atnaujins [ProductName]. - {\WixUI_Font_Title}[ProductName] naujinimas - Atlikta - Būsena: - - [ProductName] sąranka - &Diegti - WixUI_Bmp_Dialog - Sąrankos vedlys baigs diegti [ProductName] jūsų kompiuteryje. Norėdami tęsti spustelėkite mygtuką Diegti, o norėdami išeiti iš sąrankos vedlio, spustelėkite mygtuką Atšaukti. - {\WixUI_Font_Bigger}[ProductName] sąrankos vedlys tęsia darbą - - [ProductName] sąranka - &Įprastas - Įprastas diegimas - P&asirinktinis - Pasirinktinis diegimas - V&isas - Visas diegimas - WixUI_Bmp_Banner - {\WixUI_Font_Title}Pasirinkite sąrankos tipą - Pasirinkite sąrankos tipą, kuris geriausiai atitinka jūsų poreikius - Diegia dažniausias programos priemones. Rekomenduojama daugumai vartotojų. - Leidžia vartotojams pasirinkti, kurias programos priemones diegti ir diegimo vietą. Rekomenduojama pažengusiems vartotojams. - Bus įdiegtos visos programos priemonės. Reikia daugiausia disko vietos. - - [ProductName] sąranka - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] sąrankos vedlio darbas nutrūko - [ProductName] sąranka nutrūko. Sistema nebuvo modifikuota. Norėdami įdiegti šią programą vėliau, vėl paleiskite diegimą. - Norėdami uždaryti sąrankos vedlį, spustelėkite mygtuką Baigti. - - [ProductName] sąranka - WixUI_Bmp_Banner - &Diegti - Norėdami pradėti diegti, spustelėkite mygtuką Diegti. Norėdami peržiūrėti ar pakeisti bet kurį diegimo parametrą spustelėkite mygtuką Atgal. Norėdami išeiti iš vedlio spustelėkite mygtuką Atšaukti. - {\WixUI_Font_Title}Parengta diegti [ProductName] - &Keisti - Norėdami pradėti diegti spustelėkite mygtuką Keisti. Norėdami peržiūrėti ar pakeisti bet kurį diegimo parametrą spustelėkite mygtuką Atgal. Norėdami išeiti iš vedlio spustelėkite mygtuką Atšaukti. - {\WixUI_Font_Title}Parengta keisti [ProductName] - Ta&isyti - Norėdami taisyti [ProductName] įdiegtį, spustelėkite mygtuką Taisyti. Norėdami peržiūrėti ar pakeisti bet kurį diegimo parametrą, spustelėkite mygtuką Atgal. Norėdami išeiti iš vedlio spustelėkite mygtuką Atšaukti. - {\WixUI_Font_Title}Parengta taisyti [ProductName] - &Šalinti - Norėdami pašalinti [ProductName] iš savo kompiuterio, spustelėkite mygtuką Pašalinti. Norėdami peržiūrėti ar pakeisti bet kurį diegimo parametrą spustelėkite mygtuką Atgal. Norėdami išeiti iš vedlio spustelėkite mygtuką Atšaukti. - {\WixUI_Font_Title}Parengta pašalinti [ProductName] - &Naujinti - Spustelėkite Naujinti, norėdami atnaujinti [ProductName] iš savo kompiuterio. Spustelėkite Atgal, norėdami peržiūrėti arba pakeisti kuriuos nors diegimo parametrus. Spustelėkite Atšaukti, norėdami uždaryti vedlį. - {\WixUI_Font_Title}Parengta naujinti [ProductName] - - [ProductName] sąranka - &Grįžti - Palaukite, kol diegimo programa nustatys jūsų disko vietos reikalavimus. - WixUI_Ico_Exclam - Šauktuko piktograma - - [ProductName] sąranka - WixUI_Bmp_Dialog - Sąrankos vedlys įdiegs [ProductName] jūsų kompiuteryje. Jei norite tęsti, spustelėkite Pirmyn, jei norite baigti darbą su sąrankos vedliu, spustelėkite Atšaukti. - Sąrankos vedlys atnaujins [ProductName] jūsų kompiuteryje. Spustelėkite Pirmyn, norėdami tęsti, arba spustelėkite Atšaukti, norėdami uždaryti sąrankos vedlį. - {\WixUI_Font_Bigger}Sąrankos vedlys atnaujins [ProductName] - - [ProductName] sąranka - WixUI_Bmp_Dialog - &Sutinku su licencijos sutarties sąlygomis - &Diegti - &Naujinti - {\WixUI_Font_Title}Perskaitykite [ProductName] licencijos sutartį - - Tikrinama įdiegtis - Kopijuojami nauji failai - Failas: [1], katalogas: [9], dydis: [6] - Kopijuojami diegimo failai iš tinklo - Failas: [1], katalogas: [9], dydis: [6] - Skaičiuojama, kiek reikia vietos - Skaičiuojama, kiek reikia vietos - Skaičiuojama, kiek reikia vietos - Kuriamos nuorodos - Nuoroda: [1] - Skelbiami sąlyginiai komponentai - Komponento ID: [1], kvalifikatorius: [2] - Skelbiamos produkto priemonės - Priemonė: [1] - Skelbiama produkto informacija - Registruojami klasės serveriai - Klasės ID: [1] - Registruojami plėtinių serveriai - Plėtinys: [1] - Registruojama MIME informacija - MIME turinio tipas: [1], plėtinys: [2] - Registruojami programos identifikatoriai - ProgId: [1] - Priskiriama vieta registre - Laisva vieta: [1] - Ieškoma įdiegtų taikomųjų programų - Ypatybė: [1], parašas: [2] - Susietosios vykdomosios programos - Failas: [1] - Ieškoma tinkamų produktų - Kuriami aplankai - Aplankas: [1] - Naikinamos tarnybos - Tarnyba: [1] - Kuriamos failų kopijos - Failas: [1], katalogas: [9], dydis: [6] - Ieškoma susijusių taikomųjų programų - Rasta taikomoji programa: [1] - Diegiami ODBC komponentai - Diegiamos naujos tarnybos - Tarnyba: [2] - Vertinamos paleidimo sąlygos - Perkeliamos priemonių būsenos iš susijusių taikomųjų programų - Taikomoji programa: [1] - Perkeliami failai - Failas: [1], katalogas: [9], dydis: [6] - Failams taikomos pataisos - Failas: [1], katalogas: [2], dydis: [3] - Naujinama komponento registracija - Registruojamos COM+ taikomosios programos ir komponentai - AppId: [1]{{, AppType: [2], vartotojai: [3], RSN: [4]}} - Registruojami šriftai - Šriftas: [1] - Registruojamas produktas - [1] - Registruojamos tipų bibliotekos - LibID: [1] - Registruojamas vartotojas - [1] - Šalinamos failų kopijos - Failas: [1], katalogas: [9] - Naujinamos aplinkos eilutės - Pavadinimas: [1], reikšmė: [2], veiksmas [3] - Šalinamos taikomosios programos - Taikomoji programa: [1], komandos eilutė: [2] - Šalinami failai - Failas: [1], katalogas: [9] - Šalinami aplankai - Aplankas: [1] - Šalinami INI failų įrašai - Failas: [1], sekcija: [2], raktas: [3], reikšmė: [4] - Šalinami ODBC komponentai - Šalinamos sistemos registro reikšmės - Raktas: [1], pavadinimas: [2] - Šalinamos nuorodos - Nuoroda: [1] - Ieškoma tinkamų produktų - Registruojami moduliai - Failas [1], aplankas: [2] - Atšaukiamas modulių registravimas - Failas [1], aplankas: [2] - Inicijuojami ODBC katalogai - Paleidžiamos tarnybos - Tarnyba: [1] - Sustabdomos tarnybos - Tarnyba: [1] - Atšaukiamas tinkamų komponentų skelbimas - Komponento ID: [1], kvalifikatorius: [2] - Atšaukiamas produkto priemonių skelbimas - Priemonė: [1] - Atšaukiamas klasės serverių registravimas - Klasės ID: [1] - Atšaukiamas COM+ taikomųjų programų ir komponentų registravimas - AppId: [1]{{, AppType: [2]}} - Atšaukiamas plėtinių serverių registravimas - Plėtinys: [1] - Atšaukiamas šriftų registravimas - Šriftas: [1] - Atšaukiamas MIME informacijos registravimas - MIME turinio tipas: [1], plėtinys: [2] - Atšaukiamas programos identifikatorių registravimas - ProgId: [1] - Atšaukiamas tipų bibliotekų registravimas - LibID: [1] - Naujinamos aplinkos eilutės - Pavadinimas: [1], reikšmė: [2], veiksmas [3] - Rašomos INI failų reikšmės - Failas: [1], sekcija: [2], raktas: [3], reikšmė: [4] - Rašomos sistemos registro reikšmės - Raktas: [1], pavadinimas: [2], reikšmė: [3] - Taikomoji reklamos programa - Generuojamos veiksmo scenarijaus operacijos: - [1] - Diegiamas sistemos katalogas - Failas: [1], priklausomybės: [2] - Skelbiama rinkinio informacija - Taikomosios programos kontekstas:[1], rinkinio pavadinimas:[2] - Atšaukiamas rinkinio informacijos skelbimas - Taikomosios programos kontekstas:[1], rinkinio pavadinimas:[2] - Atšaukiamas keitimas - [1] - Šalinamos atsarginės failų kopijos - Failas: [1] - Šalinami perkelti failai - Failas: [1], katalogas: [9] - Atšaukiamas produkto informacijos skelbimas - - {{Lemtinga klaida: }} - {{Klaida [1]. }} - Įspėjimas [1]. - Informacija [1]. - Diegiant šį paketą įvyko nenumatyta klaida. Tai gali būti dėl šio paketo problemos. Klaidos kodas yra [1]. {{Argumentai: [2], [3], [4]}} - {{Diskas pilnas: }} - Veiksmas [Time]: [1]. [2] - „[ProductName]“ - {[2]}{, [3]}{, [4]} - Pranešimo tipas: [1], argumentas: [2] - === Registravimas pradėtas: [Date] [Time] === - === Registravimas baigtas: [Date] [Time] === - Veiksmo pradžia [Time]: [1]. - Veiksmo pabaiga [Time]: [1]. Grąžinta reikšmė [2]. - Liko laiko: {[1] min. }{[2] sek.} - Nepakanka atminties. Uždarykite kitas taikomąsias programas ir bandykite dar kartą. - Diegimo programa neatsiliepia. - Diegimas nutrūko per anksti. - Palaukite, kol „Windows“ sukonfigūruos [ProductName] - Renkama reikalinga informacija... - Šalinamos senesnės šios taikomosios programos versijos... - Ruošiamasi pašalinti senesnes šios taikomosios programos versijas... - {[ProductName] }sąranka atlikta sėkmingai. - {[ProductName] }sąranka nepavyko. - Klaida skaitant failą: [2]. {{ Sistemos klaida [3].}} Patikrinkite, ar tikrai šis failas yra ir ar turite prieigą prie jo. - Neįmanoma sukurti failo [2]. Katalogas tokiu pavadinimu jau yra. Atšaukite diegimą ir pamėginkite diegti kitoje vietoje. - Įdėkite diską: [2] - Diegimo programa neturi pakankamai teisių naudotis šiuo katalogu: [2]. Diegimo tęsti negalima. Užsiregistruokite kaip administratorius arba kreipkitės į savo sistemos administratorių. - Failo rašymo klaida: [2]. Patikrinkite, ar turite prieigą prie to katalogo. - Klaida skaitant failą: [2]. {{ Sistemos klaida [3].}} Patikrinkite, ar tikrai šis failas yra ir ar turite prieigą prie jo. - Kita programa turi išskirtines teises į failą [2]. Baikite darbą su visomis kitomis programomis ir spustelėkite Kartoti. - Diske nepakanka vietos šiam failui įdiegti: [2]. Atlaisvinkite vietos diske ir spustelėkite Kartoti arba išeikite spustelėdami Atšaukti. - Šaltinio failas nerastas: [2]. Patikrinkite, ar failas tikrai yra ir ar galite jį pasiekti. - Klaida skaitant failą: [3]. {{ Sistemos klaida [2].}} Patikrinkite, ar tikrai šis failas yra ir ar turite prieigą prie jo. - Klaida rašant į failą: [3]. {{Sistemos klaida [2].}} Patikrinkite, ar tikrai turite prieigą prie šio katalogo. - Šaltinio failas nerastas{{(cabinet)}}: [2]. Patikrinkite, ar šis failas yra ir ar turite prieigą prie jo. - Nepavyko sukurti katalogo [2]. Failas tokiu pavadinimu jau yra. Pervardykite ar pašalinkite failą ir spustelėkite Kartoti arba išeikite spustelėdami Atšaukti. - Tomas [2] šiuo metu nepasiekiamas. Pasirinkite kitą. - Nurodytas kelias [2] nepasiekiamas. - Nepavyksta įrašyti į nurodytą aplanką: [2]. - Bandant skaityti failą įvyko tinklo klaida: [2] - Bandant sukurti katalogą įvyko klaida: [2] - Bandant sukurti katalogą įvyko tinklo klaida: [2] - Bandant atidaryti pirminį kabinetinio formato failą įvyko tinklo klaida: [2] - Nurodytas kelias yra per ilgas: [2] - Diegimo programa turi per mažai teisių, kad galėtų modifikuoti šį failą: [2]. - Dalis aplanko kelio [2] netinkama. Ji tuščia arba viršija sistemos leidžiamą ilgį. - Aplanko kelyje [2] yra žodžių, netinkamų aplankų keliams. - Aplanko kelyje [2] yra netinkamas simbolis. - [2] nėra tinkamas trumpasis failo vardas. - Failo saugos klaida: [3] GetLastError: [2] - Netinkamas diskas: [2] - Klaida taikant pataisas failui [2]. Tikriausiai jis buvo atnaujintas kitu būdu, todėl ši pataisa nebegali jo modifikuoti. Dėl išsamesnės informacijos kreipkitės į savo pataisų teikėją. {{Sistemos klaida: [3]}} - Reikiamo failo negalima įdiegti, nes kabinetinio formato failas [2] nepasirašytas skaitmeniniu būdu. Tai gali rodyti, kad kabinetinio formato failas yra sugadintas. - Reikiamo failo negalima įdiegti, nes kabinetinio formato failas [2] pasirašytas netinkamu skaitmeniniu parašu. Tai gali rodyti, kad kabinetinio formato failas yra sugadintas.{{ WinVerifyTrust pateikė klaidą [3].}} - Nepavyko tinkamai nukopijuoti failo [2]: CRC klaida. - Nepavyko tinkamai perkelti failo [2]: CRC klaida. - Nepavyko tinkamai pritaikyti pataisų failui [2]: CRC klaida. - Negalima įdiegti failo [2], nes failo nėra kabinetinio formato faile [3]. Tai gali reikšti tinklo klaidą, skaitymo iš kompaktinio disko klaidą arba šio paketo problemą. - Diegimui reikalingas kabinetinio formato failas [2] yra sugadintas ir negali būti naudojamas. Tai gali reikšti tinklo klaidą, skaitymo iš kompaktinio disko klaidą arba šio paketo problemą. - Įvyko klaida kuriant diegimui baigti reikalingą laikinąjį failą.{{ Aplankas: [3]. Sistemos klaidos kodas: [2]}} - Nepavyko sukurti rakto: [2]. {{ Sistemos klaida [3].}} Patikrinkite, ar tikrai turite pakankamą prieigą prie šio rakto, arba kreipkitės į techninės pagalbos personalą. - Nepavyko atidaryti rakto: [2]. {{ Sistemos klaida [3].}} Patikrinkite, ar tikrai turite pakankamą prieigą prie šio rakto, arba kreipkitės į techninės pagalbos personalą. - Nepavyko panaikinti rakto [3] reikšmės [2]. {{ Sistemos klaida [4].}} Patikrinkite, ar tikrai turite pakankamą prieigą prie šio rakto, arba kreipkitės į techninės pagalbos personalą. - Nepavyko panaikinti rakto: [2]. {{ Sistemos klaida [3].}} Patikrinkite, ar tikrai turite pakankamą prieigą prie šio rakto, arba kreipkitės į techninės pagalbos personalą. - Nepavyko nuskaityti rakto [3] reikšmės [2]. {{ Sistemos klaida [4].}} Patikrinkite, ar tikrai turite pakankamą prieigą prie šio rakto, arba kreipkitės į techninės pagalbos personalą. - Nepavyko įrašyti reikšmės [2] į raktą [3]. {{ Sistemos klaida [4].}} Patikrinkite, ar tikrai turite pakankamą prieigą prie šio rakto, arba kreipkitės į techninės pagalbos personalą. - Nepavyko nuskaityti rakto [2] reikšmės pavadinimų. {{ Sistemos klaida [3].}} Patikrinkite, ar tikrai turite pakankamą prieigą prie šio rakto, arba kreipkitės į techninės pagalbos personalą. - Nepavyko nuskaityti rakto [2] antrinių raktų pavadinimų. {{ Sistemos klaida [3].}} Patikrinkite, ar tikrai turite pakankamą prieigą prie šio rakto, arba kreipkitės į techninės pagalbos personalą. - Nepavyko nuskaityti rakto [2] saugos informacijos. {{ Sistemos klaida [3].}} Patikrinkite, ar tikrai turite pakankamą prieigą prie šio rakto, arba kreipkitės į techninės pagalbos personalą. - Nepavyko padaryti daugiau laisvos vietos registre. Šiai taikomajai programai įdiegti reikia [2] KB laisvos registro vietos. - Vyksta kitos programos diegimas. Turite jį užbaigti, kad galėtumėte toliau diegti šią programą. - Klaida kreipiantis į apsaugotus duomenis. Įsitikinkite, kad programa „Windows Installer“ yra tinkamai sukonfigūruota, ir bandykite diegti dar kartą. - Vartotojas [2] anksčiau pradėjo diegti produktą [3]. Šis vartotojas turės pakartoti diegimą, kad galėtų naudoti šį produktą. Jūsų pradėtas diegimas dabar bus tęsiamas. - Vartotojas [2] anksčiau pradėjo diegti produktą [3]. Šis vartotojas turės pakartoti diegimą, kad galėtų naudoti šį produktą. - Diske nebėra vietos -- tomas: [2]; reikia vietos: [3] KB; laisvos vietos: [4] KB. Atlaisvinkite vietos diske ir bandykite dar kartą. - Ar tikrai norite atšaukti? - Failą [2][3] naudoja { šis procesas: pavadinimas: [4], ID: [5], lango pavadinimas: [6]}. Uždarykite šią taikomąją programą ir bandykite dar kartą. - [2] produktas jau įdiegtas ir neleidžia diegti šio produkto. Šie du produktai nesuderinami. - Nepakanka disko tomo [2] vietos toliau diegti su atkūrimo galimybe. Reikia [3] KB, o yra tik [4] KB laisvos vietos. Spustelėkite Nepaisyti ir diekite toliau, neįrašydami atkūrimo informacijos, spustelėkite Kartoti ir dar kartą patikrinkite, kiek yra laisvos vietos, arba spustelėkite Atšaukti ir nutraukite diegimą. - Nepavyko pasiekti tinklo vietos [2]. - Prieš tęsiant diegimą reikia uždaryti šias taikomąsias programas: - Nepavyko rasti jokių anksčiau kompiuteryje įdiegtų reikalavimus atitinkančių produktų, kad būtų galima diegti šį produktą. - Klaida pritaikant saugos parametrus. [2] nėra tinkamas vartotojas ar grupė. Tai gali būti paketo problema arba ryšio klaida, kreipiantis į tinklo domeno valdiklį. Patikrinkite tinklo ryšį ir spustelėkite Kartoti arba spustelėkite Atšaukti ir nutraukite diegimą. {{Nepavyko rasti vartotojo SID, sistemos klaida [3]}} - Raktas [2] negalioja. Patikrinkite, ar įvedėte teisingą raktą. - Diegimo programa turi paleisti sistemą iš naujo, kad būtų galima tęsti [2] konfigūravimą. Spustelėkite Taip ir paleiskite iš naujo dabar arba spustelėkite Ne ir paleiskite iš naujo vėliau neautomatiškai. - Turite paleisti sistemą iš naujo, kad [2] konfigūravimo metu padaryti keitimai įsigaliotų. Spustelėkite Taip ir paleiskite iš naujo dabar arba spustelėkite Ne ir paleiskite iš naujo vėliau. - [2] diegimas šiuo metu sustabdytas. Norėdami tęsti, turite anuliuoti diegiant padarytus keitimus. Ar norite anuliuoti šiuos keitimus? - Vykdomas ankstesnis šio produkto diegimas. Norėdami tęsti, turite anuliuoti diegiant padarytus keitimus. Ar norite anuliuoti šiuos keitimus? - Nepavyko rasti produkto [2] diegimo paketo. Bandykite diegti dar kartą, naudodami tinkamą diegimo paketo [3] kopiją. - Sėkmingai įdiegta. - Nepavyko įdiegti. - Produktas: [2] -- [3] - Galite atkurti ankstesnę kompiuterio būseną arba tęsti diegimą vėliau. Ar norėtumėte atkurti? - Klaida įrašant diegimo informaciją į diską. Patikrinkite, ar diske yra pakankamai vietos, ir spustelėkite mygtuką Kartoti arba spustelėkite Atšaukti ir nutraukite diegimą. - Nepavyko rasti vieno ar daugiau failų, reikalingų ankstesnei kompiuterio būsenai atkurti. Atkūrimas neįmanomas. - [2] negali įdiegti vieno iš būtinų produktų. Kreipkitės į techninės pagalbos grupę. {{Sistemos klaida: [3].}} - Ankstesnės [2] versijos negalima pašalinti. Kreipkitės į techninės pagalbos grupę. {{Sistemos klaida [3].}} - [2] įdiegta - [2] sukonfigūruota - [2] pašalinta - Skaitmeninio parašo strategija atmetė failą [2]. - Nepavyko pasiekti „Windows Installer“ tarnybos. Taip gali įvykti, jei naudojate sistemą „Windows“ saugos režimu arba jei „Windows Installer“ nėra tinkamai įdiegta. Kreipkitės pagalbos į palaikymo personalą. - „Windows Installer“ paketo problema. Scenarijaus, reikalingo šiam diegimui užbaigti, paleisti nepavyko. Kreipkitės į techninės pagalbos darbuotojus arba į paketo tiekėją. {{Pasirinktinis veiksmas [2] scenarijaus klaida [3], [4]: [5] eilutė [6], stulpelis [7], [8] }} - „Windows Installer“ paketo problema. Nepavyko paleisti programos, reikalingos diegimui baigti. Kreipkitės į techninės pagalbos darbuotojus arba paketo tiekėją. {{Veiksmas: [2], vieta: [3], komanda: [4] }} - „Windows Installer“ paketo problema. Programa, paleista kaip sąrankos dalis, baigė darbą ne taip, kaip tikėtasi. Kreipkitės į techninės pagalbos darbuotojus arba į paketo tiekėją. {{Veiksmas [2], vieta: [3], komanda: [4] }} - „Windows Installer“ paketo problema. Nepavyko paleisti DLL, reikalingo šiam diegimui atlikti. Kreipkitės į techninės pagalbos darbuotojus arba į paketo tiekėją. {{Veiksmas [2], įrašas: [3], biblioteka: [4] }} - Pašalinta sėkmingai. - Pašalinti nepavyko. - Reklama sėkminga. - Reklama nepavyko. - Konfigūravimas sėkmingas. - Sukonfigūruoti nepavyko. - Turite būti administratorius, kad galėtumėte pašalinti šią taikomąją programą. Įeikite kaip administratorius arba kreipkitės pagalbos į techninio palaikymo skyrių. - Produkto [2] šaltinio diegimo paketas nesusinchronizuotas su kliento paketu. Bandykite diegti iš naujo naudodami tinkamą diegimo paketo [3] kopiją. - Jei norite baigti diegti [2], turite iš naujo paleisti kompiuterį. Prie kompiuterio šiuo metu yra prisiregistravę kiti vartotojai ir paleidus iš naujo gali būti prarastas jų darbas. Ar norite paleisti iš naujo dabar? - Kelias [2] negalioja. Nurodykite galiojantį kelią. - Nepakanka atminties. Uždarykite kitas taikomąsias programas ir bandykite dar kartą. - Įrenginyje [2] nėra disko. Įdėkite diską ir spustelėkite Kartoti arba spustelėkite Atšaukti ir grįžkite į anksčiau pasirinktą tomą. - Įrenginyje [2] nėra disko. Įdėkite diską ir spustelėkite Kartoti arba spustelėkite Atšaukti ir grįžkite į naršyklės dialogo langą ir pasirinkite kitą tomą. - Aplanko [2] nėra. Įveskite kelią į esantį aplanką. - Neturite pakankamai teisių skaityti šį aplanką. - Nepavyko nustatyti tinkamo šio diegimo paskirties aplanko. - Klaida bandant skaityti diegimo duomenų bazės šaltinį: [2]. - Planuojama perkrovimo operacija: keičiamas failo vardas iš [2] į [3]. Būtina perkrauti, kad operacija būtų atlikta iki galo. - Planuojama perkrovimo operacija: naikinamas failas [2]. Būtina perkrauti, kad operacija būtų atlikta iki galo. - [2] modulio įregistruoti nepavyko. HRESULT [3]. Kreipkitės į techninės pagalbos personalą. - [2] modulio išregistruoti nepavyko. HRESULT [3]. Kreipkitės į techninės pagalbos personalą. - Nepavyko perkelti paketo [2] į talpyklą. Klaida: [3]. Kreipkitės į techninės pagalbos personalą. - Nepavyko užregistruoti šrifto [2]. Patikrinkite, ar tikrai turite pakankamai teisių diegti šriftus ir ar sistema palaiko šį šriftą. - Nepavyko išregistruoti šrifto [2]. Patikrinkite, ar tikrai turite pakankamai teisių šalinti šriftus. - Nepavyko sukurti nuorodos [2]. Patikrinkite, ar tikrai paskirties aplankas yra ir ar turite prie jo prieigą. - Nepavyko pašalinti nuorodos [2]. Patikrinkite, ar tikrai nuorodos failas yra ir ar turite prie jo prieigą. - Nepavyko užregistruoti [2] failui skirtos tipų bibliotekos. Kreipkitės į techninės pagalbos personalą. - Nepavyko išregistruoti [2] failui skirtos tipų bibliotekos. Kreipkitės į techninės pagalbos personalą. - Nepavyko atnaujinti ini failo [2][3]. Patikrinkite, ar failas tikrai yra ir ar galite jį naudoti. - Nepavyko suplanuoti [2] failo pakeisti failu [3] perkraunant. Patikrinkite, ar turite įrašymo į [3] failą teises. - Klaida šalinant ODBC tvarkyklės tvarkytuvą, ODBC klaida [2]: [3]. Kreipkitės į techninės pagalbos personalą. - Klaida diegiant ODBC tvarkyklės tvarkytuvą, ODBC klaida [2]: [3]. Kreipkitės į techninės pagalbos personalą. - Klaida šalinant ODBC tvarkyklę: [4], ODBC klaida [2]: [3]. Patikrinkite, ar tikrai turite pakankamai teisių ODBC tvarkyklėms šalinti. - Klaida diegiant ODBC tvarkyklę: [4], ODBC klaida [2]: [3]. Patikrinkite, ar tikrai šis failas [4] yra ir ar turite prie jo prieigą. - Klaida konfigūruojant ODBC duomenų šaltinį: [4], ODBC klaida [2]: [3]. Patikrinkite, ar tikrai failas [4] yra ir ar turite prie jo prieigą. - Nepavyko paleisti paslaugos [2] ([3]). Patikrinkite, ar turite pakankamai teisių sistemos tarnyboms paleisti. - Nepavyko sustabdyti tarnybos [2] ([3]). Patikrinkite, ar turite pakankamai teisių sistemos tarnyboms sustabdyti. - Nepavyko panaikinti tarnybos [2] ([3]). Patikrinkite, ar turite pakankamai teisių sistemos tarnyboms pašalinti. - Nepavyko įdiegti tarnybos [2] ([3]). Patikrinkite, ar turite pakankamai teisių sistemos tarnyboms diegti. - Nepavyko atnaujinti aplinkos kintamojo [2]. Patikrinkite, ar turite pakankamai teisių aplinkos kintamiesiems modifikuoti. - Neturite pakankamai teisių šiam diegimui baigti visiems kompiuterio vartotojams. Prisiregistruokite kaip administratorius ir pakartokite diegimą. - Failui [3] nepavyko nustatyti failo apsaugos. Klaida: [2]. Patikrinkite, ar turite pakankamai teisių šio failo saugos leidimams modifikuoti. - Komponento tarnybos (COM+ 1.0) šiame kompiuteryje neįdiegtos. Diegimui sėkmingai užbaigti reikalingos komponento tarnybos. Komponento tarnybas galima rasti operacinėje sistemoje „Windows 2000“. - Klaida registruojant COM+ taikomąją programą. Dėl išsamesnės informacijos kreipkitės į techninės pagalbos personalą. - Klaida išregistruojant COM+ taikomąją programą. Dėl išsamesnės informacijos kreipkitės į techninės pagalbos personalą. - Nepavyko pakeisti tarnybos [2] ([3]) aprašo. - „Windows Installer“ tarnyba negali atnaujinti sistemos failo [2], nes failą saugo sistema „Windows“. Kad ši programa tinkamai veiktų, gali tekti atnaujinti savo operacinę sistemą. {{Paketo versija: [3], OS apsaugota versija: [4]}} - „Windows Installer“ tarnybai nepavyko atnaujinti apsaugoto sistemos „Windows“ failo [2]. {{Paketo versija: [3], OS apsaugota versija: [4], SFP klaida: [5]}} - „Windows Installer“ tarnyba negali atnaujinti vieno arba daugiau apsaugotų „Windows“ failų. {{SFP klaida: [2]. Apsaugotų failų sąrašas:\r\n[3]}} - Kompiuterio sistemos strategija draudžia vartotojams diegti. - Klaida diegiant rinkinio komponentą [6]. Išsamesnės informacijos ieškokite žinyne ir palaikymo informacijoje. HRESULT: [3]. {{rinkinio sąsaja: [4], funkcija: [5], komponentas: [2]}} - Klaida diegiant rinkinį [6]. Rinkinys nėra griežtai įvardytas arba pasirašytas minimalaus ilgio raktu. HRESULT: [3]. {{rinkinio sąsaja: [4], funkcija: [5], komponentas: [2]}} - Klaida diegiant rinkinį [6]. Parašas arba katalogas negalioja arba jo nepavyko patikrinti. HRESULT: [3]. {{rinkinio sąsaja: [4], funkcija: [5], komponentas: [2]}} - Klaida diegiant rinkinį [6]. Nepavyko rasti vieno ar daugiau rinkinio modulių. HRESULT: [3]. {{rinkinio sąsaja: [4], funkcija: [5], komponentas: [2]}} - - baitai - GB - KB - MB - Visa priemonė bus nepasiekiama - Priemonė bus įdiegta prireikus - Visa priemonė bus įdiegta vykdyti iš kompaktinio disko - Visa priemonė bus įdiegta vietiniame standžiajame diske - Visa priemonė bus įdiegta vykdyti iš tinklo - Bus įdiegta vykdyti iš kompaktinio disko - Bus įdiegta vietiniame standžiajame diske - Bus įdiegta vykdyti iš tinklo - Aplankas|Naujas aplankas - Renkama reikalinga informacija... - Ši priemonė liks neįdiegta - Ši priemonė bus nustatyta, kad būtų įdiegta prireikus - Ši priemonė bus įdiegta vykdyti iš kompaktinio disko - Ši priemonė bus įdiegta vietiniame standžiajame diske - Ši priemonė bus įdiegta vykdyti iš tinklo - Ši priemonė taps nepasiekiama - Bus įdiegta prireikus - Šią priemonę bus galima vykdyti iš kompaktinio disko - Ši priemonė bus įdiegta jūsų vietiniame standžiajame diske - Šią priemonę bus galima vykdyti iš tinklo - Ši priemonė bus visiškai pašalinta ir jūs nebegalėsite jos vykdyti iš kompaktinio disko - Šios priemonės būsena bus pakeista iš vykdomos iš kompaktinio disko į diegiamą prireikus - Ši priemonė liks vykdoma iš kompaktinio disko - Šios priemonės būsena pasikeis iš vykdomos iš kompaktinio disko į diegiamą vietiniame standžiajame diske - Ši priemonė atlaisvina [1] vietos jūsų standžiajame diske. - Šiai priemonei reikia [1] vietos jūsų standžiajame diske. - Kompiliuojamos šios priemonės išlaidos... - Ši priemonė bus visiškai pašalinta - Ši priemonė bus pašalinta iš jūsų vietinio standžiojo disko, tačiau bus nustatyta įdiegti prireikus - Ši priemonė bus pašalinta iš jūsų vietinio standžiojo disko, tačiau ją vis dar bus galima vykdyti iš kompaktinio disko - Ši priemonė liks jūsų vietiniame standžiajame diske - Ši priemonė bus pašalinta iš jūsų vietinio standžiojo disko, tačiau ją vis dar bus galima vykdyti iš tinklo - Ši priemonė bus visiškai pašalinta ir jūs nebegalėsite jos vykdyti iš tinklo - Šios priemonės būsena pasikeis iš vykdomos iš tinklo į diegiamą prireikus - Šios priemonės būsena pasikeis iš vykdomos iš tinklo į diegiamą vietiniame standžiajame diske - Ši priemonė tebebus vykdoma iš tinklo - Ši priemonė atlaisvina [1] vietos jūsų standžiajame diske. Jai priskirta [2] iš [3] pažymėtų papildomų priemonių. Papildomos priemonės atlaisvina [4] vietos jūsų standžiajame diske. - Ši priemonė atlaisvina [1] vietos jūsų standžiajame diske. Jai priskirta [2] iš [3] pažymėtų papildomų priemonių. Papildomoms priemonėms reikia [4] vietos jūsų standžiajame diske. - Šiai priemonei reikia [1] vietos jūsų standžiajame diske. Jai priskirta [2] iš [3] pažymėtų papildomų priemonių. Papildomos priemonės atlaisvina [4] vietos jūsų standžiajame diske. - Šiai priemonei reikia [1] vietos jūsų standžiajame diske. Jai priskirta [2] iš [3] pažymėtų papildomų priemonių. Papildomoms priemonėms reikia [4] vietos jūsų standžiajame diske. - Liko laiko: {[1] min. }{[2] sek.} - Pasiekiama - Skirtumas - Reikalinga - Disko talpa - Tomas - diff --git a/Src/Localization/WixUI/WixUI_lv-LV.wxl b/Src/Localization/WixUI/WixUI_lv-LV.wxl deleted file mode 100644 index 3d4582d..0000000 --- a/Src/Localization/WixUI/WixUI_lv-LV.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Atpakaļ - &Tālāk - Atcelt - &Pabeigt - &Mēģināt vēlreiz - &Ignorēt - &Jā - &Nē - Labi - &Drukāt - - [ProductName] uzstādīšana - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lūdzu, izlasiet [ProductName] licences līgumu - Es &piekrītu licences līguma nosacījumiem - Noklikšķiniet uz Instalēt, lai instalētu produktu, visiem lietotājiem izmantojot noklusējuma opcijas. Noklikšķiniet uz Papildu, lai mainītu instalēšanas opcijas. - Noklikšķiniet uz Instalēt, lai instalētu produktu, izmantojot noklusējuma opcijas tikai savam kontam. Noklikšķiniet uz Papildu, lai mainītu instalēšanas opcijas. - &Instalēt - P&apildu - 8 - 12 - 9 - 8 - Tahoma - - [ProductName] uzstādīšana - &Skatīt šeit: - WixUI_Bmp_Up - Vienu līmeni augstāk - WixUI_Bmp_New - Izveidot jaunu mapi - &Mapes nosaukums: - WixUI_Bmp_Banner - Meklēt mērķa mapi - {\WixUI_Font_Title}Mērķa mapes maiņa - - [ProductName] uzstādīšana - Vai tiešām vēlaties atcelt [ProductName] instalēšanu? - WixUI_Ico_Info - Informācijas ikona - - [ProductName] uzstādīšana - Atlases iespēju koks - Pā&rlūkot... - Atie&statīt - Diska lietoj&ums - WixUI_Bmp_Banner - Noklikšķiniet uz ikonām kokā, lai mainītu līdzekļu instalēšanas veidu. - Atlasiet vajadzīgo līdzekļu instalēšanas veidu. - {\WixUI_Font_Title}Pielāgota uzstādīšana - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Atrašanās vieta: - - [ProductName] uzstādīšana - WixUI_Bmp_Banner - Iezīmētajiem sējumiem nepietiek vietas diskā, lai instalētu atlasītos līdzekļus. Varat noņemt dažus failus no iezīmētajiem sējumiem, instalēt mazāk līdzekļu vai atlasīt citus mērķa diskdziņus. - Atlasīto līdzekļu instalēšanai nepieciešamā vieta diskā. - {\WixUI_Font_Title}Nepieciešamā vieta diskā - {120}{70}{70}{70}{70} - - [ProductName] uzstādīšana - Informācijas teksts - WixUI_Ico_Info - Informācijas ikona - - [ProductName] uzstādīšana - WixUI_Bmp_Dialog - Noklikšķiniet uz pogas Pabeigt, lai izietu no Uzstādīšanas vedņa. - {\WixUI_Font_Bigger}[ProductName] uzstādīšanas vednis ir pabeigts - - [ProductName] uzstādīšana - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] uzstādīšanas vednis darbību beidza priekšlaikus - [ProductName] uzstādīšanas vednis darbību pabeidza priekšlaikus kļūdas dēļ. Sistēma nav modificēta. Lai šo programmu instalētu vēlāk, vēlreiz palaidiet Uzstādīšanas vedni. - Noklikšķiniet uz pogas Pabeigt, lai izietu no Uzstādīšanas vedņa. - - [ProductName] uzstādīšana - Produkta līdzekļi - WixUI_Bmp_Banner - Atlasiet vajadzīgo līdzekļu instalēšanas veidu. - {\WixUI_Font_Title}Produkta līdzekļi - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Instalēt - &Mainīt - - [ProductName] uzstādīšana - I&ziet - WixUI_Bmp_Banner - Tālāk norādītās lietojumprogrammas izmanto failus, kas ir jāatjaunina uzstādīšanas laikā. Aizveriet šīs lietojumprogrammas un pēc tam noklikšķiniet uz &Mēģināt vēlreiz, lai turpinātu instalēšanu, vai uz Iziet, lai izietu no tās. - Daži no failiem, kas jāatjaunina, pašlaik tiek lietoti. - {\WixUI_Font_Title}Faili, kas tiek lietoti - - [ProductName] uzstādīšana - &Mainīt... - {\WixUI_Font_Title}Mērķa mape - Noklikšķiniet uz Tālāk, lai instalētu noklusējuma mapi, vai noklikšķiniet uz Mainīt, lai izvēlētos citu mapi. - WixUI_Bmp_Banner - Instalēt [ProductName] šeit: - - [ProductName] uzstādīšana - WixUI_Bmp_Banner - Izvēlieties instalēšanas tvērumu un mapi - {\WixUI_Font_Title}Instalēšanas tvērums - {\WixUI_Font_Emphasized}Instalēt &tikai sev ([LogonUser]) - [ProductName] tiks instalēts lietotājam paredzētā mapē un būs pieejams tikai jūsu lietotāja kontam. Nav nepieciešamas lokālā administratora atļaujas. - [ProductName] neatbalsta lietotājam paredzētu instalēšanu. - {\WixUI_Font_Emphasized}Instalēt visiem šī &datora lietotājiem - Pēc noklusējuma [ProductName] tiks instalēts datoram paredzētā mapē un būs pieejams visiem lietotājiem. Noklusējuma instalācijas mapi var mainīt. Jums ir nepieciešamas lokālā administratora atļaujas. - Instalācijas &mape: - &Mainīt... - - [ProductName] uzstādīšana - Instalācijas direktorijam ir jāatrodas lokālajā cietajā diskā. - WixUI_Ico_Info - Informācijas ikona - - [ProductName] uzstādīšana - Es &piekrītu licences līguma nosacījumiem - WixUI_Bmp_Banner - Lūdzu, uzmanīgi izlasiet šo licences līgumu - {\WixUI_Font_Title}Lietotāja licences līgums - - [ProductName] uzstādīšana - &Mainīt - Mainīt instalāciju - La&bot - Labot instalāciju - &Noņemt - Noņemt instalāciju - WixUI_Bmp_Banner - Atlasiet veicamo darbību. - {\WixUI_Font_Title}Instalācijas maiņa, labošana vai noņemšana - Ļauj mainīt līdzekļu instalēšanas veidu. - Produktam [ProductName] nav neatkarīgi atlasāmu līdzekļu. - Noņem produktu [ProductName] no datora. - Nevar noņemt [ProductName]. - Jaunākajā instalācijā labo kļūdas, labojot trūkstošos un bojātos failus, saīsnes un reģistra ierakstus. - Nevar labot [ProductName]. - - [ProductName] uzstādīšana - WixUI_Bmp_Dialog - Izmantojot uzstādīšanas vedni, varat mainīt veidu, kā [ProductName] līdzekļi tiek instalēti datorā, vai noņemt to no datora. Noklikšķiniet uz Tālāk, lai turpinātu, vai uz Atcelt, lai izietu no uzstādīšanas vedņa. - {\WixUI_Font_Bigger}Esiet sveicināts [ProductName] uzstādīšanas vednī! - - [ProductName] uzstādīšana - WixUI_Bmp_Banner - Tālāk norādītās lietojumprogrammas izmanto failus, kas ir jāatjaunina uzstādīšanas laikā. Varat ļaut uzstādīšanas vednim tās aizvērt un mēģināt restartēt vai vēlāk atkārtoti sāknēt ierīci. - Daži no failiem, kas jāatjaunina, pašlaik tiek lietoti. - {\WixUI_Font_Title}Faili, kas tiek lietoti - &Aizveriet lietojumprogrammas un mēģiniet tās restartēt. - &Neaizveriet lietojumprogrammas. Būs jāveic atkārtota sāknēšana. - - [ProductName] uzstādīšana - WixUI_Bmp_Banner - Iezīmētajiem sējumiem nepietiek vietas diskā, lai instalētu pašreiz atlasītos līdzekļus. Varat noņemt dažus failus no iezīmētajiem sējumiem, instalēt mazāk līdzekļu vai norādīt citu mērķa diskdzini. - Instalēšanai nepieciešamā vieta diskā pārsniedz diskā pieejamo vietu. - {\WixUI_Font_Title}Nepietiek vietas diskā - {120}{70}{70}{70}{70} - - [ProductName] uzstādīšana - WixUI_Bmp_Banner - Iezīmētajiem sējumiem nepietiek vietas diskā, lai instalētu pašreiz atlasītos līdzekļus. Varat noņemt dažus failus no iezīmētajiem sējumiem, instalēt mazāk līdzekļu vai norādīt citu mērķa diskdzini. - Instalēšanai nepieciešamā vieta diskā pārsniedz diskā pieejamo vietu. - {\WixUI_Font_Title}Nepietiek vietas diskā - {120}{70}{70}{70}{70} - Vai arī varat izvēlēties instalēšanas programmas atrites funkcionalitātes atspējošanu. Izvēloties atrites atspējošanu, tiek novērsts, ka jebkādā instalēšanas pārtraukšanas gadījumā instalēšanas programma atjauno datora sākotnējo stāvokli. Noklikšķiniet uz Jā, ja vēlaties riskēt un atspējot atriti. - - [ProductName] uzstādīšana - WixUI_Bmp_Dialog - Uzgaidiet, līdz Uzstādīšanas vednī tiek sagatavoti instalēšanas norādījumi. - {\WixUI_Font_Bigger}Esiet sveicināts [ProductName] uzstādīšanas vednī! - - [ProductName] uzstādīšana - WixUI_Bmp_Banner - Lūdzu, uzgaidiet, kamēr uzstādīšanas vednis instalē [ProductName]. - {\WixUI_Font_Title}Notiek [ProductName] instalēšana - Lūdzu, uzgaidiet, kamēr uzstādīšanas vednis maina [ProductName]. - {\WixUI_Font_Title}Notiek [ProductName] maiņa - Lūdzu, uzgaidiet, kamēr uzstādīšanas vednis labo [ProductName]. - {\WixUI_Font_Title}Notiek [ProductName] labošana - Lūdzu, uzgaidiet, kamēr uzstādīšanas vednis noņem [ProductName]. - {\WixUI_Font_Title}Notiek [ProductName] noņemšana - Lūdzu, uzgaidiet, kamēr uzstādīšanas vednis atjaunina produktu [ProductName]. - {\WixUI_Font_Title}Notiek [ProductName] atjaunināšana - Norises progress - Statuss: - - [ProductName] uzstādīšana - &Instalēt - WixUI_Bmp_Dialog - Izmantojot uzstādīšanas vedni, datorā tiks pabeigta [ProductName] instalēšana. Noklikšķiniet uz Instalēt, lai turpinātu, vai uz Atcelt, lai izietu no uzstādīšanas vedņa. - {\WixUI_Font_Bigger}Notiek [ProductName] uzstādīšanas vedņa atsākšana - - [ProductName] uzstādīšana - &Parasta - Parasta instalācija - P&ielāgota - Pielāgota instalācija - &Pilna - Pilna instalācija - WixUI_Bmp_Banner - {\WixUI_Font_Title}Uzstādīšanas tipa izvēle - Izvēlieties savām vajadzībām visatbilstošāko uzstādīšanas tipu - Tiek instalēti visbiežāk lietotie programmas līdzekļi. Ieteicams lielākajai daļai lietotāju. - Lietotāji var izvēlēties instalēšanas vietu un instalējamos programmas līdzekļus. Ieteicams pieredzējušiem lietotājiem. - Tiks instalēti visi programmas līdzekļi. Aizņem visvairāk vietas diskā. - - [ProductName] uzstādīšana - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] uzstādīšanas vedņa darbība tika pārtraukta - [ProductName] uzstādīšana tika pārtraukta. Sistēma netika modificēta. Lai instalētu šo programmu vēlāk, atkārtoti palaidiet instalēšanu. - Noklikšķiniet uz pogas Pabeigt, lai izietu no Uzstādīšanas vedņa. - - [ProductName] uzstādīšana - WixUI_Bmp_Banner - &Instalēt - Noklikšķiniet uz Instalēt, lai sāktu instalēšanu. Noklikšķiniet uz Atpakaļ, lai pārskatītu vai mainītu jebkuru instalēšanas iestatījumu. Noklikšķiniet uz Atcelt, lai izietu no vedņa. - {\WixUI_Font_Title}Gatavs [ProductName] instalēšanai - &Mainīt - Noklikšķiniet uz Mainīt, lai sāktu instalēšanu. Noklikšķiniet uz Atpakaļ, lai pārskatītu vai mainītu jebkuru instalēšanas iestatījumu. Noklikšķiniet uz Atcelt, lai izietu no vedņa. - {\WixUI_Font_Title}Gatavs [ProductName] mainīšanai - La&bot - Noklikšķiniet uz Labot, lai labotu [ProductName] instalāciju. Noklikšķiniet uz Atpakaļ, lai pārskatītu vai mainītu jebkuru instalēšanas iestatījumu. Noklikšķiniet uz Atcelt, lai izietu no vedņa. - {\WixUI_Font_Title}Gatavs [ProductName] labošanai - &Noņemt - Noklikšķiniet uz Noņemt, lai noņemtu produktu [ProductName] no datora. Noklikšķiniet uz Atpakaļ, lai pārskatītu vai mainītu jebkuru instalēšanas iestatījumu. Noklikšķiniet uz Atcelt, lai izietu no vedņa. - {\WixUI_Font_Title}Gatavs [ProductName] noņemšanai - Atja&unināt - Noklikšķiniet uz Atjaunināt, lai atjauninātu [ProductName] no datora. Noklikšķiniet uz Atpakaļ, lai pārskatītu vai mainītu jebkuru instalēšanas iestatījumu. Noklikšķiniet uz Atcelt, lai izietu no vedņa. - {\WixUI_Font_Title}Gatavs [ProductName] atjaunināšanai - - [ProductName] uzstādīšana - &Atgriezt - Lūdzu, uzgaidiet, kamēr instalēšanas programma pabeidz noteikt nepieciešamo vietu diskā. - WixUI_Ico_Exclam - Izsaukuma zīmes ikona - - [ProductName] uzstādīšana - WixUI_Bmp_Dialog - Izmantojot uzstādīšanas vedni, datorā tiks instalēts [ProductName]. Noklikšķiniet uz Tālāk, lai turpinātu, vai uz Atcelt, lai izietu no uzstādīšanas vedņa. - Izmantojot uzstādīšanas vedni, datorā tiks atjaunināts [ProductName]. Noklikšķiniet uz Tālāk, lai turpinātu, vai uz Atcelt, lai izietu no uzstādīšanas vedņa. - {\WixUI_Font_Bigger}Esiet sveicināts [ProductName] uzstādīšanas vednī! - - [ProductName] uzstādīšana - WixUI_Bmp_Dialog - Es &piekrītu licences līguma nosacījumiem - &Instalēt - Atja&unināt - {\WixUI_Font_Title}Lūdzu, izlasiet [ProductName] licences līgumu - - Notiek instalācijas validācija - Notiek jauno failu kopēšana - Fails: [1], direktorijs: [9], lielums: [6] - Notiek tīkla instalācijas failu kopēšana - Fails: [1], direktorijs: [9], lielums: [6] - Notiek nepieciešamās vietas aprēķināšana - Notiek nepieciešamās vietas aprēķināšana - Notiek nepieciešamās vietas aprēķināšana - Notiek saīšņu izveide - Saīsne: [1] - Notiek atbilstošo komponentu publicēšana - Komponenta ID: [1], kvalifikators: [2] - Notiek produkta līdzekļu publicēšana - Līdzeklis: [1] - Notiek produkta informācijas publicēšana - Notiek klašu serveru reģistrēšana - Klases ID: [1] - Notiek paplašinājumu serveru reģistrēšana - Paplašinājums: [1] - Notiek MIME informācijas reģistrēšana - MIME satura tips: [1], paplašinājums: [2] - Notiek programmu identifikatoru reģistrēšana - ProgId: [1] - Notiek reģistra vietas piešķiršana - Brīva vieta: [1] - Notiek instalēto lietojumprogrammu meklēšana - Rekvizīts: [1], paraksts: [2] - Notiek izpildāmo failu saistīšana - Fails: [1] - Notiek atbilstošu produktu meklēšana - Notiek mapju izveide - Mape: [1] - Notiek pakalpojumu dzēšana - Pakalpojums: [1] - Notiek failu dublikātu izveide - Fails: [1], direktorijs: [9], lielums: [6] - Notiek saistīto lietojumprogrammu meklēšana - Atrasta lietojumprogramma: [1] - Notiek ODBC komponentu instalēšana - Notiek jauno pakalpojumu instalēšana - Pakalpojums: [2] - Notiek palaišanas nosacījumu novērtēšana - Notiek līdzekļu stāvokļu migrēšana no saistītajām lietojumprogrammām - Lietojumprogramma: [1] - Notiek failu pārvietošana - Fails: [1], direktorijs: [9], lielums: [6] - Notiek failu pielabošana - Fails: [1], direktorijs: [2], lielums: [3] - Notiek komponentu reģistrācijas atjaunināšana - Notiek COM+ lietojumprogrammu un komponentu reģistrēšana - AppId: [1]{{, AppType: [2], lietotāji: [3], RSN: [4]}} - Notiek fontu reģistrēšana - Fonts: [1] - Notiek produkta reģistrēšana - [1] - Notiek tipu bibliotēku reģistrēšana - LibID: [1] - Notiek lietotāja reģistrēšana - [1] - Notiek failu dublikātu noņemšana - Fails: [1], direktorijs: [9] - Notiek vides virkņu atjaunināšana - Nosaukums: [1], vērtība: [2], darbība [3] - Notiek lietojumprogrammu noņemšana - Lietojumprogramma: [1], komandrinda: [2] - Notiek failu noņemšana - Fails: [1], direktorijs: [9] - Notiek mapju noņemšana - Mape: [1] - Notiek INI failu ierakstu noņemšana - Fails: [1], sadaļa: [2], atslēga: [3], vērtība: [4] - Notiek ODBC komponentu noņemšana - Notiek sistēmas reģistra vērtību noņemšana - Atslēga: [1], nosaukums: [2] - Notiek saīšņu noņemšana - Saīsne: [1] - Notiek atbilstošu produktu meklēšana - Notiek moduļu reģistrēšana - Fails: [1], mape: [2] - Notiek moduļu reģistrācijas noņemšana - Fails: [1], mape: [2] - Notiek ODBC direktoriju inicializēšana - Notiek pakalpojumu startēšana - Pakalpojums: [1] - Notiek pakalpojumu apturēšana - Pakalpojums: [1] - Notiek atbilstošo komponentu publicēšanas atcelšana - Komponenta ID: [1], kvalifikators: [2] - Notiek produkta līdzekļu publicēšanas atcelšana - Līdzeklis: [1] - Notiek klašu serveru reģistrācijas noņemšana - Klases ID: [1] - Notiek COM+ lietojumprogrammu un komponentu reģistrācijas noņemšana - AppId: [1]{{, AppType: [2]}} - Notiek paplašinājumu serveru reģistrācijas noņemšana - Paplašinājums: [1] - Notiek fontu reģistrācijas noņemšana - Fonts: [1] - Notiek MIME informācijas reģistrācijas noņemšana - MIME satura tips: [1], paplašinājums: [2] - Notiek programmu identifikatoru reģistrācijas noņemšana - ProgId: [1] - Notiek tipu bibliotēku reģistrācijas noņemšana - LibID: [1] - Notiek vides virkņu atjaunināšana - Nosaukums: [1], vērtība: [2], darbība [3] - Notiek INI failu vērtību rakstīšana - Fails: [1], sadaļa: [2], atslēga: [3], vērtība: [4] - Notiek sistēmas reģistra vērtību rakstīšana - Atslēga [1], nosaukums: [2], vērtība: [3] - Notiek lietojumprogrammas reklamēšana - Notiek skriptu operāciju ģenerēšana darbībai: - [1] - Notiek sistēmas kataloga instalēšana - Fails: [1], atkarības: [2] - Notiek montāžas informācijas publicēšana - Lietojumprogrammas konteksts:[1], montāžas nosaukums:[2] - Notiek montāžas informācijas publicēšanas atcelšana - Lietojumprogrammas konteksts:[1], montāžas nosaukums:[2] - Notiek darbības atrite: - [1] - Notiek dublējuma failu noņemšana - Fails: [1] - Notiek pārvietoto failu noņemšana - Fails: [1], direktorijs: [9] - Notiek produkta informācijas publicēšanas atcelšana - - {{Fatāla kļūda: }} - {{Kļūda [1]. }} - Brīdinājums [1]. - Informācija [1]. - Instalējot šo pakotni, instalēšanas programmā radās neparedzēta kļūda. Tas var norādīt uz problēmu, kas saistīta ar šo pakotni. Kļūdas kods ir [1]. {{Argumenti ir šādi: [2], [3], [4]}} - {{Disks ir pilns: }} - Darbība [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Ziņojuma tips: [1], arguments: [2] - === Reģistrēšana sākta: [Date] [Time] === - === Reģistrēšana apturēta: [Date] [Time] === - Darbība sākta [Time]: [1]. - Darbība pabeigta [Time]: [1]. Atgrieztā vērtība [2]. - Atlikušais laiks: {[1] minūtes }{[2] sekundes} - Nepietiek atmiņas. Pirms mēģināt vēlreiz, aizveriet pārējās lietojumprogrammas. - Instalēšanas programma vairs nereaģē. - Instalēšanas programma tika priekšlaikus apturēta. - Lūdzu, gaidiet, kamēr sistēma Windows konfigurē produktu [ProductName]. - Notiek nepieciešamās informācijas apkopošana... - Notiek vecāku šīs lietojumprogrammas versiju noņemšana... - Notiek gatavošanās noņemt vecākas šīs lietojumprogrammas versijas... - Produkta {[ProductName] }uzstādīšana ir sekmīgi pabeigta. - Produkta {[ProductName] } uzstādīšana neizdevās. - Lasot no faila, radās kļūda: [2]. {{ Sistēmas kļūda [3].}} Pārbaudiet, vai šis fails pastāv un vai varat tam piekļūt. - Nevarēja izveidot failu '[2]'. Direktorijs ar šādu nosaukumu jau pastāv. Atceliet instalēšanu un mēģiniet instalēt citā atrašanās vietā. - Lūdzu, ievietojiet disku: [2] - Instalēšanas programmai nav vajadzīgo atļauju, lai piekļūtu šim direktorijam: [2]. Instalēšanu nevar turpināt. Piesakieties kā administrators vai arī sazinieties ar sistēmas administratoru. - Rakstot failā, radās kļūda: [2]. Pārbaudiet, vai jums ir piekļuve šim direktorijam. - Lasot no faila, radās kļūda: [2]. {{ Sistēmas kļūda [3].}} Pārbaudiet, vai šis fails pastāv un vai varat tam piekļūt. - Citai lietojumprogrammai ir ekskluzīvas tiesības piekļūt failam '[2]'. Aizveriet visas pārējās lietojumprogrammas un pēc tam noklikšķiniet uz Mēģināt vēlreiz. - Faila [2] instalēšanai nepietiek vietas diskā. Atbrīvojiet vietu diskā un noklikšķiniet uz Mēģināt vēlreiz, vai noklikšķiniet uz Atcelt, lai izietu. - Avota fails netika atrasts: [2]. Pārbaudiet, vai šis fails pastāv un vai varat tam piekļūt. - Lasot no faila, radās kļūda: [3]. {{ Sistēmas kļūda [2].}} Pārbaudiet, vai šis fails pastāv un vai varat tam piekļūt. - Rakstot failā, radās kļūda: [3]. {{ Sistēmas kļūda [2].}} Pārbaudiet, vai jums ir piekļuve šim direktorijam. - Avota fails netika atrasts{{(kabinetfails)}}: [2]. Pārbaudiet, vai šis fails pastāv un vai varat tam piekļūt. - Nevar izveidot direktoriju [2]. Jau pastāv fails ar tādu pašu nosaukumu. Pārdēvējiet vai izdzēsiet failu un noklikšķiniet uz Mēģināt vēlreiz vai noklikšķiniet uz Atcelt, lai izietu. - Sējums [2] pašlaik nav pieejams. Atlasiet citu. - Norādītais ceļš '[2]' nav pieejams. - Nevar rakstīt norādītajā mapē: [2]. - Mēģinot lasīt šo failu, radās tīkla kļūda: [2] - Mēģinot izveidot direktoriju, radās kļūda: [2] - Mēģinot izveidot direktoriju, radās tīkla kļūda: [2] - Mēģinot atvērt avota faila kabinetfailu, radās tīkla kļūda: [2] - Norādītais ceļš ir pārāk garš: [2] - Instalēšanas programmai nav vajadzīgo atļauju, lai modificētu šo failu: [2]. - Mapes ceļa '[2]' daļa nav derīga. Tā ir tukša vai arī pārsniedz sistēmas atļauto garumu. - Mapes ceļā '[2]' ir ietverti vārdi, kas nav derīgi izmantošanai mapes ceļā. - Mapes ceļā '[2]' ir ietverta nederīga rakstzīme. - '[2]' nav derīgs īsais faila nosaukums. - Iegūstot faila drošību, radās kļūda: [3] GetLastError: [2] - Nederīgs diskdzinis: [2] - Lietojot ielāpu failam [2], radās kļūda. Iespējams, ka šis fails ir atjaunināts citā veidā un to vairs nevar modificēt, lietojot šo ielāpu. Lai iegūtu papildinformāciju, sazinieties ar ielāpa piegādātāju. {{Sistēmas kļūda: [3]}} - Nepieciešamo failu nevar instalēt, jo kabinetfailam [2] nav ciparparaksta. Tas var norādīt, ka kabinetfails ir bojāts. - Nevar instalēt nepieciešamu failu, jo kabinetfaila [2] ciparparaksts nav derīgs. Tas var norādīt, ka kabinetfails ir bojāts.{{ Kļūdu [3] atgrieza WinVerifyTrust.}} - Neizdevās pareizi kopēt [2] failu: CRC kļūda. - Neizdevās pareizi pārvietot [2] failu: CRC kļūda. - Neizdevās pareizi pielabot [2] failu: CRC kļūda. - Failu '[2]' nevar instalēt, jo tas nav atrodams kabinetfailā '[3]'. Tas var norādīt, ka ir radusies tīkla kļūda, CD-ROM lasīšanas kļūda vai ar šo pakotni saistīta problēma. - Šai instalācijai nepieciešamais kabinetfails '[2]' ir bojāts, un to nevar izmantot. Tas var norādīt, ka ir radusies tīkla kļūda, kompaktdiska lasīšanas kļūda vai ar šo pakotni saistīta problēma. - Veidojot pagaidu failu, kas nepieciešams šīs instalācijas pabeigšanai, radās kļūda.{{ Mape: [3]. Sistēmas kļūdas kods: [2]}} - Nevarēja izveidot atslēgu: [2].{{ Sistēmas kļūda [3].}} Pārbaudiet, vai jums ir nepieciešamā piekļuve šai atslēgai, vai sazinieties ar atbalsta dienestu. - Nevarēja atvērt atslēgu: [2].{{ Sistēmas kļūda [3].}} Pārbaudiet, vai jums ir nepieciešamā piekļuve šai atslēgai, vai sazinieties ar atbalsta dienestu. - Nevarēja dzēst atslēgas [3] vērtību [2]. {{ Sistēmas kļūda [4].}} Pārbaudiet, vai jums ir nepieciešamā piekļuve šai atslēgai, vai sazinieties ar atbalsta dienestu. - Nevarēja dzēst atslēgu [2].{{ Sistēmas kļūda [3].}} Pārbaudiet, vai jums ir nepieciešamā piekļuve šai atslēgai, vai sazinieties ar atbalsta dienestu. - Nevarēja nolasīt atslēgas [3] vērtību [2].{{ Sistēmas kļūda [4].}} Pārbaudiet, vai jums ir nepieciešamā piekļuve šai atslēgai, vai sazinieties ar atbalsta dienestu. - Atslēgā [3] nevarēja ierakstīt vērtību [2].{{ Sistēmas kļūda [4].}} Pārbaudiet, vai jums ir nepieciešamā piekļuve šai atslēgai, vai sazinieties ar atbalsta dienestu. - Nevarēja iegūt atslēgas [2] vērtību nosaukumus.{{ Sistēmas kļūda [3].}} Pārbaudiet, vai jums ir nepieciešamā piekļuve šai atslēgai, vai sazinieties ar atbalsta dienestu. - Nevarēja iegūt atslēgas [2] apakšatslēgu nosaukumus.{{ Sistēmas kļūda [3].}} Pārbaudiet, vai jums ir nepieciešamā piekļuve šai atslēgai, vai sazinieties ar atbalsta dienestu. - Nevarēja izlasīt atslēgas [2] drošības informāciju.{{ Sistēmas kļūda [3].}} Pārbaudiet, vai jums ir nepieciešamā piekļuve šai atslēgai, vai sazinieties ar atbalsta dienestu. - Nevarēja palielināt pieejamo reģistra vietu. Lai instalētu šo lietojumprogrammu, ir nepieciešami [2] KB brīvas reģistra vietas. - Notiek cits instalēšanas process. Tas ir jāpabeidz, pirms turpināt šo instalēšanu. - Piekļūstot drošiem datiem, radās kļūda. Pārliecinieties, vai līdzeklis Windows Installer ir konfigurēts pareizi, un mēģiniet to instalēt vēlreiz. - Lietotājs '[2]' iepriekš uzsāka produkta [3] instalēšanu. Lai produktu varētu izmantot, šim lietotājam ir vēlreiz jāpalaiž norādītā instalēšana. Tūlīt tiks turpināta pašreizējā instalēšana. - Lietotājs '[2]' iepriekš uzsāka produkta [3] instalēšanu. Lai produktu varētu izmantot, šim lietotājam ir vēlreiz jāpalaiž norādītā instalēšana. - Nepietiek vietas diskā -- sējums: '[2]'; nepieciešamā vieta: [3] KB; pieejamā vieta: [4] KB. Atbrīvojiet vietu diskā un mēģiniet vēlreiz. - Vai tiešām vēlaties atcelt? - Failu [2][3] jau izmanto{ šāds process: nosaukums: [4], ID: [5], loga nosaukums: [6]}. Aizveriet šo lietojumprogrammu un mēģiniet vēlreiz. - Produkts [2] jau ir instalēts, un tas neļauj instalēt šo produktu. Šie divi produkti nav saderīgi. - Sējumā '[2]' nepietiek vietas diskā, lai turpinātu instalēšanu ar iespējotu atkopšanu. Nepieciešami [3] KB, bet ir pieejami tikai [4] KB. Noklikšķiniet uz Ignorēt, lai turpinātu instalēšanu, nesaglabājot atkopšanas informāciju, noklikšķiniet uz Mēģināt vēlreiz, lai vēlreiz pārbaudītu vietas pieejamību, vai noklikšķiniet uz Atcelt, lai beigtu instalēšanu. - Nevarēja piekļūt tīkla vietai [2]. - Lai varētu turpināt instalēšanu, ir jāaizver šīs lietojumprogrammas: - Datorā, kurā paredzēta šī produkta instalēšana, nevarēja atrast nevienu agrāk instalētu atbilstošu produktu. - Lietojot drošības iestatījumus, radās kļūda. [2] nav derīgs lietotājs vai grupa. Iespējams, ka problēma saistīta ar šo pakotni vai savienojuma izveidi ar domēna kontrolleri tīklā. Pārbaudiet tīkla savienojumu un noklikšķiniet uz Mēģināt vēlreiz vai noklikšķiniet uz Atcelt, lai beigtu instalēšanu. {{Nevar atrast lietotāja SID, sistēmas kļūda [3]}} - Atslēga [2] nav derīga. Pārbaudiet, vai ievadījāt pareizo atslēgu. - Lai varētu tupināt [2] konfigurēšanu, instalēšanas programmai ir jārestartē sistēma. Noklikšķiniet uz Jā, lai restartētu tūlīt, vai uz Nē, ja vēlaties manuāli restartēt vēlāk. - Lai [2] konfigurācijas izmaiņas stātos spēkā, ir jārestartē sistēma. Noklikšķiniet uz Jā, lai restartētu tūlīt, vai uz Nē, ja vēlaties manuāli restartēt vēlāk. - Produkta [2] instalēšana pašlaik ir aizturēta. Lai turpinātu, ir jāatsauc šīs instalēšanas laikā veiktās izmaiņas. Vai vēlaties atsaukt šīs izmaiņas? - Notiek iepriekš uzsākta šī produkta instalēšana. Lai turpinātu, ir jāatsauc šīs instalēšanas laikā veiktās izmaiņas. Vai vēlaties atsaukt šīs izmaiņas? - Nevar atrast produkta [2] instalācijas pakotni. Mēģiniet to instalēt vēlreiz, izmantojot derīgu instalācijas pakotnes '[3]' kopiju. - Instalēšana ir sekmīgi pabeigta. - Instalēšana neizdevās. - Produkts: [2] -- [3] - Varat atjaunot datora iepriekšējo stāvokli vai turpināt instalēšanu vēlāk. Vai vēlaties veikt atjaunošanu? - Rakstot diskā instalācijas informāciju, radās kļūda. Pārbaudiet, vai diskā ir pietiekami daudz vietas, un noklikšķiniet uz Mēģināt vēlreiz vai noklikšķiniet uz Atcelt, lai beigtu instalēšanu. - Nevarēja atrast vienu vai vairākus failus, kas nepieciešami datora iepriekšējā stāvokļa atjaunošanai. Atjaunošana nav iespējama. - [2] nevarēja instalēt vienu no nepieciešamajiem produktiem. Sazinieties ar tehniskā atbalsta grupu. {{Sistēmas kļūda: [3].}} - Nevarēja noņemt produkta [2] iepriekšējo versiju. Sazinieties ar tehniskā atbalsta grupu. {{Sistēmas kļūda [3].}} - [2] ir instalēts - [2] ir konfigurēts - [2] ir noņemts - Saskaņā ar ciparparakstu politiku fails [2] tika noraidīts. - Nevarēja piekļūt pakalpojumam Windows Installer. Tā var notikt, ja Windows darbojas drošajā režīmā vai arī pakalpojums Windows Installer nav pareizi instalēts. Lai iegūtu papildinformāciju, sazinieties ar atbalsta dienestu. - Pastāv ar šo Windows Installer pakotni saistīta problēma. Nevarēja palaist šīs instalēšanas pabeigšanai nepieciešamo skriptu. Sazinieties ar atbalsta dienestu vai pakotnes piegādātāju. {{Pielāgotas darbības [2] skripta kļūda [3], [4]: [5] rinda [6], kolonna [7], [8] }} - Pastāv ar šo Windows Installer pakotni saistīta problēma. Nevarēja palaist šīs instalācijas pabeigšanai nepieciešamo programmu. Sazinieties ar atbalsta dienestu vai pakotnes piegādātāju. {{Darbība: [2], atrašanās vieta: [3], komanda: [4] }} - Pastāv ar šo Windows Installer pakotni saistīta problēma. Programma, kas tika palaista kā uzstādīšanas daļa, netika pabeigta, kā paredzēts. Sazinieties ar atbalsta dienestu vai pakotnes piegādātāju. {{Darbība [2], atrašanās vieta: [3], komanda: [4] }} - Pastāv ar šo Windows Installer pakotni saistīta problēma. Nevar palaist šīs instalēšanas pabeigšanai nepieciešamo DDL. Sazinieties ar atbalsta dienestu vai pakotnes piegādātāju. {{Darbība: [2], atrašanās vieta: [3], komanda: [4] }} - Noņemšana ir sekmīgi pabeigta. - Noņemšana neizdevās. - Reklamēšana ir sekmīgi pabeigta. - Reklamēšana neizdevās. - Konfigurēšana ir sekmīgi pabeigta. - Konfigurēšana neizdevās. - Lai noņemtu šo lietojumprogrammu, jums ir jābūt administratora tiesībām. Lai noņemtu šo lietojumprogrammu, piesakieties kā administrators vai sazinieties ar tehniskā atbalsta grupu, lai saņemtu palīdzību. - Produkta [2] avota instalācijas pakotne nav sinhronizēta ar klienta pakotni. Mēģiniet instalēt vēlreiz, izmantojot derīgu instalācijas pakotnes '[3]' kopiju. - Lai pabeigtu produkta [2] instalēšanu, ir jārestartē dators. Šajā datorā pašlaik ir pieteikušies citi lietotāji, un restartējot, iespējams, zudīs viņu padarītais. Vai vēlaties restartēt tūlīt? - Ceļš [2] nav derīgs. Norādiet derīgu ceļu. - Nepietiek atmiņas. Pirms mēģināt vēlreiz, aizveriet pārējās lietojumprogrammas. - Diskdzinī [2] nav diska. Lūdzu, ievietojiet disku un noklikšķiniet uz Mēģināt vēlreiz vai noklikšķiniet uz Atcelt, lai atgrieztos pie iepriekš atlasītā sējuma. - Diskdzinī [2] nav diska. Lūdzu, ievietojiet disku un noklikšķiniet uz Mēģināt vēlreiz vai noklikšķiniet uz Atcelt, lai atgrieztos pārlūkošanas dialoglodziņā un atlasītu citu sējumu. - Mape [2] nepastāv. Lūdzu, ievadiet ceļu uz esošu mapi. - Jums nav vajadzīgo atļauju, lai lasītu šo mapi. - Nevarēja noteikt derīgu instalācijas mērķa mapi. - Mēģinot lasīt no avota instalācijas datu bāzes, radās kļūda: [2]. - Notiek atsāknēšanas operācijas plānošana: fails [2] tiek pārdēvēts par [3]. Lai pabeigtu operāciju, ir jāveic atkārtota sāknēšana. - Notiek atsāknēšanas operācijas plānošana: tiek dzēsts fails [2]. Lai pabeigtu operāciju, ir jāveic atkārtota sāknēšana. - Neizdevās reģistrēt moduli [2]. HRESULT [3]. Sazinieties ar atbalsta dienestu. - Neizdevās noņemt moduļa [2] reģistrāciju. HRESULT [3]. Sazinieties ar atbalsta dienestu. - Pakotni [2] neizdevās ierakstīt kešatmiņā. Kļūda: [3]. Sazinieties ar tehniskā atbalsta dienestu. - Nevarēja reģistrēt fontu [2]. Pārbaudiet, vai jums ir vajadzīgās atļaujas, lai instalētu fontus, un vai sistēma atbalsta šo fontu. - Nevarēja noņemt fonta [2] reģistrāciju. Pārbaudiet, vai jums ir vajadzīgās atļaujas, lai noņemtu fontus. - Nevarēja izveidot saīsni [2]. Pārbaudiet, vai adresāta mape pastāv un vai varat tai piekļūt. - Nevarēja noņemt saīsni [2]. Pārbaudiet, vai šīs saīsnes fails pastāv un vai varat tam piekļūt. - Nevarēja reģistrēt faila [2] tipu bibliotēku. Sazinieties ar atbalsta dienestu. - Nevarēja noņemt faila [2] tipu bibliotēkas reģistrāciju. Sazinieties ar atbalsta dienestu. - Nevarēja atjaunināt INI failu [2][3]. Pārbaudiet, vai šis fails pastāv un vai varat tam piekļūt. - Nevarēja ieplānot, lai atkārtotas sāknēšanas laikā fails [3] tiktu aizstāts ar failu [2]. Pārbaudiet, vai jums ir atļauja rakstīt failā [3]. - Noņemot ODBC draivera pārvaldnieku, radās ODBC kļūda [2]: [3]. Sazinieties ar tehniskā atbalsta dienestu. - Instalējot ODBC draivera pārvaldnieku, radās ODBC kļūda [2]: [3]. Sazinieties ar tehniskā atbalsta dienestu. - Noņemot ODBC draiveri [4], radās kļūda; ODBC kļūda [2]: [3]. Pārbaudiet, vai jums ir vajadzīgās atļaujas, lai noņemtu ODBC draiverus. - Instalējot ODBC draiveri [4], radās kļūda; ODBC kļūda [2]: [3]. Pārbaudiet, vai fails [4] pastāv un vai varat tam piekļūt. - Konfigurējot ODBC datu avotu [4], radās kļūda; ODBC kļūda [2]: [3]. Pārbaudiet, vai fails [4] pastāv un vai varat tam piekļūt. - Neizdevās startēt pakalpojumu '[2]' ([3]). Pārbaudiet, vai jums ir vajadzīgās atļaujas, lai startētu sistēmas pakalpojumus. - Nevarēja apturēt pakalpojumu '[2]' ([3]). Pārbaudiet, vai jums ir vajadzīgās atļaujas, lai apturētu sistēmas pakalpojumus. - Nevarēja izdzēst pakalpojumu '[2]' ([3]). Pārbaudiet, vai jums ir vajadzīgās atļaujas, lai noņemtu sistēmas pakalpojumus. - Nevarēja instalēt pakalpojumu '[2]' ([3]). Pārbaudiet, vai jums ir vajadzīgās atļaujas, lai instalētu sistēmas pakalpojumus. - Nevarēja atjaunināt vides mainīgo '[2]'. Pārbaudiet, vai jums ir nepieciešamās atļaujas, lai modificētu vides mainīgos. - Jums nav vajadzīgo atļauju, lai pabeigtu visiem datora lietotājiem paredzēto instalēšanu. Piesakieties sistēmā kā administrators un mēģiniet instalēt vēlreiz. - Failam '[3]' nevarēja iestatīt faila drošību. Kļūda: [2]. Pārbaudiet, vai jums ir vajadzīgās atļaujas, lai modificētu šī faila drošības atļaujas. - Šajā datorā nav instalēti komponentu pakalpojumi (COM+ 1.0). Lai veiksmīgi pabeigtu šo instalēšanu, ir nepieciešami komponentu pakalpojumi. Komponentu pakalpojumi ir pieejami sistēmā Windows 2000. - Reģistrējot COM+ lietojumprogrammu, radās kļūda. Lai iegūtu papildinformāciju, sazinieties ar atbalsta dienestu. - Noņemot COM+ lietojumprogrammas reģistrāciju, radās kļūda. Lai iegūtu papildinformāciju, sazinieties ar atbalsta dienestu. - Nevarēja mainīt pakalpojuma '[2]' ([3]) aprakstu. - Pakalpojums Windows Installer nevar atjaunināt sistēmas failu [2], jo šo failu aizsargā sistēma Windows. Lai šī programma darbotos pareizi, iespējams, ir jāatjaunina operētājsistēma. {{Pakotnes versija: [3], operētājsistēmas aizsargātā versija: [4]}} - Pakalpojums Windows Installer nevar atjaunināt aizsargātu sistēmas Windows failu [2]. {{Pakotnes versija: [3], OS aizsargātā faila versija: [4], SFP kļūda: [5].}} - Pakalpojums Windows Installer nevar atjaunināt vienu vai vairākus aizsargātos Windows failus. {{SFP kļūda: [2]. Aizsargāto failu saraksts:\r\n[3]}} - Izmantojot politiku, datorā ir atspējotas lietotāja instalācijas. - Instalējot montāžu '[6]', radās kļūda. Papildinformāciju skatiet palīdzības un atbalsta centrā. HRESULT: [3]. {{montāžas interfeiss: [4], funkcija: [5], komponents: [2]}} - Instalējot montāžu '[6]', radās kļūda. Montāžai nav spēcīga nosaukuma, vai tā nav parakstīta, izmantojot minimālo atslēgas garumu. HRESULT: [3]. {{montāžas interfeiss: [4], funkcija: [5], komponents: [2]}} - Instalējot montāžu '[6]', radās kļūda. Nevarēja pārbaudīt parakstu vai katalogu, vai tas nav derīgs. HRESULT: [3]. {{montāžas interfeiss: [4], funkcija: [5], komponents: [2]}} - Instalējot montāžu '[6]', radās kļūda. Nevarēja atrast vienu vai vairākus montāžas moduļus. HRESULT: [3]. {{montāžas interfeiss: [4], funkcija: [5], komponents: [2]}} - - baiti - GB - KB - MB - Viss līdzeklis nebūs pieejams - Šis līdzeklis tiks instalēts nepieciešamības gadījumā - Tiks instalēts viss līdzeklis, un to varēs palaist no kompaktdiska - Viss līdzeklis tiks instalēts lokālajā cietajā diskā - Tiks instalēts viss līdzeklis, un to varēs palaist no tīkla - Tiks instalēts, lai varētu palaist no kompaktdiska - Tiks instalēts lokālajā cietajā diskā - Tiks instalēts, lai varētu palaist no tīkla - Mape|Jauna mape - Notiek nepieciešamās informācijas apkopošana... - Šis līdzeklis netiks instalēts - Šis līdzeklis tiks iestatīts, lai to varētu instalēt nepieciešamības gadījumā - Šis līdzeklis tiks instalēts, lai to varētu palaist no kompaktdiska - Šis līdzeklis tiks instalēts lokālajā cietajā diskā - Šis līdzeklis tiks instalēts, lai to varētu palaist no tīkla - Šis līdzeklis kļūs nepieejams - Tiks instalēts nepieciešamības gadījumā - Šo līdzekli varēs palaist no kompaktdiska - Šis līdzeklis tiks instalēts lokālajā cietajā diskā - Šo līdzekli varēs palaist no tīkla - Šis līdzeklis tiks pilnībā atinstalēts, un to nevarēs palaist no kompaktdiska - Šī līdzekļa iestatījums tiks mainīts no iespējas palaist no kompaktdiska uz iespēju instalēt nepieciešamības gadījumā - Šo līdzekli joprojām varēs palaist no kompaktdiska - Šī līdzekļa iestatījums tiks mainīts no iespējas palaist no kompaktdiska uz iespēju instalēt lokālajā cietajā diskā - Šis līdzeklis cietajā diskā atbrīvo [1]. - Šim līdzeklim cietajā diskā nepieciešams: [1]. - Notiek šī līdzekļa maksas aprēķināšana... - Šis līdzeklis tiks pilnībā noņemts - Šis līdzeklis tiks noņemts no lokālā cietā diska, taču tiks iestatīts, lai to varētu instalēt nepieciešamības gadījumā - Šis līdzeklis tiks noņemts no lokālā cietā diska, taču to joprojām varēs palaist no kompaktdiska - Šis līdzeklis joprojām atradīsies lokālajā cietajā diskā - Šis līdzeklis tiks noņemts no lokālā cietā diska, taču to joprojām varēs palaist no tīkla - Šis līdzeklis tiks pilnībā atinstalēts, un to nevarēs palaist no tīkla - Šī līdzekļa iestatījums tiks mainīts no iespējas palaist no tīkla uz iespēju instalēt nepieciešamības gadījumā - Šī līdzekļa iestatījums tiks mainīts no iespējas palaist no tīkla uz instalēšanu lokālajā cietajā diskā - Šo līdzekli joprojām varēs palaist no tīkla - Šis līdzeklis cietajā diskā atbrīvo [1]. Tajā ir atlasīti [2] no [3] apakšlīdzekļiem. Šie apakšlīdzekļi cietajā diskā atbrīvo [4]. - Šis līdzeklis cietajā diskā atbrīvo [1]. Tajā ir atlasīti [2] no [3] apakšlīdzekļiem. Šiem apakšlīdzekļiem cietajā diskā ir nepieciešams: [4]. - Šim līdzeklim cietajā diskā ir nepieciešams: [1]. Tajā ir atlasīti [2] no [3] apakšlīdzekļiem. Šie apakšlīdzekļi cietajā diskā atbrīvo [4]. - Šim līdzeklim cietajā diskā ir nepieciešams: [1]. Tajā ir atlasīti [2] no [3] apakšlīdzekļiem. Šiem apakšlīdzekļiem cietajā diskā ir nepieciešams: [4]. - Atlikušais laiks: {[1] minūtes }{[2] sekundes} - Pieejams - Atšķirība - Obligāts - Diska lielums - Apjoms - diff --git a/Src/Localization/WixUI/WixUI_nb-NO.wxl b/Src/Localization/WixUI/WixUI_nb-NO.wxl deleted file mode 100644 index 4a9e943..0000000 --- a/Src/Localization/WixUI/WixUI_nb-NO.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Tilbake - &Neste - Avbryt - &Fullfør - &Prøv på nytt - &Ignorer - &Ja - &Nei - OK - &Skriv ut - - Installere [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Les lisensavtalen for [ProductName] - Jeg &godtar vilkårene i lisensavtalen - Klikk Installer for å installere produktet med standardalternativer for alle brukere. Klikk Avansert for å endre installasjonsalternativer. - Klikk Installer for å installere produktet med standardalternativer bare for deg. Klikk Avansert for å endre installasjonsalternativer. - &Installer - A&vansert - 8 - 12 - 9 - 8 - Tahoma - - Installere [ProductName] - &Søk i: - WixUI_Bmp_Up - Opp ett nivå - WixUI_Bmp_New - Opprett en ny mappe - &Mappenavn: - WixUI_Bmp_Banner - Søk etter målmappen - {\WixUI_Font_Title}Endre målmappe - - Installere [ProductName] - Er du sikker på at du vil avbryte installasjonen av [ProductName]? - WixUI_Ico_Info - Informasjonsikon - - Installere [ProductName] - Tre med valg - B&la gjennom... - &Tilbakestill - &Diskbruk - WixUI_Bmp_Banner - Klikk ikonene i treet nedenfor for å endre måten funksjonene installeres på. - Velg hvordan du vil at funksjoner skal installeres. - {\WixUI_Font_Title}Tilpasset installasjon - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Plassering: - - Installere [ProductName] - WixUI_Bmp_Banner - De merkede volumene har ikke nok diskplass tilgjengelig for de valgte funksjonene. Du kan fjerne noen filer fra de merkede volumene, installere færre funksjoner eller velge en annen målstasjon. - Diskplass som kreves for installasjon av de valgte funksjonene. - {\WixUI_Font_Title}Krav til diskplass - {120}{70}{70}{70}{70} - - Installere [ProductName] - Informasjonstekst - WixUI_Ico_Info - Informasjonsikon - - Installere [ProductName] - WixUI_Bmp_Dialog - Klikk Fullfør for å avslutte installasjonsveiviseren. - {\WixUI_Font_Bigger}Installasjonsveiviseren for [ProductName] er fullført - - Installere [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger} Installasjonsveiviser for [ProductName] ble avsluttet for tidlig - Installasjonsveiviser for [ProductName] ble avsluttet for tidlig på grunn av en feil. Systemet har ikke blitt endret. Hvis du vil installere dette programmet senere, kan du kjøre installasjonsveiviseren på nytt. - Klikk Fullfør for å avslutte installasjonsveiviseren. - - Installere [ProductName] - Produktfunksjoner - WixUI_Bmp_Banner - Velg hvordan du vil at funksjoner skal installeres. - {\WixUI_Font_Title}Produktfunksjoner - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installer - &Endre - - Installere [ProductName] - &Avslutt - WixUI_Bmp_Banner - Følgende programmer bruker filer som må oppdateres av dette installasjonsprogrammet. Lukk disse programmene, og velg deretter &Prøv på nytt for å fortsette installasjonen eller Avslutt for å avslutte den. - Noen av filene som må oppdateres, er for tiden i bruk. - {\WixUI_Font_Title}Filer i bruk - - Installere [ProductName] - &Endre... - {\WixUI_Font_Title}Målmappe - Klikk Neste for å installere i standardmappen, eller klikk Endre for å velge en annen mappe. - WixUI_Bmp_Banner - Installer [ProductName] i: - - Installere [ProductName] - WixUI_Bmp_Banner - Velg installasjonsomfang og -mappe - {\WixUI_Font_Title}Installasjonsomfang - {\WixUI_Font_Emphasized}Installer &bare for deg ([LogonUser]) - [ProductName] blir installert i en mappe per bruker og blir bare tilgjengelig for din brukerkonto. Du trenger ikke lokale administratorrettigheter. - [ProductName] støtter ikke installasjon per bruker. - {\WixUI_Font_Emphasized}Installer for alle brukere av denne &maskinen - [ProductName] blir installert som standard i en mappe per maskin og blir tilgjengelig for alle brukere. Du kan endre standard installasjonsmappe. Du må ha lokale administratorrettigheter. - &Installasjonsmappe: - &Endre... - - Installere [ProductName] - Installasjonsmappen må være på en lokal harddisk. - WixUI_Ico_Info - Informasjonsikon - - Installere [ProductName] - Jeg &godtar vilkårene i lisensavtalen - WixUI_Bmp_Banner - Les nøye gjennom lisensavtalen nedenfor - {\WixUI_Font_Title}Lisensavtale for sluttbrukere - - Installere [ProductName] - &Endre - Endre installasjonen - &Reparer - Reparer installasjonen - &Fjern - Fjern installasjonen - WixUI_Bmp_Banner - Angi operasjonen du vil utføre. - {\WixUI_Font_Title}Endre, reparer eller fjern installasjonen - Lar deg endre måten funksjonene skal installeres på. - [ProductName] har ingen funksjoner som kan velges for seg. - Fjerner [ProductName] fra datamaskinen. - [ProductName] kan ikke fjernes. - Reparerer feil i den siste installasjonen ved å rette opp manglende og skadede filer, snarveier og registeroppføringer. - Kan ikke reparere [ProductName]. - - Installere [ProductName] - WixUI_Bmp_Dialog - Installasjonsveiviseren lar deg endre hvordan [ProductName]-funksjoner er installert på datamaskinen, eller angi at de skal fjernes fra datamaskinen. Klikk Neste for å fortsette eller Avbryt for å avslutte installasjonsveiviseren. - {\WixUI_Font_Bigger}Velkommen til installasjonsveiviseren for [ProductName] - - Installere [ProductName] - WixUI_Bmp_Banner - Følgende programmer bruker filer som må oppdateres av dette installasjonsprogrammet. Du kan la installasjonsveiviseren lukke dem og prøve å starte dem på nytt, eller starte datamaskinen på nytt senere. - Noen av filene som må oppdateres, er for tiden i bruk. - {\WixUI_Font_Title}Filer i bruk - &Lukk programmene, og prøv å starte dem på nytt. - &Ikke lukk programmer. Maskinen vil måtte startes på nytt. - - Installere [ProductName] - WixUI_Bmp_Banner - De merkede volumene har ikke nok ledig diskplass til de merkede funksjonene. Du kan fjerne noen filer fra de merkede volumene, installere færre funksjoner eller velge en annen målstasjon. - Diskplassen som kreves for installasjonen, overskrider tilgjengelig diskplass. - {\WixUI_Font_Title}For lite diskplass - {120}{70}{70}{70}{70} - - Installere [ProductName] - WixUI_Bmp_Banner - De merkede volumene har ikke nok ledig diskplass til de merkede funksjonene. Du kan fjerne noen filer fra de merkede volumene, installere færre funksjoner eller velge en annen målstasjon. - Diskplassen som kreves for installasjonen, overskrider tilgjengelig diskplass. - {\WixUI_Font_Title}For lite diskplass - {120}{70}{70}{70}{70} - Du kan også velge å deaktivere installasjonsprogrammets funksjonalitet for tilbakerulling. Hvis tilbakerulling deaktiveres, kan ikke installasjonsprogrammet gjenopprette datamaskinens opprinnelige tilstand hvis installasjonen forstyrres på noen måte. Klikk Ja hvis du tar sjansen på å deaktivere tilbakeføring. - - Installere [ProductName] - WixUI_Bmp_Dialog - Vent mens installasjonsveiviseren gjør klar for å lede deg gjennom installasjonen. - {\WixUI_Font_Bigger}Velkommen til installasjonsveiviseren for [ProductName] - - Installere [ProductName] - WixUI_Bmp_Banner - Vent mens installasjonsveiviseren installerer [ProductName]. - {\WixUI_Font_Title}Installerer [ProductName] - Vent mens installasjonsveiviseren endrer [ProductName]. - {\WixUI_Font_Title}Endrer [ProductName] - Vent mens installasjonsveiviseren reparerer [ProductName]. - {\WixUI_Font_Title}Reparerer [ProductName] - Vent mens installasjonsveiviseren fjerner [ProductName]. - {\WixUI_Font_Title}Fjerner [ProductName] - Vent mens installasjonsveiviseren oppdaterer [ProductName]. - {\WixUI_Font_Title}Oppdaterer [ProductName] - Fremdrift - Status: - - Installere [ProductName] - &Installer - WixUI_Bmp_Dialog - Installasjonsveiviseren vil fullføre installasjonen av [ProductName] på datamaskinen. Klikk Installer for å fortsette eller Avbryt for å avslutte installasjonsveiviseren. - {\WixUI_Font_Bigger}Gjenopptar installasjonsveiviseren for [ProductName] - - Installere [ProductName] - &Vanlig - Vanlig installasjon - &Tilpasset - Tilpasset installasjon - &Fullstendig - Fullstendig installasjon - WixUI_Bmp_Banner - {\WixUI_Font_Title}Velg installasjonstype - Velg installasjonstypen som passer best til dine behov - Installerer de vanligste programfunksjonene. Anbefales for de fleste brukere. - Gjør det mulig for brukere å velge hvilke programfunksjoner som installeres, og hvor de installeres. Anbefales for avanserte brukere. - Alle programfunksjoner blir installert. Krever mest diskplass. - - Installere [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Installasjonsveiviseren for [ProductName] ble avbrutt - Installasjonen av [ProductName] ble avbrutt. Systemet har ikke blitt endret. Kjør installasjonsprogrammet på nytt for å installere dette programmet på et senere tidspunkt. - Klikk Fullfør for å avslutte installasjonsveiviseren. - - Installere [ProductName] - WixUI_Bmp_Banner - &Installer - Klikk Installer for å starte installasjonen. Klikk Tilbake for å kontrollere eller endre noen av installasjonsinnstillingene. Klikk Avbryt for å avslutte veiviseren. - {\WixUI_Font_Title}Klar til å installere [ProductName] - &Endre - Klikk Endre for å starte installasjonen. Klikk Tilbake for å kontrollere eller endre noen av installasjonsinnstillingene. Klikk Avbryt for å avslutte veiviseren. - {\WixUI_Font_Title}Klar til å endre [ProductName] - &Reparer - Klikk Reparer for å reparere installasjonen av [ProductName]. Klikk Tilbake for å kontrollere eller endre noen av installasjonsinnstillingene. Klikk Avbryt for å avslutte veiviseren. - {\WixUI_Font_Title}Klar til å reparere [ProductName] - &Fjern - Klikk Fjern for å fjerne [ProductName] fra datamaskinen. Klikk Tilbake for å kontrollere eller endre noen av installasjonsinnstillingene. Klikk Avbryt for å avslutte veiviseren. - {\WixUI_Font_Title}Klar til å fjerne [ProductName] - &Oppdater - Klikk Oppdater for å oppdatere [ProductName] fra datamaskinen. Klikk Tilbake for å kontrollere eller endre installasjonsinnstillinger. Klikk Avbryt for å avslutte veiviseren. - {\WixUI_Font_Title}Klar til å oppdatere [ProductName] - - Installere [ProductName] - &Gå tilbake - Vent mens installasjonsprogrammet beregner krav til diskplass. - WixUI_Ico_Exclam - Utropstegnikon - - Installere [ProductName] - WixUI_Bmp_Dialog - Installasjonsveiviseren installerer [ProductName] på datamaskinen din. Klikk Neste for å gå videre eller Avbryt for å avslutte installasjonsveiviseren. - Installasjonsveiviseren er klar til å oppdatere [ProductName] på datamaskinen. Klikk Neste for å fortsette eller Avbryt for å avslutte veiviseren. - {\WixUI_Font_Bigger}Velkommen til installasjonsveiviseren for [ProductName] - - Installere [ProductName] - WixUI_Bmp_Dialog - Jeg &godtar vilkårene i lisensavtalen - &Installer - &Oppdater - {\WixUI_Font_Title}Les lisensavtalen for [ProductName] - - Bekrefter installasjon - Kopierer nye filer - Fil: [1], Mappe: [9], Størrelse: [6] - Kopierer filer for nettverksinstallasjon - Fil: [1], Mappe: [9], Størrelse: [6] - Beregner plassbehov - Beregner plassbehov - Beregner plassbehov - Oppretter snarveier - Snarvei: [1] - Publiserer kvalifiserte komponenter - Komponent-ID: [1], Kvalifikator: [2] - Publiserer produktfunksjoner - Funksjon: [1] - Publiserer produktinformasjon - Registrerer klasseservere - Klasse-ID: [1] - Registrerer tilleggsservere - Tillegg: [1] - Registrerer MIME-informasjon - MIME-innholdstype: [1], Tillegg: [2] - Registrerer programidentifikatorer - Prog-ID: [1] - Tildeler registerplass - Ledig plass: [1] - Søker etter installerte programmer - Egenskap: [1], Signatur: [2] - Binder kjørbare filer - Fil: [1] - Søker etter kvalifiserte produkter - Oppretter mapper - Mappe: [1] - Sletter tjenester - Tjeneste: [1] - Oppretter duplikatfiler - Fil: [1], Mappe: [9], Størrelse: [6] - Søker etter relaterte programmer - Fant program: [1] - Installerer ODBC-komponenter - Installerer nye tjenester - Tjeneste: [2] - Vurderer oppstartsbetingelser - Overfører funksjonsinnstillinger fra relaterte programmer - Program: [1] - Flytter filer - Fil: [1], Mappe: [9], Størrelse: [6] - Oppdaterer filer - Fil: [1], Mappe: [2], Størrelse: [3] - Oppdaterer registrering av komponenter - Registrerer COM+-programmer og -komponenter - ProgID: [1]{{, ProgType: [2], Brukere: [3], RSN: [4]}} - Registrerer skrifter - Skrift: [1] - Registrerer produkt - [1] - Registrerer typebiblioteker - Bibl-ID: [1] - Registrerer bruker - [1] - Fjerner dupliserte filer - Fil: [1], Mappe: [9] - Oppdaterer miljøstrenger - Navn: [1], Verdi: [2], Handling: [3] - Fjerner programmer - Program: [1], Kommandolinje: [2] - Fjerner filer - Fil: [1], Mappe: [9] - Fjerner mapper - Mappe: [1] - Fjerner INI-filoppføringer - Fil: [1], Avsnitt: [2], Nøkkel: [3], Verdi: [4] - Fjerner ODBC-komponenter - Fjerner systemregisterverdier - Nøkkel: [1], Navn: [2] - Fjerner snarveier - Snarvei: [1] - Søker etter kvalifiserte produkter - Registrerer moduler - Fil: [1], Mappe: [2] - Avregistrerer moduler - Fil: [1], Mappe: [2] - Initialiserer ODBC-mapper - Starter tjenester - Tjeneste: [1] - Stopper tjenester - Tjeneste: [1] - Fjerner publisering av kvalifiserte komponenter - Komponent-ID: [1], Kvalifikator: [2] - Fjerner publisering av produktfunksjoner - Funksjon: [1] - Avregistrerer klasseservere - Klasse-ID: [1] - Avregistrerer COM+-programmer og -komponenter - Prog-ID: [1] {{, Progtype: [2]}} - Avregistrerer tilleggsservere - Tillegg: [1] - Avregistrerer skrifter - Skrift: [1] - Avregistrerer MIME-informasjon - MIME-innholdstype: [1], Tillegg: [2] - Avregistrerer programidentifikatorer - Prog-ID: [1] - Avregistrerer typebiblioteker - Bibl-ID: [1] - Oppdaterer miljøstrenger - Navn: [1], Verdi: [2], Handling: [3] - Skriver INI-filverdier - Fil: [1], Avsnitt: [2], Nøkkel: [3], Verdi: [4] - Skriver verdier til systemregistret - Nøkkel: [1], Navn: [2], Verdi: [3] - Annonseprogram - Genererer skriptoperasjoner for handlingen: - [1] - Installerer systemmappe - Fil: [1], Avhengigheter: [2] - Publiserer samlingsinformasjon - Programkontekst:[1], Samlingsnavn:[2] - Fjerner publisering av samlingsinformasjon - Programkontekst:[1], Samlingsnavn:[2] - Ruller tilbake handling: - [1] - Fjerner sikkerhetskopifiler - Fil: [1] - Fjerner flyttede filer - Fil: [1], Mappe: [9] - Fjerner publisering av produktinformasjon - - {{Uopprettelig feil: }} - {{Feil [1]. }} - Advarsel [1]. - Informasjon [1]. - Installasjonsprogrammet har støtt på en uventet feil under installasjon av denne pakken. Det kan bety at det er en feil med pakken. Feilkoden er [1]. {{Argumentene er: [2], [3], [4]}} - {{Disken er full: }} - Hendelse [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Meldingstype: [1], Argument: [2] - === Logging startet: [Date] [Time] === - === Logging stanset: [Date] [Time] === - Hendelse startet [Time]: [1]. - Hendelse stoppet [Time]: [1]. Returverdi [2]. - Tid som gjenstår: {[1] minutter }{[2] sekunder} - Ikke nok minne. Lukk andre programmer før du prøver på nytt. - Installasjonsprogrammet svarer ikke lenger. - Installasjonsprogrammet stoppet før tiden. - Vent mens Windows konfigurerer [ProductName] - Samler inn nødvendig informasjon ... - Sletter eldre versjoner av programmet ... - Forbereder sletting av eldre versjoner av programmet ... - Installasjonen av {[ProductName] }er fullført. - Installasjonen av {[ProductName] }mislyktes. - Feil ved lesing fra filen: [2]. {{ Systemfeil [3].}} Kontroller at filen finnes, og at du har tilgang til den. - Kan ikke opprette filen [2]. Det finnes allerede en mappe med dette navnet. Avbryt installasjonen, og prøv å installere på en annen plassering. - Sett inn disken: [2] - Installasjonsprogrammet har ikke tilgang til denne mappen: [2]. Installasjonen kan ikke fortsette. Logg på som administrator eller ta kontakt med systemansvarlig. - Feil ved skriving til filen: [2]. Kontroller at du har tilgang til den mappen. - Feil ved lesing fra filen: [2]. {{ Systemfeil [3].}} Kontroller at filen finnes, og at du har tilgang til den. - Et annet program har eksklusiv tilgang til filen [2]. Lukk alle andre programmer, og klikk deretter Prøv på nytt. - Ikke nok diskplass til å installere denne filen: [2]. Frigjør litt diskplass og klikk Prøv på nytt, eller klikk Avbryt for å avslutte. - Finner ikke kildefil: [2]. Kontroller at filen finnes, og at du har tilgang til den. - Feil ved lesing fra fil: [3]. {{ Systemfeil [2].}} Kontroller at filen finnes, og at du har tilgang til den. - Feil ved skriving til fil: [3]. {{ Systemfeil [2].}} Kontroller at du har tilgang til den mappen. - Finner ikke kildefil{{(kabinettfil)}}: [2]. Kontroller at filen finnes, og at du har tilgang til den. - Kan ikke opprette mappen [2]. Det finnes allerede en fil med dette navnet. Gi filen nytt navn eller fjern den og klikk Prøv på nytt, eller klikk Avbryt for å avslutte. - Volumet [2] er ikke tilgjengelig. Velg et annet. - Den angitte banen [2] er ikke tilgjengelig. - Kan ikke skrive til den angitte mappen [2]. - Det oppstod en nettverksfeil ved forsøk på lesing fra filen: [2] - Det oppstod en feil ved forsøk på å opprette mappen: [2] - Det oppstod en nettverksfeil ved forsøk på å opprette mappen: [2] - Det oppstod en nettverksfeil ved forsøk på å åpne kildefilkabinettet: [2] - Den angitte banen er for lang: [2] - Installasjonsprogrammet har ikke tilgang til å endre denne filen: [2]. - En del av mappebanen [2] er ugyldig. Den er enten tom eller overskrider lengden som tillates av systemet. - Mappebanen [2] inneholder ord som ikke er gyldige i mappebaner. - Mappebanen [2] inneholder et ugyldig tegn. - [2] er ikke et gyldig kort filnavn. - Feil ved henting av filsikkerhet: [3] GetLastError: [2] - Ugyldig stasjon: [2] - Feil ved oppdatering av filen [2]. Den er sannsynligvis oppdatert på andre måter, og kan ikke lenger endres av denne oppdateringen. Kontakt oppdateringsleverandøren for mer informasjon. {{Systemfeil: [3]}} - En nødvendig fil kan ikke installeres fordi kabinettfilen [2] ikke er signert digitalt. Dette kan bety at kabinettfilen er skadet. - En nødvendig fil kan ikke installeres fordi kabinettfilen [2] har en ugyldig digital signatur. Dette kan bety at kabinettfilen er skadet.{{ Feilen [3] ble returnert av WinVerifyTrust.}} - Kan ikke kopiere [2]-filen: CRC-feil. - Kan ikke flytte [2]-filen: CRC-feil. - Kan ikke oppdatere [2]-filen: CRC-feil. - Filen [2] kan ikke installeres fordi filen ikke finnes i kabinettfilen [3]. Dette kan indikere nettverksfeil, feil under lesing fra CD-ROMen eller et problem med denne pakken. - Kabinettfilen [2] som kreves for denne installasjonen, er skadet og kan ikke brukes. Dette kan indikere nettverksfeil, feil under lesing fra CD-ROMen eller et problem med denne pakken. - Det oppstod en feil under oppretting av en midlertidig fil som er nødvendig for å fullføre installasjonen.{{ Mappe: [3]. Systemfeilkode: [2]}} - Kan ikke opprette nøkkelen [2]. {{ Systemfeil [3].}} Kontroller at du har tilgang til nøkkelen, eller kontakt støttepersonell. - Kan ikke åpne nøkkelen [2]. {{ Systemfeil [3].}} Kontroller at du har tilgang til nøkkelen, eller kontakt støttepersonell. - Kan ikke slette verdien [2] fra nøkkelen [3]. {{ Systemfeil [4].}} Kontroller at du har tilgang til nøkkelen, eller kontakt støttepersonell. - Kan ikke slette nøkkelen [2]. {{ Systemfeil [3].}} Kontroller at du har tilgang til nøkkelen, eller kontakt støttepersonell. - Kan ikke lese verdien [2] fra nøkkelen [3]. {{ Systemfeil [4].}} Kontroller at du har tilgang til nøkkelen, eller kontakt støttepersonell. - Kan ikke skrive verdien [2] til nøkkelen [3]. {{ Systemfeil [4].}} Kontroller at du har tilgang til nøkkelen, eller kontakt støttepersonell. - Kan ikke hente verdinavn for nøkkelen [2]. {{ Systemfeil [3].}} Kontroller at du har tilgang til nøkkelen, eller kontakt støttepersonell. - Kan ikke hente undernøkkelnavn for nøkkelen [2]. {{ Systemfeil [3].}} Kontroller at du har tilgang til nøkkelen, eller kontakt støttepersonell. - Kan ikke lese sikkerhetsinformasjon for nøkkelen [2]. {{ Systemfeil [3].}} Kontroller at du har tilgang til nøkkelen, eller kontakt støttepersonell. - Kan ikke øke tilgjengelig registerplass. [2] kB ledig registerplass er nødvendig for å installere dette programmet. - En annen installasjon kjører. Du må fullføre den installasjonen før du fortsetter med denne. - Feil under tilgang til sikrede data. Kontroller at Windows Installer er riktig konfigurert, og prøv å installere på nytt. - Brukeren [2] har tidligere startet en installasjon av produktet [3]. Denne brukeren må kjøre installasjonsprogrammet på nytt før produktet kan brukes. Installasjonen vil nå fortsette. - Brukeren [2] har tidligere startet en installasjon av produktet [3]. Denne brukeren må kjøre installasjonsprogrammet på nytt før produktet kan brukes. - Ikke nok diskplass - Volum: [2]. Nødvendig plass: [3] kB. Tilgjengelig plass: [4] kB. Frigjør diskplass, og prøv på nytt. - Er du sikker på at du vil avbryte? - Filen [2][3] brukes allerede av{ følgende prosess: Navn: [4], ID: [5], Vindustittel: [6]}. Lukk programmet, og prøv på nytt. - Produktet [2] er allerede installert, og hindrer dermed installasjonen av dette produktet. De to produktene er ikke kompatible. - Det er ikke nok diskplass på volumet [2] til å fortsette installasjonen med gjenoppretting aktivert. [3] kB kreves, men det er bare [4] kB tilgjengelig. Klikk Ignorer for å fortsette installasjonen uten å lagre gjenopprettingsinformasjon, klikk Prøv på nytt for å se etter tilgjengelig plass igjen, eller klikk Avbryt for å avbryte installasjonen. - Får ikke tilgang til nettverksplasseringen [2]. - Følgende programmer bør lukkes før du fortsetter installasjonen: - Finner ingen tidligere installerte kompatible produkter på maskinen for å installere dette produktet. - Det oppstod en feil under bruk av sikkerhetsinnstillinger. [2] er ikke en gyldig bruker eller gruppe. Det kan være et problem med pakken eller et problem med tilkobling til en domenekontroller på nettverket. Kontroller nettverkstilkoblingen og klikk Prøv på nytt, eller klikk Avbryt for å avbryte installasjonen. {{Finner ikke brukerens SID, systemfeil [3]}} - Nøkkelen [2] er ikke gyldig. Kontroller at du har angitt riktig nøkkel. - Du må starte systemet på nytt før konfigurasjonen av [2] kan fortsette. Velg Ja hvis du vil starte på nytt nå, eller Nei for å starte på nytt manuelt senere. - Du må starte systemet på nytt før konfigurasjonsendringene for [2] trer i kraft. Velg Ja for å starte på nytt nå, eller Nei for å starte på nytt manuelt senere. - En installasjon av [2] er stoppet. Du må angre endringene som ble gjort i den installasjonen, for å fortsette. Vil du angre endringene? - En tidligere installasjon av dette produktet kjører allerede. Du må angre endringene som ble gjort i den installasjonen, for å fortsette. Vil du angre endringene? - Finner ingen installasjonspakke for produktet [2]. Prøv installasjonen på nytt med en gyldig kopi av installasjonspakken [3]. - Installasjonen er fullført. - Installasjonen mislyktes. - Produkt: [2] - [3] - Du kan enten gjenopprette datamaskinen til sin opprinnelige tilstand, eller fortsette installasjonen senere. Vil du gjenopprette? - Det oppstod en feil under skriving av installasjonsinformasjon til disken. Kontroller at nok diskplass er tilgjengelig, og klikk Prøv på nytt. Du kan også klikke Avbryt for å avslutte installasjonen. - Finner ikke en eller flere filer som kreves for å gjenopprette datamaskinen til sin tidligere tilstand. Gjenoppretting er ikke mulig. - [2] kan ikke installere et av de påkrevde produktene. Kontakt kundestøttegruppen. {{Systemfeil: [3].}} - Kan ikke fjerne den eldre versjonen av [2]. Kontakt kundestøttegruppen. {{Systemfeil [3].}} - Installerte [2] - Konfigurerte [2] - Fjernet [2] - Filen [2] ble avvist av en policy for digital signatur. - Ikke tilgang til tjenesten Windows Installer. Dette kan skje hvis du kjører Windows i sikker modus, eller hvis Windows Installer ikke er riktig installert. Kontakt støttepersonell for hjelp. - Det er et problem med denne Windows Installer-pakken. Et skript som kreves for å fullføre installasjonen, kan ikke kjøres. Kontakt støttepersonell eller pakkeleverandøren. {{Egendefinert handling [2] skriptfeil [3], [4]: [5] Linje [6], Kolonne [7], [8] }} - Det er problemer med denne Windows Installer-pakken. Et program som er nødvendig for å fullføre installasjonen, kan ikke kjøres. Kontakt støttepersonell eller pakkeleverandøren. {{Handling: [2], plassering: [3], kommando: [4] }} - Det er et problem med denne Windows Installer-pakken. Et program som ble kjørt i forbindelse med installasjonen, ble ikke fullført som forventet. Kontakt støttepersonell eller pakkeleverandøren. {{Handling [2], plassering: [3], kommando: [4] }} - Det er et problem med denne Windows Installer-pakken. En DLL som er nødvendig for at denne installasjonen skal fullføres, kan ikke kjøres. Kontakt støttepersonell eller pakkeleverandøren. {{Handling [2], oppføring: [3], bibliotek: [4] }} - Fjerning er fullført. - Fjerning mislyktes. - Annonsering er fullført. - Annonsering mislyktes. - Konfigurasjon er fullført. - Konfigurasjon mislyktes. - Du må være administrator for å fjerne dette programmet. Logg på som administrator eller kontakt kundestøttegruppen for hjelp til å fjerne dette programmet. - Kildeinstallasjonspakken for produktet [2] er ikke synkronisert med klientpakken. Prøv å installere på nytt med en gyldig kopi av installasjonspakken [3]. - Datamaskinen må startes på nytt for å fullføre installasjonen av [2]. Andre brukere er for øyeblikket pålogget datamaskinen og kan miste arbeid hvis den startes på nytt. Vil du starte på nytt nå? - Banen [2] er ikke gyldig. Angi en gyldig bane. - Ikke nok minne. Lukk andre programmer før du prøver på nytt. - Det er ingen disk i stasjon [2]. Sett inn en disk, og velg Prøv på nytt. Du kan også velge Avbryt for å gå tilbake til det tidligere valgte volumet. - Det er ingen disk i stasjon [2]. Sett inn en disk, og velg Prøv på nytt. Du kan også velge Avbryt for å returnere til søkedialogboksen og velge et annet volum. - Mappen [2] finnes ikke. Angi en bane til en eksisterende mappe. - Du har ikke tilgang til å lese i denne mappen. - Finner ikke en gyldig målmappe for installasjonen. - Feil under forsøk på å lese fra kildedatabasen for installasjonen: [2]. - Planlegger omstart: Gir filen [2] det nye navnet [3]. Maskinen må startes på nytt for å fullføre operasjonen. - Planlegger omstart: Sletter filen [2]. Maskinen må startes på nytt for å fullføre operasjonen. - Kan ikke registrere modulen [2]. HRESULT [3]. Kontakt støttepersonell. - Kan ikke fjerne registreringen av modulen [2]. HRESULT [3]. Kontakt støttepersonell. - Kan ikke hurtigbufre pakken [2]. Feil: [3]. Kontakt støttepersonell. - Kan ikke registrere skriften [2]. Kontroller at du har tilstrekkelige tillatelser til å installere skrifter, og at systemet støtter denne skriften. - Kan ikke fjerne registreringen av skriften [2]. Kontroller at du har tilstrekkelige tillatelser til å fjerne skrifter. - Kan ikke lage snarveien [2]. Kontroller at målmappen finnes, og at du har tilgang til den. - Kan ikke fjerne snarveien [2]. Kontroller at snarveisfilen finnes, og at du har tilgang til den. - Kan ikke registrere typebibliotek for filen [2]. Kontakt støttepersonell. - Kan ikke fjerne registreringen av typebibliotek for filen [2]. Kontakt støttepersonell. - Kan ikke oppdatere INI-filen [2][3]. Kontroller at filen finnes, og at du har tilgang til den. - Kan ikke planlegge at filen [2] skal erstatte filen [3] ved omstart. Kontroller at du har skrivetillatelse til filen [3]. - Feil under fjerning av ODBC Driverbehandling, ODBC-feil [2]: [3]. Kontakt støttepersonell. - Feil under installasjon av ODBC Driverbehandling, ODBC-feil [2]: [3]. Kontakt støttepersonell. - Feil under fjerning av ODBC-driver: [4], ODBC-feil [2]: [3]. Kontroller at du har tilstrekkelig tilgang til å fjerne ODBC-drivere. - Feil under installasjon av ODBC-driver: [4], ODBC-feil [2]: [3]. Kontroller at filen [4] finnes, og at du har tilgang til den. - Feil under konfigurasjon av ODBC-datakilde: [4], ODBC-feil [2]: [3]. Kontroller at filen [4] finnes, og at du har tilgang til den. - Kan ikke starte tjenesten [2] ([3]). Kontroller at du har tilstrekkelig tilgang til å starte systemtjenester. - Kan ikke stanse tjenesten [2] ([3]). Kontroller at du har tilstrekkelig tilgang til å stanse systemtjenester. - Kan ikke slette tjenesten [2] ([3]). Kontroller at du har tilstrekkelig tilgang til å fjerne systemtjenester. - Kan ikke installere tjenesten [2] ([3]). Kontroller at du har tilstrekkelig tilgang til å installere systemtjenester. - Kan ikke oppdatere miljøvariabelen [2]. Kontroller at du har tilstrekkelig tilgang til å endre miljøvariabler. - Du har ikke tilstrekkelige tilgangsrettigheter til å fullføre denne installasjonen for alle brukere av maskinen. Logg på som administrator, og prøv deretter å installere på nytt. - Kan ikke angi filsikkerhet for filen [3]. Feil: [2]. Kontroller at du har tilstrekkelig tilgang til å endre sikkerhetstillatelsene for denne filen. - Component Services (COM+ 1.0) er ikke installert på denne datamaskinen. Denne installasjonen krever Component Services for å kunne fullføres. Component Services er tilgjengelig i Windows 2000. - Feil under registrering av COM+-programmet. Kontakt støttepersonell for mer informasjon. - Feil under avregistrering av COM+-programmet. Kontakt støttepersonell for mer informasjon. - Beskrivelsen for tjenesten [2] ([3]) kan ikke endres. - Windows Installer-tjenesten kan ikke oppdatere systemfilen [2] fordi filen er beskyttet av Windows. Du må kanskje oppdatere operativsystemet for at programmet skal fungere riktig. {{Pakkeversjon: [3], OS-beskyttet versjon: [4]}} - Windows Installer-tjenesten kan ikke oppdatere den beskyttede Windows-filen [2]. {{Pakkeversjon: [3], OS-beskyttet versjon: [4], SFP-feil: [5]}} - Windows Installer-tjenesten kan ikke oppdatere en eller flere beskyttede Windows-filer. {{SFP-feil: [2]. Liste over beskyttede filer:\r\n[3]}} - Brukerinstallasjoner er deaktivert ved hjelp av en policy på denne maskinen. - Det oppstod en feil under installasjon av samlingen [6]. Slå opp i Hjelp og støtte for mer informasjon. HRESULT: [3]. {{samlingsgrensesnitt: [4], funksjon: [5], komponent: [2]}} - Det oppstod en feil under installasjonen av samlingen [6]. Samlingen har ikke fått et sterkt navn eller er ikke signert med minimum nøkkellengde. HRESULT: [3]. {{samlingsgrensesnitt: [4], funksjon: [5], komponent: [2]}} - Det oppstod en feil under installasjonen av samlingen [6]. Signaturen eller mappen kan ikke bekreftes eller er ikke gyldig. HRESULT: [3]. {{samlingsgrensesnitt: [4], funksjon: [5], komponent: [2]}} - Det oppstod en feil under installasjonen av samlingen [6]. En eller flere av samlingens moduler ble ikke funnet. HRESULT: [3]. {{samlingsgrensesnitt: [4], funksjon: [5], komponent: [2]}} - - Byte - GB - kB - MB - Hele funksjonen vil være utilgjengelig - Funksjonen installeres når dette er nødvendig - Hele funksjonen installeres for å kjøres fra CD - Hele funksjonen installeres på den lokale harddisken - Hele funksjonen installeres for å kjøres fra nettverket - Installeres for å kjøres fra CD - Installeres på den lokale harddisken - Installeres for å kjøres fra nettverket - Mappe|Ny mappe - Samler inn nødvendig informasjon ... - Denne funksjonen installeres ikke - Denne funksjonen vil bli installert når det er nødvendig - Denne funksjonen installeres for å kjøres fra CD - Denne funksjonen installeres på den lokale harddisken - Denne funksjonen installeres for å kjøres fra nettverket - Denne funksjonen vil bli utilgjengelig - Installeres når det er nødvendig - Denne funksjonen blir tilgjengelig for kjøring fra CD - Denne funksjonen installeres på den lokale harddisken - Denne funksjonen blir tilgjengelig for kjøring fra nettverket - Denne funksjonen vil bli fullstendig avinstallert, og du vil ikke kunne kjøre den fra CD - Denne funksjonen vil endres fra å bli kjørt fra CD til å bli installert når nødvendig - Denne funksjonen vil fortsatt kjøres fra CD - Denne funksjonen vil bli endret fra å bli kjørt fra CD til å bli installert på den lokale harddisken - Denne funksjonen frigjør [1] på harddisken. - Denne funksjonen krever [1] på harddisken. - Beregner kostnaden for denne funksjonen ... - Denne funksjonen fjernes fullstendig - Denne funksjonen vil bli fjernet fra den lokale harddisken, men vil bli installert når nødvendig - Denne funksjonen vil bli fjernet fra den lokale harddisken, men vil fremdeles være tilgjengelig for kjøring fra CD - Denne funksjonen vil fortsatt finnes på den lokale harddisken - Denne funksjonen vil bli fjernet fra den lokale harddisken, men vil fremdeles være tilgjengelig for kjøring fra nettverket - Denne funksjonen vil bli fullstendig avinstallert, og du vil ikke kunne kjøre den fra nettverket - Denne funksjonen vil endres fra å bli kjørt fra nettverket til å bli installert når nødvendig - Denne funksjonen vil endres fra å bli kjørt fra nettverket til å bli installert på den lokale harddisken - Denne funksjonen vil fortsatt kjøres fra nettverket - Denne funksjonen frigjør [1] på harddisken. [2] av [3] underfunksjoner er valgt. Underfunksjonene frigjør [4] på harddisken. - Denne funksjonen frigjør [1] på harddisken. [2] av [3] underfunksjoner er valgt. Underfunksjonene krever [4] på harddisken. - Denne funksjonen krever [1] på harddisken. [2] av [3] underfunksjoner er valgt. Underfunksjonene frigjør [4] på harddisken. - Denne funksjonen krever [1] på harddisken. [2] av [3] underfunksjoner er valgt. Underfunksjonene krever [4] på harddisken. - Tid som gjenstår: {[1] minutter }{[2] sekunder} - Tilgjengelig - Forskjell - Nødvendig - Diskstørrelse - Volum - diff --git a/Src/Localization/WixUI/WixUI_nl-NL.wxl b/Src/Localization/WixUI/WixUI_nl-NL.wxl deleted file mode 100644 index acda9d7..0000000 --- a/Src/Localization/WixUI/WixUI_nl-NL.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - V&orige - V&olgende - Annuleren - &Voltooien - &Opnieuw - &Negeren - &Ja - &Nee - OK - &Afdrukken - - [ProductName] Setup - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lees de gebruiksrechtovereenkomst van [ProductName] - Ik ga &akkoord met de voorwaarden in de overeenkomst - Klik op Installeren om het product voor alle gebruikers te installeren met de standaardopties. Klik op Geavanceerd als u de installatieopties wilt wijzigen. - Klik op Installeren om het product alleen voor uzelf te installeren met de standaardopties. Klik op Geavanceerd als u de installatieopties wilt wijzigen. - &Installeren - &Geavanceerd - 8 - 12 - 9 - 8 - Tahoma - - [ProductName] Setup - &Zoeken in: - WixUI_Bmp_Up - Eén niveau naar boven - WixUI_Bmp_New - Een nieuwe map maken - &Mapnaam: - WixUI_Bmp_Banner - Naar de doelmap bladeren - {\WixUI_Font_Title}Doelmap wijzigen - - [ProductName] Setup - Weet u zeker dat u de installatie van [ProductName] wilt annuleren? - WixUI_Ico_Info - Informatiepictogram - - [ProductName] Setup - Structuur van selecties - B&laderen... - &Beginwaarden - Schijf&gebruik - WixUI_Bmp_Banner - Klik op de pictogrammen in de onderstaande structuur als u wilt wijzigen hoe onderdelen worden geïnstalleerd. - Selecteer de manier waarop u onderdelen wilt installeren. - {\WixUI_Font_Title}Aangepaste installatie - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Locatie: - - [ProductName] Setup - WixUI_Bmp_Banner - De gemarkeerde volumes beschikken niet over voldoende schijfruimte voor de geselecteerde onderdelen. U kunt bestanden van de gemarkeerde volumes verwijderen, minder onderdelen installeren of andere doelstations selecteren. - De benodigde schijfruimte voor de installatie van de geselecteerde onderdelen. - {\WixUI_Font_Title}Vereiste schijfruimte - {120}{70}{70}{70}{70} - - [ProductName] Setup - Informatietekst - WixUI_Ico_Info - Informatiepictogram - - [ProductName] Setup - WixUI_Bmp_Dialog - Klik op de knop Voltooien om de installatiewizard af te sluiten. - {\WixUI_Font_Bigger}De wizard Setup van [ProductName] is voltooid - - [ProductName] Setup - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger} De wizard Setup van [ProductName] is voortijdig beëindigd - De installatiewizard van [ProductName] is voortijdig beëindigd vanwege een fout. Het systeem is niet gewijzigd. Als u dit programma op een later tijdstip wilt installeren, voert u de installatiewizard nogmaals uit. - Klik op de knop Voltooien om de installatiewizard af te sluiten. - - [ProductName] Setup - Productonderdelen - WixUI_Bmp_Banner - Selecteer de manier waarop u onderdelen wilt installeren. - {\WixUI_Font_Title}Productonderdelen - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installeren - &Wijzigen - - [ProductName] Setup - &Afsluiten - WixUI_Bmp_Banner - De volgende toepassingen gebruiken bestanden die moeten worden bijgewerkt door deze installatie. Sluit deze toepassingen en klik op &Opnieuw als u de installatie wilt voorzetten of op Afsluiten als u de installatie wilt afsluiten. - Bepaalde bestanden die moeten worden bijgewerkt, zijn momenteel in gebruik. - {\WixUI_Font_Title}Bestanden in gebruik - - [ProductName] Setup - &Wijzigen... - {\WixUI_Font_Title}Doelmap - Klik op Volgende om in de standaardmap te installeren of klik op Wijzigen om een andere map te kiezen. - WixUI_Bmp_Banner - [ProductName] installeren in: - - [ProductName] Setup - WixUI_Bmp_Banner - Kies het installatiebereik en de installatiemap - {\WixUI_Font_Title}Installatiebereik - {\WixUI_Font_Emphasized}Alleen voor &uzelf installeren ([LogonUser]) - [ProductName] wordt geïnstalleerd in een map per gebruiker en is alleen voor dit gebruikersaccount beschikbaar. U hebt geen lokale Administrator-bevoegdheden nodig. - [ProductName] ondersteunt installatie per gebruiker niet. - {\WixUI_Font_Emphasized}Installeren voor &alle gebruikers van deze computer - [ProductName] wordt standaard geïnstalleerd in een map per computer en is beschikbaar voor alle gebruikers. U kunt de standaardinstallatiemap wijzigen. U moet lokale Administrator-bevoegdheden hebben. - Installatie&map: - &Wijzigen... - - [ProductName] Setup - De installatiemap moet op een lokale harde schijf staan. - WixUI_Ico_Info - Informatiepictogram - - [ProductName] Setup - Ik ga &akkoord met de voorwaarden in de overeenkomst - WixUI_Bmp_Banner - Lees de volgende gebruiksrechtovereenkomst aandachtig door - {\WixUI_Font_Title}Gebruiksrechtovereenkomst - - [ProductName] Setup - &Wijzigen - Installatie wijzigen - &Herstellen - Installatie herstellen - &Verwijderen - Installatie verwijderen - WixUI_Bmp_Banner - Selecteer de bewerking die u wilt uitvoeren. - {\WixUI_Font_Title}Installatie wijzigen, herstellen of verwijderen - Hiermee kunt u wijzigen hoe onderdelen worden geïnstalleerd. - [ProductName] heeft geen functies die afzonderlijk kunnen worden geselecteerd. - Hiermee wordt [ProductName] van de computer verwijderd. - [ProductName] kan niet worden verwijderd. - Hiermee worden fouten in de meest recente installatie hersteld door ontbrekende of beschadigde bestanden, snelkoppelingen en registervermeldingen te repareren. - [ProductName] kan niet worden hersteld. - - [ProductName] Setup - WixUI_Bmp_Dialog - Met de installatiewizard kunt u de manier wijzigen waarop onderdelen van [ProductName] op uw computer worden geïnstalleerd of kunt u [ProductName] van uw computer verwijderen. Klik op Volgende om door te gaan of op Annuleren als u de installatiewizard wilt sluiten. - {\WixUI_Font_Bigger}Wizard Setup van [ProductName] - - [ProductName] Setup - WixUI_Bmp_Banner - De volgende toepassingen gebruiken bestanden die door deze installatie moeten worden bijgewerkt. U kunt deze toepassingen met behulp van de installatiewizard sluiten en ze later opnieuw starten of u kunt de computer later opnieuw opstarten. - Bepaalde bestanden die moeten worden bijgewerkt, zijn momenteel in gebruik. - {\WixUI_Font_Title}Bestanden in gebruik - De toepassingen &sluiten en opnieuw starten. - &Toepassingen niet sluiten. Opnieuw opstarten is vereist. - - [ProductName] Setup - WixUI_Bmp_Banner - De gemarkeerde volumes beschikken niet over voldoende schijfruimte voor de momenteel geselecteerde onderdelen. U kunt bestanden van de gemarkeerde volumes verwijderen, minder onderdelen installeren of een ander doelstation selecteren. - De benodigde schijfruimte voor de installatie is groter dan de beschikbare schijfruimte. - {\WixUI_Font_Title}Onvoldoende schijfruimte - {120}{70}{70}{70}{70} - - [ProductName] Setup - WixUI_Bmp_Banner - De gemarkeerde volumes beschikken niet over voldoende schijfruimte voor de momenteel geselecteerde onderdelen. U kunt bestanden van de gemarkeerde volumes verwijderen, minder onderdelen installeren of een ander doelstation selecteren. - De benodigde schijfruimte voor de installatie is groter dan de beschikbare schijfruimte. - {\WixUI_Font_Title}Onvoldoende schijfruimte - {120}{70}{70}{70}{70} - U kunt ook de terugdraaifunctie van het installatieprogramma uitschakelen. Als u terugdraaien uitschakelt, kan het installatieprogramma de oorspronkelijke staat van uw computer niet meer herstellen als de installatie wordt onderbroken. Klik op Ja als u het risico wilt nemen dat terugdraaien niet meer mogelijk is. - - [ProductName] Setup - WixUI_Bmp_Dialog - De installatiewizard wordt voorbereid. Een ogenblik geduld. - {\WixUI_Font_Bigger}Wizard Setup van [ProductName] - - [ProductName] Setup - WixUI_Bmp_Banner - [ProductName] wordt geïnstalleerd. Een ogenblik geduld. - {\WixUI_Font_Title}[ProductName] installeren - De installatie van [ProductName] wordt gewijzigd. Een ogenblik geduld. - {\WixUI_Font_Title}[ProductName] wijzigen - De installatie van [ProductName] wordt hersteld. Een ogenblik geduld. - {\WixUI_Font_Title}[ProductName] herstellen - [ProductName] wordt verwijderd. Een ogenblik geduld. - {\WixUI_Font_Title}[ProductName] verwijderen - Een ogenblik geduld. [ProductName] wordt bijgewerkt. - {\WixUI_Font_Title}[ProductName] bijwerken - Voortgang gereed - Status: - - [ProductName] Setup - &Installeren - WixUI_Bmp_Dialog - De installatie van [ProductName] op uw computer wordt voltooid. Klik op Installeren om door te gaan of op Annuleren als u de installatiewizard wilt sluiten. - {\WixUI_Font_Bigger}De wizard Setup van [ProductName] hervatten - - [ProductName] Setup - S&tandaard - Standaardinstallatie - Aa&ngepast - Aangepaste installatie - V&olledig - Volledige installatie - WixUI_Bmp_Banner - {\WixUI_Font_Title}Installatietype kiezen - Kies het meest geschikte installatietype - De meest gebruikte programmaonderdelen worden geïnstalleerd. Aanbevolen voor de meeste gebruikers. - Gebruikers kunnen kiezen welke programmaonderdelen worden geïnstalleerd en waar ze worden geïnstalleerd. Aanbevolen voor ervaren gebruikers. - Alle programmaonderdelen worden geïnstalleerd. Hiervoor is de meeste schijfruimte vereist. - - [ProductName] Setup - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}De wizard Setup van [ProductName] is onderbroken - De installatie van [ProductName] is onderbroken. Het systeem is niet gewijzigd. Als u dit programma op een later tijdstip wilt installeren, voert u de installatie opnieuw uit. - Klik op de knop Voltooien om de installatiewizard af te sluiten. - - [ProductName] Setup - WixUI_Bmp_Banner - &Installeren - Klik op Installeren om de installatie te starten. Klik op Vorige om uw installatie-instellingen te bekijken of te wijzigen. Klik op Annuleren als u de wizard wilt afsluiten. - {\WixUI_Font_Title}Gereed om [ProductName] te installeren - &Wijzigen - Klik op Wijzigen om de installatie te starten. Klik op Vorige om uw installatie-instellingen te bekijken of te wijzigen. Klik op Annuleren als u de wizard wilt afsluiten. - {\WixUI_Font_Title}Gereed om [ProductName] te wijzigen - &Herstellen - Klik op Herstellen om de installatie van [ProductName] te herstellen. Klik op Vorige om uw installatie-instellingen te bekijken of te wijzigen. Klik op Annuleren als u de wizard wilt afsluiten. - {\WixUI_Font_Title}Gereed om [ProductName] te herstellen - &Verwijderen - Klik op Verwijderen om [ProductName] van uw computer te verwijderen. Klik op Vorige om uw installatie-instellingen te bekijken of te wijzigen. Klik op Annuleren als u de wizard wilt afsluiten. - {\WixUI_Font_Title}Gereed om [ProductName] te verwijderen - &Bijwerken - Klik op Bijwerken om [ProductName] bij te werken vanaf uw computer. Klik op Vorige om een willekeurige installatie-instelling te controleren. Klik op Annuleren om de wizard af te sluiten. - {\WixUI_Font_Title}Gereed om [ProductName] bij te werken - - [ProductName] Setup - &Terug - De vereiste schijfruimte wordt bepaald. Een ogenblik geduld. - WixUI_Ico_Exclam - Uitroepteken - - [ProductName] Setup - WixUI_Bmp_Dialog - [ProductName] wordt geïnstalleerd op uw computer. Klik op Volgende om door te gaan of op Annuleren als u de installatiewizard wilt afsluiten. - Met deze wizard wordt [ProductName] op uw computer bijgewerkt. Klik op Volgende als u wilt doorgaan of op Annuleren als u de wizard wilt afsluiten. - {\WixUI_Font_Bigger}Wizard Setup van [ProductName] - - [ProductName] Setup - WixUI_Bmp_Dialog - Ik ga &akkoord met de voorwaarden in de overeenkomst - &Installeren - &Bijwerken - {\WixUI_Font_Title}Lees de gebruiksrechtovereenkomst van [ProductName] - - Installatie valideren - Nieuwe bestanden kopiëren - Bestand: [1], map: [9], grootte: [6] - Netwerkinstallatiebestanden kopiëren - Bestand: [1], map: [9], grootte: [6] - Vereiste ruimte berekenen - Vereiste ruimte berekenen - Vereiste ruimte berekenen - Snelkoppelingen maken - Snelkoppeling: [1] - In aanmerking komende onderdelen publiceren - Onderdeel-id: [1], kwalificatie: [2] - Productonderdelen publiceren - Onderdeel: [1] - Productinformatie publiceren - Klassenservers registreren - Klasse-id: [1] - Uitbreidingsservers registreren - Extensie: [1] - MIME-gegevens registreren - MIME-inhoudtype: [1], extensie: [2] - Programma-id's registreren - Programma-id: [1] - Registerruimte toewijzen - Vrije ruimte: [1] - Naar geïnstalleerde toepassingen zoeken - Eigenschap: [1], handtekening: [2] - Binding van uitvoerbare bestanden - Bestand: [1] - Naar in aanmerking komende producten zoeken - Mappen maken - Map: [1] - Services verwijderen - Service: [1] - Dubbele bestanden maken - Bestand: [1], map: [9], grootte: [6] - Naar verwante toepassingen zoeken - Toepassing gevonden: [1] - ODBC-onderdelen installeren - Nieuwe services installeren - Service: [2] - Startvoorwaarden evalueren - Onderdeelstatussen van verwante toepassingen worden gemigreerd - Toepassing: [1] - Bestanden verplaatsen - Bestand: [1], map: [9], grootte: [6] - Bestanden bijwerken - Bestand: [1], map: [2], grootte: [3] - Registratie van onderdelen bijwerken - COM+-toepassingen en -onderdelen registreren - Toepassings-id: [1]{{, toepassingstype: [2], gebruikers: [3], RSN: [4]}} - Lettertypen registreren - Lettertype: [1] - Product registreren - [1] - Typebibliotheken registreren - Bibliotheek-id: [1] - Gebruiker registreren - [1] - Dubbele bestanden verwijderen - Bestand: [1], map: [9] - Omgevingstekenreeksen bijwerken - Naam: [1], waarde: [2], actie: [3] - Toepassingen verwijderen - Toepassing: [1], opdrachtregel: [2] - Bestanden verwijderen - Bestand: [1], map: [9] - Mappen verwijderen - Map: [1] - Vermeldingen in INI-bestanden verwijderen - Bestand: [1], sectie: [2], sleutel: [3], waarde: [4] - ODBC-onderdelen verwijderen - Systeemregisterwaarden verwijderen - Sleutel: [1], naam: [2] - Snelkoppelingen verwijderen - Snelkoppeling: [1] - Naar in aanmerking komende producten zoeken - Modules registreren - Bestand: [1], map: [2] - Registratie van modules ongedaan maken - Bestand: [1], map: [2] - ODBC-mappen initialiseren - Services worden gestart - Service: [1] - Services worden gestopt - Service: [1] - Publicatie van in aanmerking komende onderdelen ongedaan maken - Onderdeel-id: [1], kwalificatie: [2] - Publicatie van productonderdelen ongedaan maken - Onderdeel: [1] - Registratie van klassenservers ongedaan maken - Klasse-id: [1] - Registratie van COM+-toepassingen en -onderdelen ongedaan maken - Toepassings-id: [1]{{, toepassingstype: [2]}} - Registratie van uitbreidingsservers ongedaan maken - Extensie: [1] - Registratie van lettertypen ongedaan maken - Lettertype: [1] - Registratie van MIME-gegevens ongedaan maken - MIME-inhoudtype: [1], extensie: [2] - Registratie van programma-id's ongedaan maken - Programma-id: [1] - Registratie van typebibliotheken ongedaan maken - Bibliotheek-id: [1] - Omgevingstekenreeksen bijwerken - Naam: [1], waarde: [2], actie: [3] - INI-bestandswaarden schrijven - Bestand: [1], sectie: [2], sleutel: [3], waarde: [4] - Systeemregisterwaarden schrijven - Sleutel: [1], naam: [2], waarde: [3] - Toepassing adverteren - Scriptbewerkingen genereren voor actie: - [1] - Systeemcatalogus installeren - Bestand: [1], afhankelijkheden: [2] - Assemblyinformatie publiceren - Toepassingscontext:[1], assemblynaam:[2] - Publicatie van assemblyinformatie ongedaan maken - Toepassingscontext:[1], assemblynaam:[2] - Terugdraaibewerking: - [1] - Back-upbestanden verwijderen - Bestand: [1] - Verplaatste bestanden verwijderen - Bestand: [1], map: [9] - Publicatie van productgegevens ongedaan maken - - {{Onherstelbare fout: }} - {{Fout [1]. }} - Waarschuwing [1]. - Info [1]. - Er is een onverwachte fout opgetreden tijdens het installeren van dit pakket. Dit kan duiden op een probleem met het pakket. Foutcode [1]. {{Argumenten: [2], [3], [4]}} - {{Schijf vol: }} - Actie [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Berichttype: [1], argument: [2] - === Logboekfunctie gestart: [Date], [Time] === - === Logboekfunctie beëindigd: [Date], [Time] === - Actie gestart [Time]: [1]. - Actie beëindigd [Time]: [1]. Retourwaarde [2]. - Resterende tijd: {[1] minuten } en {[2] seconden} - Onvoldoende geheugen. Sluit de andere toepassingen af voordat u het opnieuw probeert. - Installatieprogramma reageert niet meer. - Installatieprogramma is voortijdig beëindigd. - [ProductName] wordt nu geconfigureerd. Een ogenblik geduld - Benodigde gegevens verzamelen... - Oudere versies van deze toepassing verwijderen... - Het verwijderen van oudere versies van deze toepassing voorbereiden... - De installatie van {[ProductName] } is voltooid. - De installatie van {[ProductName] } is mislukt. - Fout bij het lezen van bestand: [2]. {{ Systeemfout [3].}} Controleer of het bestand bestaat en of u toegang tot het bestand hebt. - Kan het bestand [2] niet maken. Er bestaat al een map met deze naam. Annuleer de installatie en probeer op een andere locatie te installeren. - Plaats de schijf: [2] - U hebt onvoldoende bevoegdheden voor deze map: [2]. De installatie kan niet worden voortgezet. Meld u als Administrator aan of neem contact op met de systeembeheerder. - Fout bij het schrijven naar bestand: [2]. Controleer of u toegang tot de map hebt. - Fout bij het lezen van het bestand: [2]. {{ Systeemfout [3].}} Controleer of het bestand bestaat en of u toegang tot het bestand hebt. - Een andere toepassing heeft momenteel exclusief toegang tot het bestand [2]. Sluit alle andere toepassingen af en klik op Opnieuw. - Er is onvoldoende schijfruimte voor de installatie van het bestand [2]. Maak schijfruimte vrij en klik op Opnieuw. Klik op Annuleren als u de installatie wilt beëindigen. - Bronbestand niet gevonden: [2]. Controleer of het bestand bestaat en of u toegang tot het bestand hebt. - Fout bij het lezen van bestand: [3]. {{ Systeemfout [2].}} Controleer of het bestand bestaat en of u toegang tot het bestand hebt. - Fout bij het schrijven naar bestand: [3]. {{ Systeemfout [2].}} Controleer of u toegang tot de map hebt. - Het bronbestand is niet gevonden {{(cabinet)}}: [2]. Controleer of het bestand bestaat en of u toegang tot het bestand hebt. - Kan de map [2] niet maken. Er bestaat al een bestand met deze naam. Wijzig de naam of verwijder het bestand en klik op Opnieuw, of klik op Annuleren als u wilt stoppen. - Het volume [2] is momenteel niet beschikbaar. Selecteer een ander volume. - Het opgegeven pad [2] is niet beschikbaar. - Kan niet naar de opgegeven map schrijven: [2]. - Er is een netwerkfout opgetreden bij het lezen van het bestand [2] - Er is een fout opgetreden bij het maken van de map [2] - Er is een netwerkfout opgetreden bij het maken van de map [2] - Er is een netwerkfout opgetreden bij het openen van het CAB-bronbestand [2] - Het opgegeven pad is te lang: [2] - Het installatieprogramma heeft niet voldoende rechten om het bestand [2] te kunnen wijzigen. - Een gedeelte van het mappad [2] is ongeldig. Het is leeg of langer dan de toegestane maximumlengte. - In het pad [2] staan woorden die niet in paden zijn toegestaan. - Het pad [2] bevat een ongeldig teken. - [2] is een ongeldige korte bestandsnaam. - Fout bij het opvragen van bestandsbeveiliging: [3] GetLastError: [2] - Ongeldig station: [2] - Fout tijdens het toepassen van een patch op bestand [2]. Het bestand is waarschijnlijk op een andere manier bijgewerkt en kan niet meer worden gewijzigd door deze patch. Neem voor meer informatie contact op met de leverancier van de patch. {{Systeemfout [3]}} - Kan een benodigd bestand niet installeren omdat het CAB-bestand [2] niet digitaal is ondertekend. Dit kan duiden op een beschadigd CAB-bestand. - Kan een benodigd bestand niet installeren omdat het CAB-bestand [2] een ongeldige digitale handtekening heeft. Dit kan duiden op een beschadigd CAB-bestand. {{ Fout [3] is geretourneerd door WinVerifyTrust.}} - Kan het [2]-bestand niet kopiëren: CRC-fout. - Kan het [2]-bestand niet verplaatsen: CRC-fout. - Kan het [2]-bestand niet bijwerken met patch: CRC-fout. - Kan het bestand [2] niet installeren omdat het bestand niet is gevonden in CAB-bestand [3]. Dit kan duiden op een netwerkfout, een fout tijdens het lezen vanaf de cd-rom of een probleem met het pakket. - Het CAB-bestand [2] dat benodigd is voor deze installatie, is beschadigd en kan niet worden gebruikt. Dit kan duiden op een netwerkfout, een fout tijdens het lezen vanaf de cd-rom of een probleem met het pakket. - Er is een fout opgetreden tijdens het maken van een tijdelijk bestand dat benodigd is om de installatie te voltooien.{{ Map: [3]. Systeemfoutcode: [2]}} - Kan de sleutel [2] niet maken. {{ Systeemfout [3].}} Controleer of u voldoende toegangsrechten voor deze sleutel hebt of neem contact op met iemand van Ondersteuning. - Kan de sleutel [2] niet openen. {{ Systeemfout [3].}} Controleer of u voldoende toegangsrechten voor deze sleutel hebt of neem contact op met iemand van Ondersteuning. - Kan de waarde [2] niet uit de sleutel [3] verwijderen. {{ Systeemfout [4].}} Controleer of u voldoende toegangsrechten voor deze sleutel hebt of neem contact op met iemand van Ondersteuning. - Kan de sleutel [2] niet verwijderen. {{ Systeemfout [3].}} Controleer of u voldoende toegangsrechten voor deze sleutel hebt of neem contact op met iemand van Ondersteuning. - Kan de waarde [2] niet lezen in de sleutel [3]. {{ Systeemfout [4].}} Controleer of u voldoende toegangsrechten voor deze sleutel hebt of neem contact op met iemand van Ondersteuning. - Kan de waarde [2] niet schrijven naar de sleutel [3]. {{ Systeemfout [4].}} Controleer of u voldoende toegangsrechten voor deze sleutel hebt of neem contact op met iemand van Ondersteuning. - Kan geen waardenamen voor de sleutel [2] opvragen. {{ Systeemfout [3].}} Controleer of u voldoende toegangsrechten voor deze sleutel hebt of neem contact op met iemand van Ondersteuning. - Kan geen subsleutelnamen voor de sleutel [2] opvragen. {{ Systeemfout [3].}} Controleer of u voldoende toegangsrechten voor deze sleutel hebt of neem contact op met iemand van Ondersteuning. - Kan geen beveiligingsgegevens voor de sleutel [2] lezen. {{ Systeemfout [3].}} Controleer of u voldoende toegangsrechten voor deze sleutel hebt of neem contact op met iemand van Ondersteuning. - Kan de beschikbare ruimte in het register niet vergroten. Voor de installatie van deze toepassing is [2] kB aan ruimte in het register nodig. - Er wordt al een andere installatie uitgevoerd. Voordat u met de installatie kunt doorgaan, moet u de andere installatie eerst voltooien. - Fout bij een poging toegang tot beveiligde gegevens te krijgen. Controleer of Windows Installer juist is geconfigureerd en probeer de installatie daarna opnieuw uit te voeren. - Gebruiker [2] heeft eerder een installatie gestart voor product [3]. Deze gebruiker moet die installatie nogmaals uitvoeren voordat het product kan worden gebruikt. De huidige installatie wordt voortgezet. - Gebruiker [2] heeft eerder een installatie gestart voor product [3]. Deze gebruiker moet die installatie nogmaals uitvoeren voordat het product kan worden gebruikt. - Onvoldoende schijfruimte -- volume: [2]; benodigde schijfruimte: [3] kB; beschikbare schijfruimte: [4] kB. Maak schijfruimte vrij en probeer het opnieuw. - Weet u zeker dat u de installatie wilt annuleren? - Het bestand [2][3] wordt gebruikt{ door het volgende proces: naam: [4], id: [5], venstertitel: [6]}. Sluit die toepassing en probeer het opnieuw. - Het product [2] is al geïnstalleerd. Hierdoor kan dit product niet worden geïnstalleerd. De twee producten zijn niet compatibel. - Er is onvoldoende schijfruimte beschikbaar op volume [2] om door te gaan met de installatie met herstel ingeschakeld. [3] kB is benodigd, maar slechts [4] kB is beschikbaar. Klik op Negeren om door te gaan met de installatie zonder herstelinformatie op te slaan, klik op Opnieuw om de schijfruimte opnieuw te controleren, of klik op Annuleren om de installatie af te sluiten. - Krijg geen toegang tot de netwerklocatie [2]. - U moet de volgende toepassingen sluiten voordat u kunt doorgaan met de installatie: - Kan geen eerder geïnstalleerde in aanmerking komende producten op de computer vinden om dit product te installeren. - Er is een fout opgetreden tijdens het toepassen van beveiligingsinstellingen. [2] is geen geldige gebruiker of groep. Dit kan duiden op een probleem met het pakket of op een probleem met de verbinding met een domeincontroller in het netwerk. Controleer de netwerkverbinding en klik op Opnieuw, of klik op Annuleren om de installatie te stoppen. {{Kan de SID van de gebruiker niet vinden, systeemfout [3]}} - De sleutel [2] is ongeldig. Controleer of u de juiste sleutel hebt opgegeven. - Het systeem moet opnieuw worden opgestart voordat de configuratie van [2] kan doorgaan. Klik op Ja als u de computer nu opnieuw wilt opstarten of op Nee als u de computer later handmatig opnieuw wilt opstarten. - De wijzigingen in de configuratie van [2] worden pas van kracht als u de computer opnieuw opstart. Klik op Ja als u de computer nu opnieuw wilt opstarten of op Nee als u de computer later handmatig opnieuw wilt opstarten. - De installatie van [2] is onderbroken. Als u wilt doorgaan, moet u de wijzigingen die door die installatie zijn aangebracht, ongedaan maken. Wilt u die wijzigingen ongedaan maken? - Er wordt al een installatie van dit product uitgevoerd. Als u wilt doorgaan, moet u de wijzigingen die door die installatie zijn aangebracht, ongedaan maken. Wilt u die wijzigingen ongedaan maken? - Kan geen installatiepakket vinden voor het product [2]. Probeer de installatie opnieuw uit te voeren met een geldig exemplaar van het installatiepakket [3]. - De installatie is voltooid. - De installatie is mislukt. - Product: [2] -- [3] - U kunt de computer terugbrengen in de oorspronkelijke staat of later verdergaan met de installatie. Wilt u de configuratie herstellen? - Er is een fout opgetreden bij het schrijven van installatiegegevens naar de harde schijf. Controleer of er voldoende schijfruimte beschikbaar is en klik op Opnieuw. Klik op Annuleren als u de installatie wilt beëindigen. - Kan een of meer bestanden die nodig zijn om de computer in de oorspronkelijke staat terug te brengen, niet vinden. Herstel is niet mogelijk. - Een van de benodigde producten kan niet worden geïnstalleerd door [2]. Neem contact op met de technische ondersteuning. {{Systeemfout: [3].}} - De oudere versie van [2] kan niet worden verwijderd. Neem contact op met de technische ondersteuning. {{Systeemfout: [3].}} - Geïnstalleerd [2] - Geconfigureerd [2] - Verwijderd [2] - Bestand [2] is geweigerd vanwege een beleidsinstelling voor digitale handtekeningen. - Geen toegang tot de Windows Installer-service. Dit kan gebeuren als Windows in veilige modus wordt uitgevoerd of als Windows Installer niet correct is geïnstalleerd. Neem contact op met iemand van Ondersteuning. - Er is een probleem met dit Windows Installer-pakket. Een script dat nodig is voor het voltooien van deze installatie, kan niet worden uitgevoerd. Neem contact op met iemand van Ondersteuning of met de leverancier van het pakket. {{Aangepaste actie [2], scriptfout [3], [4]: [5], regel [6], kolom [7], [8] }} - Er is een probleem met dit Windows Installer-pakket. Een programma dat nodig is voor het voltooien van deze installatie, kan niet worden uitgevoerd. Neem contact op met iemand van Ondersteuning of met de leverancier van het pakket. {{Actie: [2], locatie: [3], opdracht: [4] }} - Er is een probleem met dit Windows Installer-pakket. Een programma dat wordt uitgevoerd tijdens de installatie is onverwachts beëindigd. Neem contact op met iemand van Ondersteuning of met de leverancier van het pakket. {{Actie [2], locatie: [3], opdracht: [4] }} - Er is een probleem met dit Windows Installer-pakket. Een DLL-bestand dat nodig is voor het voltooien van deze installatie, kan niet worden uitgevoerd. Neem contact op met iemand van Ondersteuning of met de leverancier van het pakket. {{Actie: [2], vermelding: [3], bibliotheek: [4] }} - Het verwijderen is voltooid. - Het verwijderen is mislukt. - Het adverteren is voltooid. - Het adverteren is mislukt. - Het configureren is voltooid. - Het configureren is mislukt. - U moet Administrator-rechten hebben om deze toepassing te kunnen verwijderen. Als u deze toepassing wilt verwijderen, kunt u zich aanmelden als Administrator of contact opnemen met de technische ondersteuning. - Het broninstallatiepakket voor het product [2] is niet in overeenstemming met het clientpakket. Probeer de installatie opnieuw uit te voeren met een geldig exemplaar van het installatiepakket [3]. - U moet de computer opnieuw opstarten om de installatie van [2] te voltooien. Er zijn andere gebruikers aangemeld op deze computer. Opnieuw opstarten kan tot gevolg hebben dat deze gebruikers gegevens verliezen. Wilt u de computer nu opnieuw opstarten? - Het pad [2] is ongeldig. Geef een geldig pad op. - Onvoldoende geheugen. Sluit de andere toepassingen af voordat u het opnieuw probeert. - Er bevindt zich geen schijf in station [2]. Plaats een schijf in het station en klik op Opnieuw. Klik op Annuleren als u naar het eerder geselecteerde volume wilt terugkeren. - Er bevindt zich geen schijf in station [2]. Plaats een schijf in het station en klik op Opnieuw. Klik op Annuleren als u een ander volume wilt selecteren. - De map [2] bestaat niet. Geef het pad naar een bestaande map op. - U hebt onvoldoende rechten om deze map te kunnen lezen. - Kan geen geldige doelmap voor de installatie bepalen. - Fout bij het lezen van de broninstallatiedatabase: [2]. - Er wordt een opstartbewerking gepland: de naam van het bestand [2] wordt gewijzigd in [3]. De computer moet opnieuw worden opgestart om de bewerking te voltooien. - Er wordt een opstartbewerking gepland: het bestand [2] wordt verwijderd. De computer moet opnieuw worden opgestart om de bewerking te voltooien. - De registratie van de module [2] is mislukt. HRESULT [3]. Neem contact op met iemand van Ondersteuning. - Het ongedaan maken van de registratie van de module [2] is mislukt. HRESULT [3]. Neem contact op met iemand van Ondersteuning. - Kan het pakket [2] niet in de cache opslaan. Fout: [3]. Neem contact op met iemand van Ondersteuning. - Kan het lettertype [2] niet registreren. Controleer of u voldoende machtigingen hebt voor het installeren van lettertypen en of dit lettertype door het systeem wordt ondersteund. - Kan de registratie van het lettertype [2] niet ongedaan maken. Controleer of u voldoende rechten hebt om lettertypen te verwijderen. - Kan de snelkoppeling [2] niet maken. Controleer of de doelmap bestaat en of u toegang tot deze map hebt. - Kan de snelkoppeling [2] niet verwijderen. Controleer of het snelkoppelingsbestand bestaat en of u toegang tot dit bestand hebt. - Kan de typebibliotheek voor het bestand [2] niet registreren. Neem contact op met iemand van Ondersteuning. - Kan de registratie van de typebibliotheek voor het bestand [2] niet ongedaan maken. Neem contact op met iemand van Ondersteuning. - Kan het INI-bestand [2][3] niet bijwerken. Controleer of het bestand bestaat en of u toegang tot het bestand hebt. - Kan het vervangen van het bestand [3] door het bestand [2] tijdens het opstarten niet plannen. Controleer of u schrijfmachtigingen voor het bestand [3] hebt. - Fout bij het verwijderen van het beheerprogramma voor ODBC-stuurprogramma's. ODBC-fout [2]: [3]. Neem contact op met iemand van Ondersteuning. - Fout bij het installeren van het beheerprogramma voor ODBC-stuurprogramma's. ODBC-fout [2]: [3]. Neem contact op met iemand van Ondersteuning. - Fout bij het verwijderen van het ODBC-stuurprogramma [4]. ODBC-fout [2]: [3]. Controleer of u voldoende rechten hebt om ODBC-stuurprogramma's te verwijderen. - Fout bij het installeren van het ODBC-stuurprogramma [4]. ODBC-fout [2]: [3]. Controleer of het bestand [4] bestaat en of u toegang tot dit bestand hebt. - Fout bij het configureren van de ODBC-gegevensbron [4]. ODBC-fout [2]: [3]. Controleer of het bestand [4] bestaat en of u toegang tot dit bestand hebt. - Kan de service [2] ([3]) niet starten. Controleer of u voldoende bevoegdheden hebt om systeemservices te starten. - Kan de service [2] ([3]) niet stoppen. Controleer of u voldoende bevoegdheden hebt om systeemservices te stoppen. - Kan de service [2] ([3]) niet verwijderen. Controleer of u voldoende bevoegdheden hebt om systeemservices te verwijderen. - Kan de service [2] ([3]) niet installeren. Controleer of u voldoende bevoegdheden hebt om systeemservices te installeren. - Kan de omgevingsvariabele [2] niet bijwerken. Controleer of u voldoende bevoegdheden hebt om omgevingsvariabelen te wijzigen. - U hebt onvoldoende bevoegdheden om deze installatie voor alle gebruikers van de computer uit te voeren. Meld u als Administrator aan en voer de installatie opnieuw uit. - Kan geen bestandsbeveiliging instellen voor het bestand [3]. Fout: [2]. Controleer of u voldoende bevoegdheden hebt om de beveiligingsmachtigingen voor dit bestand te wijzigen. - Component Services (COM+ 1.0) is niet op deze computer geïnstalleerd. Component Services is nodig om de installatie te kunnen voltooien. Component Services is beschikbaar in Windows 2000. - Fout tijdens het registreren van de COM+-toepassing. Neem voor meer informatie contact op met iemand van Ondersteuning. - Fout tijdens het ongedaan maken van de registratie van de COM+-toepassing. Neem voor meer informatie contact op met iemand van Ondersteuning. - Kan de beschrijving voor de service [2] ([3]) niet wijzigen. - Het systeembestand [2] kan niet worden bijgewerkt door de Windows Installer-service omdat het bestand door Windows is beveiligd. Mogelijk moet u het besturingssysteem bijwerken voordat dit programma juist werkt. {{Pakketversie: [3], door besturingssysteem beveiligde versie: [4]}} - Het beveiligde Windows-bestand [2] kan niet worden bijgewerkt door de Windows Installer-service. {{Pakketversie: [3], door besturingssysteem beveiligde versie: [4], SFP-fout: [5]}} - Een of meer beveiligde Windows-bestanden kunnen niet worden bijgewerkt door de Windows Installer-service. {{SFP-fout: [2]. Lijst met beveiligde bestanden:\r\n[3]}} - Gebruikers kunnen vanwege het ingestelde beleid geen toepassingen op deze computer installeren. - Er is een fout opgetreden tijdens het installeren van de assembly [6]. Raadpleeg Help en ondersteuning voor meer informatie. HRESULT: [3]. {{Assemblyinterface: [4], functie: [5], onderdeel: [2]}} - Er is een fout opgetreden tijdens het installeren van de assembly [6]. De assembly heeft geen sterke naam of is niet ondertekend met de minimale sleutellengte. HRESULT: [3]. {{Assemblyinterface: [4], functie: [5], onderdeel: [2]}} - Er is een fout opgetreden tijdens het installeren van de assembly [6]. De handtekening of catalogus kan niet worden geverifieerd of is ongeldig. HRESULT: [3]. {{Assemblyinterface: [4], functie: [5], onderdeel: [2]}} - Er is een fout opgetreden tijdens het installeren van de assembly [6]. Een of meer modules van de assembly zijn niet gevonden. HRESULT: [3]. {{Assemblyinterface: [4], functie: [5], onderdeel: [2]}} - - Bytes - GB - kB - MB - Het volledige onderdeel is niet beschikbaar - Het onderdeel wordt indien nodig geïnstalleerd - Het volledige onderdeel wordt geïnstalleerd voor uitvoering vanaf cd - Het volledige onderdeel wordt op de lokale harde schijf geïnstalleerd - Het volledige onderdeel wordt geïnstalleerd voor uitvoering vanaf het netwerk - Wordt geïnstalleerd voor uitvoering vanaf cd - Wordt op de lokale harde schijf geïnstalleerd - Wordt geïnstalleerd voor uitvoering vanaf het netwerk - Map|Nieuwe map - Benodigde gegevens verzamelen... - Dit onderdeel wordt niet geïnstalleerd - Dit onderdeel wordt indien nodig geïnstalleerd - Dit onderdeel wordt geïnstalleerd voor uitvoering vanaf cd - Dit onderdeel wordt op de lokale harde schijf geïnstalleerd - Dit onderdeel wordt geïnstalleerd voor uitvoering vanaf het netwerk - Dit onderdeel zal niet meer beschikbaar zijn - Wordt indien nodig geïnstalleerd - Dit onderdeel kan vanaf cd worden uitgevoerd - Dit onderdeel wordt op de lokale harde schijf geïnstalleerd - Dit onderdeel kan vanaf het netwerk worden uitgevoerd - De installatie van dit onderdeel wordt volledig ongedaan gemaakt. U kunt het onderdeel niet meer vanaf cd uitvoeren - De status van dit onderdeel wordt gewijzigd van uitvoeren vanaf cd naar installeren indien nodig - Dit onderdeel blijft beschikbaar voor uitvoering vanaf cd - De status van dit onderdeel wordt gewijzigd van uitvoerbaar vanaf cd naar geïnstalleerd op de lokale harde schijf - Dit onderdeel maakt [1] vrij op de harde schijf. - Voor dit onderdeel is [1] op de harde schijf nodig. - Vereiste schijfruimte voor dit onderdeel berekenen... - Dit onderdeel wordt volledig verwijderd - Dit onderdeel wordt van de lokale harde schijf verwijderd, maar kan indien nodig nog wel worden geïnstalleerd - Dit onderdeel wordt van de lokale harde schijf verwijderd, maar kan nog wel vanaf cd worden uitgevoerd - Dit onderdeel blijft beschikbaar op de lokale harde schijf - Dit onderdeel wordt van de lokale harde schijf verwijderd, maar kan nog wel vanaf het netwerk worden uitgevoerd - De installatie van dit onderdeel wordt volledig ongedaan gemaakt. U kunt het onderdeel niet meer vanaf het netwerk uitvoeren - De status van dit onderdeel wordt gewijzigd van uitvoeren vanaf het netwerk naar installeren indien nodig - De status van dit onderdeel wordt gewijzigd van uitvoerbaar vanaf het netwerk naar geïnstalleerd op de lokale harde schijf - Dit onderdeel blijft beschikbaar voor uitvoering vanaf het netwerk - Dit onderdeel maakt [1] vrij op de harde schijf. Er is/zijn [2] van de [3] subonderdelen geselecteerd. De subonderdelen maken [4] vrij op de harde schijf. - Dit onderdeel maakt [1] vrij op de harde schijf. Er is/zijn [2] van de [3] subonderdelen geselecteerd. Voor de subonderdelen is [4] op de harde schijf nodig. - Voor dit onderdeel is [1] op de harde schijf nodig. Er is/zijn [2] van de [3] subonderdelen geselecteerd. De subonderdelen maken [4] vrij op de harde schijf. - Voor dit onderdeel is [1] op de harde schijf nodig. Er is/zijn [2] van de [3] subonderdelen geselecteerd. Voor de subonderdelen is [4] op de harde schijf nodig. - Resterende tijd: {[1] minuten } en {[2] seconden} - Beschikbaar - Verschil - Vereist - Schijfgrootte - Volume - diff --git a/Src/Localization/WixUI/WixUI_pl-pl.wxl b/Src/Localization/WixUI/WixUI_pl-pl.wxl deleted file mode 100644 index fe615b8..0000000 --- a/Src/Localization/WixUI/WixUI_pl-pl.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Wstecz - &Dalej - Anuluj - &Zakończ - &Ponów próbę - &Ignoruj - &Tak - &Nie - OK - D&rukuj - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Przeczytaj Umowę licencyjną produktu [ProductName] - &Akceptuję warunki Umowy licencyjnej - Kliknij przycisk Zainstaluj, aby zainstalować produkt z opcjami domyślnymi dla wszystkich użytkowników. Kliknij przycisk Zaawansowane, aby zmienić opcje instalacji. - Kliknij przycisk Zainstaluj, aby zainstalować produkt z opcjami domyślnymi tylko dla siebie. Kliknij przycisk Zaawansowane, aby zmienić opcje instalacji. - &Zainstaluj - Z&aawansowane - 8 - 12 - 9 - 8 - Tahoma - - Instalator produktu [ProductName] - &Szukaj w: - WixUI_Bmp_Up - Do góry o jeden poziom - WixUI_Bmp_New - Utwórz nowy folder - Nazwa &folderu: - WixUI_Bmp_Banner - Przejdź do folderu docelowego - {\WixUI_Font_Title}Zmień folder docelowy - - Instalator produktu [ProductName] - Czy na pewno chcesz anulować instalację produktu [ProductName]? - WixUI_Ico_Info - Ikona informacji - - Instalator produktu [ProductName] - Drzewo wyborów - &Przeglądaj... - Re&setuj - Użycie dysk&u - WixUI_Bmp_Banner - Kliknij ikony w poniższym drzewie, aby zmienić sposób instalowania funkcji. - Wybierz żądany sposób instalowania funkcji. - {\WixUI_Font_Title}Instalacja niestandardowa - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Lokalizacja: - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - Wyróżnione woluminy nie mają wystarczająco dużo dostępnego miejsca na dysku na wybrane funkcje. Możesz usunąć niektóre pliki z wyróżnionych woluminów, zainstalować mniej funkcji lub wybrać inne dyski docelowe. - Miejsce na dysku wymagane do zainstalowania wybranych funkcji. - {\WixUI_Font_Title}Wymagane miejsce na dysku - {120}{70}{70}{70}{70} - - Instalator produktu [ProductName] - Tekst informacyjny - WixUI_Ico_Info - Ikona informacji - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - Kliknij przycisk Zakończ, aby zakończyć pracę Kreatora instalacji. - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] ukończył pracę - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] przedwcześnie zakończył pracę - Kreator instalacji produktu [ProductName] przedwcześnie zakończył pracę z powodu błędu. System nie został zmodyfikowany. Aby zainstalować ten program później, ponownie uruchom Kreatora instalacji. - Kliknij przycisk Zakończ, aby zakończyć pracę Kreatora instalacji. - - Instalator produktu [ProductName] - Funkcje produktu - WixUI_Bmp_Banner - Wybierz żądany sposób instalowania funkcji. - {\WixUI_Font_Title}Funkcje produktu - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Zainstaluj - Z&mień - - Instalator produktu [ProductName] - &Zakończ - WixUI_Bmp_Banner - Poniższe aplikacje korzystają z plików, które wymagają zaktualizowania za pomocą tego instalatora. Zamknij te aplikacje, a następnie kliknij przycisk &Ponów próbę, aby kontynuować instalację, lub kliknij przycisk Zakończ, aby ją zakończyć. - Niektóre pliki wymagające aktualizacji są obecnie używane. - {\WixUI_Font_Title}Pliki w użyciu - - Instalator produktu [ProductName] - Z&mień... - {\WixUI_Font_Title}Folder docelowy - Kliknij przycisk Dalej, aby zainstalować w folderze domyślnym, lub kliknij przycisk Zmień, aby wybrać inny folder. - WixUI_Bmp_Banner - Zainstaluj produkt [ProductName] w folderze: - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - Wybierz zakres i folder instalacji - {\WixUI_Font_Title}Zakres instalacji - {\WixUI_Font_Emphasized}Zainstaluj tylko dla &siebie ([LogonUser]) - Produkt [ProductName] zostanie zainstalowany w folderze przypisanym do użytkownika i będzie dostępny tylko na Twoim koncie użytkownika. Nie potrzebujesz uprawnień administratora lokalnego. - Produkt [ProductName] nie obsługuje instalacji przypisanej do użytkownika. - {\WixUI_Font_Emphasized}Zainstaluj dla wszystkich użytkowników tego &komputera - Produkt [ProductName] zostanie domyślnie zainstalowany w folderze przypisanym do komputera i będzie dostępny dla wszystkich użytkowników. Domyślny folder instalacji możesz zmienić. Musisz mieć uprawnienia administratora lokalnego. - &Folder instalacji: - Z&mień... - - Instalator produktu [ProductName] - Katalog instalacji musi się znajdować na lokalnym dysku twardym. - WixUI_Ico_Info - Ikona informacji - - Instalator produktu [ProductName] - &Akceptuję warunki Umowy licencyjnej - WixUI_Bmp_Banner - Przeczytaj uważnie poniższą umowę licencyjną - {\WixUI_Font_Title}Umowa licencyjna użytkownika oprogramowania - - Instalator produktu [ProductName] - Z&mień - Zmień instalację - &Napraw - Napraw instalację - &Usuń - Usuń instalację - WixUI_Bmp_Banner - Wybierz operację, którą chcesz wykonać. - {\WixUI_Font_Title}Zmienianie, naprawa lub usuwanie instalacji - Pozwala zmienić sposób, w jaki są zainstalowane funkcje. - Produkt [ProductName] nie ma niezależnie wybieranych funkcji. - Usuwa produkt [ProductName] z tego komputera. - Nie można usunąć produktu [ProductName]. - Naprawia błędy w najnowszej instalacji, rozwiązując problemy z brakującymi i uszkodzonymi plikami, skrótami i wpisami rejestru. - Nie można naprawić produktu [ProductName]. - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - Kreator instalacji pozwala zmienić sposób, w jaki funkcje produktu [ProductName] są zainstalowane na komputerze, lub usunąć go z komputera. Kliknij przycisk Dalej, aby kontynuować, lub Anuluj, aby zakończyć pracę Kreatora instalacji. - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] — Zapraszamy! - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - Poniższe aplikacje korzystają z plików, które wymagają zaktualizowania za pomocą tego instalatora. Możesz zezwolić, aby Kreator instalacji zakończył ich działanie, a następnie spróbował uruchomić je ponownie lub uruchomił ponownie komputer. - Niektóre pliki wymagające aktualizacji są obecnie używane. - {\WixUI_Font_Title}Pliki w użyciu - &Zamknij aplikacje i spróbuj uruchomić je ponownie. - &Nie zamykaj aplikacji (będzie wymagany ponowny rozruch komputera). - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - W wyróżnionych woluminach jest za mało miejsca na dysku dla obecnie wybranych funkcji. Możesz usunąć niektóre pliki z wyróżnionych woluminów, zainstalować mniej funkcji lub wybrać inny dysk docelowy. - Ilość miejsca na dysku wymagana do instalacji przekracza ilość dostępnego miejsca na dysku. - {\WixUI_Font_Title}Za mało miejsca na dysku - {120}{70}{70}{70}{70} - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - W wyróżnionych woluminach jest za mało miejsca na dysku dla obecnie wybranych funkcji. Możesz usunąć niektóre pliki z wyróżnionych woluminów, zainstalować mniej funkcji lub wybrać inny dysk docelowy. - Ilość miejsca na dysku wymagana do instalacji przekracza ilość dostępnego miejsca na dysku. - {\WixUI_Font_Title}Za mało miejsca na dysku - {120}{70}{70}{70}{70} - Alternatywnie możesz wyłączyć funkcję wycofywania Instalatora. Wyłączenie wycofywania uniemożliwi Instalatorowi przywrócenie oryginalnego stanu komputera w przypadku przerwania instalacji. Kliknij przycisk Tak, jeśli chcesz podjąć to ryzyko i wyłączyć funkcję wycofywania. - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - Zaczekaj, aż Kreator instalacji zakończy przygotowania do przeprowadzenia instalacji. - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] — Zapraszamy! - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - Czekaj, aż Kreator instalacji zainstaluje produkt [ProductName]. - {\WixUI_Font_Title}Instalowanie produktu [ProductName] - Czekaj, aż Kreator instalacji wprowadzi zmiany w produkcie [ProductName]. - {\WixUI_Font_Title}Wprowadzanie zmian w produkcie [ProductName] - Czekaj, aż Kreator instalacji naprawi produkt [ProductName]. - {\WixUI_Font_Title}Naprawianie produktu [ProductName] - Czekaj, aż Kreator instalacji usunie produkt [ProductName]. - {\WixUI_Font_Title}Usuwanie produktu [ProductName] - Czekaj, aż Kreator instalacji zaktualizuje produkt [ProductName]. - {\WixUI_Font_Title}Aktualizowanie produktu [ProductName] - Postęp - Status: - - Instalator produktu [ProductName] - &Zainstaluj - WixUI_Bmp_Dialog - Kreator instalacji wykona instalację produktu [ProductName] na tym komputerze. Kliknij przycisk Zainstaluj, aby kontynuować, lub kliknij przycisk Anuluj, aby zakończyć pracę Kreatora instalacji. - {\WixUI_Font_Bigger}Wznawianie pracy Kreatora instalacji produktu [ProductName] - - Instalator produktu [ProductName] - &Typowa - Instalacja typowa - Ni&estandardowa - Instalacja niestandardowa - &Pełna - Instalacja pełna - WixUI_Bmp_Banner - {\WixUI_Font_Title}Wybierz typ instalacji - Wybierz typ instalacji, który najlepiej odpowiada Twoim potrzebom - Instaluje najczęściej używane funkcje programu. Zalecana w przypadku większości użytkowników. - Umożliwia użytkownikom wybranie funkcji programu do zainstalowania i lokalizacji, w której zostaną zainstalowane. Zalecana w przypadku użytkowników zaawansowanych. - Zostaną zainstalowane wszystkie funkcje programu. Wymaga najwięcej miejsca na dysku. - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Działanie Kreatora instalacji produktu [ProductName] zostało przerwane - Instalacja produktu [ProductName] została przerwana. System nie został zmodyfikowany. Aby zainstalować ten program później, ponownie uruchom instalację. - Kliknij przycisk Zakończ, aby zakończyć pracę Kreatora instalacji. - - Instalator produktu [ProductName] - WixUI_Bmp_Banner - &Zainstaluj - Kliknij przycisk Zainstaluj, aby rozpocząć instalację. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do zainstalowania produktu [ProductName] - Z&mień - Kliknij przycisk Zmień, aby rozpocząć instalację. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do wprowadzenia zmian w produkcie [ProductName] - &Napraw - Kliknij przycisk Napraw, aby naprawić instalację produktu [ProductName]. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do naprawienia produktu [ProductName] - &Usuń - Kliknij przycisk Usuń, aby usunąć produkt [ProductName] z tego komputera. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do usunięcia produktu [ProductName] - Akt&ualizuj - Kliknij przycisk Aktualizuj, aby zaktualizować produkt [ProductName] na tym komputerze. Kliknij przycisk Wstecz, aby przejrzeć lub zmienić dowolne ustawienia instalacji. Kliknij przycisk Anuluj, aby zakończyć pracę kreatora. - {\WixUI_Font_Title}Wszystko gotowe do zaktualizowania produktu [ProductName] - - Instalator produktu [ProductName] - &Powrót - Zaczekaj, aż Instalator zakończy określanie wymaganej ilości miejsca na dysku. - WixUI_Ico_Exclam - Ikona wykrzyknika - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - Kreator instalacji zainstaluje produkt [ProductName] na tym komputerze. Kliknij przycisk Dalej, aby kontynuować, lub Anuluj, aby zakończyć pracę Kreatora instalacji. - Kreator instalacji zaktualizuje produkt [ProductName] na tym komputerze. Kliknij przycisk Dalej, aby kontynuować, lub Anuluj, aby zakończyć pracę Kreatora instalacji. - {\WixUI_Font_Bigger}Kreator instalacji produktu [ProductName] — Zapraszamy! - - Instalator produktu [ProductName] - WixUI_Bmp_Dialog - &Akceptuję warunki Umowy licencyjnej - &Zainstaluj - Akt&ualizuj - {\WixUI_Font_Title}Przeczytaj umowę licencyjną produktu [ProductName] - - Sprawdzanie poprawności instalacji - Kopiowanie nowych plików - Plik: [1], katalog: [9], rozmiar: [6] - Kopiowanie plików instalacji sieciowej - Plik: [1], katalog: [9], rozmiar: [6] - Obliczanie wymaganego miejsca - Obliczanie wymaganego miejsca - Obliczanie wymaganego miejsca - Tworzenie skrótów - Skrót: [1] - Publikowanie składników kwalifikowanych - Identyfikator składnika: [1], kwalifikator: [2] - Publikowanie funkcji produktu - Funkcja: [1] - Publikowanie informacji o produkcie - Rejestrowanie serwerów klas - Identyfikator klasy: [1] - Rejestrowanie serwerów rozszerzeń - Rozszerzenie: [1] - Rejestrowanie informacji MIME - Typ zawartości MIME: [1], rozszerzenie: [2] - Rejestrowanie identyfikatorów programu - Identyfikator programu: [1] - Przydzielanie przestrzeni rejestru - Wolne miejsce: [1] - Wyszukiwanie zainstalowanych aplikacji - Właściwość: [1], podpis: [2] - Wiązanie plików wykonywalnych - Plik: [1] - Wyszukiwanie kwalifikujących produktów - Tworzenie folderów - Folder: [1] - Usuwanie usług - Usługa: [1] - Tworzenie duplikatów plików - Plik: [1], katalog: [9], rozmiar: [6] - Wyszukiwanie aplikacji pokrewnych - Znaleziono aplikację: [1] - Instalowanie składników ODBC - Instalowanie nowych usług - Usługa: [2] - Sprawdzanie warunków uruchamiania - Migracja stanów funkcji z pokrewnych aplikacji - Aplikacja: [1] - Przenoszenie plików - Plik: [1], katalog: [9], rozmiar: [6] - Poprawianie plików - Plik: [1], katalog: [2], rozmiar: [3] - Aktualizowanie rejestracji składników - Rejestrowanie aplikacji i składników COM+ - Identyfikator aplikacji: [1]{{, typ aplikacji: [2], użytkownicy: [3], RSN: [4]}} - Rejestrowanie czcionek - Czcionka: [1] - Rejestrowanie produktu - [1] - Rejestrowanie bibliotek typów - Identyfikator biblioteki: [1] - Rejestrowanie użytkownika - [1] - Usuwanie zduplikowanych plików - Plik: [1], katalog: [9] - Aktualizowanie ciągów środowiska - Nazwa: [1], wartość: [2], akcja [3] - Usuwanie aplikacji - Aplikacja: [1], wiersz polecenia: [2] - Usuwanie plików - Plik: [1], katalog: [9] - Usuwanie folderów - Folder: [1] - Usuwanie wpisów plików INI - Plik: [1], sekcja: [2], klucz: [3], wartość: [4] - Usuwanie składników ODBC - Usuwanie wartości rejestru systemowego - Klucz: [1], nazwa: [2] - Usuwanie skrótów - Skrót: [1] - Wyszukiwanie kwalifikujących produktów - Rejestrowanie modułów - Plik: [1], folder: [2] - Wyrejestrowywanie modułów - Plik: [1], folder: [2] - Inicjowanie katalogów ODBC - Uruchamianie usług - Usługa: [1] - Zatrzymywanie usług - Usługa: [1] - Cofanie publikowania składników kwalifikowanych - Identyfikator składnika: [1], kwalifikator: [2] - Cofanie publikowania funkcji produktu - Funkcja: [1] - Wyrejestrowywanie serwerów klas - Identyfikator klasy: [1] - Wyrejestrowywanie aplikacji i składników COM+ - Identyfikator aplikacji: [1]{{, typ aplikacji: [2]}} - Wyrejestrowywanie serwerów rozszerzeń - Rozszerzenie: [1] - Wyrejestrowywanie czcionek - Czcionka: [1] - Wyrejestrowywanie informacji MIME - Typ zawartości MIME: [1], rozszerzenie: [2] - Wyrejestrowywanie identyfikatorów programów - Identyfikator programu: [1] - Wyrejestrowywanie bibliotek typów - Identyfikator biblioteki: [1] - Aktualizowanie ciągów środowiska - Nazwa: [1], wartość: [2], akcja [3] - Zapisywanie wartości plików INI - Plik: [1], sekcja: [2], klucz: [3], wartość: [4] - Zapisywanie wartości rejestru systemowego - Klucz: [1], nazwa: [2], wartość: [3] - Aplikacja anonsująca - Generowanie operacji skryptu dla akcji: - [1] - Instalowanie wykazu systemu - Plik: [1], zależności: [2] - Publikowanie informacji o asemblerze - Kontekst aplikacji: [1], nazwa asemblera: [2] - Cofanie publikowania informacji o asemblerze - Kontekst aplikacji: [1], nazwa asemblera: [2] - Powrót do poprzedniej akcji: - [1] - Usuwanie plików kopii zapasowej - Plik: [1] - Usuwanie plików przeniesionych - Plik: [1], katalog: [9] - Cofanie publikowania informacji o produkcie - - {{Błąd krytyczny: }} - {{Błąd [1]. }} - Ostrzeżenie [1]. - Informacja [1]. - Instalator napotkał nieoczekiwany błąd podczas instalowania tego pakietu. To może wskazywać na problem z tym pakietem. Kod błędu to [1]. {{Argumenty: [2], [3], [4]}} - {{Dysk zapełniony: }} - Akcja [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Typ komunikatu: [1], argument: [2] - === Logowanie rozpoczęte: [Date] [Time] === - === Logowanie zatrzymane: [Date] [Time] === - Uruchomienie akcji [Time]: [1]. - Zakończenie akcji [Time]: [1]. Wartość zwrócona [2]. - Pozostało czasu: {[1] min }{[2] s} - Za mało pamięci. Zamknij inne aplikacje przed ponowną próbą. - Instalator nie odpowiada. - Instalator przedwcześnie zakończył pracę. - Czekaj, system Windows konfiguruje produkt [ProductName] - Trwa zbieranie wymaganych informacji... - Trwa usuwanie starszych wersji tej aplikacji... - Trwa przygotowywanie do usunięcia starszych wersji tej aplikacji... - Instalacja produktu {[ProductName] } została ukończona pomyślnie. - Instalacja produktu {[ProductName]} nie powiodła się. - Błąd podczas odczytu z pliku: [2]. {{ Błąd systemu [3].}} Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Nie można utworzyć pliku „[2]”. Istnieje już katalog o tej nazwie. Anuluj instalację i spróbuj przeprowadzić ją w innej lokalizacji. - Włóż dysk: [2] - Instalator ma niewystarczające uprawnienia dostępu do tego katalogu: [2]. Nie można kontynuować instalacji. Zaloguj się jako administrator lub skontaktuj się z administratorem systemu. - Błąd przy zapisywaniu do pliku: [2]. Sprawdź, czy masz dostęp do tego katalogu. - Błąd odczytu z pliku [2]. {{ Błąd systemu [3].}} Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Inna aplikacja ma wyłączny dostęp do pliku „[2]”. Zamknij wszystkie inne aplikacje, a następnie kliknij przycisk Ponów próbę. - Za mało miejsca na dysku, aby zainstalować ten plik: [2]. Zwolnij nieco miejsca na dysku i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby zakończyć. - Nie znaleziono pliku źródłowego: [2]. Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Błąd podczas odczytu z pliku [3]. {{ Błąd systemu [2].}} Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Błąd zapisu w pliku: [3]. {{ Błąd systemu [2].}} Sprawdź, czy masz dostęp do tego katalogu. - Nie znaleziono pliku źródłowego{{(plik cab)}}: [2]. Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Nie można utworzyć katalogu „[2]”. Plik o tej nazwie już istnieje. Zmień nazwę pliku lub usuń go i kliknij przycisk Ponów próbę lub Anuluj, aby zakończyć pracę. - Wolumin [2] jest obecnie niedostępny. Wybierz inny wolumin. - Określona ścieżka „[2]” jest niedostępna. - Nie można przeprowadzić zapisu w określonym folderze: [2]. - Wystąpił błąd sieciowy podczas próby odczytu z pliku: [2] - Wystąpił błąd podczas próby utworzenia katalogu: [2] - Wystąpił błąd sieciowy podczas próby utworzenia katalogu: [2] - Wystąpił błąd sieciowy podczas próby otwarcia pliku źródłowego cab: [2] - Określona ścieżka jest za długa: [2] - Instalator ma niewystarczające uprawnienia do modyfikowania tego pliku: [2]. - Część ścieżki folderu „[2]” jest nieprawidłowa. Jest ona pusta lub przekracza długość dozwoloną w systemie. - Ścieżka folderu „[2]” zawiera słowa, które nie są dozwolone w ścieżkach folderów. - Ścieżka folderu „[2]” zawiera nieprawidłowy znak. - „[2]” nie jest prawidłową krótką nazwą pliku. - Błąd pobierania zabezpieczeń pliku: [3] GetLastError: [2] - Nieprawidłowy dysk: [2] - Błąd podczas stosowania poprawki do pliku [2]. Prawdopodobnie plik został zaktualizowany w inny sposób i nie może być już modyfikowany przez tę poprawkę. Aby uzyskać więcej informacji, skontaktuj się z dostawcą poprawki. {{Błąd systemu: [3]}} - Wymagany plik nie może być zainstalowany, ponieważ plik cab [2] nie jest podpisany cyfrowo. To może wskazywać na uszkodzenie pliku cab. - Wymagany plik nie może być zainstalowany, ponieważ plik cab [2] ma nieprawidłowy podpis cyfrowy. To może wskazywać na uszkodzenie pliku cab.{{ Błąd [3] został zwrócony przez moduł WinVerifyTrust.}} - Nie można poprawnie skopiować pliku [2]: błąd CRC. - Nie można poprawnie przenieść pliku [2]: błąd CRC. - Nie można poprawnie zastosować poprawki do pliku [2]: błąd CRC. - Nie można zainstalować pliku „[2]”, ponieważ nie można go odnaleźć w pliku cab „[3]”. To może wskazywać na błąd sieciowy, błąd odczytu z dysku CD-ROM lub problem z tym pakietem. - Plik cab „[2]” wymagany dla tej instalacji jest uszkodzony i nie może być użyty. To może wskazywać na błąd sieciowy, błąd odczytu z dysku CD-ROM lub problem z tym pakietem. - Wystąpił błąd podczas tworzenia pliku tymczasowego wymaganego do ukończenia tej instalacji.{{ Folder: [3]. Kod błędu systemu: [2]}} - Nie można utworzyć klucza: [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można otworzyć klucza: [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można usunąć wartości [2] z klucza [3]. {{ Błąd systemu [4].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można usunąć klucza: [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można odczytać wartości [2] z klucza [3]. {{ Błąd systemu [4].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można zapisać wartości [2] do klucza [3]. {{ Błąd systemu [4].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można pobrać nazw wartości dla klucza [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można pobrać nazw podkluczy dla klucza [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można odczytać informacji o zabezpieczeniach dla klucza [2]. {{ Błąd systemu [3].}} Sprawdź, czy masz wystarczające prawa dostępu do tego klucza, lub skontaktuj się z pomocą techniczną. - Nie można zwiększyć dostępnego miejsca dla rejestru. Do zainstalowania tej aplikacji wymagane jest [2] KB wolnego miejsca dla rejestru. - Inna instalacja jest w toku. Musisz ukończyć tamtą instalację przed kontynuowaniem tej instalacji. - Błąd dostępu do zabezpieczonych danych. Upewnij się, że Instalator Windows jest skonfigurowany prawidłowo, i spróbuj ponownie przeprowadzić instalację. - Użytkownik „[2]” zainicjował poprzednio instalację dla produktu „[3]”. Użytkownik ten będzie musiał uruchomić tę instalację ponownie, aby używać tego produktu. Bieżąca instalacja będzie kontynuowana. - Użytkownik „[2]” zainicjował poprzednio instalację dla produktu „[3]”. Użytkownik ten będzie musiał uruchomić tę instalację ponownie, aby używać tego produktu. - Za mało miejsca na dysku — wolumin: „[2]”; wymagane miejsce: [3] KB; dostępne miejsce: [4] KB. Zwolnij nieco miejsca na dysku i ponów próbę. - Czy na pewno chcesz anulować operację? - Plik [2][3] jest używany{ przez następujący proces: Nazwa: [4], Id: [5], Nazwa okna: „[6]”}. Zamknij aplikację i ponów próbę. - Jest już zainstalowany produkt „[2]”, co uniemożliwia instalację tego produktu. Te dwa produkty nie są zgodne. - Za mało miejsca na dysku na woluminie [2], aby kontynuować instalację z włączoną opcją odzyskiwania. Dostępna ilość miejsca: [3] KB; wymagana ilość miejsca: [4] KB. Kliknij przycisk Ignoruj, aby kontynuować instalację bez zapisywania informacji odzyskiwania, kliknij przycisk Ponów próbę, aby ponownie sprawdzić dostępne miejsce lub kliknij przycisk Anuluj, aby zakończyć instalację. - Nie można uzyskać dostępu do lokalizacji sieciowej [2]. - Następujące aplikacje należy zamknąć przed kontynuowaniem instalacji: - Nie można znaleźć na tym komputerze żadnego poprzednio zainstalowanego produktu zgodnego, który umożliwiałby instalację tego produktu. - Wystąpił błąd podczas stosowania ustawień zabezpieczeń. [2] nie jest prawidłowym użytkownikiem lub grupą. Może być to problem z pakietem lub problem z łączeniem się z kontrolerem domeny w sieci. Sprawdź połączenie sieciowe i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby zakończyć instalację. {{Nie można zlokalizować identyfikatora SID użytkownika, błąd systemu [3]}} - Klucz [2] nie jest prawidłowy. Sprawdź, czy wprowadzono poprawny klucz. - Instalator musi ponownie uruchomić system przed kontynuowaniem konfiguracji [2]. Kliknij przycisk Tak, aby uruchomić system ponownie, lub przycisk Nie, jeśli planujesz ręczne ponowne uruchomienie systemu później. - Musisz ponownie uruchomić system, aby zmiany konfiguracji [2] zostały wprowadzone. Kliknij przycisk Tak, aby uruchomić system ponownie lub przycisk Nie, jeśli planujesz ręczne ponowne uruchomienie systemu później. - Instalacja [2] jest obecnie wstrzymana. Aby kontynuować, musisz cofnąć zmiany wprowadzone przez tę instalację. Czy chcesz cofnąć te zmiany? - Poprzednia instalacja tego produktu już trwa. Aby kontynuować, musisz cofnąć zmiany wprowadzone przez tę instalację. Czy chcesz cofnąć te zmiany? - Nie można odnaleźć pakietu instalacyjnego dla produktu [2]. Ponów próbę instalacji, używając prawidłowej kopii pakietu instalacyjnego „[3]”. - Instalacja została pomyślnie ukończona. - Instalacja nie powiodła się. - Produkt: [2] - [3] - Możesz przywrócić komputer do poprzedniego stanu lub kontynuować instalację później. Czy chcesz przywrócić poprzedni stan komputera? - Wystąpił błąd podczas zapisywania informacji o instalacji na dysku. Sprawdź, czy na dysku jest dostępna wystarczająca ilość miejsca, i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby zakończyć instalację. - Nie można znaleźć co najmniej jednego z plików wymaganych do przywrócenia komputera do jego poprzedniego stanu. Przywrócenie stanu nie będzie możliwe. - [2] nie może zainstalować jednego z wymaganych produktów. Skontaktuj się z grupą pomocy technicznej. {{Błąd systemu: [3].}} - Nie można usunąć starszej wersji programu [2]. Skontaktuj się z grupą pomocy technicznej. {{Błąd systemu [3].}} - Zainstalowano [2] - Skonfigurowano [2] - Usunięto [2] - Plik [2] został odrzucony przez zasadę podpisu cyfrowego. - Nie można uzyskać dostępu do usługi Instalator Windows. Może mieć to miejsce, jeśli system Windows jest uruchomiony w trybie awaryjnym lub Instalator Windows jest niepoprawnie zainstalowany. Skontaktuj się z działem Pomocy technicznej, aby uzyskać pomoc. - Wystąpił problem z tym pakietem Instalatora Windows. Nie można uruchomić skryptu wymaganego do ukończenia tej instalacji. Skontaktuj się z pomocą techniczną lub dostawcą pakietu. {{Akcja niestandardowa [2], błąd skryptu [3], [4]: [5] wiersz [6], kolumna [7], [8]}} - Wystąpił problem z tym pakietem Instalatora Windows. Nie można uruchomić programu wymaganego do ukończenia tej instalacji. Skontaktuj się z pomocą techniczną lub dostawcą pakietu. {{Akcja: [2], lokalizacja: [3], polecenie: [4] }} - Wystąpił problem z tym pakietem Instalatora Windows. Program uruchomiony jako część instalacji nie zakończył pracy w oczekiwany sposób. Skontaktuj się z pomocą techniczną lub dostawcą pakietu. {{Akcja [2], lokalizacja: [3], polecenie: [4] }} - Wystąpił problem z tym pakietem Instalatora Windows. Nie można uruchomić biblioteki DLL wymaganej do ukończenia tej instalacji. Skontaktuj się z pomocą techniczną lub dostawcą pakietu. {{Akcja [2], wpis: [3], biblioteka: [4] }} - Usunięcie zostało pomyślnie ukończone. - Usunięcie nie powiodło się. - Anonsowanie zostało pomyślnie ukończone. - Anonsowanie nie powiodło się. - Konfiguracja została pomyślnie ukończona. - Konfiguracja nie powiodła się. - Musisz być administratorem, aby usunąć tę aplikację. Aby usunąć tę aplikację, zaloguj się jako Administrator lub skontaktuj się z obsługą techniczną w celu uzyskania pomocy. - Źródłowy pakiet instalacyjny dla produktu [2] nie jest zsynchronizowany z pakietem klienckim. Ponów próbę instalacji, używając prawidłowej kopii pakietu instalacyjnego „[3]”. - W celu ukończenia instalacji produktu [2] musisz ponownie uruchomić komputer. Na tym komputerze są obecnie zalogowani inni użytkownicy i ponowne uruchomienie komputera może spowodować utratę danych przez tych użytkowników. Czy chcesz teraz ponownie uruchomić komputer? - Ścieżka [2] nie jest prawidłowa. Określ prawidłową ścieżkę. - Za mało pamięci. Zamknij inne aplikacje przed ponowną próbą. - Brak dysku w stacji [2]. Włóż dysk i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby wrócić do poprzednio wybranego woluminu. - Brak dysku w stacji [2]. Włóż dysk i kliknij przycisk Ponów próbę lub kliknij przycisk Anuluj, aby wrócić do okna dialogowego przeglądania i wybrać inny wolumin. - Folder [2] nie istnieje. Wprowadź ścieżkę do istniejącego folderu. - Masz niewystarczające uprawnienia do odczytu tego folderu. - Nie można określić prawidłowego folderu docelowego dla instalacji. - Błąd podczas próby odczytu źródłowej bazy danych instalacji: [2]. - Planowanie operacji ponownego uruchamiania: zmiana nazwy pliku z [2] na [3]. W celu ukończenia operacji należy ponownie uruchomić system. - Planowanie operacji ponownego uruchamiania: usuwanie pliku [2]. W celu ukończenia operacji należy ponownie uruchomić system. - Nie można zarejestrować modułu [2]. Wynik HRESULT [3]. Skontaktuj się z pomocą techniczną. - Nie można wyrejestrować modułu [2]. Wynik HRESULT [3]. Skontaktuj się z pomocą techniczną. - Nie można przechować pakietu [2] w pamięci podręcznej. Błąd: [3]. Skontaktuj się z pomocą techniczną. - Nie można zarejestrować czcionki [2]. Sprawdź, czy masz wystarczające uprawnienia do instalacji czcionek i czy system obsługuje tę czcionkę. - Nie można wyrejestrować czcionki [2]. Sprawdź, czy masz wystarczające uprawnienia do usuwania czcionek. - Nie można utworzyć skrótu [2]. Sprawdź, czy folder docelowy istnieje i czy masz do niego dostęp. - Nie można usunąć skrótu [2]. Sprawdź, czy plik skrótu istnieje i czy masz do niego dostęp. - Nie można zarejestrować biblioteki typów dla pliku [2]. Skontaktuj się z pomocą techniczną. - Nie można wyrejestrować biblioteki typów dla pliku [2]. Skontaktuj się z pomocą techniczną. - Nie można zaktualizować pliku ini [2][3]. Sprawdź, czy plik istnieje i czy masz do niego dostęp. - Nie można zaplanować, aby plik [2] zastąpił plik [3] przy ponownym uruchomieniu. Sprawdź, czy masz uprawnienia do zapisu pliku [3]. - Błąd usuwania menedżera sterownika ODBC, błąd ODBC [2]: [3]. Skontaktuj się z pomocą techniczną. - Błąd instalowania menedżera sterownika ODBC, błąd ODBC [2]: [3]. Skontaktuj się z pomocą techniczną. - Błąd usuwania sterownika ODBC: [4], błąd ODBC [2]: [3]. Sprawdź, czy masz wystarczające uprawnienia do usuwania sterowników ODBC. - Błąd instalowania sterownika ODBC: [4], błąd ODBC [2]: [3]. Sprawdź, czy plik [4] istnieje i czy masz do niego dostęp. - Błąd konfiguracji źródła danych ODBC: [4], błąd ODBC [2]: [3]. Sprawdź, czy plik [4] istnieje i czy masz do niego dostęp. - Nie można uruchomić usługi „[2]” ([3]). Sprawdź, czy masz wystarczające uprawnienia do uruchamiania usług systemowych. - Nie można zatrzymać usługi „[2]” ([3]). Sprawdź, czy masz wystarczające uprawnienia do zatrzymywania usług systemowych. - Nie można usunąć usługi „[2]” ([3]). Sprawdź, czy masz wystarczające uprawnienia do usuwania usług systemowych. - Nie można zainstalować usługi „[2]” ([3]). Sprawdź, czy masz wystarczające uprawnienia do instalowania usług systemowych. - Nie można zaktualizować zmiennej środowiskowej „[2]”. Sprawdź, czy masz wystarczające uprawnienia do modyfikacji zmiennych środowiskowych. - Nie masz wystarczających uprawnień do zakończenia tej instalacji dla wszystkich użytkowników na tym komputerze. Zaloguj się jako administrator, a następnie ponów próbę tej instalacji. - Nie można ustawić zabezpieczeń pliku „[3]”. Błąd: [2]. Sprawdź, czy masz wystarczające uprawnienia do modyfikowania uprawnień zabezpieczeń dla tego pliku. - Na tym komputerze nie są zainstalowane usługi składowe (COM+ 1.0). W celu prawidłowego wykonania instalacji wymagane są usługi składowe. Usługi składowe są dostępne w systemie Windows 2000. - Wystąpił błąd podczas rejestrowania aplikacji COM+. Aby uzyskać więcej informacji, skontaktuj się z pomocą techniczną. - Wystąpił błąd podczas wyrejestrowywania aplikacji COM+. Aby uzyskać więcej informacji, skontaktuj się z pomocą techniczną. - Zmiana opisu dla usługi „[2]” ([3]) nie jest możliwa. - Usługa Instalator Windows nie może zaktualizować pliku systemowego [2], ponieważ plik jest chroniony przez system Windows. Aby program działał prawidłowo, należy zaktualizować system operacyjny. {{Wersja pakietu: [3], wersja chroniona systemu operacyjnego: [4]}} - Usługa Instalator Windows nie może zaktualizować chronionego przez system Windows pliku [2]. {{Wersja pakietu: [3], wersja chroniona systemu operacyjnego: [4], błąd SFP: [5]}} - Usługa Instalator Windows nie może zaktualizować jednego lub kilku chronionych plików Windows. {{Błąd SFP: [2]. Lista chronionych plików:\r\n[3]}} - Instalacje użytkownika są wyłączone ze względu na zasady obowiązujące na tym komputerze. - Wystąpił błąd podczas instalacji zestawu „[6]”. Zobacz Pomoc i obsługę techniczną, aby uzyskać więcej informacji. Wynik HRESULT: [3]. {{Interfejs zestawu: [4], funkcja: [5], składnik: [2]}} - Wystąpił błąd podczas instalacji zestawu „[6]”. Zestaw nie ma silnej nazwy lub nie jest podpisany za pomocą klucza o minimalnej długości. Wynik HRESULT: [3]. {{Interfejs zestawu: [4], funkcja: [5], składnik: [2]}} - Wystąpił błąd podczas instalacji zestawu „[6]”. Nie można zweryfikować podpisu lub wykazu albo jest on nieprawidłowy. Wynik HRESULT: [3]. {{Interfejs zestawu: [4], funkcja: [5], składnik: [2]}} - Wystąpił błąd podczas instalacji zestawu „[6]”. Nie można odnaleźć jednego lub większej liczby modułów zestawu. Wynik HRESULT: [3]. {{Interfejs zestawu: [4], funkcja: [5], składnik: [2]}} - - Bajtów - GB - KB - MB - Cała funkcja będzie niedostępna - Funkcja zostanie zainstalowana w razie potrzeby - Cała funkcja zostanie zainstalowana do uruchamiania z dysku CD - Cała funkcja zostanie zainstalowana na lokalnym dysku twardym - Cała funkcja zostanie zainstalowana do uruchamiania z sieci - Zostanie zainstalowana do uruchamiania z dysku CD - Zostanie zainstalowana na lokalnym dysku twardym - Zostanie zainstalowana do uruchamiania z sieci - Folder|Nowy folder - Trwa zbieranie wymaganych informacji... - Ta funkcja pozostanie niezainstalowana - Ta funkcja zostanie ustawiona do zainstalowania w razie potrzeby - Ta funkcja zostanie zainstalowana do uruchamiania z dysku CD - Ta funkcja zostanie zainstalowana na lokalnym dysku twardym - Ta funkcja zostanie zainstalowana do uruchamiania z sieci - Ta funkcja stanie się niedostępna - Zostanie zainstalowana w razie potrzeby - Ta funkcja będzie dostępna do uruchamiania z dysku CD - Ta funkcja zostanie zainstalowana na lokalnym dysku twardym - Ta funkcja będzie dostępna do uruchamiania z sieci - Ta funkcja zostanie całkowicie odinstalowana, nie będzie można uruchamiać jej z dysku CD - Stan tej funkcji zostanie zmieniony z uruchamiania z dysku CD na zainstalowanie w razie potrzeby - Ta funkcja będzie dalej uruchamiana z dysku CD - Stan tej funkcji zostanie zmieniony z uruchamiania z dysku CD na zainstalowanie na lokalnym dysku twardym - Ta funkcja zwolni [1] miejsca na dysku twardym. - Ta funkcja wymaga [1] miejsca na dysku twardym. - Trwa kompilowanie kosztu dla tej funkcji... - Ta funkcja zostanie całkowicie usunięta - Ta funkcja zostanie usunięta z lokalnego dysku twardego, ale zostanie ustawiona do zainstalowania w razie potrzeby - Ta funkcja zostanie usunięta z lokalnego dysku twardego, ale nadal będzie można uruchamiać ją z dysku CD - Ta funkcja pozostanie na lokalnym dysku twardym - Ta funkcja zostanie usunięta z lokalnego dysku twardego, ale nadal będzie można uruchamiać ją z sieci - Ta funkcja zostanie odinstalowana całkowicie, nie będzie można uruchamiać jej z sieci - Stan tej funkcji zostanie zmieniony z uruchamiania z sieci na zainstalowanie w razie potrzeby - Stan tej funkcji zostanie zmieniony z uruchamiania z sieci na zainstalowanie na lokalnym dysku twardym - Ta funkcja pozostanie uruchamiana z sieci - Ta funkcja zwolni [1] na dysku twardym. Wybrano w niej [2] z [3] podfunkcji. Wybrane podfunkcje zwolnią [4] na dysku twardym. - Ta funkcja zwolni [1] na dysku twardym. Wybrano w niej [2] z [3] podfunkcji. Wybrane podfunkcje wymagają [4] na dysku twardym. - Ta funkcja wymaga [1] na dysku twardym. Wybrano w niej [2] z [3] podfunkcji. Wybrane podfunkcje zwolnią [4] na dysku twardym. - Ta funkcja wymaga [1] na dysku twardym. Wybrano w niej [2] z [3] podfunkcji. Wybrane podfunkcje wymagają [4] na dysku twardym. - Pozostało czasu: {[1] min }{[2] s} - Dostępne - Różnica - Wymagane - Rozmiar dysku - Wolumin - diff --git a/Src/Localization/WixUI/WixUI_pt-BR.wxl b/Src/Localization/WixUI/WixUI_pt-BR.wxl deleted file mode 100644 index 619cd3e..0000000 --- a/Src/Localization/WixUI/WixUI_pt-BR.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Voltar - &Avançar - Cancelar - &Concluir - Tenta&r Novamente - &Ignorar - &Sim - &Não - OK - Im&primir - - Instalação do [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Leia o Contrato de Licença do [ProductName] - &Aceito os termos do Contrato de Licença - Clique em Instalar para instalar o produto com as opções padrão para todos os usuários. Clique em Avançado para alterar as opções de instalação. - Clique em Instalar para instalar o produto com as opções padrão apenas para você. Clique em Avançado para alterar as opções de instalação. - &Instalar - A&vançado - 8 - 12 - 9 - 8 - Tahoma - - Instalação do [ProductName] - &Examinar: - WixUI_Bmp_Up - Um nível acima - WixUI_Bmp_New - Criar uma nova pasta - &Nome da pasta: - WixUI_Bmp_Banner - Procurar a pasta de destino - {\WixUI_Font_Title}Alterar pasta de destino - - Instalação do [ProductName] - Tem certeza de que deseja cancelar a instalação do [ProductName]? - WixUI_Ico_Info - Ícone de informações - - Instalação do [ProductName] - Árvore de seleções - P&rocurar... - Re&definir - &Uso do Disco - WixUI_Bmp_Banner - Clique nos ícones da árvore abaixo para alterar a forma como os recursos serão instalados. - Selecione de que forma os recursos devem ser instalados. - {\WixUI_Font_Title}Instalação Personalizada - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Local: - - Instalação do [ProductName] - WixUI_Bmp_Banner - Os volumes realçados não possuem espaço em disco suficiente disponível para os recursos selecionados. Você pode remover arquivos dos volumes realçados, instalar menos recursos ou selecionar unidades de destino diferentes. - Espaço em disco necessário para a instalação dos recursos selecionados. - {\WixUI_Font_Title}Requisitos de Espaço em Disco - {120}{70}{70}{70}{70} - - Instalação do [ProductName] - Texto informativo - WixUI_Ico_Info - Ícone de informações - - Instalação do [ProductName] - WixUI_Bmp_Dialog - Clique no botão Concluir para sair do Assistente para Instalação. - {\WixUI_Font_Bigger}Concluído o Assistente para Instalação do [ProductName] - - Instalação do [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}O Assistente para Instalação do [ProductName] foi encerrado prematuramente - O Assistente para Instalação do [ProductName] foi encerrado prematuramente devido a um erro. O sistema não foi modificado. Para instalar este programa mais tarde, execute novamente o Assistente para Instalação. - Clique no botão Concluir para sair do Assistente para Instalação. - - Instalação do [ProductName] - Recursos do produto - WixUI_Bmp_Banner - Selecione de que forma os recursos devem ser instalados. - {\WixUI_Font_Title}Recursos do Produto - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Instalar - &Alterar - - Instalação do [ProductName] - Sai&r - WixUI_Bmp_Banner - Os aplicativos a seguir estão usando arquivos que precisam ser atualizados por esta instalação. Feche os aplicativos e clique em Tenta&r Novamente para continuar a instalação ou em Sair para encerrá-la. - Alguns arquivos que precisam ser atualizados estão em uso. - {\WixUI_Font_Title}Arquivos em Uso - - Instalação do [ProductName] - A&lterar... - {\WixUI_Font_Title}Pasta de Destino - Clique em Avançar para instalar na pasta padrão ou clique em Alterar para escolher outra. - WixUI_Bmp_Banner - Instalar o [ProductName] em: - - Instalação do [ProductName] - WixUI_Bmp_Banner - Escolha o escopo e a pasta de instalação - {\WixUI_Font_Title}Escopo de Instalação - {\WixUI_Font_Emphasized}Instalar ape&nas para você ([LogonUser]) - O [ProductName] será instalado em uma pasta por usuário e estará disponível apenas para a sua conta de usuário. Não é necessário ter privilégios de Administrador local. - O [ProductName] não oferece suporte à instalação por usuário. - {\WixUI_Font_Emphasized}Instalar para todos os usuários deste co&mputador - O [ProductName] será instalado em uma pasta por computador por padrão e estará disponível para todos os usuários. Você pode alterar a pasta de instalação padrão. É necessário ter privilégios de Administrador local. - Pa&sta de instalação: - A&lterar... - - Instalação do [ProductName] - O diretório de instalação deve estar em um disco rígido local. - WixUI_Ico_Info - Ícone de informações - - Instalação do [ProductName] - &Aceito os termos do Contrato de Licença - WixUI_Bmp_Banner - Leia atenciosamente o contrato de licença a seguir - {\WixUI_Font_Title}Contrato de Licença de Usuário Final - - Instalação do [ProductName] - &Alterar - Alterar Instalação - Re&parar - Reparar Instalação - &Remover - Remover Instalação - WixUI_Bmp_Banner - Selecione a operação que você deseja executar. - {\WixUI_Font_Title}Alterar, reparar ou remover a instalação - Permite que você altere a forma como os recursos são instalados. - O [ProductName] não tem nenhum recurso que possa ser selecionado de maneira independente. - Remove o [ProductName] do computador. - Não é possível remover o [ProductName]. - Repara erros da instalação mais recente, corrigindo arquivos, atalhos e entradas do Registro ausentes ou corrompidos. - Não é possível reparar o [ProductName]. - - Instalação do [ProductName] - WixUI_Bmp_Dialog - O Assistente para Instalação permite alterar a forma como os recursos do [ProductName] são instalados ou removê-lo do computador. Clique em Avançar para continuar ou em Cancelar para sair do Assistente para Instalação. - {\WixUI_Font_Bigger}Bem-vindo ao Assistente para Instalação do [ProductName] - - Instalação do [ProductName] - WixUI_Bmp_Banner - Os aplicativos a seguir estão usando arquivos que precisam ser atualizados por esta instalação. Você pode permitir que o Assistente para Instalação feche esses aplicativos e tente reiniciá-los ou reinicializar o computador mais tarde. - Alguns arquivos que precisam ser atualizados estão em uso. - {\WixUI_Font_Title}Arquivos em Uso - &Fechar os aplicativos e tentar reiniciá-los. - &Não fechar os aplicativos. Será necessário reinicializar. - - Instalação do [ProductName] - WixUI_Bmp_Banner - Os volumes realçados não têm espaço em disco suficiente disponível para os recursos selecionados. Você pode remover alguns arquivos dos volumes realçados, instalar menos recursos ou selecionar outra unidade de destino. - O espaço em disco necessário para a instalação excede o espaço em disco disponível. - {\WixUI_Font_Title}Espaço em Disco Insuficiente - {120}{70}{70}{70}{70} - - Instalação do [ProductName] - WixUI_Bmp_Banner - Os volumes realçados não têm espaço em disco suficiente disponível para os recursos selecionados. Você pode remover alguns arquivos dos volumes realçados, instalar menos recursos ou selecionar outra unidade de destino. - O espaço em disco necessário para a instalação excede o espaço em disco disponível. - {\WixUI_Font_Title}Espaço em Disco Insuficiente - {120}{70}{70}{70}{70} - Alternativamente, é possível desabilitar a funcionalidade de reversão do instalador. Isso evita que o instalador restaure seu computador ao estado original quando a instalação é interrompida por qualquer motivo. Clique em Sim se quiser assumir o risco de desabilitar a reversão. - - Instalação do [ProductName] - WixUI_Bmp_Dialog - Aguarde enquanto o Assistente para Instalação se prepara para orientar você durante a instalação. - {\WixUI_Font_Bigger}Bem-vindo ao Assistente para Instalação do [ProductName] - - Instalação do [ProductName] - WixUI_Bmp_Banner - Aguarde enquanto o Assistente para Instalação instala o [ProductName]. - {\WixUI_Font_Title}Instalando o [ProductName] - Aguarde enquanto o Assistente para Instalação altera o [ProductName]. - {\WixUI_Font_Title}Alterando o [ProductName] - Aguarde enquanto o Assistente para Instalação repara o [ProductName]. - {\WixUI_Font_Title}Reparando o [ProductName] - Aguarde enquanto o Assistente para Instalação remove o [ProductName]. - {\WixUI_Font_Title}Removendo o [ProductName] - Aguarde enquanto o Assistente para Instalação atualiza o [ProductName]. - {\WixUI_Font_Title}Atualizando o [ProductName] - Andamento da operação - Status: - - Instalação do [ProductName] - &Instalar - WixUI_Bmp_Dialog - O Assistente para Instalação concluirá a instalação do [ProductName] no seu computador. Clique em Instalar para continuar ou em Cancelar para sair do Assistente para Instalação. - {\WixUI_Font_Bigger}Continuando o Assistente para Instalação do [ProductName] - - Instalação do [ProductName] - &Típica - Instalação Típica - P&ersonalizada - Instalação Personalizada - C&ompleta - Instalação Completa - WixUI_Bmp_Banner - {\WixUI_Font_Title}Escolher o Tipo de Instalação - Escolha o tipo de instalação mais adequado às suas necessidades - Instala os recursos mais comuns do programa. Recomendável para a maioria dos usuários. - Permite que os usuários escolham os recursos a serem instalados e onde devem ser instalados. Recomendável para usuários avançados. - Todos os recursos do programa serão instalados. É necessário mais espaço em disco. - - Instalação do [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}O Assistente para Instalação do [ProductName] foi interrompido - A instalação do [ProductName] foi interrompida. O sistema não foi modificado. Para instalar este programa mais tarde, execute a instalação novamente. - Clique no botão Concluir para sair do Assistente para Instalação. - - Instalação do [ProductName] - WixUI_Bmp_Banner - &Instalar - Clique em Instalar para iniciar a instalação. Clique em Voltar para rever ou alterar as configurações de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para instalar o [ProductName] - &Alterar - Clique em Alterar para iniciar a instalação. Clique em Voltar para rever ou alterar as configurações de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para alterar o [ProductName] - Re&parar - Clique em Reparar para reparar a instalação do [ProductName]. Clique em Voltar para rever ou alterar as configurações de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para reparar o [ProductName] - &Remover - Clique em Remover para remover o [ProductName] do seu computador. Clique em Voltar para rever ou alterar as configurações de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para remover o [ProductName] - At&ualizar - Clique em Atualizar para atualizar o [ProductName] no seu computador. Clique em Voltar para rever ou alterar as configurações de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para atualizar o [ProductName] - - Instalação do [ProductName] - &Retornar - Aguarde enquanto o instalador determina os requisitos de espaço em disco. - WixUI_Ico_Exclam - Ícone de exclamação - - Instalação do [ProductName] - WixUI_Bmp_Dialog - O Assistente para Instalação vai instalar o [ProductName] no seu computador. Clique em Avançar para continuar ou em Cancelar para sair do Assistente para Instalação. - O Assistente para Instalação atualizará o [ProductName] no seu computador. Clique em Avançar para continuar ou em Cancelar para sair do Assistente para Instalação. - {\WixUI_Font_Bigger}Bem-vindo ao Assistente para Instalação do [ProductName] - - Instalação do [ProductName] - WixUI_Bmp_Dialog - &Aceito os termos do Contrato de Licença - &Instalar - At&ualizar - {\WixUI_Font_Title}Leia o Contrato de Licença do [ProductName] - - Validando a instalação - Copiando novos arquivos - Arquivo: [1], Diretório: [9], Tamanho: [6] - Copiando arquivos de instalação de rede - Arquivo: [1], Diretório: [9], Tamanho: [6] - Calculando requisitos de espaço - Calculando requisitos de espaço - Calculando requisitos de espaço - Criando atalhos - Atalho: [1] - Publicando Componentes Qualificados - ID do Componente: [1], Qualificador: [2] - Publicando Recursos do Produto - Recurso: [1] - Publicando informações do produto - Registrando servidores de Classes - ID da Classe: [1] - Registrando servidores de extensão - Extensão: [1] - Registrando informações de MIME - Tipo de Conteúdo MIME: [1], Extensão: [2] - Registrando identificadores de programas - ProgId: [1] - Alocando espaço no Registro - Espaço livre: [1] - Procurando aplicativos instalados - Propriedade: [1], Assinatura: [2] - Associando executáveis - Arquivo: [1] - Procurando produtos qualificados - Criando pastas - Pasta: [1] - Excluindo serviços - Serviço: [1] - Criando arquivos duplicados - Arquivo: [1], Diretório: [9], Tamanho: [6] - Procurando aplicativos relacionados - Aplicativo encontrado: [1] - Instalando componentes ODBC - Instalando novos serviços - Serviço: [2] - Avaliando as condições de inicialização - Migrando estados de recursos de aplicativos relacionados - Aplicativo: [1] - Movendo arquivos - Arquivo: [1], Diretório: [9], Tamanho: [6] - Corrigindo arquivos - Arquivo: [1], Diretório: [2], Tamanho: [3] - Atualizando registro do componente - Registrando Componentes e Aplicativos COM+ - AppId: [1]{{, AppType: [2], Usuários: [3], RSN: [4]}} - Registrando fontes - Fonte: [1] - Registrando o produto - [1] - Registrando bibliotecas de tipos - LibID: [1] - Registrando o usuário - [1] - Removendo arquivos duplicados - Arquivo: [1], Diretório: [9] - Atualizando cadeias de caracteres de ambiente - Nome: [1], Valor: [2], Ação [3] - Removendo aplicativos - Aplicativo: [1], Linha de comando: [2] - Removendo arquivos - Arquivo: [1], Diretório: [9] - Removendo pastas - Pasta: [1] - Removendo entradas de arquivos INI - Arquivo: [1], Seção: [2], Chave: [3], Valor: [4] - Removendo componentes ODBC - Removendo valores do Registro do sistema - Chave: [1], Nome: [2] - Removendo atalhos - Atalho: [1] - Procurando produtos qualificados - Registrando módulos - Arquivo: [1], Pasta: [2] - Cancelando o registro de módulos - Arquivo: [1], Pasta: [2] - Inicializando diretórios ODBC - Iniciando serviços - Serviço: [1] - Interrompendo serviços - Serviço: [1] - Cancelando a Publicação de Componentes Qualificados - ID do Componente: [1], Qualificador: [2] - Cancelando a Publicação de Recursos do Produto - Recurso: [1] - Cancelar o registro de servidores de Classes - ID da Classe: [1] - Cancelando o Registro de Componentes e Aplicativos COM+ - AppId: [1]{{, AppType: [2]}} - Cancelando o registro de servidores de extensão - Extensão: [1] - Cancelando o registro de fontes - Fonte: [1] - Cancelando o registro de informações de MIME - Tipo de Conteúdo MIME: [1], Extensão: [2] - Cancelando o registro de identificadores de programas - ProgId: [1] - Cancelando o registro de bibliotecas de tipos - LibID: [1] - Atualizando cadeias de caracteres de ambiente - Nome: [1], Valor: [2], Ação [3] - Gravando valores de arquivos INI - Arquivo: [1], Seção: [2], Chave: [3], Valor: [4] - Gravando valores do Registro do sistema - Chave: [1], Nome: [2], Valor: [3] - Anunciando aplicativo - Gerando operações de script para a ação: - [1] - Instalando catálogo do sistema - Arquivo: [1], Dependências: [2] - Publicando informações do assembly - Contexto do Aplicativo:[1], Nome do Assembly:[2] - Cancelando a publicação de informações do assembly - Contexto do Aplicativo:[1], Nome do Assembly:[2] - Revertendo ação: - [1] - Removendo arquivos de backup - Arquivo: [1] - Removendo arquivos movidos - Arquivo: [1], Diretório: [9] - Cancelando a publicação de informações do produto - - {{Erro fatal: }} - {{Erro [1]. }} - Aviso [1]. - Informações [1]. - O instalador encontrou um erro inesperado ao instalar este pacote. Isso pode indicar que há um problema com o pacote. Código de erro: [1]. {{Os argumentos são: [2], [3], [4]}} - {{Disco cheio: }} - Ação [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Tipo de mensagem: [1], Argumento: [2] - === Início do registro em log: [Date] [Time] === - === Fim do registro em log: [Date] [Time] === - Início da ação [Time]: [1]. - Término da ação [Time]: [1]. Valor de retorno [2]. - Tempo restante: {[1] minutos }{[2] segundos} - Memória insuficiente. Desligue outros aplicativos antes de tentar novamente. - O instalador não está respondendo. - O instalador foi interrompido prematuramente. - Aguarde enquanto o Windows configura o [ProductName] - Coletando informações necessárias... - Removendo versões anteriores deste aplicativo... - Preparando para remover versões anteriores deste aplicativo... - A instalação do {[ProductName] }foi concluída com êxito. - Falha na instalação do {[ProductName] }. - Erro ao ler do arquivo: [2]. {{ Erro do sistema [3].}} Verifique se o arquivo existe e se você pode acessá-lo. - Não é possível criar o arquivo '[2]'. Já existe um diretório com este nome. Cancele a instalação e tente instalar em outro local. - Insira o disco: [2] - O instalador não tem privilégios suficientes para acessar este diretório: [2]. Não é possível dar continuidade à instalação. Faça logon como administrador ou contate o administrador do sistema. - Erro ao gravar no arquivo: [2]. Verifique se você tem acesso a este diretório. - Erro ao ler do arquivo [2]. {{ Erro do sistema [3].}} Verifique se o arquivo existe e se você pode acessá-lo. - Outro aplicativo tem acesso exclusivo ao arquivo '[2]'. Desligue todos os outros aplicativos e clique em Tentar Novamente. - Não há espaço em disco suficiente para instalar este arquivo: [2]. Libere algum espaço em disco e clique em Tentar Novamente, ou clique em Cancelar para sair. - Arquivo de origem não encontrado: [2]. Verifique se o arquivo existe e se você pode acessá-lo. - Erro ao ler do arquivo: [3]. {{ Erro do sistema [2].}} Verifique se o arquivo existe e se você pode acessá-lo. - Erro ao gravar no arquivo: [3]. {{ Erro do sistema [2].}} Verifique se você tem acesso a esse diretório. - Arquivo de origem não encontrado{{(gabinete)}}: [2]. Verifique se o arquivo existe e se você pode acessá-lo. - Não é possível criar o diretório '[2]'. Já existe um arquivo com este nome. Forneça um novo nome ou remova o arquivo e clique em Tentar Novamente, ou clique em Cancelar para sair. - O volume [2] não está disponível no momento. Selecione outro volume. - O caminho especificado '[2]' não está disponível. - Não é possível gravar na pasta especificada: [2]. - Erro de rede ao tentar ler do arquivo: [2] - Erro ao tentar criar o diretório: [2] - Erro de rede ao tentar criar o diretório: [2] - Erro de rede ao tentar abrir o gabinete do arquivo de origem: [2] - O caminho especificado é muito longo: [2] - O Instalador não tem privilégios suficientes para modificar este arquivo: [2]. - Uma parte do caminho da pasta '[2]' não é válida. Essa parte está vazia ou excede o tamanho permitido pelo sistema. - O caminho da pasta '[2]' contém palavras que não são válidas em caminhos de pastas. - O caminho da pasta '[2]' contém um caractere inválido. - '[2]' não é um nome de arquivo curto válido. - Erro ao obter segurança do arquivo: [3] GetLastError: [2] - Unidade inválida: [2] - Erro ao aplicar patch ao arquivo [2]. É provável que o arquivo tenha sido atualizado por outros meios e não possa mais ser modificado por esse patch. Para obter mais informações, contate o fornecedor do patch. {{Erro do Sistema: [3]}} - Não é possível instalar um arquivo necessário porque o arquivo de gabinete [2] não está assinado digitalmente. Isso pode indicar que o arquivo de gabinete está corrompido. - Não é possível instalar um arquivo necessário porque o arquivo de gabinete [2] tem uma assinatura digital inválida. Isso pode indicar que o arquivo de gabinete está corrompido.{{ Erro [3] retornado pelo WinVerifyTrust.}} - Falha ao copiar corretamente o arquivo [2]: erro de CRC. - Falha ao mover corretamente o arquivo [2]: erro de CRC. - Falha ao corrigir corretamente o arquivo [2]: erro de CRC. - O arquivo '[2]' não pode ser instalado porque não foi encontrado no arquivo de gabinete '[3]'. Isso pode indicar um erro de rede, um erro de leitura do CD-ROM ou um problema com este pacote. - O arquivo de gabinete '[2]' necessário para esta instalação está corrompido e não pode ser usado. Isso pode indicar um erro de rede, um erro de leitura do CD-ROM ou um problema com este pacote. - Erro ao criar um arquivo temporário necessário para concluir esta instalação.{{ Pasta: [3]. Código de erro do sistema: [2]}} - Não foi possível criar a chave: [2]. {{ Erro do sistema [3].}} Verifique se você tem acesso suficiente a essa chave ou contate a equipe de suporte. - Não foi possível abrir a chave: [2]. {{ Erro do sistema [3].}} Verifique se você tem acesso suficiente a essa chave ou contate a equipe de suporte. - Não foi possível excluir o valor [2] da chave [3]. {{ Erro do sistema [4].}} Verifique se você tem acesso suficiente a essa chave ou contate a equipe de suporte. - Não foi possível excluir a chave [2]. {{ Erro do sistema [3].}} Verifique se você tem acesso suficiente a essa chave ou contate a equipe de suporte. - Não foi possível ler o valor [2] da chave [3]. {{ Erro do sistema [4].}} Verifique se você tem acesso suficiente a essa chave ou contate a equipe de suporte. - Não foi possível gravar o valor [2] na chave [3]. {{ Erro do sistema [4].}} Verifique se você tem acesso suficiente a essa chave ou contate a equipe de suporte. - Não foi possível obter nomes de valores para a chave [2]. {{ Erro do sistema [3].}} Verifique se você tem acesso suficiente a essa chave ou contate a equipe de suporte. - Não foi possível obter nomes de subchaves para a chave [2]. {{ Erro do sistema [3].}} Verifique se você tem acesso suficiente a essa chave ou contate a equipe de suporte. - Não foi possível ler informações de segurança para a chave [2]. {{ Erro do sistema [3].}} Verifique se você tem acesso suficiente a essa chave ou contate a equipe de suporte. - Não foi possível aumentar o espaço disponível do Registro. São necessários [2] KB de espaço livre no Registro para a instalação deste aplicativo. - Outra instalação está em andamento. Você deve concluir a instalação anterior antes de continuar a instalação atual. - Erro ao acessar dados protegidos. Verifique se o Windows Installer está configurado corretamente e tente repetir a instalação. - O usuário '[2]' já havia iniciado uma instalação do produto '[3]'. Esse usuário precisará executar novamente a instalação para poder usar o produto. A instalação atual continuará agora. - O usuário '[2]' já havia iniciado uma instalação do produto '[3]'. Esse usuário precisará executar novamente a instalação para poder usar o produto. - Espaço em disco insuficiente - Volume: '[2]'; espaço necessário: [3] KB; espaço disponível: [4] KB. Libere espaço em disco e tente novamente. - Tem certeza de que deseja cancelar? - O arquivo [2][3] está em uso{ pelo seguinte processo: Nome: [4], ID: [5], Título da Janela: '[6]'}. Feche o aplicativo e tente novamente. - O produto '[2]' já foi instalado e isso impede a instalação deste produto. Os dois produtos são incompatíveis. - Não há espaço suficiente em disco no volume '[2]' para continuar a instalação com recuperação habilitada. [3] KB são necessários, mas apenas [4] KB estão disponíveis. Clique em Ignorar para continuar a instalação sem salvar informações de recuperação, clique em Tentar Novamente para verificar o espaço disponível novamente ou clique em Cancelar para sair da instalação. - Não foi possível acessar o local da rede [2]. - Os aplicativos a seguir devem ser fechados antes que a instalação continue: - Não foi possível localizar os produtos compatíveis instalados previamente no computador para a instalação deste produto. - Erro ao aplicar configurações de segurança. [2] não é um usuário ou grupo válido. Isso pode ser um problema com o pacote ou de conexão com um controlador de domínio na rede. Verifique sua conexão de rede e clique em Tentar Novamente ou em Cancelar para encerrar a instalação. {{Não é possível localizar o SID de usuário, erro do sistema [3]}} - A chave [2] não é válida. Verifique se você digitou a chave correta. - O instalador deve reiniciar o sistema para que a configuração do [2] possa continuar. Clique em Sim para reiniciar agora ou em Não se quiser reiniciar manualmente mais tarde. - Você deve reiniciar o sistema para que as alterações da configuração do [2] tenham efeito. Clique em Sim para reiniciar agora ou em Não se desejar reiniciá-lo manualmente mais tarde. - Uma instalação do [2] está suspensa no momento. Você precisa desfazer as alterações aplicadas por essa instalação para poder continuar. Deseja desfazer as alterações? - Uma instalação anterior deste produto está em andamento. Você precisa desfazer as alterações aplicadas por essa instalação para poder continuar. Deseja desfazer as alterações? - Não foi possível encontrar o pacote de instalação para o produto [2]. Tente instalar novamente usando uma cópia válida do pacote de instalação '[3]'. - Instalação concluída com êxito. - Falha na instalação. - Produto: [2] -- [3] - Você pode restaurar o computador ao seu estado anterior ou continuar a instalação mais tarde. Deseja restaurá-lo? - Erro ao gravar as informações de instalação no disco. Verifique se o espaço disponível em disco é suficiente e clique em Tentar Novamente, ou clique em Cancelar para finalizar a instalação. - Não foi possível localizar um ou mais dos arquivos necessários para restaurar o computador ao estado anterior. A restauração não será realizada. - [2] não pode instalar um dos produtos necessários. Contate o grupo de suporte técnico. {{Erro do sistema: [3].}} - Não é possível remover a versão antiga do [2]. Contate o grupo de suporte técnico. {{Erro do sistema: [3].}} - Instalado [2] - Configurado [2] - Removido [2] - O arquivo [2] foi rejeitado pela política de assinatura digital. - Não foi possível acessar o Serviço Windows Installer. Isso poderá ocorrer se você estiver executando o Windows no modo de segurança ou se o Windows Installer não estiver corretamente instalado. Contate a equipe de suporte para obter ajuda. - Há um problema neste pacote do Windows Installer. Não foi possível executar um script necessário para concluir a instalação. Contate a equipe de suporte ou o fornecedor do pacote. {{Ação personalizada [2] erro de script [3], [4]:[5] Linha [6], Coluna [7], [8] }} - Há um problema com este pacote do Windows Installer. Um programa necessário para que esta instalação seja concluída não pôde ser executado. Contate a equipe de suporte ou o fornecedor do pacote. {{Ação: [2], local: [3], comando: [4] }} - Há um problema neste pacote do Windows Installer. A execução de um programa como parte da instalação não foi concluída conforme o esperado. Contate a equipe de suporte ou o fornecedor do pacote. {{Ação: [2], local: [3], comando: [4] }} - Há um problema neste pacote do Windows Installer. Não foi possível executar uma DLL necessária para concluir a instalação. Contate a equipe de suporte ou o fornecedor do pacote. {{Ação: [2], entrada: [3], biblioteca: [4] }} - Remoção concluída com êxito. - Falha de remoção. - Anúncio concluído com êxito. - Falha no anúncio. - Configuração concluída com êxito. - Falha na configuração. - Você precisa ser um Administrador para remover este aplicativo. Para removê-lo, faça logon como Administrador ou contate a equipe de suporte técnico para obter ajuda. - O pacote de instalação de origem do produto [2] não está sincronizado com o pacote cliente. Tente instalar novamente, usando uma cópia válida do pacote de instalação '[3]'. - Para concluir a instalação do [2], reinicie o computador. No momento, outros usuários estão conectados ao computador e a reinicialização poderá fazer com que eles percam seus trabalhos. Deseja reiniciar agora? - O caminho [2] não é válido. Especifique um caminho válido. - Memória insuficiente. Desligue outros aplicativos antes de tentar novamente. - Não há nenhum disco na unidade [2]. Insira um disco e clique em Tentar Novamente ou em Cancelar para voltar ao volume selecionado anteriormente. - Não há nenhum disco na unidade [2]. Insira um disco e clique em Tentar Novamente ou em Cancelar para retornar à caixa de procura e selecione um volume diferente. - A pasta [2] não existe. Especifique um caminho para uma pasta existente. - Você não tem privilégios suficientes para ler esta pasta. - Uma pasta de destino válida não pôde ser determinada para a instalação. - Erro ao tentar ler do banco de dados de instalação de origem: [2]. - Agendando operação de reinicialização: renomeando o arquivo [2] para [3]. É preciso reinicializar o computador para concluir a operação. - Agendando operação de reinicialização: excluindo o arquivo [2]. É preciso reinicializar o computador para concluir a operação. - Falha ao registrar o módulo [2]. HRESULT [3]. Contate a equipe de suporte. - Falha ao cancelar o registro do módulo [2]. HRESULT [3]. Contate a equipe de suporte. - Falha ao armazenar em cache o pacote [2]. Erro: [3]. Contate a equipe de suporte. - Não foi possível registrar a fonte [2]. Verifique se você tem permissões suficientes para instalar fontes e se o sistema oferece suporte para essa fonte. - Não foi possível cancelar o registro da fonte [2]. Verifique se você tem permissões suficientes para remover fontes. - Não foi possível criar o atalho [2]. Verifique se a pasta de destino existe e se você pode acessá-la. - Não foi possível remover o atalho [2]. Verifique se o arquivo de atalho existe e se você pode acessá-lo. - Não foi possível registrar a biblioteca de tipos para o arquivo [2]. Contate a equipe de suporte. - Não foi possível cancelar o registro da biblioteca de tipos para o arquivo [2]. Contate a equipe de suporte. - Não foi possível atualizar o arquivo ini [2][3]. Verifique se o arquivo existe e se você pode acessá-lo. - Não foi possível agendar a substituição do arquivo [3] pelo [2] na reinicialização. Verifique se você tem permissões de gravação para o arquivo [3]. - Erro ao remover o gerenciador de driver ODBC; erro de ODBC [2]: [3]. Contate a equipe de suporte. - Erro ao instalar o gerenciador de driver ODBC; erro de ODBC [2]: [3]. Contate a equipe de suporte. - Erro ao remover o driver ODBC: [4]; erro de ODBC [2]: [3]. Verifique se você tem privilégios suficientes para remover drivers ODBC. - Erro ao instalar o driver ODBC: [4]; erro de ODBC [2]: [3]. Verifique se o arquivo [4] existe e se você pode acessá-lo. - Erro ao configurar fonte de dados ODBC: [4]; erro de ODBC [2]: [3]. Verifique se o arquivo [4] existe e se você pode acessá-lo. - Falha ao iniciar o serviço '[2]' ([3]). Verifique se você tem privilégios suficientes para iniciar serviços do sistema. - Não foi possível interromper o serviço '[2]' ([3]). Verifique se você tem privilégios suficientes para interromper serviços do sistema. - Não foi possível excluir o serviço '[2]' ([3]). Verifique se você tem privilégios suficientes para remover serviços do sistema. - Não foi possível instalar o serviço '[2]' ([3]). Verifique se você tem privilégios suficientes para instalar serviços do sistema. - Não foi possível atualizar a variável de ambiente '[2]'. Verifique se você tem privilégios suficientes para modificar variáveis de ambiente. - Você não tem privilégios suficientes para concluir esta instalação para todos os usuários do computador. Faça logon como administrador e tente instalar novamente. - Não foi possível configurar a segurança para o arquivo '[3]'. Erro: [2]. Verifique se você tem privilégios suficientes para modificar as permissões de segurança desse arquivo. - Os Serviços de Componentes (COM+ 1.0) não estão instalados neste computador. Esta instalação exige os Serviços de Componentes para ser concluída com êxito. Os Serviços de Componentes estão disponíveis no Windows 2000. - Erro ao registrar o Aplicativo COM+. Contate a equipe de suporte para obter mais informações. - Erro ao cancelar o registro do Aplicativo COM+. Contate a equipe de suporte para obter mais informações. - Não foi possível alterar a descrição do serviço '[2]' ([3]). - O serviço Windows Installer não pode atualizar o arquivo do sistema [2] porque ele está protegido pelo Windows. Talvez você precise atualizar o sistema operacional para que o programa funcione corretamente. {{Versão do pacote: [3], Versão protegida do sistema operacional: [4]}} - O serviço Windows Installer não pode atualizar o arquivo protegido do Windows [2]. {{Versão do pacote: [3], Versão protegida do sistema operacional: [4], Erro da SFP: [5]}} - O serviço Windows Installer não pode atualizar um ou mais arquivos protegidos do Windows. {{Erro da SFP: [2]. Lista de arquivos protegidos:\r\n[3]}} - As instalações de usuários são desabilitadas através de políticas no computador. - Erro durante a instalação do assembly '[6]'. Consulte a Ajuda e Suporte para obter mais informações. HRESULT: [3]. {{interface de assembly: [4]; função: [5]; componente: [2]}} - Erro durante a instalação do assembly '[6]'. O assembly não possui um nome forte ou não foi assinado com o comprimento mínimo de chave. HRESULT: [3]. {{interface de assembly: [4], função: [5], componente: [2]}} - Erro durante a instalação do assembly '[6]'. A assinatura ou o catálogo não puderam ser verificados ou não são válidos. HRESULT: [3]. {{interface de assembly: [4], função: [5], componente: [2]}} - Erro durante a instalação do assembly '[6]'. Um ou mais módulos do assembly não puderam ser encontrados. HRESULT: [3]. {{interface de assembly: [4], função: [5], componente: [2]}} - - bytes - GB - KB - MB - O recurso inteiro estará indisponível - O recurso será instalado quando necessário - O recurso inteiro será instalado para ser executado do CD - O recurso inteiro será instalado no disco rígido local - O recurso inteiro será instalado para ser executado da rede - Será instalado para ser executado do CD - Será instalado no disco rígido local - Será instalado para ser executado da rede - Pasta|Nova Pasta - Coletando informações necessárias... - Este recurso permanecerá desinstalado - Este recurso será configurado para ser instalado quando necessário - Este recurso será instalado para ser executado do CD - Este recurso será instalado no disco rígido local - Este recurso será instalado para ser executado da rede - Este recurso ficará indisponível - Será instalado quando necessário - Este recurso estará disponível para ser executado do CD - Este recurso será instalado no disco rígido local - Este recurso ficará disponível para ser executado da rede - Este recurso será totalmente desinstalado e você não poderá executá-lo do CD - Este recurso deixará de ser executado do CD e será configurado para ser instalado quando necessário - Este recurso continuará a ser executado do CD - Este recurso deixará de ser executado do CD para ser instalado no disco rígido local - Este recurso libera [1] no disco rígido. - Este recurso requer [1] no disco rígido. - Compilando custo para este recurso... - Este recurso será completamente removido - Este recurso será removido do disco rígido local, mas será configurado para ser instalado quando necessário - Este recurso será removido do disco rígido local, mas continuará disponível para ser executado do CD - Este recurso permanecerá no disco rígido local - Este recurso será removido do disco rígido local, mas ainda ficará disponível para ser executado da rede - Este recurso será totalmente desinstalado e você não poderá executá-lo da rede - Este recurso deixará de ser executado da rede e será configurado para ser instalado quando necessário - Este recurso deixará de ser executado da rede e será instalado no disco rígido local - Este recurso continuará a ser executado da rede - Este recurso libera [1] no disco rígido. [2] de [3] sub-recursos estão selecionados. Os sub-recursos liberam [4] no disco rígido. - Este recurso libera [1] no disco rígido. [2] de [3] sub-recursos estão selecionados. Os sub-recursos requerem [4] no disco rígido. - Este recurso requer [1] no disco rígido. [2] de [3] sub-recursos estão selecionados. Os sub-recursos liberam [4] no disco rígido. - Este recurso requer [1] no disco rígido. [2] de [3] sub-recursos estão selecionados. Os sub-recursos requerem [4] no disco rígido. - Tempo restante: {[1] minutos }{[2] segundos} - Disponível(is) - Diferença - Necessário(s) - Tamanho do Disco - Volume - diff --git a/Src/Localization/WixUI/WixUI_pt-PT.wxl b/Src/Localization/WixUI/WixUI_pt-PT.wxl deleted file mode 100644 index 31b3e02..0000000 --- a/Src/Localization/WixUI/WixUI_pt-PT.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Anterior - &Seguinte - Cancelar - &Concluir - &Repetir - &Ignorar - &Sim - &Não - OK - Im&primir - - Programa de Configuração do [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Leia o Contrato de Licença do [ProductName] - &Aceito os termos do Contrato de Licença - Clique em Instalar para instalar o produto com as opções predefinidas para todos os utilizadores. Clique em Avançadas para alterar as opções de instalação. - Clique em Instalar para instalar o produto com as opções predefinidas apenas para si. Clique em Avançadas para alterar as opções de instalação. - &Instalar - A&vançadas - 8 - 12 - 9 - 8 - Tahoma - - Programa de Configuração do [ProductName] - &Procurar em: - WixUI_Bmp_Up - Subir um nível - WixUI_Bmp_New - Criar uma nova pasta - &Nome da pasta: - WixUI_Bmp_Banner - Navegar para a pasta de destino - {\WixUI_Font_Title}Alterar a pasta de destino - - Programa de Configuração do [ProductName] - Tem a certeza de que pretende cancelar a instalação do [ProductName]? - WixUI_Ico_Info - Ícone de informações - - Programa de Configuração do [ProductName] - Árvore de selecções - P&rocurar... - Re&por - &Utilização do Disco - WixUI_Bmp_Banner - Clique nos ícones na árvore abaixo para alterar a forma como as funcionalidades serão instaladas. - Seleccione a forma como pretende que as funcionalidades sejam instaladas. - {\WixUI_Font_Title}Configuração Personalizada - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Localização: - - Programa de Configuração do [ProductName] - WixUI_Bmp_Banner - Os volumes realçados não têm espaço em disco suficiente disponível para as funcionalidades seleccionadas. Tem de remover alguns ficheiros dos volumes realçados, instalar menos funcionalidades ou seleccionar unidades de destino diferentes. - O espaço em disco necessário para a instalação das funcionalidades seleccionadas. - {\WixUI_Font_Title}Requisitos de Espaço em Disco - {120}{70}{70}{70}{70} - - Programa de Configuração do [ProductName] - Texto informativo - WixUI_Ico_Info - Ícone de informações - - Programa de Configuração do [ProductName] - WixUI_Bmp_Dialog - Clique no botão Concluir para sair do Assistente de Configuração. - {\WixUI_Font_Bigger}Concluiu o Assistente de Configuração do [ProductName] - - Programa de Configuração do [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}O Assistente de Configuração do [ProductName] terminou prematuramente - O Assistente de Configuração do [ProductName] terminou prematuramente devido a um erro. O seu sistema não foi modificado. Para instalar este programa mais tarde, execute novamente o Assistente de Configuração. - Clique no botão Concluir para sair do Assistente de Configuração. - - Programa de Configuração do [ProductName] - Funcionalidades do produto - WixUI_Bmp_Banner - Seleccione a forma como pretende que as funcionalidades sejam instaladas. - {\WixUI_Font_Title}Funcionalidades do Produto - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Instalar - Alt&erar - - Programa de Configuração do [ProductName] - Sai&r - WixUI_Bmp_Banner - As aplicações seguintes estão a utilizar ficheiros que necessitam de ser actualizados por esta configuração. Feche estas aplicações e, em seguida, clique em &Repetir para continuar a instalação ou em Sair para sair. - Alguns ficheiros que é necessário actualizar estão actualmente em utilização. - {\WixUI_Font_Title}Ficheiros em Utilização - - Programa de Configuração do [ProductName] - Alt&erar... - {\WixUI_Font_Title}Pasta de Destino - Clique em Seguinte para instalar na pasta predefinida ou clique em Alterar para escolher outra. - WixUI_Bmp_Banner - Instalar o [ProductName] em: - - Programa de Configuração do [ProductName] - WixUI_Bmp_Banner - Escolha o âmbito e a pasta de instalação - {\WixUI_Font_Title}Âmbito de Instalação - {\WixUI_Font_Emphasized}In&stalar apenas para mim ([LogonUser]) - O [ProductName] será instalado numa pasta por utilizador e estará disponível apenas para a sua conta de utilizador. Não é necessário ter privilégios de Administrador locais. - O [ProductName] não suporta a instalação por utilizador. - {\WixUI_Font_Emphasized}Instalar para todos os utilizadores deste &computador - Por predefinição, o [ProductName] será instalado numa pasta por computador e estará disponível para todos os utilizadores. Pode alterar a pasta de instalação predefinida. É necessário ter privilégios de Administrador locais. - Pasta de &instalação: - Alt&erar... - - Programa de Configuração do [ProductName] - O directório de instalação tem de ser numa unidade de disco rígido. - WixUI_Ico_Info - Ícone de informações - - Programa de Configuração do [ProductName] - &Aceito os termos do Contrato de Licença - WixUI_Bmp_Banner - Leia atentamente o seguinte contrato de licença - {\WixUI_Font_Title}Contrato de Licença do Utilizador Final - - Programa de Configuração do [ProductName] - Alt&erar - Alterar a Instalação - Re&parar - Reparar Instalação - &Remover - Remover Instalação - WixUI_Bmp_Banner - Seleccione a operação que pretende executar. - {\WixUI_Font_Title}Alterar, reparar ou remover a instalação - Permite-lhe alterar a forma como as funcionalidades estão instaladas. - O [ProductName] não tem funcionalidades seleccionáveis de forma independente. - Remove o [ProductName] do computador. - Não é possível remover o [ProductName]. - Repara erros na instalação mais recente corrigindo ficheiros, atalhos e entradas do registo em falta ou danificados. - Não é possível reparar o [ProductName]. - - Programa de Configuração do [ProductName] - WixUI_Bmp_Dialog - O Assistente de Configuração permite-lhe alterar o modo como as funcionalidades do [ProductName] são instaladas no computador ou removê-lo do seu computador. Clique em Seguinte para continuar ou em Cancelar para sair do Assistente de Configuração. - {\WixUI_Font_Bigger}Bem-vindo ao Assistente de Configuração do [ProductName] - - Programa de Configuração do [ProductName] - WixUI_Bmp_Banner - As aplicações seguintes estão a utilizar ficheiros que necessitam de ser actualizados por esta configuração. Pode deixar o Assistente de Configuração fechá-las e tentar reiniciá-las ou reiniciar o computador mais tarde. - Alguns ficheiros que é necessário actualizar estão actualmente em utilização. - {\WixUI_Font_Title}Ficheiros em Utilização - &Fechar as aplicações e tentar reiniciá-las. - &Não fechar as aplicações. Será necessário reiniciar o computador. - - Programa de Configuração do [ProductName] - WixUI_Bmp_Banner - Os volumes realçados não têm espaço em disco suficiente para as funcionalidades actualmente seleccionadas. Pode remover alguns ficheiros dos volumes realçados, instalar menos funcionalidades ou seleccionar outra unidade de destino. - O espaço em disco necessário para a instalação excede o espaço disponível no disco. - {\WixUI_Font_Title}Espaço em Disco Esgotado - {120}{70}{70}{70}{70} - - Programa de Configuração do [ProductName] - WixUI_Bmp_Banner - Os volumes realçados não têm espaço em disco suficiente para as funcionalidades actualmente seleccionadas. Pode remover alguns ficheiros dos volumes realçados, instalar menos funcionalidades ou seleccionar outra unidade de destino. - O espaço em disco necessário para a instalação excede o espaço disponível no disco. - {\WixUI_Font_Title}Espaço em Disco Esgotado - {120}{70}{70}{70}{70} - Alternativamente, poderá optar por desactivar a funcionalidade de reversão do programa de instalação. Desactivar a reversão impede que o instalador restaure o estado original do computador se a instalação for interrompida de alguma forma. Clique em Sim se pretender assumir o risco de desactivar a reversão. - - Programa de Configuração do [ProductName] - WixUI_Bmp_Dialog - Aguarde enquanto o Assistente de Configuração se prepara para o orientar através da instalação. - {\WixUI_Font_Bigger}Bem-vindo ao Assistente de Configuração do [ProductName] - - Programa de Configuração do [ProductName] - WixUI_Bmp_Banner - Aguarde enquanto o Assistente de Configuração instala o [ProductName]. - {\WixUI_Font_Title}A instalar o [ProductName] - Aguarde enquanto o Assistente de Configuração altera o [ProductName]. - {\WixUI_Font_Title}A alterar o [ProductName] - Aguarde enquanto o Assistente de Configuração repara o [ProductName]. - {\WixUI_Font_Title}A reparar o [ProductName] - Aguarde enquanto o Assistente de Configuração remove o [ProductName]. - {\WixUI_Font_Title}A remover o [ProductName] - Aguarde enquanto o Assistente de Configuração actualiza o [ProductName]. - {\WixUI_Font_Title}A actualizar o [ProductName] - Progresso concluído - Estado: - - Programa de Configuração do [ProductName] - &Instalar - WixUI_Bmp_Dialog - O Assistente de Configuração irá concluir a instalação do [ProductName] no seu computador. Clique em Instalar para continuar ou em Cancelar para sair do Assistente de Configuração. - {\WixUI_Font_Bigger}A retomar o Assistente de Configuração do [ProductName] - - Programa de Configuração do [ProductName] - &Típica - Instalação Típica - P&ersonalizada - Instalação Personalizada - C&ompleta - Instalação Completa - WixUI_Bmp_Banner - {\WixUI_Font_Title}Escolher o Tipo de Configuração - Escolha o tipo de configuração mais adequado às suas necessidades - Instala as funcionalidades mais comuns do programa. Recomendado para a maioria dos utilizadores. - Permite aos utilizadores escolher as funcionalidades do programa que serão instaladas e onde serão instaladas. Recomendado para utilizadores avançados. - Todas as funcionalidades do programa serão instaladas. Requer a maior quantidade de espaço em disco. - - Programa de Configuração do [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}O Assistente de Configuração do [ProductName] foi interrompido - A configuração do [ProductName] foi interrompida. O seu sistema não foi modificado. Para instalar este programa mais tarde, execute novamente a instalação. - Clique no botão Concluir para sair do Assistente de Configuração. - - Programa de Configuração do [ProductName] - WixUI_Bmp_Banner - &Instalar - Clique em Instalar para iniciar a instalação. Clique em Anterior para rever ou alterar qualquer uma das definições de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para instalar o [ProductName] - Alt&erar - Clique em Alterar para iniciar a instalação. Clique em Anterior para rever ou alterar qualquer uma das definições de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para alterar o [ProductName] - Re&parar - Clique em Reparar para reparar a instalação do [ProductName]. Clique em Anterior para rever ou alterar qualquer uma das definições de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para reparar o [ProductName] - &Remover - Clique em Remover para remover o [ProductName] do seu computador. Clique em Anterior para rever ou alterar qualquer uma das definições de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para remover o [ProductName] - &Actualizar - Clique em Actualizar para actualizar o [ProductName] a partir do seu computador. Clique em Anterior para rever ou alterar qualquer uma das definições de instalação. Clique em Cancelar para sair do assistente. - {\WixUI_Font_Title}Pronto para actualizar o [ProductName] - - Programa de Configuração do [ProductName] - &Regressar - Aguarde enquanto o instalador acaba de determinar os requisitos de espaço em disco. - WixUI_Ico_Exclam - Ícone de exclamação - - Programa de Configuração do [ProductName] - WixUI_Bmp_Dialog - O Assistente de Configuração vai instalar o [ProductName] no seu computador. Clique em Seguinte para continuar ou em Cancelar para sair do Assistente de Configuração. - O Assistente de Configuração actualizará o [ProductName] no computador. Clique em Seguinte para continuar ou em Cancelar para sair do Assistente de Configuração. - {\WixUI_Font_Bigger}Bem-vindo ao Assistente de Configuração do [ProductName] - - Programa de Configuração do [ProductName] - WixUI_Bmp_Dialog - &Aceito os termos do Contrato de Licença - &Instalar - &Actualizar - {\WixUI_Font_Title}Leia o Contrato de Licença do [ProductName] - - A validar instalação - A copiar novos ficheiros - Ficheiro: [1], Directório: [9], Tamanho: [6] - A copiar ficheiros de instalação via rede - Ficheiro: [1], Directório: [9], Tamanho: [6] - A calcular os requisitos de espaço - A calcular os requisitos de espaço - A calcular os requisitos de espaço - A criar atalhos - Atalho: [1] - A Publicar Componentes Qualificados - ID de Componente: [1], Qualificador: [2] - A Publicar Funcionalidades do Produto - Funcionalidade: [1] - A publicar informações do produto - A Registar Servidores de Classes - ID de Classe: [1] - A registar servidores de extensões - Extensão: [1] - A registar informações MIME - Tipo de Conteúdo MIME: [1], Extensão: [2] - A registar identificadores de programas - IDProg: [1]. - A alocar espaço de registo - Espaço livre: [1] - A procurar aplicações instaladas - Propriedade: [1], Assinatura: [2] - A vincular executáveis - Ficheiro: [1] - A procurar produtos qualificados - A criar pastas - Pasta: [1] - A eliminar serviços - Serviço: [1] - A criar ficheiros duplicados - Ficheiro: [1], Directório: [9], Tamanho: [6] - A procurar aplicações relacionadas - Aplicação localizada: [1] - A instalar componentes ODBC - A instalar novos serviços - Serviço: [2] - A avaliar condições de iniciação - A migrar estados de funcionalidades de aplicações relacionadas - Aplicação: [1] - A mover ficheiros - Ficheiro: [1], Directório: [9], Tamanho: [6] - A aplicar patches a ficheiros - Ficheiro: [1], Directório: [2], Tamanho: [3] - A actualizar o registo do componente - A Registar Aplicações e Componentes COM+ - IDAplic: [1]{{, TipoAplic: [2], Utilizadores: [3], RSN: [4]}} - A registar tipos de letra - Tipo de Letra: [1] - A registar produto - [1] - A registar bibliotecas de tipos - IDBibl: [1]. - A registar utilizador - [1] - A remover ficheiros duplicados - Ficheiro: [1], Directório: [9] - A actualizar cadeias de caracteres de ambiente - Nome: [1], Valor: [2], Acção [3] - A remover aplicações - Aplicação: [1], Linha de comandos: [2] - A remover ficheiros - Ficheiro: [1], Directório: [9] - A remover pastas - Pasta: [1] - A remover entradas de ficheiros INI - Ficheiro: [1], Secção: [2], Chave: [3], Valor: [4] - A remover os componentes ODBC - A remover valores do registo de sistema - Chave: [1], Nome: [2] - A remover atalhos - Atalho: [1] - A procurar produtos qualificados - A registar módulos - Ficheiro: [1], Pasta: [2] - A anular o registo de módulos - Ficheiro: [1], Pasta: [2] - A inicializar directórios de ODBC - A iniciar serviços - Serviço: [1] - A parar serviços - Serviço: [1] - A Anular a Publicação de Componentes Qualificados - ID de Componente: [1], Qualificador: [2] - A Anular a Publicação de Funcionalidades do Produto - Funcionalidade: [1] - Anular o Registo de Servidores de Classes - ID de Classe: [1] - A Anular o Registo de Aplicações e Componentes COM+ - IDAplic: [1]{{, TipoAplic: [2]}} - A anular o registo de servidores de extensões - Extensão: [1] - A anular o registo de tipos de letra - Tipo de Letra: [1] - A anular o registo de informações MIME - Tipo de Conteúdo MIME: [1], Extensão: [2] - A anular o registo de identificadores de programas - IDProg: [1]. - A anular o registo de bibliotecas de tipos - IDBibl: [1]. - A actualizar cadeias de caracteres de ambiente - Nome: [1], Valor: [2], Acção [3] - A escrever valores de ficheiros INI - Ficheiro: [1], Secção: [2], Chave: [3], Valor: [4] - A escrever valores do registo de sistema - Chave: [1], Nome: [2], Valor: [3] - A anunciar a aplicação - A gerar operações de script para a acção: - [1] - A instalar o catálogo de sistema - Ficheiro: [1], Dependências: [2] - A publicar informações de assemblagem - Contexto de Aplicação: [1], Nome de Assemblagem: [2] - A anular a publicação de informações de assemblagem - Contexto de Aplicação: [1], Nome de Assemblagem: [2] - A reverter acção: - [1] - A remover ficheiros de cópia de segurança - Ficheiro: [1] - A remover ficheiros movidos - Ficheiro: [1], Directório: [9] - A anular a publicação de informações do produto - - {{Erro fatal: }} - {{Erro [1]. }} - Aviso [1]. - Informações [1]. - O instalador encontrou um erro inesperado ao instalar este pacote. Esta situação pode indicar um problema com este pacote. O código de erro é [1]. {{Os argumentos são: [2], [3], [4]}} - {{Disco cheio: }} - Acção [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Tipo de mensagem: [1], Argumento: [2] - === Registo iniciado: [Date] [Time] === - === Registo terminado: [Date] [Time] === - Acção iniciada [Time]: [1]. - Acção terminada [Time]: [1]. Valor devolvido [2]. - Tempo restante: {[1] minutos }{[2] segundos} - Memória esgotada. Encerre outras aplicações antes de tentar novamente. - O instalador deixou de responder. - O instalador parou prematuramente. - Aguarde enquanto o Windows configura o [ProductName] - A recolher as informações necessárias... - A remover versões antigas desta aplicação... - A preparar para remover as versões antigas desta aplicação... - O Programa de Configuração do {[ProductName] }foi concluído com êxito. - O Programa de Configuração do {[ProductName] }falhou. - Erro ao ler a partir do ficheiro: [2]. {{ Erro de sistema [3].}} Verifique se o ficheiro existe e se pode aceder ao mesmo. - Não é possível criar o ficheiro '[2]'. Já existe um directório com esse nome. Cancele a instalação e tente instalar numa localização diferente. - Insira o disco: [2] - O instalador não tem privilégios suficientes para aceder a este directório: [2]. A instalação não pode continuar. Inicie sessão como administrador ou contacte o administrador do sistema. - Erro ao escrever no ficheiro: [2]. Verifique se tem acesso a esse directório. - Erro ao ler a partir do ficheiro [2]. {{ Erro de sistema [3].}} Verifique se o ficheiro existe e se pode aceder ao mesmo. - Outra aplicação tem acesso exclusivo ao ficheiro '[2]'. Encerre todas as outras aplicações e clique em Repetir. - Não existe espaço suficiente em disco para instalar este ficheiro: [2]. Liberte algum espaço em disco e clique em Repetir ou clique em Cancelar para sair. - Ficheiro de origem não localizado: [2]. Verifique se o ficheiro existe e se consegue aceder ao mesmo. - Erro ao ler a partir do ficheiro: [3]. {{ Erro de sistema [2].}} Verifique se o ficheiro existe e se pode aceder ao mesmo. - Erro ao escrever no ficheiro: [3]. {{ Erro de sistema [2].}} Verifique se tem acesso a esse directório. - Ficheiro de origem não localizado{{(cabinet)}}: [2]. Verifique se o ficheiro existe e se consegue aceder ao mesmo. - Não é possível criar o directório '[2]'. Já existe um ficheiro com este nome. Mude o nome ou remova o ficheiro e clique em Repetir ou clique em Cancelar para sair. - O volume [2] está actualmente indisponível. Seleccione outro volume. - O caminho especificado '[2]' está indisponível. - Não é possível escrever na pasta especificada: [2]. - Ocorreu um erro de rede ao tentar ler a partir do ficheiro: [2] - Ocorreu um erro ao tentar criar o directório: [2] - Ocorreu um erro de rede ao tentar criar o directório: [2] - Ocorreu um erro de rede ao tentar abrir o ficheiro CAB de origem: [2] - O caminho especificado é demasiado longo: [2] - O Instalador não tem privilégios suficientes para modificar este ficheiro: [2]. - Uma parte do caminho da pasta '[2]' é inválida. Está em branco ou excede o comprimento permitido pelo sistema. - O caminho para a pasta '[2]' contém palavras que não são válidas em caminhos de pastas. - O caminho da pasta '[2]' contém um carácter inválido. - '[2]' não é um nome abreviado de ficheiro válido. - Erro ao obter a segurança do ficheiro: [3] GetLastError: [2] - Unidade Inválida: [2] - Erro ao aplicar o patch ao ficheiro [2]. O ficheiro foi provavelmente actualizado por outros meios e já não pode ser modificado por este patch. Para mais informações, contacte o fornecedor do patch. {{Erro de Sistema: [3]}} - Não é possível instalar um ficheiro necessário porque o ficheiro CAB [2] não tem assinatura digital. Isto pode indicar que o ficheiro CAB está danificado. - Não é possível instalar um ficheiro necessário porque o ficheiro CAB [2] tem uma assinatura digital inválida. Isto pode indicar que o ficheiro CAB está danificado.{{ O erro [3] foi devolvido por WinVerifyTrust.}} - Falha na cópia correcta do ficheiro [2]: erro de CRC. - Falha na movimentação correcta do ficheiro [2]: erro de CRC. - Falha na aplicação correcta do ficheiro de patch [2]: erro de CRC. - O ficheiro '[2]' não pode ser instalado porque não foi possível localizá-lo no ficheiro CAB [3]. Esta situação pode indicar um erro de rede, um erro ao ler a partir do CD-ROM ou um problema com este pacote. - O ficheiro CAB '[2]' que é necessário para esta instalação está danificado e não pode ser utilizado. Esta situação pode indicar um erro de rede, um erro ao ler a partir do CD-ROM ou um problema com este pacote. - Ocorreu um erro ao criar um ficheiro temporário que é necessário para concluir esta instalação.{{ Pasta: [3]. Código de erro de sistema: [2]}} - Não foi possível criar a chave: [2]. {{ Erro de sistema [3].}} Verifique se tem acesso suficiente a essa chave ou contacte o suporte técnico. - Não foi possível abrir a chave: [2]. {{ Erro de sistema [3].}} Verifique se tem acesso suficiente a essa chave ou contacte o suporte técnico. - Não foi possível eliminar o valor [2] da chave [3]. {{ Erro de sistema [4].}} Verifique se tem acesso suficiente a essa chave ou contacte o suporte técnico. - Não foi possível eliminar a chave [2]. {{ Erro de sistema [3].}} Verifique se tem acesso suficiente a essa chave ou contacte o suporte técnico. - Não foi possível ler o valor [2] da chave [3]. {{ Erro de sistema [4].}} Verifique se tem acesso suficiente a essa chave ou contacte o suporte técnico. - Não foi possível escrever o valor [2] na chave [3]. {{ Erro de sistema [4].}} Verifique se tem acesso suficiente a essa chave ou contacte o suporte técnico. - Não foi possível obter nomes de valor para a chave [2]. {{ Erro de sistema [3].}} Verifique se tem acesso suficiente a essa chave ou contacte o suporte técnico. - Não foi possível obter nomes de subchave para a chave [2]. {{ Erro de sistema [3].}} Verifique se tem acesso suficiente a essa chave ou contacte o suporte técnico. - Não foi possível ler as informações de segurança para a chave [2]. {{ Erro de sistema [3].}} Verifique se tem acesso suficiente a essa chave ou contacte o suporte técnico. - Não foi possível aumentar o espaço de registo disponível. São necessários [2] KB de espaço livre no registo para a instalação desta aplicação. - Está em curso uma outra instalação. Deverá concluir essa instalação antes de continuar esta. - Erro ao aceder a dados protegidos. Certifique-se de que o Windows Installer está correctamente configurado e tente instalar de novo. - O utilizador '[2]' iniciou anteriormente uma instalação do produto '[3]'. Esse utilizador terá de executar essa instalação novamente antes de poder utilizar esse produto. A instalação actual irá agora continuar. - O utilizador '[2]' iniciou anteriormente uma instalação do produto '[3]'. Esse utilizador terá de executar essa instalação novamente antes de poder utilizar esse produto. - Espaço em disco esgotado -- Volume: '[2]'; espaço necessário: [3] KB; espaço disponível: [4] KB. Liberte algum espaço em disco e tente novamente. - Tem a certeza de que pretende cancelar? - O ficheiro [2][3] está a ser utilizado{ pelo seguinte processo: Nome: [4], ID: [5], Título da Janela: '[6]'}. Feche essa aplicação e tente novamente. - O produto '[2]' já está instalado, impedindo a instalação deste produto. Os dois produtos são incompatíveis. - Não existe espaço em disco suficiente no volume '[2]' para continuar a instalação com a recuperação activada. São necessários [3] KB, mas apenas estão disponíveis [4] KB. Clique em Ignorar para continuar com a instalação sem guardar as informações de recuperação, clique em Repetir para procurar espaço disponível de novo ou clique em Cancelar para sair da instalação. - Não foi possível aceder à localização de rede [2]. - As aplicações seguintes devem ser fechadas antes de continuar a instalação: - Não foi possível localizar nenhum produto compatível anteriormente instalado no computador para instalar este produto. - Ocorreu um erro ao aplicar as definições de segurança. [2] não é um utilizador nem um grupo válido. Esta situação pode dever-se a um problema com o pacote ou a um problema ao ligar a um controlador de domínio na rede. Verifique a sua ligação de rede e clique em Repetir ou em Cancelar para terminar a instalação. {{Não é possível localizar o SID do utilizador, erro de sistema [3]}} - A chave [2] não é válida. Verifique se introduziu a chave correcta. - O instalador tem de reiniciar o sistema para que a configuração de [2] possa continuar. Clique em Sim para reiniciar agora ou em Não se pretender reiniciar manualmente mais tarde. - Terá de reiniciar o sistema para que as alterações de configuração efectuadas em [2] produzam efeito. Clique em Sim para reiniciar agora ou em Não se pretender reiniciar manualmente mais tarde. - Uma instalação do [2] está actualmente suspensa. Tem de anular as alterações efectuadas por essa instalação para continuar. Pretende anular essas alterações? - Uma instalação anterior para este produto está em curso. Tem de anular as alterações efectuadas por essa instalação para continuar. Pretende anular essas alterações? - Não é possível localizar um pacote de instalação para o produto [2]. Experimente instalar novamente utilizando uma cópia válida do pacote de instalação '[3]'. - A instalação foi concluída com êxito. - A instalação falhou. - Produto: [2] -- [3] - Pode restaurar o computador para o estado anterior ou continuar mais tarde a instalação. Pretende restaurar? - Ocorreu um erro ao escrever as informações de instalação no disco. Verifique se existe espaço em disco suficiente disponível e clique em Repetir ou clique em Cancelar para terminar a instalação. - Não foi possível localizar um ou mais dos ficheiros necessários para restaurar o estado anterior do computador. O restauro não será possível. - O [2] não consegue instalar um dos produtos necessários. Contacte o grupo de suporte técnico. {{Erro de Sistema: [3].}} - Não é possível remover a versão anterior do [2]. Contacte o grupo de suporte técnico. {{Erro de Sistema [3].}} - [2] instalado - [2] configurado - [2] removido - O ficheiro [2] foi rejeitado pela política de assinaturas digitais. - Não foi possível aceder ao serviço Windows Installer. Esta situação pode ocorrer se estiver a executar o Windows em modo de segurança ou se o Windows Installer não estiver correctamente instalado. Contacte o suporte técnico para obter assistência. - Existe um problema com este pacote do Windows Installer. Não foi possível executar um script necessário para concluir esta instalação. Contacte o suporte técnico ou o fornecedor do pacote. {{Acção personalizada [2] erro de script [3], [4]: [5] Linha [6], Coluna [7], [8] }} - Existe um problema com este pacote do Windows Installer. Não foi possível executar um programa necessário para concluir esta instalação. Contacte o suporte técnico ou o fornecedor do pacote. {{Acção: [2], localização: [3], comando: [4] }} - Existe um problema com este pacote do Windows Installer. Um programa executado como parte da configuração não terminou conforme esperado. Contacte o suporte técnico ou o fornecedor do pacote. {{Acção [2], localização: [3], comando: [4] }} - Existe um problema com este pacote do Windows Installer. Não foi possível executar uma DLL necessária para concluir esta instalação. Contacte o suporte técnico ou o fornecedor do pacote. {{Acção [2], entrada: [3], biblioteca: [4] }} - A remoção foi concluída com êxito. - A remoção falhou. - O anúncio foi concluído com êxito. - O anúncio falhou. - A configuração foi concluída com êxito. - A configuração falhou. - Tem de ser Administrador para remover esta aplicação. Para remover esta aplicação, pode iniciar sessão como Administrador ou contactar o grupo de suporte técnico para assistência. - O pacote de instalação de origem do produto [2] não está sincronizado com o pacote cliente. Experimente instalar novamente utilizando uma cópia válida do pacote de instalação '[3]'. - Para concluir a instalação do [2], tem de reiniciar o computador. Outros utilizadores têm actualmente sessão iniciada neste computador e o reinício poderá originar a perda do respectivo trabalho. Pretende reiniciar agora? - O caminho [2] não é válido. Especifique um caminho válido. - Memória esgotada. Encerre outras aplicações antes de tentar novamente. - Não existe nenhum disco na unidade [2]. Insira um disco e clique em Repetir ou clique em Cancelar para voltar ao volume seleccionado anteriormente. - Não existe nenhum disco na unidade [2]. Insira um disco e clique em Repetir ou clique em Cancelar para voltar à caixa de diálogo de procura e seleccionar um volume diferente. - A pasta [2] não existe. Introduza um caminho para uma pasta existente. - Não tem privilégios suficientes para ler esta pasta. - Não foi possível determinar uma pasta de destino válida para a instalação. - Erro ao tentar ler a partir da base de dados de instalação de origem: [2]. - A agendar uma operação de reinício: a mudar o nome do ficheiro [2] para [3]. Tem de reiniciar para concluir a operação. - A agendar uma operação de reinício: a eliminar o ficheiro [2] Tem de reiniciar para concluir a operação. - Não foi possível registar o módulo [2]. HRESULT [3]. Contacte o suporte técnico. - Não foi possível anular o registo do módulo [2]. HRESULT [3]. Contacte o suporte técnico. - Falha ao colocar em cache o pacote [2]. Erro: [3]. Contacte o suporte técnico. - Não foi possível registar o tipo de letra [2]. Verifique se tem permissões suficientes para instalar tipos de letra e se o sistema suporta este tipo de letra. - Não foi possível anular o registo do tipo de letra [2]. Verifique se tem permissões suficientes para remover tipos de letra. - Não foi possível criar o Atalho [2]. Certifique-se de que a pasta de destino existe e que pode aceder à mesma. - Não foi possível remover o Atalho [2]. Verifique se o ficheiro de atalho existe e se pode aceder ao mesmo. - Não foi possível registar a biblioteca de tipos para o ficheiro [2]. Contacte o suporte técnico. - Não foi possível anular o registo da biblioteca de tipos para o ficheiro [2]. Contacte o suporte técnico. - Não foi possível actualizar o ficheiro ini [2][3]. Verifique se o ficheiro existe e se consegue aceder ao mesmo. - Não foi possível agendar o ficheiro [2] para substituir o ficheiro [3] ao reiniciar. Verifique se tem permissões de escrita para o ficheiro [3]. - Erro ao remover o gestor do controlador ODBC, erro de ODBC [2]: [3]. Contacte o suporte técnico. - Erro ao instalar o gestor do controlador ODBC, erro de ODBC [2]: [3]. Contacte o suporte técnico. - Erro ao remover o controlador ODBC: [4], erro de ODBC [2]: [3]. Verifique se tem privilégios suficientes para remover controladores ODBC. - Erro ao instalar o controlador ODBC: [4], erro de ODBC [2]: [3]. Verifique se o ficheiro [4] existe e se pode aceder ao mesmo. - Erro ao configurar a origem dos dados ODBC: [4], erro de ODBC [2]: [3]. Verifique se o ficheiro [4] existe e se pode aceder ao mesmo. - Não foi possível iniciar o serviço '[2]' ([3]). Verifique se tem privilégios suficientes para iniciar serviços de sistema. - Não foi possível interromper o serviço '[2]' ([3]). Verifique se tem privilégios suficientes para interromper serviços de sistema. - Não foi possível eliminar o serviço '[2]' ([3]). Verifique se tem privilégios suficientes para remover serviços de sistema. - Não foi possível instalar o serviço '[2]' ([3]). Verifique se tem privilégios suficientes para instalar serviços de sistema. - Não foi possível actualizar a variável de ambiente '[2]'. Verifique se tem privilégios suficientes para modificar variáveis de ambiente. - Não tem privilégios suficientes para concluir esta instalação para todos os utilizadores do computador. Inicie sessão como administrador e repita esta instalação. - Não foi possível definir a segurança para o ficheiro '[3]'. Erro: [2]. Verifique se tem privilégios suficientes para modificar as permissões de segurança para este ficheiro. - O COM+ 1.0 (Serviços de Componentes) não está instalado neste computador. Esta instalação necessita do COM+ para ser concluída com êxito. O COM+ está disponível no Windows 2000. - Erro ao registar a Aplicação COM+. Contacte o suporte técnico para obter mais informações. - Erro ao anular o registo da Aplicação COM+. Contacte o suporte técnico para obter mais informações. - Não foi possível alterar a descrição do serviço'[2]' ([3]). - O serviço Windows Installer não consegue actualizar o ficheiro de sistema [2] porque este está protegido pelo Windows. Poderá necessitar de actualizar o sistema operativo para que este programa funcione correctamente. {{Versão do pacote: [3], Versão protegida pelo Sistema Operativo: [4]}} - O serviço Windows Installer não consegue actualizar o ficheiro protegido do Windows [2]. {{Versão do pacote: [3], Versão protegida pelo Sistema Operativo: [4], Erro de SFP: [5]}} - O serviço Windows Installer não pode actualizar um ou mais ficheiros do Windows protegidos. {{Erro de SFP: [2]. Lista de ficheiros protegidos:\r\n[3]}} - As instalações de utilizador são desactivadas por política neste computador. - Ocorreu um erro durante a instalação da assemblagem '[6]'. Consulte a Ajuda e Suporte para obter mais informações. HRESULT: [3]. {{interface de assemblagem: [4], função: [5], componente: [2]}} - Ocorreu um erro durante a instalação da assemblagem '[6]'. A assemblagem não tem um nome forte nem está assinada com o comprimento mínimo de chave. HRESULT: [3]. {{interface de assemblagem: [4], função: [5], componente: [2]}} - Ocorreu um erro durante a instalação da assemblagem '[6]'. Não foi possível verificar a assinatura ou o catálogo ou não é válida. HRESULT: [3]. {{interface de assemblagem: [4], função: [5], componente: [2]}} - Ocorreu um erro durante a instalação da assemblagem '[6]'. Não foi possível localizar um ou mais módulos da assemblagem. HRESULT: [3]. {{interface de assemblagem: [4], função: [5], componente: [2]}} - - Bytes - GB - KB - MB - A funcionalidade completa não estará disponível - A funcionalidade será instalada quando necessário - A funcionalidade completa será instalada para ser executada a partir do CD - A funcionalidade completa será instalada no disco rígido local - A funcionalidade completa será instalada para ser executada a partir da rede - Será instalada para ser executada a partir do CD - Será instalada no disco rígido local - Será instalada para ser executada a partir da rede - Pasta|Nova Pasta - A recolher as informações necessárias... - Esta funcionalidade permanecerá desinstalada - Esta funcionalidade será definida para ser instalada quando necessário - Esta funcionalidade será instalada para ser executada a partir do CD - Esta funcionalidade será instalada no disco rígido local - Esta funcionalidade será instalada para ser executada a partir da rede - Esta funcionalidade deixará de estar disponível - Será instalada quando necessário - Esta funcionalidade estará disponível para ser executada a partir do CD - Esta funcionalidade será instalada no disco rígido local - Esta funcionalidade estará disponível para ser executada a partir da rede - Esta funcionalidade será completamente desinstalada, não poderá executá-la a partir do CD - Esta funcionalidade deixará de ser executada a partir do CD para ser instalada quando necessário - Esta funcionalidade continuará a ser executada a partir do CD - Esta funcionalidade deixará de ser executada a partir do CD para ser instalada no disco rígido local - Esta funcionalidade liberta [1] no disco rígido. - Esta funcionalidade necessita de [1] no disco rígido. - A compilar o custo desta funcionalidade... - Esta funcionalidade será completamente removida - Esta funcionalidade será removida do disco rígido local, mas será definida para ser instalada quando necessário - Esta funcionalidade será removida do disco rígido local, mas continuará disponível para ser executada a partir do CD - Esta funcionalidade permanecerá no disco rígido local - Esta funcionalidade será removida do disco rígido local, mas continuará disponível para ser executada a partir da rede - Esta funcionalidade será completamente desinstalada, não poderá executá-la a partir da rede - Esta funcionalidade deixará de ser executada a partir da rede para ser instalada quando necessário - Esta funcionalidade deixará de ser executada a partir da rede para ser instalada no disco rígido local - Esta funcionalidade continuará a ser executada a partir da rede - Esta funcionalidade liberta [1] no disco rígido. Tem [2] de [3] subfuncionalidades seleccionadas. As subfuncionalidades libertam [4] no disco rígido. - Esta funcionalidade liberta [1] no disco rígido. Tem [2] de [3] subfuncionalidades seleccionadas. As subfuncionalidades necessitam de [4] no disco rígido. - Esta funcionalidade necessita de [1] no disco rígido. Tem [2] de [3] subfuncionalidades seleccionadas. As subfuncionalidades libertam [4] no disco rígido. - Esta funcionalidade necessita de [1] no disco rígido. Tem [2] de [3] subfuncionalidades seleccionadas. As subfuncionalidades necessitam de [4] no disco rígido. - Tempo restante: {[1] minutos }{[2] segundos} - Disponível - Diferença - Necessário - Tamanho do Disco - Volume - diff --git a/Src/Localization/WixUI/WixUI_ro-RO.wxl b/Src/Localization/WixUI/WixUI_ro-RO.wxl deleted file mode 100644 index 19a7bd3..0000000 --- a/Src/Localization/WixUI/WixUI_ro-RO.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - Î&napoi - &Următorul - Revocare - &Terminare - &Reîncercare - &Ignorare - &Da - &Nu - OK - Im&primare - - Programul de instalare [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Citiţi Acordul de licenţă pentru [ProductName] - &Accept termenii din Acordul de licenţă - Faceţi clic pe Instalare dacă doriţi să instalaţi produsul cu opţiunile implicite pentru toţi utilizatorii. Faceţi clic pe Complex pentru a modifica opţiunile de instalare. - Faceţi clic pe Instalare dacă doriţi să instalaţi produsul cu opţiunile implicite numai pentru dvs. Faceţi clic pe Complex pentru a modifica opţiunile de instalare. - &Instalare - C&omplex - 8 - 12 - 9 - 8 - Tahoma - - Programul de instalare [ProductName] - &Privire în: - WixUI_Bmp_Up - Mai sus cu un nivel - WixUI_Bmp_New - Creare folder nou - &Nume folder: - WixUI_Bmp_Banner - Răsfoire la folderul destinaţie - {\WixUI_Font_Title}Modificarea folderului de destinaţie - - Programul de instalare [ProductName] - Sigur revocaţi instalarea [ProductName]? - WixUI_Ico_Info - Pictogramă informaţii - - Programul de instalare [ProductName] - Arbore de selecţii - &Răsfoire... - Re&setare - &Utilizare disc - WixUI_Bmp_Banner - Faceţi clic pe pictogramele din arborele de mai jos pentru a modifica modul de instalare a caracteristicilor. - Selectaţi modalitatea în care doriţi să se instaleze caracteristicile. - {\WixUI_Font_Title}Instalare particularizată - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Locaţie: - - Programul de instalare [ProductName] - WixUI_Bmp_Banner - Pe volumele evidenţiate nu există suficient spaţiu-disc disponibil pentru caracteristicile selectate. Puteţi să eliminaţi câteva fişiere de pe volumele evidenţiate, să instalaţi mai puţine caracteristici sau să selectaţi alte unităţi de destinaţie. - Spaţiul-disc necesar instalării caracteristicilor selectate. - {\WixUI_Font_Title}Cerinţe de spaţiu-disc - {120}{70}{70}{70}{70} - - Programul de instalare [ProductName] - Text informativ - WixUI_Ico_Info - Pictogramă informaţii - - Programul de instalare [ProductName] - WixUI_Bmp_Dialog - Faceţi clic pe Terminare pentru a ieşi din Expertul de instalare. - {\WixUI_Font_Bigger}Expertul de instalare [ProductName] s-a încheiat - - Programul de instalare [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Expertul de instalare [ProductName] s-a încheiat prematur - Expertul de instalare [ProductName] s-a încheiat prematur, din cauza unei erori. Sistemul nu a fost modificat. Pentru a instala acest program ulterior, executaţi din nou Expertul de instalare. - Faceţi clic pe Terminare pentru a ieşi din Expertul de instalare. - - Programul de instalare [ProductName] - Caracteristici produs - WixUI_Bmp_Banner - Selectaţi modalitatea în care doriţi să se instaleze caracteristicile. - {\WixUI_Font_Title}Caracteristicile produsului - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Instalare - &Modificare - - Programul de instalare [ProductName] - I&eşire - WixUI_Bmp_Banner - Aplicaţiile următoare utilizează fişiere care trebuie actualizate de această instalare. Închideţi aceste aplicaţii şi faceţi clic pe &Reîncercare pentru a continua instalarea sau pe Ieşire pentru a ieşi. - Unele fişiere care trebuie actualizate sunt momentan în uz. - {\WixUI_Font_Title}Fişiere în uz - - Programul de instalare [ProductName] - &Modificare... - {\WixUI_Font_Title}Folderul de destinaţie - Faceţi clic pe Următorul pentru a instala în folderul implicit sau pe Modificare pentru a selecta un alt folder. - WixUI_Bmp_Banner - Instalare [ProductName] la: - - Programul de instalare [ProductName] - WixUI_Bmp_Banner - Alegeţi aria de instalare şi folderul - {\WixUI_Font_Title}Aria de instalare - {\WixUI_Font_Emphasized}Se instalează &numai pentru dvs. ([USERNAME]) - [ProductName] va fi instalat într-un folder la nivel de utilizator şi va fi disponibil numai pentru contul dvs. de utilizator. Nu sunt necesare privilegii de administrator local. - [ProductName] nu acceptă instalarea la nivel de utilizator. - {\WixUI_Font_Emphasized}Se instalează pentru toţi utilizatorii acestui co&mputer - [ProductName] va fi instalat implicit într-un folder la nivel de computer şi va fi disponibil pentru toţi utilizatorii. Aveţi posibilitatea să modificaţi folderul de instalare implicit. Sunt necesare privilegii de administrator local. - &Folder de instalare: - &Modificare... - - Programul de instalare [ProductName] - Directorul de instalare trebuie să fie pe o unitate de disc locală. - WixUI_Ico_Info - Pictogramă informaţii - - Programul de instalare [ProductName] - &Accept termenii din Acordul de licenţă - WixUI_Bmp_Banner - Citiţi cu atenţie următorul acord de licenţă - {\WixUI_Font_Title}Termenii licenţei pentru software Microsoft - - Programul de instalare [ProductName] - &Modificare - Modificare instalare - Re&parare - Reparare instalare - &Eliminare - Eliminare instalare - WixUI_Bmp_Banner - Selectaţi operaţia pe care doriţi să o efectuaţi. - {\WixUI_Font_Title}Modificaţi, reparaţi sau eliminaţi instalarea - Vă permite să modificaţi modul în care sunt instalate caracteristicile. - [ProductName] nu are caracteristici ce se pot selecta în mod independent. - Elimină [ProductName] de pe computer. - [ProductName] nu poate fi eliminat. - Repară erorile celei mai recente instalări, prin remedierea fişierelor, comenzilor rapide şi intrărilor de registry care lipsesc sau sunt deteriorate. - [ProductName] nu poate fi reparat. - - Programul de instalare [ProductName] - WixUI_Bmp_Dialog - Expertul de instalare vă permite să modificaţi modul în care sunt instalate caracteristicile [ProductName] pe computer sau să eliminaţi produsul de pe computer. Faceţi clic pe Următorul pentru a continua sau pe Revocare pentru a ieşi din Expertul de instalare. - {\WixUI_Font_Bigger}Bun venit la Expertul de instalare [ProductName] - - Programul de instalare [ProductName] - WixUI_Bmp_Banner - Aplicaţiile următoare utilizează fişiere care trebuie actualizate de această instalare. Lăsaţi Expertul de instalare să le închidă, apoi încercaţi să le reporniţi sau reporniţi computerul mai târziu. - Unele fişiere care trebuie actualizate sunt momentan în uz. - {\WixUI_Font_Title}Fişiere în uz - &Se închid aplicaţiile şi se încearcă repornirea lor. - &Nu se închid aplicaţiile. Va fi necesară o repornire. - - Programul de instalare [ProductName] - WixUI_Bmp_Banner - Volumele evidenţiate nu au suficient spaţiu-disc disponibil pentru caracteristicile selectate momentan. Aveţi posibilitatea să eliminaţi unele fişiere din volumele evidenţiate, să instalaţi mai puţine caracteristici sau să selectaţi altă unitate de destinaţie. - Spaţiul-disc necesar instalării depăşeşte spaţiul disponibil pe disc. - {\WixUI_Font_Title}Spaţiu-disc insuficient - {120}{70}{70}{70}{70} - - Programul de instalare [ProductName] - WixUI_Bmp_Banner - Volumele evidenţiate nu au suficient spaţiu-disc disponibil pentru caracteristicile selectate momentan. Aveţi posibilitatea să eliminaţi unele fişiere din volumele evidenţiate, să instalaţi mai puţine caracteristici sau să selectaţi altă unitate de destinaţie. - Spaţiul-disc necesar instalării depăşeşte spaţiul disponibil pe disc. - {\WixUI_Font_Title}Spaţiu-disc insuficient - {120}{70}{70}{70}{70} - De asemenea, puteţi opta pentru dezactivarea funcţionalităţii de revenire a programului de instalare. Dezactivarea funcţionalităţii de revenire împiedică programul de instalare să restaureze starea originală a computerului în cazul în care instalarea este întreruptă din vreun motiv. Faceţi clic pe Da dacă vă asumaţi riscul de a dezactiva revenirea. - - Programul de instalare [ProductName] - WixUI_Bmp_Dialog - Aşteptaţi. Expertul de instalare se pregăteşte să vă ghideze pe parcursul instalării. - {\WixUI_Font_Bigger}Bun venit la Expertul de instalare [ProductName] - - Programul de instalare [ProductName] - WixUI_Bmp_Banner - Aşteptaţi, Expertul de instalare instalează [ProductName]. - {\WixUI_Font_Title}Se instalează [ProductName] - Aşteptaţi, Expertul de instalare modifică [ProductName]. - {\WixUI_Font_Title}Se modifică [ProductName] - Aşteptaţi, Expertul de instalare repară [ProductName]. - {\WixUI_Font_Title}Se repară [ProductName] - Aşteptaţi, Expertul de instalare elimină [ProductName]. - {\WixUI_Font_Title}Se elimină [ProductName] - Aşteptaţi, Expertul de instalare actualizează [ProductName]. - {\WixUI_Font_Title}Se actualizează [ProductName] - Etapă finalizată - Stare: - - Programul de instalare [ProductName] - &Instalare - WixUI_Bmp_Dialog - Expertul de instalare va finaliza instalarea [ProductName] pe computer. Faceţi clic pe Instalare pentru a continua sau pe Revocare pentru a ieşi din Expertul de instalare. - {\WixUI_Font_Bigger}Se reia Expertul de instalare [ProductName] - - Programul de instalare [ProductName] - &Tipică - Instalare tipică - Partic&ularizată - Instalare particularizată - C&ompletă - Instalare completă - WixUI_Bmp_Banner - {\WixUI_Font_Title}Alegeţi tipul instalării - Alegeţi tipul de instalare care corespunde cel mai bine necesităţilor dvs. - Instalează cele mai utilizate caracteristici ale programului. Recomandat pentru majoritatea utilizatorilor. - Permite utilizatorilor să aleagă ce caracteristici de program să se instaleze şi unde să se instaleze. Recomandat utilizatorilor avansaţi. - Se vor instala toate caracteristicile programului. Necesită cel mai mult spaţiu pe disc. - - Programul de instalare [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Expertul de instalare [ProductName] a fost întrerupt - Instalarea [ProductName] a fost întreruptă. Sistemul nu a fost modificat. Pentru a instala ulterior acest program, executaţi din nou instalarea. - Faceţi clic pe Terminare pentru a ieşi din Expertul de instalare. - - Programul de instalare [ProductName] - WixUI_Bmp_Banner - &Instalare - Faceţi clic pe Instalare pentru a începe instalarea. Faceţi clic pe Înapoi pentru a examina sau a modifica oricare dintre setările de instalare. Faceţi clic pe Revocare pentru a ieşi din expert. - {\WixUI_Font_Title}Pregătit pentru instalarea [ProductName] - &Modificare - Faceţi clic pe Modificare pentru a începe instalarea. Faceţi clic pe Înapoi pentru a examina sau a modifica oricare dintre setările de instalare. Faceţi clic pe Revocare pentru a ieşi din expert. - {\WixUI_Font_Title}Pregătit pentru modificarea [ProductName] - Re&parare - Faceţi clic pe Reparare pentru a repara instalarea [ProductName]. Faceţi clic pe Înapoi pentru a examina sau a modifica oricare dintre setările de instalare. Faceţi clic pe Revocare pentru a ieşi din expert. - {\WixUI_Font_Title}Pregătit pentru repararea [ProductName] - &Eliminare - Faceţi clic pe Eliminare pentru a elimina [ProductName] de pe computer. Faceţi clic pe Înapoi pentru a examina sau a modifica oricare dintre setările de instalare. Faceţi clic pe Revocare pentru a ieşi din expert. - {\WixUI_Font_Title}Pregătit pentru eliminarea [ProductName] - Act&ualizare - Faceţi clic pe Actualizare pentru a actualiza [ProductName] de pe computer. Faceţi clic pe Înapoi pentru a examina sau a modifica oricare dintre setările de instalare. Faceţi clic pe Revocare pentru a ieşi din expert. - {\WixUI_Font_Title}Pregătit pentru actualizarea [ProductName] - - Programul de instalare [ProductName] - &Revenire - Aşteptaţi, programul de instalare stabileşte cerinţele de spaţiu-disc. - WixUI_Ico_Exclam - Pictogramă semn de exclamare - - Programul de instalare [ProductName] - WixUI_Bmp_Dialog - Expertul de instalare va instala [ProductName] pe computer. Faceţi clic pe Următorul pentru a continua sau pe Revocare pentru a ieşi din Expertul de instalare. - Expertul de instalare va actualiza [ProductName] pe computer. Faceţi clic pe Următorul pentru a continua sau pe Revocare pentru a ieşi din Expertul de instalare. - {\WixUI_Font_Bigger}Bun venit la Expertul de instalare [ProductName] - - Programul de instalare [ProductName] - WixUI_Bmp_Dialog - &Accept termenii din Acordul de licenţă - &Instalare - Act&ualizare - {\WixUI_Font_Title}Citiţi Acordul de licenţă pentru [ProductName] - - Se validează instalarea - Se copiază fişierele noi - Fişier: [1], Director: [9], Dimensiune: [6] - Se copiază fişierele de instalare în reţea - Fişier: [1], Director: [9], Dimensiune: [6] - Se calculează cerinţele de spaţiu - Se calculează cerinţele de spaţiu - Se calculează cerinţele de spaţiu - Se creează comenzile rapide - Comandă rapidă: [1] - Se efectuează publicarea componentelor calificate - ID componentă: [1], Calificator: [2] - Se efectuează publicarea caracteristicilor produsului - Caracteristică: [1] - Se publică informaţiile despre produs - Se înregistrează serverele de clasă - ID clasă: [1] - Se înregistrează serverele de extensie - Extensie: [1] - Se înregistrează informaţiile MIME - Tip conţinut MIME: [1], Extensie: [2] - Se înregistrează identificatorii de program - ID program: [1] - Se alocă spaţiu în registry - Spaţiu liber: [1] - Se caută aplicaţiile instalate - Proprietate: [1], Semnătură: [2] - Se leagă fişierele executabile - Fişier: [1] - Se caută produsele calificate - Se creează folderele - Folder: [1] - Se şterg serviciile - Serviciu: [1] - Se creează fişierele duplicat - Fişier: [1], Director: [9], Dimensiune: [6] - Se caută aplicaţiile corelate - Aplicaţie găsită: [1] - Se instalează componentele ODBC - Se instalează serviciile noi - Serviciu: [2] - Se evaluează condiţiile de lansare - Se migrează stările caracteristicilor din aplicaţiile corelate - Aplicaţie: [1] - Se mută fişierele - Fişier: [1], Director: [9], Dimensiune: [6] - Se corectează fişierele - Fişier: [1], Director: [2], Dimensiune: [3] - Se actualizează înregistrarea componentelor - Se înregistrează componentele şi aplicaţiile COM+ - ID aplicaţie: [1]{{, Tip aplicaţie: [2], Utilizatori: [3], RSN: [4]}} - Se înregistrează fonturile - Font: [1] - Se înregistrează produsul - [1] - Se înregistrează bibliotecile de tipuri - ID bibliotecă: [1] - Se înregistrează utilizatorul - [1] - Se elimină fişierele duplicat - Fişier: [1], Director: [9] - Se actualizează şirurile de mediu - Nume: [1], Valoare: [2], Acţiune [3] - Se elimină aplicaţiile - Aplicaţie: [1], Linie de comandă: [2] - Se elimină fişierele - Fişier: [1], Director: [9] - Se elimină folderele - Folder: [1] - Se elimină intrările fişierelor INI - Fişier: [1], Secţiune: [2], Cheie: [3], Valoare: [4] - Se elimină componentele ODBC - Se elimină valorile din registry de sistem - Cheie: [1], Nume: [2] - Se elimină comenzile rapide - Comandă rapidă: [1] - Se caută produsele calificate - Se înregistrează modulele - Fişier: [1], Folder: [2] - Se anulează înregistrarea modulelor - Fişier: [1], Folder: [2] - Se iniţializează directoarele ODBC - Se pornesc serviciile - Serviciu: [1] - Se opresc serviciile - Serviciu: [1] - Se anulează publicarea componentelor calificate - ID componentă: [1], Calificator: [2] - Se anulează publicarea caracteristicilor produsului - Caracteristică: [1] - Se anulează înregistrarea serverelor de clasă - ID clasă: [1] - Se anulează înregistrarea aplicaţiilor şi componentelor COM+ - ID aplicaţie: [1]{{, Tip aplicaţie: [2]}} - Se anulează înregistrarea serverelor de extensie - Extensie: [1] - Se anulează înregistrarea fonturilor - Font: [1] - Se anulează înregistrarea informaţiilor MIME - Tip conţinut MIME: [1], Extensie: [2] - Se anulează înregistrarea identificatorilor de program - ID program: [1] - Se anulează înregistrarea bibliotecilor de tipuri - ID bibliotecă: [1] - Se actualizează şirurile de mediu - Nume: [1], Valoare: [2], Acţiune [3] - Se scriu valorile fişierelor INI - Fişier: [1], Secţiune: [2], Cheie: [3], Valoare: [4] - Se scriu valorile în registry de sistem - Cheie: [1], Nume: [2], Valoare: [3] - Se anunţă aplicaţia - Se generează operaţii de script pentru acţiune: - [1] - Se instalează catalogul de sistem - Fişier: [1], Dependenţe: [2] - Se publică informaţiile de asamblare - Context aplicaţie:[1], Nume asamblare:[2] - Se anulează publicarea informaţiilor de asamblare - Context aplicaţie:[1], Nume asamblare:[2] - Se anulează acţiunea: - [1] - Se elimină fişierele de rezervă - Fişier: [1] - Se elimină fişierele mutate - Fişier: [1], Director: [9] - Se anulează publicarea informaţiilor despre produs - - {{Eroare fatală: }} - {{Eroare [1]. }} - Avertisment [1]. - Informaţii [1]. - Programul de instalare a întâlnit o eroare neaşteptată la instalarea acestui pachet. Acest lucru poate indica o problemă cu pachetul. Codul de eroare este [1]. {{Argumentele sunt: [2], [3], [4]}} - {{Disc plin: }} - Acţiune [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Tip mesaj: [1], Argument: [2] - === Înregistrarea în jurnal a început: [Date] [Time] === - === Înregistrarea în jurnal s-a oprit: [Date] [Time] === - Acţiune începută la [Time]: [1]. - Acţiune terminată la [Time]: [1]. Valoare întoarsă [2]. - Timp rămas: {[1] minute }{[2] secunde} - Memorie insuficientă. Închideţi celelalte aplicaţii înainte de a încerca din nou. - Programul de instalare nu mai răspunde. - Programul de instalare s-a oprit prematur. - Aşteptaţi, Windows configurează [ProductName] - Se colectează informaţiile necesare... - Se elimină versiunile anterioare ale acestei aplicaţii... - Se pregăteşte eliminarea versiunilor anterioare ale acestei aplicaţii... - Instalarea {[ProductName] } s-a finalizat cu succes. - Instalarea {[ProductName] } nu a reuşit. - Eroare la citirea din fişierul: [2]. {{ Eroare de sistem [3].}} Verificaţi dacă fişierul există şi dacă îl puteţi accesa. - Imposibil de creat fişierul „[2]”. Există deja un director cu acest nume. Revocaţi instalarea şi încercaţi să instalaţi la o locaţie diferită. - Introduceţi discul: [2] - Programul de instalare nu are privilegii suficiente pentru accesarea acestui director: [2]. Instalarea nu poate continua. Faceţi log on ca administrator sau contactaţi administratorul de sistem. - Eroare la scrierea în fişierul: [2]. Verificaţi dacă aveţi acces la acel director. - Eroare la citirea din fişierul [2]. {{ Eroare de sistem [3].}} Verificaţi dacă fişierul există şi dacă îl puteţi accesa. - O altă aplicaţie are acces exclusiv la fişierul „[2]”. Închideţi toate celelalte aplicaţii, apoi faceţi clic pe Reîncercare. - Nu există suficient spaţiu-disc pentru instalarea acestui fişier: [2]. Eliberaţi spaţiu-disc şi faceţi clic pe Reîncercare, sau faceţi clic pe Revocare pentru a ieşi. - Imposibil de găsit fişierul sursă: [2]. Verificaţi dacă fişierul există şi dacă îl puteţi accesa. - Eroare la citirea din fişierul: [3]. {{ Eroare de sistem [2].}} Verificaţi dacă fişierul există şi dacă îl puteţi accesa. - Eroare la scrierea în fişierul: [3]. {{ Eroare de sistem [2].}} Verificaţi dacă aveţi acces la director. - Imposibil de găsit fişierul sursă{{(cabinet)}}: [2]. Verificaţi dacă fişierul există şi dacă îl puteţi accesa. - Imposibil de creat directorul „[2]”. Există deja un fişier cu acest nume. Redenumiţi sau eliminaţi fişierul şi faceţi clic pe Reîncercare, sau faceţi clic pe Revocare pentru a ieşi. - Volumul [2] nu este disponibil în acest moment. Selectaţi altul. - Calea specificată „[2]” este indisponibilă. - Imposibil de scris în folderul specificat: [2]. - Eroare de reţea la încercarea de citire din fişierul: [2] - Eroare la încercarea de creare a directorului: [2] - Eroare de reţea la încercarea de creare a directorului: [2] - Eroare de reţea la încercarea de deschidere a fişierului cabinet sursă: [2] - Calea specificată este prea lungă: [2] - Programul de instalare nu are privilegii suficiente pentru a modifica fişierul: [2]. - O parte din calea folderului „[2]” este nevalidă. Fie este goală, fie depăşeşte lungimea permisă de sistem. - Calea folderului „[2]” conţine cuvinte care nu sunt valide în căile de foldere. - Calea folderului „[2]” conţine un caracter nevalid. - „[2]” nu este un nume scurt valid de fişier. - Eroare la preluarea datelor de securitate pentru fişier: [3] GetLastError: [2] - Unitate nevalidă: [2] - Eroare la aplicarea corecţiei pentru fişierul [2]. Probabil a fost actualizat prin alte mijloace şi nu mai poate fi modificat prin această corecţie. Pentru mai multe informaţii, contactaţi furnizorul corecţiei. {{Eroare de sistem: [3]}} - Un fişier necesar nu poate fi instalat, deoarece fişierul cabinet [2] nu este semnat digital. Aceasta poate indica faptul că fişierul cabinet este deteriorat. - Un fişier necesar nu poate fi instalat, deoarece fişierul cabinet [2] are o semnătură digitală nevalidă. Aceasta poate indica faptul că fişierul cabinet este deteriorat.{{Eroare [3] returnată de WinVerifyTrust.}} - Fişierul [2] nu a fost copiat corect: eroare CRC. - Fişierul [2] nu a fost mutat corect: eroare CRC. - Corecţia la fişierul [2] nu s-a aplicat corect: eroare CRC. - Fişierul „[2]” nu se poate instala, deoarece nu a fost găsit în fişierul cabinet „[3]”. Acest lucru poate indica o eroare de reţea, o eroare la citirea de pe CD-ROM sau o problemă cu acest pachet. - Fişierul cabinet „[2]” necesar pentru această instalare este deteriorat şi nu poate fi utilizat. Acest lucru poate indica o eroare de reţea, o eroare la citirea de pe CD-ROM sau o problemă cu acest pachet. - Eroare la crearea unui fişier temporar necesar pentru finalizarea instalării.{{ Folder: [3]. Cod eroare de sistem: [2]}} - Imposibil de creat cheia: [2]. {{ Eroare de sistem [3].}} Verificaţi dacă aveţi drepturi suficiente de acces la acea cheie sau contactaţi personalul de asistenţă. - Imposibil de deschis cheia: [2]. {{ Eroare de sistem [3].}} Verificaţi dacă aveţi drepturi suficiente de acces la acea cheie sau contactaţi personalul de asistenţă. - Imposibil de şters valoarea [2] din cheia [3]. {{ Eroare de sistem [4].}} Verificaţi dacă aveţi drepturi suficiente de acces la acea cheie sau contactaţi personalul de asistenţă. - Imposibil de şters cheia [2]. {{ Eroare de sistem [3].}} Verificaţi dacă aveţi drepturi suficiente de acces la acea cheie sau contactaţi personalul de asistenţă. - Imposibil de citit valoarea [2] din cheia [3]. {{ Eroare de sistem [4].}} Verificaţi dacă aveţi drepturi suficiente de acces la acea cheie sau contactaţi personalul de asistenţă. - Imposibil de scris valoarea [2] în cheia [3]. {{ Eroare de sistem [4].}} Verificaţi dacă aveţi drepturi suficiente de acces la acea cheie sau contactaţi personalul de asistenţă. - Imposibil de preluat numele valorilor pentru cheia [2]. {{ Eroare de sistem [3].}} Verificaţi dacă aveţi drepturi suficiente de acces la acea cheie sau contactaţi personalul de asistenţă. - Imposibil de preluat numele subcheilor pentru cheia [2]. {{ Eroare de sistem [3].}} Verificaţi dacă aveţi drepturi suficiente de acces la acea cheie sau contactaţi personalul de asistenţă. - Imposibil de citit informaţiile de securitate pentru cheia [2]. {{ Eroare de sistem [3].}} Verificaţi dacă aveţi drepturi suficiente de acces la acea cheie sau contactaţi personalul de asistenţă. - Imposibil de mărit spaţiul disponibil pentru registry. Este necesar un spaţiu liber de [2] KO în registry pentru instalarea acestei aplicaţii. - O altă instalare este în curs. Trebuie să finalizaţi acea instalare înainte de a o continua pe aceasta. - Eroare de accesare a datelor securizate. Asiguraţi-vă că Windows Installer este corect configurat şi încercaţi instalarea încă o dată. - Utilizatorul „[2]” a iniţiat anterior o instalare a produsului „[3]”. Acel utilizator va trebui să execute din nou instalarea pentru a utiliza produsul. Instalarea dvs. curentă va continua. - Utilizatorul „[2]” a iniţiat anterior o instalare a produsului „[3]”. Acel utilizator va trebui să execute din nou instalarea pentru a utiliza produsul. - Spaţiu-disc insuficient - Volum: „[2]”; spaţiu necesar: [3] KO; spaţiu disponibil: [4] KO. Eliberaţi spaţiu-disc şi reîncercaţi. - Sigur revocaţi? - Fişierul [2][3] este reţinut în utilizare {de următorul proces: Nume: [4], ID: [5], Titlu fereastră: „[6]”}. Închideţi acea aplicaţie şi reîncercaţi. - Produsul „[2]” este deja instalat, ceea ce împiedică instalarea acestui produs. Cele două produse sunt incompatibile. - Spaţiu-disc insuficient pe volumul „[2]” pentru a continua instalarea cu opţiunea de recuperare activată. Este necesar un spaţiu de [3] KO, dar este disponibil doar un spaţiu de [4] KO. Faceţi clic pe Ignorare pentru a continua instalarea fără a salva informaţiile de recuperare, faceţi clic pe Reîncercare pentru a verifica din nou spaţiul disponibil sau faceţi clic pe Revocare pentru a părăsi instalarea. - Imposibil de accesat locaţia din reţea [2]. - Următoarele aplicaţii trebuie închise înainte de a continua instalarea: - Imposibil de găsit produse conforme instalate anterior pe computer pentru instalarea acestui produs. - Eroare la aplicarea setărilor de securitate. [2] nu este un utilizator sau un grup valid. Aceasta poate indica o problemă cu pachetul sau o problemă de conectare la un controler de domeniu din reţea. Verificaţi conexiunea la reţea şi faceţi clic pe Reîncercare sau pe Revocare pentru a finaliza instalarea. {{Imposibil de localizat identificatorul SID al utilizatorului, eroare de sistem [3]}} - Cheia [2] nu este validă. Verificaţi dacă aţi introdus cheia corectă. - Programul de instalare trebuie să repornească sistemul înainte de a continua configurarea [2]. Faceţi clic pe Da pentru a reporni acum sau pe Nu dacă intenţionaţi să reporniţi manual mai târziu. - Trebuie să reporniţi sistemul pentru ca modificările de configurare efectuate la [2] să fie aplicate. Faceţi clic pe Da pentru a reporni acum sau pe Nu dacă intenţionaţi să reporniţi manual mai târziu. - O instalare pentru [2] este suspendată momentan. Pentru a continua, trebuie să anulaţi modificările făcute de acea instalare. Anulaţi aceste modificări? - O instalare anterioară a acestui produs este în curs. Pentru a continua, trebuie să anulaţi modificările făcute de acea instalare. Anulaţi aceste modificări? - Imposibil de găsit un pachet de instalare pentru produsul [2]. Încercaţi să instalaţi din nou utilizând o copie validă a pachetului de instalare „[3]”. - Instalare finalizată cu succes. - Instalarea nu a reuşit. - Produs: [2] - [3] - Aveţi posibilitatea să restauraţi starea anterioară a computerului sau să continuaţi instalarea mai târziu. Restauraţi starea anterioară? - Eroare la scrierea informaţiilor de instalare pe disc. Asiguraţi-vă că este disponibil suficient spaţiu-disc, apoi faceţi clic pe Reîncercare, sau faceţi clic pe Revocare pentru a încheia instalarea. - Unul sau mai multe fişiere necesare pentru a restaura starea iniţială a computerului nu au fost găsite. Restaurarea este imposibilă. - [2] nu poate instala unul din produsele sale necesare. Contactaţi grupul de asistenţă tehnică. {{Eroare de sistem: [3].}} - Versiunea anterioară de [2] nu poate fi eliminată. Contactaţi grupul de asistenţă tehnică. {{Eroare de sistem [3].}} - S-a instalat [2] - S-a configurat [2] - S-a eliminat [2] - Fişierul [2] a fost respins de politica de semnături digitale. - Serviciul Windows Installer nu poate fi accesat. Aceasta situaţie poate să apară dacă Windows se execută în modul de siguranţă sau dacă Windows Installer nu este instalat corect. Luaţi legătura cu personalul de asistenţă pentru ajutor. - Există o problemă cu acest pachet Windows Installer. Un script necesar pentru finalizarea acestei instalări nu poate fi executat. Contactaţi personalul de asistenţă sau furnizorul pachetului. {{Acţiune particularizată [2] - eroare script [3], [4]: [5] linie [6], coloană [7], [8] }} - Există o problemă cu acest pachet Windows Installer. Un program necesar pentru finalizarea acestei instalări nu poate fi executat. Contactaţi personalul de asistenţă sau furnizorul pachetului. {{Acţiune: [2], locaţie: [3], comandă: [4] }} - Există o problemă cu acest pachet Windows Installer. O executare de program ca parte a instalării nu s-a finalizat conform aşteptării. Contactaţi personalul de asistenţă sau furnizorul pachetului. {{Acţiune [2], locaţie: [3], comandă: [4] }} - Există o problemă cu acest pachet Windows Installer. Un DLL necesar pentru finalizarea acestei instalări nu poate fi executat. Contactaţi personalul de asistenţă sau furnizorul pachetului. {{Acţiune [2], intrare: [3], bibliotecă: [4] }} - Eliminarea s-a finalizat cu succes. - Eliminarea nu a reuşit. - Anunţul s-a finalizat cu succes. - Anunţul nu a reuşit. - Configurarea s-a finalizat cu succes. - Configurarea nu a reuşit. - Pentru a elimina această aplicaţie, trebuie să fiţi administrator. Pentru a elimina această aplicaţie, aveţi posibilitatea să faceţi log on ca administrator sau să luaţi legătura cu grupul de asistenţă tehnică pentru ajutor. - Pachetul de instalare sursă pentru produsul [2] nu este sincronizat cu pachetul client. Încercaţi să instalaţi din nou utilizând o copie validă a pachetului de instalare „[3]”. - Pentru a finaliza instalarea [2], trebuie să reporniţi computerul. Alţi utilizatori sunt conectaţi în prezent la computer, iar repornirea poate cauza pierderea muncii acestora. Reporniţi acum? - Calea [2] nu este validă. Specificaţi o cale validă. - Memorie insuficientă. Închideţi celelalte aplicaţii înainte de a încerca din nou. - Niciun disc în unitatea [2]. Introduceţi un disc şi faceţi clic pe Reîncercare, sau faceţi clic pe Revocare pentru a reveni la volumul selectat anterior. - Niciun disc în unitatea [2]. Introduceţi un disc şi faceţi clic pe Reîncercare, sau faceţi clic pe Revocare pentru a reveni la dialogul de răsfoire şi selectaţi un alt volum. - Folderul [2] nu există. Introduceţi o cale către un folder existent. - Nu aveţi privilegii suficiente pentru a citi acest folder. - Imposibil de determinat un folder de destinaţie valid pentru instalare. - Eroare la încercarea de citire din baza de date sursă de instalare: [2]. - Se programează operaţia de repornire a sistemului: se redenumeşte fişierul din [2] în [3]. Este necesară repornirea sistemului pentru a finaliza operaţia. - Se programează operaţia de repornire a sistemului: se şterge fişierul [2]. Este necesară repornirea sistemului pentru a finaliza operaţia. - Înregistrarea modulului [2] nu a reuşit. HRESULT [3]. Contactaţi personalul de asistenţă. - Anularea înregistrării modulului [2] nu a reuşit. HRESULT [3]. Contactaţi personalul de asistenţă. - Memorarea în cache a pachetului [2] nu a reuşit. Eroare: [3]. Contactaţi personalul de asistenţă. - Imposibil de înregistrat fontul [2]. Verificaţi dacă deţineţi suficiente permisiuni pentru a instala fonturi şi dacă sistemul acceptă acest font. - Imposibil de anulat înregistrarea fontului [2]. Verificaţi dacă aveţi suficiente permisiuni pentru a elimina fonturi. - Imposibil de creat comanda rapidă [2]. Verificaţi dacă folderul destinaţie există şi dacă îl puteţi accesa. - Imposibil de eliminat comanda rapidă [2]. Verificaţi dacă fişierul comenzii rapide există şi dacă îl puteţi accesa. - Imposibil de înregistrat biblioteca de tipuri pentru fişierul [2]. Contactaţi personalul de asistenţă. - Imposibil de anulat înregistrarea bibliotecii de tipuri pentru fişierul [2]. Contactaţi personalul de asistenţă. - Imposibil de actualizat fişierul ini [2][3]. Verificaţi dacă fişierul există şi dacă îl puteţi accesa. - Imposibil de programat fişierul [2] pentru înlocuirea fişierului [3] la repornire. Verificaţi dacă aveţi permisiuni de scriere pentru fişierul [3]. - Eroare la eliminarea managerului de drivere ODBC, eroare ODBC [2]: [3]. Contactaţi personalul de asistenţă. - Eroare la instalarea managerului de drivere ODBC, eroare ODBC [2]: [3]. Contactaţi personalul de asistenţă. - Eroare la eliminarea driverului ODBC: [4], eroare ODBC [2]: [3]. Verificaţi dacă aveţi privilegii suficiente pentru a elimina drivere ODBC. - Eroare la instalarea driverului ODBC: [4], eroare ODBC [2]: [3]. Verificaţi dacă fişierul [4] există şi dacă îl puteţi accesa. - Eroare la configurarea sursei de date ODBC: [4], eroare ODBC [2]: [3]. Verificaţi dacă fişierul [4] există şi dacă îl puteţi accesa. - Pornirea serviciului „[2]” ([3]) nu a reuşit. Verificaţi dacă aveţi suficiente privilegii pentru a porni serviciile de sistem. - Imposibil de oprit serviciul „[2]” ([3]). Verificaţi dacă aveţi suficiente privilegii pentru a opri serviciile de sistem. - Imposibil de şters serviciul „[2]” ([3]). Verificaţi dacă aveţi suficiente privilegii pentru a elimina serviciile de sistem. - Imposibil de instalat serviciul „[2]” ([3]). Verificaţi dacă aveţi suficiente privilegii pentru a instala serviciile de sistem. - Imposibil de actualizat variabila de mediu „[2]”. Verificaţi dacă aveţi suficiente privilegii pentru a modifica variabilele de mediu. - Nu aveţi suficiente privilegii pentru a finaliza această instalare pentru toţi utilizatorii computerului. Conectaţi-vă ca administrator şi reîncercaţi această instalare. - Imposibil de setat securitatea fişierului pentru fişierul „[3]”. Eroare: [2]. Verificaţi dacă aveţi suficiente privilegii pentru a modifica permisiunile de securitate pentru acest fişier. - Serviciile componente (COM+ 1.0) nu sunt instalate pe acest computer. Serviciile componente sunt necesare pentru ca această instalare să se finalizeze cu succes. Serviciile componente sunt disponibile în Windows 2000. - Eroare la înregistrarea aplicaţiei COM+. Contactaţi personalul de asistenţă pentru informaţii suplimentare. - Eroare la anularea înregistrării aplicaţiei COM+. Contactaţi personalul de asistenţă pentru informaţii suplimentare. - Imposibil de modificat descrierea serviciului „[2]” ([3]). - Serviciul Windows Installer nu poate actualiza fişierul de sistem [2], deoarece fişierul este protejat de Windows. Poate fi necesară actualizarea sistemului de operare pentru ca acest program să funcţioneze corect. {{Versiune pachet: [3], versiune protejată SO: [4]}} - Serviciul Windows Installer nu poate actualiza fişierul Windows [2] protejat. {{Versiune pachet: [3], Versiune protejată SO: [4], Eroare SFP: [5]}} - Serviciul Windows Installer nu poate actualiza unul sau mai multe fişiere Windows protejate. {{Eroare SFP: [2]. Lista fişierelor protejate:\r\n[3]}} - Instalările efectuate de utilizatori sunt dezactivate prin politica de pe acest computer. - Eroare la instalarea asamblării „[6]”. Pentru mai multe informaţii, consultaţi Ajutor şi asistenţă. HRESULT: [3]. {{interfaţă asamblare: [4], funcţie: [5], componentă: [2]}} - Eroare la instalarea asamblării „[6]”. Asamblarea nu este denumită corespunzător sau nu este semnată cu lungimea de cheie minimă. HRESULT: [3]. {{interfaţă asamblare: [4], funcţie: [5], componentă: [2]}} - Eroare la instalarea asamblării „[6]”. Semnătura sau catalogul sunt imposibil de verificat sau nu sunt valide. HRESULT: [3]. {{interfaţă asamblare: [4], funcţie: [5], componentă: [2]}} - Eroare la instalarea asamblării „[6]”. Unul sau mai multe module ale asamblării nu au fost găsite. HRESULT: [3]. {{interfaţă asamblare: [4], funcţie: [5], componentă: [2]}} - - octeţi - GO - KO - MO - Întreaga caracteristică va fi indisponibilă - Caracteristica se va instala când va fi necesar - Întreaga caracteristică se va instala pentru executare de pe CD - Întreaga caracteristică se va instala pe unitatea de disc locală - Întreaga caracteristică se va instala pentru executare din reţea - Se va instala pentru executare de pe CD - Se va instala pe unitatea de disc locală - Se va instala pentru executare din reţea - Folder|Folder nou - Se colectează informaţiile necesare... - Această caracteristică va rămâne neinstalată - Această caracteristică se va seta pentru a fi instalată când va fi necesar - Această caracteristică se va instala pentru executare de pe CD - Această caracteristică se va instala pe unitatea de disc locală - Această caracteristică se va instala pentru executare din reţea - Această caracteristică va deveni indisponibilă - Se va instala când va fi necesar - Această caracteristică va fi disponibilă pentru executare de pe CD - Această caracteristică se va instala pe unitatea de disc locală - Această caracteristică va fi disponibilă pentru executare din reţea - Această caracteristică se va dezinstala complet, va fi imposibil de executat de pe CD - Această caracteristică se va modifica de la starea de executare de pe CD la instalare când va fi necesar - Această caracteristică va rămâne executabilă de pe CD - Această caracteristică se va modifica de la starea de executare de pe CD la instalare pe unitatea de disc locală - Această caracteristică eliberează [1] pe unitatea de disc. - Această caracteristică necesită [1] pe unitatea de disc. - Se calculează costul acestei caracteristici... - Această caracteristică va fi eliminată complet - Această caracteristică va fi eliminată de pe unitatea de disc locală, dar va fi setată să se instaleze când este necesar - Această caracteristică se va elimina de pe unitatea de disc locală, dar va fi disponibilă pentru executare de pe CD - Această caracteristică va rămâne pe unitatea de disc locală - Această caracteristică se va elimina de pe unitatea de disc locală, dar va fi disponibilă pentru executare din reţea - Această caracteristică se va dezinstala complet, va fi imposibil de executat din reţea - Această caracteristică se va modifica de la starea de executare din reţea la instalare când va fi necesar - Această caracteristică se va modifica de la starea de executare din reţea la instalare pe unitatea de disc locală - Această caracteristică va rămâne executabilă din reţea - Această caracteristică eliberează [1] pe unitatea de disc. [2] din [3] caracteristici secundare sunt selectate. Caracteristicile secundare eliberează [4] pe unitatea de disc. - Această caracteristică eliberează [1] pe unitatea de disc. [2] din [3] caracteristici secundare sunt selectate. Caracteristicile secundare necesită [4] pe unitatea de disc. - Această caracteristică necesită [1] pe unitatea de disc. [2] din [3] caracteristici secundare sunt selectate. Caracteristicile secundare eliberează [4] pe unitatea de disc. - Această caracteristică necesită [1] pe unitatea de disc. [2] din [3] caracteristici secundare sunt selectate. Caracteristicile secundare necesită [4] pe unitatea de disc. - Timp rămas: {[1] minute }{[2] secunde} - Disponibil - Diferenţă - Necesar - Dimensiune disc - Volum - diff --git a/Src/Localization/WixUI/WixUI_ru-ru.wxl b/Src/Localization/WixUI/WixUI_ru-ru.wxl deleted file mode 100644 index 1eef365..0000000 --- a/Src/Localization/WixUI/WixUI_ru-ru.wxl +++ /dev/null @@ -1,606 +0,0 @@ - - - - - - - &Назад - Д&алее - Отмена - &Готово - П&овторить - &Пропустить - &Да - &Нет - ОК - &Печать - - Установка [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Прочитайте лицензионное соглашение на использование [ProductName] - &Я принимаю условия лицензионного соглашения - Нажмите кнопку "Установить", чтобы установить продукт с параметрами по умолчанию для всех пользователей. Нажмите кнопку "Дополнительно", чтобы изменить параметры установки. - Нажмите кнопку "Установить", чтобы установить продукт с параметрами по умолчанию для текущего пользователя. Нажмите кнопку "Дополнительно", чтобы изменить параметры установки. - &Установить - Д&ополнительно - 8 - 12 - 9 - 8 - Tahoma - - Установка [ProductName] - &Искать в: - WixUI_Bmp_Up - Переход на уровень вверх - WixUI_Bmp_New - Создание новой папки - &Имя папки: - WixUI_Bmp_Banner - Перейдите в конечную папку - {\WixUI_Font_Title}Изменить конечную папку - - Установка [ProductName] - Действительно отменить установку [ProductName]? - WixUI_Ico_Info - Значок информации - - Установка [ProductName] - Дерево выбора - Об&зор... - С&брос - Использование д&иска - WixUI_Bmp_Banner - Для изменения параметров установки какого-либо компонента щелкните соответствующий значок в расположенном ниже дереве. - Укажите конфигурацию установки компонентов. - {\WixUI_Font_Title}Выборочная установка - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Местоположение: - - Установка [ProductName] - WixUI_Bmp_Banner - На выделенных томах недостаточно свободного места для выбранных компонентов. Удалите несколько файлов с выделенных томов, установите меньшее количество компонентов либо выберите другие конечные диски. - Необходимое дисковое пространство для установки выбранных компонентов. - {\WixUI_Font_Title}Требования к свободному месту на диске - {120}{70}{70}{70}{70} - - Установка [ProductName] - Текстовая информация - WixUI_Ico_Info - Значок информации - - Установка [ProductName] - WixUI_Bmp_Dialog - Нажмите кнопку "Готово", чтобы выйти из мастера установки. - {\WixUI_Font_Bigger}Установка [ProductName] завершена - - Установка [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Работа мастера установки [ProductName] преждевременно завершена - Работа мастера установки [ProductName] преждевременно завершена из-за ошибки. Система не была изменена. Чтобы установить эту программу позднее, запустите мастер установки еще раз. - Для выхода из мастера установки нажмите кнопку "Готово". - - Установка [ProductName] - Компоненты продукта - WixUI_Bmp_Banner - Укажите конфигурацию установки компонентов. - {\WixUI_Font_Title}Компоненты продукта - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Установить - &Изменить - - Установка [ProductName] - В&ыход - WixUI_Bmp_Banner - Следующие приложения используют файлы, нуждающиеся в обновлении. Закройте эти приложения, а затем нажмите кнопку "&Повторить" для продолжения установки или "Выход" для ее завершения. - Некоторые файлы, которые должны быть обновлены, в данный момент используются. - {\WixUI_Font_Title}Используемые файлы - - Установка [ProductName] - &Изменить... - {\WixUI_Font_Title}Конечная папка - Нажмите кнопку "Далее", чтобы выполнить установку в папке по умолчанию, или кнопку "Изменить", чтобы выбрать другую папку. - WixUI_Bmp_Banner - Установить [ProductName] в: - - Установка [ProductName] - WixUI_Bmp_Banner - Выберите область и папку для установки - {\WixUI_Font_Title}Область установки - {\WixUI_Font_Emphasized}Установка для &текущего пользователя ([LogonUser]) - Продукт [ProductName] будет установлен в папке пользователя и доступен только для текущего пользователя. Привилегии локального администратора не требуются. - [ProductName] не поддерживает установку для отдельных пользователей. - {\WixUI_Font_Emphasized}Установка для всех пользователей &компьютера - Продукт [ProductName] будет установлен в папке, используемой на компьютере по умолчанию, и доступен для всех пользователей. Папку установки по умолчанию можно изменить. Необходимы привилегии локального администратора. - Папка у&становки: - &Изменить... - - Установка [ProductName] - Каталог установки должен находиться на локальном жестком диске. - WixUI_Ico_Info - Значок информации - - Установка [ProductName] - &Я принимаю условия лицензионного соглашения - WixUI_Bmp_Banner - Внимательно прочитайте следующее лицензионное соглашение - {\WixUI_Font_Title}Лицензионное соглашение - - Установка [ProductName] - &Изменить - Изменение установки - &Восстановить - Восстановление установки - &Удалить - Удаление установки - WixUI_Bmp_Banner - Выберите операцию, которую следует выполнить. - {\WixUI_Font_Title}Изменение, восстановление или удаление установки - Позволяет изменить параметры установки компонентов. - У [ProductName] нет независимо выбираемых компонентов. - Удаление [ProductName] с компьютера. - Невозможно удалить [ProductName]. - Исправление ошибок в последней установке путем восстановления отсутствующих и поврежденных файлов, ярлыков и записей реестра. - Невозможно восстановить [ProductName]. - - Установка [ProductName] - WixUI_Bmp_Dialog - Мастер установки позволяет изменить способ установки или удаления компонентов [ProductName] на компьютере. Нажмите кнопку "Далее", чтобы продолжить, или кнопку "Отмена", чтобы выйти из мастера установки. - {\WixUI_Font_Bigger}Вас приветствует мастер установки [ProductName] - - Установка [ProductName] - WixUI_Bmp_Banner - Следующие приложения используют файлы, нуждающиеся в обновлении. Мастер установки может закрыть их и попробовать перезапустить их; также можно перезагрузить компьютер позднее. - Некоторые файлы, которые должны быть обновлены, в данный момент используются. - {\WixUI_Font_Title}Используемые файлы - &Закрыть приложения и попытаться перезапустить их. - &Не закрывать приложения. Потребуется перезагрузка. - - Установка [ProductName] - WixUI_Bmp_Banner - На выделенных томах недостаточно свободного места для выбранных сейчас компонентов. Удалите несколько файлов с выделенных томов, установите меньшее количество компонентов либо выберите другой конечный диск. - На диске недостаточно места для установки. - {\WixUI_Font_Title}Недостаточно места на диске - {120}{70}{70}{70}{70} - - Установка [ProductName] - WixUI_Bmp_Banner - На выделенных томах недостаточно свободного места для установки выбранных компонентов. Можно удалить некоторые файлы с выделенных томов, установить меньшее количество компонентов или выбрать другой диск для установки. - На диске недостаточно места для установки. - {\WixUI_Font_Title}Недостаточно места на диске - {120}{70}{70}{70}{70} - Также можно отключить возможность отмены установки. Отключение возможности отмены установки не позволит установщику восстановить исходное состояние компьютера в случае сбоя или прерывания установки. Для отключения возможности отмены установки нажмите кнопку "Да". - - Установка [ProductName] - WixUI_Bmp_Dialog - Подождите, пока мастер выполняет подготовку к установке. - {\WixUI_Font_Bigger}Вас приветствует мастер установки [ProductName] - - Установка [ProductName] - WixUI_Bmp_Banner - Подождите, пока мастер установки устанавливает [ProductName]. - {\WixUI_Font_Title}Установка [ProductName] - Подождите, пока мастер установки изменяет [ProductName]. - {\WixUI_Font_Title}Изменение [ProductName] - Подождите, пока мастер установки восстанавливает [ProductName]. - {\WixUI_Font_Title}Восстановление [ProductName] - Подождите, пока мастер установки удаляет [ProductName]. - {\WixUI_Font_Title}Удаление [ProductName] - Подождите, пока мастер установки обновляет [ProductName]. - {\WixUI_Font_Title}Идет обновление [ProductName] - Выполнено - Состояние: - - Установка [ProductName] - &Установить - WixUI_Bmp_Dialog - Мастер установки завершит установку [ProductName] на компьютер. Нажмите кнопку "Установить", чтобы продолжить, или кнопку "Отмена", чтобы выйти из мастера установки. - {\WixUI_Font_Bigger}Продолжение работы мастера установки [ProductName] - - Установка [ProductName] - &Обычная - Обычная установка - В&ыборочная - Выборочная установка - По&лная - Полная установка - WixUI_Bmp_Banner - {\WixUI_Font_Title}Выберите тип установки - Укажите наиболее подходящий тип установки - Устанавливает самые распространенные компоненты программ. Рекомендуется для большинства пользователей. - Позволяет выбирать для установки отдельные компоненты и задавать их местонахождение. Рекомендуется для опытных пользователей. - Устанавливает все компоненты программы. Этот вариант требует больше всего места на диске. - - Установка [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Работа мастера установки [ProductName] была прервана - Установка [ProductName] была прервана. Система не была изменена. Чтобы установить эту программу позднее, запустите программу установки еще раз. - Для выхода из мастера установки нажмите кнопку "Готово". - - Установка [ProductName] - WixUI_Bmp_Banner - &Установить - Нажмите кнопку "Установить", чтобы начать установку. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к установке [ProductName] - &Изменить - Нажмите кнопку "Изменить", чтобы начать установку. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к изменению [ProductName] - &Восстановить - Нажмите кнопку "Восстановить", чтобы восстановить установку [ProductName]. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к восстановлению [ProductName] - &Удалить - Нажмите кнопку "Удалить", чтобы удалить [ProductName] с компьютера. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к удалению [ProductName] - &Обновить - Нажмите кнопку "Обновить", чтобы обновить [ProductName] на компьютере. Нажмите кнопку "Назад", чтобы проверить или изменить параметры установки. Нажмите кнопку "Отмена", чтобы выйти из мастера. - {\WixUI_Font_Title}Все готово к обновлению [ProductName] - - Установка [ProductName] - &Возврат - Подождите, пока установщик определяет требования к свободному месту на диске. - WixUI_Ico_Exclam - Восклицательный знак - - Установка [ProductName] - WixUI_Bmp_Dialog - Мастер установки установит [ProductName] на компьютере. Нажмите кнопку "Далее", чтобы продолжить, или кнопку "Отмена", чтобы выйти из мастера установки. - Мастер установки обновит [ProductName] на компьютере. Нажмите кнопку "Далее", чтобы продолжить, или кнопку "Отмена", чтобы выйти из мастера установки. - {\WixUI_Font_Bigger}Вас приветствует мастер установки [ProductName] - - Установка [ProductName] - WixUI_Bmp_Dialog - &Я принимаю условия лицензионного соглашения - &Установить - &Обновить - {\WixUI_Font_Title}Прочитайте лицензионное соглашение на использование [ProductName] - - Проверка установки - Копирование новых файлов - Файл: [1], папка: [9], размер: [6] - Копирование сетевых файлов установки - Файл: [1], папка: [9], размер: [6] - Вычисление требуемого места - Вычисление требуемого места - Вычисление требуемого места - Создание ярлыков - Ярлык: [1] - Публикация подходящих компонентов - Код компонента: [1], квалификатор: [2] - Публикация компонентов продукта - Компонент: [1] - Публикация сведений о продукте - Регистрация серверов классов - Код класса: [1] - Регистрация расширительных серверов - Расширение: [1] - Регистрация сведений MIME - Тип содержимого MIME: [1], расширение: [2] - Регистрация программных идентификаторов - Программный идентификатор: [1] - Выделение места в реестре - Свободное пространство: [1] - Поиск установленных приложений - Свойство: [1], подпись: [2] - Связывание исполняемых файлов - Файл: [1] - Поиск соответствующих продуктов - Создание папок - Папка: [1] - Удаление служб - Служба: [1] - Создание копий файлов - Файл: [1], папка: [9], размер: [6] - Поиск связанных приложений - Найдено приложение: [1] - Установка компонентов ODBC - Установка новых служб - Служба: [2] - Проверка условий запуска - Перенос параметров компонентов из связанных приложений - Приложение: [1] - Перемещение файлов - Файл: [1], папка: [9], размер: [6] - Идет исправление файлов - Файл: [1], папка: [2], размер: [3] - Идет обновление регистрации компонентов - Идет регистрация приложений и компонентов COM+ - Код приложения: [1]{{, тип: [2], пользователи: [3], RSN: [4]}} - Идет регистрация шрифтов - Шрифт: [1] - Идет регистрация продукта - [1] - Идет регистрация библиотек типов - Идентификатор библиотеки: [1] - Идет регистрация пользователя - [1] - Идет удаление дублирующих файлов - Файл: [1], папка: [9] - Обновление переменных среды - Имя: [1], значение: [2], действие [3] - Удаление приложений - Приложение: [1], командная строка: [2] - Удаление файлов - Файл: [1], папка: [9] - Удаление папок - Папка: [1] - Удаление записей INI-файлов - Файл: [1], раздел: [2], подраздел: [3], значение: [4] - Удаление компонентов ODBC - Удаление значений системного реестра - Раздел: [1], имя: [2] - Удаление ярлыков - Ярлык: [1] - Поиск соответствующих продуктов - Регистрация модулей - Файл: [1], папка: [2] - Отмена регистрации модулей - Файл: [1], папка: [2] - Инициализация папок ODBC - Запуск служб - Служба: [1] - Остановка служб - Служба: [1] - Отмена публикации подходящих компонентов - Код компонента: [1], квалификатор: [2] - Отмена публикации компонентов продукта - Компонент: [1] - Отмена регистрации серверов классов - Код класса: [1] - Отмена регистрации приложений и компонентов COM+ - Идентификатор приложения: [1]{{, тип приложения: [2]}} - Отмена регистрации расширительных серверов - Расширение: [1] - Отмена регистрации шрифтов - Шрифт: [1] - Отмена регистрации сведений MIME - Тип содержимого MIME: [1], расширение: [2] - Отмена регистрации программных идентификаторов - Программный идентификатор: [1] - Отмена регистрации библиотек типов - Идентификатор библиотеки: [1] - Обновление переменных среды - Имя: [1], значение: [2], действие [3] - Запись значений INI-файлов - Файл: [1], раздел: [2], подраздел: [3], значение: [4] - Запись значений системного реестра - Раздел: [1], имя: [2], значение: [3] - Объявление о приложениях - Создание сценария операций для действия: - [1] - Установка системного каталога - Файл: [1], зависимости: [2] - Публикация сведений о сборке - Контекст приложения:[1], имя сборки:[2] - Отмена публикации сведений о сборке - Контекст приложения:[1], имя сборки:[2] - Откат действия: - [1] - Удаление резервных файлов - Файл: [1] - Удаление перемещенных файлов - Файл: [1], папка: [9] - Отмена публикации сведений о продукте - - {{Неустранимая ошибка: }} - {{Ошибка [1]. }} - Предупреждение [1]. - Информация [1]. - Произошла непредвиденная ошибка при установке этого пакета. Возможно, пакет содержит ошибки. Код ошибки: [1]. {{Аргументы: [2], [3], [4]}} - {{Диск заполнен: }} - Действие [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Тип сообщения: [1], аргумент: [2] - === Журнал начат: [Date] [Time] === - === Журнал остановлен: [Date] [Time] === - Начало действия [Time]: [1]. - Действие закончено [Time]: [1]. Код возврата [2]. - Осталось: {[1] мин. }{[2] сек.} - Недостаточно памяти. Закройте другие приложения и повторите попытку. - Установщик не отвечает. - Установщик преждевременно завершил работу. - Подождите, пока Windows настроит программу [ProductName] - Идет сбор необходимых данных... - Удаление старых версий этого приложения... - Подготовка к удалению старых версий этого приложения... - Установка {[ProductName]} успешно завершена. - Не удалось установить {[ProductName]}. - Ошибка чтения файла: [2]. {{ Системная ошибка [3].}} Убедитесь, что файл существует и доступен. - Невозможно создать файл "[2]". Каталог с таким именем уже существует. Отмените установку и попытайтесь выполнить установку в другой каталог. - Вставьте диск: [2] - У установщика недостаточно привилегий для доступа к этому каталогу: [2]. Продолжение установки невозможно. Войдите в систему как администратор или обратитесь к администратору. - Ошибка при записи в файл: [2]. Убедитесь в наличии доступа к этому каталогу. - Ошибка чтения файла: [2]. {{ Системная ошибка [3].}} Убедитесь, что файл существует и доступен. - К файлу "[2]" в монопольном режиме обращается другое приложение. Завершите все другие приложения и нажмите кнопку "Повторить". - Для установки данного файла недостаточно дискового пространства. [2]. Освободите место на диске и нажмите кнопку "Повторить" либо нажмите кнопку "Отмена" для выхода. - Не найден исходный файл: [2]. Убедитесь, что этот файл существует и доступен. - Ошибка чтения файла: [3]. {{ Системная ошибка [2].}} Убедитесь, что файл существует и доступен. - Ошибка записи в файл: [3]. {{ Системная ошибка [2].}} Проверьте наличие доступа к папке. - Исходный файл не найден{{(cabinet)}}: [2]. Убедитесь, что этот файл существует и доступен. - Невозможно создать каталог "[2]". Файл с таким именем уже существует. Переименуйте или удалите этот файл и нажмите кнопку "Повторить", либо нажмите кнопку "Отмена" для выхода. - Том [2] сейчас недоступен. Выберите другой том. - Указанный путь "[2]" недоступен. - Не удается произвести запись в указанную папку: [2]. - Сетевая ошибка при попытке чтения из файла: [2] - Ошибка при попытке создать папку: [2] - Сетевая ошибка при попытке создать папку: [2] - Сетевая ошибка при попытке открытия исходного CAB-файла: [2] - Указан слишком длинный путь: [2] - У установщика недостаточно привилегий для изменения этого файла: [2]. - Недопустимая часть пути к папке "[2]". Она либо пустая, либо превышает максимально допустимую длину. - Путь к папке "[2]" содержит слова, недопустимые для использования в пути к папке. - Путь к папке "[2]" содержит недопустимый знак. - "[2]" является недопустимым коротким именем файла. - Ошибка при получении сведений о безопасности: [3] GetLastError: [2] - Недопустимое устройство: [2] - Ошибка применения исправления к файлу "[2]". Возможно, файл уже был обновлен другим способом и не может быть обновлен с помощью этого исправления. За дополнительными сведениями обратитесь к поставщику исправления. {{Системная ошибка: [3]}} - Невозможно установить нужный файл, так как в CAB-файле [2] отсутствует цифровая подпись. Возможно, САВ-файл поврежден. - Невозможно установить нужный файл, так как CAB-файл [2] имеет недопустимую цифровую подпись. Возможно, САВ-файл поврежден. {{Ошибка [3] возвращена методом WinVerifyTrust.}} - Не удалось должным образом скопировать файл [2]: ошибка CRC. - Не удалось должным образом переместить файл [2]: ошибка CRC. - Не удалось должным образом исправить файл [2]: ошибка CRC. - Невозможно установить файл "[2]", так как он не найден в CAB-файле "[3]". Возможно, произошла ошибка сети, ошибка чтения с компакт-диска или пакет содержит ошибки. - CAB-файл "[2]", необходимый для этой установки, поврежден и не может быть использован. Возможно, произошла ошибка сети, ошибка чтения с компакт-диска или пакет содержит ошибки. - Произошла ошибка при создании временного файла, необходимого для выполнения установки. {{Папка: [3]. Код системной ошибки: [2]}} - Не удалось создать раздел: [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось открыть раздел: [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось удалить значение [2] из раздела [3]. {{Системная ошибка [4].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось удалить раздел: [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось считать значение [2] из раздела [3]. {{Системная ошибка [4].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось записать значение [2] в раздел [3]. {{Системная ошибка [4].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось получить имена значений для раздела [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось получить имена подразделов для раздела [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось прочесть информацию о безопасности для раздела [2]. {{Системная ошибка [3].}} Убедитесь в наличии необходимых прав доступа к разделу или обратитесь в службу поддержки. - Не удалось увеличить доступное пространство реестра. Для установки этого приложения требуется [2] КБ свободного места в реестре. - Производится другая установка. Необходимо завершить ее перед продолжением этой. - Ошибка доступа к защищенным данным. Убедитесь, что установщик Windows правильно настроен, и повторите попытку. - Пользователь "[2]" ранее начал установку продукта "[3]". Этот пользователь должен будет повторно выполнить установку прежде, чем сможет использовать данный продукт. Текущая установка будет продолжена. - Пользователь "[2]" ранее начал установку продукта "[3]". Этот пользователь должен будет повторно выполнить установку прежде, чем сможет использовать данный продукт. - Недостаточно места на диске -- том: "[2]"; требуется: [3] КБ; свободно: [4] КБ. Освободите место на диске и повторите попытку. - Отменить установку? - Файл [2][3] сейчас используется{ следующим процессом: имя: [4], идентификатор: [5], заголовок окна: "[6]"}. Закройте это приложение и повторите попытку. - Продукт "[2]" уже установлен, что препятствует установке данного продукта. Эти продукты несовместимы. - Недостаточно места на томе "[2]". Невозможно продолжить установку с включенным восстановлением системы. Требуется [3] КБ, а доступно только [4] КБ. Нажмите кнопку "Пропустить", чтобы продолжить установку без сохранения информации о восстановлении, "Повтор", чтобы снова проверить наличие свободного места на диске, или "Отмена" для выхода из программы установки. - Нет доступа к сетевой папке "[2]". - Для продолжения установки необходимо закрыть следующие приложения: - Не удалось обнаружить ранее установленные совместимые продукты, необходимые для установки этого продукта. - Произошла ошибка при применении параметров безопасности. [2] не является допустимым пользователем или группой. Возможно, пакет содержит ошибки или произошла ошибка при подключении к контроллеру домена сети. Проверьте сетевое подключение и нажмите кнопку "Повтор" или нажмите кнопку "Отмена" для выхода из программы установки. {{Не удается найти SID пользователя, системная ошибка [3]}} - Недопустимый раздел: [2]. Проверьте, что раздел указан правильно. - Перед продолжением настройки [2] установщик должен перезагрузить компьютер. Чтобы перезагрузить компьютер сейчас, нажмите кнопку "Да". Чтобы отложить перезагрузку, нажмите кнопку "Нет". - Для вступления в силу изменений, сделанных в "[2]", необходимо перезагрузить компьютер. Чтобы перезагрузить компьютер сейчас, нажмите кнопку "Да". Чтобы выполнить перезагрузку позже вручную, нажмите кнопку "Нет". - В данный момент установка [2] приостановлена. Перед продолжением установки требуется отменить выполненные изменения. Отменить изменения? - Выполняется запущенная ранее установка этого продукта. Для продолжения требуется отменить изменения, выполненные в процессе той установки. Отменить эти изменения? - Пакет установки продукта [2] не найден. Попробуйте повторить установку, используя работоспособную копию пакета установки "[3]". - Установка успешно завершена. - Сбой установки. - Продукт: [2] — [3] - Можно либо восстановить предыдущее состояние компьютера, либо продолжить установку позже. Восстановить предыдущее состояние? - При записи информации об установке на диск возникла ошибка. Убедитесь в наличии требуемого свободного места на диске и нажмите кнопку "Повторить" либо нажмите кнопку "Отмена" для прекращения установки. - Не удалось найти один или несколько файлов, необходимых для восстановления предыдущего состояния компьютера. Восстановление невозможно. - [2] не удается установить один из требуемых продуктов. Обратитесь в службу технической поддержки. {{Системная ошибка: [3].}} - Не удается удалить старую версию [2]. Обратитесь в службу технической поддержки. {{Системная ошибка [3].}} - Установлено: [2] - Настроено: [2] - Удалено: [2] - Файл [2] отвергнут политикой цифровой подписи. - Служба установщика Windows недоступна. Возможно, система работает в безопасном режиме или установщик Windows установлен неправильно. За помощью обратитесь в службу поддержки. - Обнаружена неполадка, связанная с пакетом установщика Windows. Не удалось выполнить сценарий, требуемый для завершения текущей установки. Обратитесь в службу поддержки или к поставщику пакета. {{Настраиваемое действие [2], ошибка сценария [3], [4]: [5], строка [6], столбец [7], [8] }} - Ошибка пакета установщика Windows. Не удается запустить программу, необходимую для выполнения установки. Обратитесь в службу поддержки или к поставщику пакета. {{Действие: [2], расположение: [3], команда: [4] }} - Обнаружена неполадка, связанная с пакетом установщика Windows. Программа, запущенная как часть установки, не завершилась ожидаемым образом. Обратитесь в службу поддержки или к поставщику пакета. {{Действие: [2], расположение: [3], команда: [4] }} - Обнаружена неполадка, связанная с пакетом установщика Windows. Не удалось выполнить библиотеку DLL, требуемую для завершения текущей установки. Обратитесь в службу поддержки или к поставщику пакета. {{Действие: [2], запись: [3], библиотека: [4] }} - Удаление успешно завершено. - Сбой удаления. - Объявление успешно выполнено. - Сбой объявления. - Настройка успешно завершена. - Сбой настройки. - Для удаления этого приложения требуются права администратора. Чтобы удалить приложение, войдите в систему как администратор или обратитесь в службу технической поддержки. - Исходный пакет установки для продукта [2] не соответствует клиентскому пакету. Повторите установку, используя работоспособную копию пакета установки "[3]". - Для завершения установки [2] необходимо перезагрузить компьютер. В настоящий момент к этому компьютеру подключены другие пользователи, при перезагрузке результаты их работы могут быть потеряны. Выполнить перезагрузку сейчас? - Недопустимый путь [2]. Укажите допустимый путь. - Недостаточно памяти. Закройте другие приложения и повторите попытку. - Отсутствует диск в устройстве [2]. Вставьте диск и нажмите кнопку "Повтор" или нажмите кнопку "Отмена" для возврата к ранее выбранному тому. - Отсутствует диск в устройстве [2]. Вставьте диск и нажмите кнопку "Повтор" или нажмите кнопку "Отмена" для возврата к диалоговому окну обзора и выберите другой том. - Папка [2] не существует. Укажите путь к существующей папке. - Отсутствуют привилегии для чтения из этой папки. - Не удалось определить правильную конечную папку для установки. - Ошибка при попытке чтения из базы данных источника установки: [2]. - Планирование операции перезагрузки: переименование файла [2] в [3]. Для завершения операции требуется перезагрузка. - Планирование операции перезагрузки: удаление файла [2]. Для завершения операции требуется перезагрузка. - Не удалось зарегистрировать модуль [2]. HRESULT [3]. Обратитесь в службу поддержки. - Не удалось отменить регистрацию модуля [2]. HRESULT [3]. Обратитесь в службу поддержки. - Не удалось поместить пакет [2] в кэш. Ошибка: [3]. Обратитесь в службу поддержки. - Не удалось зарегистрировать шрифт [2]. Убедитесь в наличии необходимых разрешений для установки шрифтов и в том, что система поддерживает этот шрифт. - Не удалось отменить регистрацию шрифта [2]. Убедитесь в наличии необходимых разрешений на удаление шрифтов. - Не удалось создать ярлык [2]. Убедитесь в существовании конечной папки и в наличии необходимых прав доступа. - Не удалось удалить ярлык [2]. Убедитесь в существовании файла ярлыка и в наличии необходимых прав доступа. - Не удалось зарегистрировать библиотеку типов для файла [2]. Обратитесь в службу поддержки. - Не удалось отменить регистрацию библиотеки типов для файла [2]. Обратитесь в службу поддержки. - Не удалось обновить INI-файл [2][3]. Убедитесь, что этот файл существует и доступен. - Не удалось запланировать замену файла [3] файлом [2] при перезагрузке. Убедитесь в наличии необходимых разрешений для записи в файл [3]. - Ошибка удаления диспетчера драйверов ODBC, ошибка ODBC [2]: [3]. Обратитесь в службу поддержки. - Ошибка установки диспетчера драйверов ODBC, ошибка ODBC [2]: [3]. Обратитесь в службу поддержки. - Ошибка удаления драйвера ODBC: [4], ошибка ODBC [2]: [3]. Убедитесь в наличии необходимых привилегий на удаление драйверов ODBC. - Ошибка установки ODBC-драйвера: [4], ошибка ODBC [2]: [3]. Убедитесь, что файл [4] существует и доступен. - Ошибка настройки источника данных ODBC: [4], ошибка ODBC [2]: [3]. Убедитесь, что файл [4] существует и доступен. - Не удалось запустить службу "[2]" ([3]). Убедитесь в наличии необходимых привилегий для запуска системных служб. - Не удалось остановить службу "[2]" ([3]). Убедитесь в наличии необходимых привилегий для остановки системных служб. - Не удалось удалить службу "[2]" ([3]). Убедитесь в наличии необходимых привилегий для удаления системных служб. - Не удалось установить службу "[2]" ([3]). Убедитесь в наличии необходимых привилегий для установки системных служб. - Не удалось обновить переменную среды "[2]". Убедитесь в наличии необходимых привилегий для изменения переменных среды. - У вас недостаточно привилегий для завершения этой установки для всех пользователей компьютера. Войдите в систему как администратор и повторите попытку. - Не удалось установить разрешения для файла "[3]". Ошибка: [2]. Убедитесь в наличии необходимых привилегий для изменения разрешений для этого файла. - На компьютере не установлены службы компонентов (COM+ 1.0). Они необходимы для успешного завершения этой установки. Службы компонентов доступны в операционной системе Windows 2000. - Ошибка при регистрации приложения COM+. За дополнительными сведениями обратитесь в службу поддержки. - Ошибка при отмене регистрации приложения COM+. За дополнительными сведениями обратитесь в службу поддержки. - Не удалось изменить описание для службы "[2]" ([3]). - Службе установщика Windows не удается обновить системный файл [2], защищенный Windows. Возможно, для правильной работы программы необходимо выполнить обновление операционной системы. {{Версия пакета: [3], защищенная версия ОС: [4]}} - Службе установщика Windows не удается обновить файл [2], защищенный Windows. {{Версия пакета: [3], версия, защищенная ОС: [4], ошибка SFP: [5]}} - Службе установщика Windows не удается обновить один или несколько защищенных файлов Windows. {{Ошибка SFP: [2]. Список защищенных файлов:\r\n[3]}} - Пользовательские установки не разрешены политикой данного компьютера. - Произошла ошибка при установке компонента сборки "[6]". Дополнительные сведения см. в центре справки и поддержки. HRESULT: [3]. {{Интерфейс сборки: [4], функция: [5], компонент: [2]}} - Во время установки сборки "[6]" произошла ошибка. Сборка не имеет строгого имени или не подписана ключом минимальной длины. HRESULT: [3]. {{Интерфейс сборки: [4], функция: [5], компонент: [2]}} - Во время установки сборки "[6]" произошла ошибка. Не удалось проверить подпись или каталог, или они недопустимы. HRESULT: [3]. {{Интерфейс сборки: [4], функция: [5], компонент: [2]}} - Во время установки сборки "[6]" произошла ошибка. Не удалось найти один или несколько модулей сборки. HRESULT: [3]. {{Интерфейс сборки: [4], функция: [5], компонент: [2]}} - - байт - ГБ - КБ - МБ - Компонент будет полностью недоступен - Компонент будет установлен при необходимости - Компонент будет полностью установлен для запуска с компакт-диска - Компонент будет полностью установлен на локальный жесткий диск - Компонент будет полностью установлен для запуска из сети - Будет установлен для запуска с компакт-диска - Будет установлен на локальный жесткий диск - Будет установлен для запуска из сети - Папка|Новая папка - Идет сбор необходимых данных... - Компонент не будет установлен - Компонент будет установлен при необходимости - Компонент будет установлен для запуска с компакт-диска - Компонент будет установлен на локальный жесткий диск - Компонент будет установлен для запуска из сети - Компонент будет полностью недоступен - Будет установлен при необходимости - Компонент будет доступен для запуска с компакт-диска - Компонент будет установлен на локальный жесткий диск - Компонент будет доступен для запуска из сети - Компонент будет полностью удален, его нельзя будет запустить с компакт-диска - Компонент нельзя будет запустить с компакт-диска, он будет установлен при необходимости - Компонент можно будет запустить с компакт-диска - Компонент нельзя будет запустить с компакт-диска, он будет установлен на локальный жесткий диск - Компонент освободит [1] на жестком диске. - Для компонента требуется [1] на жестком диске. - Идет подсчет затрат для этого компонента... - Компонент будет полностью удален - Компонент будет удален с локального жесткого диска, но будет доступен для установки при необходимости - Компонент будет удален с локального жесткого диска, но будет доступен для запуска с компакт-диска - Компонент будет доступен на локальном жестком диске - Компонент будет удален с локального жесткого диска, но будет доступен для запуска из сети - Компонент будет полностью удален, его нельзя будет запустить из сети - Компонент больше нельзя будет запустить из сети, он будет установлен при необходимости - Компонент нельзя будет запустить из сети, он будет установлен на локальный жесткий диск - Компонент можно будет запустить из сети - Компонент освободит [1] на жестком диске. Выбрано подкомпонентов: [2] из [3]. Подкомпоненты освободят [4] на жестком диске. - Компонент освободит [1] на жестком диске. Выбрано подкомпонентов: [2] из [3]. Для подкомпонентов требуется [4] на жестком диске. - Для компонента требуется [1] на жестком диске. Выбрано подкомпонентов: [2] из [3]. Подкомпоненты освободят [4] на жестком диске. - Для компонента требуется [1] на жестком диске. Выбрано подкомпонентов: [2] из [3]. Для подкомпонентов требуется [4] на жестком диске. - Осталось: {[1] мин. }{[2] сек.} - Доступно - Разница - Требуется - Размер диска - Объем - diff --git a/Src/Localization/WixUI/WixUI_sk-SK.wxl b/Src/Localization/WixUI/WixUI_sk-SK.wxl deleted file mode 100644 index 5af74f0..0000000 --- a/Src/Localization/WixUI/WixUI_sk-SK.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Späť - Ď&alej - Zrušiť - &Dokončiť - Z&nova - &Ignorovať - Án&o - &Nie - OK - &Tlačiť - - [ProductName] – inštalácia - WixUI_Bmp_Banner - {\WixUI_Font_Title}Prečítajte si licenčnú zmluvu vzťahujúcu sa na program [ProductName] - &Súhlasím s podmienkami licenčnej zmluvy - Kliknutím na tlačidlo Inštalovať nainštalujete produkt s predvolenými možnosťami pre všetkých používateľov. Ak chcete zmeniť možnosti inštalácie, kliknite na tlačidlo Spresniť. - Kliknutím na tlačidlo Inštalovať nainštalujete produkt s predvolenými možnosťami len pre seba. Ak chcete zmeniť možnosti inštalácie, kliknite na tlačidlo Spresniť. - I&nštalovať - &Spresniť - 8 - 12 - 9 - 8 - Tahoma - - [ProductName] – inštalácia - &Kde hľadať: - WixUI_Bmp_Up - O úroveň vyššie - WixUI_Bmp_New - Vytvoriť nový priečinok - &Názov priečinka: - WixUI_Bmp_Banner - Vyhľadať cieľový priečinok - {\WixUI_Font_Title}Zmena cieľového priečinka - - [ProductName] – inštalácia - Naozaj chcete zrušiť inštaláciu programu [ProductName]? - WixUI_Ico_Info - Informačná ikona - - [ProductName] – inštalácia - Strom výberov - P&rehľadávať... - &Obnoviť - Vy&užitie disku - WixUI_Bmp_Banner - Klikaním na ikony v strome nižšie môžete zmeniť spôsob inštalácie súčastí. - Vyberte spôsob inštalácie súčastí. - {\WixUI_Font_Title}Vlastná inštalácia - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Umiestnenie: - - [ProductName] – inštalácia - WixUI_Bmp_Banner - Označené zväzky nemajú dostatok miesta na disku na vybraté súčasti. Môžete odstrániť niektoré súbory z vyznačených zväzkov, nainštalovať menej súčastí alebo vybrať iné cieľové jednotky. - Požadované miesto na disku na inštaláciu vybratých súčastí. - {\WixUI_Font_Title}Požiadavky na miesto na disku - {120}{70}{70}{70}{70} - - [ProductName] – inštalácia - Informačný text - WixUI_Ico_Info - Informačná ikona - - [ProductName] – inštalácia - WixUI_Bmp_Dialog - Kliknutím na tlačidlo Dokončiť ukončíte Sprievodcu inštaláciou. - {\WixUI_Font_Bigger}Sprievodca inštaláciou programu [ProductName] bol dokončený - - [ProductName] – inštalácia - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Sprievodca inštaláciou programu [ProductName] sa predčasne ukončil - Sprievodca inštaláciou programu [ProductName] sa predčasne ukončil pre chybu. Nastavenie systému sa nezmenilo. Ak budete chcieť tento program nainštalovať neskôr, znova spustite Sprievodcu inštaláciou. - Kliknutím na tlačidlo Dokončiť ukončíte Sprievodcu inštaláciou. - - [ProductName] – inštalácia - Súčasti produktu - WixUI_Bmp_Banner - Vyberte spôsob inštalácie súčastí. - {\WixUI_Font_Title}Súčasti produktu - FeaturesDlgItemDescription - FeaturesDlgItemSize - I&nštalovať - Z&meniť - - [ProductName] – inštalácia - Sk&ončiť - WixUI_Bmp_Banner - Nasledujúce aplikácie používajú súbory, ktoré musí táto inštalácia aktualizovať. Zavrite tieto aplikácie, kliknite na tlačidlo &Znova a pokračujte v inštalácii. Ak chcete skončiť, kliknite na tlačidlo Skončiť. - Niektoré súbory určené na aktualizáciu sa momentálne používajú. - {\WixUI_Font_Title}Používané súbory - - [ProductName] – inštalácia - Z&meniť... - {\WixUI_Font_Title}Cieľový priečinok - Ak chcete program nainštalovať do predvoleného priečinka, kliknite na tlačidlo Ďalej. Ak chcete vybrať iný priečinok, kliknite na tlačidlo Zmeniť. - WixUI_Bmp_Banner - Inštalovať program [ProductName] do priečinka: - - [ProductName] – inštalácia - WixUI_Bmp_Banner - Vyberte rozsah a priečinok inštalácie - {\WixUI_Font_Title}Rozsah inštalácie - {\WixUI_Font_Emphasized}Inštalovať len pre &seba ([LogonUser]) - Program [ProductName] sa nainštaluje do priečinka pre konkrétneho používateľa a bude k dispozícii len pre vaše používateľské konto. Nepotrebujete lokálne oprávnenia správcu. - Program [ProductName] nepodporuje inštaláciu pre konkrétneho používateľa. - {\WixUI_Font_Emphasized}Inštalovať pre všetkých používateľov tohto &počítača - Program [ProductName] sa predvolene nainštaluje do priečinka pre konkrétne zariadenie a bude k dispozícii pre všetkých používateľov. Predvolený inštalačný priečinok môžete zmeniť. Musíte mať lokálne oprávnenia správcu. - Inštalačný &priečinok: - Z&meniť... - - [ProductName] – inštalácia - Inštalačný adresár sa musí nachádzať na lokálnom pevnom disku. - WixUI_Ico_Info - Informačná ikona - - [ProductName] – inštalácia - &Súhlasím s podmienkami licenčnej zmluvy - WixUI_Bmp_Banner - Pozorne si prečítajte nasledujúcu licenčnú zmluvu - {\WixUI_Font_Title}Licenčná zmluva koncového používateľa - - [ProductName] – inštalácia - Z&meniť - Zmeniť inštaláciu - Opr&aviť - Opraviť inštaláciu - &Odstrániť - Odstrániť inštaláciu - WixUI_Bmp_Banner - Vyberte operáciu, ktorú chcete vykonať. - {\WixUI_Font_Title}Zmena, oprava alebo odstránenie inštalácie - Umožňuje zmeniť spôsob inštalácie súčastí. - Program [ProductName] neobsahuje žiadne súčasti, ktoré možno nezávisle vybrať. - Odstráni program [ProductName] z počítača. - Program [ProductName] nemožno odstrániť. - Slúži na opravu chýb poslednej inštalácie prostredníctvom opravy chýbajúcich a poškodených súborov, odkazov a položiek databázy Registry. - Program [ProductName] nemožno opraviť. - - [ProductName] – inštalácia - WixUI_Bmp_Dialog - Sprievodca inštaláciou umožňuje zmeniť spôsob inštalácie súčastí programu [ProductName] v počítači alebo odstrániť tento program z počítača. Ak chcete pokračovať, kliknite na tlačidlo Ďalej. Ak chcete Sprievodcu inštaláciou ukončiť, kliknite na tlačidlo Zrušiť. - {\WixUI_Font_Bigger}Víta vás Sprievodca inštaláciou programu [ProductName] - - [ProductName] – inštalácia - WixUI_Bmp_Banner - Nasledujúce aplikácie používajú súbory, ktoré musí táto inštalácia aktualizovať. Sprievodca inštaláciou ich môže ukončiť a potom sa ich pokúsiť reštartovať alebo môže zariadenie reštartovať neskôr. - Niektoré súbory určené na aktualizáciu sa momentálne používajú. - {\WixUI_Font_Title}Používané súbory - Ukončiť apliká&cie a pokúsiť sa o ich opätovné spustenie. - &Neukončiť aplikácie. Bude sa vyžadovať reštartovanie počítača. - - [ProductName] – inštalácia - WixUI_Bmp_Banner - Označené zväzky nemajú dostatok miesta na disku na aktuálne vybraté súčasti. Môžete odstrániť niektoré súbory z vyznačených zväzkov, nainštalovať menej súčastí alebo vybrať inú cieľovú jednotku. - Miesto na disku požadované na inštaláciu prekračuje dostupné miesto na disku. - {\WixUI_Font_Title}Nedostatok miesta na disku - {120}{70}{70}{70}{70} - - [ProductName] – inštalácia - WixUI_Bmp_Banner - Označené zväzky nemajú dostatok miesta na disku na aktuálne vybraté súčasti. Môžete odstrániť niektoré súbory z vyznačených zväzkov, nainštalovať menej súčastí alebo vybrať inú cieľovú jednotku. - Miesto na disku požadované na inštaláciu prekračuje dostupné miesto na disku. - {\WixUI_Font_Title}Nedostatok miesta na disku - {120}{70}{70}{70}{70} - Prípadne môžete zakázať funkciu vrátenia zmien inštalátora. Zakázanie funkcie vrátenia zmien zabráni inštalátoru obnoviť pôvodný stav počítača, ak by sa inštalácia akýmkoľvek spôsobom prerušila. Ak chcete zakázať funkciu vrátenia zmien, kliknite na tlačidlo Áno. - - [ProductName] – inštalácia - WixUI_Bmp_Dialog - Počkajte, kým sa Sprievodca inštaláciou pripraví na prevádzanie inštaláciou. - {\WixUI_Font_Bigger}Víta vás Sprievodca inštaláciou programu [ProductName] - - [ProductName] – inštalácia - WixUI_Bmp_Banner - Počkajte, kým Sprievodca inštaláciou nainštaluje program [ProductName]. - {\WixUI_Font_Title}Inštaluje sa program [ProductName] - Počkajte, kým Sprievodca inštaláciou zmení program [ProductName]. - {\WixUI_Font_Title}Mení sa program [ProductName] - Počkajte, kým Sprievodca inštaláciou opraví program [ProductName]. - {\WixUI_Font_Title}Opravuje sa program [ProductName] - Počkajte, kým Sprievodca inštaláciou odstráni program [ProductName]. - {\WixUI_Font_Title}Odstraňuje sa program [ProductName] - Počkajte, kým Sprievodca inštaláciou dokončí aktualizáciu programu [ProductName]. - {\WixUI_Font_Title}Aktualizuje sa program [ProductName] - Priebeh - Stav: - - [ProductName] – inštalácia - I&nštalovať - WixUI_Bmp_Dialog - Sprievodca inštaláciou dokončí inštaláciu programu [ProductName] v počítači. Ak chcete pokračovať, kliknite na tlačidlo Inštalovať. Ak chcete Sprievodcu inštaláciou ukončiť, kliknite na tlačidlo Zrušiť. - {\WixUI_Font_Bigger}Obnovuje sa Sprievodca inštaláciou programu [ProductName] - - [ProductName] – inštalácia - &Typická - Typická inštalácia - &Vlastná - Vlastná inštalácia - Ú&plná - Úplná inštalácia - WixUI_Bmp_Banner - {\WixUI_Font_Title}Výber typu inštalácie - Vyberte typ inštalácie zodpovedajúci vašim potrebám - Nainštaluje najčastejšie používané funkcie programu. Odporúča sa pre väčšinu používateľov. - Umožňuje používateľom vybrať súčasti programu, ktoré sa majú nainštalovať, a miesto, kam sa majú nainštalovať. Odporúča sa pre skúsených používateľov. - Nainštalujú sa všetky súčasti programu. Vyžaduje najviac miesta na disku. - - [ProductName] – inštalácia - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Sprievodca inštaláciou programu [ProductName] sa prerušil - Inštalácia programu [ProductName] sa prerušila. Nastavenie systému sa nezmenilo. Ak budete chcieť tento program nainštalovať neskôr, znova spustite inštaláciu. - Kliknutím na tlačidlo Dokončiť ukončíte Sprievodcu inštaláciou. - - [ProductName] – inštalácia - WixUI_Bmp_Banner - I&nštalovať - Ak chcete spustiť inštaláciu, kliknite na tlačidlo Inštalovať. Ak chcete skontrolovať alebo zmeniť niektoré z nastavení inštalácie, kliknite na tlačidlo Späť. Kliknutím na tlačidlo Zrušiť ukončíte sprievodcu. - {\WixUI_Font_Title}Pripravený na inštaláciu programu [ProductName] - Z&meniť - Ak chcete spustiť inštaláciu, kliknite na tlačidlo Zmeniť. Ak chcete skontrolovať alebo zmeniť niektoré z nastavení inštalácie, kliknite na tlačidlo Späť. Kliknutím na tlačidlo Zrušiť ukončíte sprievodcu. - {\WixUI_Font_Title}Pripravený na zmenu programu [ProductName] - Opr&aviť - Kliknutím na tlačidlo Opraviť môžete opraviť inštaláciu programu [ProductName]. Ak chcete skontrolovať alebo zmeniť niektoré z nastavení inštalácie, kliknite na tlačidlo Späť. Kliknutím na tlačidlo Zrušiť ukončíte sprievodcu. - {\WixUI_Font_Title}Pripravený na opravu programu [ProductName] - &Odstrániť - Kliknutím na tlačidlo Odstrániť odstránite program [ProductName] z počítača. Ak chcete skontrolovať alebo zmeniť niektoré z nastavení inštalácie, kliknite na tlačidlo Späť. Kliknutím na tlačidlo Zrušiť ukončíte sprievodcu. - {\WixUI_Font_Title}Pripravený na odstránenie programu [ProductName] - &Aktualizovať - Kliknutím na tlačidlo Aktualizovať vykonáte aktualizáciu programu [ProductName] v počítači. Ak chcete skontrolovať alebo zmeniť niektoré z nastavení inštalácie, kliknite na tlačidlo Späť. Kliknutím na tlačidlo Zrušiť ukončíte sprievodcu. - {\WixUI_Font_Title}Pripravený na aktualizáciu programu [ProductName] - - [ProductName] – inštalácia - &Návrat - Počkajte, kým inštalátor určí požiadavky na miesto na disku. - WixUI_Ico_Exclam - Ikona výkričníka - - [ProductName] – inštalácia - WixUI_Bmp_Dialog - Sprievodca inštaláciou nainštaluje program [ProductName] v počítači. Ak chcete pokračovať, kliknite na tlačidlo Ďalej. Ak chcete Sprievodcu inštaláciou ukončiť, kliknite na tlačidlo Zrušiť. - Sprievodca inštaláciou vykoná aktualizáciu programu [ProductName] v počítači. Ak chcete pokračovať, kliknite na tlačidlo Ďalej. Ak chcete Sprievodcu inštaláciou ukončiť, kliknite na tlačidlo Zrušiť. - {\WixUI_Font_Bigger}Víta vás Sprievodca inštaláciou programu [ProductName] - - [ProductName] – inštalácia - WixUI_Bmp_Dialog - &Súhlasím s podmienkami licenčnej zmluvy - I&nštalovať - &Aktualizovať - {\WixUI_Font_Title}Prečítajte si licenčnú zmluvu vzťahujúcu sa na program [ProductName] - - Overuje sa inštalácia - Kopírujú sa nové súbory - Súbor: [1], adresár: [9], veľkosť: [6] - Kopírujú sa sieťové inštalačné súbory - Súbor: [1], adresár: [9], veľkosť: [6] - Počíta sa požadované voľné miesto - Počíta sa požadované voľné miesto - Počíta sa požadované voľné miesto - Vytvárajú sa odkazy - Odkaz: [1] - Publikujú sa oprávňujúce súčasti - Identifikácia súčasti: [1], kvalifikátor: [2] - Publikujú sa funkcie produktu - Súčasť: [1] - Publikujú sa informácie o produkte - Registrujú sa servery tried - Identifikácia triedy: [1] - Registrujú sa servery rozšírení - Rozšírenie: [1] - Registrujú sa informácie MIME - Typ obsahu MIME: [1], rozšírenie: [2] - Registrujú sa identifikátory programov - Identifikátor programu: [1] - Vyhradzuje sa miesto v databáze Registry - Voľné miesto: [1] - Hľadajú sa nainštalované aplikácie - Vlastnosť: [1], podpis: [2] - Vytvárajú sa väzby spustiteľných súborov - Súbor: [1] - Hľadajú sa oprávňujúce produkty - Vytvárajú sa priečinky - Priečinok: [1] - Odstraňujú sa služby - Služba: [1] - Vytvárajú sa duplicitné súbory - Súbor: [1], adresár: [9], veľkosť: [6] - Hľadajú sa súvisiace aplikácie - Nájdená aplikácia: [1] - Inštalujú sa súčasti ODBC - Inštalujú sa nové služby - Služba: [2] - Vyhodnocujú sa podmienky spustenia - Presúvajú sa stavy funkcie zo súvisiacich aplikácií - Aplikácia: [1] - Premiestňujú sa súbory - Súbor: [1], adresár: [9], veľkosť: [6] - Opravujú sa súbory - Súbor: [1], adresár: [2], veľkosť: [3] - Aktualizuje sa registrácia súčasti - Registrujú sa aplikácie a súčasti COM+ - Identifikácia aplikácie: [1]{{, typ aplikácie: [2], používatelia: [3], RSN: [4]}} - Registrujú sa písma - Písmo: [1] - Registruje sa produkt - [1] - Registrujú sa knižnice typov - Identifikácia knižnice: [1] - Registruje sa používateľ - [1] - Odstraňujú sa duplicitné súbory - Súbor: [1], adresár: [9] - Aktualizujú sa reťazce prostredia - Názov: [1], hodnota: [2], akcia [3] - Odstraňujú sa aplikácie - Aplikácia: [1], príkazový riadok: [2] - Odstraňujú sa súbory - Súbor: [1], adresár: [9] - Odstraňujú sa priečinky - Priečinok: [1] - Odstraňujú sa položky súborov INI - Súbor: [1], sekcia: [2], kľúč: [3], hodnota: [4] - Odstraňujú sa súčasti ODBC - Odstraňujú sa hodnoty zo systémovej databázy Registry - Kľúč: [1], názov: [2] - Odstraňujú sa odkazy - Odkaz: [1] - Hľadajú sa oprávňujúce produkty - Registrujú sa moduly - Súbor: [1], priečinok: [2] - Ruší sa registrácia modulov - Súbor: [1], priečinok: [2] - Inicializujú sa adresáre ODBC - Spúšťajú sa služby - Služba: [1] - Zastavujú sa služby - Služba: [1] - Ruší sa publikovanie oprávňujúcich súčastí - Identifikácia súčasti: [1], kvalifikátor: [2] - Ruší sa publikovanie funkcií produktu - Súčasť: [1] - Ruší sa registrácia serverov tried - Identifikácia triedy: [1] - Ruší sa registrácia aplikácií a súčastí COM+ - Identifikácia aplikácie: [1]{{, typ aplikácie: [2]}} - Ruší sa registrácia serverov rozšírení - Rozšírenie: [1] - Ruší sa registrácia písiem - Písmo: [1] - Ruší sa registrácia informácií MIME - Typ obsahu MIME: [1], rozšírenie: [2] - Ruší sa registrácia identifikátorov programov - Identifikátor programu: [1] - Ruší sa registrácia knižníc typov - Identifikácia knižnice: [1] - Aktualizujú sa reťazce prostredia - Názov: [1], hodnota: [2], akcia [3] - Zapisujú sa hodnoty do súborov INI - Súbor: [1], sekcia: [2], kľúč: [3], hodnota: [4] - Zapisujú sa hodnoty do systémovej databázy Registry - Kľúč: [1], názov: [2], hodnota: [3] - Zverejňuje sa aplikácia - Vytvárajú sa operácie skriptu pre akciu: - [1] - Inštaluje sa systémový katalóg - Súbor: [1], závislosti: [2] - Publikujú sa informácie o zostave - Kontext aplikácie: [1], názov zostavy: [2] - Ruší sa publikovanie informácií o zostave - Kontext aplikácie: [1], názov zostavy: [2] - Vracajú sa zmeny: - [1] - Odstraňujú sa záložné súbory - Súbor: [1] - Odstraňujú sa premiestnené súbory - Súbor: [1], adresár: [9] - Ruší sa publikovanie informácií o produkte - - {{Závažná chyba: }} - {{Chyba [1]. }} - Upozornenie [1]. - Informácia [1]. - Inštalátor zistil neočakávanú chybu pri inštalácii tohto balíka. Príčinou môže byť problém s týmto balíkom. Kód chyby je [1]. {{Argumenty sú: [2], [3], [4]}} - {{Disk je plný: }} - Akcia [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Typ správy: [1], argument: [2] - === Začiatok zapisovania do denníka: [Date] [Time] === - === Zastavenie zapisovania do denníka: [Date] [Time] === - Začiatok akcie [Time]: [1]. - Ukončenie akcie [Time]: [1]. Vrátená hodnota [2]. - Zostávajúci čas: {[1] min. }{[2] s} - Nedostatok pamäte. Pred opakovaním operácie ukončite ostatné aplikácie. - Inštalátor neodpovedá. - Inštalátor sa predčasne zastavil. - Počkajte, kým systém Windows nakonfiguruje program [ProductName] - Zhromažďujú sa požadované informácie... - Odstraňujú sa staršie verzie tejto aplikácie... - Pripravuje sa odstránenie starších verzií tejto aplikácie... - Inštalácia programu {[ProductName] }bola úspešne dokončená. - Inštalácia programu {[ProductName] }zlyhala. - Chyba pri čítaní zo súboru: [2]. {{ Systémová chyba [3].}} Overte, či súbor existuje a či máte k nemu prístup. - Nemožno vytvoriť súbor [2]. Adresár s týmto názvom už existuje. Zrušte inštaláciu a skúste vykonať inštaláciu do iného cieľového umiestnenia. - Vložte disk: [2] - Inštalátor nemá dostatočné oprávnenia na prístup k adresáru [2]. Inštalácia nemôže pokračovať. Prihláste sa ako správca alebo sa obráťte na správcu systému. - Chyba pri zápise do súboru: [2]. Overte, či máte prístup do tohto adresára. - Chyba pri čítaní zo súboru [2]. {{ Systémová chyba [3].}} Overte, či súbor existuje a či máte k nemu prístup. - K súboru [2] má výhradný prístup iná aplikácia. Ukončite všetky ostatné aplikácie a kliknite na tlačidlo Znova. - Na inštaláciu súboru [2] nie je dostatok voľného miesta na disku. Uvoľnite miesto na disku a kliknite na tlačidlo Znova. Ak chcete skončiť, kliknite na tlačidlo Zrušiť. - Zdrojový súbor sa nenašiel: [2]. Overte, či súbor existuje a či k nemu máte prístup. - Chyba pri čítaní zo súboru: [3]. {{ Systémová chyba [2].}} Overte, či súbor existuje a či máte k nemu prístup. - Chyba pri zápise do súboru: [3]. {{ Systémová chyba [2].}} Overte, či máte prístup k adresáru. - Zdrojový súbor sa nenašiel {{(kabinet)}}: [2]. Overte, či súbor existuje a či k nemu máte prístup. - Nemožno vytvoriť adresár [2]. Súbor s týmto názvom už existuje. Premenujte alebo odstráňte súbor a kliknite na tlačidlo Znova. Ak chcete skončiť, kliknite na tlačidlo Zrušiť. - Zväzok [2] momentálne nie je k dispozícii. Vyberte iný zväzok. - Zadaná cesta [2] nie je k dispozícii. - Do zadaného priečinka [2] nemožno zapisovať. - Pri pokuse čítať súbor [2] sa vyskytla chyba siete. - Pri pokuse vytvoriť adresár [2] sa vyskytla chyba. - Pri pokuse vytvoriť adresár [2] sa vyskytla chyba siete. - Pri pokuse otvoriť kabinet [2] zdrojového súboru sa vyskytla chyba siete. - Zadaná cesta [2] je príliš dlhá. - Inštalátor nemá dostatočné oprávnenia na zmenu súboru [2]. - Časť cesty k priečinku [2] je neplatná. Cesta je prázdna alebo prekračuje dĺžku povolenú systémom. - Cesta k priečinku [2] obsahuje slová, ktoré nie sú platné pre cesty k priečinkom. - Cesta k priečinku [2] obsahuje neplatný znak. - [2] nie je platný krátky názov súboru. - Chyba pri zisťovaní zabezpečenia súboru: [3] GetLastError: [2] - Neplatná jednotka: [2] - Vyskytla sa chyba pri opravovaní súboru [2]. Súbor bol možno aktualizovaný iným spôsobom a týmto opravným súborom ho už nemožno opraviť. Ďalšie informácie získate od dodávateľa opravy. {{Systémová chyba: [3]}} - Požadovaný súbor nemožno nainštalovať, pretože súbor kabinetu [2] nie je digitálne podpísaný. Môže to znamenať, že súbor kabinetu je poškodený. - Požadovaný súbor nemožno nainštalovať, pretože súbor kabinetu [2] má neplatný digitálny podpis. Môže to znamenať, že súbor kabinetu je poškodený.{{ Funkcia WinVerifyTrust vrátila chybu [3].}} - Súbor [2] sa nepodarilo správne skopírovať: chyba CRC. - Súbor [2] sa nepodarilo správne premiestniť: chyba CRC. - Súbor [2] sa nepodarilo správne opraviť: chyba CRC. - Súbor [2] nemožno nainštalovať, pretože sa nenachádza v súbore kabinetu [3]. Príčinou môže byť chyba siete, chyba pri čítaní disku CD-ROM alebo problém s týmto balíkom. - Súbor kabinetu [2] požadovaný pre inštaláciu je poškodený a nemožno ho používať. Príčinou môže byť chyba siete, chyba pri čítaní disku CD-ROM alebo problém s týmto balíkom. - Pri vytváraní dočasného súboru požadovaného na dokončenie inštalácie sa vyskytla chyba.{{ Priečinok: [3]. Kód systémovej chyby: [2]}} - Nepodarilo sa vytvoriť kľúč: [2]. {{ Systémová chyba [3].}} Overte, či máte pre daný kľúč dostatočné prístupové práva, alebo sa obráťte na pracovníkov technickej podpory. - Nepodarilo sa otvoriť kľúč: [2]. {{ Systémová chyba [3].}} Overte, či máte pre daný kľúč dostatočné prístupové práva, alebo sa obráťte na pracovníkov technickej podpory. - Nepodarilo sa odstrániť hodnotu [2] z kľúča [3]. {{ Systémová chyba [4].}} Overte, či máte pre daný kľúč dostatočné prístupové práva, alebo sa obráťte na pracovníkov technickej podpory. - Nepodarilo sa odstrániť kľúč [2]. {{ Systémová chyba [3].}} Overte, či máte pre daný kľúč dostatočné prístupové práva, alebo sa obráťte na pracovníkov technickej podpory. - Nepodarilo sa prečítať hodnotu [2] z kľúča [3]. {{ Systémová chyba [4].}} Overte, či máte pre daný kľúč dostatočné prístupové práva, alebo sa obráťte na pracovníkov technickej podpory. - Nepodarilo sa zapísať hodnotu [2] do kľúča [3]. {{ Systémová chyba [4].}} Overte, či máte pre daný kľúč dostatočné prístupové práva, alebo sa obráťte na pracovníkov technickej podpory. - Nepodarilo sa získať názvy hodnôt pre kľúč [2]. {{ Systémová chyba [3].}} Overte, či máte pre daný kľúč dostatočné prístupové práva, alebo sa obráťte na pracovníkov technickej podpory. - Nepodarilo sa získať názvy podkľúčov pre kľúč [2]. {{ Systémová chyba [3].}} Overte, či máte pre daný kľúč dostatočné prístupové práva, alebo sa obráťte na pracovníkov technickej podpory. - Nepodarilo sa prečítať informácie o zabezpečení pre kľúč [2]. {{ Systémová chyba [3].}} Overte, či máte pre daný kľúč dostatočné prístupové práva, alebo sa obráťte na pracovníkov technickej podpory. - Voľné miesto v databáze Registry nemožno zväčšiť. Na inštaláciu tejto aplikácie sa vyžaduje [2] kB voľného miesta v databáze Registry. - Prebieha iná inštalácia. Skôr ako budete pokračovať v tejto inštalácii, musíte dokončiť prebiehajúcu inštaláciu. - Chyba pri prístupe k zabezpečeným údajom. Skontrolujte, či je Inštalátor systému Windows správne nakonfigurovaný, a zopakujte inštaláciu. - Používateľ [2] už skôr inicioval inštaláciu produktu [3]. Pred použitím tohto produktu bude musieť znova spustiť inštaláciu. Teraz bude pokračovať aktuálna inštalácia. - Používateľ [2] už skôr inicioval inštaláciu produktu [3]. Pred použitím tohto produktu bude musieť znova spustiť inštaláciu. - Nedostatok voľného miesta na disku vo zväzku [2]; požadované miesto: [3] kB; voľné miesto: [4] kB. Uvoľnite miesto na disku a skúste to znova. - Naozaj chcete zrušiť operáciu? - Súbor [2][3] používa{ nasledujúci proces: názov: [4], identifikácia: [5], názov okna: [6]}. Ukončite túto aplikáciu a skúste to znova. - Tento produkt nemožno nainštalovať, pretože už je nainštalovaný produkt [2]. Tieto dva produkty sú nekompatibilné. - Na disku vo zväzku [2] nie je dostatok voľného miesta, aby bolo možné pokračovať v inštalácii so zapnutou funkciou obnovenia. Požadované miesto je [3] kB, ale k dispozícii je iba [4] kB. Ak chcete pokračovať v inštalácii bez ukladania informácií na obnovenie, kliknite na tlačidlo Ignorovať. Ak chcete znova skontrolovať voľné miesto, kliknite na tlačidlo Znova. Ak chcete ukončiť inštaláciu, kliknite na tlačidlo Zrušiť. - Nepodarilo sa získať prístup k umiestneniu v sieti [2]. - Pred pokračovaním v inštalácii by ste mali ukončiť nasledujúce aplikácie: - V počítači sa nenašli žiadne vyhovujúce nainštalované produkty na inštaláciu tohto produktu. - Pri použití nastavení zabezpečenia sa vyskytla chyba. [2] nie je platný používateľ alebo skupina. Príčinou môže byť problém s balíkom alebo pripojením k radiču domény siete. Skontrolujte pripojenie k sieti a kliknite na tlačidlo Znova. Ak chcete ukončiť inštaláciu, kliknite na tlačidlo Zrušiť. {{Nemožno nájsť identifikátor zabezpečenia SID používateľa. Systémová chyba [3]}} - Kľúč [2] nie je platný. Overte, či ste zadali správny kľúč. - Konfigurácia programu [2] môže pokračovať až po reštartovaní systému inštalátorom. Ak chcete reštartovať počítač, kliknite na tlačidlo Áno. Ak chcete reštartovať počítač neskôr manuálne, kliknite na tlačidlo Nie. - Zmeny konfigurácie programu [2] sa prejavia až po reštartovaní systému. Ak chcete reštartovať počítač, kliknite na tlačidlo Áno. Ak chcete reštartovať počítač neskôr manuálne, kliknite na tlačidlo Nie. - Inštalácia programu [2] je momentálne prerušená. Ak chcete pokračovať, musíte vrátiť zmeny uskutočnené pri inštalácii. Chcete vrátiť zmeny? - Prebieha predchádzajúca inštalácia tohto produktu. Ak chcete pokračovať, musíte vrátiť zmeny uskutočnené pri inštalácii. Chcete vrátiť zmeny? - Inštalačný balík pre produkt [2] nemožno nájsť. Skúste zopakovať inštaláciu pomocou platnej kópie inštalačného balíka [3]. - Inštalácia bola úspešne dokončená. - Inštalácia zlyhala. - Produkt: [2] – [3] - Môžete obnoviť pôvodný stav počítača alebo pokračovať v inštalácii neskôr. Chcete obnoviť pôvodný stav? - Pri zapisovaní informácií o inštalácii na disk sa vyskytla chyba. Skontrolujte, či je na disku dostatok voľného miesta, a potom kliknite na tlačidlo Znova. Ak chcete ukončiť inštaláciu, kliknite na tlačidlo Zrušiť. - Niektoré súbory potrebné na obnovenie predchádzajúceho stavu počítača sa nenašli. Obnovenie nie je možné. - Program [2] nemôže nainštalovať jeden z požadovaných produktov. Obráťte sa na pracovníkov technickej podpory. {{Systémová chyba: [3].}} - Nemožno odstrániť staršiu verziu programu [2]. Obráťte sa na pracovníkov technickej podpory. {{Systémová chyba [3].}} - Nainštalované: [2] - Nakonfigurované: [2] - Odstránené: [2] - Súbor [2] bol odmietnutý politikou digitálnych podpisov. - Službu Inštalátora systému Windows nemožno spustiť. Táto chyba sa môže vyskytnúť, ak systém Windows pracuje v núdzovom režime alebo ak Inštalátor systému Windows nie je správne nainštalovaný. O pomoc požiadajte pracovníkov technickej podpory. - Vyskytol sa problém s balíkom Inštalátora systému Windows. Skript požadovaný na dokončenie inštalácie sa nepodarilo spustiť. Obráťte sa na pracovníkov technickej podpory alebo dodávateľa balíka. {{Vlastná akcia [2], chyba skriptu [3], [4]: [5] riadok [6], stĺpec [7], [8] }} - Vyskytol sa problém s balíkom Inštalátora systému Windows. Program požadovaný na dokončenie inštalácie sa nepodarilo spustiť. Obráťte sa na pracovníkov technickej podpory alebo dodávateľa balíka. {{Akcia: [2], umiestnenie: [3], príkaz: [4] }} - Vyskytol sa problém s balíkom Inštalátora systému Windows. Program spustený ako súčasť inštalácie sa nedokončil podľa očakávania. Obráťte sa na pracovníkov technickej podpory alebo dodávateľa balíka. {{Akcia: [2], umiestnenie: [3], príkaz: [4] }} - Vyskytol sa problém s balíkom Inštalátora systému Windows. Nepodarilo sa spustiť knižnicu DLL požadovanú na dokončenie inštalácie. Obráťte sa na pracovníkov technickej podpory alebo dodávateľa balíka. {{Akcia: [2], položka: [3], knižnica: [4] }} - Odstránenie bolo úspešne dokončené. - Odstránenie zlyhalo. - Uverejnenie oznámenia bolo úspešne dokončené. - Uverejnenie oznámenia zlyhalo. - Konfigurácia bola úspešne dokončená. - Konfigurácia zlyhala. - Túto aplikáciu môžete odstrániť, iba ak ste správca. Ak chcete odstrániť túto aplikáciu, môžete sa prihlásiť ako správca alebo sa obráťte na pracovníkov technickej podpory. - Zdrojový inštalačný balík pre produkt [2] nie je zosynchronizovaný s klientskym balíkom. Skúste zopakovať inštaláciu pomocou platnej kópie inštalačného balíka [3]. - Ak chcete dokončiť inštaláciu produktu [2], musíte reštartovať počítač. V tomto počítači sú momentálne prihlásení ďalší používatelia a reštartovaním by mohli stratiť svoju prácu. Chcete reštartovať počítač? - Cesta [2] nie je platná. Zadajte platnú cestu. - Nedostatok pamäte. Pred opakovaním operácie ukončite ostatné aplikácie. - V jednotke [2] nie je disk. Vložte disk a kliknite na tlačidlo Znova. Ak sa chcete vrátiť na predchádzajúci zväzok, kliknite na tlačidlo Zrušiť. - V jednotke [2] nie je disk. Vložte disk a kliknite na tlačidlo Znova. Ak sa chcete vrátiť do dialógového okna pre prehľadávanie a vybrať iný zväzok, kliknite na tlačidlo Zrušiť. - Priečinok [2] neexistuje. Zadajte cestu k existujúcemu priečinku. - Nemáte dostatočné oprávnenia na čítanie tohto priečinka. - Nepodarilo sa určiť platný cieľový priečinok pre inštaláciu. - Chyba pri pokuse o čítanie zo zdrojovej inštalačnej databázy [2]. - Plánuje sa operácia reštartovania: názov súboru sa mení z [2] na [3]. Ak chcete dokončiť operáciu, musíte reštartovať počítač. - Plánuje sa operácia reštartovania: odstraňuje sa súbor [2]. Ak chcete dokončiť operáciu, musíte reštartovať počítač. - Nepodarilo sa zaregistrovať modul [2]. HRESULT [3]. Obráťte sa na pracovníkov technickej podpory. - Nepodarilo sa zrušiť registráciu modulu [2]. HRESULT [3]. Obráťte sa na pracovníkov technickej podpory. - Uloženie balíka [2] do vyrovnávacej pamäte zlyhalo. Chyba: [3]. Obráťte sa na pracovníkov technickej podpory. - Písmo [2] nemožno zaregistrovať. Overte, či máte dostatočné povolenia na inštaláciu písiem a či systém podporuje toto písmo. - Nepodarilo sa zrušiť registráciu písma [2]. Overte, či máte dostatočné povolenia na odstraňovanie písiem. - Odkaz [2] nemožno vytvoriť. Overte, či cieľový priečinok existuje a či k nemu máte prístup. - Odkaz [2] nemožno odstrániť. Overte, či súbor odkazu existuje a či k nemu máte prístup. - Nepodarilo sa zaregistrovať knižnicu typov pre súbor [2]. Obráťte sa na pracovníkov technickej podpory. - Nepodarilo sa zrušiť registráciu knižnice typov pre súbor [2]. Obráťte sa na pracovníkov technickej podpory. - Súbor INI [2][3] sa nepodarilo aktualizovať. Overte, či súbor existuje a či k nemu máte prístup. - Nahradenie súboru [3] súborom [2] pri reštartovaní sa nepodarilo naplánovať. Overte, či máte povolenia na zápis do súboru [3]. - Pri odstraňovaní správcu ovládačov ODBC sa vyskytla chyba ODBC [2]: [3]. Obráťte sa na pracovníkov technickej podpory. - Pri inštalácii správcu ovládačov ODBC sa vyskytla chyba ODBC [2]: [3]. Obráťte sa na pracovníkov technickej podpory. - Pri odstraňovaní ovládača ODBC [4] sa vyskytla chyba ODBC [2]: [3]. Overte, či máte dostatočné oprávnenia na odstraňovanie ovládačov ODBC. - Pri inštalácii ovládača ODBC [4] sa vyskytla chyba ODBC [2]: [3]. Overte, či súbor [4] existuje a či k nemu máte prístup. - Pri konfigurácii zdroja údajov ODBC [4] sa vyskytla chyba ODBC [2]: [3]. Overte, či súbor [4] existuje a či k nemu máte prístup. - Službu [2] ([3]) sa nepodarilo spustiť. Overte, či máte dostatočné oprávnenia na spustenie systémových služieb. - Službu [2] ([3]) sa nepodarilo zastaviť. Overte, či máte dostatočné oprávnenia na zastavenie systémových služieb. - Službu [2] ([3]) sa nepodarilo odstrániť. Overte, či máte dostatočné oprávnenia na odstraňovanie systémových služieb. - Službu [2] ([3]) sa nepodarilo nainštalovať. Overte, či máte dostatočné oprávnenia na inštaláciu systémových služieb. - Premennú prostredia [2] sa nepodarilo aktualizovať. Overte, či máte dostatočné oprávnenia na zmenu premenných prostredia. - Nemáte dostatočné oprávnenia na dokončenie inštalácie pre všetkých používateľov tohto počítača. Prihláste sa ako správca a zopakujte túto inštaláciu. - Nepodarilo sa nastaviť zabezpečenie súboru [3]. Chyba: [2]. Overte, či máte dostatočné oprávnenia na zmenu povolení zabezpečenia pre tento súbor. - V tomto počítači nie sú nainštalované služby súčastí (COM+ 1.0), ktoré sa požadujú na úspešné dokončenie inštalácie. Služby súčastí sú k dispozícii v systéme Windows 2000. - Chyba pri registrácii aplikácie COM+. Ďalšie informácie vám poskytnú pracovníci technickej podpory. - Chyba pri rušení registrácie aplikácie COM+. Ďalšie informácie vám poskytnú pracovníci technickej podpory. - Popis služby [2] ([3]) nemožno zmeniť. - Služba Inštalátora systému Windows nemôže aktualizovať systémový súbor [2], pretože je chránený systémom Windows. Pravdepodobne budete musieť aktualizovať operačný systém, aby tento program správne pracoval. {{Verzia balíka: [3], verzia chránená operačným systémom: [4]}} - Služba Inštalátora systému Windows nemôže aktualizovať chránený súbor [2] systému Windows. {{Verzia balíka: [3], verzia chránená operačným systémom: [4], chyba SFP: [5]}} - Služba Inštalátora systému Windows nemôže aktualizovať niektoré chránené súbory systému Windows. {{Chyba SFP: [2]. Zoznam chránených súborov:\r\n[3]}} - Používateľské inštalácie sú zakázané politikou v počítači. - Počas inštalácie zostavy [6] sa vyskytla chyba. Ďalšie informácie nájdete v časti Pomoc a technická podpora. HRESULT: [3]. {{Rozhranie zostavy: [4], funkcia: [5], súčasť: [2]}} - Počas inštalácie zostavy [6] sa vyskytla chyba. Zostava nemá silný názov alebo na jej podpísanie nebol použitý kľúč s požadovanou minimálnou dĺžkou. HRESULT: [3]. {{Rozhranie zostavy: [4], funkcia: [5], súčasť: [2]}} - Počas inštalácie zostavy [6] sa vyskytla chyba. Podpis alebo katalóg sa nepodarilo overiť alebo nie je platný. HRESULT: [3]. {{Rozhranie zostavy: [4], funkcia: [5], súčasť: [2]}} - Počas inštalácie zostavy [6] sa vyskytla chyba. Nenašli sa niektoré moduly zostavy. HRESULT: [3]. {{Rozhranie zostavy: [4], funkcia: [5], súčasť: [2]}} - - B - GB - kB - MB - Celá súčasť bude nedostupná - Súčasť sa nainštaluje v prípade potreby - Celá súčasť sa nainštaluje na spúšťanie z disku CD - Celá súčasť sa nainštaluje na lokálny pevný disk - Celá súčasť sa nainštaluje na spúšťanie zo siete - Nainštaluje sa na spúšťanie z disku CD - Nainštaluje sa na lokálny pevný disk - Nainštaluje sa na spúšťanie zo siete - Priečinok|Nový priečinok - Zhromažďujú sa požadované informácie... - Táto súčasť zostane nenainštalovaná - Táto súčasť sa nainštaluje v prípade potreby - Táto súčasť sa nainštaluje na spúšťanie z disku CD - Táto súčasť sa nainštaluje na lokálny pevný disk - Táto súčasť sa nainštaluje na spúšťanie zo siete - Táto súčasť nebude k dispozícii - Nainštaluje sa v prípade potreby - Táto súčasť sa bude spúšťať z disku CD - Táto súčasť sa nainštaluje na lokálny pevný disk - Táto súčasť sa bude spúšťať zo siete - Táto súčasť sa úplne odinštaluje a nebudete ju môcť spúšťať z disku CD - Táto súčasť sa už nebude spúšťať z disku CD, ale sa nainštaluje v prípade potreby - Táto súčasť sa bude dať spúšťať z disku CD - Táto súčasť sa už nebude spúšťať z disku CD, ale sa nainštaluje na lokálny pevný disk - Táto súčasť uvoľní [1] na pevnom disku. - Táto súčasť vyžaduje [1] na pevnom disku. - Kompilujú sa údaje o prostriedkoch požadovaných pre túto súčasť... - Táto súčasť sa úplne odstráni - Táto súčasť sa odstráni z lokálneho pevného disku, v prípade potreby sa však nainštaluje - Táto súčasť sa odstráni z lokálneho pevného disku, ale bude sa dať spúšťať z disku CD - Táto súčasť zostane na lokálnom pevnom disku - Táto súčasť sa odstráni z lokálneho pevného disku, ale bude sa dať spúšťať zo siete - Táto súčasť sa úplne odinštaluje a nebudete ju môcť spúšťať zo siete - Táto súčasť sa už nebude spúšťať zo siete, v prípade potreby sa však nainštaluje - Táto súčasť sa už nebude spúšťať zo siete, ale sa nainštaluje na lokálny pevný disk - Táto súčasť sa bude dať spúšťať zo siete - Táto súčasť uvoľní [1] na pevnom disku. Obsahuje [2] z [3] vybratých vedľajších súčastí. Vedľajšie súčasti uvoľnia [4] na pevnom disku. - Táto súčasť uvoľní [1] na pevnom disku. Obsahuje [2] z [3] vybratých vedľajších súčastí. Vedľajšie súčasti vyžadujú [4] na pevnom disku. - Táto súčasť vyžaduje [1] na pevnom disku. Obsahuje [2] z [3] vybratých vedľajších súčastí. Vedľajšie súčasti uvoľnia [4] na pevnom disku. - Táto súčasť vyžaduje [1] na pevnom disku. Obsahuje [2] z [3] vybratých vedľajších súčastí. Vedľajšie súčasti vyžadujú [4] na pevnom disku. - Zostávajúci čas: {[1] min. }{[2] s} - K dispozícii - Rozdiel - Požadované - Veľkosť disku - Zväzok - diff --git a/Src/Localization/WixUI/WixUI_sl-SI.wxl b/Src/Localization/WixUI/WixUI_sl-SI.wxl deleted file mode 100644 index 4c54fb6..0000000 --- a/Src/Localization/WixUI/WixUI_sl-SI.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Nazaj - &Naprej - Prekliči - &Dokončaj - &Poskusi znova - &Prezri - &Da - &Ne - V redu - &Natisni - - Namestitev programa [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Preberite licenčno pogodbo za [ProductName] - Sprejmem &pogoje licenčne pogodbe - Kliknite »Namesti«, da namestite izdelek s privzetimi možnostmi za vse uporabnike. Kliknite »Dodatno«, če želite spremeniti možnosti namestitve. - Kliknite »Namesti«, da namestite izdelek s privzetimi možnostmi le zase. Kliknite »Dodatno«, če želite spremeniti možnosti namestitve. - &Namesti - D&odatno - 8 - 12 - 9 - 8 - Tahoma - - Namestitev programa [ProductName] - &Išči v: - WixUI_Bmp_Up - V nadrejeno mapo - WixUI_Bmp_New - Ustvari novo mapo - &Ime mape: - WixUI_Bmp_Banner - Prebrskajte do ciljne mape - {\WixUI_Font_Title}Spremeni ciljno mapo - - Namestitev programa [ProductName] - Ali ste prepričani, da želite preklicati namestitev programa [ProductName]? - WixUI_Ico_Info - Ikona informacij - - Namestitev programa [ProductName] - Drevo z izbirami - Preb&rskaj ... - Po&nastavi - Uporaba disk&a - WixUI_Bmp_Banner - Kliknite ikone v spodnji drevesni strukturi, da spremenite način namestitve funkcij. - Izberite način namestitve funkcij. - {\WixUI_Font_Title}Namestitev po meri - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Lokacija: - - Namestitev programa [ProductName] - WixUI_Bmp_Banner - Za označene nosilce ni na voljo dovolj prostora na disku za izbrane funkcije. Z označenih nosilcev lahko odstranite nekatere datoteke ali nanje namestite manj funkcij ali pa izberete druge pogone. - Prostor na disku, ki ga potrebujete za namestitev izbranih funkcij. - {\WixUI_Font_Title}Potreben prostor na disku - {120}{70}{70}{70}{70} - - Namestitev programa [ProductName] - Besedilo z informacijami - WixUI_Ico_Info - Ikona informacij - - Namestitev programa [ProductName] - WixUI_Bmp_Dialog - Če želite zapreti čarovnika za namestitev, kliknite gumb »Dokončaj«. - {\WixUI_Font_Bigger}Čarovnik za namestitev programa [ProductName] je dokončan - - Namestitev programa [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Čarovnik za namestitev programa [ProductName] se je predčasno končal - Čarovnik za namestitev programa [ProductName] se je zaradi napake predčasno končal. Sistem ni bil spremenjen. Če želite program namestiti pozneje, znova zaženite čarovnika za namestitev. - Če želite zapreti čarovnika za namestitev, kliknite gumb »Dokončaj«. - - Namestitev programa [ProductName] - Funkcije izdelka - WixUI_Bmp_Banner - Izberite način namestitve funkcij. - {\WixUI_Font_Title}Funkcije izdelka - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Namesti - &Spremeni - - Namestitev programa [ProductName] - I&zhod - WixUI_Bmp_Banner - Te programi uporabljajo datoteke, ki jih je treba posodobiti pri tej namestitvi. Zaprite te programe in nato kliknite »&Poskusi znova«, da nadaljujete z namestitvijo, ali »Izhod«, če jo želite zapreti. - Nekatere datoteke, ki jih je treba posodobiti, so trenutno v uporabi. - {\WixUI_Font_Title}Datoteke v uporabi - - Namestitev programa [ProductName] - &Spremeni... - {\WixUI_Font_Title}Ciljna mapa - Kliknite »Naprej«, da izvedete namestitev v privzeto mapo ali kliknite »Spremeni«, če želite izbrati drugo mapo. - WixUI_Bmp_Banner - Namesti [ProductName] v: - - Namestitev programa [ProductName] - WixUI_Bmp_Banner - Izberite obseg namestitve in mapo - {\WixUI_Font_Title}Obseg namestitve - {\WixUI_Font_Emphasized}Namestitev &le za osebo ([LogonUser]) - [ProductName] bo nameščen v mapo za posameznega uporabnika in bo na voljo le za vaš uporabniški račun. Ne potrebujete lokalnih skrbniških pravic. - [ProductName] ne podpira namestitve za posamezne uporabnike. - {\WixUI_Font_Emphasized}Namesti za vse uporabnike tega &računalnika - [ProductName] bo privzeto nameščen v mapo za računalnike in bo na voljo vsem uporabnikom. Privzeto mapo namestitve lahko spremenite. Potrebujete lokalne skrbniške pravice. - Namestitvena &mapa: - &Spremeni... - - Namestitev programa [ProductName] - Namestitveni imenik mora biti na lokalnem trdem disku. - WixUI_Ico_Info - Ikona informacij - - Namestitev programa [ProductName] - Sprejmem &pogoje licenčne pogodbe - WixUI_Bmp_Banner - Pozorno preberite to licenčno pogodbo - {\WixUI_Font_Title}Licenčna pogodba za končnega uporabnika - - Namestitev programa [ProductName] - &Spremeni - Spremeni namestitev - Po&pravi - Popravi namestitev - &Odstrani - Odstrani namestitev - WixUI_Bmp_Banner - Izberite postopek, ki ga želite izvesti. - {\WixUI_Font_Title}Spreminjanje, popravljanje ali odstranjevanje namestitve - Omogoča spreminjanje načina namestitve funkcij. - [ProductName] nima funkcij, ki bi jih bilo mogoče izbirati neodvisno. - Odstrani program [ProductName] iz računalnika. - Programa [ProductName] ni mogoče odstraniti. - Odpravi napake pri nedavni namestitvi, tako da popravi manjkajoče in poškodovane datoteke, bližnjice in vnose v register. - Programa [ProductName] ni mogoče popraviti. - - Namestitev programa [ProductName] - WixUI_Bmp_Dialog - S čarovnikom za namestitev lahko spremenite način namestitve funkcij programa [ProductName] v računalnik ali jih odstranite iz računalnika. Če želite nadaljevati, kliknite »Naprej« ali »Prekliči«, če želite zapreti čarovnika za namestitev. - {\WixUI_Font_Bigger}Dobrodošli v čarovniku za namestitev programa [ProductName] - - Namestitev programa [ProductName] - WixUI_Bmp_Banner - Navedeni programi uporabljajo datoteke, ki jih je med to namestitvijo treba posodobiti. Lahko jih zaprete s čarovnikom za namestitev in jih pozneje poskusite znova zagnati ali pa znova zaženete računalnik pozneje. - Nekatere datoteke, ki jih je treba posodobiti, so trenutno v uporabi. - {\WixUI_Font_Title}Datoteke v uporabi - &Zapri programe in jih poskusi znova zagnati. - &Ne zapri programov. Računalnik bo treba zagnati znova. - - Namestitev programa [ProductName] - WixUI_Bmp_Banner - Na označenih nosilcih ni na voljo dovolj prostora za trenutno izbrane funkcije. Z označenih nosilcev lahko odstranite nekatere datoteke, namestite manj funkcij ali izberite drugi ciljni pogon. - Prostor, ki je potreben za namestitev, presega prostor, ki je na voljo na disku. - {\WixUI_Font_Title}Zmanjkalo je prostora na disku - {120}{70}{70}{70}{70} - - Namestitev programa [ProductName] - WixUI_Bmp_Banner - Na označenih nosilcih ni na voljo dovolj prostora za trenutno izbrane funkcije. Z označenih nosilcev lahko odstranite nekatere datoteke, namestite manj funkcij ali izberite drugi ciljni pogon. - Prostor, ki je potreben za namestitev, presega prostor, ki je na voljo na disku. - {\WixUI_Font_Title}Zmanjkalo je prostora na disku - {120}{70}{70}{70}{70} - Lahko tudi onemogočite funkcijo razveljavitve namestitvenega programa. Če onemogočite razveljavitev, namestitvenemu programu preprečite obnovitev prvotnega stanja vašega računalnika, če bi prišlo do kakršne koli prekinitve med namestitvijo. Kliknite »Da«, če želite kljub temu onemogočiti razveljavitev. - - Namestitev programa [ProductName] - WixUI_Bmp_Dialog - Počakajte, da se čarovnik za namestitev pripravi za vodenje po namestitvi. - {\WixUI_Font_Bigger}Dobrodošli v čarovniku za namestitev programa [ProductName] - - Namestitev programa [ProductName] - WixUI_Bmp_Banner - Počakajte, da čarovnik za namestitev namesti program [ProductName]. - {\WixUI_Font_Title}Namestitev programa [ProductName] - Počakajte, da čarovnik za namestitev spremeni program [ProductName]. - {\WixUI_Font_Title}Spreminjanje programa [ProductName] - Počakajte, da čarovnik za namestitev popravi program [ProductName]. - {\WixUI_Font_Title}Popravljanje programa [ProductName] - Počakajte, da čarovnik za namestitev odstrani program [ProductName]. - {\WixUI_Font_Title}Odstranjevanje programa [ProductName] - Počakajte, da čarovnik za namestitev posodobi program [ProductName]. - {\WixUI_Font_Title}Posodabljanje programa [ProductName] - Dokončano - Stanje: - - Namestitev programa [ProductName] - &Namesti - WixUI_Bmp_Dialog - Čarovnik za namestitev bo dokončal namestitev programa [ProductName] v računalnik. Če želite nadaljevati, kliknite »Namesti« ali »Prekliči«, če želite zapreti čarovnika za namestitev. - {\WixUI_Font_Bigger}Nadaljevanje izvajanja čarovnika za namestitev programa [ProductName] - - Namestitev programa [ProductName] - &Običajna - Običajna namestitev - P&o meri - Namestitev po meri - P&opolna namestitev - Popolna namestitev - WixUI_Bmp_Banner - {\WixUI_Font_Title}Izbira vrste namestitve - Izberite vrsto namestitve, ki najbolj ustrezna vašim potrebam - Namesti najbolj običajne funkcije programa. Priporočeno za večino uporabnikov. - Uporabniku omogoča, da izbere, katere funkcije programa bodo nameščene in kam bodo nameščene. Priporočeno za izkušene uporabnike. - Nameščene bodo vse funkcije programa. Potrebujete največ prostora na disku. - - Namestitev programa [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Čarovnik za namestitev programa [ProductName] je bil prekinjen - Namestitev programa [ProductName] je bila prekinjena. Sistem ni bil spremenjen. Če želite ta program namestiti pozneje, znova zaženite namestitev. - Če želite zapreti čarovnika za namestitev, kliknite gumb »Dokončaj«. - - Namestitev programa [ProductName] - WixUI_Bmp_Banner - &Namesti - Kliknite »Namesti«, če želite začeti namestitev. Kliknite »Nazaj«, če želite pregledati ali spremeniti nastavitve namestitve. Kliknite »Prekliči«, če želite zapreti čarovnika. - {\WixUI_Font_Title}Pripravljen na namestitev programa [ProductName] - &Spremeni - Kliknite »Spremeni«, če želite začeti namestitev. Kliknite »Nazaj«, če želite pregledati ali spremeniti nastavitve namestitve. Kliknite »Prekliči«, če želite zapreti čarovnika. - {\WixUI_Font_Title}Pripravljen na spreminjanje programa [ProductName] - Po&pravi - Kliknite »Popravi«, če želite popraviti namestitev programa [ProductName]. Kliknite »Nazaj«, če želite pregledati ali spremeniti nastavitve namestitve. Kliknite »Prekliči«, če želite zapreti čarovnika. - {\WixUI_Font_Title}Pripravljen na popravljanje programa [ProductName] - &Odstrani - Kliknite »Odstrani«, če želite odstraniti program [ProductName] iz računalnika. Kliknite »Nazaj«, če želite pregledati ali spremeniti nastavitve namestitve. Kliknite »Prekliči«, če želite zapreti čarovnika. - {\WixUI_Font_Title}Pripravljen na odstranjevanje programa [ProductName] - &Posodobitev - Kliknite »Posodobi«, da posodobite [ProductName] v računalniku. Kliknite »Nazaj«, če želite pregledati ali spremeniti katero koli nastavitev namestitve. Kliknite »Prekliči«, če želite zapreti čarovnika. - {\WixUI_Font_Title}Pripravljen na posodobitev programa [ProductName] - - Namestitev programa [ProductName] - &Vrni - Počakajte, da namestitveni program ugotovi, koliko prostora na disku bo potrebno. - WixUI_Ico_Exclam - Ikona klicaja - - Namestitev programa [ProductName] - WixUI_Bmp_Dialog - Čarovnik za namestitev bo v računalnik namestil [ProductName]. Kliknite »Naprej« za nadaljevanje ali »Prekliči« za izhod iz čarovnika za namestitev. - Čarovnik za namestitev bo posodobil [ProductName] v računalniku. Kliknite »Naprej«, če želite nadaljevati ali »Prekliči«, če želite zapreti čarovnika za namestitev. - {\WixUI_Font_Bigger}Dobrodošli v čarovniku za namestitev programa [ProductName] - - Namestitev programa [ProductName] - WixUI_Bmp_Dialog - Sprejmem &pogoje licenčne pogodbe - &Namesti - &Posodobitev - {\WixUI_Font_Title}Preberite licenčno pogodbo za [ProductName] - - Preverjanje namestitve - Kopiranje novih datotek - Datoteka: [1], Imenik: [9], Velikost: [6] - Kopiranje datotek omrežne namestitve - Datoteka: [1], Imenik: [9], Velikost: [6] - Izračunavanje prostorskih zahtev - Izračunavanje prostorskih zahtev - Izračunavanje prostorskih zahtev - Ustvarjanje bližnjic - Bližnjica: [1] - Objavljanje kvalificiranih komponent - ID komponente: [1], kvalifikator: [2] - Objavljanje funkcij izdelka - Funkcija: [1] - Objavljanje informacij o izdelku - Registracija strežnikov razreda - ID strežnika razreda: [1] - Registracija razširitvenih strežnikov - Razširitev: [1] - Registracija informacij MIME - Vrsta vsebine MIME: [1], Razširitev: [2] - Registracija identifikatorjev programa - IDProg: [1] - Dodeljevanje prostora v registru - Nezasedeni prostor: [1] - Iskanje nameščenih programov - Lastnost: [1], Podpis: [2] - Povezovanje izvedljivih datotek - Datoteka: [1] - Iskanje ustreznih izdelkov - Ustvarjanje map - Mapa: [1] - Brisanje storitev - Storitev: [1] - Ustvarjanje podvojenih datotek - Datoteka: [1], Imenik: [9], Velikost: [6] - Iskanje sorodnih programov - Najdeni program: [1] - Nameščanje komponent ODBC - Nameščanje novih storitev - Storitev: [2] - Ocenjevanje pogojev zagona - Selitev stanj funkcij iz sorodnih programov - Program: [1] - Premikanje datotek - Datoteka: [1], Imenik: [9], Velikost: [6] - Nameščanje popravka za datoteke - Datoteka: [1], Imenik: [2], Velikost: [3] - Posodabljanje registracije komponente - Registracija programov in komponent COM+ - IDProg: [1]{{, VrstaProg: [2], Uporabniki: [3], RSN: [4]}} - Registracija pisav - Pisava: [1] - Registracija izdelka - [1] - Registracija knjižnic tipov - IDKnjiž: [1] - Registracija uporabnikov - [1] - Odstranjevanje podvojenih datotek - Datoteka: [1], Imenik: [9] - Posodabljanje nizov okolja - Ime: [1], Vrednost: [2], Dejanje [3] - Odstranjevanje programov - Program: [1], Ukazna vrstica: [2] - Odstranjevanje datotek - Datoteka: [1], Imenik: [9] - Odstranjevanje map - Mapa: [1] - Odstranjevanje vnosov v datoteke INI - Datoteka: [1], Odsek: [2], Ključ: [3], Vrednost: [4] - Odstranjevanje komponent ODBC - Odstranjevanje vrednosti sistemskega registra - Ključ: [1], Ime: [2] - Odstranjevanje bližnjic - Bližnjica: [1] - Iskanje ustreznih izdelkov - Registracija modulov - Datoteka: [1], Mapa: [2] - Preklic registracije modulov - Datoteka: [1], Mapa: [2] - Inicializiranje imenikov ODBC - Zagon storitev - Storitev: [1] - Ustavljanje storitev - Storitev: [1] - Odjavljanje kvalificiranih komponent - ID komponente: [1], kvalifikator: [2] - Odjavljanje funkcij izdelka - Funkcija: [1] - Preklic registracije strežnikov razreda - ID strežnika razreda: [1] - Preklic registracije programov in komponent COM+ - IDProg: [1]{{, VrstaProg: [2]}} - Preklic registracije razširitvenih strežnikov - Razširitev: [1] - Preklic registracije pisav - Pisava: [1] - Preklic registracije informacij MIME - Vrsta vsebine MIME: [1], Razširitev: [2] - Preklic registracije identifikatorjev programa - IDProg: [1] - Preklic registracije knjižnic tipov - IDKnjiž: [1] - Posodabljanje nizov okolja - Ime: [1], Vrednost: [2], Dejanje [3] - Pisanje vrednosti datotek INI - Datoteka: [1], Odsek: [2], Ključ: [3], Vrednost: [4] - Pisanje vrednosti sistemskega registra - Ključ: [1], Ime: [2], Vrednost: [3] - Oglaševanje programa - Ustvarjanje skriptnih postopkov za dejanje: - [1] - Nameščanje sistemskega kataloga - Datoteka: [1], Odvisnosti: [2] - Objavljanje informacij zbirnika - Kontekst programa:[1], Ime zbirnika:[2] - Preklic objavljanja informacij zbirnika - Kontekst programa:[1], Ime zbirnika:[2] - Razveljavljanje dejanja: - [1] - Odstranjevanje varnostnih kopij datotek - Datoteka: [1] - Odstranjevanje premaknjenih datotek - Datoteka: [1], Imenik: [9] - Preklic objavljanja informacij o izdelku - - {{Usodna napaka: }} - {{Napaka [1]. }} - Opozorilo [1]. - Informacije [1]. - Namestitveni program je pri nameščanju programske opreme naletel na nepričakovano napako. To je lahko znak težave s tem paketom. Koda napake je [1]. {{Argumenti so: [2], [3], [4]}} - {{Disk je poln: }} - Dejanje [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Vrsta sporočila: [1], Argument: [2] - === Začetek pisanja dnevnika: [Date] [Time] === - === Konec pisanja dnevnika: [Date] [Time] === - Začetek dejanja [Time]: [1]. - Konec dejanja [Time]: [1]. Vrnjena vrednost [2]. - Preostali čas: {[1] min. }{[2] s} - Ni dovolj pomnilnika. Zaprite druge programe in nato poskusite znova. - Namestitveni program se ne odziva več. - Namestitveni program se je predčasno prekinil. - Počakajte, da Windows konfigurira [ProductName] - Zbiranje potrebnih informacij ... - Odstranjevanje starejših različic tega programa ... - Priprava na odstranjevanje starejših različic tega programa ... - Namestitev programa {[ProductName] }se je uspešno dokončala. - Namestitev programa {[ProductName] }ni uspela. - Prišlo je do napake pri branju iz datoteke. [2]. {{ Sistemska napaka [3].}} Preverite, ali datoteka obstaja in ali imate dostop do nje. - Datoteke »[2]« ni mogoče ustvariti. Imenik s tem imenom že obstaja. Prekličite namestitev in jo poskusite izvesti na drugo mesto. - Vstavite disk: [2] - Namestitveni program nima ustreznih pravic za dostop do tega imenika: [2]. Namestitev se ne more nadaljevati. Prijavite se kot skrbnik ali pa se obrnite na skrbnika sistema. - Prišlo je do napake pri pisanju v datoteko: [2]. Preverite, ali imate dostop do tega imenika. - Prišlo je do napake pri branju iz datoteke [2]. {{ Sistemska napaka [3].}} Preverite, ali datoteka obstaja in ali imate dostop do nje. - Drug program ima izključni dostop do datoteke »[2]«. Zaprite vse druge programe in kliknite »Poskusi znova«. - Na disku ni dovolj prostora za namestitev te datoteke: [2]. Sprostite nekaj prostora na disku in kliknite »Poskusi znova« ali kliknite »Prekliči«, če želite preklicati namestitev. - Ni bilo mogoče najti izvorne datoteke: [2]. Preverite, ali datoteka obstaja in ali imate dostop do nje. - Prišlo je do napake pri branju iz datoteke: [3]. {{ Sistemska napaka [2].}} Preverite, ali datoteka obstaja in ali imate dostop do nje. - Prišlo je do napake pri pisanju v datoteko: [3]. {{ Sistemska napaka [2].}} Preverite, ali imate dostop do tega imenika. - Ni bilo mogoče najti izvorne datoteke{{(cabinet)}}: [2]. Preverite, ali datoteka obstaja in ali imate dostop do nje. - Imenika »[2]« ni mogoče ustvariti. Datoteka s tem imenom že obstaja. Preimenujte jo ali pa datoteko odstranite in kliknite »Poskusi znova«. Če želite prekiniti postopek, kliknite »Prekliči«. - Nosilec [2] trenutno ni na voljo. Izberite drugega. - Navedena pot »[2]« ni na voljo. - Ni mogoče pisati v navedeno mapo: [2]. - Prišlo je do napake omrežja pri poskusu branja datoteke: [2] - Prišlo je do napake pri poskusu ustvarjanja imenika: [2] - Prišlo je do napake omrežja pri poskusu ustvarjanja imenika: [2] - Prišlo je do napake omrežja pri poskusu odpiranja izvorne kabinetne datoteke: [2] - Navedena pot je predolga: [2] - Namestitveni program nima ustreznih pravic za spreminjanje te datoteke: [2]. - Del poti mape »[2]« ni veljaven. Pot je prazna ali pa presega dolžino, ki jo dovoljuje sistem. - Pot mape »[2]« vsebuje besede, ki v poteh niso veljavne. - Pot do mape »[2]« vsebuje neveljaven znak. - »[2]« ni veljavno kratko ime datoteke. - Prišlo je do napake pri pridobivanju podatkov o zaščiti datoteke: [3] GetLastError: [2] - Neveljaven pogon: [2] - Pri uporabi popravka za datoteko [2] je prišlo do napake. Verjetno ste jo posodobili z drugimi sredstvi, tako da je ne morete spremeniti s tem popravkom. Če želite več informacij, se obrnite na dobavitelja popravka. {{Sistemska napaka: [3]}} - Zahtevane datoteke ni mogoče namestiti, ker kabinetna datoteka [2] ni digitalno podpisana. To morda kaže na to, da je kabinetna datoteka poškodovana. - Zahtevane datoteke ni mogoče namestiti, ker kabinetna datoteka [2] nima veljavnega digitalnega podpisa. To morda kaže na to, da je kabinetna datoteka poškodovana.{{ WinVerifyTrust je vrnil napako [3].}} - Datoteke [2] ni bilo mogoče pravilno kopirati: napaka CRC. - Datoteke [2] ni bilo mogoče pravilno premakniti: napaka CRC. - Datoteke [2] ni bilo mogoče pravilno popraviti: napaka CRC. - Datoteke »[2]« ni mogoče namestiti, ker je ni mogoče najti v kabinetni datoteki »[3]«. To lahko kaže na napako v omrežju, napako pri branju s CD-ROM-a ali na težavo s tem paketom. - Kabinetna datoteka »[2]«, ki jo potrebujete za to namestitev, je poškodovana in je ne morete uporabiti. To lahko kaže na napako v omrežju, napako pri branju s CD-ROM-a ali na težavo s tem paketom. - Prišlo je do napake pri ustvarjanju začasne datoteke, ki jo potrebujete za dokončanje te namestitve.{{ Mapa: [3]. Koda napake sistema [2]}} - Ni mogoče ustvariti ključa: [2]. {{ Sistemska napaka [3].}} Preverite, ali imate zadosten dostop do tega ključa, ali pa se obrnite na osebje za podporo. - Ni mogoče ustvariti ključa: [2]. {{ Sistemska napaka [3].}} Preverite, ali imate zadosten dostop do tega ključa, ali pa se obrnite na osebje za podporo. - Vrednosti [2] ni bilo mogoče izbrisati iz ključa [3]. {{ Sistemska napaka [4].}} Preverite, ali imate zadosten dostop do tega ključa, ali pa se obrnite na osebje za podporo. - Ključa [2] ni mogoče izbrisati. {{ Sistemska napaka [3].}} Preverite, ali imate zadosten dostop do tega ključa, ali pa se obrnite na osebje za podporo. - Vrednosti [2] ni bilo mogoče prebrati iz ključa [3]. {{ Sistemska napaka [4].}} Preverite, ali imate zadosten dostop do tega ključa, ali pa se obrnite na osebje za podporo. - Vrednosti [2] ni bilo mogoče zapisati v ključ [3]. {{ Sistemska napaka [4].}} Preverite, ali imate zadosten dostop do tega ključa, ali pa se obrnite na osebje za podporo. - Za ključ [2] ni bilo mogoče dobiti imen vrednosti. {{ Sistemska napaka [3].}} Preverite, ali imate zadosten dostop do tega ključa, ali pa se obrnite na osebje za podporo. - Za ključ [2] ni bilo mogoče dobiti imena podključev. {{ Sistemska napaka [3].}} Preverite, ali imate zadosten dostop do tega ključa, ali pa se obrnite na osebje za podporo. - Za ključ [2] ni bilo mogoče prebrati varnostnih informacij. {{ Sistemska napaka [3].}} Preverite, ali imate zadosten dostop do tega ključa, ali pa se obrnite na osebje za podporo. - Prostora, ki je na voljo za register, ni bilo mogoče povečati. Če želite namestiti ta program, mora biti v registru [2] KB nezasedenega prostora. - Izvaja se še ena namestitev. Preden nadaljujete to namestitev, morate dokončati prvo. - Pri dostopu do zavarovanih podatkov je prišlo do napake. Preverite, ali je Windows Installer pravilno konfiguriran, in nato poskusite znova zagnati namestitev. - Uporabnik »[2]« je prej že sprožil namestitev izdelka »[3]«. Omenjeni uporabnik bo moral znova zagnati namestitev, če bo želel uporabljati ta izdelek. Trenutna namestitev se bo nadaljevala. - Uporabnik »[2]« je prej že sprožil namestitev izdelka »[3]«. Omenjeni uporabnik bo moral znova zagnati namestitev, če bo želel uporabljati ta izdelek. - Zmanjkalo je prostora na disku – Nosilec: »[2]«; Potreben prostor: [3] KB; prostor na voljo: [4] KB. Sprostite nekaj prostora na disku in poskusite znova. - Ali ste prepričani, da ga želite preklicati? - Datoteko [2][3] uporablja{ ta proces: Ime: [4], ID: [5], Naslov okna: »[6]«}. Zaprite ta program in poskusite znova. - Izdelek »[2]« je že nameščen in preprečuje nameščanje tega izdelka. Izdelka nista združljiva. - Na nosilcu »[2]« ni dovolj prostora za nadaljevanje namestitve z omogočeno obnovitvijo. Potrebno je [3] KB, na voljo je le [4] KB. Kliknite »Prezri«, če želite nadaljevati namestitev, ne da bi shranili obnovitvene informacije; kliknite »Poskusi znova«, če želite znova preveriti, ali je na voljo prostor; kliknite »Prekliči«, če želite končati namestitev. - Dostop do omrežnega mesta [2] ni bil mogoč. - Preden nadaljujete namestitev, zaprite te programe: - Za namestitev tega izdelka v računalniku ni bilo mogoče najti prej nameščenih ustreznih izdelkov. - Med uveljavljanjem varnostnih nastavitev je prišlo do napake. [2] ni veljaven uporabnik ali skupina. Težava je lahko s paketom oz. z vzpostavljanjem povezave s kontrolnikom domene v omrežju. Preverite povezavo z omrežjem in kliknite »Poskusi znova« oz. »Prekliči«, če želite končati namestitev. {{Ni mogoče najti uporabnikov SID, sistemska napaka [3]}} - Ključ [2] ni veljaven. Preverite, ali ste vnesli pravi ključ, in poskusite znova. - Namestitveni program mora znova zagnati sistem, preden lahko nadaljuje konfiguracijo [2]. Kliknite »Da«, da sistem takoj zaženete znova, če pa želite to sami storiti pozneje, kliknite »Ne«. - Če želite uveljaviti spremembe v konfiguraciji za [2], znova zaženite računalnik. Kliknite »Da«, če želite računalnik znova zagnati zdaj, če pa želite to sami storiti pozneje, kliknite »Ne«. - Namestitev za [2] je trenutno ustavljena. Če želite nadaljevati, morate razveljaviti spremembe, ki jih je povzročila omenjena namestitev. Ali jih želite razveljaviti? - Prejšnja namestitev tega izdelka se še izvaja. Če želite nadaljevati, morate razveljaviti spremembe, ki jih je povzročila omenjena namestitev. Ali želite razveljaviti spremembe? - Namestitvenega paketa za izdelek [2] ni mogoče najti. Poskusite znova zagnati namestitev z uporabo veljavne kopije namestitvenega paketa »[3]«. - Namestitev je uspešno dokončana. - Namestitev ni uspela. - Izdelek: [2] -- [3] - Računalnik lahko povrnete v prejšnje stanje ali pa nadaljujete namestitev pozneje. Ali želite obnoviti prejšnje stanje? - Med zapisovanjem namestitvenih informacij na disk je prišlo do napake. Preverite, ali je na disku dovolj prostora, in kliknite »Poskusi znova«. Če želite namestitev prekiniti, kliknite »Prekliči«. - Ene ali več datotek, potrebnih za obnovitev prejšnjega stanja računalnika, ni bilo mogoče najti. Obnovitev ne bo mogoča. - [2] ne more namestiti enega od potrebnih izdelkov. Obrnite se na skupino za tehnično podporo. {{Sistemska napaka: [3].}} - Starejše različice [2] ni mogoče odstraniti. Obrnite se na skupino za tehnično podporo. {{ Sistemska napaka [3].}} - Nameščen [2] - Konfiguriran [2] - Odstranjen [2] - Pravilnik o digitalnem podpisu je zavrnil datoteko [2]. - Dostop do storitve Windows Installer ni mogoč. Do tega lahko pride, če se Windows izvaja v varnem načinu in če Windows Installer ni pravilno nameščen. Za pomoč se obrnite na osebje za podporo. - Ta paket programa Windows Installer povzroča težave. Skripte, potrebne za zaključitev namestitve, ni mogoče zagnati. Obrnite se na osebje za podporo ali prodajalca paketa. {{Prilagojeno dejanje [2] napaka skripte [3], [4]: [5] Vrstica [6], Stolpec [7], [8] }} - Ta paket programa Windows Installer povzroča težave. Programa, potrebnega za zaključitev namestitve, ni mogoče zagnati. Obrnite se na osebje za podporo ali prodajalca paketa. {{Dejanje: [2], Mesto: [3], Ukaz: [4] }} - Ta paket programa Windows Installer povzroča težave. Program, ki se izvaja kot del namestitve, se ni končal po pričakovanjih. Obrnite se na osebje za podporo ali prodajalca paketa. {{Dejanje [2], Mesto: [3], Ukaz: [4] }} - Ta paket programa Windows Installer povzroča težave. Datoteke DLL, ki je potrebna za dokončanje namestitve, ni mogoče zagnati. Obrnite se na osebje za podporo ali prodajalca paketa. {{Dejanje [2], Vnos: [3], Knjižnica: [4] }} - Odstranitev je uspešno dokončana. - Odstranitev ni uspela. - Oglaševanje je uspešno dokončano. - Oglaševanje ni uspelo. - Konfiguriranje je uspešno dokončano. - Konfiguriranje ni uspelo. - Če želite odstraniti ta program, morate biti skrbnik. Če želite odstraniti ta program, se prijavite kot skrbnik ali pa se za pomoč obrnite na skupino za tehnično podporo. - Izvorni namestitveni paket izdelka [2] ni sinhroniziran z odjemalskim paketom. Uporabite veljavno kopijo namestitvenega paketa »[3]« in izdelek poskusite znova namestiti. - Če želite dokončati namestitev [2], morate računalnik znova zagnati. V računalnik so trenutno prijavljeni tudi drugi uporabniki. Vnovični zagon lahko povzroči izgubo podatkov. Ali ste prepričani, da želite računalnik znova zagnati? - Pot [2] ni veljavna. Navedite veljavno pot. - Ni dovolj pomnilnika. Zaprite druge programe in nato poskusite znova. - V pogonu [2] ni diska. Vstavite disk in kliknite »Ponovi« ali pa kliknite »Prekliči«, če se želite vrniti na prej izbrani nosilec. - V pogonu [2] ni diska. Vstavite disk in kliknite »Ponovi« ali pa kliknite »Prekliči«, če se želite vrniti v pogovorno okno za brskanje in izbrati drug nosilec. - Mapa [2] ne obstaja. Vnesite pot do obstoječe mape. - Za branje te mape nimate ustreznih pravic. - Veljavne ciljne mape za namestitev ni bilo mogoče določiti. - Napaka pri poskusu branja iz izvirne namestitvene zbirke podatkov: [2]. - Razporejanje vnovičnega zagona: Preimenovanje datoteke [2] v [3]. Če želite dokončati postopek, znova zaženite računalnik. - Razporejanje vnovičnega zagona: brisanje datoteke [2]. Če želite dokončati postopek, znova zaženite računalnik. - Modula [2] ni bilo mogoče registrirati. HRESULT [3]. Obrnite se na osebje za podporo. - Registracije modula [2] ni bilo mogoče preklicati. HRESULT [3]. Obrnite se na osebje za podporo. - Predpomnjenje paketa [2] ni uspelo. Napaka: [3]. Obrnite se na osebje za podporo. - Pisave [2] ni mogoče registrirati. Preverite, ali imate ustrezna dovoljenja za namestitev pisav in ali sistem podpira to pisavo. - Pisave [2] ni bilo mogoče odstraniti iz registra. Preverite, ali imate ustrezna dovoljenja za odstranjevanje pisav. - Bližnjice [2] ni bilo mogoče ustvariti. Preverite, ali ciljna mapa obstaja in ali imate dostop do nje. - Bližnjice [2] ni bilo mogoče odstraniti. Preverite, ali datoteka z bližnjico obstaja in ali imate dostop do nje. - Za datoteko [2] ni bilo mogoče registrirati knjižnice tipov. Obrnite se na osebje za podporo. - Registracije knjižnice tipov za datoteko [2] ni bilo mogoče preklicati. Obrnite se na osebje za podporo. - Datoteke ini [2][3] ni mogoče posodobiti. Preverite, ali datoteka obstaja in ali imate dostop do nje. - Datoteke [2] ni bilo mogoče razporediti tako, da bi ob zagonu zamenjala datoteko [3]. Preverite, ali imate dovoljenje za pisanje v datoteko [3]. - Prišlo je do napake pri odstranjevanju upravitelja gonilnika ODBC, napaka ODBC [2]: [3]. Obrnite se na osebje za podporo. - Prišlo je do napake pri nameščanju upravitelja gonilnika ODBC, napaka ODBC [2]: [3]. Obrnite se na osebje za podporo. - Prišlo je do napake pri odstranjevanju gonilnika ODBC: [4], napaka ODBC [2]: [3]. Preverite, ali imate ustrezne pravice za odstranjevanje gonilnikov ODBC. - Prišlo je do napake pri nameščanju gonilnika ODBC: [4], napaka ODBC [2]: [3]. Preverite, ali datoteka [4] obstaja in ali imate dostop do nje. - Prišlo je do napake pri konfiguriranju vira podatkov ODBC: [4], napaka ODBC [2]: [3]. Preverite, ali datoteka [4] obstaja in ali imate dostop do nje. - Storitve »[2]« ([3]) ni bilo mogoče zagnati. Preverite, ali imate ustrezne pravice za zagon sistemskih storitev. - Storitve »[2]« ([3]) ni bilo mogoče zaustaviti. Preverite, ali imate ustrezne pravice za zaustavljanje sistemskih storitev. - Storitve »[2]« ([3]) ni bilo mogoče izbrisati. Preverite, ali imate ustrezne pravice za odstranjevanje sistemskih storitev. - Storitve »[2]« ([3]) ni bilo mogoče namestiti. Preverite, ali imate ustrezne pravice za nameščanje sistemskih storitev. - Spremenljivke okolja »[2]« ni bilo mogoče posodobiti. Preverite, ali imate ustrezne pravice za spreminjanje spremenljivk okolja. - Nimate ustreznih pravic za dokončanje te namestitve za vse uporabnike tega računalnika. Prijavite se kot skrbnik in nato ponovite namestitev. - Za datoteko »[3]« ni bilo mogoče nastaviti varnosti. Napaka: [2]. Preverite, ali imate ustrezne pravice za spreminjanje varnostnih dovoljenj te datoteke. - Storitve Component Services (COM+ 1.0) niso nameščene v tem računalniku, vendar jih za to namestitev potrebujete. Na voljo so v operacijskem sistemu Windows 2000. - Prišlo je do napake pri registraciji programa COM+. Če želite več informacij, se obrnite na osebje za podporo. - Prišlo je do napake pri odstranjevanju programa COM+ iz registra. Če želite več informacij, se obrnite na osebje za podporo. - Opisa za storitev »[2]« ([3]) ni bilo mogoče spremeniti. - Storitev Windows Installer ne more posodobiti sistemske datoteke [2], ker jo je operacijski sistem Windows zaščitil. Če želite omogočiti pravilno delovanja programa, boste morda morali posodobiti operacijski sistem. {{Različica paketa: [3], Zaščitena različica OS: [4]}} - Storitev Windows Installer ne more posodobiti datoteke [2], ker jo je operacijski sistem Windows zaščitil. {{Različica paketa: [3], Zaščitena različica OS: [4], Napaka SFP: [5]}} - Storitev Windows Installer ne omogoča posodobitve ene ali več zaščitenih datotek sistema Windows. {{SFP Error: [2]. List of protected files:\r\n[3]}} - Uporabniške namestitve onemogoča pravilnik v računalniku. - Prišlo je do napake med namestitvijo komponente zbira »[6]«. Za več informacij se obrnite na pomoč in podporo. HRESULT: [3]. {{zbirni vmesnik: [4], funkcija: [5], komponente: [2]}} - Prišlo je do napake med namestitvijo zbira »[6]«. Zbir ni močno poimenovan oz. ni podpisan z najkrajšo dolžino ključa. HRESULT: [3]. {{zbirni vmesnik: [4], funkcija: [5], komponenta: [2]}} - Prišlo je do napake med namestitvijo zbira »[6]«. Podpisa oz. kataloga ni bilo mogoče preveriti oz. ni veljaven. HRESULT: [3]. {{zbirni vmesnik: [4], funkcija: [5], komponenta: [2]}} - Prišlo je do napake med namestitvijo zbira »[6]«. Enega ali več modulov zbira ni bilo mogoče najti. HRESULT: [3]. {{zbirni vmesnik: [4], funkcija: [5], komponenta: [2]}} - - bajtov - GB - KB - MB - Celotna funkcija ne bo na voljo - Funkcija bo nameščena po potrebi - Celotna funkcija bo nameščena tako, da jo bo mogoče zagnati s CD-ja - Celotna funkcija bo nameščena na lokalni trdi disk - Celotna funkcija bo nameščena tako, da jo bo mogoče zagnati iz omrežja - Bo nameščena za zagon s CD-ja - Bo nameščena na lokalni disk - Bo nameščena za zagon iz omrežja - Mapa|Nova mapa - Zbiranje potrebnih informacij ... - Ta funkcija bo ostala nenameščena - Funkcija bo nastavljena tako, da bo nameščena po potrebi - Ta funkcija bo nameščena tako, da jo bo mogoče zagnati s CD-ja - Ta funkcija bo nameščena na lokalni trdi disk - Ta funkcija bo nameščena tako, da jo bo mogoče zagnati iz omrežja - Ta funkcija ne bo na voljo - Bo nameščena po potrebi - To funkcijo bo mogoče zagnati s CD-ja - Ta funkcija bo nameščena na lokalni trdi disk - To funkcijo bo mogoče zagnati iz omrežja - Ta funkcija bo popolnoma odstranjena in je tudi s CD-ja ne bo mogoče zagnati - Ta funkcija bo iz stanja zagona s CD-ja spremenjena na stanje namestitve po potrebi - To funkcijo bo še vedno mogoče zagnati s CD-ja - Te funkcije ne bo več mogoče zagnati s CD-ja, ker bo nameščena na lokalni trdi disk - Ta funkcija sprosti [1] prostora na trdem disku. - Za to funkcijo potrebujete [1] prostora na trdem disku. - Zbiranje zahtev za to funkcijo ... - Ta funkcija bo popolnoma odstranjena - Ta funkcija bo odstranjena z lokalnega trdega diska, vendar bo nastavljena tako, da bo nameščena po potrebi - Ta funkcija bo odstranjena z lokalnega trdega diska, vendar jo bo še vedno mogoče zagnati s CD-ja - Ta funkcija bo ostala na lokalnem trdem disku - Ta funkcija bo odstranjena z lokalnega trdega diska, vendar jo bo še vedno mogoče zagnati iz omrežja - Ta funkcija bo popolnoma odstranjena in je tudi iz omrežja ne bo mogoče zagnati - Funkcija bo iz stanja zagona iz omrežja spremenjena v stanje namestitve po potrebi - Te funkcije ne bo več mogoče zagnati iz omrežja, ker bo nameščena na lokalni trdi disk - To funkcijo bo še vedno mogoče zagnati iz omrežja - Ta funkcija sprosti [1] prostora na trdem disku. Izbrali ste [2] od [3] podfunkcij, ki sprostijo [4] prostora na trdem disku. - Ta funkcija sprosti [1] prostora na trdem disku. Izbrali ste [2] od [3] podfunkcij, ki potrebujejo [4] prostora na trdem disku. - Za to funkcijo potrebujete [1] prostora na trdem disku. Izbrali ste [2] od [3] podfunkcij, ki sprostijo [4] prostora na trdem disku. - Za to funkcijo potrebujete [1] prostora na trdem disku. Izbrali ste [2] od [3] podfunkcij, ki potrebujejo [4] prostora na trdem disku. - Preostali čas: {[1] min. }{[2] s} - Na voljo - Razlika - Zahtevano - Velikost diska - Nosilec - diff --git a/Src/Localization/WixUI/WixUI_sr-Latn-CS.wxl b/Src/Localization/WixUI/WixUI_sr-Latn-CS.wxl deleted file mode 100644 index c9bc935..0000000 --- a/Src/Localization/WixUI/WixUI_sr-Latn-CS.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Nazad - &Dalje - Otkaži - &Završi - &Pokušaj opet - Zanemar&i - &Da - &Ne - U redu - Odštam&paj - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Pročitajte ugovor o licenciranju za [ProductName] - Prihv&atam uslove navedene u ugovoru o licenciranju - Kliknite na dugme „Instaliraj“ da biste instalirali proizvod sa podrazumevanim opcijama za sve korisnike. Kliknite na dugme „Više opcija“ da biste promenili opcije instalacije. - Kliknite na dugme „Instaliraj“ da biste instalirali proizvod sa podrazumevanim opcijama samo za sebe. Kliknite na dugme „Više opcija“ da biste promenili opcije instalacije. - &Instaliraj - V&iše opcija - 8 - 12 - 9 - 8 - Tahoma - - Instalacija programa [ProductName] - &Pogledaj u: - WixUI_Bmp_Up - Nagore za jedan nivo - WixUI_Bmp_New - Kreirajte novu fasciklu - Ime &fascikle: - WixUI_Bmp_Banner - Potražite odredišnu fasciklu - {\WixUI_Font_Title}Promena odredišne fascikle - - Instalacija programa [ProductName] - Želite li zaista da otkažete instalaciju proizvoda [ProductName]? - WixUI_Ico_Info - Ikona informacija - - Instalacija programa [ProductName] - Stablo izbora - P&otraži… - U&spostavi početne vrednosti - &Upotreba diska - WixUI_Bmp_Banner - Kliknite na ikone u okviru stabla ispod da biste promenili način na koji će funkcije biti instalirane. - Izaberite način na koji želite da instalirate funkcije. - {\WixUI_Font_Title}Prilagođena instalacija - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Lokacija: - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Na markiranim volumenima nema dovoljno dostupnog prostora za izabrane funkcije. Možete ukloniti neke datoteke iz markiranih volumena, instalirati manje funkcija ili izabrati druge odredišne disk jedinice. - Prostor na disku koji je potreban za instalaciju izabranih funkcija. - {\WixUI_Font_Title}Zahtevi za prostor na disku - {120}{70}{70}{70}{70} - - Instalacija programa [ProductName] - Tekst informacija - WixUI_Ico_Info - Ikona informacija - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - Kliknite na dugme „Završi“ da biste izašli iz čarobnjaka za instalaciju. - {\WixUI_Font_Bigger}Dovršen je čarobnjak za instalaciju proizvoda [ProductName] - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Čarobnjak za instalaciju proizvoda [ProductName] je pre vremena završio sa radom - Čarobnjak za instalaciju proizvoda [ProductName] je pre vremena završio sa radom zbog greške. Sistem nije izmenjen. Da biste kasnije instalirali ovaj program, ponovo pokrenite čarobnjak za instalaciju. - Kliknite na dugme „Završi“ da biste izašli iz čarobnjaka za instalaciju. - - Instalacija programa [ProductName] - Funkcije proizvoda - WixUI_Bmp_Banner - Izaberite način na koji želite da instalirate funkcije. - {\WixUI_Font_Title}Funkcije proizvoda - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Instaliraj - &Promeni - - Instalacija programa [ProductName] - I&zađi - WixUI_Bmp_Banner - Sledeće aplikacije koriste datoteke koje ova instalacija treba da ažurira. Zatvorite ove aplikacije, a zatim kliknite na dugme „&Pokušaj opet“ da biste nastavili sa instalacijom ili na dugme „Izađi“ da biste izašli iz nje. - Neke datoteke koje treba ažurirati trenutno se koriste. - {\WixUI_Font_Title}Datoteke u upotrebi - - Instalacija programa [ProductName] - &Promeni... - {\WixUI_Font_Title}Odredišna fascikla - Kliknite na dugme „Dalje“ da biste instalaciju izvršili u podrazumevanoj fascikli ili na dugme „Promeni“ da biste odabrali drugu fasciklu. - WixUI_Bmp_Banner - Instaliraj [ProductName] u: - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Odaberite opseg instalacije i instalacionu fasciklu - {\WixUI_Font_Title}Opseg instalacije - {\WixUI_Font_Emphasized}Instalirajte &samo za sebe ([LogonUser]) - [ProductName] će biti instaliran u fascikli po korisniku i biće dostupan samo za vaš korisnički nalog. Nisu vam potrebne lokalne administratorske privilegije. - [ProductName] ne podržava instalaciju po korisniku. - {\WixUI_Font_Emphasized}Instalirajte za sve korisnike ovog &računara - [ProductName] će podrazumevano biti instaliran u fascikli po računaru i biće dostupan svim korisnicima. Možete promeniti podrazumevanu instalacionu fasciklu. Morate imati lokalne administratorske privilegije. - Instalaciona &fascikla: - &Promeni... - - Instalacija programa [ProductName] - Instalacioni direktorijum mora da se nalazi na lokalnom čvrstom disku. - WixUI_Ico_Info - Ikona informacija - - Instalacija programa [ProductName] - Prihv&atam uslove navedene u ugovoru o licenciranju - WixUI_Bmp_Banner - Pažljivo pročitajte sledeći ugovor o licenciranju - {\WixUI_Font_Title}Ugovor o licenciranju sa krajnjim korisnikom - - Instalacija programa [ProductName] - &Promeni - Promenite instalaciju - Po&pravi - Popravite instalaciju - &Ukloni - Uklonite instalaciju - WixUI_Bmp_Banner - Izaberite operaciju koju želite da izvršite. - {\WixUI_Font_Title}Promena, popravka ili uklanjanje instalacije - Omogućava vam da promenite način instalacije funkcija. - [ProductName] ne sadrži funkcije koje je moguće nezavisno izabrati. - Uklanja [ProductName] sa računara. - [ProductName] nije moguće ukloniti. - Popravlja greške u najnovijoj instalaciji tako što popravlja datoteke, prečice i stavke registratora koje nedostaju i koje su oštećene. - [ProductName] nije moguće popraviti. - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - Čarobnjak za instalaciju vam omogućava da promenite način na koji će funkcije proizvoda [ProductName] biti instalirane na računar ili da ih uklonite sa računara. Kliknite na dugme „Dalje“ da biste nastavili ili na dugme „Otkaži“ da biste izašli iz čarobnjaka za instalaciju. - {\WixUI_Font_Bigger}Dobro došli u čarobnjak za instalaciju proizvoda [ProductName] - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Sledeće aplikacije koriste datoteke koje ova instalacija treba da ažurira. Možete dozvoliti čarobnjaku za instalaciju da ih zatvori i pokuša ponovo da ih pokrene ili kasnije ponovo pokrenuti računar. - Neke datoteke koje treba ažurirati trenutno se koriste. - {\WixUI_Font_Title}Datoteke u upotrebi - &Zatvori aplikacije i pokušaj ponovo da ih pokreneš. - &Ne zatvaraj aplikacije. Biće potrebno ponovno pokretanje sistema. - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Na markiranim volumenima nema dovoljno dostupnog prostora za trenutno izabrane funkcije. Možete ukloniti neke datoteke iz markiranih volumena, instalirati manje funkcija ili izabrati drugu odredišnu disk jedinicu. - Prostor na disku potreban za instalaciju premašuje dostupni prostor na disku. - {\WixUI_Font_Title}Nema prostora na disku - {120}{70}{70}{70}{70} - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Na markiranim volumenima nema dovoljno dostupnog prostora za trenutno izabrane funkcije. Možete ukloniti neke datoteke iz markiranih volumena, instalirati manje funkcija ili izabrati drugu odredišnu disk jedinicu. - Prostor na disku potreban za instalaciju premašuje dostupni prostor na disku. - {\WixUI_Font_Title}Nema prostora na disku - {120}{70}{70}{70}{70} - Druga mogućnost je da odaberete da onemogućite funkcionalnost vraćanja instalacionog programa. Ako onemogućite vraćanje, sprečićete da instalacioni program vrati prvobitno stanje računara ukoliko instalacija bude prekinuta na bilo koji način. Kliknite na dugme „Da“ ako želite da preuzmete rizik onemogućavanja vraćanja. - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - Sačekajte dok se čarobnjak za instalaciju pripremi da vas vodi kroz instalaciju. - {\WixUI_Font_Bigger}Dobro došli u čarobnjak za instalaciju proizvoda [ProductName] - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - Sačekajte dok čarobnjak za instalaciju instalira [ProductName]. - {\WixUI_Font_Title}Instalacija proizvoda [ProductName] - Sačekajte dok čarobnjak za instalaciju promeni [ProductName]. - {\WixUI_Font_Title}Promena proizvoda [ProductName] - Sačekajte dok čarobnjak za instalaciju popravi [ProductName]. - {\WixUI_Font_Title}Popravka proizvoda [ProductName] - Sačekajte dok čarobnjak za instalaciju ukloni [ProductName]. - {\WixUI_Font_Title}Uklanjanje proizvoda [ProductName] - Sačekajte dok čarobnjak za instalaciju ažurira [ProductName]. - {\WixUI_Font_Title}Ažuriranje proizvoda [ProductName] - Tok je završen - Status: - - Instalacija programa [ProductName] - &Instaliraj - WixUI_Bmp_Dialog - Čarobnjak za instalaciju će dovršiti instalaciju proizvoda [ProductName] na računaru. Kliknite na dugme „Instaliraj“ da biste nastavili ili na dugme „Otkaži“ da biste izašli iz čarobnjaka za instalaciju. - {\WixUI_Font_Bigger}Nastavak rada čarobnjaka za instalaciju proizvoda [ProductName] - - Instalacija programa [ProductName] - &Tipična - Tipična instalacija - P&rilagođena - Prilagođena instalacija - P&otpuna - Potpuna instalacija - WixUI_Bmp_Banner - {\WixUI_Font_Title}Izbor tipa instalacije - Odaberite tip instalacije koji najviše odgovara vašim potrebama - Instalirajte funkcije programa koje se najčešće koriste. Preporučuje se za većinu korisnika. - Omogućava korisnicima da odaberu koje će funkcije programa biti instalirane i gde će biti instalirane. Preporučuje se za napredne korisnike. - Biće instalirane sve funkcije programa. Zahteva najviše prostora na disku. - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Čarobnjak za instalaciju proizvoda [ProductName] je prekinut - Instalacija proizvoda [ProductName] je prekinuta. Sistem nije izmenjen. Da biste ovaj program instalirali kasnije, ponovo pokrenite instalaciju. - Kliknite na dugme „Završi“ da biste izašli iz čarobnjaka za instalaciju. - - Instalacija programa [ProductName] - WixUI_Bmp_Banner - &Instaliraj - Kliknite na dugme „Instaliraj“ da biste započeli instalaciju. Kliknite na dugme „Nazad“ da biste pregledali ili promenili bilo koju postavku instalacije. Kliknite na dugme „Otkaži“ da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spremno za instalaciju proizvoda [ProductName] - &Promeni - Kliknite na dugme „Promeni“ da biste započeli instalaciju. Kliknite na dugme „Nazad“ da biste pregledali ili promenili bilo koju postavku instalacije. Kliknite na dugme „Otkaži“ da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spremno za promenu proizvoda [ProductName] - Po&pravi - Kliknite na dugme „Popravi“ da biste popravili instalaciju proizvoda [ProductName]. Kliknite na dugme „Nazad“ da biste pregledali ili promenili bilo koju postavku instalacije. Kliknite na dugme „Otkaži“ da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spremno za popravku proizvoda [ProductName] - &Ukloni - Kliknite na dugme „Ukloni“ da biste uklonili [ProductName] sa računara. Kliknite na dugme „Nazad“ da biste pregledali ili promenili bilo koju postavku instalacije. Kliknite na dugme „Otkaži“ da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spremno za uklanjanje proizvoda [ProductName] - Až&uriraj - Kliknite na dugme „Ažuriraj“ da biste ažurirali [ProductName] na računaru. Kliknite na dugme „Nazad“ da biste pregledali ili promenili bilo koju postavku instalacije. Kliknite na dugme „Otkaži“ da biste izašli iz čarobnjaka. - {\WixUI_Font_Title}Spremno za ažuriranje proizvoda [ProductName] - - Instalacija programa [ProductName] - V&rati - Sačekajte da instalacioni program odredi potreban prostor na disku. - WixUI_Ico_Exclam - Ikona sa znakom uzvika - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - Čarobnjak za instalaciju će instalirati [ProductName] na računar. Kliknite na dugme „Dalje“ da biste nastavili ili na dugme „Otkaži“ da biste izašli iz čarobnjaka za instalaciju. - Čarobnjak za instalaciju će ažurirati [ProductName] na računaru. Kliknite na dugme „Dalje“ da biste nastavili ili na dugme „Otkaži“ da biste izašli iz čarobnjaka za instalaciju. - {\WixUI_Font_Bigger}Dobro došli u čarobnjak za instalaciju proizvoda [ProductName] - - Instalacija programa [ProductName] - WixUI_Bmp_Dialog - Prihv&atam uslove navedene u ugovoru o licenciranju - &Instaliraj - Až&uriraj - {\WixUI_Font_Title}Pročitajte ugovor o licenciranju za [ProductName] - - Provera valjanosti instalacije - Kopiranje novih datoteka - Datoteka: [1], direktorijum: [9], veličina: [6] - Kopiranje datoteka za mrežnu instalaciju - Datoteka: [1], direktorijum: [9], veličina: [6] - Izračunavanje potrebnog prostora - Izračunavanje potrebnog prostora - Izračunavanje potrebnog prostora - Kreiranje prečica - Prečica: [1] - Objavljivanje kvalifikovanih komponenti - ID komponente: [1], kvalifikator: [2] - Objavljivanje informacija o funkcijama proizvoda - Funkcija: [1] - Objavljivanje informacija o proizvodu - Registracija servera klase - Id klase: [1] - Registracija servera proširenja - Proširenje: [1] - Registracija MIME informacija - MIME tip sadržaja: [1], proširenje: [2] - Registracija identifikatora programa - ProgId: [1] - Dodeljivanje prostora u registratoru - Slobodan prostor: [1] - Traženje instaliranih aplikacija - Svojstvo: [1], potpis: [2] - Povezivanje izvršnih datoteka - Datoteka: [1] - Traženje kvalifikovanih proizvoda - Kreiranje fascikli - Fascikla: [1] - Brisanje usluga - Usluga: [1] - Kreiranje dupliranih datoteka - Datoteka: [1], direktorijum: [9], veličina: [6] - Traženje povezanih aplikacija - Pronađena aplikacija: [1] - Instaliranje ODBC komponenti - Instaliranje novih usluga - Usluga: [2] - Procenjivanje uslova za pokretanje - Premeštanje stanja funkcija iz povezanih aplikacija - Aplikacija: [1] - Premeštanje datoteka - Datoteka: [1], direktorijum: [9], veličina: [6] - Krpljenje datoteka - Datoteka: [1], direktorijum: [2], veličina: [3] - Ažuriranje registracije komponenti - Registracija COM+ aplikacija i komponenti - AppId: [1]{{, AppType: [2], korisnici: [3], RSN: [4]}} - Registracija fontova - Font: [1] - Registracija proizvoda - [1] - Registracija biblioteka tipova - LibID: [1] - Registracija korisnika - [1] - Uklanjanje dupliranih datoteka - Datoteka: [1], direktorijum: [9] - Ažuriranje niski okruženja - Ime: [1], vrednost: [2], radnja [3] - Uklanjanje aplikacija - Aplikacija: [1], komandna linija: [2] - Uklanjanje datoteka - Datoteka: [1], direktorijum: [9] - Uklanjanje fascikli - Fascikla: [1] - Uklanjanje stavki INI datoteka - Datoteka: [1], odeljak: [2], ključ: [3], vrednost: [4] - Uklanjanje ODBC komponenti - Uklanjanje vrednosti sistemskog registratora - Ključ: [1], ime: [2] - Uklanjanje prečica - Prečica: [1] - Traženje kvalifikovanih proizvoda - Registracija modula - Datoteka: [1], fascikla: [2] - Opoziv registracije modula - Datoteka: [1], fascikla: [2] - Pokretanje ODBC direktorijuma - Pokretanje usluga - Usluga: [1] - Zaustavljanje usluga - Usluga: [1] - Opoziv objavljivanja kvalifikovanih komponenti - ID komponente: [1], kvalifikator: [2] - Opoziv objavljivanja funkcija proizvoda - Funkcija: [1] - Opoziv registracije servera klase - Id klase: [1] - Opoziv registracije COM+ aplikacija i komponenti - AppId: [1]{{, AppType: [2]}} - Opoziv registracije servera proširenja - Proširenje: [1] - Opoziv registracije fontova - Font: [1] - Opoziv registracije MIME informacija - MIME tip sadržaja: [1], proširenje: [2] - Opoziv registracije identifikatora programa - ProgId: [1] - Opoziv registracije biblioteka tipova - LibID: [1] - Ažuriranje niski okruženja - Ime: [1], vrednost: [2], radnja [3] - Upisivanje vrednosti INI datoteka - Datoteka: [1], odeljak: [2], ključ: [3], vrednost: [4] - Upisivanje vrednosti sistemskog registratora - Ključ: [1], ime: [2], vrednost: [3] - Aplikacija za reklamiranje - Generisanje operacija sa skriptom za radnju: - [1] - Instaliranje sistemskog kataloga - Datoteka: [1], zavisni elementi: [2] - Objavljivanje informacija o asembleru - Kontekst aplikacije: [1], ime asemblera: [2] - Opoziv objavljivanja informacija o asembleru - Kontekst aplikacije: [1], ime asemblera: [2] - Vraćanje radnje: - [1] - Uklanjanje rezervnih datoteka - Datoteka: [1] - Uklanjanje premeštenih datoteka - Datoteka: [1], direktorijum: [9] - Opoziv objavljenih informacija o proizvodu - - {{Fatalna greška: }} - {{Greška [1]. }} - Upozorenje [1]. - Informacije [1]. - Instalacioni program je naišao na neočekivanu grešku prilikom instalacije ovog paketa. To možda ukazuje na problem sa ovim paketom. Kôd greške je [1]. {{Argumenti su: [2], [3], [4]}} - {{Disk je pun: }} - Radnja [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Tip poruke: [1], argument: [2] - === Vođenje evidencije započeto: [Date] [Time] === - === Vođenje evidencije zaustavljeno: [Date] [Time] === - Početak radnje [Time]: [1]. - Kraj radnje [Time]: [1]. Povratna vrednost [2]. - Preostalo vreme: {[1] minuta }{[2] sekundi} - Nema dovoljno memorije. Zatvorite ostale aplikacije pre nego što pokušate ponovo. - Instalacioni program se ne odaziva. - Instalacioni program je pre vremena zaustavljen. - Sačekajte dok Windows konfiguriše [ProductName] - Prikupljanje potrebnih informacija... - Uklanjanje starijih verzija ove aplikacije... - Priprema za uklanjanje starijih verzija ove aplikacije... - Uspešno je dovršena instalacija proizvoda {[ProductName] }. - Nije uspela instalacija proizvoda {[ProductName] }. - Greška tokom čitanja iz datoteke: [2]. {{ Sistemska greška [3].}} Proverite da li datoteka postoji i da li joj možete pristupiti. - Nije moguće kreirati datoteku „[2]“. Već postoji direktorijum sa tim imenom. Otkažite instalaciju i pokušajte da je izvršite na drugoj lokaciji. - Stavite disk: [2] - Instalacioni program nema dovoljno privilegija za pristup ovom direktorijumu: [2]. Nije moguće nastaviti instalaciju. Prijavite se kao administrator ili se obratite administratoru sistema. - Greška tokom upisivanja u datoteku: [2]. Proverite da li imate pristup tom direktorijumu. - Greška tokom čitanja iz datoteke [2]. {{ Sistemska greška [3].}} Proverite da li datoteka postoji i da li joj možete pristupiti. - Druga aplikacija ima isključivi pristup datoteci „[2]“. Zatvorite sve ostale aplikacije, a zatim kliknite na dugme „Pokušaj opet“. - Nema dovoljno prostora na disku za instaliranje ove datoteke: [2]. Oslobodite prostor na disku i kliknite na dugme „Pokušaj opet“ ili kliknite na dugme „Otkaži“ da biste izašli. - Izvorna datoteka nije pronađena: [2]. Proverite da li datoteka postoji i da li joj možete pristupiti. - Greška tokom čitanja iz datoteke: [3]. {{ Sistemska greška [2].}} Proverite da li datoteka postoji i da li joj možete pristupiti. - Greška tokom upisivanja u datoteku: [3]. {{ Sistemska greška [2].}} Proverite da li imate pristup tom direktorijumu. - Izvorna datoteka nije pronađena{{(datoteka pakovanja)}}: [2]. Proverite da li datoteka postoji i da li joj možete pristupiti. - Nije moguće kreirati direktorijum „[2]“. Datoteka sa ovim imenom već postoji. Preimenujte ili uklonite datoteku i kliknite na dugme „Pokušaj opet“ ili na dugme „Otkaži“ da biste izašli. - Volumen [2] trenutno nije dostupan. Izaberite drugi volumen. - Navedena putanja „[2]“ nije dostupna. - Nije moguće upisivati u navedenu fasciklu: [2]. - Došlo je do mrežne greške pri pokušaju čitanja iz datoteke: [2] - Došlo je do greške pri pokušaju kreiranja direktorijuma: [2] - Došlo je do mrežne greške pri pokušaju kreiranja direktorijuma: [2] - Došlo je do mrežne greške pri pokušaju otvaranja pakovanja izvorne datoteke: [2] - Navedena putanja je predugačka: [2] - Instalacioni program nema dovoljno privilegija da bi izmenio ovu datoteku: [2]. - Deo putanje fascikle „[2]“ je nevažeći. On je prazan ili prekoračuje dužinu koju sistem dozvoljava. - Putanja fascikle „[2]“ sadrži reči koje nisu važeće u putanji fascikle. - Putanja fascikle „[2]“ sadrži nevažeći znak. - „[2]“ nije važeće kratko ime datoteke. - Greška tokom preuzimanja bezbednosti datoteke: [3] GetLastError: [2] - Nevažeća disk jedinica: [2] - Došlo je do greške tokom primenjivanja zakrpe na datoteku [2]. Datoteka je verovatno već ažurirana na neki drugi način i ne može se više menjati ovom zakrpom. Za više informacija obratite se prodavcu zakrpe. {{Sistemska greška: [3]}} - Potrebna datoteka se ne može instalirati zato što datoteka pakovanja [2] nije digitalno potpisana. Ovo može da ukazuje na to da je datoteka pakovanja oštećena. - Potrebna datoteka se ne može instalirati zato što datoteka pakovanja [2] ima nevažeći digitalni potpis. Ovo može da ukazuje na to da je datoteka pakovanja oštećena.{{ Grešku [3] je vratila funkcija WinVerifyTrust.}} - Nije uspelo ispravno kopiranje datoteke [2]: CRC greška. - Nije uspelo ispravno premeštanje datoteke [2]: CRC greška. - Nije uspelo ispravno krpljenje datoteke [2]: CRC greška. - Nije moguće instalirati datoteku „[2]“ zato što ona ne može da se pronađe u datoteci pakovanja „[3]“. Ovo može da ukazuje na mrežnu grešku, grešku prilikom čitanja sa CD-ROM-a ili problem sa ovim paketom. - Datoteka pakovanja „[2]“ neophodna za ovu instalaciju je oštećena i ne može da se koristi. Ovo može da ukazuje na mrežnu grešku, grešku prilikom čitanja sa CD-ROM-a ili problem sa ovim paketom. - Došlo je do greške tokom kreiranja privremene datoteke koja je potrebna da bi se dovršila ova instalacija.{{ Fascikla: [3]. Kôd sistemske greške: [2]}} - Nije bilo moguće kreirati ključ: [2]. {{ Sistemska greška [3].}} Proverite da li imate odgovarajući pristup tom ključu ili se obratite osoblju za podršku. - Nije bilo moguće otvoriti ključ: [2]. {{ Sistemska greška [3].}} Proverite da li imate odgovarajući pristup tom ključu ili se obratite osoblju za podršku. - Nije bilo moguće izbrisati vrednost [2] iz ključa [3]. {{ Sistemska greška [4].}} Proverite da li imate odgovarajući pristup tom ključu ili se obratite osoblju za podršku. - Nije bilo moguće izbrisati ključ [2]. {{ Sistemska greška [3].}} Proverite da li imate odgovarajući pristup tom ključu ili se obratite osoblju za podršku. - Nije bilo moguće pročitati vrednost [2] iz ključa [3]. {{ Sistemska greška [4].}} Proverite da li imate odgovarajući pristup tom ključu ili se obratite osoblju za podršku. - Nije bilo moguće upisati vrednost [2] u ključ [3]. {{ Sistemska greška [4].}} Proverite da li imate odgovarajući pristup tom ključu ili se obratite osoblju za podršku. - Nije bilo moguće preuzeti imena vrednosti za ključ [2]. {{ Sistemska greška [3].}} Proverite da li imate odgovarajući pristup tom ključu ili se obratite osoblju za podršku. - Nije bilo moguće preuzeti imena potključeva za ključ [2]. {{ Sistemska greška [3].}} Proverite da li imate odgovarajući pristup tom ključu ili se obratite osoblju za podršku. - Nije bilo moguće pročitati bezbednosne informacije za ključ [2]. {{ Sistemska greška [3].}} Proverite da li imate odgovarajući pristup tom ključu ili se obratite osoblju za podršku. - Nije bilo moguće povećati dostupni prostor registratora. Potrebno je [2] kB slobodnog prostora registratora za instalaciju ove aplikacije. - Neka druga instalacija je u toku. Morate dovršiti tu instalaciju da biste mogli da nastavite sa ovom. - Greška tokom pristupanja zaštićenim podacima. Uverite se da je Windows Installer ispravno konfigurisan i pokušajte ponovo da izvršite instalaciju. - Korisnik „[2]“ je prethodno pokrenuo instalaciju proizvoda „[3]“. Korisnik će morati ponovo da pokrene tu instalaciju da bi mogao da koristi taj proizvod. Trenutna instalacija će se nastaviti. - Korisnik „[2]“ je prethodno pokrenuo instalaciju proizvoda „[3]“. Korisnik će morati ponovo da pokrene tu instalaciju da bi mogao da koristi taj proizvod. - Nema prostora na disku -- volumen: „[2]“; potreban prostor: [3] kB; dostupan prostor: [4] kB. Oslobodite prostor na disku i pokušajte ponovo. - Želite li zaista da otkažete ovu radnju? - Datoteku [2][3] koristi{ sledeći proces: ime: [4], Id: [5], naslov prozora: „[6]“}. Zatvorite tu aplikaciju i pokušajte ponovo. - Proizvod „[2]“ je već instaliran i sprečava instalaciju ovog proizvoda. Ova dva proizvoda su nekompatibilna. - Nema dovoljno prostora na disku na volumenu „[2]“ da bi se nastavila instalacija sa omogućenim oporavkom. Potrebno je [3] kB, a dostupno je samo [4] kB. Kliknite na dugme „Zanemari“ da biste nastavili instalaciju bez čuvanja informacija za oporavak, kliknite na dugme „Pokušaj opet“ da biste ponovo proverili dostupan prostor ili na dugme „Otkaži“ da biste odustali od instaliranja. - Nije bilo moguće pristupiti mrežnoj lokaciji [2]. - Sledeće aplikacije moraju biti zatvorene pre nego što nastavite sa instaliranjem: - Na računaru nije bilo moguće pronaći nijedan prethodno instalirani usaglašeni proizvod za instaliranje ovog proizvoda. - Došlo je do greške tokom primene bezbednosnih postavki. [2] nije važeći korisnik ili grupa. Ovo može biti problem sa paketom ili problem pri povezivanju sa kontrolerom domena na mreži. Proverite mrežnu vezu i kliknite na dugme „Pokušaj opet“ ili na dugme „Otkaži“ da biste završili instalaciju. {{Nije moguće pronaći korisnički SID, sistemska greška [3]}} - Šifra [2] nije važeća. Proverite da li ste uneli ispravnu šifru. - Instalacioni program mora ponovo da pokrene sistem da bi moglo da se nastavi sa konfigurisanjem programa [2]. Kliknite na dugme „Da“ da biste odmah ponovo pokrenuli računar ili na dugme „Ne“ ako planirate da kasnije ručno ponovo pokrenete računar. - Morate ponovo da pokrenete sistem da bi promene napravljene u konfiguraciji proizvoda [2] stupile na snagu. Kliknite na dugme „Da“ da biste odmah ponovo pokrenuli računar ili na dugme „Ne“ ako planirate kasnije ručno da ponovo pokrenete računar. - Instalacija proizvoda [2] je trenutno obustavljena. Morate da opozovete promene koje je napravila ta instalacija da biste nastavili. Želite li da opozovete te promene? - Prethodno započeta instalacija ovog proizvoda je u toku. Morate da opozovete promene koje je napravila ta instalacija da biste nastavili. Želite li da opozovete te promene? - Nije moguće pronaći instalacioni paket za proizvod [2]. Ponovo pokušajte da izvršite instalaciju pomoću važeće kopije instalacionog paketa „[3]“. - Instaliranje je uspešno dovršeno. - Instaliranje nije uspelo. - Proizvod: [2] -- [3] - Možete da vratite računar u prethodno stanje ili da nastavite instaliranje kasnije. Želite li da vratite računar u prethodno stanje? - Došlo je do greške tokom upisivanja informacija o instalaciji na disk. Uverite se da imate dovoljno dostupnog prostora na disku i kliknite na dugme „Pokušaj opet“ ili na dugme „Otkaži“ da biste završili instalaciju. - Nije bilo moguće pronaći neke datoteke potrebne da se vaš računar vrati u prethodno stanje. Vraćanje računara u prethodno stanje neće biti moguće. - [2] ne može da instalira jedan od potrebnih proizvoda. Obratite se grupi za tehničku podršku. {{Sistemska greška: [3].}} - Nije moguće ukloniti stariju verziju programa [2]. Obratite se grupi za tehničku podršku. {{Sistemska greška [3].}} - Proizvod [2] je instaliran - Proizvod [2] je konfigurisan - Proizvod [2] je uklonjen - Smernice digitalnog potpisa su odbacile datoteku [2]. - Nije bilo moguće pristupiti usluzi Windows Installer. Ovo može da se dogodi ako Windows radi u bezbednom režimu ili ako Windows Installer nije ispravno instaliran. Obratite se osoblju za podršku za pomoć. - Postoji problem sa ovim paketom programa Windows Installer. Nije bilo moguće pokrenuti skriptu koja je potrebna za dovršavanje ove instalacije. Obratite se osoblju za podršku ili prodavcu paketa. {{Prilagođena radnja [2] greška u skripti [3], [4]: [5] red [6], kolona [7], [8] }} - Postoji problem sa ovim paketom programa Windows Installer. Nije moguće pokrenuti skriptu koja je potrebna za dovršavanje ove instalacije. Obratite se osoblju za podršku ili prodavcu paketa. {{Radnja: [2], lokacija: [3], komanda: [4] }} - Postoji problem sa ovim paketom programa Windows Installer. Program koji je pokrenut kao deo instalacije nije se završio na očekivani način. Obratite se osoblju za podršku ili prodavcu paketa. {{Radnja [2], lokacija: [3], komanda: [4] }} - Postoji problem sa ovim paketom programa Windows Installer. Nije bilo moguće pokrenuti DLL datoteku koja je potrebna za dovršavanje ove instalacije. Obratite se osoblju za podršku ili prodavcu paketa. {{Radnja [2], stavka: [3], biblioteka: [4] }} - Uklanjanje je uspešno dovršeno. - Uklanjanje nije uspelo. - Oglas je uspešno dovršen. - Oglas nije uspeo. - Konfigurisanje je uspešno dovršeno. - Konfigurisanje nije uspelo. - Morate biti administrator da biste mogli da uklonite ovu aplikaciju. Da biste uklonili ovu aplikaciju, možete se prijaviti kao administrator ili se obratiti grupi za tehničku podršku za pomoć. - Izvorni instalacioni paket proizvoda [2] nije sinhronizovan sa paketom klijenta. Ponovo pokušajte da izvršite instalaciju pomoću važeće kopije instalacionog paketa „[3]“. - Da biste dovršili instalaciju proizvoda [2], morate ponovo pokrenuti računar. Na ovaj računar su trenutno prijavljeni drugi korisnici, koji zbog ponovnog pokretanja mogu izgubiti ono što su uradili. Želite li da odmah ponovo pokrenete računar? - Putanja [2] nije važeća. Navedite važeću putanju. - Nema dovoljno memorije. Zatvorite ostale aplikacije pre nego što pokušate ponovo. - Ne postoji disk u disk jedinici [2]. Stavite disk i kliknite na dugme „Pokušaj opet“ ili na dugme „Otkaži“ da biste se vratili na prethodno izabrani volumen. - Ne postoji disk u disk jedinici [2]. Stavite disk i kliknite na dugme „Pokušaj opet“ ili na dugme „Otkaži“ da biste se vratili u dijalog za pretraživanje i izabrali neki drugi volumen. - Fascikla [2] ne postoji. Unesite putanju do postojeće fascikle. - Nemate odgovarajuće privilegije za čitanje iz ove datoteke. - Nije bilo moguće odrediti važeću odredišnu fasciklu za instalaciju. - Greška pri pokušaju čitanja iz izvorne baze podataka instalacije: [2]. - Planiranje ponovnog pokretanja sistema: preimenovanje datoteke [2] u [3]. Morate ponovo pokrenuti sistem da biste dovršili operaciju. - Planiranje ponovnog pokretanja sistema: brisanje datoteke [2]. Morate ponovo pokrenuti sistem da biste dovršili operaciju. - Registracija modula [2] nije uspela. HRESULT [3]. Obratite se osoblju za podršku. - Opoziv registracije modula [2] nije uspeo. HRESULT [3]. Obratite se osoblju za podršku. - Keširanje paketa [2] nije uspelo. Greška: [3]. Obratite se osoblju za podršku. - Nije bilo moguće registrovati font [2]. Proverite da li imate odgovarajuće dozvole za instaliranje fontova i da li sistem podržava ovaj font. - Nije bilo moguće opozvati registraciju fonta [2]. Proverite da li imate odgovarajuće dozvole za uklanjanje fontova. - Nije bilo moguće kreirati prečicu [2]. Proverite da li odredišna fascikla postoji i da li joj možete pristupiti. - Nije bilo moguće ukloniti prečicu [2]. Proverite da li datoteka prečice postoji i da li joj možete pristupiti. - Nije bilo moguće registrovati biblioteku tipova za datoteku [2]. Obratite se osoblju za podršku. - Nije bilo moguće opozvati registraciju biblioteke tipova za datoteku [2]. Obratite se osoblju za podršku. - Nije bilo moguće ažurirati ini datoteku [2][3]. Proverite da li datoteka postoji i da li joj možete pristupiti. - Nije bilo moguće isplanirati da datoteka [2] zameni datoteku [3] pri ponovnom pokretanju sistema. Proverite da li imate dozvole za upisivanje u datoteku [3]. - Greška tokom uklanjanja menadžera ODBC upravljačkog programa, ODBC greška [2]: [3]. Obratite se osoblju za podršku. - Greška tokom instaliranja menadžera ODBC upravljačkog programa, ODBC greška [2]: [3]. Obratite se osoblju za podršku. - Greška tokom uklanjanja ODBC upravljačkog programa: [4], ODBC greška [2]: [3]. Proverite da li imate odgovarajuće privilegije za uklanjanje ODBC upravljačkih programa. - Greška tokom instaliranja ODBC upravljačkog programa: [4], ODBC greška [2]: [3]. Proverite da li datoteka [4] postoji i da li joj možete pristupiti. - Greška tokom konfigurisanja izvora ODBC podataka: [4], ODBC greška [2]: [3]. Proverite da li datoteka [4] postoji i da li joj možete pristupiti. - Pokretanje usluge „[2]“ ([3]) nije uspelo. Proverite da li imate odgovarajuće privilegije za pokretanje sistemskih usluga. - Nije bilo moguće zaustaviti uslugu „[2]“ ([3]). Proverite da li imate odgovarajuće privilegije za zaustavljanje sistemskih usluga. - Nije bilo moguće izbrisati uslugu „[2]“ ([3]). Proverite da li imate odgovarajuće privilegije za uklanjanje sistemskih usluga. - Nije bilo moguće instalirati uslugu „[2]“ ([3]). Proverite da li imate odgovarajuće privilegije za instaliranje sistemskih usluga. - Nije bilo moguće ažurirati promenljivu okruženja „[2]“. Proverite da li imate odgovarajuće privilegije za izmenu promenljivih okruženja. - Nemate odgovarajuće privilegije da biste dovršili ovu instalaciju za sve korisnike ovog računara. Prijavite se kao administrator i ponovo pokušajte da izvršite ovu instalaciju. - Nije bilo moguće podesiti bezbednost datoteke za datoteku „[3]“. Greška: [2]. Proverite da li imate odgovarajuće privilegije za izmenu bezbednosnih dozvola za ovu datoteku. - Usluge Component Services (COM+ 1.0) nisu instalirane na ovom računaru, a one su potrebne za uspešno dovršavanje ove instalacije. Usluge Component Services su dostupne u operativnom sistemu Windows 2000. - Greška tokom registracije COM+ aplikacije. Za više informacija obratite se osoblju za podršku. - Greška tokom opoziva registracije COM+ aplikacije. Za više informacija obratite se osoblju za podršku. - Opis usluge „[2]“ ([3]) ne može da se menja. - Usluga Windows Installer ne može da ažurira sistemsku datoteku [2] zato što je Windows zaštitio datoteku. Možda ćete morati da ažurirate operativni sistem da bi ovaj program radio ispravno. {{Verzija paketa: [3], verzija koju štiti operativni sistem: [4]}} - Usluga Windows Installer ne može da ažurira zaštićenu Windows datoteku [2]. {{Verzija paketa: [3], verzija koju štiti operativni sistem: [4], SFP greška: [5]}} - Usluga Windows Installer ne može da ažurira neke zaštićene Windows datoteke. {{SFP greška: [2]. Lista zaštićenih datoteka:\r\n[3]}} - Korisničke instalacije su onemogućene putem smernica na računaru. - Došlo je do greške prilikom instaliranja asemblera „[6]“. Za više informacija pogledajte Pomoć i podršku. HRESULT: [3]. {{interfejs asemblera: [4], funkcija: [5], komponenta: [2]}} - Došlo je do greške prilikom instaliranja asemblera „[6]“. Asembler nema dovoljno jako ime ili nije potpisan minimalnom dužinom ključa. HRESULT: [3]. {{interfejs asemblera: [4], funkcija: [5], komponenta: [2]}} - Došlo je do greške prilikom instaliranja asemblera „[6]“. Nije bilo moguće verifikovati potpis ili katalog ili su oni nevažeći. HRESULT: [3]. {{interfejs asemblera: [4], funkcija: [5], komponenta: [2]}} - Došlo je do greške prilikom instaliranja asemblera „[6]“. Nije bilo moguće pronaći neke module asemblera. HRESULT: [3]. {{interfejs asemblera: [4], funkcija: [5], komponenta: [2]}} - - bajtova - GB - kB - MB - Čitava funkcija će biti nedostupna - Funkcija će biti instalirana po potrebi - Čitava funkcija će biti instalirana za pokretanje sa CD-a - Čitava funkcija će biti instalirana na lokalni čvrsti disk - Čitava funkcija će biti instalirana za pokretanje sa mreže - Biće instalirano za pokretanje sa CD-a - Biće instalirano na lokalni čvrsti disk - Biće instalirano za pokretanje sa mreže - Fascikla|Nova fascikla - Prikupljanje potrebnih informacija... - Ova funkcija će ostati neinstalirana - Ova funkcija će biti podešena tako da se instalira po potrebi - Ova funkcija će biti instalirana za pokretanje sa CD-a - Ova funkcija će biti instalirana na lokalni čvrsti disk - Ova funkcija će biti instalirana za pokretanje sa mreže - Ova funkcija će postati nedostupna - Biće instalirano po potrebi - Ova funkcija će biti dostupna za pokretanje sa CD-a - Ova funkcija će biti instalirana na lokalni čvrsti disk - Ova funkcija će biti dostupna za pokretanje sa mreže - Ova funkcija će biti deinstalirana u potpunosti, nećete moći da je pokrećete sa CD-a - Ova funkcija će biti promenjena tako da se instalira po potrebi umesto da se pokreće sa CD-a - Ova funkcija će se i ubuduće pokretati sa CD-a - Ova funkcija će biti promenjena tako da se instalira na lokalni čvrsti disk umesto da se pokreće sa CD-a - Ova funkcija oslobađa [1] na čvrstom disku. - Ova funkcija zahteva [1] na čvrstom disku. - Proračun utroška za ovu funkciju... - Ova funkcija će biti u potpunosti uklonjena - Ova funkcija će biti uklonjena sa lokalnog čvrstog diska, ali će biti podešena tako da se instalira po potrebi - Ova funkcija će biti uklonjena sa lokalnog čvrstog diska, ali će i dalje biti dostupna za pokretanje sa CD-a - Ova funkcija će ostati na lokalnom čvrstom disku - Ova funkcija će biti uklonjena sa lokalnog čvrstog diska, ali će i dalje biti dostupna za pokretanje sa mreže - Ova funkcija će biti deinstalirana u potpunosti, nećete moći da je pokrećete sa mreže - Ova funkcija će biti promenjena tako da se instalira po potrebi umesto da se pokreće sa mreže - Ova funkcija će biti promenjena tako da se instalira na lokalni čvrsti disk umesto da se pokreće sa mreže - Ova funkcija će se i ubuduće pokretati sa mreže - Ova funkcija oslobađa [1] na čvrstom disku. Izabrano je [2] od [3] njenih potfunkcija. Potfunkcije oslobađaju [4] na čvrstom disku. - Ova funkcija oslobađa [1] na čvrstom disku. Izabrano je [2] od [3] njenih potfunkcija. Potfunkcije zahtevaju [4] na čvrstom disku. - Ova funkcija zahteva [1] na čvrstom disku. Izabrano je [2] od [3] njenih potfunkcija. Potfunkcije oslobađaju [4] na čvrstom disku. - Ova funkcija zahteva [1] na čvrstom disku. Izabrano je [2] od [3] njenih potfunkcija. Potfunkcije zahtevaju [4] na čvrstom disku. - Preostalo vreme: {[1] minuta }{[2] sekundi} - Dostupan - Razlika - Potrebno - Veličina diska - Volumen - diff --git a/Src/Localization/WixUI/WixUI_sv-SE.wxl b/Src/Localization/WixUI/WixUI_sv-SE.wxl deleted file mode 100644 index f1a8859..0000000 --- a/Src/Localization/WixUI/WixUI_sv-SE.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Föregående - &Nästa - Avbryt - &Slutför - F&örsök igen - Ign&orera - &Ja - N&ej - OK - &Skriv ut - - Installationsguiden för [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Läs licensavtalet för [ProductName] - Jag &accepterar villkoren i licensavtalet - Klicka på Installera om du vill installera produkten med standardalternativ för alla användare. Klicka på Avancerat om du vill ändra installationsalternativen. - Klicka på Installera om du vill installera produkten med standardalternativ bara för dig. Klicka på Avancerat om du vill ändra installationsalternativen. - &Installera - Avan&cerat - 8 - 12 - 9 - 8 - Tahoma - - Installationsguiden för [ProductName] - &Sök i: - WixUI_Bmp_Up - Upp en nivå - WixUI_Bmp_New - Skapa en ny mapp - &Mappnamn: - WixUI_Bmp_Banner - Bläddra till målmappen - {\WixUI_Font_Title}Byt målmapp - - Installationsguiden för [ProductName] - Vill du avbryta installationen av [ProductName]? - WixUI_Ico_Info - Informationsikon - - Installationsguiden för [ProductName] - Träd med installationsalternativ - &Bläddra... - &Återställ - &Diskanvändning - WixUI_Bmp_Banner - Klicka på ikonerna i trädet nedan om du vill ändra hur funktionerna installeras. - Ange hur funktionerna ska installeras. - {\WixUI_Font_Title}Anpassad installation - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Plats: - - Installationsguiden för [ProductName] - WixUI_Bmp_Banner - De markerade volymerna har inte tillräckligt med diskutrymme för de valda funktionerna. Du kan antingen ta bort några filer från de markerade volymerna, installera färre funktioner eller välja andra målenheter. - Det hårddiskutrymme som krävs för att installera de valda funktionerna. - {\WixUI_Font_Title}Diskutrymmeskrav - {120}{70}{70}{70}{70} - - Installationsguiden för [ProductName] - Informationstext - WixUI_Ico_Info - Informationsikon - - Installationsguiden för [ProductName] - WixUI_Bmp_Dialog - Klicka på Slutför om du vill avsluta installationsguiden. - {\WixUI_Font_Bigger}Installationsguiden för [ProductName] slutfördes - - Installationsguiden för [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Installationsguiden för [ProductName] avslutades för tidigt - Installationsguiden för [ProductName] avslutades för tidigt på grund av ett fel. Systemet har inte ändrats. Om du vill installera programmet vid ett senare tillfälle kan du köra installationsguiden igen. - Klicka på Slutför om du vill avsluta installationsguiden. - - Installationsguiden för [ProductName] - Produktfunktioner - WixUI_Bmp_Banner - Ange hur funktionerna ska installeras. - {\WixUI_Font_Title}Produktfunktioner - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Installera - &Ändra - - Installationsguiden för [ProductName] - A&vsluta - WixUI_Bmp_Banner - Följande program använder filer som behöver uppdateras under installationen. Stäng programmen och klicka på &Försök igen om du vill fortsätta eller Avsluta om du vill avsluta installationen. - Några filer som måste uppdateras används just nu. - {\WixUI_Font_Title}Filer som används - - Installationsguiden för [ProductName] - &Ändra... - {\WixUI_Font_Title}Målmapp - Klicka på Nästa om du vill installera i standardmappen eller klicka på Ändra om du vill byta mapp. - WixUI_Bmp_Banner - Installera [ProductName] i: - - Installationsguiden för [ProductName] - WixUI_Bmp_Banner - Välj installationsomfattning och mapp - {\WixUI_Font_Title}Installationsomfattning - {\WixUI_Font_Emphasized}Installera &bara för mig: ([LogonUser]) - [ProductName] installeras i en mapp per användare och blir bara tillgängligt för ditt användarkonto. Du behöver inte lokala administratörsprivilegier. - [ProductName] stöder inte installation per användare. - {\WixUI_Font_Emphasized}Installera för alla användare av den här &datorn - [ProductName] installeras som en datorinstallation (standard) och blir tillgängligt för alla användare. Du kan ändra standardmappen för installationen. Du måste ha lokala administratörsprivilegier. - Installations&mapp: - &Ändra... - - Installationsguiden för [ProductName] - Installationskatalogen måste vara på den lokala hårddisken. - WixUI_Ico_Info - Informationsikon - - Installationsguiden för [ProductName] - Jag &accepterar villkoren i licensavtalet - WixUI_Bmp_Banner - Läs följande licensavtal noggrant - {\WixUI_Font_Title}Licensavtal - - Installationsguiden för [ProductName] - &Ändra - Ändra installationen - Re&parera - Reparera installationen - &Ta bort - Ta bort installationen - WixUI_Bmp_Banner - Välj den åtgärd som du vill utföra. - {\WixUI_Font_Title}Ändra, reparera eller ta bort installationen - Här kan du ändra hur olika funktioner är installerade. - Det finns inga funktioner som kan väljas separat i [ProductName]. - Tar bort [ProductName] från datorn. - Det går inte att ta bort [ProductName]. - Reparerar fel i den senaste installationen genom att åtgärda saknade och skadade filer, genvägar och registerposter. - Det går inte att reparera [ProductName]. - - Installationsguiden för [ProductName] - WixUI_Bmp_Dialog - Med installationsguiden kan du ändra hur olika funktioner i [ProductName] installeras på datorn, eller ta bort det helt från datorn. Klicka på Nästa om du vill fortsätta eller på Avbryt om du vill avsluta installationsguiden. - {\WixUI_Font_Bigger}Välkommen till installationsguiden för [ProductName] - - Installationsguiden för [ProductName] - WixUI_Bmp_Banner - Följande program använder filer som behöver uppdateras under installationen. Du kan låta installationsguiden stänga dem och försöka starta om dem, eller starta om datorn senare. - Några filer som måste uppdateras används just nu. - {\WixUI_Font_Title}Filer som används - St&äng programmen och försök starta om dem. - Stäng &inte programmen. En omstart kommer att krävas. - - Installationsguiden för [ProductName] - WixUI_Bmp_Banner - De markerade volymerna har inte tillräckligt med ledigt diskutrymme för de funktioner som valts. Du kan ta bort filer från de markerade volymerna, installera färre funktioner eller markera en annan målenhet. - Mängden diskutrymme som krävs överskrider mängden tillgängligt diskutrymme. - {\WixUI_Font_Title}Slut på diskutrymme - {120}{70}{70}{70}{70} - - Installationsguiden för [ProductName] - WixUI_Bmp_Banner - De markerade volymerna har inte tillräckligt med ledigt diskutrymme för de funktioner som valts. Du kan ta bort filer från de markerade volymerna, installera färre funktioner eller markera en annan målenhet. - Mängden diskutrymme som krävs överskrider mängden tillgängligt diskutrymme. - {\WixUI_Font_Title}Slut på diskutrymme - {120}{70}{70}{70}{70} - Du kan även välja att stänga av installationsprogrammets återställningsfunktion. Återställningsfunktionen gör det möjligt för installationsprogrammet att återställa datorn om installationen avbryts. Klicka på Ja om du vill ta risken att stänga av återställningsfunktionen. - - Installationsguiden för [ProductName] - WixUI_Bmp_Dialog - Vänta medan installationsguiden förbereder installationen. - {\WixUI_Font_Bigger}Välkommen till installationsguiden för [ProductName] - - Installationsguiden för [ProductName] - WixUI_Bmp_Banner - Vänta medan [ProductName] installeras. - {\WixUI_Font_Title}[ProductName] installeras - Vänta medan [ProductName] ändras av installationsguiden. - {\WixUI_Font_Title}Ändrar [ProductName] - Vänta medan [ProductName] repareras. - {\WixUI_Font_Title}[ProductName] repareras - Vänta medan [ProductName] tas bort av installationsguiden. - {\WixUI_Font_Title}[ProductName] tas bort - Vänta medan [ProductName] uppdateras. - {\WixUI_Font_Title}[ProductName] uppdateras - Filöverföringen är klar - Status: - - Installationsguiden för [ProductName] - &Installera - WixUI_Bmp_Dialog - Installationsguiden slutför installationen av [ProductName] på datorn. Klicka på Installera om du vill fortsätta eller på Avbryt om du vill avsluta installationsguiden. - {\WixUI_Font_Bigger}Installationen av [ProductName] återupptas - - Installationsguiden för [ProductName] - S&tandard - Standardinstallation - Anpassa&d - Anpassad installation - F&ullständig - Fullständig installation - WixUI_Bmp_Banner - {\WixUI_Font_Title}Välj installationstyp - Välj den installationstyp som passar dig bäst - Installerar de vanligaste programfunktionerna. Rekommenderas för de flesta användare. - Användaren kan välja vilka programfunktioner som ska installeras och var de ska installeras. Rekommenderas för avancerade användare. - Alla program installeras. Kräver mest diskutrymme. - - Installationsguiden för [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Installationsguiden för [ProductName] avbröts - Installationen av [ProductName] avbröts. Systemet har inte ändrats. Om du vill installera programmet vid ett senare tillfälle kan du köra installationsprogrammet igen. - Klicka på Slutför om du vill avsluta installationsguiden. - - Installationsguiden för [ProductName] - WixUI_Bmp_Banner - &Installera - Klicka på Installera om du vill påbörja installationen. Klicka på Föregående om du vill granska eller ändra någon installationsinställning. Klicka på Avbryt om du vill avsluta guiden. - {\WixUI_Font_Title}Klart för installation av [ProductName] - &Ändra - Klicka på Ändra om du vill påbörja installationen. Klicka på Föregående om du vill granska eller ändra någon installationsinställning. Klicka på Avbryt om du vill avsluta guiden. - {\WixUI_Font_Title}Klart för ändring av [ProductName] - Re&parera - Klicka på Reparera om du vill reparera installationen av [ProductName]. Klicka på Föregående om du vill granska eller ändra någon installationsinställning. Klicka på Avbryt om du vill avsluta guiden. - {\WixUI_Font_Title}Klart för reparation av [ProductName] - &Ta bort - Klicka på Ta bort om du vill ta bort [ProductName] från datorn. Klicka på Föregående om du vill granska eller ändra någon installationsinställning. Klicka på Avbryt om du vill avsluta guiden. - {\WixUI_Font_Title}Klart för borttagning av [ProductName] - &Uppdatera - Klicka på Uppdatera om du vill uppdatera [ProductName] på datorn. Klicka på Föregående om du vill granska eller ändra någon installationsinställning. Klicka på Avbryt om du vill avsluta guiden. - {\WixUI_Font_Title}Klart för uppdatering av [ProductName] - - Installationsguiden för [ProductName] - &Återgå - Vänta medan installationsprogrammet kontrollerar hur mycket diskutrymme som krävs. - WixUI_Ico_Exclam - Utropstecken - - Installationsguiden för [ProductName] - WixUI_Bmp_Dialog - [ProductName] installeras på datorn. Klicka på Nästa om du vill fortsätta eller på Avbryt om du vill avsluta installationsguiden. - [ProductName] uppdateras på datorn. Klicka på Nästa om du vill fortsätta eller på Avbryt om du vill avsluta installationsguiden. - {\WixUI_Font_Bigger}Välkommen till installationsguiden för [ProductName] - - Installationsguiden för [ProductName] - WixUI_Bmp_Dialog - Jag &accepterar villkoren i licensavtalet - &Installera - &Uppdatera - {\WixUI_Font_Title}Läs licensavtalet för [ProductName] - - Installationen kontrolleras - Nya filer kopieras - Fil: [1], katalog: [9], storlek: [6] - Filer för nätverksinstallation kopieras - Fil: [1], katalog: [9], storlek: [6] - Utrymmeskrav beräknas - Utrymmeskrav beräknas - Utrymmeskrav beräknas - Genvägar skapas - Genväg: [1] - Kvalificerade komponenter publiceras - Komponent-ID: [1], kvalificerare: [2] - Produktfunktioner publiceras - Funktion: [1] - Produktinformation publiceras - Klasservrar registreras - Klass-ID: [1] - Tilläggsservrar registreras - Tillägg: [1] - MIME-information registreras - MIME-innehållstyp: [1], tillägg: [2] - Programidentifierare registreras - Program-ID: [1] - Registerutrymme allokeras - Tillgängligt utrymme: [1] - Sökning efter installerade program sker - Egenskap: [1], signatur: [2] - Körbara filer binds - Fil: [1] - Söker efter kvalificerande produkter - Mappar skapas - Mapp: [1] - Tjänster tas bort - Tjänst: [1] - Dubblettfiler skapas - Fil: [1], katalog: [9], storlek: [6] - Söker efter relaterade program - Följande program hittades: [1] - ODBC-komponenter installeras - Nya tjänster installeras - Tjänst: [2] - Startförhållanden utvärderas - Funktionstillstånd flyttas över från relaterade program - Program: [1] - Filer flyttas - Fil: [1], katalog: [9], storlek: [6] - Filer korrigeras - Fil: [1], katalog: [2], storlek: [3] - Komponentregistrering uppdateras - Program och komponenter för COM+ registreras - Program-ID: [1]{{, programtyp: [2], användare: [3], RSN: [4]}} - Teckensnitt registreras - Teckensnitt: [1] - Produkten registreras - [1] - Typbibliotek registreras - Biblioteks-ID: [1] - Användare registreras - [1] - Dubblettfiler tas bort - Fil: [1], katalog: [9] - Miljövariabler uppdateras - Namn: [1], värde: [2], åtgärd: [3] - Program tas bort - Program: [1], kommandorad: [2] - Filer tas bort - Fil: [1], katalog: [9] - Mappar tas bort - Mapp: [1] - INI-filsposter tas bort - Fil: [1], avsnitt: [2], nyckel: [3], värde: [4] - ODBC-komponenter tas bort - Systemregistervärden tas bort - Nyckel: [1], namn: [2] - Genvägar tas bort - Genväg: [1] - Söker efter kvalificerande produkter - Moduler registreras - Fil: [1], mapp: [2] - Moduler avregistreras - Fil: [1], mapp: [2] - ODBC-kataloger initieras - Tjänster startas - Tjänst: [1] - Tjänster stoppas - Tjänst: [1] - Kvalificerade komponenter avpubliceras - Komponent-ID: [1], kvalificerare: [2] - Produktfunktioner avpubliceras - Funktion: [1] - Klasservrar avregistreras - Klass-ID: [1] - COM+-program och -komponenter avregistreras - Program-Id: [1]{{, Programtyp: [2]}} - Tilläggsservrar avregistreras - Tillägg: [1] - Teckensnitt avregistreras - Teckensnitt: [1] - MIME-information avregistreras - MIME-innehållstyp: [1], tillägg: [2] - Programidentifierare avregistreras - Program-ID: [1] - Typbibliotek avregistreras - Biblioteks-ID: [1] - Miljövariabler uppdateras - Namn: [1], värde: [2], åtgärd: [3] - Värden i INI-filer skrivs - Fil: [1], avsnitt: [2], nyckel: [3], värde: [4] - Värden skrivs till systemregistret - Nyckel: [1], namn: [2], värde: [3] - Programmet annonseras - Skriptåtgärder skapas: - [1] - Installerar systemkatalog - Fil: [1], Beroenden:[2] - Sammansättningsinformation publiceras - Programkontext:[1], sammansättningsnamn:[2] - Sammansättningsinformation avpubliceras - Programkontext:[1], sammansättningsnamn:[2] - Följande åtgärd ångras: - [1] - Säkerhetskopierade filer tas bort - Fil: [1] - Flyttade filer tas bort - Fil: [1], katalog: [9] - Produktinformation avpubliceras - - {{Oåterkalleligt fel: }} - {{Fel [1]. }} - Varning [1]. - Information [1]. - Ett oväntat fel uppstod när det här paketet installerades. Detta kan tyda på ett problem med paketet. Felkod: [1]. {{Argument: [2], [3], [4]}} - {{Disken är full: }} - Åtgärd [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Meddelandetyp: [1], Argument: [2] - === Loggningen startades: [Date] [Time] === - === Loggningen avslutades: [Date] [Time] === - Åtgärden startades [Time]: [1]. - Åtgärden avslutades [Time]: [1]. Returvärde [2]. - Återstående tid: {[1] minuter }{[2] sekunder} - Slut på minne. Stäng andra program innan du försöker igen. - Installationsprogrammet svarar inte. - Installationsprogrammet stoppades för tidigt. - Vänta medan [ProductName] konfigureras - Nödvändig information samlas in... - Äldre versioner av programmet tas bort... - Borttagning av äldre versioner av programmet förbereds... - Installationen av {[ProductName] } slutfördes. - Installationen av {[ProductName] } misslyckades. - Det gick inte att läsa från filen: [2]. {{Systemfel [3].}} Kontrollera att filen finns och att du har behörighet till den. - Det går inte att skapa filen [2]. Det finns redan en katalog med det namnet. Avbryt installationen och försök installera på en annan plats. - Sätt i disken: [2] - Användaren som installerar har otillräckliga privilegier till den här katalogen: [2]. Det går inte att fortsätta installationen. Logga in som administratör eller kontakta systemadministratören. - Det gick inte att skriva till filen: [2]. Kontrollera att du har behörighet till katalogen. - Det gick inte att läsa från filen: [2]. {{Systemfel [3].}} Kontrollera att filen finns och att du har behörighet till den. - Ett annat program har exklusiv åtkomst till filen [2]. Stäng alla andra program och klicka sedan på Försök igen. - Det finns inte tillräckligt med diskutrymme för att installera filen [2]. Frigör diskutrymme och klicka på Försök igen eller klicka på Avbryt om du vill avsluta. - Det gick inte att hitta källfilen: [2]. Kontrollera att filen finns och att du har behörighet till den. - Det gick inte att läsa från filen: [3]. {{Systemfel [2].}} Kontrollera att filen finns och att du har behörighet till den. - Det gick inte att skriva till filen: [3]. {{Systemfel [2].}} Kontrollera att du har behörighet till den katalogen. - Det gick inte att hitta källfilen{{(kabinett)}}: [2]. Kontrollera att filen finns och att du har behörighet till den. - Det går inte att skapa katalogen [2]. En fil med det namnet finns redan. Byt namn eller ta bort filen och klicka på Försök igen eller klicka på Avbryt om du vill avsluta. - Volymen [2] är inte tillgänglig. Välj en annan volym. - Den angivna sökvägen [2] är inte tillgänglig. - Det går inte att skriva till den angivna mappen: [2]. - Ett nätverksfel uppstod vid försök att läsa från följande fil: [2] - Ett fel uppstod när följande katalog skulle skapas: [2] - Ett nätverksfel uppstod vid försök att skapa följande katalog: [2] - Ett nätverksfel uppstod vid försök att öppna följande källfilskabinett: [2] - Den angivna sökvägen är för lång: [2] - Den användare som installerar har inte privilegier att ändra den här filen: [2]. - En del av sökvägen [2] är ogiltig. Antingen så är den tom eller så överskrids den tillåtna maxlängden för systemet. - Mappsökvägen [2] innehåller ord som är ogiltiga i mappsökvägar. - Mappsökvägen [2] innehåller ett ogiltigt tecken. - [2] är inte ett giltigt kort filnamn. - Det gick inte att läsa filsäkerhet: [3] GetLastError: [2] - Ogiltig enhet: [2] - Det gick inte att tillämpa en korrigering på filen [2]. Antagligen har den redan uppdaterats på annat sätt och kan därför inte längre uppdateras av den här snabbkorrigeringen. Kontakta utgivaren av korrigeringen för mer information. {{Systemfel: [3]}} - En fil som krävs kan inte installeras eftersom kabinettfilen [2] inte är digitalt signerad. Detta kan betyda att kabinettfilen är skadad. - En fil som krävs kan inte installeras eftersom kabinettfilen [2] har en ogiltig digital signatur. Detta kan tyda på att kabinettfilen är skadad.{{ Fel [3] returnerades av WinVerifyTrust.}} - Det gick inte att kopiera filen [2]: CRC-fel. - Det gick inte att flytta filen [2]: CRC-fel. - Det gick inte att korrigera filen [2]: CRC-fel. - Filen [2] kan inte installeras eftersom filen inte kan hittas i kabinettfilen [3]. Detta kan tyda på ett nätverksfel, ett problem med att läsa från CD:n eller ett fel i paketet. - Kabinettfilen [2] som krävs för installationen är skadad och kan inte användas. Detta kan tyda på ett nätverksfel, ett problem med att läsa från CD:n eller ett fel i paketet. - Ett fel uppstod när en temporär fil som krävs för att slutföra installationen skulle skapas.{{ Mapp: [3]. Systemfel: [2]}} - Det gick inte att skapa nyckeln [2]. {{Systemfel [3].}} Kontrollera att du har tillräcklig behörighet till nyckeln eller kontakta support. - Det gick inte att öppna nyckeln: [2]. {{Systemfel [3].}} Kontrollera att du har behörighet till nyckeln eller kontakta support. - Det gick inte att ta bort värdet [2] från nyckeln [3]. {{Systemfel [4].}} Kontrollera att du har behörighet till nyckeln eller kontakta support. - Det gick inte att ta bort nyckeln [2]. {{Systemfel [3].}} Kontrollera att du har behörighet till nyckeln eller kontakta support. - Det gick inte att läsa värdet [2] i nyckeln [3]. {{Systemfel [4].}} Kontrollera att du har behörighet till nyckeln eller kontakta support. - Det gick inte att skriva värdet [2] till nyckeln [3]. {{Systemfel [4].}} Kontrollera att du har behörighet till nyckeln eller kontakta support. - Det gick inte att hämta värdenamn för nyckeln [2]. {{Systemfel [3].}} Kontrollera att du har behörighet till nyckeln eller kontakta support. - Det gick inte att hämta undernyckelnamn för nyckeln [2]. {{Systemfel [3].}} Kontrollera att du har behörighet till nyckeln eller kontakta support. - Det gick inte att hämta säkerhetsinformation för nyckeln [2]. {{Systemfel [3].}} Kontrollera att du har behörighet till nyckeln eller kontakta support. - Det gick inte att öka registerutrymmet. Det krävs [2] kB ledigt registerutrymme för att installera det här programmet. - En annan installation pågår. Du måste slutföra den installationen innan du fortsätter med den här. - Det gick inte att komma åt säkerställda data. Kontrollera att installationsprogrammet Windows Installer är korrekt konfigurerat och försök installera igen. - Användaren [2] har tidigare påbörjat en installation av produkten [3]. Den användaren måste köra installationen igen för att kunna använda produkten. Den aktuella installationen fortsätter nu. - Användaren [2] har tidigare påbörjat en installation av produkten [3]. Den användaren måste köra installationen igen för att kunna använda produkten. - Slut på diskutrymme -- Volym: [2]; nödvändigt utrymme: [3] kB; tillgängligt utrymme: [4] kB. Frigör diskutrymme och försök igen. - Vill du avbryta? - Filen [2][3] används{ av följande process: Namn: [4], ID: [5], fönsternamn: [6]}. Stäng programmet och försök igen. - Det går inte att installera den här produkten eftersom produkten [2] redan är installerad. De här två produkterna är inkompatibla. - Det finns inte tillräckligt med diskutrymme på volymen [2] för att fortsätta installera med återställning aktiverat. [3] kB krävs men bara [4] kB är tillgängligt. Klicka på Ignorera om du vill fortsätta installera utan att spara återställningsinformation, klicka på Försök igen om du vill kontrollera nödvändigt diskutrymme igen eller klicka på Avbryt om du vill avbryta installationen. - Det gick inte att komma åt nätverksplatsen [2]. - Du bör stänga följande program innan du fortsätter med installationen: - Det går inte att hitta några tidigare installerade kompatibla produkter på datorn för installation av den här produkten. - Ett fel uppstod när säkerhetsinställningar skulle tillämpas. [2] är inte en giltig användare eller grupp. Detta kan tyda på ett problem med paketet eller med att ansluta till en domänkontrollant i nätverket. Kontrollera att nätverksanslutningen fungerar och klicka därefter på Försök igen eller klicka på Avbryt om du vill avbryta installationen. {{Det gick inte att hitta användarens SID, systemfel [3]}} - Nyckeln [2] är ogiltig. Kontrollera att rätt nyckel har angetts. - Datorn måste startas om innan konfigurationen av [2] kan fortsätta. Klicka på Ja om du vill starta om nu, eller på Nej om du vill starta om manuellt senare. - Du måste starta om systemet för att konfigurationsändringarna som gjorts för [2] ska börja gälla. Klicka på Ja om du vill starta om nu, eller på Nej om du vill starta om manuellt senare. - Installationen av [2] är tillfälligt avbruten. Du måste återställa de ändringar som har gjorts under den installationen för att kunna fortsätta. Vill du återställa ändringarna? - En tidigare installation av den här produkten pågår. Du måste återställa de ändringar som har gjorts under den installationen för att kunna fortsätta. Vill du återställa ändringarna? - Det gick inte att hitta ett installationspaket för produkten [2]. Försök installera igen med ett giltigt exemplar av installationspaketet [3]. - Installationen har slutförts. - Installationen misslyckades. - Produkt: [2] -- [3] - Du kan antingen återställa datorn till dess tidigare tillstånd eller fortsätta installationen senare. Vill du återställa datorn? - Ett fel uppstod när installationsinformation skrevs till disken. Kontrollera att det finns tillräckligt med diskutrymme och klicka på Försök igen eller klicka på Avbryt om du vill avsluta installationen. - Det gick inte att hitta en eller flera av de filer som krävs för att återställa datorn. Det går inte att återställa. - [2] kan inte installera en av de produkter som krävs. Kontakta teknisk support. {{Systemfel: [3].}} - Den tidigare versionen av [2] kan inte tas bort. Kontakta teknisk support. {{Systemfel [3].}} - [2] installerades - [2] konfigurerades - [2] togs bort - Filen [2] nekades på grund av en princip för digitala signaturer. - Tjänsten Windows Installer kunde inte användas. Detta kan ske om Windows körs i felsäkert läge eller om Windows Installer inte har installerats korrekt. Kontakta supportpersonal om du behöver hjälp. - Ett problem har uppstått med det här Windows Installer-paketet. Ett skript som krävs för installationen kunde inte köras. Kontakta support eller paketleverantören. {{Egen åtgärd: [2], skriptfel: [3], [4]: [5] rad [6], kolumn [7], [8] }} - Ett problem har uppstått med det här Windows Installer-paketet. Ett program som krävs för installationen kunde inte köras. Kontakta support eller paketets återförsäljare. {{Åtgärd: [2], plats: [3], kommando: [4] }} - Ett problem har uppstått med det här Windows Installer-paketet. Ett program som körs under installationen slutfördes inte korrekt. Kontakta support eller paketleverantören. {{Åtgärd: [2], plats: [3], kommando: [4] }} - Ett problem har uppstått med det här Windows Installer-paketet. En DLL-fil som krävs för installationen kunde inte köras. Kontakta support eller paketleverantören. {{Åtgärd: [2], plats: [3], bibliotek: [4] }} - Borttagning har slutförts. - Borttagning misslyckades. - Annonsering har slutförts. - Annonsering misslyckades. - Konfigureringen har slutförts. - Konfigureringen misslyckades. - Du måste vara administratör för att kunna ta bort det här programmet. Logga in som administratör och försök igen eller kontakta teknisk support. - Källinstallationspaketet för produkten [2] är inte synkroniserat med klientpaketet. Försök installera igen med ett giltigt exemplar av installationspaket [3]. - Du måste starta om datorn för att slutföra installationen av [2]. Andra användare är för tillfället inloggade på den här datorn. En omstart kan göra att hela eller delar av deras arbete går förlorat. Vill du starta om datorn nu? - Sökvägen [2] är ogiltig. Ange en giltig sökväg. - Slut på minne. Stäng andra program innan du försöker igen. - Det finns ingen disk i enhet [2]. Sätt i en disk och klicka på Försök igen eller klicka på Avbryt om du vill gå tillbaka till den volym som angavs tidigare. - Det finns ingen disk i enhet [2]. Sätt i en disk och klicka på Försök igen eller klicka på Avbryt om du vill gå tillbaka och välja en annan volym. - Mappen [2] finns inte. Ange en sökväg till en befintlig mapp. - Du har inte behörighet att läsa den här mappen. - Det gick inte att bestämma en giltig målmapp för installationen. - Det gick inte att läsa från källdatabasen för installation: [2]. - Omstart schemaläggs: ett filnamn ändras från [2] till [3]. En omstart krävs för att åtgärden ska slutföras. - Omstart schemaläggs: filen [2] tas bort. En omstart krävs för att åtgärden ska slutföras. - Det gick inte att registrera modulen [2]. HRESULT [3]. Kontakta support. - Det gick inte att avregistrera modulen [2]. HRESULT [3]. Kontakta support. - Det gick inte att cachelagra paketet [2]. Fel: [3]. Kontakta support. - Det gick inte att registrera teckensnittet [2]. Kontrollera att du har behörighet att installera teckensnitt och att datorn stöder det här teckensnittet. - Det gick inte att avregistrera teckensnittet [2]. Kontrollera att du har behörighet att ta bort teckensnitt. - Det gick inte att skapa genvägen [2]. Kontrollera att målmappen finns och att du har behörighet till den. - Det gick inte att ta bort genvägen [2]. Kontrollera att genvägsfilen finns och att du kan komma åt den. - Det gick inte att registrera typbiblioteket för filen [2]. Kontakta support. - Det gick inte att avregistrera typbiblioteket för filen [2]. Kontakta support. - Det gick inte att uppdatera INI-filen [2][3]. Kontrollera att filen finns och att du har behörighet till den. - Det gick inte att schemalägga att filen [2] ska ersätta filen [3] vid omstart. Kontrollera att du har behörighet att skriva till filen [3]. - Det gick inte att ta bort ODBC-drivrutinshanteraren, ODBC-fel [2]: [3]. Kontakta support. - Det gick inte att installera ODBC-drivrutinshanteraren, ODBC-fel [2]: [3]. Kontakta support. - Det gick inte att ta bort ODBC-drivrutinen [4], ODBC-fel [2]: [3]. Kontrollera att du har behörighet att ta bort ODBC-drivrutiner. - Det gick inte att installera ODBC-drivrutinen [4], ODBC-fel [2]: [3]. Kontrollera att filen [4] finns och att du har behörighet till den. - Det gick inte att konfigurera ODBC-datakällan [4], ODBC-fel [2]: [3]. Kontrollera att filen [4] finns och att du har behörighet till den. - Det gick inte att starta tjänsten [2] ([3]). Kontrollera att du har tillräckliga privilegier för att starta systemtjänster. - Det gick inte att stoppa tjänsten [2] ([3]). Kontrollera att du har tillräckliga privilegier för att stoppa systemtjänster. - Det gick inte att ta bort tjänsten [2] ([3]). Kontrollera att du har tillräckliga privilegier för att ta bort systemtjänster. - Det gick inte att installera tjänsten [2] ([3]). Kontrollera att du har tillräckliga privilegier för att installera systemtjänster. - Det gick inte att uppdatera miljövariabeln [2]. Kontrollera att du har tillräckliga privilegier för att ändra miljövariabler. - Du har inte tillräckliga privilegier för att slutföra installationen för alla användare på datorn. Logga in som administratör och försök installera igen. - Det gick inte att ange filsäkerhet för filen [3]. Fel: [2]. Kontrollera att du har tillräckliga privilegier för att ändra säkerhetsbehörigheten för den här filen. - Komponenttjänsterna (COM+ 1.0) har inte installerats på datorn. Den här installationen kan inte slutföras utan komponenttjänsterna. Komponenttjänsterna ingår i Windows 2000. - Fel uppstod när COM+-programmet skulle registreras. Kontakta support för mer information. - Fel uppstod när COM+-programmet skulle avregistreras. Kontakta support för mer information. - Beskrivningen för tjänsten [2] ([3]) kunde inte ändras. - Tjänsten Windows Installer kan inte uppdatera systemfilen [2] eftersom den skyddas av Windows. Du kanske måste uppdatera operativsystemet för att det här programmet ska fungera korrekt. {{Paketversion: [3], OS-skyddad version: [4]}} - Tjänsten Windows Installer kan inte uppdatera den skyddade Windows-filen [2]. {{Paketversion: [3], OS-skyddad version: [4], SFP-fel: [5]}} - Tjänsten Windows Installer kunde inte uppdatera en eller fler skyddade Windows-filer. {{SFP-fel: [2]. Skyddade filer:\r\n[3]}} - Användarinstallationer har inaktiverats av en princip på datorn. - Ett fel uppstod när paketet [6] skulle installeras. Se Hjälp och support för mer information. HRESULT: [3]. {{paketets gränssnitt: [4], funktion: [5], komponent: [2]}} - Ett fel uppstod när paketet [6] skulle installeras. Paketet har inte ett starkt namn eller är inte signerad med minsta nyckellängd. HRESULT: [3]. {{paketets gränssnitt: [4], funktion: [5], komponent: [2]}} - Ett fel uppstod när paketet [6] skulle installeras. Signaturen och/eller katalogen kunde inte bekräftas eller är inte giltiga. HRESULT: [3]. {{paketets gränssnitt: [4], funktion: [5], komponent: [2]}} - Ett fel uppstod när paketet [6] skulle installeras. Det gick inte att hitta en eller flera moduler. HRESULT: [3]. {{paketets gränssnitt: [4], funktion: [5], komponent: [2]}} - - byte - GB - kB - MB - Hela funktionen kommer att vara otillgänglig - Funktionen installeras vid behov - Hela funktionen installeras för att köras från CD:n - Hela funktionen installeras på den lokala hårddisken - Hela funktionen installeras för att köras från nätverket - Installeras för att köras från CD:n - Installeras på den lokala hårddisken - Installeras för att köras från nätverket - Mapp|Ny mapp - Nödvändig information samlas in... - Funktionen installeras inte - Funktionen installeras vid behov - Funktionen installeras för att köras från CD:n - Funktionen installeras på den lokala hårddisken - Funktionen installeras för att köras från nätverket - Funktionen kommer inte att vara tillgänglig - Installeras vid behov - Funktionen kommer att kunna köras från CD:n - Funktionen installeras på den lokala hårddisken - Funktionen kommer att kunna köras från nätverket - Funktionen avinstalleras fullständigt och du kommer inte att kunna köra den från CD:n - Funktionen ändras från att kunna köras från CD:n till att installeras vid behov - Funktionen kommer även fortsättningsvis att köras från CD:n - Funktionen ändras från att kunna köras från CD:n till att installeras på den lokala hårddisken - Funktionen frigör [1] på hårddisken. - Funktionen kräver [1] på hårddisken. - Kostnaderna för funktionen kompileras... - Funktionen tas bort helt - Funktionen tas bort från den lokala hårddisken men kommer att installeras vid behov - Funktionen tas bort från den lokala hårddisken men kan även fortsättningsvis köras från CD:n - Funktionen kommer även fortsättningsvis att finnas på den lokala hårddisken - Funktionen tas bort från den lokala hårddisken men kan även fortsättningsvis köras från nätverket - Funktionen avinstalleras helt och kan inte köras från nätverket - Funktionen ändras från att kunna köras från nätverket till att installeras vid behov - Funktionen ändras från att kunna köras från nätverket till att installeras på den lokala hårddisken - Funktionen kommer även fortsättningsvis att köras från nätverket - Funktionen frigör [1] på den lokala hårddisken. [2] av [3] underfunktioner har valts. Underfunktionerna frigör [4] på hårddisken. - Funktionen frigör [1] på den lokala hårddisken. [2] av [3] underfunktioner har valts. Underfunktionerna kräver [4] på hårddisken. - Funktionen kräver [1] på den lokala hårddisken. [2] av [3] underfunktioner har valts. Underfunktionerna frigör [4] på hårddisken. - Funktionen kräver [1] på den lokala hårddisken. [2] av [3] underfunktioner har valts. Underfunktionerna kräver [4] på hårddisken. - Återstående tid: {[1] minuter }{[2] sekunder} - Tillgängligt - Skillnad - Nödvändigt - Diskstorlek - Volym - diff --git a/Src/Localization/WixUI/WixUI_th-TH.wxl b/Src/Localization/WixUI/WixUI_th-TH.wxl deleted file mode 100644 index 83b7717..0000000 --- a/Src/Localization/WixUI/WixUI_th-TH.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - ย้อน&กลับ - ถัด&ไป - ยกเลิก - เ&สร็จสิ้น - &ลองใหม่ - &ละเว้น - &ใช่ - &ไม่ - ตกลง - &พิมพ์ - - การติดตั้ง [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}โปรดอ่านข้อตกลงสิทธิ์การใช้งานของ [ProductName] - ฉัน&ยอมรับเงื่อนไขในข้อตกลงสิทธิ์การใช้งาน - คลิก ติดตั้ง เพื่อติดตั้งผลิตภัณฑ์ด้วยตัวเลือกเริ่มต้นสำหรับผู้ใช้ทุกราย คลิก ขั้นสูง เพื่อเปลี่ยนแปลงตัวเลือกการติดตั้ง - คลิก ติดตั้ง เพื่อติดตั้งผลิตภัณฑ์ด้วยตัวเลือกเริ่มต้นสำหรับคุณเท่านั้น คลิก ขั้นสูง เพื่อเปลี่ยนแปลงตัวเลือกการติดตั้ง - &ติดตั้ง - &ขั้นสูง - 8 - 12 - 9 - 8 - tahoma - - การติดตั้ง [ProductName] - &มองหาใน: - WixUI_Bmp_Up - เลื่อนขึ้นหนึ่งระดับ - WixUI_Bmp_New - สร้างโฟลเดอร์ใหม่ - &ชื่อโฟลเดอร์: - WixUI_Bmp_Banner - เรียกดูโฟลเดอร์ปลายทาง - {\WixUI_Font_Title}เปลี่ยนโฟลเดอร์ปลายทาง - - การติดตั้ง [ProductName] - คุณแน่ใจหรือไม่ว่าคุณต้องการยกเลิกการติดตั้ง [ProductName] - WixUI_Ico_Info - ไอคอนข้อมูล - - การติดตั้ง [ProductName] - ทรีของสิ่งที่เลือก - เรีย&กดู... - ตั้ง&ค่าใหม่ - การใช้&ดิสก์ - WixUI_Bmp_Banner - คลิกไอคอนในทรีด้านล่างเพื่อเปลี่ยนแปลงวิธีการติดตั้งคุณลักษณะ - เลือกวิธีการติดตั้งคุณลักษณะที่คุณต้องการ - {\WixUI_Font_Title}การติดตั้งแบบกำหนดเอง - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - ตำแหน่งที่ตั้ง: - - การติดตั้ง [ProductName] - WixUI_Bmp_Banner - ไดรฟ์ข้อมูลที่เลือกมีเนื้อที่ว่างดิสก์ไม่เพียงพอสำหรับคุณลักษณะที่เลือก คุณสามารถเอาแฟ้มบางแฟ้มออกจากไดรฟ์ข้อมูลที่เลือก ติดตั้งคุณลักษณะน้อยลง หรือเลือกไดรฟ์ปลายทางอื่น - เนื้อที่ดิสก์ที่ต้องการสำหรับการติดตั้งคุณลักษณะที่เลือก - {\WixUI_Font_Title}ความต้องการเนื้อที่ดิสก์ - {120}{70}{70}{70}{70} - - การติดตั้ง [ProductName] - ข้อความข้อมูล - WixUI_Ico_Info - ไอคอนข้อมูล - - การติดตั้ง [ProductName] - WixUI_Bmp_Dialog - คลิกปุ่ม เสร็จสิ้น เพื่อออกจากตัวช่วยสร้างการติดตั้ง - {\WixUI_Font_Bigger}ตัวช่วยสร้างการติดตั้ง [ProductName] ดำเนินการเสร็จสมบูรณ์ - - การติดตั้ง [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}ตัวช่วยสร้างการติดตั้ง [ProductName] สิ้นสุดลงก่อนเสร็จสมบูรณ์ - ตัวช่วยสร้างการติดตั้ง [ProductName] สิ้นสุดลงก่อนเสร็จสมบูรณ์เนื่องจากมีข้อผิดพลาด ระบบของคุณยังไม่ได้ถูกปรับเปลี่ยน เมื่อต้องการติดตั้งโปรแกรมนี้ในภายหลัง ให้เรียกใช้ตัวช่วยสร้างการติดตั้งอีกครั้ง - คลิกปุ่ม เสร็จสิ้น เพื่อออกจากตัวช่วยสร้างการติดตั้ง - - การติดตั้ง [ProductName] - คุณลักษณะผลิตภัณฑ์ - WixUI_Bmp_Banner - เลือกวิธีการติดตั้งคุณลักษณะที่คุณต้องการ - {\WixUI_Font_Title}คุณลักษณะผลิตภัณฑ์ - FeaturesDlgItemDescription - FeaturesDlgItemSize - &ติดตั้ง - เ&ปลี่ยน - - การติดตั้ง [ProductName] - &จบการทำงาน - WixUI_Bmp_Banner - โปรแกรมประยุกต์ต่อไปนี้กำลังใช้งานแฟ้มที่จำเป็นต้องได้รับการปรับปรุงโดยโปรแกรมติดตั้งนี้ ให้ปิดโปรแกรมประยุกต์เหล่านี้แล้วคลิก ลอ&งใหม่ เพื่อทำการติดตั้งต่อไปหรือคลิก จบการทำงาน เพื่อออกจากการติดตั้ง - แฟ้มที่จำเป็นต้องปรับปรุงมีการใช้งานอยู่แล้วในขณะนี้ - {\WixUI_Font_Title}แฟ้มถูกใช้งานอยู่ - - การติดตั้ง [ProductName] - เ&ปลี่ยน... - {\WixUI_Font_Title}โฟลเดอร์ปลายทาง - คลิก ถัดไป เพื่อติดตั้งในโฟลเดอร์เริ่มต้น หรือคลิก เปลี่ยน เพื่อเลือกโฟลเดอร์อื่น - WixUI_Bmp_Banner - ติดตั้ง [ProductName] ใน: - - การติดตั้ง [ProductName] - WixUI_Bmp_Banner - เลือกขอบเขตการติดตั้งและโฟลเดอร์ - {\WixUI_Font_Title}ขอบเขตการติดตั้ง - {\WixUI_Font_Emphasized}ติดตั้งสำหรับ&คุณเท่านั้น ([LogonUser]) - [ProductName] จะได้รับการติดตั้งในโฟลเดอร์ต่อผู้ใช้และจะพร้อมใช้งานสำหรับบัญชีผู้ใช้ของคุณเท่านั้น คุณไม่จำเป็นต้องมีสิทธิ์ผู้ดูแลระบบของเครื่อง - [ProductName] ไม่สนับสนุนการติดตั้งต่อผู้ใช้ - {\WixUI_Font_Emphasized}ติดตั้งสำหรับผู้ใช้&ทุกรายของเครื่องนี้ - [ProductName] จะได้รับการติดตั้งในโฟลเดอร์ต่อเครื่องโดยค่าเริ่มต้น และจะพร้อมใช้งานสำหรับผู้ใช้ทุกราย คุณสามารถเปลี่ยนแปลงโฟลเดอร์การติดตั้งเริ่มต้นได้ คุณต้องมีสิทธิ์ผู้ดูแลระบบของเครื่อง - โ&ฟลเดอร์การติดตั้ง: - เ&ปลี่ยน... - - การติดตั้ง [ProductName] - ไดเรกทอรีการติดตั้งต้องอยู่ในฮาร์ดไดรฟ์ภายในเครื่อง - WixUI_Ico_Info - ไอคอนข้อมูล - - การติดตั้ง [ProductName] - ฉัน&ยอมรับเงื่อนไขในข้อตกลงสิทธิ์การใช้งาน - WixUI_Bmp_Banner - โปรดอ่านข้อตกลงสิทธิ์การใช้งานต่อไปนี้อย่างถี่ถ้วน - {\WixUI_Font_Title}ข้อตกลงสิทธิ์การใช้งานสำหรับผู้ใช้ - - การติดตั้ง [ProductName] - เ&ปลี่ยน - เปลี่ยนแปลงการติดตั้ง - ซ่อ&มแซม - ซ่อมแซมการติดตั้ง - เอ&าออก - เอาการติดตั้งออก - WixUI_Bmp_Banner - เลือกการดำเนินการที่คุณต้องการกระทำ - {\WixUI_Font_Title}เปลี่ยนแปลง ซ่อมแซม หรือเอาการติดตั้งออก - ให้คุณเปลี่ยนแปลงวิธีการติดตั้งคุณลักษณะ - [ProductName] ไม่มีคุณลักษณะที่เลือกได้โดยอิสระ - เอา [ProductName] ออกจากคอมพิวเตอร์ของคุณ - ไม่สามารถเอา [ProductName] ออกได้ - ซ่อมแซมข้อผิดพลาดในการติดตั้งครั้งล่าสุด โดยแก้ไขแฟ้มที่ขาดหายและเสียหาย ทางลัด และรายการรีจิสทรี - ไม่สามารถซ่อมแซม [ProductName] ได้ - - การติดตั้ง [ProductName] - WixUI_Bmp_Dialog - ตัวช่วยสร้างการติดตั้งให้คุณสามารถเปลี่ยนวิธีการติดตั้งคุณลักษณะของ [ProductName] บนคอมพิวเตอร์ของคุณ หรือเอาคุณลักษณะออกจากคอมพิวเตอร์ของคุณ ให้คลิก ถัดไป เพื่อทำต่อไป หรือคลิก ยกเลิก เพื่อออกจากตัวช่วยสร้างการติดตั้ง - {\WixUI_Font_Bigger}ยินดีต้อนรับสู่ตัวช่วยสร้างการติดตั้ง [ProductName] - - การติดตั้ง [ProductName] - WixUI_Bmp_Banner - โปรแกรมประยุกต์ต่อไปนี้กำลังใช้แฟ้มที่จำเป็นต้องได้รับการปรับปรุงโดยโปรแกรมติดตั้งนี้ คุณสามารถปล่อยให้ตัวช่วยสร้างการติดตั้งปิดโปรแกรมประยุกต์เหล่านี้และเริ่มโปรแกรมประยุกต์ใหม่ หรือเริ่มระบบของเครื่องใหม่ในภายหลัง - แฟ้มที่จำเป็นต้องปรับปรุงมีการใช้งานอยู่แล้วในขณะนี้ - {\WixUI_Font_Title}แฟ้มถูกใช้งานอยู่ - ปิ&ดโปรแกรมประยุกต์และเริ่มการทำงานใหม่ - &อย่าปิดโปรแกรมประยุกต์ คุณจำเป็นต้องเริ่มระบบคอมพิวเตอร์ใหม่ - - การติดตั้ง [ProductName] - WixUI_Bmp_Banner - ไดรฟ์ข้อมูลที่เลือกมีเนื้อที่ดิสก์ไม่เพียงพอสำหรับคุณลักษณะที่เลือกอยู่ในขณะนี้ คุณสามารถเอาบางแฟ้มออกจากไดรฟ์ข้อมูลที่เลือก ติดตั้งคุณลักษณะน้อยลง หรือเลือกไดรฟ์ปลายทางอื่น - เนื้อที่ดิสก์ที่ต้องการใช้สำหรับการติดตั้งนั้นมากเกินกว่าเนื้อที่ดิสก์ที่เหลืออยู่ - {\WixUI_Font_Title}เนื้อที่ดิสก์ไม่เพียงพอ - {120}{70}{70}{70}{70} - - การติดตั้ง [ProductName] - WixUI_Bmp_Banner - ไดรฟ์ข้อมูลที่เลือกมีเนื้อที่ดิสก์ไม่เพียงพอสำหรับคุณลักษณะที่เลือกอยู่ในขณะนี้ คุณสามารถเอาบางแฟ้มออกจากไดรฟ์ข้อมูลที่เลือก ติดตั้งคุณลักษณะน้อยลง หรือเลือกไดรฟ์ปลายทางอื่น - เนื้อที่ดิสก์ที่ต้องการใช้สำหรับการติดตั้งนั้นมากเกินกว่าเนื้อที่ดิสก์ที่เหลืออยู่ - {\WixUI_Font_Title}เนื้อที่ดิสก์ไม่เพียงพอ - {120}{70}{70}{70}{70} - อีกทางเลือกหนึ่ง คุณสามารถเลือกปิดใช้งานการดำเนินการย้อนกลับของโปรแกรมติดตั้งได้ การปิดใช้งานการดำเนินการย้อนกลับป้องกันไม่ให้โปรแกรมติดตั้งคืนค่าสถานะดั้งเดิมของคอมพิวเตอร์ของคุณหากโปรแกรมติดตั้งถูกขัดจังหวะไม่ว่าด้วยเหตุใด ให้คลิก ใช่ หากคุณต้องการยอมรับความเสี่ยงจากการปิดใช้งานการดำเนินการย้อนกลับ - - การติดตั้ง [ProductName] - WixUI_Bmp_Dialog - โปรดรอสักครู่ขณะที่ตัวช่วยสร้างการติดตั้งเตรียมการที่จะแนะนำคุณตลอดขั้นตอนการติดตั้ง - {\WixUI_Font_Bigger}ยินดีต้อนรับสู่ตัวช่วยสร้างการติดตั้ง [ProductName] - - การติดตั้ง [ProductName] - WixUI_Bmp_Banner - โปรดรอสักครู่ขณะที่ตัวช่วยสร้างการติดตั้งทำการติดตั้ง [ProductName] - {\WixUI_Font_Title}กำลังติดตั้ง [ProductName] - โปรดรอสักครู่ขณะที่ตัวช่วยสร้างการติดตั้งทำการเปลี่ยนแปลง [ProductName] - {\WixUI_Font_Title}กำลังเปลี่ยนแปลง [ProductName] - โปรดรอสักครู่ขณะที่ตัวช่วยสร้างการติดตั้งทำการซ่อมแซม [ProductName] - {\WixUI_Font_Title}กำลังซ่อมแซม [ProductName] - โปรดรอสักครู่ขณะที่ตัวช่วยสร้างการติดตั้งทำการเอา [ProductName] ออก - {\WixUI_Font_Title}กำลังเอา [ProductName] ออก - โปรดรอสักครู่ขณะที่ตัวช่วยสร้างการติดตั้งปรับปรุง [ProductName] - {\WixUI_Font_Title}กำลังปรับปรุง [ProductName] - การดำเนินการเสร็จสิ้น - สถานะ: - - การติดตั้ง [ProductName] - &ติดตั้ง - WixUI_Bmp_Dialog - ตัวช่วยสร้างการติดตั้งจะทำการติดตั้ง [ProductName] ลงบนคอมพิวเตอร์ของคุณ ให้คลิก ติดตั้ง เพื่อดำเนินการต่อหรือคลิก ยกเลิก เพื่อออกจากตัวช่วยสร้างการติดตั้ง - {\WixUI_Font_Bigger}กำลังดำเนินการตัวช่วยสร้างการติดตั้ง [ProductName] ต่อ - - การติดตั้ง [ProductName] - &ทั่วไป - การติดตั้งแบบทั่วไป - กำหนด&เอง - การติดตั้งแบบกำหนดเอง - &สมบูรณ์ - การติดตั้งแบบสมบูรณ์ - WixUI_Bmp_Banner - {\WixUI_Font_Title}เลือกชนิดการติดตั้ง - เลือกชนิดการติดตั้งที่ตรงกับความต้องการของคุณมากที่สุด - ติดตั้งคุณลักษณะของโปรแกรมโดยทั่วไป แนะนำสำหรับผู้ใช้ส่วนใหญ่ - อนุญาตให้ผู้ใช้เลือกคุณลักษณะของโปรแกรมที่จะติดตั้ง รวมไปถึงตำแหน่งที่จะติดตั้ง แนะนำสำหรับผู้ใช้ขั้นสูง - คุณลักษณะทั้งหมดของโปแกรมจะได้รับการติดตั้ง จำเป็นต้องใช้เนื้อที่ว่างดิสก์มากที่สุด - - การติดตั้ง [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}ตัวช่วยสร้างการติดตั้ง [ProductName] ถูกขัดจังหวะ - การติดตั้ง [ProductName] ถูกขัดจังหวะ ยังไม่มีการปรับเปลี่ยนระบบของคุณ เมื่อต้องการติดตั้งโปรแกรมนี้ในภายหลัง โปรดเรียกใช้การติดตั้งอีกครั้ง - คลิกปุ่ม เสร็จสิ้น เพื่อออกจากตัวช่วยสร้างการติดตั้ง - - การติดตั้ง [ProductName] - WixUI_Bmp_Banner - &ติดตั้ง - คลิก ติดตั้ง เพื่อเริ่มการติดตั้ง คลิก ย้อนกลับ เพื่อตรวจทานหรือเปลี่ยนแปลงการตั้งค่าการติดตั้งของคุณ คลิก ยกเลิก เพื่อออกจากตัวช่วยสร้าง - {\WixUI_Font_Title}พร้อมทำการติดตั้ง [ProductName] - เ&ปลี่ยน - คลิก เปลี่ยน เพื่อเริ่มการติดตั้ง คลิก ย้อนกลับ เพื่อตรวจทานหรือเปลี่ยนแปลงการตั้งค่าการติดตั้งของคุณ คลิก ยกเลิก เพื่อออกจากตัวช่วยสร้าง - {\WixUI_Font_Title}พร้อมทำการเปลี่ยนแปลง [ProductName] - ซ่อ&มแซม - คลิก ซ่อมแซม เพื่อทำการซ่อมแซมการติดตั้ง [ProductName] คลิก ย้อนกลับ เพื่อตรวจทานหรือเปลี่ยนแปลงการตั้งค่าการติดตั้งของคุณ คลิก ยกเลิก เพื่อออกจากตัวช่วยสร้าง - {\WixUI_Font_Title}พร้อมทำการซ่อมแซม [ProductName] - เอ&าออก - คลิก เอาออก เพื่อเอา [ProductName] ออกจากคอมพิวเตอร์ของคุณ คลิก ย้อนกลับ เพื่อตรวจทานหรือเปลี่ยนแปลงการตั้งค่าการติดตั้งของคุณ คลิก ยกเลิก เพื่อออกจากตัวช่วยสร้าง - {\WixUI_Font_Title}พร้อมทำการเอา [ProductName] ออก - &ปรับปรุง - คลิก ปรับปรุง เพื่อปรับปรุง [ProductName] จากคอมพิวเตอร์ของคุณ คลิก ย้อนกลับ เพื่อตรวจทานหรือเปลี่ยนแปลงการตั้งค่าการติดตั้งใดๆ ของคุณ คลิก ยกเลิก เพื่อออกจากตัวช่วยสร้าง - {\WixUI_Font_Title}พร้อมทำการปรับปรุง [ProductName] - - การติดตั้ง [ProductName] - &กลับ - โปรดรอสักครู่ขณะโปรแกรมติดตั้งเสร็จสิ้นการกำหนดความต้องการเนื้อที่ดิสก์ของคุณ - WixUI_Ico_Exclam - ไอคอนเครื่องหมายอัศเจรีย์ - - การติดตั้ง [ProductName] - WixUI_Bmp_Dialog - ตัวช่วยสร้างการติดตั้งจะติดตั้ง [ProductName] บนเครื่องคอมพิวเตอร์ของคุณ คลิก ถัดไป เพื่อดำเนินการต่อ หรือ ยกเลิก เพื่อออกจากตัวช่วยสร้างการติดตั้ง - ตัวช่วยสร้างการติดตั้งจะปรับปรุง [ProductName] บนคอมพิวเตอร์ของคุณ คลิก ถัดไป เพื่อดำเนินการต่อ หรือ ยกเลิก เพื่อออกจากตัวช่วยสร้างการติดตั้ง - {\WixUI_Font_Bigger}ยินดีต้อนรับสู่ตัวช่วยสร้างการติดตั้ง [ProductName] - - การติดตั้ง [ProductName] - WixUI_Bmp_Dialog - ฉัน&ยอมรับตามข้อความในข้อตกลงสิทธิ์การใช้งานนี้ - &ติดตั้ง - &ปรับปรุง - {\WixUI_Font_Title}โปรดอ่านข้อตกลงสิทธิ์การใช้งานของ [ProductName] - - กำลังตรวจสอบความถูกต้องของการติดตั้ง - กำลังคัดลอกแฟ้มใหม่ - แฟ้ม: [1] ไดเรกทอรี: [9] ขนาด: [6] - กำลังคัดลอกแฟ้มติดตั้งเครือข่าย - แฟ้ม: [1] ไดเรกทอรี: [9] ขนาด: [6] - กำลังคำนวณเนื้อที่ที่ต้องการ - กำลังคำนวณเนื้อที่ที่ต้องการ - กำลังคำนวณเนื้อที่ที่ต้องการ - กำลังสร้างทางลัด - ทางลัด: [1] - กำลังเผยแพร่คอมโพเนนต์ที่เหมาะสม - รหัสคอมโพเนนต์: [1] ตัวระบุ: [2] - กำลังเผยแพร่คุณลักษณะของผลิตภัณฑ์ - คุณลักษณะ: [1] - กำลังเผยแพร่ข้อมูลผลิตภัณฑ์ - กำลังลงทะเบียนเซิร์ฟเวอร์คลาส - รหัสคลาส: [1] - กำลังลงทะเบียนเซิร์ฟเวอร์ส่วนขยาย - ส่วนขยาย: [1] - กำลังลงทะเบียนข้อมูล MIME - ชนิดเนื้อหา MIME: [1] ส่วนขยาย: [2] - กำลังลงทะเบียนรหัสโปรแกรม - ProgId: [1] - กำลังจัดสรรเนื้อที่รีจิสทรี - เนื้อที่ว่าง: [1] - กำลังค้นหาโปรแกรมประยุกต์ที่ติดตั้งไว้ - คุณสมบัติ: [1] ลายเซ็น: [2] - กำลังเชื่อมต่อแฟ้มแบบปฏิบัติการได้ - แฟ้ม: [1] - กำลังค้นหาผลิตภัณฑ์ที่เหมาะสม - กำลังสร้างโฟลเดอร์ - โฟลเดอร์: [1] - กำลังลบบริการ - บริการ: [1] - กำลังสร้างแฟ้มสำเนา - แฟ้ม: [1] ไดเรกทอรี: [9] ขนาด: [6] - กำลังค้นหาโปรแกรมประยุกต์ที่เกี่ยวข้อง - โปรแกรมประยุกต์ที่พบ: [1] - กำลังติดตั้งคอมโพเนนต์ ODBC - กำลังติดตั้งบริการใหม่ - บริการ: [2] - กำลังประเมินเงื่อนไขการเปิดใช้ - กำลังย้ายสถานะของคุณลักษณะจากโปรแกรมประยุกต์ที่เกี่ยวข้อง - โปรแกรมประยุกต์: [1] - กำลังย้ายแฟ้ม - แฟ้ม: [1] ไดเรกทอรี: [9] ขนาด: [6] - กำลังแก้ไขแฟ้ม - แฟ้ม: [1] ไดเรกทอรี: [2] ขนาด: [3] - กำลังปรับปรุงการลงทะเบียนคอมโพเนนต์ - กำลังลงทะเบียนโปรแกรมประยุกต์และคอมโพเนนต์ COM+ - AppId: [1]{{, AppType: [2] ผู้ใช้: [3] RSN: [4]}} - กำลังลงทะเบียนแบบอักษร - แบบอักษร: [1] - กำลังลงทะเบียนผลิตภัณฑ์ - [1] - กำลังลงทะเบียนไลบรารีชนิด - LibID: [1] - กำลังลงทะเบียนผู้ใช้ - [1] - กำลังเอาแฟ้มที่ซ้ำกันออก - แฟ้ม: [1] ไดเรกทอรี: [9] - กำลังปรับปรุงสตริงสภาพแวดล้อม - ชื่อ: [1] ค่า: [2] การกระทำ [3] - กำลังเอาโปรแกรมประยุกต์ออก - โปรแกรมประยุกต์: [1] บรรทัดคำสั่ง: [2] - กำลังเอาแฟ้มออก - แฟ้ม: [1] ไดเรกทอรี: [9] - กำลังเอาโฟลเดอร์ออก - โฟลเดอร์: [1] - กำลังเอารายการแฟ้ม INI ออก - แฟ้ม: [1] ส่วน: [2] คีย์: [3] ค่า: [4] - กำลังเอาคอมโพเนนต์ ODBC ออก - กำลังเอาค่ารีจิสทรีของระบบออก - คีย์: [1] ชื่อ: [2] - กำลังเอาทางลัดออก - ทางลัด: [1] - กำลังค้นหาผลิตภัณฑ์ที่เหมาะสม - กำลังลงทะเบียนโมดูล - แฟ้ม: [1] โฟลเดอร์: [2] - กำลังยกเลิกการลงทะเบียนโมดูล - แฟ้ม: [1] โฟลเดอร์: [2] - กำลังเตรียมใช้งานไดเรกทอรี ODBC - กำลังเริ่มต้นบริการ - บริการ: [1] - กำลังหยุดบริการ - บริการ: [1] - กำลังยกเลิกการเผยแพร่คอมโพเนนต์ที่เหมาะสม - รหัสคอมโพเนนต์: [1] ตัวระบุ: [2] - กำลังยกเลิกการเผยแพร่คุณลักษณะของผลิตภัณฑ์ - คุณลักษณะ: [1] - กำลังยกเลิกการลงทะเบียนเซิร์ฟเวอร์คลาส - รหัสคลาส: [1] - กำลังยกเลิกการลงทะเบียนโปรแกรมประยุกต์และคอมโพเนนต์ COM+ - AppId: [1]{{, AppType: [2]}} - กำลังยกเลิกการลงทะเบียนเซิร์ฟเวอร์ส่วนขยาย - ส่วนขยาย: [1] - กำลังยกเลิกการลงทะเบียนแบบอักษร - แบบอักษร: [1] - กำลังยกเลิกการลงทะเบียนข้อมูล MIME - ชนิดเนื้อหา MIME: [1] ส่วนขยาย: [2] - กำลังยกเลิกการลงทะเบียนตัวระบุโปรแกรม - ProgId: [1] - กำลังยกเลิกการลงทะเบียนไลบรารีชนิด - LibID: [1] - กำลังปรับปรุงสตริงสภาพแวดล้อม - ชื่อ: [1] ค่า: [2] การกระทำ [3] - กำลังเขียนค่าของแฟ้ม INI - แฟ้ม: [1] ส่วน: [2] คีย์: [3] ค่า: [4] - กำลังเขียนค่ารีจิสทรีของระบบ - คีย์: [1] ชื่อ: [2] ค่า: [3] - กำลังโฆษณาโปรแกรมประยุกต์ - กำลังสร้างการดำเนินการสคริปต์สำหรับการกระทำ: - [1] - กำลังติดตั้งแค็ตตาล็อกระบบ - แฟ้ม: [1] การขึ้นต่อกัน: [2] - กำลังเผยแพร่ข้อมูลแอสเซมบลี - บริบทของโปรแกรมประยุกต์:[1] ชื่อแอสเซมบลี:[2] - กำลังยกเลิกการเผยแพร่ข้อมูลแอสเซมบลี - บริบทของโปรแกรมประยุกต์:[1] ชื่อแอสเซมบลี:[2] - กำลังย้อนกลับการกระทำ: - [1] - กำลังเอาแฟ้มสำรองออก - แฟ้ม: [1] - กำลังเอาแฟ้มที่ย้ายออก - แฟ้ม: [1] ไดเรกทอรี: [9] - กำลังยกเลิกการเผยแพร่ข้อมูลผลิตภัณฑ์ - - {{ข้อผิดพลาดร้ายแรง: }} - {{ข้อผิดพลาด [1] }} - คำเตือน [1] - ข้อมูล [1] - โปรแกรมติดตั้งพบข้อผิดพลาดที่ไม่คาดคิดในการติดตั้งแพคเกจนี้ ซึ่งอาจชี้ให้เห็นถึงปัญหาที่เกิดขึ้นกับแพคเกจนี้ รหัสข้อผิดพลาดคือ [1] {{อาร์กิวเมนต์คือ: [2], [3], [4]}} - {{ดิสก์เต็ม: }} - การกระทำ [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - ชนิดข้อความ: [1] อาร์กิวเมนต์: [2] - === การบันทึกเริ่มทำงาน: [Date] [Time] === - === การบันทึกหยุดทำงาน: [Date] [Time] === - การกระทำเริ่มทำงาน [Time]: [1] - การกระทำสิ้นสุด [Time]: [1] ค่าที่ส่งกลับ [2] - เวลาที่เหลือ: {[1] นาที }{[2] วินาที} - หน่วยความจำไม่เพียงพอ ให้ปิดโปรแกรมประยุกต์อื่นๆ ก่อน แล้วลองใหม่อีกครั้ง - โปรแกรมติดตั้งไม่ตอบสนองอีกต่อไป - โปรแกรมติดตั้งหยุดทำงานก่อนกำหนด - โปรดรอขณะที่ Windows ทำการกำหนดค่า [ProductName] - กำลังรวบรวมข้อมูลที่จำเป็น... - กำลังเอารุ่นที่เก่ากว่าของโปรแกรมประยุกต์นี้ออก... - กำลังเตรียมเอารุ่นที่เก่ากว่าของโปรแกรมประยุกต์นี้ออก... - การติดตั้ง {[ProductName] }เสร็จสมบูรณ์ - การติดตั้ง {[ProductName] }ล้มเหลว - ข้อผิดพลาดในการอ่านจากแฟ้ม: [2] {{ ข้อผิดพลาดของระบบ [3]}} ให้ตรวจสอบว่ามีแฟ้มอยู่และคุณสามารถเข้าถึงได้ - ไม่สามารถสร้างแฟ้ม '[2]' ได้ มีไดเรกทอรีที่มีชื่อนี้อยู่แล้ว ให้ยกเลิกการติดตั้งและลองติดตั้งไปที่ตำแหน่งที่ตั้งอื่น - โปรดใส่ดิสก์: [2] - โปรแกรมติดตั้งมีสิทธิ์ไม่เพียงพอที่จะเข้าถึงไดเรกทอรีนี้: [2] ไม่สามารถทำการติดตั้งต่อไปได้ ให้เข้าสู่ระบบในฐานะผู้ดูแล หรือติดต่อผู้ดูแลระบบของคุณ - ข้อผิดพลาดในการเขียนไปยังแฟ้ม: [2] ให้ตรวจสอบว่าคุณสามารถเข้าถึงไดเรกทอรีนั้นได้ - ข้อผิดพลาดในการอ่านจากแฟ้ม [2] {{ ข้อผิดพลาดของระบบ [3]}} ให้ตรวจสอบว่ามีแฟ้มอยู่และคุณสามารถเข้าถึงได้ - โปรแกรมประยุกต์อีกโปรแกรมหนึ่งมีเอกสิทธิ์เฉพาะบุคคลในการเข้าถึงแฟ้ม '[2]' โปรดปิดโปรแกรมอื่นทั้งหมดก่อน จากนั้นคลิก ลองใหม่ - มีเนื้อที่ว่างบนดิสก์ไม่เพียงพอที่จะติดตั้งแฟ้มนี้: [2] ให้เพิ่มพื้นที่ว่างดิสก์ และคลิก ลองใหม่ หรือคลิก ยกเลิก เพื่อออกจากการติดตั้ง - ไม่พบแฟ้มต้นฉบับ: [2] ให้ตรวจสอบว่ามีแฟ้มดังกล่าวอยู่และคุณสามารถเข้าถึงแฟ้มนั้นได้ - ข้อผิดพลาดในการอ่านจากแฟ้ม: [3] {{ ข้อผิดพลาดของระบบ [2]}} ให้ตรวจสอบว่ามีแฟ้มอยู่และคุณสามารถเข้าถึงได้ - ข้อผิดพลาดในการเขียนไปยังแฟ้ม: [3] {{ ข้อผิดพลาดของระบบ [2]}} ให้ตรวจสอบว่าคุณสามารถเข้าถึงไดเรกทอรีนั้นได้ - ไม่พบแฟ้มต้นฉบับ{{(cabinet)}}: [2] ให้ตรวจสอบว่ามีแฟ้มนั้นอยู่และคุณสามารถเข้าถึงแฟ้มนั้นได้ - ไม่สามารถสร้างไดเรกทอรี '[2]' ได้ มีแฟ้มที่มีชื่อนี้อยู่แล้ว โปรดเปลี่ยนชื่อหรือเอาแฟ้มนี้ออกก่อน และคลิก ลองใหม่ หรือคลิก ยกเลิก เพื่อจบการทำงาน - ไดรฟ์ข้อมูล [2] ไม่พร้อมใช้งานในขณะนี้ โปรดเลือกไดรฟ์ข้อมูลอื่น - เส้นทางที่ระบุ '[2]' ไม่พร้อมใช้งาน - ไม่สามารถเขียนไปยังโฟลเดอร์ที่ระบุ: [2] - เกิดข้อผิดพลาดเครือข่ายขณะพยายามอ่านจากแฟ้ม: [2] - เกิดข้อผิดพลาดขณะพยายามสร้างไดเรกทอรี: [2] - เกิดข้อผิดพลาดเครือข่ายขณะพยายามสร้างไดเรกทอรี: [2] - เกิดข้อผิดพลาดเครือข่ายขณะพยายามเปิด cabinet ของแฟ้มต้นฉบับ: [2] - เส้นทางที่ระบุยาวเกินไป: [2] - โปรแกรมติดตั้งมีสิทธิ์ไม่เพียงพอที่จะปรับเปลี่ยนแฟ้มนี้: [2] - มีส่วนของเส้นทางโฟลเดอร์ '[2]' ที่ไม่ถูกต้อง ซึ่งอาจว่างเปล่าหรือมีความยาวเกินกว่าที่ระบบอนุญาต - เส้นทางโฟลเดอร์ '[2]' มีคำที่ไม่ถูกต้องอยู่ในเส้นทางโฟลเดอร์ - เส้นทางโฟลเดอร์ '[2]' มีอักขระที่ไม่ถูกต้อง - '[2]' ไม่ใช่ชื่อแฟ้มแบบสั้นที่ถูกต้อง - ข้อผิดพลาดในการรับความปลอดภัยของแฟ้ม: [3] GetLastError: [2] - ไดรฟ์ที่ไม่ถูกต้อง: [2] - เกิดข้อผิดพลาดขณะนำโปรแกรมแก้ไขไปใช้กับแฟ้ม [2] แฟ้มอาจถูกปรับปรุงโดยวิธีอื่น และไม่สามารถปรับเปลี่ยนได้โดยโปรแกรมแก้ไขนี้ สำหรับข้อมูลเพิ่มเติม ให้ติดต่อผู้จำหน่ายโปรแกรมแก้ไข {{ข้อผิดพลาดของระบบ: [3]}} - ไม่สามารถติดตั้งแฟ้มที่จำเป็นได้ เนื่องจากแฟ้ม cabinet [2] ไม่มีการเซ็นชื่อแบบดิจิทัล ซึ่งอาจชี้ว่าแฟ้ม cabinet เสียหาย - ไม่สามารถติดตั้งแฟ้มที่จำเป็นได้ เนื่องจากแฟ้ม cabinet [2] มีลายเซ็นดิจิทัลที่ไม่ถูกต้อง ซึ่งอาจชี้ว่าแฟ้ม cabinet เสียหาย{{ ข้อผิดพลาด [3] ถูกส่งกลับมาโดย WinVerifyTrust}} - ไม่สามารถคัดลอกแฟ้ม [2] ได้อย่างถูกต้อง: ข้อผิดพลาด CRC - ไม่สามารถย้ายแฟ้ม [2] ได้อย่างถูกต้อง: ข้อผิดพลาด CRC - ไม่สามารถแก้ไขแฟ้ม [2] ได้อย่างถูกต้อง: ข้อผิดพลาด CRC - ไม่สามารถติดตั้งแฟ้ม '[2]' ได้เนื่องจากไม่พบแฟ้มในแฟ้ม Cabinet '[3]' ซึ่งอาจชี้ให้เห็นถึงข้อผิดพลาดเครือข่าย ข้อผิดพลาดในการอ่านจากซีดีรอม หรือปัญหาที่เกิดกับแพคเกจนี้ - แฟ้ม Cabinet '[2]' ที่จำเป็นสำหรับการติดตั้งนี้เสียหายและไม่สามารถใช้ได้ ซึ่งอาจชี้ให้เห็นถึงข้อผิดพลาดเครือข่าย ข้อผิดพลาดในการอ่านจากซีดีรอม หรือปัญหาที่เกิดกับแพคเกจนี้ - มีข้อผิดพลาดในการสร้างแฟ้มชั่วคราวที่จำเป็นสำหรับการดำเนินการติดตั้งนี้ให้เสร็จสมบูรณ์{{ โฟลเดอร์: [3] รหัสข้อผิดพลาดของระบบ: [2]}} - ไม่สามารถสร้างคีย์: [2] {{ ข้อผิดพลาดของระบบ [3]}} ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเข้าถึงคีย์นั้น หรือติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถเปิดคีย์: [2] {{ ข้อผิดพลาดของระบบ [3]}} ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเข้าถึงคีย์นั้น หรือติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถลบค่า [2] จากคีย์ [3] {{ ข้อผิดพลาดของระบบ [4]}} ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเข้าถึงคีย์นั้น หรือติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถลบคีย์ [2] {{ ข้อผิดพลาดของระบบ [3]}} ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเข้าถึงคีย์นั้น หรือติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถอ่านค่า [2] จากคีย์ [3] {{ ข้อผิดพลาดของระบบ [4]}} ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเข้าถึงคีย์นั้น หรือติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถเขียนค่า [2] ไปยังคีย์ [3] {{ ข้อผิดพลาดของระบบ [4]}} ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเข้าถึงคีย์นั้น หรือติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถรับชื่อค่าสำหรับคีย์ [2] {{ ข้อผิดพลาดของระบบ [3]}} ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเข้าถึงคีย์นั้น หรือติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถรับชื่อคีย์ย่อยสำหรับคีย์ [2] {{ ข้อผิดพลาดของระบบ [3]}} ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเข้าถึงคีย์นั้น หรือติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถอ่านข้อมูลความปลอดภัยสำหรับคีย์ [2] {{ ข้อผิดพลาดของระบบ [3]}} ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเข้าถึงคีย์นั้น หรือติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถเพิ่มเนื้อที่รีจิสทรีที่พร้อมใช้งาน จำเป็นต้องใช้เนื้อที่รีจิสทรีว่าง [2] กิโลไบต์สำหรับการติดตั้งโปรแกรมประยุกต์นี้ - กำลังดำเนินการติดตั้งอื่นอยู่ คุณต้องดำเนินการติดตั้งนั้นให้เสร็จสมบูรณ์ก่อนที่จะทำการติดตั้งนี้ต่อไป - ข้อผิดพลาดในการเข้าถึงข้อมูลที่มีการรักษาความปลอดภัย โปรดตรวจสอบให้แน่ใจว่ามีการกำหนดค่า Windows Installer อย่างถูกต้อง และลองติดตั้งอีกครั้ง - ผู้ใช้ '[2]' ได้เริ่มต้นการติดตั้งผลิตภัณฑ์ '[3]' แล้วก่อนหน้านี้ ผู้ใช้ดังกล่าวต้องเรียกใช้การติดตั้งนั้นอีกครั้งก่อนจึงจะสามารถใช้ผลิตภัณฑ์นั้นได้ การติดตั้งปัจจุบันของคุณจะดำเนินการต่อไปในขณะนี้ - ผู้ใช้ '[2]' ได้เริ่มต้นการติดตั้งผลิตภัณฑ์ '[3]' แล้วก่อนหน้านี้ ผู้ใช้ดังกล่าวต้องเรียกใช้การติดตั้งนั้นอีกครั้งก่อนจึงจะสามารถใช้ผลิตภัณฑ์นั้นได้ - เนื้อที่ว่างบนดิสก์ไม่เพียงพอ -- ไดรฟ์ข้อมูล: '[2]'; พื้นที่ที่ต้องการ: [3] กิโลไบต์; พื้นที่ที่มีอยู่: [4] กิโลไบต์ ให้เพิ่มเนื้อที่ว่างบนดิสก์แล้วลองใหม่ - คุณแน่ใจหรือไม่ว่าคุณต้องการยกเลิก - แฟ้ม [2][3] กำลังถูกนำไปใช้งาน{ โดยขั้นตอนต่อไปนี้: ชื่อ: [4], Id: [5], ชื่อหน้าต่าง: '[6]'} ให้ปิดโปรแกรมประยุกต์นั้นแล้วลองใหม่ - ผลิตภัณฑ์ '[2]' ถูกติดตั้งไว้แล้ว ซึ่งจะป้องกันไม่ให้มีการติดตั้งผลิตภัณฑ์นี้ ผลิตภัณฑ์ทั้งสองไม่สามารถทำงานร่วมกันได้ - มีเนื้อที่ดิสก์บนไดรฟ์ข้อมูล '[2]' ไม่เพียงพอที่จะทำการติดตั้งต่อไปโดยที่เปิดใช้งานการกู้คืน เนื้อที่ที่ต้องการคือ [3] กิโลไบต์ แต่มีเนื้อที่ที่พร้อมใช้งานเพียง [4] กิโลไบต์ คลิก ละเว้น เพื่อทำการติดตั้งต่อไปโดยไม่บันทึกข้อมูลการกู้คืน คลิก ลองใหม่ เพื่อตรวจสอบเนื้อที่ที่พร้อมใช้งานอีกครั้ง หรือคลิก ยกเลิก เพื่อออกจากการติดตั้ง - ไม่สามารถเข้าถึงตำแหน่งบนเครือข่าย [2] - ควรปิดโปรแกรมประยุกต์ต่อไปนี้ก่อนทำการติดตั้งต่อไป: - ไม่พบผลิตภัณฑ์ที่เข้ากันได้ถูกติดตั้งไว้ก่อนหน้านี้บนเครื่องที่จะติดตั้งผลิตภัณฑ์นี้ - เกิดข้อผิดพลาดขณะใช้การตั้งค่าความปลอดภัย [2] ไม่ใช่ผู้ใช้หรือกลุ่มที่ถูกต้อง อาจเป็นปัญหาที่เกิดขึ้นกับแพคเกจ หรือปัญหาที่เกี่ยวข้องกับตัวควบคุมโดเมนบนเครือข่าย ให้ตรวจสอบการเชื่อมต่อเครือข่ายของคุณ แล้วคลิก ลองใหม่ หรือ ยกเลิก เพื่อจบการติดตั้ง {{ไม่สามารถค้นหาตำแหน่ง SID ของผู้ใช้ ข้อผิดพลาดของระบบ [3]}} - คีย์ [2] ไม่ถูกต้อง ให้ตรวจสอบว่าคุณได้ใส่คีย์ที่ถูกต้อง - โปรแกรมติดตั้งต้องเริ่มการทำงานของระบบของคุณใหม่ ก่อนจึงจะสามารถกำหนดค่า [2] ต่อไปได้ คลิก ใช่ เพื่อเริ่มการทำงานใหม่เดี๋ยวนี้ หรือ ไม่ใช่ หากคุณวางแผนที่จะเริ่มการทำงานใหม่ด้วยตนเองในภายหลัง - คุณต้องเริ่มการทำงานของระบบของคุณใหม่เพื่อให้การเปลี่ยนแปลงการกำหนดค่าที่ทำไว้กับ [2] มีผล คลิก ใช่ เพื่อเริ่มการทำงานใหม่เดี๋ยวนี้ หรือ ไม่ใช่ หากคุณวางแผนที่จะเริ่มการทำงานใหม่ด้วยตนเองในภายหลัง - ในขณะนี้การติดตั้งสำหรับ [2] ถูกหยุดชั่วคราว คุณต้องเลิกทำการเปลี่ยนแปลงที่เกิดจากการติดตั้งนั้นจึงจะทำต่อไปได้ คุณต้องการเลิกทำการเปลี่ยนแปลงเหล่านั้นหรือไม่ - การติดตั้งครั้งก่อนหน้าของผลิตภัณฑ์นี้ยังอยู่ในระหว่างการดำเนินการ คุณต้องเลิกทำการเปลี่ยนแปลงที่เกิดจากการติดตั้งนั้นก่อนจึงจะทำต่อไปได้ คุณต้องการเลิกทำการเปลี่ยนแปลงเหล่านั้นหรือไม่ - ไม่พบแพคเกจการติดตั้งสำหรับผลิตภัณฑ์ [2] ลองติดตั้งอีกครั้งโดยใช้สำเนาที่ถูกต้องของแพคเกจการติดตั้ง '[3]' - การติดตั้งเสร็จสมบูรณ์ - การติดตั้งล้มเหลว - ผลิตภัณฑ์: [2] -- [3] - คุณอาจคืนค่าคอมพิวเตอร์ของคุณกลับสู่สถานะก่อนหน้า หรือทำการติดตั้งต่อในภายหลัง คุณต้องการคืนค่าหรือไม่ - เกิดข้อผิดพลาดขณะเขียนข้อมูลการติดตั้งลงในดิสก์ ให้ตรวจสอบให้แน่ใจว่ามีเนื้อที่ว่างในดิสก์เพียงพอ แล้วคลิก ลองใหม่ หรือ ยกเลิก เพื่อจบการติดตั้ง - ไม่พบแฟ้มที่จำเป็นในการคืนค่าให้กับคอมพิวเตอร์ของคุณให้กลับสู่สถานะก่อนหน้า การคืนค่าไม่สามารถทำได้ - [2] ไม่สามารถติดตั้งหนึ่งในผลิตภัณฑ์ที่จำเป็นได้ ให้ติดต่อกลุ่มสนับสนุนด้านเทคนิคของคุณ {{ข้อผิดพลาดของระบบ: [3]}} - ไม่สามารถเอา [2] รุ่นที่เก่ากว่าออกได้ ให้ติดต่อกลุ่มสนับสนุนด้านเทคนิคของคุณ {{ข้อผิดพลาดของระบบ [3]}} - ติดตั้ง [2] แล้ว - กำหนดค่า [2] แล้ว - เอา [2] ออกแล้ว - แฟ้ม [2] ถูกปฏิเสธโดยนโยบายลายเซ็นดิจิทัล - ไม่สามารถเข้าถึงบริการ Windows Installer ซึ่งอาจเกิดขึ้นหากคุณกำลังเรียกใช้ Windows ในเซฟโหมด หรือหากไม่ได้ติดตั้ง Windows Installer ไว้อย่างถูกต้อง ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณเพื่อขอความช่วยเหลือ - มีปัญหากับแพคเกจ Windows Installer นี้ ไม่สามารถเรียกใช้สคริปต์ที่จำเป็นสำหรับการติดตั้งนี้ให้เสร็จสมบูรณ์ได้ ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนหรือผู้จำหน่ายแพคเกจของคุณ {{การกระทำที่กำหนดเอง [2] ข้อผิดพลาดสคริปต์ [3], [4]: [5] บรรทัด [6], คอลัมน์ [7], [8] }} - มีปัญหากับแพคเกจ Windows Installer นี้ ไม่สามารถเรียกใช้โปรแกรมที่จำเป็นสำหรับการดำเนินการติดตั้งนี้ให้เสร็จสมบูรณ์ได้ ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนหรือผู้ขายแพคเกจของคุณ {{การกระทำ: [2] ตำแหน่ง: [3] คำสั่ง: [4] }} - มีปัญหากับแพคเกจ Windows Installer นี้ โปรแกรมที่เรียกใช้ซึ่งเป็นส่วนหนึ่งของการติดตั้งยังไม่เสร็จสิ้นตามที่คาดไว้ ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนหรือผู้จำหน่ายแพคเกจของคุณ {{การกระทำ [2], ตำแหน่ง: [3], คำสั่ง: [4] }} - มีปัญหากับแพคเกจ Windows Installer นี้ ไม่สามารถเรียกใช้ DLL ที่จำเป็นสำหรับการติดตั้งนี้ให้เสร็จสมบูรณ์ได้ ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนหรือผู้จำหน่ายแพคเกจของคุณ {{การกระทำ [2], รายการ: [3], ไลบรารี: [4] }} - การเอาออกเสร็จสมบูรณ์ - การเอาออกล้มเหลว - การโฆษณาเสร็จสมบูรณ์ - การโฆษณาล้มเหลว - การกำหนดค่าเสร็จสมบูรณ์ - การกำหนดค่าล้มเหลว - คุณต้องเป็นผู้ดูแลจึงจะสามารถเอาโปรแกรมประยุกต์นี้ออกได้ เมื่อต้องการเอาโปรแกรมประยุกต์นี้ออก คุณสามารถเข้าสู่ระบบในฐานะผู้ดูแล หรือติดต่อกลุ่มสนับสนุนด้านเทคนิคของคุณเพื่อขอความช่วยเหลือ - แพคเกจการติดตั้งต้นทางสำหรับผลิตภัณฑ์ [2] มีข้อมูลไม่ตรงกับแพคเกจของไคลเอ็นต์ ให้ลองติดตั้งใหม่อีกครั้งโดยใช้แพคเกจการติดตั้งที่ถูกต้อง '[3]' - ในการติดตั้ง [2] ให้เสร็จสมบูรณ์ คุณต้องเริ่มการทำงานของคอมพิวเตอร์ใหม่ ผู้ใช้อื่นอาจเข้าสู่ระบบคอมพิวเตอร์เครื่องนี้อยู่ในขณะนี้ และการเริ่มการทำงานใหม่อาจทำให้ผู้ใช้อื่นสูญเสียงานที่กระทำอยู่ คุณต้องการเริ่มการทำงานของคอมพิวเตอร์ใหม่เดี๋ยวนี้หรือไม่ - เส้นทาง [2] ไม่ถูกต้อง โปรดระบุเส้นทางที่ถูกต้อง - หน่วยความจำไม่เพียงพอ ให้ปิดโปรแกรมประยุกต์อื่นๆ ก่อน แล้วลองใหม่อีกครั้ง - ไม่มีดิสก์ในไดรฟ์ [2] โปรดใส่ดิสก์แล้วคลิก ลองใหม่ หรือคลิก ยกเลิก เพื่อกลับไปยังไดรฟ์ข้อมูลที่เลือกไว้ก่อนหน้านี้ - ไม่มีดิสก์ในไดรฟ์ [2] โปรดใส่ดิสก์แล้วคลิก ลองใหม่ หรือคลิก ยกเลิก เพื่อกลับไปยังกล่องโต้ตอบการเรียกดู และเลือกไดรฟ์ข้อมูลอื่น - ไม่มีโฟลเดอร์ [2] อยู่ โปรดป้อนเส้นทางไปยังโฟลเดอร์ที่มีอยู่ - คุณมีสิทธิ์ไม่เพียงพอที่จะอ่านโฟลเดอร์นี้ - ไม่สามารถระบุโฟลเดอร์ปลายทางที่ถูกต้องสำหรับการติดตั้งได้ - ข้อผิดพลาดในการพยายามอ่านจากฐานข้อมูลการติดตั้งแฟ้มต้นฉบับ: [2] - การจัดกำหนดการดำเนินการเริ่มระบบของคอมพิวเตอร์ใหม่: การเปลี่ยนชื่อแฟ้ม [2] เป็น [3] จะต้องเริ่มระบบของคอมพิวเตอร์ใหม่เพื่อให้การดำเนินการเสร็จสมบูรณ์ - การจัดกำหนดการดำเนินการเริ่มระบบของคอมพิวเตอร์ใหม่: การลบแฟ้ม [2] จะต้องเริ่มระบบของคอมพิวเตอร์ใหม่เพื่อให้การดำเนินการเสร็จสมบูรณ์ - ไม่สามารถลงทะเบียนมอดูล [2] HRESULT [3] ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถยกเลิกการลงทะเบียนมอดูล [2] HRESULT [3] ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถแคชแพคเกจ [2] ข้อผิดพลาด: [3] ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถลงทะเบียนแบบอักษร [2] ได้ ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอในการติดตั้งแบบอักษร และระบบที่ใช้สนับสนุนแบบอักษรนี้ - ไม่สามารถยกเลิกการลงทะเบียนแบบอักษร [2] ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเอาแบบอักษรออก - ไม่สามารถสร้างทางลัด [2] ให้ตรวจสอบว่ามีโฟลเดอร์ปลายทางอยู่และคุณสามารถเข้าถึงได้ - ไม่สามารถเอาทางลัด [2] ออกได้ ให้ตรวจสอบว่ามีแฟ้มทางลัดอยู่และคุณสามารถเข้าถึงได้ - ไม่สามารถลงทะเบียนไลบรารีชนิดสำหรับแฟ้ม [2] ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถยกเลิกการลงทะเบียนไลบรารีชนิดสำหรับแฟ้ม [2] ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถปรับปรุงแฟ้ม ini [2][3] ให้ตรวจสอบว่ามีแฟ้มดังกล่าวอยู่ และคุณสามารถเข้าถึงแฟ้มนี้ได้ - ไม่สามารถจัดกำหนดการแฟ้ม [2] เพื่อแทนที่แฟ้ม [3] เมื่อเริ่มระบบของคอมพิวเตอร์ใหม่ ให้ตรวจสอบว่าคุณมีสิทธิ์ในการเขียนไปยังแฟ้ม [3] - ข้อผิดพลาดในการเอาตัวจัดการโปรแกรมควบคุม ODBC ออก ข้อผิดพลาด ODBC [2]: [3] ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ข้อผิดพลาดในการติดตั้งตัวจัดการโปรแกรมควบคุม ODBC ข้อผิดพลาด ODBC [2]: [3] ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ข้อผิดพลาดในการเอาโปรแกรมควบคุม ODBC ออก: [4] ข้อผิดพลาด ODBC [2]: [3] ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอในการเอาโปรแกรมควบคุม ODBC ออก - ข้อผิดพลาดในการติดตั้งโปรแกรมควบคุม ODBC: [4] ข้อผิดพลาด ODBC [2]: [3] ให้ตรวจสอบว่ามีแฟ้ม [4] อยู่และคุณสามารถเข้าถึงได้ - ข้อผิดพลาดในการกำหนดค่าแหล่งข้อมูล ODBC: [4] ข้อผิดพลาด ODBC [2]: [3] ให้ตรวจสอบว่ามีแฟ้ม [4] อยู่และคุณสามารถเข้าถึงได้ - บริการ '[2]' ([3]) ไม่สามารถเริ่มทำงาน ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอในการเริ่มบริการของระบบได้ - ไม่สามารถหยุดบริการ '[2]' ([3]) ได้ ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะหยุดบริการของระบบได้ - ไม่สามารถลบบริการ '[2]' ([3]) ออกได้ ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเอาบริการของระบบออกได้ - ไม่สามารถติดตั้งบริการ '[2]' ([3]) ได้ ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะติดตั้งบริการของระบบได้ - ไม่สามารถปรับปรุงตัวแปรสภาพแวดล้อม '[2]' ได้ ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะปรับเปลี่ยนตัวแปรสภาพแวดล้อมได้ - คุณไม่มีสิทธิ์เพียงพอที่จะดำเนินการติดตั้งนี้ให้เสร็จสมบูรณ์สำหรับผู้ใช้เครื่องนี้ทุกราย ให้เข้าสู่ระบบในฐานะผู้ดูแลระบบ แล้วลองทำการติดตั้งนี้อีกครั้ง - ไม่สามารถตั้งค่าความปลอดภัยสำหรับแฟ้ม '[3]' ได้ ข้อผิดพลาด: [2] ให้ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะปรับเปลี่ยนสิทธิด้านความปลอดภัย (security permission) สำหรับแฟ้มนี้ได้ - ไม่มีการติดตั้งบริการคอมโพเนนต์ (COM+ 1.0) บนคอมพิวเตอร์นี้ การติดตั้งนี้จำเป็นต้องใช้บริการคอมโพเนนต์เพื่อดำเนินการให้เสร็จสมบูรณ์ บริการคอมโพเนนต์มีอยู่บน Windows 2000 - ข้อผิดพลาดในการลงทะเบียนโปรแกรมประยุกต์ COM+ สำหรับข้อมูลเพิ่มเติม ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ข้อผิดพลาดในการยกเลิกการลงทะเบียนโปรแกรมประยุกต์ COM+ สำหรับข้อมูลเพิ่มเติม ให้ติดต่อเจ้าหน้าที่ฝ่ายสนับสนุนของคุณ - ไม่สามารถเปลี่ยนคำอธิบายสำหรับบริการ '[2]' ([3]) - บริการ Windows Installer ไม่สามารถปรับปรุงแฟ้มระบบ [2] ได้ เนื่องจากแฟ้มได้รับการป้องกันโดย Windows คุณอาจต้องปรับปรุงระบบปฏิบัติการของคุณเพื่อให้โปรแกรมนี้ทำงานอย่างถูกต้อง {{รุ่นของแพคเกจ: [3], รุ่นที่ได้รับการป้องกันโดย OS: [4]}} - บริการ Windows Installer ไม่สามารถปรับปรุงแฟ้ม Windows [2] ที่ได้รับการป้องกันได้ {{รุ่นของแพคเกจ: [3] รุ่นที่ได้รับการป้องกันโดย OS: [4] ข้อผิดพลาด SFP: [5]}} - บริการ Windows Installer ไม่สามารถปรับปรุงแฟ้ม Windows ที่ได้รับการป้องกันอย่างน้อยหนึ่งแฟ้ม {{ข้อผิดพลาด SFP: [2] รายการแฟ้มที่ได้รับการป้องกัน:\r\n[3]}} - การติดตั้งของผู้ใช้ถูกปิดใช้งานโดยนโยบายของเครื่อง - เกิดข้อผิดพลาดระหว่างการติดตั้งแอสเซมบลี '[6]' โปรดดูวิธีใช้และการสนับสนุนสำหรับข้อมูลเพิ่มเติม HRESULT: [3] {{ส่วนติดต่อแอสเซมบลี: [4] ฟังก์ชัน: [5] คอมโพเนนต์: [2]}} - เกิดข้อผิดพลาดระหว่างการติดตั้งแอสเซมบลี '[6]' แอสเซมบลีไม่มีการตั้งชื่ออย่างชัดเจน หรือไม่มีการลงชื่อโดยมีความยาวคีย์ขั้นต่ำ HRESULT: [3] {{ส่วนติดต่อแอสเซมบลี: [4] ฟังก์ชัน: [5] คอมโพเนนต์: [2]}} - เกิดข้อผิดพลาดระหว่างการติดตั้งแอสเซมบลี '[6]' ไม่สามารถตรวจสอบลายเซ็นหรือแค็ตตาล็อกได้ หรือไม่ถูกต้อง HRESULT: [3] {{ส่วนติดต่อแอสเซมบลี: [4] ฟังก์ชัน: [5] คอมโพเนนต์: [2]}} - เกิดข้อผิดพลาดระหว่างการติดตั้งแอสเซมบลี '[6]' ไม่พบโมดูลอย่างน้อยหนึ่งโมดูลของแอสเซมบลี HRESULT: [3]. {{ส่วนติดต่อแอสเซมบลี: [4] ฟังก์ชัน: [5] คอมโพเนนต์: [2]}} - - ไบต์ - กิกะไบต์ - กิโลไบต์ - เมกะไบต์ - คุณลักษณะทั้งหมดจะไม่พร้อมใช้งาน - คุณลักษณะจะได้รับการติดตั้งเมื่อต้องการ - คุณลักษณะทั้งหมดจะได้รับการติดตั้งให้เรียกใช้จากซีดี - คุณลักษณะทั้งหมดจะได้รับการติดตั้งลงบนฮาร์ดไดรฟ์ภายในเครื่อง - คุณลักษณะทั้งหมดจะได้รับการติดตั้งให้เรียกใช้จากเครือข่าย - จะทำการติดตั้งให้เรียกใช้จากซีดี - จะทำการติดตั้งลงบนฮาร์ดไดรฟ์ภายในเครื่อง - จะทำการติดตั้งให้เรียกใช้จากเครือข่าย - โฟลเดอร์|สร้างโฟลเดอร์ - กำลังรวบรวมข้อมูลที่จำเป็น... - คุณลักษณะนี้จะยังคงไม่ได้รับการติดตั้ง - คุณลักษณะนี้จะถูกตั้งค่าให้ติดตั้งเมื่อต้องการ - คุณลักษณะนี้จะได้รับการติดตั้งให้เรียกใช้จากซีดี - คุณลักษณะนี้จะได้รับการติดตั้งลงบนฮาร์ดไดรฟ์ภายในเครื่อง - คุณลักษณะนี้จะได้รับการติดตั้งให้เรียกใช้จากเครือข่าย - คุณลักษณะนี้จะไม่พร้อมใช้งาน - จะทำการติดตั้งเมื่อต้องการ - คุณลักษณะนี้จะพร้อมให้เรียกใช้จากซีดี - คุณลักษณะนี้จะได้รับการติดตั้งลงบนฮาร์ดไดรฟ์ภายในเครื่องของคุณ - คุณลักษณะนี้จะพร้อมให้เรียกใช้จากเครือข่าย - คุณลักษณะนี้จะถูกถอนการติดตั้งโดยสมบูรณ์ คุณจะไม่สามารถเรียกใช้จากซีดีได้อีก - คุณลักษณะนี้จะเปลี่ยนจากสถานะเรียกใช้จากซีดีเป็นตั้งค่าให้ติดตั้งเมื่อต้องการ - คุณลักษณะนี้จะยังคงให้เรียกใช้จากซีดี - คุณลักษณะนี้จะเปลี่ยนจากสถานะเรียกใช้จากซีดีเป็นทำการติดตั้งลงบนฮาร์ดไดรฟ์ภายในเครื่อง - คุณลักษณะนี้เพิ่มพื้นที่ [1] บนฮาร์ดไดรฟ์ของคุณ - คุณลักษณะนี้ต้องการ [1] บนฮาร์ดไดรฟ์ของคุณ - กำลังรวบรวมความต้องการของคุณลักษณะนี้... - คุณลักษณะนี้จะถูกเอาออกโดยสมบูรณ์ - คุณลักษณะนี้จะถูกเอาออกจากฮาร์ดไดรฟ์ภายในเครื่องของคุณ แต่จะถูกตั้งค่าให้ติดตั้งเมื่อต้องการ - คุณลักษณะนี้จะถูกเอาออกจากฮาร์ดไดรฟ์ภายในเครื่องของคุณ แต่จะยังคงพร้อมให้เรียกใช้จากซีดี - คุณลักษณะนี้จะยังคงอยู่บนฮาร์ดไดรฟ์ภายในเครื่องของคุณ - คุณลักษณะนี้จะถูกเอาออกจากฮาร์ดไดรฟ์ภายในเครื่องของคุณ แต่จะยังคงพร้อมให้เรียกใช้ได้จากเครือข่าย - คุณลักษณะนี้จะถูกถอนการติดตั้งโดยสมบูรณ์ คุณจะไม่สามารถเรียกใช้จากเครือข่ายได้ - คุณลักษณะนี้จะเปลี่ยนจากสถานะเรียกใช้จากเครือข่ายเป็นตั้งค่าให้ติดตั้งเมื่อต้องการ - คุณลักษณะนี้จะเปลี่ยนจากสถานะเรียกใช้จากเครือข่ายเป็นทำการติดตั้งลงบนฮาร์ดไดรฟ์ภายในเครื่อง - คุณลักษณะนี้จะยังคงให้เรียกใช้จากเครือข่าย - คุณลักษณะนี้เพิ่มพื้นที่ว่าง [1] บนฮาร์ดไดรฟ์ของคุณ โดยมี [2] จาก [3] คุณลักษณะย่อยที่ถูกเลือก คุณลักษณะย่อยเพิ่มพื้นที่ว่าง [4] บนฮาร์ดไดรฟ์ของคุณ - คุณลักษณะนี้เพิ่มพื้นที่ว่าง [1] บนฮาร์ดไดรฟ์ของคุณ โดยมี [2] จาก [3] คุณลักษณะย่อยที่ถูกเลือก คุณลักษณะย่อยต้องการ [4] บนฮาร์ดไดรฟ์ของคุณ - คุณลักษณะนี้ต้องการ [1] บนฮาร์ดไดรฟ์ของคุณ โดยมี [2] จาก [3] คุณลักษณะย่อยที่ถูกเลือก คุณลักษณะย่อยเพิ่มพื้นที่ [4] บนฮาร์ดไดรฟ์ของคุณ - คุณลักษณะนี้ต้องการ [1] บนฮาร์ดไดรฟ์ของคุณ โดยมี [2] จาก [3] คุณลักษณะย่อยที่ถูกเลือก คุณลักษณะย่อยต้องการ [4] บนฮาร์ดไดรฟ์ของคุณ - เวลาที่เหลือ: {[1] นาที }{[2] วินาที} - ว่าง - ความแตกต่าง - จำเป็น - ขนาดดิสก์ - ไดรฟ์ข้อมูล - diff --git a/Src/Localization/WixUI/WixUI_tr-TR.wxl b/Src/Localization/WixUI/WixUI_tr-TR.wxl deleted file mode 100644 index 63c9ef5..0000000 --- a/Src/Localization/WixUI/WixUI_tr-TR.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Geri - İ&leri - İptal - &Son - Yeniden &Dene - &Yoksay - &Evet - &Hayır - Tamam - &Yazdır - - [ProductName] Kurulumu - WixUI_Bmp_Banner - {\WixUI_Font_Title}Lütfen [ProductName] Lisans Sözleşmesi'ni okuyun - Lisans Sözleşmesi'nin koşullarını kabul &ediyorum - Ürünü tüm kullanıcılar için varsayılan seçeneklerle yüklemek istiyorsanız Yükle'yi tıklatın. Yükleme seçeneklerini değiştirmek için Gelişmiş'i tıklatın. - Ürünü yalnızca sizin için varsayılan seçeneklerle yüklemek istiyorsanız Yükle'yi tıklatın. Yükleme seçeneklerini değiştirmek için Gelişmiş'i tıklatın. - Yü&kle - &Gelişmiş - 8 - 12 - 9 - 8 - Tahoma - - [ProductName] Kurulumu - K&onum: - WixUI_Bmp_Up - Bir düzey yukarı - WixUI_Bmp_New - Yeni bir klasör oluştur - K&lasör adı: - WixUI_Bmp_Banner - Hedef klasöre gözat - {\WixUI_Font_Title}Hedef klasörü değiştir - - [ProductName] Kurulumu - [ProductName] yükleme işlemini iptal etmek istediğinizden emin misiniz? - WixUI_Ico_Info - Bilgi simgesi - - [ProductName] Kurulumu - Seçim ağacı - Gö&zat... - &Sıfırla - &Disk Kullanımı - WixUI_Bmp_Banner - Özelliklerin yüklenme şeklini değiştirmek için aşağıdaki ağaçtaki simgeleri tıklatın. - Özelliklerin yüklenmesini istediğiniz yöntemi seçin. - {\WixUI_Font_Title}Özel Kurulum - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Konum: - - [ProductName] Kurulumu - WixUI_Bmp_Banner - Vurgulanan birimlerde seçilen özellikler için yeterli disk alanı yok. Vurgulanan birimlerdeki bazı dosyaları kaldırabilir, daha az özellik yükleyebilir ya da farklı hedef sürücüler seçebilirsiniz. - Seçili özelliklerin yüklenmesi için gereken disk alanı. - {\WixUI_Font_Title}Disk Alanı Gereksinimleri - {120}{70}{70}{70}{70} - - [ProductName] Kurulumu - Bilgi metni - WixUI_Ico_Info - Bilgi simgesi - - [ProductName] Kurulumu - WixUI_Bmp_Dialog - Kurulum Sihirbazı'ndan çıkmak için Son düğmesini tıklatın. - {\WixUI_Font_Bigger}[ProductName] Kurulum Sihirbazı tamamlandı - - [ProductName] Kurulumu - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] Kurulum Sihirbazı tamamlanmadan sona erdi - [ProductName] Kurulum Sihirbazı bir hata nedeniyle tamamlanmadan sona erdi. Sisteminizde değişiklik yapılmadı. Daha sonra bu programı yüklemek için Kurulum Sihirbazı'nı yeniden çalıştırın. - Kurulum Sihirbazı'ndan çıkmak için Son düğmesini tıklatın. - - [ProductName] Kurulumu - Ürün özellikleri - WixUI_Bmp_Banner - Özelliklerin yüklenmesini istediğiniz yöntemi seçin. - {\WixUI_Font_Title}Ürün Özellikleri - FeaturesDlgItemDescription - FeaturesDlgItemSize - Yü&kle - &Değiştir - - [ProductName] Kurulumu - Çı&kış - WixUI_Bmp_Banner - Aşağıdaki uygulamalar, bu kurulum tarafından güncelleştirilmesi gereken dosyaları kullanıyor. Söz konusu uygulamaları kapatın ve yükleme işlemine devam etmek için Yeniden &Dene'yi veya yüklemeden çıkmak için Çıkış'ı tıklatın. - Güncelleştirilmesi gereken bazı dosyalar şu anda kullanılıyor. - {\WixUI_Font_Title}Kullanılan Dosyalar - - [ProductName] Kurulumu - &Değiştir... - {\WixUI_Font_Title}Hedef Klasör - Varsayılan klasöre yüklemek için İleri'yi tıklatın veya başka bir klasör seçmek için Değiştir'i tıklatın. - WixUI_Bmp_Banner - [ProductName] ürününün yükleneceği konum: - - [ProductName] Kurulumu - WixUI_Bmp_Banner - Yükleme kapsamını ve klasörünü seçin - {\WixUI_Font_Title}Yükleme Kapsamı - {\WixUI_Font_Emphasized}Yalnızca benim için ([LogonUser]) yükle - [ProductName] kullanıcıya özel bir klasöre yüklenecek yalnızca sizin kullanıcı hesabınız tarafından kullanılabilecek. Yerel Yönetici ayrıcalıklarınız olması gerekmez. - [ProductName] kullanıcıya özel yüklemeyi desteklemiyor. - {\WixUI_Font_Emphasized}Bu &makinede tüm kullanıcılar için yükle - [ProductName] varsayılan olarak genel bir klasöre yüklenecek ve tüm kullanıcılar tarafından kullanılabilecek. Varsayılan yükleme klasörünü değiştirebilirsiniz. Yerel Yönetici ayrıcalıklarına sahip olmanız gerekir. - Yü&kleme klasörü: - &Değiştir... - - [ProductName] Kurulumu - Yükleme dizini yerel bir sabit sürücüde bulunmalıdır. - WixUI_Ico_Info - Bilgi simgesi - - [ProductName] Kurulumu - Lisans Sözleşmesi'nin koşullarını kabul &ediyorum - WixUI_Bmp_Banner - Lütfen aşağıdaki lisans sözleşmesini dikkatle okuyun - {\WixUI_Font_Title}Son Kullanıcı Lisans Sözleşmesi - - [ProductName] Kurulumu - &Değiştir - Yüklemeyi Değiştir - &Onar - Yüklemeyi Onar - &Kaldır - Yüklemeyi Kaldır - WixUI_Bmp_Banner - Gerçekleştirmek istediğiniz işlemi seçin. - {\WixUI_Font_Title}Yüklemeyi değiştirin, onarın veya kaldırın - Özelliklerin yüklenme yöntemini değiştirmenizi sağlar. - [ProductName] ürününde bağımsız olarak seçilebilen özellik yoktur. - [ProductName] ürününü bilgisayarınızdan kaldırır. - [ProductName] kaldırılamıyor. - En son yüklemedeki eksik ve bozuk dosyaları, kısayolları ve kayıt defteri girdilerini düzelterek hataları onarır. - [ProductName] onarılamıyor. - - [ProductName] Kurulumu - WixUI_Bmp_Dialog - Kurulum Sihirbazı, [ProductName] özelliklerinin bilgisayarınıza yüklenme yöntemini değiştirmenize veya ürünü bilgisayarınızdan kaldırmanıza olanak verir. Devam etmek için İleri'yi, Kurulum Sihirbazı'ndan çıkmak içinse İptal'i tıklatın. - {\WixUI_Font_Bigger}[ProductName] Kurulum Sihirbazı'na Hoş Geldiniz - - [ProductName] Kurulumu - WixUI_Bmp_Banner - Aşağıdaki uygulamalar, bu kurulum tarafından güncelleştirilmesi gereken dosyaları kullanıyor. Kurulum Sihirbazı'nın söz konusu uygulamaları kapatmasına ve yeniden başlatmayı denemesine izin verebilir veya makineyi daha sonra yeniden başlatabilirsiniz. - Güncelleştirilmesi gereken bazı dosyalar şu anda kullanılıyor. - {\WixUI_Font_Title}Kullanılan Dosyalar - &Uygulamaları kapat ve bunları yeniden başlatmayı dene. - Uygula&maları kapatma. Yeniden başlatma gerekir. - - [ProductName] Kurulumu - WixUI_Bmp_Banner - Vurgulanan birimlerde şu anda seçili olan özellikler için yeterli disk alanı yok. Vurgulanan birimlerden bazı dosyaları kaldırabilir, daha az özellik yükleyebilir veya farklı bir hedef sürücü seçebilirsiniz. - Yükleme için gereken disk alanı, kullanılabilir disk alanını aşıyor. - {\WixUI_Font_Title}Disk Alanı Yetersiz - {120}{70}{70}{70}{70} - - [ProductName] Kurulumu - WixUI_Bmp_Banner - Vurgulanan birimlerde şu anda seçili olan özellikler için yeterli disk alanı yok. Vurgulanan birimlerden bazı dosyaları kaldırabilir, daha az özellik yükleyebilir veya farklı bir hedef sürücü seçebilirsiniz. - Yükleme için gereken disk alanı, kullanılabilir disk alanını aşıyor. - {\WixUI_Font_Title}Disk Alanı Yetersiz - {120}{70}{70}{70}{70} - İsterseniz, yükleyicinin geri alma özelliğini devre dışı bırakabilirsiniz. Geri alma işlevini devre dışı bırakmak, yüklemenin herhangi bir şekilde kesilmesi durumunda yükleyicinin bilgisayarınızın özgün durumunu geri yüklemesini engeller. Geri alma işlevini devre dışı bırakma riskini göze alıyorsanız Evet'i tıklatın. - - [ProductName] Kurulumu - WixUI_Bmp_Dialog - Kurulum Sihirbazı yükleme sırasında size yol göstermek için hazırlanırken lütfen bekleyin. - {\WixUI_Font_Bigger}[ProductName] Kurulum Sihirbazı'na Hoş Geldiniz - - [ProductName] Kurulumu - WixUI_Bmp_Banner - Kurulum Sihirbazı [ProductName] ürününü yüklerken lütfen bekleyin. - {\WixUI_Font_Title}[ProductName] yükleniyor - Kurulum Sihirbazı [ProductName] ürününü değiştirirken lütfen bekleyin. - {\WixUI_Font_Title}[ProductName] değiştiriliyor - Kurulum Sihirbazı [ProductName] ürününü onarırken lütfen bekleyin. - {\WixUI_Font_Title}[ProductName] onarılıyor - Kurulum Sihirbazı [ProductName] ürününü kaldırırken lütfen bekleyin. - {\WixUI_Font_Title}[ProductName] kaldırılıyor - Kurulum Sihirbazı [ProductName] ürününü güncelleştirirken lütfen bekleyin. - {\WixUI_Font_Title}[ProductName] güncelleştiriliyor - Tamamlandı - Durum: - - [ProductName] Kurulumu - Yü&kle - WixUI_Bmp_Dialog - Kurulum Sihirbazı [ProductName] ürününü bilgisayarınıza yüklemeyi tamamlayacak. Devam etmek için Yükle'yi, Kurulum Sihirbazı'ndan çıkmak içinse İptal'i tıklatın. - {\WixUI_Font_Bigger}[ProductName] Kurulum Sihirbazı sürdürülüyor - - [ProductName] Kurulumu - &Normal - Normal Yükleme - Ö&zel - Özel Yükleme - &Tam - Tam Yükleme - WixUI_Bmp_Banner - {\WixUI_Font_Title}Kurulum Türünü Seç - Gereksinimlerinize en uygun kurulum türünü seçin - En sık kullanılan program özelliklerini yükler. Çoğu kullanıcı için önerilir. - Kullanıcıların yüklenecek program özelliklerini ve bu özelliklerin yükleneceği yeri seçmesine olanak verir. İleri düzey kullanıcılar için önerilir. - Tüm program özellikleri yüklenecek. En fazla disk alanını gerektirir. - - [ProductName] Kurulumu - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] Kurulum Sihirbazı'nın çalışması kesildi - [ProductName] kurulumu kesildi. Sisteminizde değişiklik yapılmadı. Daha sonra bu programı yüklemek isterseniz, lütfen yüklemeyi yeniden çalıştırın. - Kurulum Sihirbazı'ndan çıkmak için Son düğmesini tıklatın. - - [ProductName] Kurulumu - WixUI_Bmp_Banner - Yü&kle - Yüklemeyi başlatmak için Yükle'yi tıklatın. Yükleme ayarlarınızdan herhangi birini gözden geçirmek veya değiştirmek için Geri'yi tıklatın. Sihirbazdan çıkmak için İptal'i tıklatın. - {\WixUI_Font_Title}[ProductName] ürünü yüklenmeye hazır - &Değiştir - Yükleme işlemini başlatmak için Değiştir'i tıklatın. Yükleme ayarlarınızdan herhangi birini gözden geçirmek veya değiştirmek için Geri'yi tıklatın. Sihirbazdan çıkmak için İptal'i tıklatın. - {\WixUI_Font_Title}[ProductName] ürünü değiştirilmeye hazır - &Onar - [ProductName] yüklemesini onarmak için Onar'ı tıklatın. Yükleme ayarlarınızdan herhangi birini gözden geçirmek veya değiştirmek için Geri'yi tıklatın. Sihirbazdan çıkmak için İptal'i tıklatın. - {\WixUI_Font_Title}[ProductName] ürünü onarılmaya hazır - &Kaldır - [ProductName] ürününü bilgisayarınızdan kaldırmak için Kaldır'ı tıklatın. Yükleme ayarlarınızdan herhangi birini gözden geçirmek veya değiştirmek için Geri'yi tıklatın. Sihirbazdan çıkmak için İptal'i tıklatın. - {\WixUI_Font_Title}[ProductName] ürünü kaldırılmaya hazır - &Güncelleştir - [ProductName] ürününü bilgisayarınızdan güncelleştirmek için Güncelleştir'i tıklatın. Yükleme ayarlarınızdan herhangi birini gözden geçirmek veya değiştirmek için Geri'yi tıklatın. Sihirbazdan çıkmak için İptal'i tıklatın. - {\WixUI_Font_Title}[ProductName] ürünü güncelleştirilmeye hazır - - [ProductName] Kurulumu - &Geri Dön - Yükleyici disk alanı gereksinimlerinizi belirlerken lütfen bekleyin. - WixUI_Ico_Exclam - Ünlem işareti simgesi - - [ProductName] Kurulumu - WixUI_Bmp_Dialog - Kurulum Sihirbazı [ProductName] ürününü bilgisayarınıza yükleyecek. Devam etmek için İleri'yi, Kurulum Sihirbazı'ndan çıkmak içinse İptal'i tıklatın. - Kurulum Sihirbazı [ProductName] ürününü bilgisayarınızda güncelleştirecek. Devam etmek için İleri'yi, Kurulum Sihirbazı'ndan çıkmak içinse İptal'i tıklatın. - {\WixUI_Font_Bigger}[ProductName] Kurulum Sihirbazı'na Hoş Geldiniz - - [ProductName] Kurulumu - WixUI_Bmp_Dialog - Lisans Sözleşmesi'nin koşullarını kabul &ediyorum - Yü&kle - &Güncelleştir - {\WixUI_Font_Title}Lütfen [ProductName] Lisans Sözleşmesi'ni okuyun - - Yükleme doğrulanıyor - Yeni dosyalar kopyalanıyor - Dosya: [1], Dizin: [9], Boyut: [6] - Ağ yükleme dosyaları kopyalanıyor - Dosya: [1], Dizin: [9], Boyut: [6] - Alan gereksinimleri hesaplanıyor - Alan gereksinimleri hesaplanıyor - Alan gereksinimleri hesaplanıyor - Kısayollar oluşturuluyor - Kısayol: [1] - Uygun Bileşenler Yayımlanıyor - Bileşen Kimliği: [1], Niteleyici: [2] - Ürün Özellikleri Yayımlanıyor - Özellik: [1] - Ürün bilgisi yayımlanıyor - Sınıf sunucuları kaydediliyor - Sınıf Kimliği: [1] - Uzantı sunucuları kaydediliyor - Uzantı: [1] - MIME bilgisi kaydediliyor - MIME İçerik Türü: [1], Uzantı: [2] - Program tanımlayıcıları kaydediliyor - Program Kimliği: [1] - Kayıt defteri alanı ayrılıyor - Boş alan: [1] - Yüklü uygulamalar aranıyor - Özellik: [1], İmza: [2] - Yürütülebilir dosyalar bağlanıyor - Dosya: [1] - Koşullara uyan ürünler aranıyor - Klasörler oluşturuluyor - Klasör: [1] - Hizmetler siliniyor - Hizmet: [1] - Yinelenen dosyalar oluşturuluyor - Dosya: [1], Dizin: [9], Boyut: [6] - İlgili uygulamalar aranıyor - Bulunan uygulama: [1] - ODBC bileşenleri yükleniyor - Yeni hizmetler yükleniyor - Hizmet: [2] - Başlatma koşulları değerlendiriliyor - İlgili uygulamalardan özellik durumlarının geçişi yapılıyor - Uygulama: [1] - Dosyalar taşınıyor - Dosya: [1], Dizin: [9], Boyut: [6] - Dosyalara düzeltme eki uygulanıyor - Dosya: [1], Dizin: [2], Boyut: [3] - Bileşen kaydı güncelleştiriliyor - COM+ Uygulamaları ve Bileşenleri kaydediliyor - Uygulama Kimliği: [1]{{, Uygulama Türü: [2], Kullanıcılar: [3], RSN: [4]}} - Yazı tipleri kaydediliyor - Yazı Tipi: [1] - Ürün kaydediliyor - [1] - Tür kitaplıkları kaydediliyor - Kitaplık Kimliği: [1] - Kullanıcı kaydediliyor - [1] - Yinelenen dosyalar kaldırılıyor - Dosya: [1], Dizin: [9] - Ortam dizeleri güncelleştiriliyor - Ad: [1], Değer: [2], Eylem [3] - Uygulamalar kaldırılıyor - Uygulama: [1], Komut satırı: [2] - Dosyalar kaldırılıyor - Dosya: [1], Dizin: [9] - Klasörler kaldırılıyor - Klasör: [1] - INI dosyası girdileri kaldırılıyor - Dosya: [1], Bölüm: [2], Anahtar: [3], Değer: [4] - ODBC bileşenleri kaldırılıyor - Sistem kayıt defteri değerleri kaldırılıyor - Anahtar: [1], Ad: [2] - Kısayollar kaldırılıyor - Kısayol: [1] - Koşullara uyan ürünler aranıyor - Modüller kaydediliyor - Dosya: [1], Klasör: [2] - Modüllerin kaydı siliniyor - Dosya: [1], Klasör: [2] - ODBC dizinleri başlatılıyor - Hizmetler başlatılıyor - Hizmet: [1] - Hizmetler durduruluyor - Hizmet: [1] - Uygun Bileşenler yayımdan kaldırılıyor - Bileşen Kimliği: [1], Niteleyici: [2] - Ürün Özellikleri yayımdan kaldırılıyor - Özellik: [1] - Sınıf sunucularının kaydını sil - Sınıf Kimliği: [1] - COM+ Uygulamaları ve Bileşenleri'nin kaydı siliniyor - Uygulama Kimliği: [1]{{, Uygulama Türü: [2]}} - Uzantı sunucularının kaydı siliniyor - Uzantı: [1] - Yazı tiplerinin kaydı siliniyor - Yazı Tipi: [1] - MIME bilgisinin kaydı siliniyor - MIME İçerik Türü: [1], Uzantı: [2] - Program kimliklerinin kaydı siliniyor - Program Kimliği: [1] - Tür kitaplıklarının kaydı siliniyor - Kitaplık Kimliği: [1] - Ortam dizeleri güncelleştiriliyor - Ad: [1], Değer: [2], Eylem [3] - INI dosyası değerleri yazılıyor - Dosya: [1], Bölüm: [2], Anahtar: [3], Değer: [4] - Sistem kayıt defteri değerleri yazılıyor - Anahtar: [1], Ad: [2], Değer: [3] - Uygulama tanıtılıyor - Eylem için komut dosyası işlemleri oluşturuluyor: - [1] - Sistem kataloğu yükleniyor - Dosya: [1], Bağımlılıklar: [2] - Derleme bilgileri yayımlanıyor - Uygulama Bağlamı: [1], Derleme Adı: [2] - Derleme bilgileri yayımdan kaldırılıyor - Uygulama Bağlamı: [1], Derleme Adı: [2] - Eylem geri alınıyor: - [1] - Yedek dosyalar kaldırılıyor - Dosya: [1] - Taşınan dosyalar kaldırılıyor - Dosya: [1], Dizin: [9] - Ürün bilgisi yayımdan kaldırılıyor - - {{Önemli hata: }} - {{Hata [1]. }} - Uyarı [1]. - Bilgi [1]. - Yükleyici bu paketi yüklerken beklenmedik bir hatayla karşılaştı. Bu, pakette sorun olduğunu gösteriyor olabilir. Hata kodu: [1]. {{Bağımsız değişkenler: [2], [3], [4]}} - {{Disk dolu: }} - Eylem [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - İleti türü: [1], Bağımsız değişken: [2] - === Günlük başladı: [Date] [Time] === - === Günlük durdu: [Date] [Time] === - Eylem başladı [Time]: [1]. - Eylem sona erdi [Time]: [1]. Dönen değer [2]. - Kalan süre: {[1] dakika }{[2] saniye} - Bellek yetersiz. Yeniden denemeden önce diğer uygulamaları kapatın. - Yükleyici artık yanıt vermiyor. - Yükleyici beklenenden önce durdu. - Windows, [ProductName] ürününü yapılandırırken lütfen bekleyin - Gerekli bilgiler toplanıyor... - Bu uygulamanın eski sürümleri kaldırılıyor... - Bu uygulamanın eski sürümlerini kaldırma hazırlığı yapılıyor... - {[ProductName] }Kurulumu başarıyla tamamlandı. - {[ProductName] }Kurulumu başarısız oldu. - Dosyadan okuma hatası: [2]. {{ Sistem hatası [3].}} Dosyanın varolduğundan ve dosyaya erişebildiğinizden emin olun. - '[2]' dosyası oluşturulamıyor. Bu ada sahip bir dizin zaten var. Yüklemeyi iptal edin ve farklı bir konuma yüklemeyi deneyin. - Lütfen diski takın: [2] - Yükleyicinin [2] dizinine erişmek için yeterli ayrıcalığı yok. Yükleme işlemi devam edemiyor. Yönetici olarak oturum açın veya sistem yöneticinize başvurun. - Dosyaya yazma hatası: [2]. Bu dizine erişiminizin olduğundan emin olun. - [2] dosyasından okuma hatası. {{ Sistem hatası [3].}} Dosyanın varolduğundan ve dosyaya erişebildiğinizden emin olun. - Başka bir uygulamanın '[2]' dosyasına özel kullanım erişimi var. Lütfen diğer tüm uygulamaları kapatın, sonra Yeniden Dene'yi tıklatın. - Bu dosyayı yüklemek için yeterli disk alanı yok: [2]. Bir miktar disk alanı boşaltın ve Yeniden Dene'yi tıklatın veya çıkmak için İptal'i tıklatın. - Kaynak dosya bulunamadı: [2]. Dosyanın varolduğundan ve dosyaya erişebildiğinizden emin olun. - Dosyadan okuma hatası: [3]. {{ Sistem hatası [2].}} Dosyanın varolduğundan ve dosyaya erişebildiğinizden emin olun. - Dosyaya yazma hatası: [3]. {{ Sistem hatası [2].}} Bu dizine erişiminiz olduğundan emin olun. - Kaynak dosya bulunamadı {{(dolap)}}: [2]. Dosyanın varolduğundan ve dosyaya erişebildiğinizden emin olun. - '[2]' dizini oluşturulamıyor. Bu adda bir dosya zaten var. Lütfen dosyayı yeniden adlandırın veya kaldırın ve Yeniden Dene'yi tıklatın veya çıkmak için İptal'i tıklatın. - [2] birimi şu anda kullanılamıyor. Lütfen başka bir birim seçin. - Belirtilen '[2]' yolu kullanılamıyor. - Belirtilen klasöre yazılamıyor: [2]. - Dosyadan okunmaya çalışılırken bir ağ hatası oluştu: [2] - Dizin oluşturulmaya çalışılırken hata oluştu: [2] - Dizin oluşturulmaya çalışılırken bir ağ hatası oluştu: [2] - Kaynak dosya dolabı açılmaya çalışılırken bir ağ hatası oluştu: [2] - Belirtilen yol çok uzun: [2] - Yükleyicinin bu dosyayı değiştirmek için yeterli ayrıcalığı yok: [2]. - '[2]' klasör yolunun bir bölümü geçersiz. Boş veya sistem tarafından izin verilen uzunluğu aşıyor. - '[2]' klasör yolu, klasör yollarında geçerli olmayan sözcükler içeriyor. - '[2]' klasör yolu geçersiz karakter içeriyor. - '[2]' geçerli bir kısa dosya adı değil. - Dosya güvenliğini alma hatası: [3] GetLastError: [2] - Geçersiz Sürücü: [2] - [2] dosyasına düzeltme eki uygulanırken hata oluştu. Büyük olasılıkla başka bir şekilde güncelleştirilmiş ve artık bu düzeltme eki tarafından değiştirilemiyor. Daha fazla bilgi için düzeltme ekinizin satıcısına başvurun. {{Sistem Hatası: [3]}} - [2] dolap dosyası dijital olarak imzalanmadığından gerekli bir dosya yüklenemiyor. Bu, dolap dosyasının bozuk olduğunu gösteriyor olabilir. - [2] dolap dosyası geçersiz bir dijital imzaya sahip olduğundan gerekli bir dosya yüklenemiyor. Bu, dolap dosyasının bozuk olduğunu gösteriyor olabilir. {{WinVerifyTrust tarafından [3] hatası döndürüldü.}} - [2] dosyası doğru kopyalanamadı: CRC hatası. - [2] dosyası doğru taşınamadı: CRC hatası. - [2] dosyasına düzeltme eki doğru uygulanamadı: CRC hatası. - '[2]' dosyası '[3]' dolap dosyasında bulunamadığından yüklenemiyor. Bu bir ağ hatasını, CD-ROM'dan okuma hatasını veya bu pakette sorun olduğunu gösteriyor olabilir. - Bu yükleme için gereken '[2]' dolap dosyası bozuk olduğundan kullanılamıyor. Bu bir ağ hatasını, CD-ROM'dan okuma hatasını veya bu pakette sorun olduğunu gösteriyor olabilir. - Bu yüklemeyi tamamlamak için gereken geçici bir dosya oluşturulurken hata oluştu.{{ Klasör: [3]. Sistem hata kodu: [2]}} - [2] anahtarı oluşturulamadı. {{ Sistem hatası [3].}} Bu anahtara yeterli erişiminiz olduğunu doğrulayın veya destek sorumlunuza başvurun. - [2] anahtarı açılamadı. {{ Sistem hatası [3].}} Bu anahtara yeterli erişiminiz olduğunu doğrulayın veya destek sorumlunuza başvurun. - [3] anahtarından [2] değeri silinemedi. {{ Sistem hatası [4].}} Bu anahtara yeterli erişiminiz olduğunu doğrulayın veya destek sorumlunuza başvurun. - [2] anahtarı silinemedi. {{ Sistem hatası [3].}} Bu anahtara yeterli erişiminiz olduğunu doğrulayın veya destek sorumlunuza başvurun. - [3] anahtarından [2] değeri okunamadı. {{ Sistem hatası [4].}} Bu anahtara yeterli erişiminiz olduğunu doğrulayın veya destek sorumlunuza başvurun. - [2] değeri [3] anahtarına yazılamadı. {{ Sistem hatası [4].}} Bu anahtara yeterli erişiminiz olduğunu doğrulayın veya destek sorumlunuza başvurun. - [2] anahtarının değer adları alınamadı. {{ Sistem hatası [3].}} Bu anahtara yeterli erişiminiz olduğunu doğrulayın veya destek sorumlunuza başvurun. - [2] anahtarının alt anahtar adları alınamadı. {{ Sistem hatası [3].}} Bu anahtara yeterli erişiminiz olduğunu doğrulayın veya destek sorumlunuza başvurun. - [2] anahtarının güvenlik bilgileri okunamadı. {{ Sistem hatası [3].}} Bu anahtara yeterli erişiminiz olduğunu doğrulayın veya destek sorumlunuza başvurun. - Kullanılabilir kayıt defteri alanı artırılamadı. Bu uygulamanın yüklenmesi için [2] KB boş kayıt defteri alanı gerekiyor. - Başka bir yükleme sürüyor. Buna devam etmeden önce söz konusu yükleme işlemini tamamlamalısınız. - Güvenli verilere erişim hatası. Lütfen Windows Installer'ın düzgün yapılandırıldığından emin olun ve yüklemeyi yeniden deneyin. - '[2]' kullanıcısı '[3]' ürününü yüklemeyi daha önce başlattı. Bu kullanıcının ürünü kullanabilmesi için söz konusu yüklemeyi yeniden çalıştırması gerekecek. Şimdi geçerli yükleme işleminiz devam edecek. - '[2]' kullanıcısı '[3]' ürününü yüklemeyi daha önce başlattı. Bu kullanıcının ürünü kullanabilmesi için söz konusu yüklemeyi yeniden çalıştırması gerekecek. - Disk alanı yetersiz -- Birim: '[2]'; gerekli alan: [3] KB; kullanılabilir alan: [4] KB. Bir miktar disk alanı boşaltın ve yeniden deneyin. - İptal etmek istediğinizden emin misiniz? - [2][3] dosyası kullanımda tutulmaktadır {şu işlem tarafından: Ad: [4], Kimlik: [5], Pencere Başlığı: '[6]'}. Bu uygulamayı kapatın ve yeniden deneyin. - '[2]' ürünü zaten yüklü olduğundan bu ürünün yüklenmesini engelliyor. İki ürün birbiriyle uyumlu değil. - '[2]' birimindeki disk alanı, kurtarma etkinleştirilmiş olarak yüklemeye devam etmek için yeterli değil. [3] KB gerekiyor, ancak yalnızca [4] KB var. Kurtarma bilgilerini kaydetmeden yüklemeye devam etmek için Yoksay'ı, kullanılabilir disk alanını yeniden denetlemek için Yeniden Dene'yi veya yükleme işleminden çıkmak için İptal'i tıklatın. - [2] ağ konumuna erişilemedi. - Yüklemeye devam etmeden önce aşağıdaki uygulamaların kapatılması gerekiyor: - Bu ürünü yüklemek için bu makineye daha önce yüklenmiş uygun bir ürün bulunamadı. - Güvenlik ayarları uygulanırken hata oluştu. [2] geçerli bir kullanıcı veya grup değil. Bunun nedeni paketin sorunlu olması veya ağdaki etki alanı denetleyicisiyle bağlantıda bir sorun olması olabilir. Ağ bağlantınızı denetleyip Yeniden Dene'yi veya yüklemeyi sona erdirmek için İptal'i tıklatın. {{Kullanıcının SID'si bulunamadı, sistem hatası [3]}} - [2] anahtarı geçerli değil. Doğru anahtarı girdiğinizi doğrulayın. - Yükleyicinin [2] yapılandırmasına devam edebilmesi için sisteminizi yeniden başlatmanız gerekiyor. Şimdi yeniden başlatmak için Evet'i veya daha sonra el ile yeniden başlatacaksanız Hayır'ı tıklatın. - [2] yapılandırma değişikliklerinin etkinleşmesi için sisteminizi yeniden başlatmalısınız. Şimdi yeniden başlatmak için Evet'i veya daha sonra el ile yeniden başlatacaksanız Hayır'ı tıklatın. - Bir [2] yüklemesi şu anda askıya alınmış durumda. Devam etmek için bu yükleme tarafından yapılan değişiklikleri geri almanız gerekiyor. Bu değişiklikleri geri almak istiyor musunuz? - Bu ürünün daha önceki bir yüklemesi devam ediyor. Devam etmek için bu yükleme tarafından yapılan değişiklikleri geri almanız gerekiyor. Bu değişiklikleri geri almak istiyor musunuz? - [2] ürününün yükleme paketi bulunamadı. '[3]' yükleme paketinin geçerli bir kopyasını kullanarak yüklemeyi yeniden deneyin. - Yükleme başarıyla tamamlandı. - Yükleme yapılamadı. - Ürün: [2] -- [3] - Bilgisayarınızı bir önceki durumuna geri yükleyebilir veya yükleme işlemine daha sonra devam edebilirsiniz. Önceki duruma geri yüklemek istiyor musunuz? - Yükleme bilgileri diske yazılırken bir hata oluştu. Yeterli disk alanı olup olmadığını denetleyin ve Yeniden Dene'yi tıklatın veya yüklemeyi sona erdirmek için İptal'i tıklatın. - Bilgisayarınızı önceki durumuna geri yüklemek için gereken bir veya birden fazla dosya bulunamadı. Önceki duruma geri yüklenemeyecek. - [2] gerekli ürünlerinden birini yükleyemiyor. Teknik destek grubunuza başvurun. {{Sistem Hatası: [3].}} - Eski [2] sürümü kaldırılamıyor. Teknik destek grubunuza başvurun. {{Sistem Hatası [3].}} - [2] yüklendi - [2] yapılandırıldı - [2] kaldırıldı - [2] dosyası dijital imza ilkesi tarafından reddedildi. - Windows Installer hizmetine erişilemiyor. Windows'u güvenli modda çalıştırıyorsanız veya Windows Installer doğru yüklenmediyse bu durum ortaya çıkabilir. Yardım için destek sorumlunuza başvurun. - Bu Windows Installer paketinde sorun var. Bu yüklemenin tamamlanması için gereken bir komut dosyası çalıştırılamadı. Destek biriminize veya paketin satıcısına başvurun. {{Özel eylem [2] komut dosyası hatası: [3], [4]: [5] Satır [6], Sütun [7], [8]}} - Bu Windows Installer paketinde sorun var. Bu yüklemenin tamamlanması için gereken bir program çalıştırılamadı. Destek biriminize veya paketin satıcısına başvurun. {{Eylem: [2], konum: [3], komut: [4] }} - Bu Windows Installer paketinde sorun var. Kurulumun parçası olarak çalışan bir program beklendiği gibi bitmedi. Destek biriminize veya paketin satıcısına başvurun. {{Eylem [2], konum: [3], komut: [4]}} - Bu Windows Installer paketinde sorun var. Bu yüklemenin tamamlanması için gereken bir DLL çalıştırılamadı. Destek biriminize veya paketin satıcısına başvurun. {{Eylem [2], girdi: [3], kitaplık: [4]}} - Kaldırma başarıyla tamamlandı. - Kaldırma başarısız oldu. - Tanıtım başarıyla tamamlandı. - Tanıtım başarısız oldu. - Yapılandırma başarıyla tamamlandı. - Yapılandırma başarısız oldu. - Bu uygulamayı kaldırmak için Yönetici olmanız gerekir. Bu uygulamayı kaldırmak için bir Yönetici olarak oturum açabilir veya yardım için teknik destek grubunuza başvurabilirsiniz. - [2] ürününün kaynak yükleme paketi istemci paketi ile eşitlenmemiş. '[3]' yükleme paketinin geçerli bir kopyasını kullanarak yüklemeyi yeniden deneyin. - [2] yüklemesini tamamlamak için bilgisayarı yeniden başlatmalısınız. Bu bilgisayara oturum açmış kullanıcılar var ve yeniden başlatma işlemi bu kullanıcıların çalışmalarını kaybetmesine neden olabilir. Şimdi yeniden başlatmak istiyor musunuz? - [2] yolu geçerli değil. Lütfen geçerli bir yol belirtin. - Bellek yetersiz. Yeniden denemeden önce diğer uygulamaları kapatın. - [2] sürücüsünde disk yok. Lütfen bir disk yerleştirip Yeniden Dene'yi veya daha önce seçilen birime dönmek için İptal'i tıklatın. - [2] sürücüsünde disk yok. Lütfen bir disk yerleştirip Yeniden Dene'yi veya göz atma iletişim kutusuna dönmek ve farklı bir birim seçmek için İptal'i tıklatın. - [2] klasörü yok. Lütfen varolan bir klasörün yolunu girin. - Bu klasörü okumak için yeterli ayrıcalığınız yok. - Yükleme işlemi için geçerli bir hedef klasör belirlenemedi. - Kaynak yükleme veritabanından okuma hatası: [2]. - Yeniden başlatma işlemi zamanlanıyor: [2] dosyasının adı [3] olarak değiştiriliyor. İşlemi tamamlamak için bilgisayarı yeniden başlatmanız gerekiyor. - Yeniden başlatma işlemi zamanlanıyor: [2] dosyası siliniyor. İşlemi tamamlamak için bilgisayarı yeniden başlatmanız gerekiyor. - [2] modülü kaydettirilemedi. HRESULT [3]. Destek biriminize başvurun. - [2] modülünün kaydı silinemedi. HRESULT [3]. Destek biriminize başvurun. - [2] paketi önbelleğe alınamadı. Hata: [3]. Destek biriminize başvurun. - [2] yazı tipi kaydedilemedi. Yazı tiplerini yüklemek için yeterli izniniz olduğunu ve sistemin bu yazı tipini desteklediğini doğrulayın. - [2] yazı tipinin kaydı silinemedi. Yazı tiplerini kaldırmak için yeterli izniniz olduğunu doğrulayın. - [2] Kısayolu oluşturulamadı. Hedef klasörün varolduğunu ve klasöre erişebildiğinizi doğrulayın. - [2] Kısayolu kaldırılamadı. Kısayol dosyasının varolduğunu ve dosyaya erişebildiğinizi doğrulayın. - [2] dosyası için tür kitaplığı kaydettirilemedi. Destek biriminize başvurun. - [2] dosyasının tür kitaplığı kaydı silinemedi. Destek biriminize başvurun. - [2] [3] ini dosyası güncelleştirilemedi. Dosyanın varolduğundan ve dosyaya erişebildiğinizden emin olun. - Yeniden başlatma sırasında [3] dosyasının [2] dosyasıyla değiştirilmesi zamanlanamadı. [3] dosyasına yazma izniniz olduğunu doğrulayın. - ODBC sürücü yöneticisini kaldırma hatası, ODBC hatası [2]: [3]. Destek biriminize başvurun. - ODBC sürücü yöneticisini yükleme hatası, ODBC hatası [2]: [3]. Destek biriminize başvurun. - ODBC sürücüsünü kaldırma hatası: [4], ODBC hatası [2]: [3]. ODBC sürücülerini kaldırmak için yeterli ayrıcalığınız olduğunuzu doğrulayın. - ODBC sürücüsünü yükleme hatası: [4], ODBC hatası [2]: [3]. [4] dosyasının varolduğunu ve dosyaya erişebildiğinizi doğrulayın. - ODBC veri kaynağını yapılandırma hatası: [4], ODBC hatası [2]: [3]. [4] dosyasının varolduğunu ve dosyaya erişebildiğinizi doğrulayın. - '[2]' ([3]) hizmeti başlatılamadı. Sistem hizmetlerini başlatmak için yeterli ayrıcalığınız olduğunu doğrulayın. - '[2]' ([3]) hizmeti durdurulamadı. Sistem hizmetlerini durdurmak için yeterli ayrıcalığınız olduğunu doğrulayın. - '[2]' ([3]) hizmeti silinemedi. Sistem hizmetlerini kaldırmak için yeterli ayrıcalığınız olduğunu doğrulayın. - '[2]' ([3]) hizmeti yüklenemedi. Sistem hizmetlerini yüklemek için yeterli ayrıcalığınız olduğunu doğrulayın. - '[2]' ortam değişkeni güncelleştirilemedi. Ortam değişkenlerini değiştirmek için yeterli ayrıcalığınız olduğunu doğrulayın. - Makinenin tüm kullanıcıları için bu yüklemeyi tamamlamanızı sağlayacak yeterli ayrıcalığa sahip değilsiniz. Yönetici olarak oturum açın ve bu yüklemeyi yeniden deneyin. - '[3]' dosyasının dosya güvenliği ayarlanamadı. Hata: [2]. Bu dosyanın güvenlik izinlerini değiştirmek için yeterli ayrıcalığınız olduğunu doğrulayın. - Bu bilgisayarda Bileşen Hizmetleri (COM+ 1.0) yüklü değil. Bu yüklemenin başarıyla tamamlanması için Bileşen Hizmetleri gerekir. Bileşen Hizmetleri Windows 2000'de bulunur. - COM+ Uygulamasını kaydettirme hatası oluştu. Daha fazla bilgi için destek biriminize başvurun. - COM+ Uygulamasının kaydı silinirken hata oluştu. Daha fazla bilgi için destek biriminize başvurun. - '[2]' ([3]) hizmetinin tanımı değiştirilemedi. - Windows Installer hizmeti, [2] sistem dosyası Windows tarafından korunduğundan bu dosyayı güncelleştiremiyor. Bu programın düzgün çalışabilmesi için işletim sisteminizi güncelleştirmeniz gerekebilir. {{Paket sürümü: [3], İşletim Sistemi Korumalı sürümü: [4]}} - Windows Installer hizmeti korumalı [2] Windows dosyasını güncelleştiremiyor.{{Paket sürümü: [3], İşletim Sistemi Korumalı sürümü: [4], SFP Hatası: [5]}} - Windows Installer hizmeti Windows tarafından korunan bir veya daha fazla dosyayı güncelleştiremiyor. {{SFP Hatası: [2]. Korunan dosyaların listesi:\r\n[3]}} - Kullanıcı yüklemeleri makinedeki ilke aracılığıyla devre dışı bırakıldı. - '[6]' derlemesinin yüklenmesi sırasında hata oluştu. Daha fazla bilgi için lütfen Yardım ve Destek bölümüne bakın. HRESULT: [3]. {{derleme arabirimi: [4], işlev: [5], bileşen: [2]}} - '[6]' derlemesinin yüklenmesi sırasında hata oluştu. Derleme kesin adlandırılmamış veya en küçük anahtar uzunluğuyla imzalanmamış. HRESULT: [3]. {{derleme arabirimi: [4], işlev: [5], bileşen: [2]}} - '[6]' derlemesinin yüklenmesi sırasında hata oluştu. İmza veya katalog doğrulanamadı veya geçerli değil. HRESULT: [3]. {{derleme arabirimi: [4], işlev: [5], bileşen: [2]}} - '[6]' derlemesinin yüklenmesi sırasında hata oluştu. Derlemenin bir veya daha fazla modülü bulunamadı. HRESULT: [3]. {{derleme arabirimi: [4], işlev: [5], bileşen: [2]}} - - bayt - GB - KB - MB - Tüm özellik kullanılamıyor - Özellik gerektiğinde yüklenecek - Tüm özellik CD'den çalışacak şekilde yüklenecek - Tüm özellik yerel sabit sürücüye yüklenecek - Tüm özellik ağdan çalışacak şekilde yüklenecek - CD'den çalışacak şekilde yüklenecek - Yerel sabit sürücüye yüklenecek - Ağdan çalışacak şekilde yüklenecek - Klasör|Yeni Klasör - Gerekli bilgiler toplanıyor... - Bu özellik yüklenmemiş olarak kalacak - Bu özellik gerektiğinde yüklenecek şekilde ayarlanacak - Bu özellik CD'den çalışacak şekilde yüklenecek - Bu özellik yerel sabit sürücüye yüklenecek - Bu özellik ağdan çalışacak şekilde yüklenecek - Bu özellik kullanılamaz duruma gelecek - Gerektiğinde yüklenecek - Bu özellik CD'den çalıştırılabilecek - Bu özellik yerel sabit sürücünüze yüklenecek - Bu özellik ağdan çalıştırılabilecek - Bu özellik tamamen kaldırılacak, CD'den çalıştıramayacaksınız - Bu özellik, CD'den çalıştırılabilir durumdan çıkarak gerektiğinde yüklenecek şekilde ayarlanacak - Bu özellik CD'den çalıştırılabilecek şekilde kalacak - Bu özellik, CD'den çalıştırılabilir durumdan çıkarak yerel sabit sürücüye yüklenebilecek duruma gelecek - Bu özellik sabit sürücünüzde [1] yer açar. - Bu özellik sabit sürücünüzde [1] alan gerektirir. - Bu özellik için gerekenler belirleniyor... - Bu özellik tamamen kaldırılacak - Bu özellik yerel sabit sürücünüzden kaldırılacak, ancak gerektiğinde yüklenecek şekilde ayarlanacak - Bu özellik yerel sabit sürücünüzden kaldırılacak ancak, yine de CD'den çalıştırılabilecek - Bu özellik yerel sabit sürücünüzde kalacak - Bu özellik yerel sabit sürücünüzden kaldırılacak ancak, yine de ağdan çalıştırılabilecek - Bu özellik tamamen kaldırılacak, ağdan çalıştıramayacaksınız - Bu özellik, ağdan çalıştırılabilir durumdan çıkarak gerektiğinde yüklenecek şekilde ayarlanacak - Bu özellik, ağdan çalıştırılabilir durumdan çıkarak yerel sabit sürücüye yüklenebilir duruma gelecek - Bu özellik ağdan çalıştırılabilecek şekilde kalacak - Bu özellik sabit sürücünüzde [1] yer açar. [3] alt özellikten [2] tanesi seçili. Alt özellikler sabit sürücünüzde [4] yer açar. - Bu özellik sabit sürücünüzde [1] yer açar. [3] alt özellikten [2] tanesi seçili. Alt özellikler sabit sürücünüzde [4] alan gerektirir. - Bu özellik sabit sürücünüzde [1] alan gerektirir. [3] alt özellikten [2] tanesi seçili. Alt özellikler sabit sürücünüzde [4] yer açar. - Bu özellik sabit sürücünüzde [1] alan gerektirir. [3] alt özellikten [2] tanesi seçili. Alt özellikler sabit sürücünüzde [4] alan gerektirir. - Kalan süre: {[1] dakika }{[2] saniye} - Uygun - Fark - Gerekli - Disk Boyutu - Birim - diff --git a/Src/Localization/WixUI/WixUI_uk-UA.wxl b/Src/Localization/WixUI/WixUI_uk-UA.wxl deleted file mode 100644 index 1d9644b..0000000 --- a/Src/Localization/WixUI/WixUI_uk-UA.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - &Назад - &Далі - Скасувати - &Готово - &Повторити - &Пропустити - &Так - &Ні - ОК - &Друк - - Інсталяція програми [ProductName] - WixUI_Bmp_Banner - {\WixUI_Font_Title}Ознайомтеся з ліцензійною угодою для програми [ProductName] - Я &приймаю умови ліцензійної угоди - Щоб інсталювати продукт із параметрами за промовчанням для всіх користувачів, натисніть кнопку "Інсталювати". Щоб змінити параметри інсталяції, натисніть кнопку "Додатково". - Щоб інсталювати продукт із параметрами за промовчанням для всіх користувачів, натисніть кнопку "Інсталювати". Щоб змінити параметри інсталяції, натисніть кнопку "Додатково". - &Інсталювати - Д&одатково - 8 - 12 - 9 - 8 - Tahoma - - Інсталяція програми [ProductName] - &Область пошуку: - WixUI_Bmp_Up - Перейти на рівень вгору - WixUI_Bmp_New - Створення нової папки - &Ім’я папки: - WixUI_Bmp_Banner - Перехід до папки призначення - {\WixUI_Font_Title}Змінення папки призначення - - Інсталяція програми [ProductName] - Справді скасувати інсталяцію програми [ProductName]? - WixUI_Ico_Info - Піктограма відомостей - - Інсталяція програми [ProductName] - Дерево вибору - О&гляд... - &Скидання - Використання &дискового простору - WixUI_Bmp_Banner - Спосіб інсталяції компонентів можна змінити, клацаючи піктограми в дереві нижче. - Виберіть спосіб інсталяції компонентів. - {\WixUI_Font_Title}Вибіркова інсталяція - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - Папка: - - Інсталяція програми [ProductName] - WixUI_Bmp_Banner - У виділених томах бракує дискового простору для інсталяції вибраних компонентів. Можна видалити з виділених томів кілька файлів, інсталювати менше компонентів або вибрати інші диски призначення. - Дисковий простір, необхідний для інсталяції вибраних компонентів. - {\WixUI_Font_Title}Вимоги до дискового простору - {120}{70}{70}{70}{70} - - Інсталяція програми [ProductName] - Інформаційний текст - WixUI_Ico_Info - Піктограма відомостей - - Інсталяція програми [ProductName] - WixUI_Bmp_Dialog - Натисніть кнопку "Готово", щоб закрити майстер інсталяції. - {\WixUI_Font_Bigger}Роботу майстра інсталяції програми [ProductName] завершено - - Інсталяція програми [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Роботу майстра інсталяції програми [ProductName] завершено передчасно - Роботу майстра інсталяції програми [ProductName] передчасно завершено через помилку. Систему не змінено. Щоб продовжити інсталяцію пізніше, знову запустіть майстер інсталяції. - Натисніть кнопку "Готово", щоб закрити майстер інсталяції. - - Інсталяція програми [ProductName] - Компоненти продукту - WixUI_Bmp_Banner - Виберіть спосіб інсталяції компонентів. - {\WixUI_Font_Title}Компоненти продукту - FeaturesDlgItemDescription - FeaturesDlgItemSize - &Інсталювати - &Змінити - - Інсталяція програми [ProductName] - Ви&хід - WixUI_Bmp_Banner - Наведені нижче застосунки використовують файли, які підлягають оновленню під час цієї інсталяції. Закривши ці застосунки, натисніть кнопку "&Повторити", щоб продовжити інсталяцію, або кнопку "Закрити", щоб припинити її. - Деякі файли, що підлягають оновленню, зараз використовуються. - {\WixUI_Font_Title}Файли, які використовуються - - Інсталяція програми [ProductName] - &Змінити... - {\WixUI_Font_Title}Папка призначення - Для інсталяції в папку за промовчанням натисніть кнопку "Далі"; щоб вибрати іншу папку, натисніть кнопку "Змінити". - WixUI_Bmp_Banner - Папка для інсталяції програми [ProductName]: - - Інсталяція програми [ProductName] - WixUI_Bmp_Banner - Вибір типу й папки для інсталяції - {\WixUI_Font_Title}Тип інсталяції - {\WixUI_Font_Emphasized}Інсталювати &лише для себе ([LogonUser]) - [ProductName] буде інстальовано в папку на рівні користувача; доступ буде можливий лише з вашого облікового запису користувача. Права локального адміністратора не потрібні. - [ProductName] не підтримує інсталяції на рівні користувача. - {\WixUI_Font_Emphasized}Інсталювати для всіх користувачів цього &комп’ютера - [ProductName] буде інстальовано в папку за промовчанням на рівні комп’ютера; доступ буде можливий для всіх користувачів. Папку за промовчанням для інсталяції можна змінити. Вам необхідні права локального адміністратора. - &Папка для інсталяції: - &Змінити... - - Інсталяція програми [ProductName] - Каталог для інсталяції має міститися на локальному жорсткому диску. - WixUI_Ico_Info - Піктограма відомостей - - Інсталяція програми [ProductName] - Я &приймаю умови ліцензійної угоди - WixUI_Bmp_Banner - Уважно прочитайте наведену нижче ліцензійну угоду - {\WixUI_Font_Title}Ліцензійна угода - - Інсталяція програми [ProductName] - &Змінити - Змінити інсталяцію - Відно&вити - Відновити інсталяцію - &Видалити - Видалити інсталяцію - WixUI_Bmp_Banner - Виберіть операцію, яку потрібно виконати. - {\WixUI_Font_Title}Змінити, відновити або видалити інсталяцію - Дає змогу змінити спосіб інсталяції компонентів. - Для програми [ProductName] немає компонентів, які можна вибрати окремо. - Видаляє [ProductName] з комп’ютера. - Не можна видалити програму [ProductName]. - Виправляє помилки останньої інсталяції, відновлюючи втрачені або пошкоджені файли, ярлики й записи реєстру. - Не можна відновити програму [ProductName]. - - Інсталяція програми [ProductName] - WixUI_Bmp_Dialog - Майстер інсталяції дає змогу змінити спосіб інсталяції компонентів програми [ProductName] на комп’ютері або видалити цю програму. Для продовження натисніть кнопку "Далі". Щоб закрити майстер інсталяції, натисніть кнопку "Скасувати". - {\WixUI_Font_Bigger}Вас вітає майстер інсталяції програми [ProductName] - - Інсталяція програми [ProductName] - WixUI_Bmp_Banner - Наведені нижче застосунки використовують файли, які підлягають оновленню під час цієї інсталяції. Можна дозволити майстру інсталяції закрити та спробувати перезапустити їх або перезавантажити комп’ютер пізніше. - Деякі файли, що підлягають оновленню, зараз використовуються. - {\WixUI_Font_Title}Файли, які використовуються - &Закрийте ці застосунки та спробуйте їх перезапустити. - &Не закривати застосунки. Потрібно буде перезавантажити комп’ютер. - - Інсталяція програми [ProductName] - WixUI_Bmp_Banner - У виділених томах бракує дискового простору для інсталяції вибраних компонентів. Можна видалити з виділених томів кілька файлів, інсталювати менше компонентів або вибрати інший диск призначення. - Обсяг, необхідний для інсталяції, перевищує обсяг вільного дискового простору. - {\WixUI_Font_Title}Бракує дискового простору - {120}{70}{70}{70}{70} - - Інсталяція програми [ProductName] - WixUI_Bmp_Banner - У виділених томах бракує дискового простору для інсталяції вибраних компонентів. Можна видалити з виділених томів кілька файлів, інсталювати менше компонентів або вибрати інший диск призначення. - Обсяг, необхідний для інсталяції, перевищує обсяг вільного дискового простору. - {\WixUI_Font_Title}Бракує дискового простору - {120}{70}{70}{70}{70} - Інший варіант – вимкнути в інсталяторі функцію відкочування. У такому разі інсталятор не зможе відновити вихідний стан комп’ютера після переривання процесу інсталяції. Щоб погодитися на цей ризик і вимкнути функцію відкочування, натисніть кнопку "Так". - - Інсталяція програми [ProductName] - WixUI_Bmp_Dialog - Зачекайте: майстер готується до інсталяції. - {\WixUI_Font_Bigger}Вас вітає майстер інсталяції програми [ProductName] - - Інсталяція програми [ProductName] - WixUI_Bmp_Banner - Зачекайте: майстер виконує інсталяцію програми [ProductName]. - {\WixUI_Font_Title}Триває інсталяція програми [ProductName] - Зачекайте: майстер інсталяції змінює програму [ProductName]. - {\WixUI_Font_Title}Змінення програми [ProductName] - Зачекайте: майстер інсталяції відновлює програму [ProductName]. - {\WixUI_Font_Title}Відновлення програми [ProductName] - Зачекайте: майстер інсталяції видаляє програму [ProductName]. - {\WixUI_Font_Title}Видалення програми [ProductName] - Зачекайте, доки майстер інсталяції оновить програму [ProductName]. - {\WixUI_Font_Title}Оновлення програми [ProductName] - Перебіг виконання - Стан: - - Інсталяція програми [ProductName] - &Інсталювати - WixUI_Bmp_Dialog - Майстер завершить інсталяцію програми [ProductName] на комп’ютері. Для продовження натисніть кнопку "Інсталювати". Щоб закрити майстер інсталяції, натисніть кнопку "Скасувати". - {\WixUI_Font_Bigger}Відновлення роботи майстра інсталяції програми [ProductName] - - Інсталяція програми [ProductName] - &Звичайна - Звичайна інсталяція - &Вибіркова - Вибіркова інсталяція - &Повна - Повна інсталяція - WixUI_Bmp_Banner - {\WixUI_Font_Title}Вибір типу інсталяції - Виберіть потрібний тип інсталяції - Інсталяція найпоширеніших компонентів програми (рекомендовано для більшості користувачів). - Можливість вибрати компоненти програми та місце їх інсталяції (рекомендовано для досвідчених користувачів). - Інсталяція усіх програмних компонентів (найбільші вимоги до дискового простору). - - Інсталяція програми [ProductName] - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}Роботу майстра інсталяції програми [ProductName] перервано - Інсталяцію програми [ProductName] було перервано. Систему не змінено. Щоб інсталювати цю програму пізніше, знову запустіть процес інсталяції. - Натисніть кнопку "Готово", щоб закрити майстер інсталяції. - - Інсталяція програми [ProductName] - WixUI_Bmp_Banner - &Інсталювати - Щоб розпочати інсталяцію, натисніть кнопку "Інсталювати". Щоб перевірити або змінити будь-які настройки інсталяції, натисніть кнопку "Назад". Щоб закрити майстер, натисніть кнопку "Скасувати". - {\WixUI_Font_Title}Усе готово до інсталяції програми [ProductName] - &Змінити - Щоб розпочати інсталяцію, натисніть кнопку "Змінити". Щоб перевірити або змінити будь-які настройки інсталяції, натисніть кнопку "Назад". Щоб закрити майстер, натисніть кнопку "Скасувати". - {\WixUI_Font_Title}Усе готово до змінення програми [ProductName] - Відно&вити - Щоб відновити інсталяцію програми [ProductName], натисніть кнопку "Відновити". Щоб перевірити або змінити будь-які настройки інсталяції, натисніть кнопку "Назад". Щоб закрити майстер, натисніть кнопку "Скасувати". - {\WixUI_Font_Title}Усе готово до відновлення програми [ProductName] - &Видалити - Щоб видалити програму [ProductName] з цього комп’ютера, натисніть кнопку "Видалити". Щоб перевірити або змінити будь-які настройки інсталяції, натисніть кнопку "Назад". Щоб закрити майстер, натисніть кнопку "Скасувати". - {\WixUI_Font_Title}Усе готово до видалення програми [ProductName] - &Оновити - Щоб оновити програму [ProductName] зі свого комп’ютера, натисніть кнопку "Оновити". Щоб перевірити або змінити будь-які настройки інсталяції, натисніть кнопку "Назад". Щоб закрити майстер, натисніть кнопку "Скасувати". - {\WixUI_Font_Title}Усе готово до оновлення програми [ProductName] - - Інсталяція програми [ProductName] - &Повернутися - Зачекайте, доки інсталятор визначить вимоги до вільного дискового простору. - WixUI_Ico_Exclam - Піктограма знаку оклику - - Інсталяція програми [ProductName] - WixUI_Bmp_Dialog - Майстер інсталює програму [ProductName] на комп’ютері. Для продовження натисніть кнопку "Далі". Щоб закрити майстер інсталяції, натисніть кнопку "Скасувати". - Майстер інсталяції оновить програму [ProductName] на комп’ютері. Для продовження натисніть кнопку "Далі". Щоб закрити майстер інсталяції, натисніть кнопку "Скасувати". - {\WixUI_Font_Bigger}Вас вітає майстер інсталяції програми [ProductName] - - Інсталяція програми [ProductName] - WixUI_Bmp_Dialog - Я &приймаю умови ліцензійної угоди - &Інсталювати - &Оновити - {\WixUI_Font_Title}Ознайомтеся з ліцензійною угодою для програми [ProductName] - - Перевірка інсталяції - Копіювання нових файлів - Файл: [1], каталог: [9], розмір: [6] - Копіювання файлів мережної інсталяції - Файл: [1], каталог: [9], розмір: [6] - Обчислення потрібного дискового простору - Обчислення потрібного дискового простору - Обчислення потрібного дискового простору - Створення ярликів - Ярлик: [1] - Публікація придатних компонентів - Ідентифікатор компонента: [1], кваліфікатор: [2] - Публікація функцій продукту - Функція: [1] - Публікація відомостей про продукт - Реєстрація серверів класів - Ідентифікатор класу: [1] - Реєстрація серверів розширень - Розширення: [1] - Реєстрація відомостей про файли MIME - Тип вмісту MIME: [1], розширення: [2] - Реєстрація ідентифікаторів програми - Ідентифікатор програми: [1] - Виділення місця в реєстрі - Вільне місце: [1] - Пошук інстальованих застосунків - Властивість: [1]. Підпис: [2] - Зв’язування виконуваних файлів - Файл: [1] - Пошук відповідних програмних продуктів - Створення папок - Папка: [1] - Видалення служб - Служба: [1] - Створення копій файлів - Файл: [1], каталог: [9], розмір: [6] - Пошук пов’язаних застосунків - Знайдено застосунок: [1] - Інсталяція компонентів ODBC - Інсталяція нових служб - Служба: [2] - Перевірка умов запуску - Міграція параметрів компонентів із пов’язаних застосунків - Застосунок: [1] - Переміщення файлів - Файл: [1], каталог: [9], розмір: [6] - Виправлення файлів - Файл: [1], каталог: [2], розмір: [3] - Оновлення реєстрації компонентів - Реєстрація застосунків і компонентів COM+ - Ідентифікатор застосунку: [1]{{, тип застосунку: [2], користувачі: [3], RSN: [4]}} - Реєстрація шрифтів - Шрифт: [1] - Реєстрація продукту - [1] - Реєстрація бібліотек типів - Ідентифікатор бібліотеки: [1] - Реєстрація користувача - [1] - Видалення копій файлів - Файл: [1], каталог: [9] - Оновлення рядків оточення - Ім’я: [1], значення: [2], дія [3] - Видалення застосунків - Застосунок: [1], командний рядок: [2] - Видалення файлів - Файл: [1], каталог: [9] - Видалення папок - Папка: [1] - Видалення записів у файлах INI - Файл: [1], розділ: [2], ключ: [3], значення: [4] - Видалення компонентів ODBC - Видалення значень із системного реєстру - Розділ: [1], ім’я: [2] - Видалення ярликів - Ярлик: [1] - Пошук відповідних програмних продуктів - Реєстрація модулів - Файл: [1], папка: [2] - Скасування реєстрації модулів - Файл: [1], папка: [2] - Ініціалізація каталогів ODBC - Запуск служб - Служба: [1] - Зупинення служб - Служба: [1] - Скасування публікації придатних компонентів - Ідентифікатор компонента: [1], кваліфікатор: [2] - Скасування публікації функцій продукту - Функція: [1] - Скасування реєстрації серверів класів - Ідентифікатор класу: [1] - Скасування реєстрації застосунків і компонентів COM+ - Ідентифікатор застосунку: [1]{{, тип застосунку: [2]}} - Скасування реєстрації серверів розширень - Розширення: [1] - Скасування реєстрації шрифтів - Шрифт: [1] - Скасування реєстрації відомостей про файли MIME - Тип вмісту MIME: [1], розширення: [2] - Скасування реєстрації ідентифікаторів програми - Ідентифікатор програми: [1] - Скасування реєстрації бібліотек типів - Ідентифікатор бібліотеки: [1] - Оновлення рядків оточення - Ім’я: [1], значення: [2], дія [3] - Запис значень файлів INI - Файл: [1], розділ: [2], ключ: [3], значення: [4] - Запис значень до системного реєстру - Розділ: [1], ім’я: [2], значення: [3] - Поширення відомостей про застосунок - Створення операцій сценарію для дії: - [1] - Інсталяція системного каталогу - Файл: [1], залежності: [2] - Публікація відомостей про складання - Контекст застосунку:[1], ім’я складання:[2] - Скасування публікації відомостей про складання - Контекст застосунку:[1], ім’я складання:[2] - Відкочування дії: - [1] - Видалення резервних файлів - Файл: [1] - Видалення переміщених файлів - Файл: [1], каталог: [9] - Скасування публікації відомостей про продукт - - {{Критична помилка: }} - {{Помилка [1]. }} - Попередження [1]. - Повідомлення [1]. - Під час інсталяції цього пакета сталася неочікувана помилка інсталятора. Можливо, це вказує на проблему з пакетом. Код помилки – [1]. {{Аргументи: [2], [3], [4]}} - {{Немає місця на диску: }} - Дія [Time]: [1]. [2] - [ProductName] - {[2]}{, [3]}{, [4]} - Тип повідомлення: [1], аргумент: [2] - === Запис до журналу розпочато: [Date] [Time] === - === Запис до журналу зупинено: [Date] [Time] === - Дію почато [Time]: [1]. - Дію завершено [Time]: [1]. Повернено значення [2]. - Залишилося часу: {[1] хв. }{[2] сек.} - Бракує пам’яті. Закрийте інші застосунки та повторіть спробу. - Інсталятор не відповідає. - Інсталятор передчасно припинив роботу. - Зачекайте: система Windows настроює програму [ProductName] - Триває збирання потрібних даних... - Триває видалення попередніх версій цього застосунку... - Підготовка до видалення попередніх версій цього застосунку... - Роботу програми інсталяції {[ProductName]} успішно завершено. - Помилка програми інсталяції {[ProductName]}. - Сталася помилка під час читання з файлу: [2]. {{ Системна помилка [3].}} Переконайтеся, що цей файл існує та доступний. - Не вдалося створити файл "[2]". Каталог із таким іменем уже існує. Скасуйте інсталяцію та виберіть інше розташування. - Вставте диск: [2] - Інсталятор не має належних прав доступу до цього каталогу: [2]. Продовження інсталяції неможливе. Ввійдіть до системи як адміністратор або зверніться до системного адміністратора. - Помилка під час записування до файлу: [2]. Переконайтеся, що маєте доступ до цього каталогу. - Сталася помилка під час читання з файлу [2]. {{ Системна помилка [3].}} Переконайтеся, що цей файл існує та доступний. - Файл "[2]" відкрито в режимі монопольного доступу в іншому застосунку. Закрийте всі інші застосунки й натисніть кнопку "Повторити". - Недостатньо місця на диску для інсталяції файлу: [2]. Звільніть місце й натисніть кнопку "Повторити" або натисніть кнопку "Скасувати", щоб вийти. - Вихідний файл не знайдено: [2]. Переконайтеся, що цей файл існує та доступний. - Сталася помилка під час читання з файлу: [3]. {{ Системна помилка [2].}} Переконайтеся, що цей файл існує та доступний. - Помилка під час записування до файлу: [3]. {{ Системна помилка [2].}} Переконайтеся, що маєте доступ до цього каталогу. - Вихідний файл не знайдено{{(CAB-файл)}}: [2]. Переконайтеся, що цей файл існує та доступний. - Не вдалося створити каталог "[2]". Файл із таким іменем уже існує. Перейменуйте або видаліть цей файл і натисніть кнопку "Повторити". Щоб вийти, натисніть кнопку "Скасувати". - Том [2] зараз недоступний. Виберіть інший. - Указаний шлях "[2]" недоступний. - Не вдалося записати до вказаної папки: [2]. - Сталася мережна помилка під час спроби читання файлу: [2] - Сталася помилка під час спроби створення каталогу: [2] - Сталася мережна помилка під час спроби створення каталогу: [2] - Сталася мережна помилка під час спроби відкрити CAB-файл із вихідними файлами: [2] - Указано задовгий шлях: [2] - Інсталятор не має належних прав для змінення цього файлу: [2]. - Частина шляху до папки "[2]" неприпустима: пуста або перевищує дозволену в системі довжину. - Шлях до папки "[2]" містить неприпустимі для шляху слова. - Шлях до папки "[2]" містить неприпустимий символ. - "[2]" не є припустимим коротким іменем файлу. - Помилка під час отримання атрибутів безпеки файлу: [3] GetLastError: [2] - Неправильний пристрій: [2] - Помилка застосування виправлення до файлу [2]. Можливо, файл було оновлено в інший спосіб, і це виправлення вже не може його змінити. Для отримання докладніших відомостей зверніться до постачальника виправлення. {{Системна помилка: [3]}} - Не вдалося інсталювати потрібний файл, оскільки в CAB-файлі [2] немає цифрового підпису. Це може свідчити про пошкодження CAB-файлу. - Не вдалося інсталювати потрібний файл, оскільки CAB-файл [2] містить недійсний цифровий підпис. Це може свідчити про пошкодження CAB-файлу.{{ Функція WinVerifyTrust повернула помилку [3].}} - Не вдалося належно скопіювати файл [2]: помилка CRC. - Не вдалося належно перемістити файл [2]: помилка CRC. - Не вдалося належно виправити файл [2]: помилка CRC. - Не вдалося інсталювати файл "[2]", оскільки його немає в CAB-файлі "[3]". Це може свідчити про помилку мережі, помилку читання компакт-диска або проблему з пакетом. - Потрібний для інсталяції CAB-файл "[2]" пошкоджений і непридатний для використання. Це може свідчити про помилку мережі, помилку читання компакт-диска або проблему з пакетом. - Сталася помилка під час створення тимчасового файлу, потрібного для завершення інсталяції.{{ Папка: [3]. Код системної помилки: [2]}} - Не вдалося створити розділ: [2]. {{ Системна помилка [3].}} Переконайтеся, що у вас достатньо прав для доступу до цього розділу, або зверніться до служби підтримки. - Не вдалося відкрити розділ: [2]. {{ Системна помилка [3].}} Переконайтеся, що у вас достатньо прав для доступу до цього розділу, або зверніться до служби підтримки. - Не вдалося видалити значення [2] з розділу [3]. {{ Системна помилка [4].}} Переконайтеся, що у вас достатньо прав для доступу до цього розділу, або зверніться до служби підтримки. - Не вдалося видалити розділ [2]. {{ Системна помилка [3].}} Переконайтеся, що у вас достатньо прав для доступу до цього розділу, або зверніться до служби підтримки. - Не вдалося прочитати значення [2] з розділу [3]. {{ Системна помилка [4].}} Переконайтеся, що у вас достатньо прав для доступу до цього розділу, або зверніться до служби підтримки. - Не вдалося записати значення [2] до розділу [3]. {{ Системна помилка [4].}} Переконайтеся, що у вас достатньо прав для доступу до цього розділу, або зверніться до служби підтримки. - Не вдалося отримати імена значень для розділу [2]. {{ Системна помилка [3].}} Переконайтеся, що у вас достатньо прав для доступу до цього розділу, або зверніться до служби підтримки. - Не вдалося отримати імена підрозділів для розділу [2]. {{ Системна помилка [3].}} Переконайтеся, що у вас достатньо прав для доступу до цього розділу, або зверніться до служби підтримки. - Не вдалося прочитати відомості про безпеку для розділу [2]. {{ Системна помилка [3].}} Переконайтеся, що у вас достатньо прав для доступу до цього розділу, або зверніться до служби підтримки. - Не вдалося збільшити обсяг вільного місця в реєстрі. Для інсталяції цього застосунку в реєстрі має бути [2] КБ вільного місця. - Одночасно триває інший процес інсталяції. Необхідно завершити його, перш ніж продовжити цю інсталяцію. - Помилка доступу до захищених даних. Переконайтеся, що інсталятор Windows настроєно правильно, і повторіть інсталяцію. - Користувач "[2]" раніше вже починав інсталяцію продукту "[3]". Йому доведеться повторити свій процес інсталяції, щоб мати змогу користуватися продуктом. Зараз продовжиться ваш поточний процес інсталяції. - Користувач "[2]" раніше вже починав інсталяцію продукту "[3]". Йому доведеться повторити свій процес інсталяції, щоб мати змогу користуватися продуктом. - Бракує місця на диску. Том: "[2]"; потрібно: [3] КБ; доступно: [4] КБ. Звільніть місце на диску й повторіть спробу. - Справді скасувати? - Файл [2][3] зараз використовується{ в такому процесі: ім’я: [4], ідентифікатор: [5], заголовок вікна: "[6]"}. Закрийте цей застосунок і повторіть спробу. - Уже інстальовано продукт "[2]", несумісний із цим продуктом. - У томі "[2]" бракує вільного місця для продовження інсталяції з увімкнутим відновленням. Потрібно [3] КБ, доступно лише [4] КБ. Щоб продовжити інсталяцію без збереження відомостей про відновлення, натисніть кнопку "Пропустити". Щоб знову перевірити обсяг вільного дискового простору, натисніть кнопку "Повторити". Щоб вийти із програми інсталяції, натисніть кнопку "Скасувати". - Мережна папка "[2]" недоступна. - Для продовження інсталяції необхідно закрити такі застосунки: - Не вдалося знайти інстальовані на комп’ютері сумісні продукти для інсталяції цього продукту. - Сталася помилка під час застосування настройок безпеки. [2] є неприпустимим користувачем або групою. Можливо, сталася помилка пакета або помилка підключення до контролера домену мережі. Перевірте підключення до мережі й натисніть кнопку "Повторити". Щоб завершити інсталяцію, натисніть кнопку "Скасувати". {{Не вдалося знайти ідентифікатор SID користувача; системна помилка [3]}} - Розділ "[2]" неприпустимий. Переконайтеся, що введено правильний розділ. - Перед продовженням настроювання [2] інсталятору необхідно перезавантажити систему. Для негайного перезавантаження натисніть кнопку "Так". Щоб пізніше перезавантажити систему вручну, натисніть кнопку "Ні". - Щоб внесені до конфігурації [2] зміни набрали сили, необхідно перезавантажити систему. Для негайного перезавантаження натисніть кнопку "Так". Щоб пізніше перезавантажити систему вручну, натисніть кнопку "Ні". - Інсталяцію програми [2] наразі призупинено. Щоб продовжити, необхідно скасувати зміни, внесені під час цієї інсталяції. Скасувати ці зміни? - Не завершено попередню інсталяцію програми. Щоб продовжити, необхідно скасувати зміни, внесені під час цієї інсталяції. Скасувати ці зміни? - Не вдалося знайти пакет інсталяції для продукту [2]. Повторіть інсталяцію за допомогою дійсної копії пакета інсталяції "[3]". - Інсталяцію успішно завершено. - Помилка інсталяції. - Продукт: [2] -- [3] - Можна повернути комп’ютер до попереднього стану або продовжити інсталяцію згодом. Відновити попередній стан? - Сталася помилка під час записування на диск відомостей про інсталяцію. Перевірте, чи достатньо місця на диску, і натисніть кнопку "Повторити", або натисніть кнопку "Скасувати", щоб завершити інсталяцію. - Не вдалося знайти принаймні один файл, необхідний для відновлення попереднього стану комп’ютера. Відновлення неможливе. - [2] не вдалося інсталювати один із потрібних продуктів. Зверніться до групи технічної підтримки. {{Системна помилка: [3].}} - Стару версію [2] не можна видалити. Зверніться до групи технічної підтримки. {{Системна помилка [3].}} - Інстальовано [2] - Настроєно [2] - Видалено [2] - Файл [2] відхилено за політикою цифрового підпису. - Служба інсталятора Windows недоступна. Це може статися, якщо Windows запущено в безпечному режимі або інсталятор Windows інстальовано неправильно. Зверніться по допомогу до служби підтримки. - Сталася помилка пакета інсталятора Windows. Не вдалося запустити сценарій, потрібний для завершення цієї інсталяції. Зверніться до служби підтримки або постачальника пакета. {{Додаткова дія [2], помилка сценарію [3], [4]: [5] рядок [6], стовпець [7], [8] }} - Сталася помилка пакета інсталятора Windows. Не вдалося запустити програму, потрібну для завершення цієї інсталяції. Зверніться до служби підтримки або постачальника пакета. {{Дія: [2], розташування: [3], команда: [4] }} - Сталася помилка пакета інсталятора Windows. Програма, запущена у складі програми інсталяції, неправильно завершила роботу. Зверніться до служби підтримки або постачальника пакета. {{Дія [2], розташування: [3], команда: [4] }} - Сталася помилка пакета інсталятора Windows. Не вдалося запустити бібліотеку DLL, потрібну для завершення цієї інсталяції. Зверніться до служби підтримки або постачальника пакета. {{Дія [2], елемент: [3], бібліотека: [4] }} - Видалення успішно виконано. - Помилка видалення. - Оголошення успішно завершено. - Помилка оголошення. - Настроювання успішно завершено. - Помилка настроювання. - Для видалення цього застосунку необхідні права адміністратора. Щоб видалити цей застосунок, ввійдіть до системи із правами адміністратора або зверніться по допомогу до групи технічної підтримки. - Вихідний пакет інсталяції для продукту [2] не синхронізовано з пакетом клієнта. Повторіть інсталяцію за допомогою дійсної копії пакета інсталяції "[3]". - Щоб завершити інсталяцію [2], необхідно перезавантажити комп’ютер. Інші користувачі не вишли із системи, і внаслідок перезавантаження вони можуть втратити результати своєї роботи. Перезавантажити зараз? - Неприпустимий шлях "[2]". Укажіть правильний шлях. - Бракує пам’яті. Закрийте інші застосунки та повторіть спробу. - У пристрої [2] немає диска. Вставте диск і натисніть кнопку "Повторити" або натисніть кнопку "Скасувати", щоб повернутися до вибраного раніше тому. - У пристрої [2] немає диска. Вставте диск і натисніть кнопку "Повторити" або натисніть кнопку "Скасувати", щоб повернутися до вікна перегляду папок і вибрати інший том. - Папка "[2]" не існує. Введіть шлях до наявної папки. - У вас недостатньо прав для читання цієї папки. - Не вдалося визначити припустиму папку призначення для інсталяції. - Сталася помилка під час спроби читання з вихідної бази даних інсталяції: [2]. - Планування операції перезавантаження: перейменування файлу [2] на [3]. Для завершення операції потрібне перезавантаження. - Планування операції перезавантаження: видалення файлу [2]. Для завершення операції потрібне перезавантаження. - Не вдалося зареєструвати модуль [2]. HRESULT [3]. Зверніться до служби підтримки. - Не вдалося скасувати реєстрацію модуля [2]. HRESULT [3]. Зверніться до служби підтримки. - Не вдалося виконати кешування пакета [2]. Помилка: [3]. Зверніться до служби підтримки. - Не вдалося зареєструвати шрифт "[2]". Переконайтеся, що ви маєте достатні дозволи на інсталяцію шрифтів, а система підтримує цей шрифт. - Не вдалося скасувати реєстрацію шрифту "[2]". Переконайтеся, що ви маєте достатні дозволи на видалення шрифтів. - Не вдалося створити ярлик [2]. Переконайтеся, що папка призначення існує та доступна. - Не вдалося видалити ярлик "[2]". Переконайтеся, що файл ярлика існує та доступний. - Не вдалося зареєструвати бібліотеку типів для файлу [2]. Зверніться до служби підтримки. - Не вдалося скасувати реєстрацію бібліотеки типів для файлу [2]. Зверніться до служби підтримки. - Не вдалося оновити файл INI [2][3]. Переконайтеся, що цей файл існує та доступний. - Не вдалося запланувати заміщення файлу [3] файлом [2] під час перезавантаження. Переконайтеся, що у вас є дозвіл на записування до файлу [3]. - Не вдалося видалити диспетчер драйверів ODBC; помилка ODBC [2]: [3]. Зверніться до служби підтримки. - Не вдалося інсталювати диспетчер драйверів ODBC; помилка ODBC [2]: [3]. Зверніться до служби підтримки. - Не вдалося видалити драйвер ODBC: [4]; помилка ODBC [2]: [3]. Переконайтеся, що у вас достатньо прав для видалення драйверів ODBC. - Не вдалося інсталювати драйвер ODBC: [4]; помилка ODBC [2]: [3]. Переконайтеся, що файл [4] існує та доступний. - Не вдалося настроїти джерело даних ODBC: [4]; помилка ODBC [2]: [3]. Переконайтеся, що файл "[4]" існує та доступний. - Не вдалося запустити службу "[2]" ([3]). Переконайтеся, що у вас достатньо прав для запуску системних служб. - Не вдалося зупинити службу "[2]" ([3]). Переконайтеся, що у вас достатньо прав для зупинення системних служб. - Не вдалося видалити службу "[2]" ([3]). Переконайтеся, що у вас достатньо прав для видалення системних служб. - Не вдалося інсталювати службу "[2]" ([3]). Переконайтеся, що у вас достатньо прав для інсталяції системних служб. - Не вдалося оновити змінну оточення "[2]". Переконайтеся, що у вас достатньо прав для модифікації змінних оточення. - У вас недостатньо прав, щоб завершити цю інсталяцію для всіх користувачів комп’ютера. Ввійдіть до системи як адміністратор і повторіть спробу. - Не вдалося встановити захист для файлу "[3]". Помилка: [2]. Переконайтеся, що у вас достатньо прав для змінення дозволів безпеки для цього файлу. - Служби компонентів (COM+ 1.0) не інстальовано на цьому комп’ютері. Для успішного завершення цієї інсталяції потрібні служби компонентів. Служби компонентів доступні в системі Windows 2000. - Помилка реєстрації застосунку COM+. Для отримання додаткових відомостей зверніться до служби підтримки. - Помилка скасування реєстрації застосунку COM+. Для отримання додаткових відомостей зверніться до служби підтримки. - Не вдалося змінити опис для служби "[2]" ([3]). - Інсталятору Windows не вдалося оновити системний файл [2], оскільки його захищає система Windows. Можливо, для належної роботи програми слід оновити операційну систему. {{Версія пакета: [3], захищена операційною системою версія: [4]}} - Інсталятору Windows не вдалося оновити файл [2], захищений системою Windows. {{Версія пакета: [3], захищена операційною системою версія: [4], помилка SFP: [5]}} - Інсталятору Windows не вдалося оновити принаймні один файл, захищений системою Windows. {{Помилка SFP: [2]. Перелік захищених файлів:\r\n[3]}} - Інсталяції користувачів заборонено за політикою цього комп’ютера. - Під час інсталяції складання "[6]" сталася помилка. Для отримання додаткових відомостей зверніться до довідки та служби підтримки. HRESULT: [3]. {{інтерфейс складання: [4], функція: [5], компонент: [2]}} - Під час інсталяції складання "[6]" сталася помилка. Складання не має належного імені або не підписане ключем мінімальної довжини. HRESULT: [3]. {{інтерфейс складання: [4], функція: [5], компонент: [2]}} - Під час інсталяції складання "[6]" сталася помилка. Підпис або каталог неприпустимі, чи їх не вдалося перевірити. HRESULT: [3]. {{інтерфейс складання: [4], функція: [5], компонент: [2]}} - Під час інсталяції складання "[6]" сталася помилка. Не вдалося знайти принаймні один модуль складання. HRESULT: [3]. {{інтерфейс складання: [4], функція: [5], компонент: [2]}} - - байт - ГБ - КБ - МБ - Увесь компонент буде недоступний - Увесь компонент буде інстальовано за потреби - Увесь компонент буде інстальовано для запуску з компакт-диска - Увесь компонент буде інстальовано на локальний жорсткий диск - Увесь компонент буде інстальовано для запуску з мережі - Буде інстальовано для запуску з компакт-диска - Буде інстальовано на локальний жорсткий диск - Буде інстальовано для запуску з мережі - Папка|Нова папка - Триває збирання потрібних даних... - Цей компонент не буде інстальовано - Цей компонент буде настроєно для інсталяції в разі потреби - Цей компонент буде інстальовано для запуску з компакт-диска - Цей компонент буде інстальовано на локальний жорсткий диск - Цей компонент буде інстальовано для запуску з мережі - Цей компонент стане недоступний - Буде інстальовано в разі потреби - Цей компонент буде доступний для запуску з компакт-диска - Цей компонент буде інстальовано на локальний жорсткий диск - Цей компонент буде доступний для запуску з мережі - Цей компонент буде повністю видалено, його не можна буде запустити з компакт-диска - Для цього компонента запуск із компакт-диска буде замінено на інсталяцію в разі потреби - Цей компонент залишиться доступний для запуску з компакт-диска - Для цього компонента запуск із компакт-диска буде замінено на інсталяцію на локальний жорсткий диск - Цей компонент звільняє [1] на жорсткому диску. - Для цього компонента потрібно [1] на жорсткому диску. - Триває обчислення місця для компонента... - Цей компонент буде повністю видалено - Цей компонент буде видалено з локального жорсткого диска, але настроєно для інсталяції в разі потреби - Компонент буде видалено з локального жорсткого диска, але він залишиться доступним для запуску з компакт-диска - Цей компонент залишиться на локальному жорсткому диску - Компонент буде видалено з локального жорсткого диска, але він залишиться доступним для запуску з мережі - Компонент буде повністю видалено, його неможливо буде запустити з мережі - Для цього компонента запуск з мережі буде замінено на інсталяцію в разі потреби - Для цього компонента запуск із мережі буде замінено на інсталяцію на локальний жорсткий диск - Цей компонент залишиться доступний для запуску з мережі - Цей компонент звільняє [1] на жорсткому диску. Вибрано [2] з [3] його частин. Ці частини звільняють [4] на жорсткому диску. - Компонент звільняє [1] на жорсткому диску. Вибрано [2] з [3] його частин. Разом вони потребують [4] на жорсткому диску. - Для цього компонента потрібно [1] на жорсткому диску. Вибрано [2] з [3] його частин. Разом вони звільнять [4] на жорсткому диску. - Для цього компонента потрібно [1] на жорсткому диску. Вибрано [2] з [3] його частин. Разом вони потребують [4] на жорсткому диску. - Залишилось часу: {[1] хв. }{[2] сек.} - Доступно - Різниця - Обов’язково - Розмір диска - Обсяг - diff --git a/Src/Localization/WixUI/WixUI_zh-CN.wxl b/Src/Localization/WixUI/WixUI_zh-CN.wxl deleted file mode 100644 index 962630e..0000000 --- a/Src/Localization/WixUI/WixUI_zh-CN.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - 上一步(&B) - 下一步(&N) - 取消 - 完成(&F) - 重试(&R) - 忽略(&I) - 是(&Y) - 否(&N) - 确定 - 打印(&P) - - [ProductName] 安装程序 - WixUI_Bmp_Banner - {\WixUI_Font_Title}请阅读 [ProductName] 许可协议 - 我接受许可协议中的条款(&A) - 单击“安装”使用默认选项为所有用户安装本产品。单击“高级”可更改安装选项。 - 单击“安装”使用默认选项仅为您安装本产品。单击“高级”可更改安装选项。 - 安装(&I) - 高级(&D) - 8 - 12 - 9 - 8 - 宋体 - - [ProductName] 安装程序 - 查找范围(&L): - WixUI_Bmp_Up - 向上一级 - WixUI_Bmp_New - 新建文件夹 - 文件夹名称(&F): - WixUI_Bmp_Banner - 浏览到目标文件夹 - {\WixUI_Font_Title}更改目标文件夹 - - [ProductName] 安装程序 - 是否确实要取消安装 [ProductName]? - WixUI_Ico_Info - 信息图标 - - [ProductName] 安装程序 - 选择树 - 浏览(&R)... - 重置(&S) - 磁盘使用情况(&U) - WixUI_Bmp_Banner - 单击下面树中的图标可更改功能的安装方式。 - 选择所需的功能安装方式。 - {\WixUI_Font_Title}自定义安装 - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - 位置: - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 突出显示的卷没有足够的磁盘空间用于所选功能。您可以从突出显示的卷中删除一些文件,安装较少的功能,或者选择其他目标驱动器。 - 安装选择的功能所需的磁盘空间。 - {\WixUI_Font_Title}磁盘空间要求 - {120}{70}{70}{70}{70} - - [ProductName] 安装程序 - 信息文本 - WixUI_Ico_Info - 信息图标 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 单击“完成”按钮退出安装向导。 - {\WixUI_Font_Bigger}[ProductName] 安装向导已完成 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安装向导提前结束 - 由于发生错误,[ProductName] 安装向导提前结束。您的系统尚未修改。若要稍后安装该程序,请再次运行安装向导。 - 单击“完成”按钮退出安装向导。 - - [ProductName] 安装程序 - 产品功能 - WixUI_Bmp_Banner - 选择所需的功能安装方式。 - {\WixUI_Font_Title}产品功能 - FeaturesDlgItemDescription - FeaturesDlgItemSize - 安装(&I) - 更改(&C) - - [ProductName] 安装程序 - 退出(&X) - WixUI_Bmp_Banner - 以下应用程序正在使用需要通过此安装程序更新的文件。请关闭这些应用程序,然后单击“重试”继续安装,或单击“退出”退出安装(&R)。 - 一些需要更新的文件当前正在使用中。 - {\WixUI_Font_Title}使用中的文件 - - [ProductName] 安装程序 - 更改(&C)... - {\WixUI_Font_Title}目标文件夹 - 单击“下一步”安装到默认文件夹或单击“更改”选择其他位置。 - WixUI_Bmp_Banner - [ProductName] 安装位置: - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 选择安装范围和文件夹 - {\WixUI_Font_Title}安装范围 - {\WixUI_Font_Emphasized}只为您([LogonUser])安装(&J) - [ProductName] 将安装在每用户文件夹中并且仅供您的用户帐户使用。您不需要本地管理员特权。 - [ProductName] 不支持每用户安装。 - {\WixUI_Font_Emphasized}为此计算机的所有用户安装(&M) - [ProductName] 默认情况下安装在每计算机文件夹中并且可供所有用户使用。您可以更改默认安装文件夹,并且必须具有本地管理员特权。 - 安装文件夹(&F): - 更改(&C)... - - [ProductName] 安装程序 - 安装目录必须位于本地硬盘驱动器上。 - WixUI_Ico_Info - 信息图标 - - [ProductName] 安装程序 - 我接受许可协议中的条款(&A) - WixUI_Bmp_Banner - 请认真阅读以下许可协议 - {\WixUI_Font_Title}最终用户许可协议 - - [ProductName] 安装程序 - 更改(&C) - 更改安装 - 修复(&P) - 修复安装 - 删除(&R) - 删除安装 - WixUI_Bmp_Banner - 选择希望执行的操作。 - {\WixUI_Font_Title}更改、修复或删除安装 - 允许您更改功能的安装方式。 - [ProductName] 没有单独可选的功能。 - 从您的计算机中删除 [ProductName]。 - [ProductName] 无法删除。 - 通过修复丢失和损坏的文件、快捷方式和注册表项,修复最近安装的软件中的错误。 - [ProductName] 无法修复。 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 通过安装向导可以更改在您的计算机上安装 [ProductName] 功能的方式,或将其从您的计算机中删除。单击“下一步”继续,或单击“取消”退出安装向导。 - {\WixUI_Font_Bigger}欢迎使用 [ProductName] 安装向导 - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 以下应用程序正在使用此安装程序需要更新的文件。可以让安装向导关闭这些应用程序,稍后再尝试重新启动这些应用程序或重新启动计算机。 - 一些需要更新的文件当前正在使用中。 - {\WixUI_Font_Title}使用中的文件 - 关闭应用程序,然后尝试将其重新启动(&C)。 - 不关闭应用程序。需要重新启动(&D)。 - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 突出显示的卷没有足够的磁盘空间用于安装当前所选功能。您可以从突出显示的卷中删除一些文件,安装较少的功能,或者选择其他目标驱动器。 - 安装所需的磁盘空间超出了可用磁盘空间。 - {\WixUI_Font_Title}磁盘空间不足 - {120}{70}{70}{70}{70} - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 突出显示的卷没有足够的磁盘空间用于安装当前所选功能。您可以从突出显示的卷中删除一些文件,安装较少的功能,或者选择其他目标驱动器。 - 安装所需的磁盘空间超出了可用磁盘空间。 - {\WixUI_Font_Title}磁盘空间不足 - {120}{70}{70}{70}{70} - 或者,您可以选择禁用安装程序的回滚功能。禁用回滚功能将在因任何原因中断安装时,阻止安装程序还原计算机的原始状态。如果希望冒险禁用回滚功能,请单击“是”。 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 安装向导正准备指导您完成安装过程,请稍候。 - {\WixUI_Font_Bigger}欢迎使用 [ProductName] 安装向导 - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 安装向导正在安装 [ProductName],请稍候。 - {\WixUI_Font_Title}正在安装 [ProductName] - 安装向导正在更改 [ProductName],请稍候。 - {\WixUI_Font_Title}正在更改 [ProductName] - 安装向导正在修复 [ProductName],请稍候。 - {\WixUI_Font_Title}正在修复 [ProductName] - 安装向导正在删除 [ProductName],请稍候。 - {\WixUI_Font_Title}正在删除 [ProductName] - 安装向导正在更新 [ProductName],请稍候。 - {\WixUI_Font_Title}正在更新 [ProductName] - 安装过程已完成 - 状态: - - [ProductName] 安装程序 - 安装(&I) - WixUI_Bmp_Dialog - 安装向导将在您的计算机上完成 [ProductName] 的安装。请单击“安装”继续,或单击“取消”退出安装向导。 - {\WixUI_Font_Bigger}正在继续执行 [ProductName] 安装向导 - - [ProductName] 安装程序 - 典型(&T) - 典型安装 - 自定义(&U) - 自定义安装 - 完整(&O) - 完整安装 - WixUI_Bmp_Banner - {\WixUI_Font_Title}选择安装类型 - 选择最符合您需求的安装类型 - 安装最常用的程序功能。建议大多数用户使用。 - 允许用户选择要安装的程序功能及其安装位置。建议高级用户使用。 - 将安装所有程序功能。需要最多磁盘空间。 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安装向导中断 - [ProductName] 安装程序已中断。您的系统尚未修改。若要稍后安装此程序,请再次运行安装程序。 - 单击“完成”按钮退出安装向导。 - - [ProductName] 安装程序 - WixUI_Bmp_Banner - 安装(&I) - 单击“安装”开始安装。单击“上一步”查看或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好安装 [ProductName] - 更改(&C) - 单击“更改”开始安装。单击“上一步”查看或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好更改 [ProductName] - 修复(&P) - 单击“修复”修复 [ProductName] 的安装。单击“上一步”检查或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好修复 [ProductName] - 删除(&R) - 单击“删除”可从计算机上删除 [ProductName]。单击“上一步”检查或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好删除 [ProductName] - 更新(&U) - 单击“更新”以更新计算机上的 [ProductName]。单击“上一步”检查或更改任何安装设置。单击“取消”退出向导。 - {\WixUI_Font_Title}已准备好更新 [ProductName] - - [ProductName] 安装程序 - 返回(&R) - 安装程序正在确定磁盘空间需求,请稍候。 - WixUI_Ico_Exclam - 感叹号图标 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 安装向导将在计算机上安装 [ProductName]。单击“下一步”继续,或单击“取消”退出安装向导。 - 安装向导将更新您计算机上的 [ProductName]。单击“下一步”继续或单击“取消”退出安装向导。 - {\WixUI_Font_Bigger}欢迎使用 [ProductName] 安装向导 - - [ProductName] 安装程序 - WixUI_Bmp_Dialog - 我接受许可协议中的条款(&A) - 安装(&I) - 更新(&U) - {\WixUI_Font_Title}请阅读 [ProductName] 许可协议 - - 正在验证安装 - 正在复制新文件 - 文件: [1],目录: [9],大小: [6] - 正在复制网络安装文件 - 文件: [1],目录: [9],大小: [6] - 正在计算空间需求 - 正在计算空间需求 - 正在计算空间需求 - 正在创建快捷方式 - 快捷方式: [1] - 正在发布合格的组件 - 组件 ID: [1],限定符: [2] - 正在发布产品功能 - 功能: [1] - 正在发布产品信息 - 正在注册类服务器 - 类 ID: [1] - 正在注册扩展服务器 - 扩展: [1] - 正在注册 MIME 信息 - MIME 内容类型: [1],扩展: [2] - 正在注册程序标识符 - ProgId: [1] - 正在分配注册表空间 - 可用空间: [1] - 正在搜索已安装的应用程序 - 属性: [1],签名: [2] - 正在绑定可执行文件 - 文件: [1] - 正在搜索合格的产品 - 正在创建文件夹 - 文件夹: [1] - 正在删除服务 - 服务: [1] - 正在创建重复文件 - 文件: [1],目录: [9],大小: [6] - 正在搜索相关应用程序 - 找到的应用程序: [1] - 正在安装 ODBC 组件 - 正在安装新服务 - 服务: [2] - 正在评估启动条件 - 正在从相关应用程序迁移功能状态 - 应用程序: [1] - 正在移动文件 - 文件: [1],目录: [9],大小: [6] - 正在修补文件 - 文件: [1],目录: [2],大小: [3] - 正在更新组件注册 - 正在注册 COM+ 应用程序和组件 - AppId: [1]{{,AppType: [2],用户: [3],RSN: [4]}} - 正在注册字体 - 字体: [1] - 正在注册产品 - [1] - 正在注册类型库 - 库 ID: [1] - 正在注册用户 - [1] - 正在删除重复的文件 - 文件: [1],目录: [9] - 正在更新环境字符串 - 名称: [1],值: [2],操作 [3] - 正在删除应用程序 - 应用程序: [1],命令行: [2] - 正在删除文件 - 文件: [1],目录: [9] - 正在删除文件夹 - 文件夹: [1] - 正在删除 INI 文件条目 - 文件: [1],节: [2],项: [3],值: [4] - 正在删除 ODBC 组件 - 正在删除系统注册表值 - 项: [1],名称: [2] - 正在删除快捷方式 - 快捷方式: [1] - 正在搜索合格的产品 - 正在注册模块 - 文件: [1],文件夹: [2] - 正在撤消模块的注册 - 文件: [1],文件夹: [2] - 正在初始化 ODBC 目录 - 正在启动服务 - 服务: [1] - 正在停止服务 - 服务: [1] - 正在取消合格组件的发布 - 组件 ID: [1],限定符: [2] - 正在取消产品功能的发布 - 功能: [1] - 撤消类服务器的注册 - 类 ID: [1] - 正在撤消 COM+ 应用程序和组件的注册 - AppId: [1]{{,AppType: [2]}} - 正在撤消扩展服务器的注册 - 扩展: [1] - 正在撤消字体的注册 - 字体: [1] - 正在撤消 MIME 信息的注册 - MIME 内容类型: [1],扩展: [2] - 正在撤消程序标识符的注册 - ProgId: [1] - 正在撤消类型库的注册 - 库 ID: [1] - 正在更新环境字符串 - 名称: [1],值: [2],操作 [3] - 正在写入 INI 文件值 - 文件: [1],节: [2],项: [3],值: [4] - 正在写入系统注册表值 - 项: [1],名称: [2],值: [3] - 通知应用程序 - 正在生成脚本操作,用于: - [1] - 正在安装系统目录 - 文件: [1],依赖项: [2] - 正在发布程序集信息 - 应用程序环境: [1],程序集名称: [2] - 正在取消发布程序集信息 - 应用程序环境: [1],程序集名称: [2] - 正在回滚操作: - [1] - 正在删除备份文件 - 文件: [1] - 正在删除移动过的文件 - 文件: [1],目录: [9] - 正在取消发布产品信息 - - {{错误: }} - {{错误 [1]。}} - 警告 [1]。 - 信息 [1]。 - 安装程序在安装此软件包时遇到了错误。这可能表示此软件包有问题。错误码是 [1]。{{参数是: [2]、[3]、[4]}} - {{磁盘已满: }} - 操作 [Time]: [1]。[2] - [ProductName] - {[2]}{,[3]}{,[4]} - 消息类型: [1],参数: [2] - === 记录开始: [Date] [Time] === - === 记录停止: [Date] [Time] === - 操作开始 [Time]: [1]。 - 操作结束 [Time]: [1]。返回值 [2]。 - 剩余时间: {[1] 分 }{[2] 秒} - 内存不足。请先关闭其他应用程序,然后再试。 - 安装程序已不再反应。 - 安装程序过早停止。 - Windows 正在配置 [ProductName],请稍候 - 正在收集所需信息... - 正在删除该应用程序的旧版本... - 正在准备删除该应用程序的旧版本... - {[ProductName]} 的安装已成功完成。 - {[ProductName]} 安装失败。 - 读取文件 [2] 时出错。{{系统错误 [3]。}}请确认该文件存在,并且您能够访问该文件。 - 无法创建文件“[2]”。具有此名称的目录已经存在。请取消此安装,然后尝试安装到其他位置。 - 请插入磁盘: [2] - 安装程序没有访问目录 [2] 的足够权限。安装无法继续。请以管理员身份登录,或者联络您的系统管理员。 - 写入文件 [2] 时出错。请确认您有访问该目录的权限。 - 读取文件 [2] 时出错。{{系统错误 [3]。}}请确认该文件存在,并且您能够访问该文件。 - 另一应用程序正在独占访问文件“[2]”。请关闭所有其他应用程序,然后单击“重试”。 - 磁盘空间不足,无法安装文件 [2]。请释放一些磁盘空间,然后单击“重试”,或者单击“取消”退出。 - 找不到源文件: [2]。请确认该文件存在,并且您能够访问该文件。 - 读取文件 [3] 时出错。{{系统错误 [2]。}}请确认该文件存在,并且您能够访问该文件。 - 写入文件 [3] 时出错。{{系统错误 [2]。}}请确认您有访问该目录的权限。 - 找不到源文件 {{(cabinet)}}: [2]。请确认该文件存在,并且您能够访问该文件。 - 无法创建目录“[2]”。已经存在一个同名文件,请重命名或删除该文件,然后单击“重试”,或者单击“取消”退出。 - 目前无法使用卷 [2],请另选其他卷。 - 指定的路径“[2]”不可用。 - 无法写入指定的文件夹: [2]。 - 尝试读取文件 [2] 时发生网络错误 - 尝试创建目录 [2] 时发生错误 - 尝试创建目录 [2] 时发生网络错误 - 尝试打开源文件 Cabinet [2] 时发生网络错误 - 指定的路径过长: [2] - 安装程序没有修改文件 [2] 的足够权限。 - 文件夹路径“[2]”的一部分无效。该路径或者为空,或者超出了系统允许的长度。 - 文件夹路径“[2]”中含有非法字词。 - 文件夹路径“[2]”中含有非法字符。 - “[2]”不是有效的短文件名。 - 获取文件安全设置时出错: [3] GetLastError: [2] - 无效驱动器: [2] - 对文件 [2] 应用修补程序时出错。可能已采用其他方式进行更新,无法再使用此修补程序进行修改。有关详细信息,请与修补程序供应商联系。{{系统错误: [3]}} - 由于 CAB 文件 [2] 没有进行数字签名,无法安装所需文件。这可能指示该 CAB 文件已损坏。 - 由于 CAB 文件 [2] 具有无效的数字签名,无法安装所需文件。这可能指示该 CAB 文件已损坏。{{WinVerifyTrust 返回错误 [3]。}} - 未能正确地复制 [2] 文件: CRC 错误。 - 未能正确地移动 [2] 文件: CRC 错误。 - 未能正确地修补 [2] 文件: CRC 错误。 - 无法安装文件“[2]”,因为在 CAB 文件“[3]”中找不到该文件。这可能表明发生网络错误、在读取 CD-ROM 时出错或者该包存在问题。 - 此安装所需的 CAB 文件“[2]”已损坏,无法使用。这可能表明发生网络错误、在读取 CD-ROM 时出错或者该包存在问题。 - 在创建完成此安装所需的临时文件时出错。{{文件夹: [3]。系统错误代码: [2]}} - 无法创建注册表项 [2]。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法打开注册表项 [2]。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法从注册表项 [3] 删除值 [2]。{{系统错误 [4]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法删除注册表项 [2]。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法从注册表项 [3] 读取值 [2]。{{系统错误 [4]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法将值 [2] 写入注册表项 [3]。{{系统错误 [4]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法获取注册表项 [2] 的值名称。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法获取注册表项 [2] 的子项名称。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法读取注册表项 [2] 的安全信息。{{系统错误 [3]。}}请确保您有足够的权限访问该注册表项,或者与技术支持人员联系。 - 无法增加可用的注册表空间。安装该应用程序需要 [2] KB 的可用注册表空间。 - 另一安装过程正在进行当中。您必须先完成那个安装过程,然后才能继续本次安装过程。 - 访问受保护的数据时出错。请确保 Windows Installer 配置正确,然后重新安装。 - 用户“[2]”以前启动过产品“[3]”的安装。该用户需要再次运行该安装才能使用该产品。您的当前安装现在将继续进行。 - 用户“[2]”以前启动过产品“[3]”的安装。该用户需要再次运行该安装才能使用该产品。您的当前安装现在将继续进行。 - 磁盘空间不足 -- 卷:“[2]”;所需空间: [3] KB;可用空间: [4] KB。请释放一些磁盘空间,然后重试。 - 是否确实要取消? - 文件 [2][3] 正在使用中 {由以下进程使用: 名称: [4],ID: [5],窗口标题: “[6]”}。请关闭该应用程序,然后重试。 - 产品“[2]”已经安装,现在无法安装本产品。这两种产品不兼容。 - 卷“[2]”上的磁盘空间不足,无法继续安装并启用恢复功能。需要 [3] KB 磁盘空间,但只有 [4] KB 可用空间。请单击“忽略”继续安装但不保存恢复信息,单击“重试”再次检查可用空间,或单击“取消”退出安装。 - 无法访问网络位置 [2]。 - 在继续安装之前,应关闭下列应用程序: - 对于本产品的安装,未能在计算机上找到任何此前安装的兼容产品。 - 应用安全设置时出错。[2] 不是有效的用户或组。这可能是软件包有问题,或者是连接到网络上的域控制器时出现了连接问题。请检查网络连接,然后单击“重试”,或者单击“取消”结束安装。{{无法找到用户的 SID,系统错误 [3]}} - 注册表项 [2] 无效。请确保您输入了正确的注册表项。 - 安装程序必须先重新启动您的系统,然后才能继续配置 [2]。单击“是”可立即重新启动,单击“否”可在以后手动重新启动。 - 您必须重新启动系统,对 [2] 进行的配置更改才能生效。单击“是”可立即重新启动,单击“否”可在以后手动重新启动。 - [2] 的安装正处于暂停状态,您必须先撤消该安装过程所做的更改,然后才能继续操作。是否撤消这些更改? - 本产品的上一次安装正在进行中。您必须先撤消该安装过程所做的更改,然后才能继续操作。是否撤消这些更改? - 无法找到产品 [2] 的安装程序包。请尝试使用该安装程序包的有效副本“[3]”重新进行安装。 - 安装成功完成。 - 安装失败。 - 产品: [2] -- [3] - 您可以将计算机还原到以前的状态,也可以稍后继续安装。是否还原? - 将安装信息写入磁盘时出错。请进行检查以确保有足够的可用磁盘空间,然后单击“重试”,或者单击“取消”结束安装。 - 未找到将计算机还原到以前状态所需的一个或多个文件。将无法进行还原。 - [2] 无法安装所需的某个产品。请与技术支持小组联系。{{系统错误: [3]。}} - 无法删除 [2] 的较早版本。请与技术支持小组联系。{{系统错误 [3]。}} - 已安装 [2] - 已配置 [2] - 已删除 [2] - 文件 [2] 被数字签名策略拒绝。 - 无法访问 Windows Installer 服务。原因可能是您在安全模式下运行 Windows,或者是 Windows Installer 安装不正确。请与技术支持人员联系以获取帮助。 - 该 Windows Installer 软件包存在问题。完成此安装所需的一个脚本无法运行。请与技术支持人员或软件包供应商联系。{{自定义操作 [2] 脚本错误 [3],[4]: [5] 行 [6],列 [7],[8] }} - 该 Windows Installer 软件包存在问题。完成此安装所需的一个程序无法运行。请与技术支持人员或软件包供应商联系。{{操作: [2],位置: [3],命令: [4] }} - 该 Windows Installer 软件包存在问题。作为此安装程序的一部分运行的一个程序未按预期完成。请与技术支持人员或软件包供应商联系。{{操作 [2],位置: [3],命令: [4] }} - 该 Windows Installer 软件包存在问题。完成此安装所需的一个 DLL 无法运行。请与技术支持人员或软件包供应商联系。{{操作 [2], 条目: [3], 库: [4]}} - 删除已成功完成。 - 删除失败。 - 广告已成功完成。 - 广告失败。 - 配置已成功完成。 - 配置失败。 - 只有系统管理员才能删除此应用程序。要删除此应用程序,您可以以系统管理员的身份登录,或者与技术支持小组联系,以寻求帮助。 - 产品 [2] 的源安装程序包和客户端的程序包不同步。请使用有效版本的程序包“[3]”来重新尝试安装。 - 为了完成 [2] 的安装,必须重新启动计算机。当前已有其他用户登录到此计算机,重新启动计算机会导致这些用户无法工作。是否要立即重新启动? - 路径 [2] 无效,请指定一个有效路径。 - 内存不足。请先关闭其他应用程序,然后再试。 - 驱动器 [2] 中没有磁盘。请插入一张磁盘,然后单击“重试”,或者单击“取消”返回到以前选定的卷。 - 驱动器 [2] 中没有磁盘。请插入一张磁盘,然后单击“重试”,或者单击“取消”返回到浏览对话框并选择其他卷。 - 文件夹 [2] 不存在。请输入一个现有文件夹路径。 - 您没有足够的权限,无法读取此文件夹。 - 无法确定有效的安装目标文件夹。 - 尝试读取源安装数据库 [2] 时出错。 - 正在安排重新启动操作: 正在将文件 [2] 重命名为 [3]。只有重新启动后才能完成操作。 - 正在安排重新启动操作: 正在删除文件 [2]。只有重新启动后才能完成操作。 - 模块 [2] 注册失败。HRESULT [3]。请与技术支持人员联系。 - 模块 [2] 注销失败。HRESULT [3]。请与技术支持人员联系。 - 无法缓存软件包 [2]。错误: [3]。请与技术支持人员联系。 - 无法注册字体 [2]。请确保您有足够的权限安装字体,并且系统支持该字体。 - 无法注销字体 [2]。请确保您有足够的权限删除字体。 - 无法创建快捷方式 [2]。请确保该目标文件夹存在,并且您能够访问该文件夹。 - 无法删除快捷方式 [2]。请确保该快捷方式文件存在,并且您能够访问该文件。 - 无法将文件 [2] 注册到类型库中。请与技术支持人员联系。 - 无法从类型库中注销文件 [2]。请与技术支持人员联系。 - 无法更新 INI 文件 [2][3]。请确保该文件存在,并且您能够访问该文件。 - 无法安排文件 [2] 在重新启动时替换文件 [3]。请确保您对文件 [3] 具有写权限。 - 删除 ODBC 驱动程序管理器时出错,ODBC 错误 [2]: [3]。请与技术支持人员联系。 - 安装 ODBC 驱动程序管理器时出错,ODBC 错误 [2]: [3]。请与技术支持人员联系。 - 删除 ODBC 驱动程序 [4] 时出错,ODBC 错误 [2]: [3]。请确保您有足够的权限删除 ODBC 驱动程序。 - 安装 ODBC 驱动程序 [4] 时出错,ODBC 错误 [2]: [3]。请确保文件 [4] 存在,并且您能够访问该文件。 - 配置 ODBC 数据源 [4] 时出错,ODBC 错误 [2]: [3]。请确保文件 [4] 存在,并且您能够访问该文件。 - 服务“[2]”([3])启动失败。请确保您有足够的权限启动系统服务。 - 无法停止服务“[2]”([3])。请确保您有足够的权限停止系统服务。 - 无法删除服务“[2]”([3])。请确保您有足够的权限删除系统服务。 - 无法安装服务“[2]”([3])。请确保您有足够的权限安装系统服务。 - 无法更新环境变量“[2]”。请确保您有足够的权限修改环境变量。 - 您没有足够的权限为这台计算机的所有用户完成此安装。请以管理员身份登录,然后重试此安装。 - 无法为文件“[3]”设置文件安全性。错误: [2]。请确保您有足够的权限修改此文件的安全权限。 - 该计算机上未安装组件服务(COM+ 1.0)。此安装需要使用组件服务才能成功完成。Windows 2000 中提供了组件服务。 - 注册 COM+ 应用程序时出错。有关详细信息,请与技术支持人员联系。 - 注销 COM+ 应用程序时出错。有关详细信息,请与技术支持人员联系。 - 无法更改服务“[2]”([3])的说明。 - 由于系统文件 [2] 受 Windows 保护,Windows Installer 服务无法更新该文件。您可能需要更新操作系统才能使此程序正常运行。{{软件包版本: [3],操作系统保护的版本: [4]}} - Windows Installer 服务无法更新受保护的 Windows 文件 [2]。{{软件包版本: [3],操作系统保护的版本: [4],SFP 错误: [5]}} - Windows Installer 服务无法更新一个或多个受保护的 Windows 文件。{{SFP 错误: [2]。受保护的文件列表:\r\n[3]}} - 已通过计算机上的策略禁用用户安装。 - 安装程序集“[6]”期间出错。有关详细信息,请参考“帮助和支持”。HRESULT: [3]。{{程序集接口: [4],函数: [5],组件: [2]}} - 安装程序集“[6]”期间出错。该程序集没有强名称或者未按最小密钥长度进行签名。HRESULT: [3]。{{程序集接口: [4],函数: [5],组件: [2]}} - 安装程序集“[6]”期间出错。签名或目录无法验证或者无效。HRESULT: [3]。{{程序集接口: [4],函数: [5],组件: [2]}} - 安装程序集“[6]”期间出错。找不到该程序集的一个或多个模块。HRESULT: [3]。{{程序集接口: [4],函数: [5],组件: [2]}} - - 字节数 - GB - KB - MB - 整个功能将不可用 - 功能将在需要时安装 - 整个功能将安装为从光盘上运行 - 整个功能将安装在本地硬盘上 - 整个功能将安装为从网络上运行 - 将安装为从光盘上运行 - 将安装在本地硬盘上 - 将安装为从网络上运行 - Folder|新建文件夹 - 正在收集所需信息... - 将不安装此功能 - 此功能将被设置为在需要时安装 - 此功能将安装为从光盘上运行 - 此功能将安装在本地硬盘上 - 此功能将安装为从网络上运行 - 此功能将不可用 - 将在需要时安装 - 此功能将从光盘上运行 - 此功能将安装在本地硬盘上 - 此功能将从网络上运行 - 此功能将被完全卸载,您将无法从光盘上运行它 - 此功能将由从光盘上运行改为在需要时安装 - 此功能将保留为从光盘上运行 - 此功能将由从光盘上运行改为安装在本地硬盘上 - 此功能在硬盘上释放 [1] 磁盘空间。 - 此功能要求硬盘上有 [1] 磁盘空间。 - 正在计算此功能的开销... - 此功能将被完全删除 - 此功能将从本地硬盘上删除,但会设置为在需要时安装 - 此功能将从本地硬盘上删除,但仍可从光盘上运行 - 此功能将保留在本地硬盘上 - 此功能将从本地硬盘上删除,但仍可从网络上运行 - 此功能将被完全卸载,您将无法从网络上运行它 - 此功能将由从网络上运行改为在需要时安装 - 此功能将由从网络上运行改为安装在本地硬盘上 - 此功能将保留为从网络上运行 - 此功能在硬盘上释放 [1] 磁盘空间。已选择了它的 [3] 项子功能中的 [2] 项。这些子功能在硬盘上释放 [4] 磁盘空间。 - 此功能在硬盘上释放 [1] 磁盘空间。已选择了它的 [3] 项子功能中的 [2] 项。这些子功能要求硬盘上有 [4] 磁盘空间。 - 此功能要求硬盘上有 [1] 磁盘空间。已选择了它的 [3] 项子功能中的 [2] 项。这些子功能在硬盘上释放 [4] 磁盘空间。 - 此功能要求硬盘上有 [1] 磁盘空间。已选择了它的 [3] 项子功能中的 [2] 项。这些子功能要求硬盘上有 [4] 磁盘空间。 - 剩余时间: {[1] 分 }{[2] 秒} - 有空 - 差额 - 所需空间 - 磁盘大小 - - diff --git a/Src/Localization/WixUI/WixUI_zh-HK.wxl b/Src/Localization/WixUI/WixUI_zh-HK.wxl deleted file mode 100644 index b197f9c..0000000 --- a/Src/Localization/WixUI/WixUI_zh-HK.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - 上一步(&B) - 下一步(&N) - 取消 - 完成(&F) - 重試(&R) - 忽略(&I) - 是(&Y) - 否(&N) - 確定 - 列印(&P) - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - {\WixUI_Font_Title}請閱讀 [ProductName] 授權合約 - 我接受授權合約中的條款(&A) - 按一下 [\[]安裝[\]] 以預設選項為所有使用者安裝產品。按一下 [\[]進階[\]] 可變更安裝選項。 - 按一下 [\[]安裝[\]] 以預設選項僅為您安裝產品。按一下 [\[]進階[\]] 可變更安裝選項。 - 安裝(&I) - 進階(&D) - 9 - 12 - 9 - 9 - Tahoma - - [ProductName] 安裝程式 - 查詢(&L): - WixUI_Bmp_Up - 上移一層 - WixUI_Bmp_New - 建立新資料夾 - 資料夾名稱(&F): - WixUI_Bmp_Banner - 瀏覽到目的地資料夾 - {\WixUI_Font_Title}變更目的地資料夾 - - [ProductName] 安裝程式 - 您確定要取消 [ProductName] 安裝嗎? - WixUI_Ico_Info - 資訊圖示 - - [ProductName] 安裝程式 - 選項樹狀目錄 - 瀏覽(&R)... - 重設(&S) - 磁碟使用量(&U) - WixUI_Bmp_Banner - 按一下下面樹狀結構中的圖示,可變更每項功能的安裝方式。 - 選取您想要的功能安裝方式。 - {\WixUI_Font_Title}自訂安裝 - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - 地點: - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 反白顯示的磁碟區沒有足夠磁碟空間可供選取的功能使用。您可以從反白顯示的磁碟區移除一些檔案、安裝較少功能,或是選擇其他目的地磁碟機。 - 安裝已選取功能所需的磁碟空間。 - {\WixUI_Font_Title}磁碟空間需求 - {120}{70}{70}{70}{70} - - [ProductName] 安裝程式 - 資訊文字 - WixUI_Ico_Info - 資訊圖示 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 按一下 [\[]完成[\]] 按鈕結束安裝精靈。 - {\WixUI_Font_Bigger}已完成 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安裝精靈提前結束 - [ProductName] 安裝精靈因發生錯誤而提前結束,您的系統尚未被修改。若要稍後再安裝此程式,請再執行一次安裝精靈。 - 按一下 [\[]完成[\]] 按鈕結束安裝精靈。 - - [ProductName] 安裝程式 - 產品功能 - WixUI_Bmp_Banner - 選取您想要的功能安裝方式。 - {\WixUI_Font_Title}產品功能 - FeaturesDlgItemDescription - FeaturesDlgItemSize - 安裝(&I) - 變更(&C) - - [ProductName] 安裝程式 - 結束(&X) - WixUI_Bmp_Banner - 下列應用程式正在使用要由此安裝程式更新的檔案。請按 [\[]結束[\]] 結束,或關閉這些應用程式,然後按一下 [\[]重試[\]] 繼續進行安裝(&R) - 有些需要更新的檔案目前正在使用中。 - {\WixUI_Font_Title}檔案使用中 - - [ProductName] 安裝程式 - 變更(&C)... - {\WixUI_Font_Title}目的地資料夾 - 按一下 [\[]下一步[\]] 安裝至預設資料夾,或按一下 [\[]變更[\]] 選擇其他位置。 - WixUI_Bmp_Banner - 安裝 [ProductName] 到: - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 選擇安裝範圍和資料夾 - {\WixUI_Font_Title}安裝範圍 - {\WixUI_Font_Emphasized}僅為您安裝 ([LogonUser])(&J) - [ProductName] 將安裝在個別使用者資料夾中,並且僅供您的使用者帳戶使用。您不需要本機系統管理員權限。 - [ProductName] 不支援個別使用者安裝。 - {\WixUI_Font_Emphasized}為這部電腦的所有使用者安裝(&M) - [ProductName] 將依預設安裝在個別電腦資料夾中,並且可供所有使用者使用。您可以變更預設安裝資料夾。您必須擁有本機系統管理員權限。 - 安裝資料夾(&F): - 變更(&C)... - - [ProductName] 安裝程式 - 安裝目錄必須在本機硬碟上。 - WixUI_Ico_Info - 資訊圖示 - - [ProductName] 安裝程式 - 我接受授權合約中的條款(&A) - WixUI_Bmp_Banner - 請仔細閱讀下面的授權合約 - {\WixUI_Font_Title}使用者授權合約 - - [ProductName] 安裝程式 - 變更(&C) - 變更安裝 - 修復(&P) - 修復安裝 - 移除(&R) - 移除安裝 - WixUI_Bmp_Banner - 選取您要執行的作業。 - {\WixUI_Font_Title}變更、修復或移除安裝 - 讓您變更各項功能安裝的方式。 - [ProductName] 沒有可以單獨選取的功能。 - 從您的電腦移除 [ProductName]。 - [ProductName] 無法移除。 - 藉由修正遺失及損毀的檔案、捷徑和登錄項目修復最近安裝中的錯誤。 - [ProductName] 無法修復。 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 安裝精靈可以讓您變更 [ProductName] 功能安裝在電腦上的方式,或從電腦移除它們。請按 [\[]下一步[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - {\WixUI_Font_Bigger}歡迎使用 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 下列應用程式正在使用要由此安裝程式更新的檔案。您可以讓安裝精靈關閉它們,稍後再嘗試重新啟動它們或重新啟動電腦。 - 有些需要更新的檔案目前正在使用中。 - {\WixUI_Font_Title}檔案使用中 - 關閉應用程式,稍後再嘗試重新啟動它們(&C) - 不關閉應用程式,必須重新開機(&D) - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 反白顯示的磁碟區沒有足夠磁碟空間可供目前選取的功能使用。您可以從反白顯示的磁碟區移除一些檔案、安裝較少功能,或是選擇其他目的地磁碟機。 - 安裝作業所需的磁碟空間超過可用的磁碟空間。 - {\WixUI_Font_Title}磁碟空間不足 - {120}{70}{70}{70}{70} - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 反白顯示的磁碟區沒有足夠磁碟空間可供目前選取的功能使用。您可以從反白顯示的磁碟區移除一些檔案、安裝較少功能,或是選擇其他目的地磁碟機。 - 安裝作業所需的磁碟空間超過可用的磁碟空間。 - {\WixUI_Font_Title}磁碟空間不足 - {120}{70}{70}{70}{70} - 或者,您可以選擇停用安裝程式的復原功能。停用復原會阻礙安裝程式在安裝受到任何形式的中斷時,將電腦還原成原先的狀態。如果您願意承擔停用復原功能的風險,請按一下 [\[]是[\]]。 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 安裝精靈正在準備引導您完成安裝,請稍候。 - {\WixUI_Font_Bigger}歡迎使用 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 安裝程式精靈正在安裝 [ProductName],請稍候。 - {\WixUI_Font_Title}正在安裝 [ProductName] - 安裝精靈正在變更 [ProductName],請稍候。 - {\WixUI_Font_Title}正在變更 [ProductName] - 安裝精靈正在修復 [ProductName],請稍候。 - {\WixUI_Font_Title}正在修復 [ProductName] - 安裝精靈正在移除 [ProductName],請稍候。 - {\WixUI_Font_Title}正在移除 [ProductName] - 安裝精靈正在更新 [ProductName],請稍候。 - {\WixUI_Font_Title}正在更新 [ProductName] - 處理完畢 - 狀態: - - [ProductName] 安裝程式 - 安裝(&I) - WixUI_Bmp_Dialog - 安裝精靈即將完成在您的電腦上安裝 [ProductName]。請按 [\[]安裝[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - {\WixUI_Font_Bigger}繼續執行 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - 一般(&T) - 一般安裝 - 自訂(&U) - 自訂安裝 - 完整(&O) - 完整安裝 - WixUI_Bmp_Banner - {\WixUI_Font_Title}選擇安裝類型 - 選擇最符合您需求的安裝類型 - 安裝最常用的程式功能。建議一般使用者使用。 - 讓使用者選擇要安裝的程式功能以及安裝位置。建議進階使用者使用。 - 將安裝所有程式功能。需要最大磁碟空間。 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安裝精靈已中斷 - [ProductName] 安裝程式已中斷。您的系統尚未被修改。若要稍後再安裝此程式,請再執行一次安裝精靈。 - 按一下 [\[]完成[\]] 按鈕結束安裝精靈。 - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 安裝(&I) - 按一下 [\[]安裝[\]] 即可開始安裝。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備安裝 [ProductName] - 變更(&C) - 按一下 [\[]變更[\]] 即可開始安裝。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備變更 [ProductName] - 修復(&P) - 按一下 [\[]修復[\]] 即可修復 [ProductName] 的安裝。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備修復 [ProductName] - 移除(&R) - 按一下 [\[]移除[\]] 即可從電腦移除 [ProductName]。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備移除 [ProductName] - 更新(&U) - 按一下 [\[]更新[\]] 即可更新您電腦中的 [ProductName]。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備更新 [ProductName] - - [ProductName] 安裝程式 - 返回(&R) - 安裝程式正在判斷您的磁碟空間需求,請稍候。 - WixUI_Ico_Exclam - 驚歎號圖示 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 安裝精靈將在您的電腦上安裝 [ProductName]。請按 [\[]下一步[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - 安裝精靈將更新您電腦上的 [ProductName]。請按 [\[]下一步[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - {\WixUI_Font_Bigger}歡迎使用 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 我接受授權合約中的條款(&A) - 安裝(&I) - 更新(&U) - {\WixUI_Font_Title}請閱讀 [ProductName] 授權合約 - - 正在驗證安裝 - 正在複製新檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在複製網路安裝檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在計算空間需求 - 正在計算空間需求 - 正在計算空間需求 - 正在建立捷徑 - 捷徑: [1] - 正在發行合格的元件 - 元件識別碼: [1],識別符號: [2] - 正在發行產品功能 - 功能: [1] - 正在發行產品資訊 - 正在註冊類別伺服器 - 類別識別碼: [1] - 正在註冊擴充伺服器 - 擴充: [1] - 正在註冊 MIME 資訊 - MIME 內容類型: [1],副檔名: [2] - 正在註冊程式識別元 - ProgId: [1] - 正在配置登錄空間 - 可用空間: [1] - 正在搜尋已安裝的應用程式 - 屬性: [1],簽章: [2] - 正在繫結可執行檔 - 檔案: [1] - 正在搜尋合格的產品 - 正在建立資料夾 - 資料夾: [1] - 正在刪除服務 - 服務: [1] - 正在建立重複的檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在搜尋相關的應用程式 - 找到的應用程式: [1] - 正在安裝 ODBC 元件 - 正在安裝新服務 - 服務: [2] - 正在評估啟動條件 - 正在從相關應用程式移轉功能狀態 - 應用程式: [1] - 正在移動檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在修補檔案 - 檔案: [1],目錄: [2],大小: [3] - 正在更新元件登錄 - 正在註冊 COM+ 應用程式及元件 - AppId: [1]{{, AppType: [2], 使用者: [3], RSN: [4]}} - 正在註冊字型 - 字型: [1] - 正在註冊產品 - [1] - 正在註冊型別程式庫 - LibID: [1] - 正在註冊使用者 - [1] - 正在移除重複的檔案 - 檔案: [1],目錄: [9] - 正在更新環境字串 - 名稱: [1],值: [2],動作 [3] - 正在移除應用程式 - 應用程式: [1],命令列: [2] - 正在移除檔案 - 檔案: [1],目錄: [9] - 正在移除資料夾 - 資料夾: [1] - 正在移除 INI 檔案項目 - 檔案: [1],區段: [2],機碼: [3],值: [4] - 正在移除 ODBC 元件 - 正在移除系統登錄值 - 機碼: [1],名稱: [2] - 正在移除捷徑 - 捷徑: [1] - 正在搜尋合格的產品 - 正在註冊模組 - 檔案: [1],資料夾: [2] - 正在解除註冊模組 - 檔案: [1],資料夾: [2] - 正在初始化 ODBC 目錄 - 正在啟動服務 - 服務: [1] - 正在停止服務 - 服務: [1] - 正在解除發行合格的元件 - 元件識別碼: [1],識別符號: [2] - 正在解除發行產品功能 - 功能: [1] - 解除註冊類別伺服器 - 類別識別碼: [1] - 正在解除註冊 COM+ 應用程式及元件 - AppId: [1]{{, AppType: [2]}} - 正在解除註冊擴充伺服器 - 擴充: [1] - 正在解除註冊字型 - 字型: [1] - 正在解除註冊 MIME 資訊 - MIME 內容類型: [1],副檔名: [2] - 正在解除註冊程式識別元 - ProgId: [1] - 正在解除註冊型別程式庫 - LibID: [1] - 正在更新環境字串 - 名稱: [1],值: [2],動作 [3] - 正在寫入 INI 檔案值 - 檔案: [1],區段: [2],機碼: [3],值: [4] - 正在寫入系統登錄值 - 機碼: [1],名稱: [2],值: [3] - 正在通告應用程式 - 正在產生動作的指令碼作業: - [1] - 正在安裝系統目錄 - 檔案: [1],相依性: [2] - 正在發行組件資訊 - 應用程式內容:[1],組件名稱:[2] - 正在解除發行組件資訊 - 應用程式內容:[1],組件名稱:[2] - 正在復原的動作: - [1] - 正在移除備份檔案 - 檔案: [1] - 正在移除移動的檔案 - 檔案: [1],目錄: [9] - 正在解除發行產品資訊 - - {{嚴重錯誤: }} - {{錯誤 [1]。}} - 警告 [1]。 - 資訊 [1]。 - 安裝程式在安裝此套件時發生意外的錯誤。這可能表示此套件有問題。錯誤碼為 [1]。{{引數為: [2]、[3]、[4]}} - {{磁碟已滿: }} - 動作 [Time]: [1]。[2] - [ProductName] - {[2]}{, [3]}{, [4]} - 訊息類型: [1],引數: [2] - === 開始記錄時間: [Date] [Time] === - === 停止記錄時間: [Date] [Time] === - 動作開始 [Time]: [1]。 - 動作結束 [Time]: [1]。傳回值 [2]。 - 剩餘時間: {[1] 分 }{[2] 秒} - 記憶體不足,重試之前請先關閉其他應用程式。 - 安裝程式沒有回應。 - 安裝程式太早停止。 - 請稍候,Windows 在設定 [ProductName] - 正在蒐集必要的資訊... - 正在移除舊版應用程式... - 正在準備移除舊版應用程式... - {[ProductName] }安裝成功。 - {[ProductName] }安裝失敗。 - 從檔案 [2] 讀取時發生錯誤。{{系統錯誤 [3]。}} 請確認檔案存在,而且您可以存取它。 - 無法建立檔案 '[2]'。同名的目錄已經存在,請取消安裝然後嘗試安裝至別的位置。 - 請插入磁片: [2] - 安裝程式的權限不足,無法存取這個目錄: [2],安裝無法繼續,請以管理員身分登入或是與您的系統管理員連絡。 - 寫入檔案 [2] 時發生錯誤。請檢查您是否有存取該目錄的權限。 - 讀取檔案 [2] 時發生錯誤。{{ 系統錯誤 [3]。}} 請確認檔案存在,而且您可以存取它。 - 其他的應用程式對檔案 '[2]' 獨佔存取。請關閉所有其他的應用程式,然後按一下 [\[]重試[\]]。 - 磁碟空間不足,無法安裝這個檔案: [2]。請釋放一些磁碟空間然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束。 - 找不到來源檔案: [2]。請確認檔案存在,而且您可以存取它。 - 讀取檔案 [3] 時發生錯誤。{{ 系統錯誤 [2]。}} 請確認檔案存在,而且您可以存取它。 - 寫入至檔案時發生錯誤: [3]。{{ 系統錯誤 [2]。}} 請檢查您是否有存取該目錄的權限。 - 找不到來源檔案{{(封包檔)}}: [2]。請確認檔案存在,而且您可以存取它。 - 無法建立目錄 '[2]'。同名的檔案已經存在,請更名或移除此檔案,然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束。 - 目前無法使用磁碟區 [2],請選取別的磁碟區。 - 指定的路徑 '[2]' 無法使用。 - 無法寫入指定的資料夾: [2]。 - 嘗試讀取檔案時發生網路錯誤: [2] - 嘗試建立目錄時發生錯誤: [2] - 嘗試建立目錄時發生網路錯誤: [2] - 嘗試開啟來源檔案封包時發生網路錯誤: [2] - 指定的路徑太長: [2] - 安裝程式的權限不足,無法修改檔案 [2]。 - 部分資料夾路徑 '[2]' 無效。它是空的或超過系統允許的長度。 - 資料夾路徑 '[2]' 含有無效的資料夾路徑字元。 - 資料夾路徑 '[2]' 含有無效的字元。 - '[2]' 不是有效的短檔名。 - 取得檔案安全性時發生錯誤: [3] GetLastError: [2] - 無效的磁碟機: [2] - 將修補套用至檔案 [2] 時發生錯誤。它可能已由其他的方法更新,而不能再由這個修補修改。如需詳細資訊,請連絡您的修補廠商。{{系統錯誤: [3]}} - 因為封包檔 [2] 未經過數位簽署,所以無法安裝必要的檔案。這可能表示封包檔已損毀。 - 因為封包檔 [2] 具有無效的數位簽章,所以無法安裝必要的檔案。這可能表示封包檔已損毀。{{ WinVerifyTrust 傳回錯誤 [3]。}} - 無法正確複製 [2] 檔案: CRC 錯誤。 - 無法正確移動 [2] 檔案: CRC 錯誤。 - 無法正確修補 [2] 檔案: CRC 錯誤。 - 因為在封包檔 '[3]' 中找不到檔案 '[2]',所以無法安裝它。這可能表示有網路錯誤、讀取 CD-ROM 時發生錯誤或這個套件有問題。 - 這個安裝所需的封包檔 '[2]' 已損毀而且無法使用。這可能表示有網路錯誤、讀取 CD-ROM 時發生錯誤或這個套件有問題。 - 建立完成此安裝所需的暫存檔時發生錯誤。{{ 資料夾: [3]。系統錯誤碼: [2]}} - 無法建立機碼: [2]。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法開啟機碼: [2]。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法從機碼 [3] 刪除值 [2]。{{ 系統錯誤 [4]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法刪除機碼 [2]。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法從機碼 [3] 讀取值 [2]。{{ 系統錯誤 [4]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法寫入值 [2] 至機碼 [3]。 {{ 系統錯誤 [4]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法取得機碼 [2] 的值名稱。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法取得機碼 [2] 的子機碼名稱。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法讀取機碼 [2] 的安全性資訊。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法增加可用的登錄空間。安裝此應用程式需要 [2] KB 以上的空間。 - 其他的安裝正在進行中,您必須完成該項安裝之後才能繼續。 - 存取安全性資料時發生錯誤,請確定 Windows Installer 是否正確設定,然後再試一次。 - 使用者 '[2]' 之前已經啟動了產品 '[3]' 的安裝。這位使用者必須再次執行安裝才能使用該產品。您目前的安裝將會繼續。 - 使用者 '[2]' 之前已經啟動了產品 '[3]' 的安裝。這位使用者必須再次執行安裝才能使用該產品。 - 磁碟空間不足 -- 磁碟區: '[2]'; 需要空間: [3] KB; 可用空間: [4] KB。請釋放一些空間,然後再重試。 - 您確定要取消嗎 ? - 檔案 [2][3] 正在使用中 {被下列處理序使用: 名稱: [4],識別碼: [5],視窗標題: '[6]'},請關閉該應用程式然後重試。 - 已經安裝產品 '[2]',無法安裝本產品。這兩項產品不相容。 - 磁碟區 '[2]' 上的磁碟空間不足,無法繼續進行啟用修復功能的安裝。需要 [3] KB 的空間,但是只有 [4] KB 可供使用。請按一下 [\[]忽略[\]] 繼續安裝但不儲存修復資訊,按一下 [\[]重試[\]] 再檢查一次是否有可用的空間,或按一下 [\[]取消[\]] 結束安裝。 - 無法存取網路位置 [2]。 - 繼續安裝之前應先關閉下列應用程式: - 在此機器上,找不到與本產品相容的舊版產品。 - 套用安全性設定時發生錯誤。[2] 不是有效的使用者或群組。可能是因為套件有問題,或連線至網路上的網域控制站時發生問題。請檢查您的網路連線再按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束安裝。{{找不到使用者的 SID,系統錯誤 [3]}} - 金鑰 [2] 無效。請檢查您輸入的金鑰是否正確。 - 安裝程式必須重新啟動您的系統才能繼續設定 [2]。請按一下 [\[]是[\]] 立即重新啟動,或如果您想要稍後手動重新啟動請按一下 [\[]否[\]]。 - 您必須重新啟動系統,才能使對 [2] 的設定變更生效。請按一下 [\[]是[\]] 立即重新啟動,或如果您想要稍後手動重新啟動請按一下 [\[]否[\]]。 - [2] 的安裝目前已暫停。您必須復原該安裝所做的變更才能繼續。是否要復原那些變更? - 本產品先前的安裝正在進行中,您必須復原該安裝所做的變更才能繼續。是否要復原那些變更? - 找不到產品 [2] 的安裝套件。請試著使用有效的安裝套件 '[3]' 再安裝一次。 - 安裝已成功完成。 - 安裝失敗。 - 產品: [2] -- [3] - 您可以將電腦還原成先前的狀態或稍後再繼續安裝。要還原嗎? - 寫入安裝資訊至磁碟時發生錯誤。請檢查確定有足夠的可用磁碟空間,然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束安裝。 - 找不到將您的電腦還原為之前狀態所需的一個或多個檔案。無法還原。 - [2] 無法安裝其中一項必要的產品。請連絡技術支援團隊。{{系統錯誤: [3]。}} - 無法移除舊版的 [2]。請連絡技術支援團隊。{{系統錯誤: [3]。}} - 已安裝 [2] - 已設定 [2] - 已移除 [2] - 檔案 [2] 已因數位簽章原則而被拒絕。 - 無法存取 Windows Installer 服務。如果您在安全模式中執行 Windows,或者並未正確安裝 Windows Installer,便會發生這個問題。請連絡支援人員取得協助。 - 這個 Windows Installer 套件有問題。有個完成此安裝所需的指令碼無法執行。請連絡支援人員或套件廠商。{{自訂動作 [2] 指令碼錯誤 [3], [4]: [5] 行 [6], 欄 [7], [8] }} - 這個 Windows Installer 套件有問題。有個完成此安裝所需的程式無法執行。請連絡支援人員或套件廠商。{{動作: [2], 位置: [3], 命令: [4] }} - 這個 Windows Installer 套件有問題。有個安裝程式中包含的程式並未如預期完成。請連絡支援人員或套件廠商。{{動作 [2], 位置: [3], 命令: [4] }} - 這個 Windows Installer 套件有問題。有個完成此安裝所需的 DLL 無法執行。請連絡支援人員或套件廠商。{{動作 [2], 項目: [3], 程式庫: [4] }} - 移除已順利完成。 - 移除失敗。 - 通告已順利完成。 - 通知失敗。 - 設定已順利完成。 - 設定失敗。 - 您必須是系統管理員才能移除這個應用程式。如果要移除這個應用程式,請以系統管理員身分登入,或連絡技術支援人員取得協助。 - 產品 [2] 的來源安裝套件與用戶端套件不同步。請使用有效的安裝套件 '[3]' 再安裝一次。 - 若要完成 [2] 的安裝,您必須重新啟動電腦。這部電腦目前有其他使用者登入,重新啟動可能會造成他們工作遺失。是否要立即重新啟動? - 路徑 [2] 無效。請指定有效的路徑。 - 記憶體不足,重試之前請先關閉其他應用程式。 - 磁碟機 [2] 中沒有磁片,請插入磁片然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 回到上次選取的磁碟機代號。 - 磁碟機 [2] 中沒有磁片,請插入磁片然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 返回瀏覽對話方塊,並選取其他磁碟機代號。 - 資料夾 [2] 不存在,請輸入現有資料夾的路徑。 - 您的權限不足,無法讀取這個資料夾。 - 無法判斷安裝的有效目的地資料夾。 - 嘗試讀取來源安裝資料庫時發生錯誤: [2]。 - 正在排定重新開機作業: 正在將 [2] 重新命名為 [3]。必須重新開機才能完成作業。 - 正在排定重新開機作業: 正在刪除檔案 [2]。必須重新開機才能完成作業。 - 模組 [2] 無法註冊。HRESULT [3]。請連絡支援人員。 - 模組 [2] 無法解除註冊。HRESULT [3]。請連絡支援人員。 - 無法快取封裝 [2]。錯誤: [3]。請連絡支援人員。 - 無法註冊字型 [2]。請確認您有安裝字型的足夠權限,且系統支援此字型。 - 無法解除註冊字型 [2]。請確認您有移除字型的足夠權限。 - 無法建立捷徑 [2]。請確認目的地資料夾是否存在,且您可以存取它。 - 無法移除捷徑 [2]。請確認捷徑檔案是否存在,且您可以存取它。 - 無法註冊檔案 [2] 的型別程式庫。請連絡支援人員。 - 無法解除註冊檔案 [2] 的型別程式庫。請連絡支援人員。 - 無法更新 INI 檔 [2][3]。請確認檔案存在,而且您可以存取它。 - 無法排定檔案 [2] 在重新開機時取代檔案 [3]。請確認您具有檔案 [3] 的寫入權限。 - 移除 ODBC 驅動程式管理員時發生錯誤,ODBC 錯誤 [2]: [3]。請連絡支援人員。 - 安裝 ODBC 驅動程式管理員時發生錯誤,ODBC 錯誤 [2]: [3]。請連絡支援人員。 - 移除 ODBC 驅動程式時發生錯誤: [4],ODBC 錯誤 [2]: [3]。請確認您有移除 ODBC 驅動程式的足夠權限。 - 安裝 ODBC 驅動程式時發生錯誤: [4],ODBC 錯誤 [2]: [3]。請確認檔案 [4] 是否存在,且您可以存取它。 - 設定 ODBC 資料來源時發生錯誤: [4],ODBC 錯誤 [2]: [3]。請確認檔案 [4] 是否存在,且您可以存取它。 - 服務 '[2]' ([3]) 無法啟動。請確認您有啟動系統服務的足夠權限。 - 服務 '[2]' ([3]) 無法停止。請確認您有停止系統服務的足夠權限。 - 服務 '[2]' ([3]) 無法刪除。請確認您有移除系統服務的足夠權限。 - 服務 '[2]' ([3]) 無法安裝。請確認您有安裝系統服務的足夠權限。 - 無法更新環境變數 '[2]'。請確認您有修改環境變數的足夠權限。 - 您沒有足夠的權限為此電腦上的所有使用者完成此安裝。請以系統管理員身分登入,然後再重試此安裝。 - 無法設定檔案 '[3]' 的檔案安全性。錯誤: [2]。請確認您有修改此檔案安全性權限的足夠權限。 - 這台電腦並未安裝 Component Services (COM+ 1.0)。這項安裝需要有 Component Services 才能順利完成。Component Services 包含在 Windows 2000 中。 - 註冊 COM+ 應用程式時發生錯誤。請連絡支援人員取得詳細資訊。 - 解除註冊 COM+ 應用程式時發生錯誤。請連絡支援人員取得詳細資訊。 - 無法變更服務 '[2]' ([3]) 的描述。 - Windows Installer 服務無法更新系統檔案 [2],因為檔案受到 Windows 保護。可能需要更新您的作業系統才能正確執行這個程式。{{封裝版本: [3],OS 保護的版本: [4]}} - Windows Installer 服務無法更新受保護的 Windows 檔案 [2]。{{封裝裝版本: [3],OS 受保護的版本: [4],SFP 錯誤: [5]}} - Windows Installer 服務無法更新一或多個受保護的 Windows 檔案。{{SFP 錯誤: [2]。受保護的檔案清單:\r\n[3]}} - 電腦上的使用者安裝已透過原則停用。 - 組件 '[6]' 安裝期間發生錯誤。請參閱說明與支援取得詳細資訊。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - 組件 '[6]' 安裝期間發生錯誤。此組件不是以強式名稱命名,或未以最短金鑰長度簽章。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - 組件 '[6]' 安裝期間發生錯誤。簽章或目錄無法驗證或無效。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - 組件 '[6]' 安裝期間發生錯誤。有一或多個組件的模組找不到。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - - 位元組 - GB - KB - MB - 整個功能將無法使用 - 功能會在必要時才安裝 - 整個功能將安裝成從光碟執行 - 整個功能將安裝在本機硬碟上 - 整個功能將安裝成從網路執行 - 將安裝成從光碟執行 - 將安裝在本機硬碟上 - 將安裝成從網路執行 - 資料夾|新資料夾 - 正在蒐集必要的資訊... - 這項功能將保持未安裝的狀態 - 這項功能將設定成在必要時才安裝 - 這項功能將安裝成從光碟執行 - 這項功能將安裝在本機硬碟上 - 這項功能將安裝成從網路執行 - 這項功能將無法使用 - 將會在必要時才安裝 - 這項功能將可從光碟執行 - 這項功能將安裝在本機硬碟上 - 這項功能將可從網路執行 - 將完全解除安裝這項功能,且無法從光碟執行 - 這項功能原本是從光碟執行,將變更為在必要時才安裝 - 這項功能將繼續從光碟執行 - 這項功能原本是從光碟執行,將變更為安裝到本機硬碟 - 這個功能會釋放 [1] 的硬碟空間。 - 這個功能需要 [1] 的硬碟空間。 - 正在編譯這個功能的花費... - 這項功能將完全移除 - 這項功能將從本機硬碟移除,但設定成必要時才安裝 - 這項功能將從本機硬碟移除,但仍然可以從光碟執行 - 這項功能將保留在您的本機硬碟上 - 這項功能將從本機硬碟移除,但仍然可以從網路執行 - 將完全解除安裝這項功能,且無法從網路執行 - 這項功能原本是從網路執行,將變更為在必要時才安裝 - 這項功能原本是從網路執行,將變更為安裝到本機硬碟 - 這項功能將繼續從網路執行 - 這個功能會釋放 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能會釋放 [4] 的硬碟空間。 - 這個功能會釋放 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能需要 [4] 的硬碟空間。 - 這個功能需要 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能會釋放 [4] 的硬碟空間。 - 這個功能需要 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能需要 [4] 的硬碟空間。 - 剩餘時間: {[1] 分 }{[2] 秒} - 可用 - 差異 - 需要 - 磁碟大小 - 磁碟區 - diff --git a/Src/Localization/WixUI/WixUI_zh-TW.wxl b/Src/Localization/WixUI/WixUI_zh-TW.wxl deleted file mode 100644 index 9fa614e..0000000 --- a/Src/Localization/WixUI/WixUI_zh-TW.wxl +++ /dev/null @@ -1,603 +0,0 @@ - - - - 上一步(&B) - 下一步(&N) - 取消 - 完成(&F) - 重試(&R) - 忽略(&I) - 是(&Y) - 否(&N) - 確定 - 列印(&P) - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - {\WixUI_Font_Title}請閱讀 [ProductName] 授權合約 - 我接受授權合約中的條款(&A) - 按一下 [\[]安裝[\]] 以預設選項為所有使用者安裝產品。按一下 [\[]進階[\]] 可變更安裝選項。 - 按一下 [\[]安裝[\]] 以預設選項僅為您安裝產品。按一下 [\[]進階[\]] 可變更安裝選項。 - 安裝(&I) - 進階(&D) - 9 - 12 - 9 - 9 - Tahoma - - [ProductName] 安裝程式 - 查詢(&L): - WixUI_Bmp_Up - 上移一層 - WixUI_Bmp_New - 建立新資料夾 - 資料夾名稱(&F): - WixUI_Bmp_Banner - 瀏覽到目的地資料夾 - {\WixUI_Font_Title}變更目的地資料夾 - - [ProductName] 安裝程式 - 您確定要取消 [ProductName] 安裝嗎? - WixUI_Ico_Info - 資訊圖示 - - [ProductName] 安裝程式 - 選項樹狀目錄 - 瀏覽(&R)... - 重設(&S) - 磁碟使用量(&U) - WixUI_Bmp_Banner - 按一下下面樹狀結構中的圖示,可變更每項功能的安裝方式。 - 選取您想要的功能安裝方式。 - {\WixUI_Font_Title}自訂安裝 - CustomizeDlgItemDescription-CustomizeDlgItemDescription - CustomizeDlgItemSize-CustomizeDlgItemSize - CustomizeDlgLocation-CustomizeDlgLocation - 位置: - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 反白顯示的磁碟區沒有足夠磁碟空間可供選取的功能使用。您可以從反白顯示的磁碟區移除一些檔案、安裝較少功能,或是選取其他目的地磁碟機。 - 安裝已選取功能所需的磁碟空間。 - {\WixUI_Font_Title}磁碟空間需求 - {120}{70}{70}{70}{70} - - [ProductName] 安裝程式 - 資訊文字 - WixUI_Ico_Info - 資訊圖示 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 按一下 [\[]完成[\]] 按鈕結束安裝精靈。 - {\WixUI_Font_Bigger}已完成 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安裝精靈提前結束 - [ProductName] 安裝精靈因發生錯誤而提前結束,您的系統尚未被修改。若要稍後再安裝此程式,請再執行一次安裝精靈。 - 按一下 [\[]完成[\]] 按鈕結束安裝精靈。 - - [ProductName] 安裝程式 - 產品功能 - WixUI_Bmp_Banner - 選取您想要的功能安裝方式。 - {\WixUI_Font_Title}產品功能 - FeaturesDlgItemDescription - FeaturesDlgItemSize - 安裝(&I) - 變更(&C) - - [ProductName] 安裝程式 - 結束(&X) - WixUI_Bmp_Banner - 下列應用程式正在使用要由此安裝程式更新的檔案。請按 [\[]結束[\]] 結束,或關閉這些應用程式,然後按一下 [\[]重試[\]] 繼續進行安裝(&R) - 有些需要更新的檔案目前正在使用中。 - {\WixUI_Font_Title}檔案使用中 - - [ProductName] 安裝程式 - 變更(&C)... - {\WixUI_Font_Title}目的地資料夾 - 按一下 [\[]下一步[\]] 安裝至預設資料夾,或按一下 [\[]變更[\]] 選擇其他位置。 - WixUI_Bmp_Banner - 安裝 [ProductName] 到: - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 選擇安裝範圍和資料夾 - {\WixUI_Font_Title}安裝範圍 - {\WixUI_Font_Emphasized}僅為您安裝 ([LogonUser])(&J) - [ProductName] 將安裝在個別使用者資料夾中,並且僅供您的使用者帳戶使用。您不需要本機系統管理員權限。 - [ProductName] 不支援個別使用者安裝。 - {\WixUI_Font_Emphasized}為這部電腦的所有使用者安裝(&M) - [ProductName] 將依預設安裝在個別電腦資料夾中,並且可供所有使用者使用。您可以變更預設安裝資料夾。您必須擁有本機系統管理員權限。 - 安裝資料夾(&F): - 變更(&C)... - - [ProductName] 安裝程式 - 安裝目錄必須在本機硬碟上。 - WixUI_Ico_Info - 資訊圖示 - - [ProductName] 安裝程式 - 我接受授權合約中的條款(&A) - WixUI_Bmp_Banner - 請仔細閱讀下面的授權合約 - {\WixUI_Font_Title}使用者授權合約 - - [ProductName] 安裝程式 - 變更(&C) - 變更安裝 - 修復(&P) - 修復安裝 - 移除(&R) - 移除安裝 - WixUI_Bmp_Banner - 選取您要執行的作業。 - {\WixUI_Font_Title}變更、修復或移除安裝 - 讓您變更各項功能安裝的方式。 - [ProductName] 沒有可以單獨選取的功能。 - 從您的電腦移除 [ProductName]。 - [ProductName] 無法移除。 - 藉由修正遺失及損毀的檔案、捷徑和登錄項目修復最近安裝中的錯誤。 - [ProductName] 無法修復。 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 安裝精靈可以讓您變更 [ProductName] 功能安裝在電腦上的方式,或從電腦移除它們。請按 [\[]下一步[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - {\WixUI_Font_Bigger}歡迎使用 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 下列應用程式正在使用要由此安裝程式更新的檔案。您可以讓安裝精靈關閉它們,稍後再嘗試重新啟動它們或重新啟動電腦。 - 有些需要更新的檔案目前正在使用中。 - {\WixUI_Font_Title}檔案使用中 - 關閉應用程式,稍後再嘗試重新啟動它們(&C) - 不關閉應用程式,必須重新開機(&D) - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 反白顯示的磁碟區沒有足夠磁碟空間可供目前選取的功能使用。您可以從反白顯示的磁碟區移除一些檔案、安裝較少功能,或是選取其他目的地磁碟機。 - 安裝所需的磁碟空間超過可用的磁碟空間。 - {\WixUI_Font_Title}磁碟空間不足 - {120}{70}{70}{70}{70} - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 反白顯示的磁碟區沒有足夠磁碟空間可供目前選取的功能使用。您可以從反白顯示的磁碟區移除一些檔案、安裝較少功能,或是選取其他目的地磁碟機。 - 安裝所需的磁碟空間超過可用的磁碟空間。 - {\WixUI_Font_Title}磁碟空間不足 - {120}{70}{70}{70}{70} - 或者,您可以選擇停用安裝程式的復原功能。停用復原會阻礙安裝程式在安裝受到任何形式的中斷時,將電腦還原成原先的狀態。如果您願意承擔停用復原功能的風險,請按一下 [\[]是[\]]。 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 安裝精靈正在準備引導您完成安裝,請稍候。 - {\WixUI_Font_Bigger}歡迎使用 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 安裝程式精靈正在安裝 [ProductName],請稍候。 - {\WixUI_Font_Title}正在安裝 [ProductName] - 安裝精靈正在變更 [ProductName],請稍候。 - {\WixUI_Font_Title}正在變更 [ProductName] - 安裝精靈正在修復 [ProductName],請稍候。 - {\WixUI_Font_Title}正在修復 [ProductName] - 安裝精靈正在移除 [ProductName],請稍候。 - {\WixUI_Font_Title}正在移除 [ProductName] - 安裝精靈正在更新 [ProductName],請稍候。 - {\WixUI_Font_Title}正在更新 [ProductName] - 處理完畢 - 狀態: - - [ProductName] 安裝程式 - 安裝(&I) - WixUI_Bmp_Dialog - 安裝精靈即將完成在您的電腦上安裝 [ProductName]。請按 [\[]安裝[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - {\WixUI_Font_Bigger}繼續執行 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - 一般(&T) - 一般安裝 - 自訂(&U) - 自訂安裝 - 完整(&O) - 完整安裝 - WixUI_Bmp_Banner - {\WixUI_Font_Title}選擇安裝類型 - 選擇最符合您需求的安裝類型 - 安裝最常用的程式功能。建議一般使用者使用。 - 讓使用者選擇要安裝的程式功能以及安裝位置。建議進階使用者使用。 - 將安裝所有程式功能。需要最大磁碟空間。 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - {\WixUI_Font_Bigger}[ProductName] 安裝精靈已中斷 - [ProductName] 安裝程式已中斷。您的系統尚未被修改。若要稍後再安裝此程式,請再執行一次安裝精靈。 - 按一下 [\[]完成[\]] 按鈕結束安裝精靈。 - - [ProductName] 安裝程式 - WixUI_Bmp_Banner - 安裝(&I) - 按一下 [\[]安裝[\]] 即可開始安裝。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備安裝 [ProductName] - 變更(&C) - 按一下 [\[]變更[\]] 即可開始安裝。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備變更 [ProductName] - 修復(&P) - 按一下 [\[]修復[\]] 即可修復 [ProductName] 安裝。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備修復 [ProductName] - 移除(&R) - 按一下 [\[]移除[\]] 即可從電腦移除 [ProductName]。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備移除 [ProductName] - 更新(&U) - 按一下 [\[]更新[\]] 即可更新您電腦中的 [ProductName]。按一下 [\[]上一步[\]] 可檢閱或變更您的任何安裝設定。按一下 [\[]取消[\]] 可結束此精靈。 - {\WixUI_Font_Title}準備更新 [ProductName] - - [ProductName] 安裝程式 - 返回(&R) - 安裝程式正在判斷您的磁碟空間需求,請稍候。 - WixUI_Ico_Exclam - 驚歎號圖示 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 安裝精靈將在您的電腦上安裝 [ProductName]。請按 [\[]下一步[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - 安裝精靈將更新您電腦上的 [ProductName]。請按 [\[]下一步[\]] 繼續進行,或按 [\[]取消[\]] 結束安裝精靈。 - {\WixUI_Font_Bigger}歡迎使用 [ProductName] 安裝精靈 - - [ProductName] 安裝程式 - WixUI_Bmp_Dialog - 我接受授權合約中的條款(&A) - 安裝(&I) - 更新(&U) - {\WixUI_Font_Title}請閱讀 [ProductName] 授權合約 - - 正在驗證安裝 - 正在複製新檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在複製網路安裝檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在計算空間需求 - 正在計算空間需求 - 正在計算空間需求 - 正在建立捷徑 - 捷徑: [1] - 正在發行合格的元件 - 元件識別碼: [1],辨識符號: [2] - 正在發行產品功能 - 功能: [1] - 正在發行產品資訊 - 正在註冊類別伺服器 - 類別識別碼: [1] - 正在註冊擴充伺服器 - 擴充: [1] - 正在註冊 MIME 資訊 - MIME 內容類型: [1],副檔名: [2] - 正在註冊程式識別元 - ProgId: [1] - 正在配置登錄空間 - 可用空間: [1] - 正在搜尋已安裝的應用程式 - 屬性: [1],簽章: [2] - 正在繫結可執行檔 - 檔案: [1] - 正在搜尋合格的產品 - 正在建立資料夾 - 資料夾: [1] - 正在刪除服務 - 服務: [1] - 正在建立重複的檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在搜尋相關的應用程式 - 找到的應用程式: [1] - 正在安裝 ODBC 元件 - 正在安裝新服務 - 服務: [2] - 正在評估啟動條件 - 正在從相關應用程式移轉功能狀態 - 應用程式: [1] - 正在移動檔案 - 檔案: [1],目錄: [9],大小: [6] - 正在修補檔案 - 檔案: [1],目錄: [2],大小: [3] - 正在更新元件登錄 - 正在註冊 COM+ 應用程式及元件 - AppId: [1]{{, AppType: [2], 使用者: [3], RSN: [4]}} - 正在註冊字型 - 字型: [1] - 正在註冊產品 - [1] - 正在註冊型別程式庫 - LibID: [1] - 正在註冊使用者 - [1] - 正在移除重複的檔案 - 檔案: [1],目錄: [9] - 正在更新環境字串 - 名稱: [1],值: [2],動作 [3] - 正在移除應用程式 - 應用程式: [1],命令列: [2] - 正在移除檔案 - 檔案: [1],目錄: [9] - 正在移除資料夾 - 資料夾: [1] - 正在移除 INI 檔案項目 - 檔案: [1],區段: [2],機碼: [3],值: [4] - 正在移除 ODBC 元件 - 正在移除系統登錄值 - 機碼: [1],名稱: [2] - 正在移除捷徑 - 捷徑: [1] - 正在搜尋合格的產品 - 正在註冊模組 - 檔案: [1],資料夾: [2] - 正在解除註冊模組 - 檔案: [1],資料夾: [2] - 正在初始化 ODBC 目錄 - 正在啟動服務 - 服務: [1] - 正在停止服務 - 服務: [1] - 正在解除發行合格的元件 - 元件識別碼: [1],辨識符號: [2] - 正在解除發行產品功能 - 功能: [1] - 解除註冊類別伺服器 - 類別識別碼: [1] - 正在解除註冊 COM+ 應用程式及元件 - AppId: [1]{{, AppType: [2]}} - 正在解除註冊擴充伺服器 - 擴充: [1] - 正在解除註冊字型 - 字型: [1] - 正在解除註冊 MIME 資訊 - MIME 內容類型: [1],副檔名: [2] - 正在解除註冊程式識別元 - ProgId: [1] - 正在解除註冊型別程式庫 - LibID: [1] - 正在更新環境字串 - 名稱: [1],值: [2],動作 [3] - 正在寫入 INI 檔案值 - 檔案: [1],區段: [2],機碼: [3],值: [4] - 正在寫入系統登錄值 - 機碼: [1],名稱: [2],值: [3] - 正在通告應用程式 - 正在產生動作的指令碼作業: - [1] - 正在安裝系統目錄 - 檔案: [1],相依性: [2] - 正在發行組件資訊 - 應用程式內容:[1],組件名稱:[2] - 正在解除發行組件資訊 - 應用程式內容:[1],組件名稱:[2] - 正在復原的動作: - [1] - 正在移除備份檔案 - 檔案: [1] - 正在移除移動的檔案 - 檔案: [1],目錄: [9] - 正在解除發行產品資訊 - - {{嚴重錯誤: }} - {{錯誤 [1]。}} - 警告 [1]。 - 資訊 [1]。 - 安裝程式在安裝此套件時發生意外的錯誤。這可能表示此套件有問題。錯誤碼為 [1]。{{引數為: [2]、[3]、[4]}} - {{磁碟已滿: }} - 動作 [Time]: [1]。[2] - [ProductName] - {[2]}{, [3]}{, [4]} - 訊息類型: [1],引數: [2] - === 開始記錄時間: [Date] [Time] === - === 停止記錄時間: [Date] [Time] === - 動作開始 [Time]: [1]。 - 動作結束 [Time]: [1]。傳回值 [2]。 - 剩餘時間: {[1] 分 }{[2] 秒} - 記憶體不足,重試之前請先關閉其他應用程式。 - 安裝程式沒有回應。 - 安裝程式太早停止。 - 請稍候,Windows 在設定 [ProductName] - 正在蒐集必要的資訊... - 正在移除舊版應用程式... - 正在準備移除舊版應用程式... - {[ProductName] }安裝成功。 - {[ProductName] }安裝失敗。 - 從檔案 [2] 讀取時發生錯誤。{{系統錯誤 [3]。}} 請確認檔案存在,而且您可以存取它。 - 無法建立檔案 '[2]'。同名的目錄已經存在,請取消安裝然後嘗試安裝至別的位置。 - 請插入磁片: [2] - 安裝程式的權限不足,無法存取這個目錄: [2],安裝無法繼續,請以管理員身分登入或是與您的系統管理員連絡。 - 寫入檔案 [2] 時發生錯誤。請檢查您是否有存取該目錄的權限。 - 讀取檔案 [2] 時發生錯誤。{{ 系統錯誤 [3]。}} 請確認檔案存在,而且您可以存取它。 - 其他的應用程式對檔案 '[2]' 獨佔存取。請關閉所有其他的應用程式,然後按一下 [\[]重試[\]]。 - 磁碟空間不足,無法安裝這個檔案: [2]。請釋放一些磁碟空間然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束。 - 找不到來源檔案: [2]。請確認檔案存在,而且您可以存取它。 - 讀取檔案 [3] 時發生錯誤。{{ 系統錯誤 [2]。}} 請確認檔案存在,而且您可以存取它。 - 寫入至檔案時發生錯誤: [3]。{{ 系統錯誤 [2]。}} 請檢查您是否有存取該目錄的權限。 - 找不到來源檔案{{(封包檔)}}: [2]。請確認檔案存在,而且您可以存取它。 - 無法建立目錄 '[2]'。同名的檔案已經存在,請更名或移除此檔案,然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束。 - 目前無法使用磁碟區 [2],請選取別的磁碟區。 - 指定的路徑 '[2]' 無法使用。 - 無法寫入指定的資料夾: [2]。 - 嘗試讀取檔案時發生網路錯誤: [2] - 嘗試建立目錄時發生錯誤: [2] - 嘗試建立目錄時發生網路錯誤: [2] - 嘗試開啟來源檔案封包時發生網路錯誤: [2] - 指定的路徑太長: [2] - 安裝程式的權限不足,無法修改檔案 [2]。 - 部分資料夾路徑 '[2]' 無效。它是空的或超過系統允許的長度。 - 資料夾路徑 '[2]' 含有無效的資料夾路徑字元。 - 資料夾路徑 '[2]' 含有無效的字元。 - '[2]' 不是有效的短檔名。 - 取得檔案安全性時發生錯誤: [3] GetLastError: [2] - 無效的磁碟機: [2] - 將修補套用至檔案 [2] 時發生錯誤。它可能已由其他的方法更新,而不能再由這個修補修改。如需詳細資訊,請連絡您的修補廠商。{{系統錯誤: [3]}} - 因為封包檔 [2] 未經過數位簽署,所以無法安裝必要的檔案。這可能表示封包檔已損毀。 - 因為封包檔 [2] 具有無效的數位簽章,所以無法安裝必要的檔案。這可能表示封包檔已損毀。{{ WinVerifyTrust 傳回錯誤 [3]。}} - 無法正確複製 [2] 檔案: CRC 錯誤。 - 無法正確移動 [2] 檔案: CRC 錯誤。 - 無法正確修補 [2] 檔案: CRC 錯誤。 - 因為在封包檔 '[3]' 中找不到檔案 '[2]',所以無法安裝它。這可能表示有網路錯誤、讀取 CD-ROM 時發生錯誤或這個套件有問題。 - 這個安裝所需的封包檔 '[2]' 已損毀而且無法使用。這可能表示有網路錯誤、讀取 CD-ROM 時發生錯誤或這個套件有問題。 - 建立完成此安裝所需的暫存檔時發生錯誤。{{ 資料夾: [3]。系統錯誤碼: [2]}} - 無法建立機碼: [2]。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法開啟機碼: [2]。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法從機碼 [3] 刪除值 [2]。{{ 系統錯誤 [4]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法刪除機碼 [2]。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法從機碼 [3] 讀取值 [2]。{{ 系統錯誤 [4]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法寫入值 [2] 至機碼 [3]。 {{ 系統錯誤 [4]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法取得機碼 [2] 的值名稱。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法取得機碼 [2] 的子機碼名稱。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法讀取機碼 [2] 的安全性資訊。{{ 系統錯誤 [3]。}} 請檢查您是否有存取該機碼的權限,或連絡您的支援人員。 - 無法增加可用的登錄空間。安裝此應用程式需要 [2] KB 以上的空間。 - 其他的安裝正在進行中,您必須完成該項安裝之後才能繼續。 - 存取安全性資料時發生錯誤,請確定 Windows Installer 是否正確設定,然後再試一次。 - 使用者 '[2]' 之前已經啟動了產品 '[3]' 的安裝。這位使用者必須再次執行安裝才能使用該產品。您目前的安裝將會繼續。 - 使用者 '[2]' 之前已經啟動了產品 '[3]' 的安裝。這位使用者必須再次執行安裝才能使用該產品。 - 磁碟空間不足 -- 磁碟區: '[2]'; 需要空間: [3] KB; 可用空間: [4] KB。請釋放一些空間,然後再重試。 - 您確定要取消嗎 ? - 檔案 [2][3] 正在使用中 {由下列處理序使用: 名稱: [4],識別碼: [5],視窗標題: '[6]'},請關閉該應用程式然後重試。 - 已經安裝產品 '[2]',無法安裝本產品。這兩項產品不相容。 - 磁碟區 '[2]' 上的磁碟空間不足,無法繼續進行啟用修復功能的安裝。需要 [3] KB 的空間,但是只有 [4] KB 可供使用。請按一下 [\[]忽略[\]] 繼續安裝但不儲存修復資訊,按一下 [\[]重試[\]] 再檢查一次是否有可用的空間,或按一下 [\[]取消[\]] 結束安裝。 - 無法存取網路位置 [2]。 - 繼續安裝之前應先關閉下列應用程式: - 在此機器上,找不到與本產品相容的舊版產品。 - 套用安全性設定時發生錯誤。[2] 不是有效的使用者或群組。可能是因為套件有問題,或連線至網路上的網域控制站時發生問題。請檢查您的網路連線再按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束安裝。{{找不到使用者的 SID,系統錯誤 [3]}} - 金鑰 [2] 無效。請檢查您輸入的金鑰是否正確。 - 安裝程式必須重新啟動您的系統才能繼續設定 [2]。請按一下 [\[]是[\]] 立即重新啟動,或如果您想要稍後手動重新啟動請按一下 [\[]否[\]]。 - 您必須重新啟動系統,才能使對 [2] 的設定變更生效。請按一下 [\[]是[\]] 立即重新啟動,或如果您想要稍後手動重新啟動請按一下 [\[]否[\]]。 - [2] 的安裝目前已暫停。您必須復原該安裝所做的變更才能繼續。是否要復原那些變更? - 本產品先前的安裝正在進行中,您必須復原該安裝所做的變更才能繼續。是否要復原那些變更? - 找不到產品 [2] 的安裝套件。請試著使用有效的安裝套件 '[3]' 再安裝一次。 - 安裝已成功完成。 - 安裝失敗。 - 產品: [2] -- [3] - 您可以將電腦還原成先前的狀態或稍後再繼續安裝。要還原嗎? - 寫入安裝資訊至磁碟時發生錯誤。請檢查確定有足夠的可用磁碟空間,然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 結束安裝。 - 找不到將您的電腦還原為之前狀態所需的一個或多個檔案。無法還原。 - [2] 無法安裝其中一項必要的產品。請連絡技術支援團隊。{{系統錯誤: [3]。}} - 無法移除舊版的 [2]。請連絡技術支援團隊。{{系統錯誤: [3]。}} - 已安裝 [2] - 已設定 [2] - 已移除 [2] - 檔案 [2] 已因數位簽章原則而被拒絕。 - 無法存取 Windows Installer 服務。如果您在安全模式中執行 Windows,或者並未正確安裝 Windows Installer,便會發生這個問題。請連絡支援人員取得協助。 - 這個 Windows Installer 套件有問題。有個完成此安裝所需的指令碼無法執行。請連絡支援人員或套件廠商。{{自訂動作 [2] 指令碼錯誤 [3], [4]: [5] 行 [6], 欄 [7], [8] }} - 這個 Windows Installer 套件有問題。有個完成此安裝所需的程式無法執行。請連絡支援人員或套件廠商。{{動作: [2], 位置: [3], 命令: [4] }} - 這個 Windows Installer 套件有問題。有個安裝程式中包含的程式並未如預期完成。請連絡支援人員或套件廠商。{{動作 [2], 位置: [3], 命令: [4] }} - 這個 Windows Installer 套件有問題。有個完成此安裝所需的 DLL 無法執行。請連絡支援人員或套件廠商。{{動作 [2], 項目: [3], 程式庫: [4] }} - 移除已順利完成。 - 移除失敗。 - 通告已順利完成。 - 通知失敗。 - 設定已順利完成。 - 設定失敗。 - 您必須是系統管理員才能移除這個應用程式。如果要移除這個應用程式,請以系統管理員身分登入,或連絡技術支援人員取得協助。 - 產品 [2] 的來源安裝套件與用戶端套件不同步。請使用有效的安裝套件 '[3]' 再安裝一次。 - 若要完成 [2] 的安裝,您必須重新啟動電腦。這部電腦目前有其他使用者登入,重新啟動可能會造成他們工作遺失。是否要立即重新啟動? - 路徑 [2] 無效。請指定有效的路徑。 - 記憶體不足,重試之前請先關閉其他應用程式。 - 磁碟機 [2] 中沒有磁片,請插入磁片然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 回到上次選取的磁碟機代號。 - 磁碟機 [2] 中沒有磁片,請插入磁片然後按一下 [\[]重試[\]],或按一下 [\[]取消[\]] 返回瀏覽對話方塊,並選取其他磁碟機代號。 - 資料夾 [2] 不存在,請輸入現有資料夾的路徑。 - 您的權限不足,無法讀取這個資料夾。 - 無法判斷安裝的有效目的地資料夾。 - 嘗試讀取來源安裝資料庫時發生錯誤: [2]。 - 正在排定重新開機作業: 正在將 [2] 重新命名為 [3]。必須重新開機才能完成作業。 - 正在排定重新開機作業: 正在刪除檔案 [2]。必須重新開機才能完成作業。 - 模組 [2] 無法註冊。HRESULT [3]。請連絡支援人員。 - 模組 [2] 無法解除註冊。HRESULT [3]。請連絡支援人員。 - 無法快取封裝 [2]。錯誤: [3]。請連絡支援人員。 - 無法註冊字型 [2]。請確認您有安裝字型的足夠權限,且系統支援此字型。 - 無法解除註冊字型 [2]。請確認您有移除字型的足夠權限。 - 無法建立捷徑 [2]。請確認目的地資料夾是否存在,且您可以存取它。 - 無法移除捷徑 [2]。請確認捷徑檔案是否存在,且您可以存取它。 - 無法註冊檔案 [2] 的型別程式庫。請連絡支援人員。 - 無法解除註冊檔案 [2] 的型別程式庫。請連絡支援人員。 - 無法更新 INI 檔 [2][3]。請確認檔案存在,而且您可以存取它。 - 無法排定檔案 [2] 在重新開機時取代檔案 [3]。請確認您具有檔案 [3] 的寫入權限。 - 移除 ODBC 驅動程式管理員時發生錯誤,ODBC 錯誤 [2]: [3]。請連絡支援人員。 - 安裝 ODBC 驅動程式管理員時發生錯誤,ODBC 錯誤 [2]: [3]。請連絡支援人員。 - 移除 ODBC 驅動程式時發生錯誤: [4],ODBC 錯誤 [2]: [3]。請確認您有移除 ODBC 驅動程式的足夠權限。 - 安裝 ODBC 驅動程式時發生錯誤: [4],ODBC 錯誤 [2]: [3]。請確認檔案 [4] 是否存在,且您可以存取它。 - 設定 ODBC 資料來源時發生錯誤: [4],ODBC 錯誤 [2]: [3]。請確認檔案 [4] 是否存在,且您可以存取它。 - 服務 '[2]' ([3]) 無法啟動。請確認您有啟動系統服務的足夠權限。 - 服務 '[2]' ([3]) 無法停止。請確認您有停止系統服務的足夠權限。 - 服務 '[2]' ([3]) 無法刪除。請確認您有移除系統服務的足夠權限。 - 服務 '[2]' ([3]) 無法安裝。請確認您有安裝系統服務的足夠權限。 - 無法更新環境變數 '[2]'。請確認您有修改環境變數的足夠權限。 - 您沒有足夠的權限為此電腦上的所有使用者完成此安裝。請以系統管理員身分登入,然後再重試此安裝。 - 無法設定檔案 '[3]' 的檔案安全性。錯誤: [2]。請確認您有修改此檔案安全性權限的足夠權限。 - 這台電腦並未安裝 Component Services (COM+ 1.0)。這項安裝需要有 Component Services 才能順利完成。Component Services 包含在 Windows 2000 中。 - 註冊 COM+ 應用程式時發生錯誤。請連絡支援人員取得詳細資訊。 - 解除註冊 COM+ 應用程式時發生錯誤。請連絡支援人員取得詳細資訊。 - 無法變更服務 '[2]' ([3]) 的描述。 - Windows Installer 服務無法更新系統檔案 [2],因為檔案受到 Windows 保護。可能需要更新您的作業系統才能正確執行這個程式。{{封裝版本: [3],OS 保護的版本: [4]}} - Windows Installer 服務無法更新受保護的 Windows 檔案 [2]。{{封裝版本: [3],OS 保護的版本: [4],SFP 錯誤: [5]}} - Windows Installer 服務無法更新一或多個受保護的 Windows 檔案。{{SFP 錯誤: [2]。受保護的檔案清單:\r\n[3]}} - 電腦上的使用者安裝已透過原則停用。 - 組件 '[6]' 安裝期間發生錯誤。請參閱說明與支援取得詳細資訊。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - 組件 '[6]' 安裝期間發生錯誤。此組件不是以強式名稱命名,或未以最短金鑰長度簽章。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - 組件 '[6]' 安裝期間發生錯誤。簽章或目錄無法驗證或無效。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - 組件 '[6]' 安裝期間發生錯誤。有一或多個組件的模組找不到。HRESULT: [3]。{{組件介面: [4], 功能: [5], 元件: [2]}} - - 位元組 - GB - KB - MB - 整個功能將無法使用 - 這項功能將在需要時才進行安裝 - 整個功能將安裝成從光碟執行 - 整個功能將安裝在本機硬碟上 - 整個功能將安裝成從網路執行 - 將安裝成從光碟執行 - 將安裝在本機硬碟上 - 將安裝成從網路執行 - 資料夾|新資料夾 - 正在蒐集必要的資訊... - 這項功能將保持未安裝的狀態 - 這項功能將設定成在必要時才安裝 - 這項功能將安裝成從光碟執行 - 這項功能將安裝在本機硬碟上 - 這項功能將安裝成從網路執行 - 這項功能將無法使用 - 將會在必要時才安裝 - 這項功能將可從光碟執行 - 這項功能將安裝在本機硬碟上 - 這項功能將可從網路執行 - 將完全解除安裝這項功能,且無法從光碟執行 - 這項功能原本是從光碟執行,將變更為在必要時才安裝 - 這項功能將繼續從光碟執行 - 這項功能原本是從光碟執行,將變更為安裝到本機硬碟 - 這個功能會釋放 [1] 的硬碟空間。 - 這個功能需要 [1] 的硬碟空間。 - 正在計算此功能所需的空間... - 這項功能將完全移除 - 這項功能將從本機硬碟移除,但設定成必要時才安裝 - 這項功能將從本機硬碟移除,但仍然可以從光碟執行 - 這項功能將保留在您的本機硬碟上 - 這項功能將從本機硬碟移除,但仍然可以從網路執行 - 將完全解除安裝這項功能,且無法從網路執行 - 這項功能原本是從網路執行,將變更為在必要時才安裝 - 這項功能原本是從網路執行,將變更為安裝到本機硬碟 - 這項功能將繼續從網路執行 - 這個功能會釋放 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能會釋放 [4] 的硬碟空間。 - 這個功能會釋放 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能需要 [4] 的硬碟空間。 - 這個功能需要 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能會釋放 [4] 的硬碟空間。 - 這個功能需要 [1] 的硬碟空間。已選擇 [2] 個 (共 [3] 個) 子功能。子功能需要 [4] 的硬碟空間。 - 剩餘時間: {[1] 分 }{[2] 秒} - 可用 - 差異 - 需要 - 磁碟大小 - 磁碟區 - diff --git a/Src/Localization/_BuildAllADMX.bat b/Src/Localization/_BuildAllADMX.bat deleted file mode 100644 index 5c4d30d..0000000 --- a/Src/Localization/_BuildAllADMX.bat +++ /dev/null @@ -1,19 +0,0 @@ -md PolicyDefinitions -call BuildADMX bg-BG Bulgarian -call BuildADMX de-DE German -call BuildADMX en-US English -call BuildADMX fr-FR French -call BuildADMX hu-HU Hungarian -call BuildADMX it-IT Italian -call BuildADMX ja-JP Japanese -call BuildADMX pl-PL Polish -call BuildADMX pt-BR Portugese -call BuildADMX ru-RU Russian -call BuildADMX sv-SE Swedish -call BuildADMX tr-TR Turkish -call BuildADMX zh-CN Chinese -call BuildADMX zh-TW ChineseTW -copy English\*.admx PolicyDefinitions -copy English\PolicyDefinitions.rtf PolicyDefinitions - -pause diff --git a/Src/OpenShell.sln b/Src/OpenShell.sln deleted file mode 100644 index b80c0f9..0000000 --- a/Src/OpenShell.sln +++ /dev/null @@ -1,405 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2010 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Skins", "Skins", "{409484D8-C0DB-4991-AF03-124128EDEF98}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Setup", "Setup", "{B695E1F6-785D-45CB-BCE0-0E9635DFC1DE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClassicExplorer", "ClassicExplorer\ClassicExplorer.vcxproj", "{9AF324B7-F786-4D85-B2E1-6E51720F874E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StartMenu", "StartMenu\StartMenu.vcxproj", "{87D5FE20-AF86-458A-9AA3-3131EB06179B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StartMenuDLL", "StartMenu\StartMenuDLL\StartMenuDLL.vcxproj", "{85DEECBB-1F9B-4983-9D54-3BF42182B7E7}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Setup", "Setup\Setup.vcxproj", "{A4A4D3B1-24E7-401E-A37C-72141D7603DC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win7Aero", "Skins\Win7Aero\Win7Aero.vcxproj", "{EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win7Basic", "Skins\Win7Basic\Win7Basic.vcxproj", "{404821C5-4EE4-4908-A759-5EF6DAC14AB6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClassicSkin", "Skins\ClassicSkin\ClassicSkin.vcxproj", "{9EC23CA9-384A-4EEB-979E-69879DC1A78C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FullGlass", "Skins\FullGlass\FullGlass.vcxproj", "{066C9721-26D5-4C4D-868E-50C2BA0A8196}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SmokedGlass", "Skins\SmokedGlass\SmokedGlass.vcxproj", "{66D1EAA4-65D1-45CC-9989-E616FC0575EB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinXP", "Skins\WinXP\WinXP.vcxproj", "{81EB6336-366C-47DD-82CF-FF6C36CCD2B5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SetupHelper", "Setup\SetupHelper\SetupHelper.vcxproj", "{E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClassicExplorerSettings", "ClassicExplorer\ClassicExplorerSettings\ClassicExplorerSettings.vcxproj", "{E93271C8-0252-4A08-8227-1978C64C2D34}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "en-US", "Setup\en-US\en-US.vcxproj", "{0A60FD06-3A81-4651-A869-9850DBC115EA}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lib", "Lib\Lib.vcxproj", "{D42FE717-485B-492D-884A-1999F6D51154}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClassicIE", "ClassicIE\ClassicIE.vcxproj", "{65D5C193-E807-4094-AE19-19E6A310A312}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClassicIEDLL", "ClassicIE\ClassicIEDLL\ClassicIEDLL.vcxproj", "{BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Update", "Update\Update.vcxproj", "{171B46B0-6083-4D9E-BD33-946EA3BD76FA}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win7Aero7", "Skins\Win7Aero7\Win7Aero7.vcxproj", "{A2CCDE9F-17CE-461E-8BD9-00261B8855A6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClassicSkin7", "Skins\ClassicSkin7\ClassicSkin7.vcxproj", "{31C016FB-9EA1-4AF5-987A-37210C04DA06}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win87", "Skins\Win87\Win87.vcxproj", "{5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win8", "Skins\Win8\Win8.vcxproj", "{ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StartMenuHelper", "StartMenu\StartMenuHelper\StartMenuHelper.vcxproj", "{A42C6159-ACA8-46D1-A0FB-19C398B137D5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UpdateBin", "Setup\UpdateBin\UpdateBin.vcxproj", "{F92A5473-F9E0-412F-923C-6632A66D13C1}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utility", "Setup\Utility\Utility.vcxproj", "{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Midnight7", "Skins\Midnight7\Midnight7.vcxproj", "{7BD26CB3-5280-48FD-9A86-C13E321018D5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Metro7", "Skins\Metro7\Metro7.vcxproj", "{598AB4AC-008E-4501-90B3-C5213834C1DA}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Metro", "Skins\Metro\Metro.vcxproj", "{63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Metallic7", "Skins\Metallic7\Metallic7.vcxproj", "{CA5BFC96-428D-42F5-9F7D-CDDE048A357C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - Setup|Win32 = Setup|Win32 - Setup|x64 = Setup|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|Win32.ActiveCfg = Debug|Win32 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|Win32.Build.0 = Debug|Win32 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|x64.ActiveCfg = Debug|x64 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Debug|x64.Build.0 = Debug|x64 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|Win32.ActiveCfg = Release|Win32 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|Win32.Build.0 = Release|Win32 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|x64.ActiveCfg = Release|x64 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Release|x64.Build.0 = Release|x64 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|Win32.ActiveCfg = Setup|Win32 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|Win32.Build.0 = Setup|Win32 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|x64.ActiveCfg = Setup|x64 - {9AF324B7-F786-4D85-B2E1-6E51720F874E}.Setup|x64.Build.0 = Setup|x64 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|Win32.ActiveCfg = Debug|Win32 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|Win32.Build.0 = Debug|Win32 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|x64.ActiveCfg = Debug|x64 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Debug|x64.Build.0 = Debug|x64 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|Win32.ActiveCfg = Release|Win32 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|Win32.Build.0 = Release|Win32 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|x64.ActiveCfg = Release|x64 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Release|x64.Build.0 = Release|x64 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|Win32.ActiveCfg = Setup|Win32 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|Win32.Build.0 = Setup|Win32 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|x64.ActiveCfg = Setup|x64 - {87D5FE20-AF86-458A-9AA3-3131EB06179B}.Setup|x64.Build.0 = Setup|x64 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|Win32.ActiveCfg = Debug|Win32 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|Win32.Build.0 = Debug|Win32 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|x64.ActiveCfg = Debug|x64 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Debug|x64.Build.0 = Debug|x64 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|Win32.ActiveCfg = Release|Win32 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|Win32.Build.0 = Release|Win32 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|x64.ActiveCfg = Release|x64 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Release|x64.Build.0 = Release|x64 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|Win32.ActiveCfg = Setup|Win32 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|Win32.Build.0 = Setup|Win32 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|x64.ActiveCfg = Setup|x64 - {85DEECBB-1F9B-4983-9D54-3BF42182B7E7}.Setup|x64.Build.0 = Setup|x64 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|Win32.ActiveCfg = Debug|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|Win32.Build.0 = Debug|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|x64.ActiveCfg = Debug|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|Win32.ActiveCfg = Release|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|Win32.Build.0 = Release|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|x64.ActiveCfg = Release|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Setup|Win32.ActiveCfg = Release|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Setup|x64.ActiveCfg = Release|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|Win32.ActiveCfg = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|Win32.Build.0 = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|x64.ActiveCfg = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Debug|x64.Build.0 = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|Win32.ActiveCfg = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|Win32.Build.0 = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|x64.ActiveCfg = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Release|x64.Build.0 = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Setup|Win32.ActiveCfg = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Setup|Win32.Build.0 = Resource|Win32 - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75}.Setup|x64.ActiveCfg = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|Win32.ActiveCfg = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|Win32.Build.0 = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|x64.ActiveCfg = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Debug|x64.Build.0 = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|Win32.ActiveCfg = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|Win32.Build.0 = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|x64.ActiveCfg = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Release|x64.Build.0 = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Setup|Win32.ActiveCfg = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Setup|Win32.Build.0 = Resource|Win32 - {404821C5-4EE4-4908-A759-5EF6DAC14AB6}.Setup|x64.ActiveCfg = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|Win32.ActiveCfg = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|Win32.Build.0 = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|x64.ActiveCfg = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Debug|x64.Build.0 = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|Win32.ActiveCfg = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|Win32.Build.0 = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|x64.ActiveCfg = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Release|x64.Build.0 = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Setup|Win32.ActiveCfg = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Setup|Win32.Build.0 = Resource|Win32 - {9EC23CA9-384A-4EEB-979E-69879DC1A78C}.Setup|x64.ActiveCfg = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|Win32.ActiveCfg = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|Win32.Build.0 = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|x64.ActiveCfg = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Debug|x64.Build.0 = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|Win32.ActiveCfg = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|Win32.Build.0 = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|x64.ActiveCfg = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Release|x64.Build.0 = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Setup|Win32.ActiveCfg = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Setup|Win32.Build.0 = Resource|Win32 - {066C9721-26D5-4C4D-868E-50C2BA0A8196}.Setup|x64.ActiveCfg = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|Win32.ActiveCfg = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|Win32.Build.0 = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|x64.ActiveCfg = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Debug|x64.Build.0 = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|Win32.ActiveCfg = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|Win32.Build.0 = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|x64.ActiveCfg = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Release|x64.Build.0 = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Setup|Win32.ActiveCfg = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Setup|Win32.Build.0 = Resource|Win32 - {66D1EAA4-65D1-45CC-9989-E616FC0575EB}.Setup|x64.ActiveCfg = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|Win32.ActiveCfg = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|Win32.Build.0 = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|x64.ActiveCfg = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Debug|x64.Build.0 = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|Win32.ActiveCfg = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|Win32.Build.0 = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|x64.ActiveCfg = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Release|x64.Build.0 = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Setup|Win32.ActiveCfg = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Setup|Win32.Build.0 = Resource|Win32 - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5}.Setup|x64.ActiveCfg = Resource|Win32 - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Debug|Win32.ActiveCfg = Debug|Win32 - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Debug|Win32.Build.0 = Debug|Win32 - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Debug|x64.ActiveCfg = Debug|Win32 - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Release|Win32.ActiveCfg = Release|Win32 - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Release|Win32.Build.0 = Release|Win32 - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Release|x64.ActiveCfg = Release|Win32 - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Setup|Win32.ActiveCfg = Release|Win32 - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Setup|Win32.Build.0 = Release|Win32 - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6}.Setup|x64.ActiveCfg = Release|Win32 - {E93271C8-0252-4A08-8227-1978C64C2D34}.Debug|Win32.ActiveCfg = Debug|Win32 - {E93271C8-0252-4A08-8227-1978C64C2D34}.Debug|Win32.Build.0 = Debug|Win32 - {E93271C8-0252-4A08-8227-1978C64C2D34}.Debug|x64.ActiveCfg = Debug|Win32 - {E93271C8-0252-4A08-8227-1978C64C2D34}.Release|Win32.ActiveCfg = Release|Win32 - {E93271C8-0252-4A08-8227-1978C64C2D34}.Release|Win32.Build.0 = Release|Win32 - {E93271C8-0252-4A08-8227-1978C64C2D34}.Release|x64.ActiveCfg = Release|Win32 - {E93271C8-0252-4A08-8227-1978C64C2D34}.Setup|Win32.ActiveCfg = Setup|Win32 - {E93271C8-0252-4A08-8227-1978C64C2D34}.Setup|Win32.Build.0 = Setup|Win32 - {E93271C8-0252-4A08-8227-1978C64C2D34}.Setup|x64.ActiveCfg = Setup|Win32 - {0A60FD06-3A81-4651-A869-9850DBC115EA}.Debug|Win32.ActiveCfg = Resource|Win32 - {0A60FD06-3A81-4651-A869-9850DBC115EA}.Debug|Win32.Build.0 = Resource|Win32 - {0A60FD06-3A81-4651-A869-9850DBC115EA}.Debug|x64.ActiveCfg = Resource|Win32 - {0A60FD06-3A81-4651-A869-9850DBC115EA}.Release|Win32.ActiveCfg = Resource|Win32 - {0A60FD06-3A81-4651-A869-9850DBC115EA}.Release|Win32.Build.0 = Resource|Win32 - {0A60FD06-3A81-4651-A869-9850DBC115EA}.Release|x64.ActiveCfg = Resource|Win32 - {0A60FD06-3A81-4651-A869-9850DBC115EA}.Setup|Win32.ActiveCfg = Resource|Win32 - {0A60FD06-3A81-4651-A869-9850DBC115EA}.Setup|Win32.Build.0 = Resource|Win32 - {0A60FD06-3A81-4651-A869-9850DBC115EA}.Setup|x64.ActiveCfg = Resource|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Debug|Win32.ActiveCfg = Debug|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Debug|Win32.Build.0 = Debug|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Debug|x64.ActiveCfg = Debug|x64 - {D42FE717-485B-492D-884A-1999F6D51154}.Debug|x64.Build.0 = Debug|x64 - {D42FE717-485B-492D-884A-1999F6D51154}.Release|Win32.ActiveCfg = Release|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Release|Win32.Build.0 = Release|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Release|x64.ActiveCfg = Release|x64 - {D42FE717-485B-492D-884A-1999F6D51154}.Release|x64.Build.0 = Release|x64 - {D42FE717-485B-492D-884A-1999F6D51154}.Setup|Win32.ActiveCfg = Release|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Setup|Win32.Build.0 = Release|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Setup|x64.ActiveCfg = Release|x64 - {D42FE717-485B-492D-884A-1999F6D51154}.Setup|x64.Build.0 = Release|x64 - {65D5C193-E807-4094-AE19-19E6A310A312}.Debug|Win32.ActiveCfg = Debug|Win32 - {65D5C193-E807-4094-AE19-19E6A310A312}.Debug|Win32.Build.0 = Debug|Win32 - {65D5C193-E807-4094-AE19-19E6A310A312}.Debug|x64.ActiveCfg = Debug|x64 - {65D5C193-E807-4094-AE19-19E6A310A312}.Debug|x64.Build.0 = Debug|x64 - {65D5C193-E807-4094-AE19-19E6A310A312}.Release|Win32.ActiveCfg = Release|Win32 - {65D5C193-E807-4094-AE19-19E6A310A312}.Release|Win32.Build.0 = Release|Win32 - {65D5C193-E807-4094-AE19-19E6A310A312}.Release|x64.ActiveCfg = Release|x64 - {65D5C193-E807-4094-AE19-19E6A310A312}.Release|x64.Build.0 = Release|x64 - {65D5C193-E807-4094-AE19-19E6A310A312}.Setup|Win32.ActiveCfg = Setup|Win32 - {65D5C193-E807-4094-AE19-19E6A310A312}.Setup|Win32.Build.0 = Setup|Win32 - {65D5C193-E807-4094-AE19-19E6A310A312}.Setup|x64.ActiveCfg = Setup|x64 - {65D5C193-E807-4094-AE19-19E6A310A312}.Setup|x64.Build.0 = Setup|x64 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|Win32.ActiveCfg = Debug|Win32 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|Win32.Build.0 = Debug|Win32 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|x64.ActiveCfg = Debug|x64 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Debug|x64.Build.0 = Debug|x64 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|Win32.ActiveCfg = Release|Win32 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|Win32.Build.0 = Release|Win32 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|x64.ActiveCfg = Release|x64 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Release|x64.Build.0 = Release|x64 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|Win32.ActiveCfg = Setup|Win32 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|Win32.Build.0 = Setup|Win32 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|x64.ActiveCfg = Setup|x64 - {BC0E6E7C-08C1-4F12-A754-4608E5A22FA8}.Setup|x64.Build.0 = Setup|x64 - {171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Debug|Win32.ActiveCfg = Debug|Win32 - {171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Debug|Win32.Build.0 = Debug|Win32 - {171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Debug|x64.ActiveCfg = Debug|Win32 - {171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Release|Win32.ActiveCfg = Release|Win32 - {171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Release|Win32.Build.0 = Release|Win32 - {171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Release|x64.ActiveCfg = Release|Win32 - {171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Setup|Win32.ActiveCfg = Release|Win32 - {171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Setup|Win32.Build.0 = Release|Win32 - {171B46B0-6083-4D9E-BD33-946EA3BD76FA}.Setup|x64.ActiveCfg = Release|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|Win32.ActiveCfg = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|Win32.Build.0 = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|x64.ActiveCfg = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Debug|x64.Build.0 = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|Win32.ActiveCfg = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|Win32.Build.0 = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|x64.ActiveCfg = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Release|x64.Build.0 = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Setup|Win32.ActiveCfg = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Setup|Win32.Build.0 = Resource|Win32 - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6}.Setup|x64.ActiveCfg = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|Win32.ActiveCfg = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|Win32.Build.0 = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|x64.ActiveCfg = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Debug|x64.Build.0 = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|Win32.ActiveCfg = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|Win32.Build.0 = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|x64.ActiveCfg = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Release|x64.Build.0 = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Setup|Win32.ActiveCfg = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Setup|Win32.Build.0 = Resource|Win32 - {31C016FB-9EA1-4AF5-987A-37210C04DA06}.Setup|x64.ActiveCfg = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|Win32.ActiveCfg = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|Win32.Build.0 = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|x64.ActiveCfg = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Debug|x64.Build.0 = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|Win32.ActiveCfg = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|Win32.Build.0 = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|x64.ActiveCfg = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Release|x64.Build.0 = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Setup|Win32.ActiveCfg = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Setup|Win32.Build.0 = Resource|Win32 - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089}.Setup|x64.ActiveCfg = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|Win32.ActiveCfg = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|Win32.Build.0 = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|x64.ActiveCfg = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Debug|x64.Build.0 = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|Win32.ActiveCfg = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|Win32.Build.0 = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|x64.ActiveCfg = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Release|x64.Build.0 = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Setup|Win32.ActiveCfg = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Setup|Win32.Build.0 = Resource|Win32 - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94}.Setup|x64.ActiveCfg = Resource|Win32 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|Win32.ActiveCfg = Debug|Win32 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|Win32.Build.0 = Debug|Win32 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|x64.ActiveCfg = Debug|x64 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Debug|x64.Build.0 = Debug|x64 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|Win32.ActiveCfg = Release|Win32 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|Win32.Build.0 = Release|Win32 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|x64.ActiveCfg = Release|x64 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Release|x64.Build.0 = Release|x64 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|Win32.ActiveCfg = Setup|Win32 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|Win32.Build.0 = Setup|Win32 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|x64.ActiveCfg = Setup|x64 - {A42C6159-ACA8-46D1-A0FB-19C398B137D5}.Setup|x64.Build.0 = Setup|x64 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Debug|Win32.ActiveCfg = update_4.3.1|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Debug|x64.ActiveCfg = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Release|Win32.ActiveCfg = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Release|Win32.Build.0 = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Release|x64.ActiveCfg = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Setup|Win32.ActiveCfg = update_4.2.7|Win32 - {F92A5473-F9E0-412F-923C-6632A66D13C1}.Setup|x64.ActiveCfg = update_4.3.0|Win32 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|Win32.ActiveCfg = Debug|Win32 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|Win32.Build.0 = Debug|Win32 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|x64.ActiveCfg = Debug|x64 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Debug|x64.Build.0 = Debug|x64 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|Win32.ActiveCfg = Release|Win32 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|Win32.Build.0 = Release|Win32 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|x64.ActiveCfg = Release|x64 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Release|x64.Build.0 = Release|x64 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|Win32.ActiveCfg = Release|Win32 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|Win32.Build.0 = Release|Win32 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|x64.ActiveCfg = Release|x64 - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}.Setup|x64.Build.0 = Release|x64 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|Win32.ActiveCfg = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|Win32.Build.0 = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|x64.ActiveCfg = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Debug|x64.Build.0 = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|Win32.ActiveCfg = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|Win32.Build.0 = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|x64.ActiveCfg = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Release|x64.Build.0 = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Setup|Win32.ActiveCfg = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Setup|Win32.Build.0 = Resource|Win32 - {7BD26CB3-5280-48FD-9A86-C13E321018D5}.Setup|x64.ActiveCfg = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|Win32.ActiveCfg = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|Win32.Build.0 = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|x64.ActiveCfg = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Debug|x64.Build.0 = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|Win32.ActiveCfg = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|Win32.Build.0 = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|x64.ActiveCfg = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Release|x64.Build.0 = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Setup|Win32.ActiveCfg = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Setup|Win32.Build.0 = Resource|Win32 - {598AB4AC-008E-4501-90B3-C5213834C1DA}.Setup|x64.ActiveCfg = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|Win32.ActiveCfg = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|Win32.Build.0 = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|x64.ActiveCfg = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Debug|x64.Build.0 = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|Win32.ActiveCfg = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|Win32.Build.0 = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|x64.ActiveCfg = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Release|x64.Build.0 = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Setup|Win32.ActiveCfg = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Setup|Win32.Build.0 = Resource|Win32 - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5}.Setup|x64.ActiveCfg = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|Win32.ActiveCfg = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|Win32.Build.0 = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|x64.ActiveCfg = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Debug|x64.Build.0 = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|Win32.ActiveCfg = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|Win32.Build.0 = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|x64.ActiveCfg = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Release|x64.Build.0 = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Setup|Win32.ActiveCfg = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Setup|Win32.Build.0 = Resource|Win32 - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C}.Setup|x64.ActiveCfg = Resource|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {A4A4D3B1-24E7-401E-A37C-72141D7603DC} = {B695E1F6-785D-45CB-BCE0-0E9635DFC1DE} - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {404821C5-4EE4-4908-A759-5EF6DAC14AB6} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {9EC23CA9-384A-4EEB-979E-69879DC1A78C} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {066C9721-26D5-4C4D-868E-50C2BA0A8196} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {66D1EAA4-65D1-45CC-9989-E616FC0575EB} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6} = {B695E1F6-785D-45CB-BCE0-0E9635DFC1DE} - {0A60FD06-3A81-4651-A869-9850DBC115EA} = {B695E1F6-785D-45CB-BCE0-0E9635DFC1DE} - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {31C016FB-9EA1-4AF5-987A-37210C04DA06} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {F92A5473-F9E0-412F-923C-6632A66D13C1} = {B695E1F6-785D-45CB-BCE0-0E9635DFC1DE} - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF} = {B695E1F6-785D-45CB-BCE0-0E9635DFC1DE} - {7BD26CB3-5280-48FD-9A86-C13E321018D5} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {598AB4AC-008E-4501-90B3-C5213834C1DA} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5} = {409484D8-C0DB-4991-AF03-124128EDEF98} - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C} = {409484D8-C0DB-4991-AF03-124128EDEF98} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {AF7D0AE8-B556-4840-92EF-CEADC95A5CD1} - EndGlobalSection -EndGlobal diff --git a/Src/Setup/BuildArchives.bat b/Src/Setup/BuildArchives.bat deleted file mode 100644 index 75d38f7..0000000 --- a/Src/Setup/BuildArchives.bat +++ /dev/null @@ -1,25 +0,0 @@ -REM ***** Collect PDBs - -echo -- Creating symbols package -set CS_SYMBOLS_NAME=OpenShellPDB_%CS_VERSION_STR%.7z - -cd Output -7z a -mx9 ..\Final\%CS_SYMBOLS_NAME% PDB32 PDB64 > nul -cd .. - -if defined APPVEYOR ( - appveyor PushArtifact Final\%CS_SYMBOLS_NAME% -) - -cd .. - -REM ***** Collect Localization files - -echo -- Creating localization package -cd Localization -7z a -r -x!en-US -x!*WixUI_en-us.wxl -x!*.adml -x!*.admx -x!*LocComments.txt ..\Setup\Final\OpenShellLoc.zip English ..\ClassicExplorer\ExplorerL10N.ini ..\StartMenu\StartMenuL10N.ini ..\StartMenu\StartMenuHelper\StartMenuHelperL10N.ini English\OpenShellText-en-US.wxl English\OpenShellEULA.rtf > nul -cd .. - -cd Setup - -exit /b 0 diff --git a/Src/Setup/BuildBinaries.bat b/Src/Setup/BuildBinaries.bat deleted file mode 100644 index 7ea5a84..0000000 --- a/Src/Setup/BuildBinaries.bat +++ /dev/null @@ -1,147 +0,0 @@ -if exist Output rd /Q /S Output -md Output -md Output\x64 -md Output\PDB32 -md Output\PDB64 - -echo -- Compiling - -for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath`) do set MSBuildDir=%%i\MSBuild\15.0\Bin\ - -REM ********* Build 64-bit solution -echo --- 64bit -"%MSBuildDir%MSBuild.exe" ..\OpenShell.sln /m /t:Rebuild /p:Configuration="Setup" /p:Platform="x64" /verbosity:quiet /nologo -@if ERRORLEVEL 1 exit /b 1 - -REM ********* Build 32-bit solution (must be after 64-bit) -echo --- 32bit -"%MSBuildDir%MSBuild.exe" ..\OpenShell.sln /m /t:Rebuild /p:Configuration="Setup" /p:Platform="Win32" /verbosity:quiet /nologo -@if ERRORLEVEL 1 exit /b 1 - - -REM ********* Make en-US.dll -cd .. -Setup\Utility\Release\Utility.exe makeEN ClassicExplorer\Setup\ClassicExplorer32.dll StartMenu\Setup\StartMenuDLL.dll ClassicIE\Setup\ClassicIEDLL_32.dll Update\Release\Update.exe -@if ERRORLEVEL 1 exit /b 1 - -Setup\Utility\Release\Utility.exe extract en-US.dll en-US.csv -copy /B en-US.dll Localization\English > nul -move en-US.csv Localization\English > nul - -cd Setup - - -REM ********* Copy binaries - -copy /B ..\ClassicExplorer\Setup\ClassicExplorer32.dll Output > nul -copy /B ..\ClassicExplorer\Setup\ClassicExplorerSettings.exe Output > nul -copy /B ..\ClassicIE\Setup\ClassicIEDLL_32.dll Output > nul -copy /B ..\ClassicIE\Setup\ClassicIE_32.exe Output > nul -copy /B ..\StartMenu\Setup\StartMenu.exe Output > nul -copy /B ..\StartMenu\Setup\StartMenuDLL.dll Output > nul -copy /B ..\Update\Release\Update.exe Output > nul -copy /B ..\StartMenu\StartMenuHelper\Setup\StartMenuHelper32.dll Output > nul -copy /B ..\Setup\SetupHelper\Release\SetupHelper.exe Output > nul - -copy /B ..\ClassicExplorer\Setup64\ClassicExplorer64.dll Output\x64 > nul -copy /B ..\ClassicIE\Setup64\ClassicIEDLL_64.dll Output\x64 > nul -copy /B ..\ClassicIE\Setup64\ClassicIE_64.exe Output\x64 > nul -copy /B ..\StartMenu\Setup64\StartMenu.exe Output\x64 > nul -copy /B ..\StartMenu\Setup64\StartMenuDLL.dll Output\x64 > nul -copy /B ..\StartMenu\StartMenuHelper\Setup64\StartMenuHelper64.dll Output\x64 > nul - -copy /B "..\StartMenu\Skins\Classic Skin.skin" Output > nul -copy /B "..\StartMenu\Skins\Full Glass.skin" Output > nul -copy /B "..\StartMenu\Skins\Smoked Glass.skin" Output > nul -copy /B "..\StartMenu\Skins\Windows Aero.skin" Output > nul -copy /B "..\StartMenu\Skins\Windows Basic.skin" Output > nul -copy /B "..\StartMenu\Skins\Windows XP Luna.skin" Output > nul -copy /B "..\StartMenu\Skins\Windows 8.skin" Output > nul -copy /B "..\StartMenu\Skins\Metro.skin" Output > nul -copy /B "..\StartMenu\Skins\Classic Skin.skin7" Output > nul -copy /B "..\StartMenu\Skins\Windows Aero.skin7" Output > nul -copy /B "..\StartMenu\Skins\Windows 8.skin7" Output > nul -copy /B "..\StartMenu\Skins\Midnight.skin7" Output > nul -copy /B "..\StartMenu\Skins\Metro.skin7" Output > nul -copy /B "..\StartMenu\Skins\Metallic.skin7" Output > nul - - -REM ********* Collect debug info - -REM Explorer 32 -copy /B ..\ClassicExplorer\Setup\ClassicExplorer32.pdb Output\PDB32 > nul -copy /B Output\ClassicExplorer32.dll Output\PDB32 > nul -copy /B ..\ClassicExplorer\Setup\ClassicExplorerSettings.pdb Output\PDB32 > nul -copy /B Output\ClassicExplorerSettings.exe Output\PDB32 > nul - -REM Explorer 64 -copy /B ..\ClassicExplorer\Setup64\ClassicExplorer64.pdb Output\PDB64 > nul -copy /B Output\x64\ClassicExplorer64.dll Output\PDB64 > nul - -REM IE 32 -copy /B ..\ClassicIE\Setup\ClassicIEDLL_32.pdb Output\PDB32 > nul -copy /B Output\ClassicIEDLL_32.dll Output\PDB32 > nul -copy /B ..\ClassicIE\Setup\ClassicIE_32.pdb Output\PDB32 > nul -copy /B Output\ClassicIE_32.exe Output\PDB32 > nul - -REM IE 64 -copy /B ..\ClassicIE\Setup64\ClassicIEDLL_64.pdb Output\PDB64 > nul -copy /B Output\x64\ClassicIEDLL_64.dll Output\PDB64 > nul -copy /B ..\ClassicIE\Setup64\ClassicIE_64.pdb Output\PDB64 > nul -copy /B Output\x64\ClassicIE_64.exe Output\PDB64 > nul - -REM Menu 32 -copy /B ..\StartMenu\Setup\StartMenu.pdb Output\PDB32 > nul -copy /B Output\StartMenu.exe Output\PDB32 > nul -copy /B ..\StartMenu\Setup\StartMenuDLL.pdb Output\PDB32 > nul -copy /B Output\StartMenuDLL.dll Output\PDB32 > nul -copy /B ..\StartMenu\StartMenuHelper\Setup\StartMenuHelper32.pdb Output\PDB32 > nul -copy /B Output\StartMenuHelper32.dll Output\PDB32 > nul -copy /B ..\Update\Release\Update.pdb Output\PDB32 > nul -copy /B Output\Update.exe Output\PDB32 > nul - -REM Menu 64 -copy /B ..\StartMenu\Setup64\StartMenu.pdb Output\PDB64 > nul -copy /B Output\x64\StartMenu.exe Output\PDB64 > nul -copy /B ..\StartMenu\Setup64\StartMenuDLL.pdb Output\PDB64 > nul -copy /B Output\x64\StartMenuDLL.dll Output\PDB64 > nul -copy /B ..\StartMenu\StartMenuHelper\Setup64\StartMenuHelper64.pdb Output\PDB64 > nul -copy /B Output\x64\StartMenuHelper64.dll Output\PDB64 > nul - - -REM ********* Source Index PDBs - -set PDBSTR_PATH="C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\srcsrv\pdbstr.exe" - -if exist %PDBSTR_PATH% ( - echo --- Adding source index to PDBs - call CreateSourceIndex.bat ..\.. > Output\pdbstr.txt - - for %%f in (Output\PDB32\*.pdb) do ( - %PDBSTR_PATH% -w -p:%%f -s:srcsrv -i:Output\pdbstr.txt - ) - - for %%f in (Output\PDB64\*.pdb) do ( - %PDBSTR_PATH% -w -p:%%f -s:srcsrv -i:Output\pdbstr.txt - ) -) - -REM ********* Build ADMX -echo --- ADMX -if exist Output\PolicyDefinitions.zip ( - del Output\PolicyDefinitions.zip -) -cd ..\Localization\English -..\..\StartMenu\Setup\StartMenu.exe -saveadmx en-US -@if ERRORLEVEL 1 exit /b 1 -..\..\ClassicExplorer\Setup\ClassicExplorerSettings.exe -saveadmx en-US -@if ERRORLEVEL 1 exit /b 1 -..\..\ClassicIE\Setup\ClassicIE_32.exe -saveadmx en-US -@if ERRORLEVEL 1 exit /b 1 -md en-US -copy /B *.adml en-US > nul -7z a ..\..\Setup\Output\PolicyDefinitions.zip *.admx en-US\*.adml PolicyDefinitions.rtf > nul -rd /Q /S en-US -cd ..\..\Setup - -exit /b 0 diff --git a/Src/Setup/BuildInstaller.bat b/Src/Setup/BuildInstaller.bat deleted file mode 100644 index ab63d01..0000000 --- a/Src/Setup/BuildInstaller.bat +++ /dev/null @@ -1,86 +0,0 @@ -REM ********* Build Help -echo -- Building Installer (%CS_LANG_NAME_SHORT%) -@setlocal EnableDelayedExpansion -@if %CS_HAS_HELP%==1 ( - echo --- HTML help - SET CS_ERROR=0 - if NOT %CS_LANG_FOLDER%==English mklink /J ..\Localization\%CS_LANG_FOLDER%\images ..\Localization\English\images - hhc ..\Localization\%CS_LANG_FOLDER%\OpenShell.hhp > nul - @REM looks like hhc returns 0 for error, >0 for success - @if NOT ERRORLEVEL 1 @SET CS_ERROR=1 - if NOT %CS_LANG_FOLDER%==English rmdir ..\Localization\%CS_LANG_FOLDER%\images - @if !CS_ERROR!==1 exit /b 1 -) -@endlocal -@if %CS_HAS_HELP%==0 ( - copy /Y ..\Localization\English\OpenShell.chm ..\Localization\%CS_LANG_FOLDER%\OpenShell.chm > nul -) - -@if %CS_HAS_EULA%==0 copy /Y ..\Localization\English\OpenShellEULA.rtf ..\Localization\%CS_LANG_FOLDER% > nul -@if %CS_HAS_README%==0 copy /Y ..\Localization\English\OpenShellReadme.rtf ..\Localization\%CS_LANG_FOLDER% > nul - -@if _%CS_LANG_NAME%==_ echo Unrecognized language '%CS_LANG_FOLDER%' -@if _%CS_LANG_NAME%==_ exit /b 1 - -SET CS_INSTALLER_NAME=OpenShellSetup_%CS_VERSION_STR%-%CS_LANG_NAME_SHORT% -if %CS_LANG_NAME_SHORT%==en SET CS_INSTALLER_NAME=OpenShellSetup_%CS_VERSION_STR% - -if exist Temp rd /Q /S Temp -md Temp - -@if not exist ..\Localization\%CS_LANG_FOLDER%\OpenShellText-%CS_LANG_NAME%.wxl exit /b 1 - -@REM Convvert CS_VERSION (X.Y.Z) into number (XXYYZZZZ) -@set CS_VERSION_NUM=0 -@for /f "tokens=1,2,3 delims=." %%A in ("%CS_VERSION%") do ( - @set /a "CS_VERSION_NUM=%%A<<24|%%B<<16|%%C" -) - -REM ********* Build 32-bit MSI -echo --- 32bit MSI -candle Setup.wxs -nologo -out Temp\Setup32.wixobj -ext WixUIExtension -ext WixUtilExtension -dx64=0 -dCS_LANG_FOLDER=%CS_LANG_FOLDER% -dCS_LANG_NAME=%CS_LANG_NAME% -@if ERRORLEVEL 1 exit /b 1 - -@REM We need to suppress ICE38 and ICE43 because they apply only to per-user installation. We only support per-machine installs -@REM We need to suppress ICE09 because the helper DLLs need to go into the system directory (for safety reasons) -light Temp\Setup32.wixobj -nologo -out Temp\Setup32.msi -ext WixUIExtension -ext WixUtilExtension -loc ..\Localization\%CS_LANG_FOLDER%\OpenShellText-%CS_LANG_NAME%.wxl -loc ..\Localization\%CS_LANG_FOLDER%\WixUI_%CS_LANG_NAME%.wxl -sice:ICE38 -sice:ICE43 -sice:ICE09 -@if ERRORLEVEL 1 exit /b 1 - - -REM ********* Build 64-bit MSI -echo --- 64bit MSI -candle Setup.wxs -nologo -out Temp\Setup64.wixobj -ext WixUIExtension -ext WixUtilExtension -dx64=1 -dCS_LANG_FOLDER=%CS_LANG_FOLDER% -dCS_LANG_NAME=%CS_LANG_NAME% -@if ERRORLEVEL 1 exit /b 1 - -@REM We need to suppress ICE38 and ICE43 because they apply only to per-user installation. We only support per-machine installs -@REM We need to suppress ICE09 because the helper DLLs need to go into the system directory (for safety reasons) -light Temp\Setup64.wixobj -nologo -out Temp\Setup64.msi -ext WixUIExtension -ext WixUtilExtension -loc ..\Localization\%CS_LANG_FOLDER%\OpenShellText-%CS_LANG_NAME%.wxl -loc ..\Localization\%CS_LANG_FOLDER%\WixUI_%CS_LANG_NAME%.wxl -sice:ICE38 -sice:ICE43 -sice:ICE09 -@if ERRORLEVEL 1 exit /b 1 - - -REM ********* Build MSI Checksums -echo --- MSI Checksums -Utility\Release\Utility.exe crcmsi Temp -@if ERRORLEVEL 1 exit /b 1 - -REM ********* Build bootstrapper -echo --- Bootstrapper -for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath`) do set MSBuildDir=%%i\MSBuild\15.0\Bin\ - -"%MSBuildDir%MSBuild.exe" Setup.sln /m /t:Rebuild /p:Configuration="Release" /p:Platform="Win32" /verbosity:quiet /nologo -@if ERRORLEVEL 1 exit /b 1 - -if exist Final rd /Q /S Final -md Final - -copy /B Release\Setup.exe Final\%CS_INSTALLER_NAME%.exe > nul - -if defined APPVEYOR ( - appveyor PushArtifact Release\Setup.exe -FileName %CS_INSTALLER_NAME%.exe -) - -SET CS_LANG_FOLDER= -SET CS_LANG_NAME= -SET CS_LANG_NAME_SHORT= - -exit /b 0 diff --git a/Src/Setup/CreateSourceIndex.bat b/Src/Setup/CreateSourceIndex.bat deleted file mode 100644 index 87001a1..0000000 --- a/Src/Setup/CreateSourceIndex.bat +++ /dev/null @@ -1,41 +0,0 @@ -@echo off - -rem CreateSourceIndex.bat - -rem Create source index (write to stdout) - -rem Based on information provided here: -rem https://gist.github.com/baldurk/c6feb31b0305125c6d1a - -rem expand src root -set SRC_ROOT=%~fdp1 - -rem get repo url -for /f %%A in ('git remote get-url origin') do set REPO_URL=%%A -rem remove .git from the end -set REPO_URL=%REPO_URL:~0,-4% - -rem get actual commit id -for /f %%A in ('git rev-parse HEAD') do set COMMIT=%%A - -echo SRCSRV: ini ------------------------------------------------ -echo VERSION=2 -echo VERCTRL=http -echo SRCSRV: variables ------------------------------------------ -echo SRCSRVTRG=%REPO_URL%/raw/%COMMIT%/%%var2%% -echo SRCSRV: source files --------------------------------------- - -setlocal enabledelayedexpansion -for /f %%A in ('git ls-tree --full-tree -r --name-only head') do ( - rem full path to source file - set SRC_FILE=%SRC_ROOT%\%%A - rem replace / by \ - set SRC_FILE=!SRC_FILE:/=\! - rem convert to lowercase - for %%C in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do set SRC_FILE=!SRC_FILE:%%C=%%C! - rem * - echo !SRC_FILE!*%%A -) -setlocal disabledelayedexpansion - -echo SRCSRV: end ------------------------------------------------ diff --git a/Src/Setup/OpenShell.ico b/Src/Setup/OpenShell.ico deleted file mode 100644 index 3ccb834..0000000 Binary files a/Src/Setup/OpenShell.ico and /dev/null differ diff --git a/Src/Setup/Setup.cpp b/Src/Setup/Setup.cpp deleted file mode 100644 index d3471af..0000000 --- a/Src/Setup/Setup.cpp +++ /dev/null @@ -1,347 +0,0 @@ -// 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 - -#define _WIN32_WINNT 0x0600 -#include -#include -#include -#include -#include -#include "resource.h" -#include "StringUtils.h" -#include "FNVHash.h" - -// Setup.exe is a bootstrap application that contains installers for 32-bit and 64-bit. -// It unpacks the right installer into the temp directory and executes it. - -typedef BOOL (WINAPI *FIsWow64Process)( HANDLE hProcess, PBOOL Wow64Process ); - - - -enum -{ - ERR_WRONG_OS=101, // the OS is too old, Windows 7 or up is required - ERR_OLD_VERSION, // detected version older than 1.0.0 - ERR_HASH_NOTFOUND, // the HASH resource is missing - ERR_MSIRES_NOTFOUND, // missing MSI resource - ERR_HASH_ERROR, - ERR_VERRES_NOTFOUND, // missing version resource - ERR_MSI_EXTRACTFAIL, // failed to extract the MSI file - ERR_MSIEXEC, // msiexec failed to start -}; - -struct Chunk -{ - int start1, start2, len; -}; - -static void WriteFileXOR( HANDLE hFile, const unsigned char *buf, int size ) -{ - if (size>0) - { - std::vector buf2; - buf2.reserve(size); - for (int i=0;i0;count--,params++) - { - if (_wcsicmp(params[0],L"help")==0 || _wcsicmp(params[0],L"/?")==0) - { - wchar_t strTitle[256]; - if (!LoadString(hInstance,IDS_APP_TITLE,strTitle,_countof(strTitle))) strTitle[0]=0; - wchar_t strText[4096]; - if (!LoadString(hInstance,IDS_HELP,strText,_countof(strText))) strText[0]=0; - - MessageBox(NULL,strText,strTitle,MB_OK); - return 0; - } - if (_wcsicmp(params[0],L"extract32")==0) - extract=32; - if (_wcsicmp(params[0],L"extract64")==0) - extract=64; - if (_wcsicmp(params[0],L"/qn")==0 || _wcsicmp(params[0],L"/q")==0 || _wcsicmp(params[0],L"/quiet")==0 || _wcsicmp(params[0],L"/passive")==0) - { - bQuiet=true; - } - } - - if (!pVer) - { - if (!bQuiet) - { - wchar_t strTitle[256]; - if (!LoadString(hInstance,IDS_APP_TITLE,strTitle,_countof(strTitle))) strTitle[0]=0; - wchar_t strText[256]; - if (!LoadString(hInstance,IDS_ERR_INTERNAL,strText,_countof(strText))) strText[0]=0; - MessageBox(NULL,strText,strTitle,MB_OK|MB_ICONERROR); - } - return ERR_VERRES_NOTFOUND; - } - - if (extract) - { - wchar_t msiName[_MAX_PATH]; - Sprintf(msiName,_countof(msiName),L"OpenShellSetup%d_%d_%d_%d.msi",extract,HIWORD(pVer->dwProductVersionMS),LOWORD(pVer->dwProductVersionMS),HIWORD(pVer->dwProductVersionLS)); - return ExtractMsi(hInstance,msiName,extract==64,bQuiet); - } - - // check Windows version - #pragma warning(suppress:4996) - WORD winVer=LOWORD(GetVersion()); - winVer=MAKEWORD(HIBYTE(winVer),LOBYTE(winVer)); - if (winVer<0x601) - { - if (!bQuiet) - { - wchar_t strTitle[256]; - if (!LoadString(hInstance,IDS_APP_TITLE,strTitle,_countof(strTitle))) strTitle[0]=0; - wchar_t strText[256]; - if (!LoadString(hInstance,IDS_ERR_WIN7,strText,_countof(strText))) strText[0]=0; - MessageBox(NULL,strText,strTitle,MB_OK|MB_ICONERROR); - } - return ERR_WRONG_OS; - } - - // dynamically link to IsWow64Process because it is not available for Windows 2000 - HMODULE hKernel32=GetModuleHandle(L"kernel32.dll"); - FIsWow64Process isWow64Process=(FIsWow64Process)GetProcAddress(hKernel32,"IsWow64Process"); - if (!isWow64Process) - { - if (!bQuiet) - { - wchar_t strTitle[256]; - if (!LoadString(hInstance,IDS_APP_TITLE,strTitle,_countof(strTitle))) strTitle[0]=0; - wchar_t strText[256]; - if (!LoadString(hInstance,IDS_ERR_WIN7,strText,_countof(strText))) strText[0]=0; - MessageBox(NULL,strText,strTitle,MB_OK|MB_ICONERROR); - } - return ERR_WRONG_OS; - } - - BOOL b64=FALSE; - isWow64Process(GetCurrentProcess(),&b64); - - wchar_t msiName[_MAX_PATH]; - Sprintf(msiName,_countof(msiName),L"%%ALLUSERSPROFILE%%\\OpenShellSetup%d_%d_%d_%d.msi",b64?64:32,HIWORD(pVer->dwProductVersionMS),LOWORD(pVer->dwProductVersionMS),HIWORD(pVer->dwProductVersionLS)); - DoEnvironmentSubst(msiName,_countof(msiName)); - int ex=ExtractMsi(hInstance,msiName,b64!=FALSE,bQuiet); - if (ex) return ex; - - wchar_t cmdLine[2048]; - if (wcsstr(lpCmdLine,L"%MSI%") || wcsstr(lpCmdLine,L"%msi%")) - { - SetEnvironmentVariable(L"MSI",msiName); - Sprintf(cmdLine,_countof(cmdLine),L"msiexec.exe %s",lpCmdLine); - DoEnvironmentSubst(cmdLine,_countof(cmdLine)); - } - else - { - Sprintf(cmdLine,_countof(cmdLine),L"msiexec.exe /i \"%s\" %s",msiName,lpCmdLine); - } - - // start the installer - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - if (!CreateProcess(NULL,cmdLine,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo)) - { - DeleteFile(msiName); - if (!bQuiet) - { - wchar_t strTitle[256]; - if (!LoadString(hInstance,IDS_APP_TITLE,strTitle,_countof(strTitle))) strTitle[0]=0; - wchar_t strText[256]; - if (!LoadString(hInstance,IDS_ERR_MSIEXEC,strText,_countof(strText))) strText[0]=0; - MessageBox(NULL,strText,strTitle,MB_OK|MB_ICONERROR); - } - return ERR_MSIEXEC; - } - else - { - CloseHandle(processInfo.hThread); - // wait for the installer to finish - WaitForSingleObject(processInfo.hProcess,INFINITE); - DWORD code; - GetExitCodeProcess(processInfo.hProcess,&code); - CloseHandle(processInfo.hProcess); - DeleteFile(msiName); - return code; - } -} diff --git a/Src/Setup/Setup.manifest b/Src/Setup/Setup.manifest deleted file mode 100644 index 31db717..0000000 --- a/Src/Setup/Setup.manifest +++ /dev/null @@ -1,41 +0,0 @@ - - - -Open-Shell Setup - - - - - - - - true - - - - - - - - - - - - - - - - - diff --git a/Src/Setup/Setup.rc b/Src/Setup/Setup.rc deleted file mode 100644 index 8d479c1..0000000 --- a/Src/Setup/Setup.rc +++ /dev/null @@ -1,146 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APPICON ICON "OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -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", "Adds classic shell features to Windows 7 and Windows 8" - VALUE "FileVersion", _PRODUCT_VERSION_STR - VALUE "InternalName", "OpenShellSetup" - VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team" - VALUE "OriginalFilename", "OpenShellSetup.exe" - VALUE "ProductName", "Open-Shell" - VALUE "ProductVersion", _PRODUCT_VERSION_STR - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// MSI_FILE -// - -IDR_MSI_FILE32 MSI_FILE "Temp\\Setup32.msi_" -IDR_MSI_FILE64 MSI_FILE "Temp\\Setup64.msi_" -IDR_MSI_CHECKSUM MSI_FILE "msichecksum.bin" - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_APP_TITLE "Open-Shell Setup" - IDS_ERR_CORRUPTED "Failed to extract setup file '%s'. The MSI resource is corrupted." -END - -STRINGTABLE -BEGIN - IDS_ERR_INTERNAL "Internal Setup Error" - IDS_ERR_EXTRACT "Failed to extract setup file '%s'." - IDS_ERR_WIN7 "Open-Shell requires Windows 7 or later." - IDS_ERR_MSIEXEC "Failed to run msiexec.exe." -END - -STRINGTABLE -BEGIN - IDS_HELP "Open-Shell Setup will install Open-Shell on your computer. Possible command lines:\n - runs the installer normally\n extract32 - extracts the 32-bit MSI\n extract64 - extracts the 64-bit MSI\n help, /? - shows the command line help\n - the options are passed to msiexec\n * if the options contain %MSI% (all caps) the token is replaced by the name of the extracted MSI file\n * if %MSI% is not found, the setup runs ""msiexec /i ""\n * run msiexec with no parameters to see the full list of msiexec options\n\nExamples:\n /qn - runs the installer in quiet mode\n /x %MSI% /qb - uninstalls the product in basic UI level\n /f %MSI% - repairs the product\n /l* log.txt - runs the installer and logs the process in the log.txt file\n /qn ADDLOCAL=ClassicExplorer - installs only Classic Explorer in quiet mode\n /qn ADDLOCAL=StartMenu APPLICATIONFOLDER=C:\\OpenShell - installs only Open-Shell Start Menu in quiet mode in the folder C:\\OpenShell\n ADDLOCAL=StartMenu,ClassicIE - runs the installer in full UI mode with Open-Shell Start Menu and Classic IE checked by default" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Setup/Setup.sln b/Src/Setup/Setup.sln deleted file mode 100644 index e805f6e..0000000 --- a/Src/Setup/Setup.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2010 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Setup", "Setup.vcxproj", "{A4A4D3B1-24E7-401E-A37C-72141D7603DC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lib", "..\Lib\Lib.vcxproj", "{D42FE717-485B-492D-884A-1999F6D51154}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|Win32.ActiveCfg = Debug|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|Win32.Build.0 = Debug|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Debug|x64.ActiveCfg = Debug|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|Win32.ActiveCfg = Release|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|Win32.Build.0 = Release|Win32 - {A4A4D3B1-24E7-401E-A37C-72141D7603DC}.Release|x64.ActiveCfg = Release|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Debug|Win32.ActiveCfg = Debug|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Debug|Win32.Build.0 = Debug|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Debug|x64.ActiveCfg = Debug|x64 - {D42FE717-485B-492D-884A-1999F6D51154}.Debug|x64.Build.0 = Debug|x64 - {D42FE717-485B-492D-884A-1999F6D51154}.Release|Win32.ActiveCfg = Release|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Release|Win32.Build.0 = Release|Win32 - {D42FE717-485B-492D-884A-1999F6D51154}.Release|x64.ActiveCfg = Release|x64 - {D42FE717-485B-492D-884A-1999F6D51154}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E16503A7-2270-43F6-B312-98FBCB237FA4} - EndGlobalSection -EndGlobal diff --git a/Src/Setup/Setup.vcxproj b/Src/Setup/Setup.vcxproj deleted file mode 100644 index 88a78c6..0000000 --- a/Src/Setup/Setup.vcxproj +++ /dev/null @@ -1,139 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {A4A4D3B1-24E7-401E-A37C-72141D7603DC} - Setup - Win32Proj - 10.0.17134.0 - - - - Application - v141 - Unicode - true - - - Application - v141 - Unicode - - - - - - - - - - - - - - - $(Configuration)\ - $(Configuration)\ - true - - - $(Configuration)\ - $(Configuration)\ - false - - - - Disabled - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - NotUsing - Level3 - EditAndContinue - true - true - stdcpp17 - - - _DEBUG;%(PreprocessorDefinitions) - - - comctl32.lib;Psapi.lib;version.lib;%(AdditionalDependencies) - true - Windows - - - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - NotUsing - Level3 - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - - - comctl32.lib;Psapi.lib;version.lib;%(AdditionalDependencies) - true - Windows - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {d42fe717-485b-492d-884a-1999f6d51154} - false - - - - - - \ No newline at end of file diff --git a/Src/Setup/Setup.vcxproj.filters b/Src/Setup/Setup.vcxproj.filters deleted file mode 100644 index 6138859..0000000 --- a/Src/Setup/Setup.vcxproj.filters +++ /dev/null @@ -1,65 +0,0 @@ - - - - - {554caf03-9189-4f7c-955b-7407887d81f2} - - - {dfc73fe3-75a1-4823-b7c6-090157a15da7} - - - - - Bootstrapper - - - Setup Files - - - Setup Files - - - - - Bootstrapper - - - - - Bootstrapper - - - - - Bootstrapper - - - - - Bootstrapper - - - - - Setup Files - - - Setup Files - - - Setup Files - - - Setup Files - - - Setup Files - - - Setup Files - - - - - - \ No newline at end of file diff --git a/Src/Setup/Setup.wxs b/Src/Setup/Setup.wxs deleted file mode 100644 index 791b139..0000000 --- a/Src/Setup/Setup.wxs +++ /dev/null @@ -1,640 +0,0 @@ - - - - - - - - - - - - - - - - - - - - not Msix64 - - VersionNT>=601 - NOT NEWERPRODUCTFOUND OR Installed - - - - - - - - - - - - START_MENU_FOLDER=1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IE_BUILD>=90000 - - - - - - - - - - - - - - - - - - - - - 1 - 1 - 1 - LicenseAccepted = "1" - Installed - NOT Installed - 1 - NOT Installed OR WixUI_InstallMode = "Change" - Installed - 1 - 1 - 1 - 1 - 1 - - - - 1 - - - - - - - - - NOT Installed - - - - - - CostingComplete = 1 - "1"]]> - LicenseAccepted = "1" - - - 1 - - - - - - - 1 - - - - - - - - - - 1 - Installed - Installed - - - - - - - 1 - - - - - - - - - - - - - - - - - - Installed - - - - Installed - - - Installed - - - Installed - - - - - - - - - - - - - - - - - - - - 1 - - - WixUI_InstallMode = "Remove" - - - - - - - - CostingComplete = 1 - - - 1 - - - - - - - - - Installed AND NOT RESUME AND NOT Preselected - - - - 1 - - - - 1 - - - - 1 - ARPNOREMOVE - - - ARPNOREMOVE - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VersionNT>601 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VersionNT>601 - - - - - - - - - - - - - - - - VersionNT>601 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - START_MENU_FOLDER=1 - - - - - START_MENU_FOLDER=1 - - - - - START_MENU_FOLDER=1 - - - - - - - START_MENU_FOLDER=1 - - - - - - - START_MENU_FOLDER=1 - - - - - - - START_MENU_FOLDER=1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1]]> - - - - - - diff --git a/Src/Setup/SetupHelper/SetupHelper.cpp b/Src/Setup/SetupHelper/SetupHelper.cpp deleted file mode 100644 index 61545d3..0000000 --- a/Src/Setup/SetupHelper/SetupHelper.cpp +++ /dev/null @@ -1,98 +0,0 @@ -// 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 - -#define STRICT_TYPED_ITEMIDS -#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit -#include -#include -#include "ResourceHelper.h" - -/////////////////////////////////////////////////////////////////////////////// - -int ExitStartMenu(const wchar_t* regPath, const wchar_t* exeName, const wchar_t* updaterClass) -{ - HKEY hKey=NULL; - if (RegCreateKeyEx(HKEY_LOCAL_MACHINE,regPath,0,NULL,REG_OPTION_NON_VOLATILE,KEY_READ|KEY_QUERY_VALUE|KEY_WOW64_64KEY,NULL,&hKey,NULL)==ERROR_SUCCESS) - { - DWORD type=0; - wchar_t path[_MAX_PATH]; - DWORD size=sizeof(path); - if (RegQueryValueEx(hKey,L"Path",0,&type,(BYTE*)path,&size)==ERROR_SUCCESS && type==REG_SZ) - { - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - wcscat_s(path,exeName); - HANDLE h=CreateFile(path,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); - if (h!=INVALID_HANDLE_VALUE) - { - CloseHandle(h); - wcscat_s(path,L" -exit"); - if (CreateProcess(NULL,path,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - WaitForSingleObject(processInfo.hProcess,5000); - CloseHandle(processInfo.hProcess); - } - } - } - RegCloseKey(hKey); - } - HWND updateOwner=FindWindow(updaterClass,NULL); - if (updateOwner) - PostMessage(updateOwner,WM_CLEAR,0,0); - return 0; -} - -int ExitStartMenu() -{ - // terminate Open-Shell Start Menu in clean way - ExitStartMenu(L"SOFTWARE\\OpenShell\\OpenShell", L"StartMenu.exe", L"OpenShellUpdate.COwnerWindow"); - - // try to terminate also ClassicShell Start Menu (to make upgrade a bit easier) - ExitStartMenu(L"SOFTWARE\\IvoSoft\\ClassicShell", L"ClassicStartMenu.exe", L"ClassicShellUpdate.COwnerWindow"); - - return 0; -} - -int FixVersion( void ) -{ - HKEY hKey=NULL; - if (RegCreateKeyEx(HKEY_LOCAL_MACHINE,L"SOFTWARE\\OpenShell\\OpenShell",0,NULL,REG_OPTION_NON_VOLATILE,KEY_READ|KEY_WRITE|KEY_WOW64_64KEY,NULL,&hKey,NULL)==ERROR_SUCCESS) - { - DWORD winVer=GetVersionEx(GetModuleHandle(L"user32.dll")); - RegSetValueEx(hKey,L"WinVersion",NULL,REG_DWORD,(BYTE*)&winVer,sizeof(DWORD)); - RegCloseKey(hKey); - } - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -// Setup Helper - performs custom actions during Open-Shell install/uninstall -// Usage: -// exitSM // exits the start menu if it is running -// fixVersion // sets the correct OS version - -int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrCmdLine, int nCmdShow ) -{ -// MessageBox(NULL,lpstrCmdLine,L"Command Line",MB_OK|MB_SYSTEMMODAL); - - int count; - wchar_t *const *params=CommandLineToArgvW(lpstrCmdLine,&count); - if (!params) return 1; - - for (;count>0;count--,params++) - { - if (_wcsicmp(params[0],L"exitSM")==0) - { - return ExitStartMenu(); - } - if (_wcsicmp(params[0],L"fixVersion")==0) - { - return FixVersion(); - } - } - return 1; -} diff --git a/Src/Setup/SetupHelper/SetupHelper.manifest b/Src/Setup/SetupHelper/SetupHelper.manifest deleted file mode 100644 index bcbc682..0000000 --- a/Src/Setup/SetupHelper/SetupHelper.manifest +++ /dev/null @@ -1,36 +0,0 @@ - - - -Setup Helper - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Setup/SetupHelper/SetupHelper.vcxproj b/Src/Setup/SetupHelper/SetupHelper.vcxproj deleted file mode 100644 index a847eb7..0000000 --- a/Src/Setup/SetupHelper/SetupHelper.vcxproj +++ /dev/null @@ -1,108 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {E1017135-9916-4B11-9AC5-1EC0BD8F8CD6} - SetupHelper - Win32Proj - 10.0.17134.0 - - - - Application - v141 - Unicode - true - - - Application - v141 - Unicode - - - - - - - - - - - - - $(Configuration)\ - $(Configuration)\ - true - - - $(Configuration)\ - $(Configuration)\ - false - - - - Disabled - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - NotUsing - Level3 - true - EditAndContinue - true - stdcpp17 - - - true - Windows - - - - - MaxSpeed - true - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - NotUsing - Level3 - true - ProgramDatabase - true - stdcpp17 - - - true - Windows - true - true - - - - - - - - - - - {d42fe717-485b-492d-884a-1999f6d51154} - false - - - - - - \ No newline at end of file diff --git a/Src/Setup/UpdateBin/Flags/gd-GB.bmp b/Src/Setup/UpdateBin/Flags/gd-GB.bmp deleted file mode 100644 index a3cabea..0000000 Binary files a/Src/Setup/UpdateBin/Flags/gd-GB.bmp and /dev/null differ diff --git a/Src/Setup/UpdateBin/UpdateBin.rc b/Src/Setup/UpdateBin/UpdateBin.rc deleted file mode 100644 index 3849c02..0000000 Binary files a/Src/Setup/UpdateBin/UpdateBin.rc and /dev/null differ diff --git a/Src/Setup/UpdateBin/UpdateBin.vcxproj b/Src/Setup/UpdateBin/UpdateBin.vcxproj deleted file mode 100644 index 067bddf..0000000 --- a/Src/Setup/UpdateBin/UpdateBin.vcxproj +++ /dev/null @@ -1,506 +0,0 @@ - - - - - update_4.1.0 - Win32 - - - update_4.2.0 - Win32 - - - update_4.2.1 - Win32 - - - update_4.2.2 - Win32 - - - update_4.2.3 - Win32 - - - update_4.2.4 - Win32 - - - update_4.2.5 - Win32 - - - update_4.2.6 - Win32 - - - update_4.2.7 - Win32 - - - update_4.3.0 - Win32 - - - update_4.3.1 - Win32 - - - - {F92A5473-F9E0-412F-923C-6632A66D13C1} - UpdateBin - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - $(Configuration)\ - $(Configuration)\ - false - false - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - ..\Utility\Debug\Utility.exe update .\$(Configuration).txt .\UpdateBin.rc - - - MaxSpeed - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;UPDATEBIN_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - Level3 - ProgramDatabase - - - ..\Final\$(Configuration).ver - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - {dae66c9b-05dc-4ace-97da-2547b490bbff} - false - - - - - - diff --git a/Src/Setup/UpdateBin/resource.h b/Src/Setup/UpdateBin/resource.h deleted file mode 100644 index 06d0a79..0000000 --- a/Src/Setup/UpdateBin/resource.h +++ /dev/null @@ -1,10 +0,0 @@ -#define IDS_VERSION 16 -#define IDS_NEWS 17 -#define IDS_INSTALL_URL 18 -#define IDS_INSTALL_SIGNER 19 -#define IDS_LNG_URL 20 -#define IDS_LNG_VERSION 21 -#define IDS_LNG_CRC 22 -#define IDS_UPDATE_LINK 23 -#define IDS_LANGUAGE_LINK 24 -#define IDS_ALT_URL 25 diff --git a/Src/Setup/UpdateBin/update_4.1.0.txt b/Src/Setup/UpdateBin/update_4.1.0.txt deleted file mode 100644 index 6c4ba5a..0000000 Binary files a/Src/Setup/UpdateBin/update_4.1.0.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.2.0.txt b/Src/Setup/UpdateBin/update_4.2.0.txt deleted file mode 100644 index 3c5e5b8..0000000 Binary files a/Src/Setup/UpdateBin/update_4.2.0.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.2.1.txt b/Src/Setup/UpdateBin/update_4.2.1.txt deleted file mode 100644 index 906eb85..0000000 Binary files a/Src/Setup/UpdateBin/update_4.2.1.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.2.2.txt b/Src/Setup/UpdateBin/update_4.2.2.txt deleted file mode 100644 index 2b6311e..0000000 Binary files a/Src/Setup/UpdateBin/update_4.2.2.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.2.3.txt b/Src/Setup/UpdateBin/update_4.2.3.txt deleted file mode 100644 index ead837f..0000000 Binary files a/Src/Setup/UpdateBin/update_4.2.3.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.2.4.txt b/Src/Setup/UpdateBin/update_4.2.4.txt deleted file mode 100644 index d8974cb..0000000 Binary files a/Src/Setup/UpdateBin/update_4.2.4.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.2.5.txt b/Src/Setup/UpdateBin/update_4.2.5.txt deleted file mode 100644 index a82fa45..0000000 Binary files a/Src/Setup/UpdateBin/update_4.2.5.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.2.6.txt b/Src/Setup/UpdateBin/update_4.2.6.txt deleted file mode 100644 index 5523b9d..0000000 Binary files a/Src/Setup/UpdateBin/update_4.2.6.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.2.7.txt b/Src/Setup/UpdateBin/update_4.2.7.txt deleted file mode 100644 index b674d78..0000000 Binary files a/Src/Setup/UpdateBin/update_4.2.7.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.3.0.txt b/Src/Setup/UpdateBin/update_4.3.0.txt deleted file mode 100644 index 4270010..0000000 Binary files a/Src/Setup/UpdateBin/update_4.3.0.txt and /dev/null differ diff --git a/Src/Setup/UpdateBin/update_4.3.1.txt b/Src/Setup/UpdateBin/update_4.3.1.txt deleted file mode 100644 index c75f89e..0000000 Binary files a/Src/Setup/UpdateBin/update_4.3.1.txt and /dev/null differ diff --git a/Src/Setup/Utility/LoggingOptions.cpp b/Src/Setup/Utility/LoggingOptions.cpp deleted file mode 100644 index 4e66537..0000000 --- a/Src/Setup/Utility/LoggingOptions.cpp +++ /dev/null @@ -1,226 +0,0 @@ -// 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 - -#ifndef _WIN64 - -#include "resource.h" -#include -#include -#include -#include -#include "..\StartMenu\StartMenuDLL\LogManager.h" -#include "StringUtils.h" -#include - -static int g_MenuCheckboxes[][2]= -{ - {IDC_CHECKOPEN, LOG_OPEN}, - {IDC_CHECKITEMS, LOG_ITEMS}, - {IDC_CHECKEXECUTE, LOG_EXECUTE}, - {IDC_CHECKMFU, LOG_MFU}, - {IDC_CHECKNEW, LOG_NEW}, - {IDC_CHECKAPPS, LOG_APPS}, - {IDC_CHECKSEARCH, LOG_SEARCH}, - {IDC_CHECKSEARCH_SQL, LOG_SEARCH_SQL}, - {IDC_CHECKMOUSE, LOG_MOUSE}, - {IDC_CHECKCACHE, LOG_CACHE}, -}; - -static int g_FileLinks[]= -{ - IDC_SYSLINKSTART, - IDC_SYSLINKCACHE, - IDC_SYSLINKSTARTUP, - IDC_SYSLINKEXPLORER, - IDC_SYSLINKIE, -}; - -class CLoggingDialog: public CDialogImpl -{ -public: - CLoggingDialog( void ) {} - - BEGIN_MSG_MAP( CLoggingDialog ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - COMMAND_HANDLER( IDOK, BN_CLICKED, OnOK ) - COMMAND_HANDLER( IDCANCEL, BN_CLICKED, OnCancel ) - NOTIFY_HANDLER( IDC_SYSLINKSTART, NM_CLICK, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKSTART, NM_RETURN, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKCACHE, NM_CLICK, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKCACHE, NM_RETURN, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKSTARTUP, NM_CLICK, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKSTARTUP, NM_RETURN, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKEXPLORER, NM_CLICK, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKEXPLORER, NM_RETURN, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKIE, NM_CLICK, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINKIE, NM_RETURN, OnLink ) - REFLECT_NOTIFICATIONS() - END_MSG_MAP() - - enum { IDD=IDD_LOGSETTINGS }; - -protected: - LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - -private: - DWORD GetSetting( const wchar_t *regPath, const wchar_t *name ); - void SetSetting( const wchar_t *regPath, const wchar_t *name, DWORD value ); - CString GetPathForLink( int link ); -}; - -DWORD CLoggingDialog::GetSetting( const wchar_t *regPath, const wchar_t *name ) -{ - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,regPath,KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - DWORD value; - if (regKey.QueryDWORDValue(name,value)==ERROR_SUCCESS) - return value; - } - return 0; -} - -void CLoggingDialog::SetSetting( const wchar_t *regPath, const wchar_t *name, DWORD value ) -{ - CRegKey regKey; - if (regKey.Create(HKEY_CURRENT_USER,regPath)==ERROR_SUCCESS) - regKey.SetDWORDValue(name,value); -} - -CString CLoggingDialog::GetPathForLink( int link ) -{ - const wchar_t *path=NULL; - if (link==IDC_SYSLINKSTART) - path=L"%LOCALAPPDATA%\\OpenShell\\StartMenuLog.txt"; - else if (link==IDC_SYSLINKCACHE) - path=L"%LOCALAPPDATA%\\OpenShell\\DataCache.txt"; - else if (link==IDC_SYSLINKSTARTUP) - path=L"%LOCALAPPDATA%\\OpenShell\\StartupLog.txt"; - else if (link==IDC_SYSLINKEXPLORER) - path=L"%LOCALAPPDATA%\\OpenShell\\ExplorerLog.txt"; - else if (link==IDC_SYSLINKIE) - path=L"%LOCALAPPDATA%\\OpenShell\\ClassicIELog.txt"; - else - return CString(); - - wchar_t fname[_MAX_PATH]; - Strcpy(fname,_countof(fname),path); - DoEnvironmentSubst(fname,_countof(fname)); - return fname; -} - -LRESULT CLoggingDialog::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - DWORD log=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogCategories"); - for (int i=0;i<_countof(g_MenuCheckboxes);i++) - { - if (log&g_MenuCheckboxes[i][1]) - CheckDlgButton(g_MenuCheckboxes[i][0],BST_CHECKED); - } - - log=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogStartup"); - if (log) - CheckDlgButton(IDC_CHECKSTARTUP,BST_CHECKED); - - log=GetSetting(L"Software\\OpenShell\\ClassicExplorer\\Settings",L"LogLevel"); - if (log) - CheckDlgButton(IDC_CHECKEXPLORER,BST_CHECKED); - - log=GetSetting(L"Software\\OpenShell\\ClassicIE\\Settings",L"LogLevel"); - if (log) - CheckDlgButton(IDC_CHECKIE,BST_CHECKED); - - CWindow tooltip; - tooltip.Create(TOOLTIPS_CLASS,m_hWnd,NULL,NULL,WS_POPUP|TTS_NOPREFIX); - for (int i=0;i<_countof(g_FileLinks);i++) - { - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,(UINT_PTR)GetDlgItem(g_FileLinks[i]).m_hWnd}; - CString str=GetPathForLink(g_FileLinks[i]); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - } - - return TRUE; -} - -LRESULT CLoggingDialog::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - int res=0; - DWORD log=0; - for (int i=0;i<_countof(g_MenuCheckboxes);i++) - { - if (IsDlgButtonChecked(g_MenuCheckboxes[i][0])==BST_CHECKED) - log|=g_MenuCheckboxes[i][1]; - } - if (log!=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogCategories")) - { - SetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogCategories",log); - res=1; - } - - log=IsDlgButtonChecked(IDC_CHECKSTARTUP)==BST_CHECKED?1:0; - if (log!=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogStartup")) - { - SetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogStartup",log); - res=1; - } - - log=IsDlgButtonChecked(IDC_CHECKEXPLORER)==BST_CHECKED?1:0; - if (log!=GetSetting(L"Software\\OpenShell\\ClassicExplorer\\Settings",L"LogLevel")) - { - SetSetting(L"Software\\OpenShell\\ClassicExplorer\\Settings",L"LogLevel",log); - res=1; - } - - log=IsDlgButtonChecked(IDC_CHECKIE)==BST_CHECKED?1:0; - if (log!=GetSetting(L"Software\\OpenShell\\ClassicIE\\Settings",L"LogLevel")) - { - SetSetting(L"Software\\OpenShell\\ClassicIE\\Settings",L"LogLevel",log); - res=1; - } - - EndDialog(res); - return 0; -} - -LRESULT CLoggingDialog::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - EndDialog(0); - return 0; -} - -LRESULT CLoggingDialog::OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - CString path=GetPathForLink(idCtrl); - if (!path.IsEmpty()) - { - PIDLIST_ABSOLUTE pidl; - if (SUCCEEDED(SHParseDisplayName(path,NULL,&pidl,0,NULL))) - { - HRESULT hr=SHOpenFolderAndSelectItems(pidl,0,NULL,0); - ILFree(pidl); - } - else - { - wchar_t dir[_MAX_PATH]; - Strcpy(dir,_countof(dir),path); - PathRemoveFileSpec(dir); - ShellExecute(NULL,L"open",dir,NULL,dir,SW_SHOWNORMAL); - } - } - return 0; -} - -void EditLoggingOptions( void ) -{ - if (CLoggingDialog().DoModal(NULL)) - { - MessageBox(NULL,L"The changes to the logging options will take effect after you restart.",L"Logging options",MB_OK|MB_ICONINFORMATION); - } -} - -#endif diff --git a/Src/Setup/Utility/ManualUninstall.cpp b/Src/Setup/Utility/ManualUninstall.cpp deleted file mode 100644 index 1644ba0..0000000 --- a/Src/Setup/Utility/ManualUninstall.cpp +++ /dev/null @@ -1,1196 +0,0 @@ -// 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 - -#ifndef _WIN64 - -#define STRICT_TYPED_ITEMIDS -#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit - -#include "resource.h" -#include -#include -#include -#include -#include -#include "ResourceHelper.h" -#include "ComHelper.h" -#include "StringUtils.h" -#include "SettingsUIHelper.h" -#include -#include "..\StartMenu\StartMenuDLL\StartMenuDLL.h" - -#define EXPLORER_CLSID L"{ECD4FC4D-521C-11D0-B792-00A0C90312E1}" -#define EMULATION_KEY L"TreatAs" - - -//#define SAFE_MODE - -#ifdef SAFE_MODE -#define RegDeleteTree2(x,y) 5 -#define RegDeleteValue2(x,y) 5 -#define DeleteFile2(x) (SetLastError(3), FALSE) -#define MoveFileEx2(x,y,z) (SetLastError(5), FALSE) -#define SHFileOperation2(x) 0x78 -#define RemoveDirectory2(x) FALSE -#else -#define RegDeleteTree2(x,y) RegDeleteTree(x,y) -#define RegDeleteValue2(x,y) RegDeleteValue(x,y) -#define DeleteFile2(x) DeleteFile(x) -#define MoveFileEx2(x,y,z) MoveFileEx(x,y,z) -#define SHFileOperation2(x) SHFileOperation(x) -#define RemoveDirectory2(x) RemoveDirectory(x) -#endif - -// files to delete from the Open-Shell folder -static const wchar_t *g_InstalledFiles[]= -{ - L"ClassicExplorer32.dll", - L"ClassicExplorer64.dll", - L"ClassicExplorerSettings.exe", - L"ClassicIEDLL_32.dll", - L"ClassicIEDLL_64.dll", - L"ClassicIE_32.exe", - L"ClassicIE_64.exe", - L"OpenShell.chm", - L"OpenShellReadme.rtf", - L"Update.exe", - L"StartMenu.exe", - L"StartMenuDLL.dll", - L"ExplorerL10N.ini", - L"HISTORY.txt", - L"IE Settings.lnk", - L"PolicyDefinitions.zip", - L"Start Menu Settings.lnk", - L"Start Screen.lnk", - L"StartMenuHelperL10N.ini", - L"StartMenuL10N.ini", - - L"de-DE.dll", - L"fr-FR.dll", - L"it-IT.dll", - L"pl-PL.dll", - L"ru-RU.dll", - L"zh-CN.dll", - L"zh-TW.dll", -}; - -// skin files to delete from the Open-Shell\Skins folder -static const wchar_t *g_InstalledSkins[]= -{ - L"Classic Skin.skin", - L"Classic Skin.skin7", - L"Full Glass.skin", - L"Metallic.skin7", - L"Metro.skin", - L"Metro.skin7", - L"Midnight.skin7", - L"Smoked Glass.skin", - L"Windows 8.skin", - L"Windows 8.skin7", - L"Windows Aero.skin", - L"Windows Aero.skin7", - L"Windows Basic.skin", - L"Windows XP Luna.skin", -}; - -// shortcuts to delete from the Programs\Open-Shell folder -static const wchar_t *g_InstalledShortcuts[]= -{ - L"Classic Explorer Settings.lnk", - L"Classic IE Settings.lnk", - L"Open-Shell Help.lnk", - L"Open-Shell Readme.lnk", - L"Open-Shell Update.lnk", - L"Open-Shell Menu Settings.lnk", -}; - -// files to delete from the LOCALAPPDATA folder -static const wchar_t *g_LocalFiles[]= -{ - L"StartupLog.txt", - L"UpdateLog.txt", - L"ClassicIELog.txt", - L"StartMenuLog.txt", - L"DataCache.db", -}; - -// files to delete from the ALLUSERSPROFILE folder -static const wchar_t *g_ProgramDataFiles[]= -{ - L"update.ver", -}; - -/////////////////////////////////////////////////////////////////////////////// - -static bool DirectoryExists( const wchar_t *directory ) -{ - DWORD attrib=GetFileAttributes(directory); - return (attrib!=INVALID_FILE_ATTRIBUTES && (attrib&FILE_ATTRIBUTE_DIRECTORY)); -} - -static bool FileExists( const wchar_t *fname ) -{ - return GetFileAttributes(fname)!=INVALID_FILE_ATTRIBUTES; -} - -/////////////////////////////////////////////////////////////////////////////// - -class CUninstallDlg: public CDialogImpl -{ -public: - BEGIN_MSG_MAP( CUninstallDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_CTLCOLORSTATIC, OnColorStatic ) - COMMAND_HANDLER( IDCANCEL, BN_CLICKED, OnCancel ) - COMMAND_HANDLER( IDOK, BN_CLICKED, OnOK ) - COMMAND_HANDLER( IDC_BUTTONBROWSEPATH, BN_CLICKED, OnBrowse ) - COMMAND_HANDLER( IDC_CHECKALLUSERS, BN_CLICKED, OnCheck ) - NOTIFY_HANDLER( IDC_SYSLINK1, NM_CLICK, OnLink ) - NOTIFY_HANDLER( IDC_SYSLINK1, NM_RETURN, OnLink ) - REFLECT_NOTIFICATIONS() - END_MSG_MAP() - - enum { IDD=IDD_UNINSTALL }; - - CString GetPath( void ) const { return m_Path; } - bool GetRemoveUserSettings( void ) const { return m_bRemoveUserSettings; } - bool GetRemoveAllUserSettings( void ) const { return m_bRemoveAllUserSettings; } - bool GetRemoveAdminSettings( void ) const { return m_bRemoveAdminSettings; } - -protected: - LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnColorStatic( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowse( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCheck( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - -private: - CString m_Path; - bool m_bRemoveUserSettings; - bool m_bRemoveAllUserSettings; - bool m_bRemoveAdminSettings; - bool m_bEmptyPath; -}; - -LRESULT CUninstallDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_bRemoveUserSettings=m_bRemoveAllUserSettings=m_bRemoveAdminSettings=false; - m_bEmptyPath=false; - - wchar_t path[_MAX_PATH]={0}; - { - HKEY hkey=NULL; - if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,L"SOFTWARE\\OpenShell\\OpenShell",0,KEY_READ|KEY_QUERY_VALUE|KEY_WOW64_64KEY,&hkey)==ERROR_SUCCESS) - { - DWORD type=0; - DWORD size=sizeof(path); - if (RegQueryValueEx(hkey,L"Path",0,&type,(BYTE*)path,&size)!=ERROR_SUCCESS || type!=REG_SZ) - path[0]=0; - } - } - - if (path[0]==0) - { - BOOL bWow64=FALSE; - if (!IsWow64Process(GetCurrentProcess(),&bWow64)) - bWow64=FALSE; - wchar_t defaultPath[_MAX_PATH]; - Strcpy(defaultPath,_countof(defaultPath),bWow64?L"%ProgramW6432%\\Open-Shell":L"%ProgramFiles%\\Open-Shell"); - DoEnvironmentSubst(defaultPath,_countof(defaultPath)); - wchar_t fname1[_MAX_PATH], fname2[_MAX_PATH], fname3[_MAX_PATH]; - Sprintf(fname1,_countof(fname1),L"%s\\StartMenu.exe",defaultPath); - Sprintf(fname2,_countof(fname2),L"%s\\ClassicExplorer32.dll",defaultPath); - Sprintf(fname3,_countof(fname3),L"%s\\ClassicIEDLL_32.dll",defaultPath); - if (FileExists(fname1) || FileExists(fname2) || FileExists(fname3)) - Strcpy(path,_countof(path),defaultPath); - } - - m_bEmptyPath=path[0]==0; - if (m_bEmptyPath) - SetDlgItemText(IDC_STATICPATH,L"The tool failed to locate the Open-Shell installation folder. Use the Browse button to locate the correct folder if you want the files in it to be deleted."); - else - { - PathRemoveBackslash(path); - SetDlgItemText(IDC_EDITPATH,path); - } - - return TRUE; -} - -LRESULT CUninstallDlg::OnColorStatic( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if ((HWND)lParam==GetDlgItem(IDC_STATICWARNING) || (HWND)lParam==GetDlgItem(IDC_STATICALLUSERS) || (m_bEmptyPath && (HWND)lParam==GetDlgItem(IDC_STATICPATH))) - { - SetTextColor((HDC)wParam,0x0000CF); - SetBkMode((HDC)wParam,TRANSPARENT); - return (LRESULT)GetStockObject(NULL_BRUSH); - } - bHandled=FALSE; - return 0; -} - -LRESULT CUninstallDlg::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - EndDialog(0); - return 0; -} - -LRESULT CUninstallDlg::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - GetDlgItemText(IDC_EDITPATH,m_Path); - m_bRemoveUserSettings=IsDlgButtonChecked(IDC_CHECKSETTINGS)==BST_CHECKED; - m_bRemoveAllUserSettings=IsDlgButtonChecked(IDC_CHECKALLUSERS)==BST_CHECKED; - m_bRemoveAdminSettings=IsDlgButtonChecked(IDC_CHECKADMIN)==BST_CHECKED; - EndDialog(1); - return 0; -} - -LRESULT CUninstallDlg::OnBrowse( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CComPtr pDialog; - if (SUCCEEDED(pDialog.CoCreateInstance(CLSID_FileOpenDialog,NULL,CLSCTX_INPROC_SERVER))) - { - pDialog->SetTitle(L"Locate the Open-Shell install folder"); - pDialog->SetOptions(FOS_FILEMUSTEXIST|FOS_DONTADDTORECENT|FOS_DEFAULTNOMINIMODE|FOS_NOCHANGEDIR|FOS_PICKFOLDERS); - HRESULT hr=pDialog->Show(m_hWnd); - CComPtr pResult; - if (hr==S_OK) - pDialog->GetResult(&pResult); - - if (pResult) - { - CComString pName; - pResult->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName); - SetDlgItemText(IDC_EDITPATH,pName); - m_bEmptyPath=false; - GetDlgItem(IDC_STATICPATH).Invalidate(); - } - } - return 0; -} - -LRESULT CUninstallDlg::OnCheck( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - GetDlgItem(IDC_STATICALLUSERS).ShowWindow(IsDlgButtonChecked(IDC_CHECKALLUSERS)==BST_CHECKED?SW_SHOW:SW_HIDE); - return 0; -} - -LRESULT CUninstallDlg::OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - ShellExecute(m_hWnd,NULL,L"control",L"appwiz.cpl",NULL,SW_SHOWNORMAL); - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -class CResultsDlg: public CResizeableDlg -{ -public: - CResultsDlg( bool bErrors, bool bReboot, CString report ) { m_bErrors=bErrors; m_bReboot=bReboot; m_Report=report; } - - BEGIN_MSG_MAP( CResultsDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_CTLCOLORSTATIC, OnColorStatic ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - MESSAGE_HANDLER( WM_GETMINMAXINFO, OnGetMinMaxInfo ) - COMMAND_HANDLER( IDC_BUTTONCLOSE, BN_CLICKED, OnClose ) - COMMAND_HANDLER( IDC_BUTTONREBOOT, BN_CLICKED, OnReboot ) - REFLECT_NOTIFICATIONS() - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_STATICRESULT,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_EDITRESULT,MOVE_SIZE_X|MOVE_SIZE_Y) - RESIZE_CONTROL(IDC_BUTTONREBOOT,MOVE_MOVE_X|MOVE_MOVE_Y) - RESIZE_CONTROL(IDC_BUTTONCLOSE,MOVE_MOVE_X|MOVE_MOVE_Y) - END_RESIZE_MAP - - enum { IDD=IDD_UNINSTALL_RESULTS }; - -protected: - LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnColorStatic( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnClose( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnReboot( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - -private: - bool m_bErrors; - bool m_bReboot; - CString m_Report; -}; - -LRESULT CResultsDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - InitResize(MOVE_MODAL); - if (m_bErrors) - { - SetDlgItemText(IDC_STATICRESULT,L"The Open-Shell removal tool encountered some errors. Please, restart your computer and try again. If the problem is not resolved" - L" seek help in the Open-Shell forums: www.classicshell.net/forum. Copy the following report and post it in the forum. The report is also saved in a file OpenShellReport.txt on your desktop."); - } - else if (m_bReboot) - { - SetDlgItemText(IDC_STATICRESULT,L"The Open-Shell removal tool finished. A restart is required to complete the process." - L"Copy the following report for your records. The report is also saved in a file OpenShellReport.txt on your desktop."); - } - else - { - SetDlgItemText(IDC_STATICRESULT,L"The Open-Shell removal tool finished." - L"Copy the following report for your records. The report is also saved in a file OpenShellReport.txt on your desktop."); - } - - SetDlgItemText(IDC_EDITRESULT,m_Report); - - GetDlgItem(IDC_BUTTONREBOOT).ShowWindow((m_bErrors || m_bReboot)?SW_SHOW:SW_HIDE); - SetDlgItemText(IDC_BUTTONCLOSE,(m_bErrors || m_bReboot)?L"Restart Later":L"Close"); - GetDlgItem(IDC_EDITRESULT).SetFocus(); - return FALSE; -} - -LRESULT CResultsDlg::OnColorStatic( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_bErrors && (HWND)lParam==GetDlgItem(IDC_STATICRESULT)) - { - SetTextColor((HDC)wParam,0x0000CF); - SetBkMode((HDC)wParam,TRANSPARENT); - return (LRESULT)GetStockObject(NULL_BRUSH); - } - bHandled=FALSE; - return 0; -} - -LRESULT CResultsDlg::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CResizeableDlg::OnSize(); - return 0; -} - -LRESULT CResultsDlg::OnClose( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - EndDialog(0); - return 0; -} - -LRESULT CResultsDlg::OnReboot( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - EndDialog(1); - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -class CProgressDlg: public CDialogImpl -{ -public: - BEGIN_MSG_MAP( CProgressDlg ) - END_MSG_MAP() - - enum { IDD=IDD_UNINSTALL_PROGRESS }; -}; - -/////////////////////////////////////////////////////////////////////////////// - -static bool g_bHasErrors=false; -static bool g_bRebootRequired=false; -static std::vector g_Report; - -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 LogMessage( int error, const wchar_t *format, ... ) -{ - wchar_t message[1024]; - int len=0; - if (error!=-1) - len+=Strcpy(message,_countof(message),L"ERROR: "); - va_list args; - va_start(args,format); - len+=Vsprintf(message+len,_countof(message)-len,format,args); - va_end(args); - if (error!=-1) - { - g_bHasErrors=true; - len+=Sprintf(message+len,_countof(message)-len,L" "); - len+=FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,error,0,message+len,_countof(message)-len,NULL); - } - len+=Sprintf(message+len,_countof(message)-len,L"\r\n"); - OutputDebugString(message); - g_Report.insert(g_Report.end(),message,message+len); -} - -static void SaveReportFile( void ) -{ - wchar_t path[_MAX_PATH]=L"%USERPROFILE%\\Desktop\\OpenShellReport.txt"; - DoEnvironmentSubst(path,_countof(path)); - FILE *f; - if (_wfopen_s(&f,path,L"wb")==0) - { - if (!g_Report.empty()) - fwrite(&g_Report[0],2,g_Report.size(),f); - fclose(f); - } -} - -static bool RemoveRegistryKeys( bool bPin ) -{ - HKEY hkey=NULL; - int error; - error=RegOpenKeyEx(HKEY_CLASSES_ROOT,L"CLSID\\" EXPLORER_CLSID L"\\" EMULATION_KEY,0,KEY_READ|KEY_WOW64_64KEY,&hkey); - if (error==ERROR_SUCCESS) - { - RegCloseKey(hkey); - LogMessage(-1,L"Deleting registry key HKEY_CLASSES_ROOT\\CLSID\\" EXPLORER_CLSID L"\\" EMULATION_KEY); - error=RegCreateKeyEx(HKEY_CLASSES_ROOT,L"CLSID\\" EXPLORER_CLSID,NULL,NULL,REG_OPTION_BACKUP_RESTORE,KEY_WRITE|DELETE|KEY_WOW64_64KEY,NULL,&hkey,NULL); - if (error==ERROR_SUCCESS) - { - error=RegDeleteTree2(hkey,EMULATION_KEY); - if (error!=ERROR_SUCCESS) - LogMessage(error,L"Failed to delete registry key HKEY_CLASSES_ROOT\\CLSID\\" EXPLORER_CLSID L"\\" EMULATION_KEY L"."); - RegCloseKey(hkey); - } - else - LogMessage(error,L"Failed to open registry key HKEY_CLASSES_ROOT\\CLSID\\" EXPLORER_CLSID L" for writing."); - - if (RegOpenKeyEx(HKEY_CLASSES_ROOT,L"CLSID\\" EXPLORER_CLSID L"\\" EMULATION_KEY,0,KEY_READ|KEY_WOW64_64KEY,&hkey)==ERROR_SUCCESS) - { - RegCloseKey(hkey); - SaveReportFile(); - wchar_t path[_MAX_PATH]=L"%USERPROFILE%\\Desktop\\OpenShellReport.txt"; - DoEnvironmentSubst(path,_countof(path)); - wchar_t message[1024]; - Sprintf(message,_countof(message),L"Failed to delete registry key HKEY_CLASSES_ROOT\\CLSID\\" EXPLORER_CLSID L"\\" EMULATION_KEY L".\r\n" - L"You will have to delete it manually using regedit and then run this tool again.\r\n" - L"The problem may be related to incorrect permissions or corrupted owner of the registry key or its parent.\r\n\r\n" - L"Look at the file %s for more details about the failure.",path); - MessageBox(NULL,message,L"Open-Shell Uninstaller",MB_OK|MB_ICONERROR); - return false; - } - } - - hkey=NULL; - if (bPin) - { - if (RegOpenKeyEx(HKEY_CLASSES_ROOT,L"Launcher.ImmersiveApplication\\ShellEx\\ContextMenuHandlers\\StartMenuExt",0,KEY_READ|KEY_WOW64_64KEY,&hkey)==ERROR_SUCCESS) - { - RegCloseKey(hkey); - LogMessage(-1,L"Deleting registry key HKEY_CLASSES_ROOT\\Launcher.ImmersiveApplication\\ShellEx\\ContextMenuHandlers\\StartMenuExt"); - error=RegCreateKeyEx(HKEY_CLASSES_ROOT,L"Launcher.ImmersiveApplication\\ShellEx\\ContextMenuHandlers",NULL,NULL,REG_OPTION_BACKUP_RESTORE,KEY_WRITE|DELETE|KEY_WOW64_64KEY,NULL,&hkey,NULL); - if (error==ERROR_SUCCESS) - { - error=RegDeleteTree2(hkey,L"StartMenuExt"); - if (error!=ERROR_SUCCESS && error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to delete registry key HKEY_CLASSES_ROOT\\Launcher.ImmersiveApplication\\ShellEx\\ContextMenuHandlers\\StartMenuExt."); - RegCloseKey(hkey); - } - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to open registry key HKEY_CLASSES_ROOT\\Launcher.ImmersiveApplication\\ShellEx\\ContextMenuHandlers for writing."); - } - - if (RegOpenKeyEx(HKEY_CLASSES_ROOT,L"Launcher.SystemSettings\\ShellEx\\ContextMenuHandlers\\StartMenuExt",0,KEY_READ|KEY_WOW64_64KEY,&hkey)==ERROR_SUCCESS) - { - RegCloseKey(hkey); - LogMessage(-1,L"Deleting registry key HKEY_CLASSES_ROOT\\Launcher.SystemSettings\\ShellEx\\ContextMenuHandlers\\StartMenuExt"); - error=RegCreateKeyEx(HKEY_CLASSES_ROOT,L"Launcher.SystemSettings\\ShellEx\\ContextMenuHandlers",NULL,NULL,REG_OPTION_BACKUP_RESTORE,KEY_WRITE|DELETE|KEY_WOW64_64KEY,NULL,&hkey,NULL); - if (error==ERROR_SUCCESS) - { - error=RegDeleteTree2(hkey,L"StartMenuExt"); - if (error!=ERROR_SUCCESS && error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to delete registry key HKEY_CLASSES_ROOT\\Launcher.SystemSettings\\ShellEx\\ContextMenuHandlers\\StartMenuExt."); - RegCloseKey(hkey); - } - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to open registry key HKEY_CLASSES_ROOT\\Launcher.SystemSettings\\ShellEx\\ContextMenuHandlers for writing."); - } - } - - return true; -} - -static void DeleteRegKeyHKCR( const wchar_t *keyName ) -{ - int error=RegDeleteTree2(HKEY_CLASSES_ROOT,keyName); - if (error!=ERROR_FILE_NOT_FOUND) - { - LogMessage(-1,L"Deleting registry key HKEY_CLASSES_ROOT\\%s",keyName); - if (error!=ERROR_SUCCESS) - LogMessage(error,L"Failed to delete registry key HKEY_CLASSES_ROOT\\%s.",keyName); - } -} - -static void DeleteRegKeyCLSID( const wchar_t *keyName, bool bIsWow64 ) -{ - { - // delete native key (32-bit on 32-bit OS and 64-bit on 64-bit OS) - HKEY hkey=NULL; - int error=RegOpenKeyEx(HKEY_CLASSES_ROOT,L"CLSID",0,KEY_WRITE|DELETE|KEY_WOW64_64KEY,&hkey); - if (error==ERROR_SUCCESS) - { - int error=RegDeleteTree2(hkey,keyName); - if (error!=ERROR_FILE_NOT_FOUND) - { - LogMessage(-1,L"Deleting registry key HKEY_CLASSES_ROOT\\CLSID\\%s",keyName); - if (error!=ERROR_SUCCESS) - LogMessage(error,L"Failed to delete registry key HKEY_CLASSES_ROOT\\CLSID\\%s.",keyName); - } - RegCloseKey(hkey); - } - else - { - LogMessage(-1,L"Deleting registry key HKEY_CLASSES_ROOT\\CLSID\\%s",keyName); - LogMessage(error,L"Failed to open registry key HKEY_CLASSES_ROOT\\CLSID for writing."); - } - } - - if (bIsWow64) - { - // delete 32-bit on 64-bit OS - HKEY hkey=NULL; - int error=RegOpenKeyEx(HKEY_CLASSES_ROOT,L"CLSID",0,KEY_WRITE|DELETE|KEY_WOW64_32KEY,&hkey); - if (error==ERROR_SUCCESS) - { - int error=RegDeleteTree2(hkey,keyName); - if (error!=ERROR_FILE_NOT_FOUND) - { - LogMessage(-1,L"Deleting registry key HKEY_CLASSES_ROOT\\Wow6432Node\\CLSID\\%s",keyName); - if (error!=ERROR_SUCCESS) - LogMessage(error,L"Failed to delete registry key HKEY_CLASSES_ROOT\\Wow6432Node\\CLSID\\%s.",keyName); - } - RegCloseKey(hkey); - } - else - { - LogMessage(-1,L"Deleting registry key HKEY_CLASSES_ROOT\\Wow6432Node\\CLSID\\%s",keyName); - LogMessage(error,L"Failed to open registry key HKEY_CLASSES_ROOT\\Wow6432Node\\CLSID for writing."); - } - } -} - -static void DeleteRegKeySOFTWARE( const wchar_t *keyName, bool bIsWow64 ) -{ - { - // delete native key (32-bit on 32-bit OS and 64-bit on 64-bit OS) - HKEY hkey=NULL; - int error=RegOpenKeyEx(HKEY_LOCAL_MACHINE,L"SOFTWARE",0,KEY_WRITE|DELETE|KEY_WOW64_64KEY,&hkey); - if (error==ERROR_SUCCESS) - { - int error=RegDeleteTree2(hkey,keyName); - if (error!=ERROR_FILE_NOT_FOUND) - { - LogMessage(-1,L"Deleting registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\%s",keyName); - if (error!=ERROR_SUCCESS) - LogMessage(error,L"Failed to delete registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\%s.",keyName); - } - RegCloseKey(hkey); - } - else - { - LogMessage(-1,L"Deleting registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\%s",keyName); - LogMessage(error,L"Failed to open registry key HKEY_LOCAL_MACHINE\\SOFTWARE for writing."); - } - } - - if (bIsWow64) - { - // delete 32-bit on 64-bit OS - HKEY hkey=NULL; - int error=RegOpenKeyEx(HKEY_LOCAL_MACHINE,L"SOFTWARE",0,KEY_WRITE|DELETE|KEY_WOW64_32KEY,&hkey); - if (error==ERROR_SUCCESS) - { - int error=RegDeleteTree2(hkey,keyName); - if (error!=ERROR_FILE_NOT_FOUND) - { - LogMessage(-1,L"Deleting registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\%s",keyName); - if (error!=ERROR_SUCCESS) - LogMessage(error,L"Failed to delete registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\%s.",keyName); - } - RegCloseKey(hkey); - } - else - { - LogMessage(-1,L"Deleting registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\%s",keyName); - LogMessage(error,L"Failed to open registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node for writing."); - } - } -} - -static void DeleteRegValueSOFTWARE( const wchar_t *keyName, const wchar_t *valueName, bool bIsWow64 ) -{ - wchar_t keyName2[256]; - Sprintf(keyName2,_countof(keyName2),L"SOFTWARE\\%s",keyName); - - { - // delete native value (32-bit on 32-bit OS and 64-bit on 64-bit OS) - HKEY hkey=NULL; - int error=RegOpenKeyEx(HKEY_LOCAL_MACHINE,keyName2,0,KEY_WRITE|DELETE|KEY_WOW64_64KEY,&hkey); - if (error==ERROR_SUCCESS) - { - int error=RegDeleteValue2(hkey,keyName); - if (error!=ERROR_FILE_NOT_FOUND) - { - LogMessage(-1,L"Deleting registry value HKEY_LOCAL_MACHINE\\SOFTWARE\\%s:%s",keyName,valueName); - if (error!=ERROR_SUCCESS) - LogMessage(error,L"Failed to delete registry value HKEY_LOCAL_MACHINE\\SOFTWARE\\%s:%s.",keyName,valueName); - } - RegCloseKey(hkey); - } - else if (error!=ERROR_FILE_NOT_FOUND) - { - LogMessage(-1,L"Deleting registry value HKEY_LOCAL_MACHINE\\SOFTWARE\\%s:%s",keyName,valueName); - LogMessage(error,L"Failed to open registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\%s for writing.",keyName); - } - } - - if (bIsWow64) - { - // delete 32-bit on 64-bit OS - HKEY hkey=NULL; - int error=RegOpenKeyEx(HKEY_LOCAL_MACHINE,keyName2,0,KEY_WRITE|DELETE|KEY_WOW64_32KEY,&hkey); - if (error==ERROR_SUCCESS) - { - int error=RegDeleteValue2(hkey,keyName); - if (error!=ERROR_FILE_NOT_FOUND) - { - LogMessage(-1,L"Deleting registry value HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\%s:%s",keyName,valueName); - if (error!=ERROR_SUCCESS) - LogMessage(error,L"Failed to delete registry value HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\%s:%s.",keyName,valueName); - } - RegCloseKey(hkey); - } - else if (error!=ERROR_FILE_NOT_FOUND) - { - LogMessage(-1,L"Deleting registry value HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\%s:%s",keyName,valueName); - LogMessage(error,L"Failed to open registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\%s for writing.",keyName); - } - } -} - -static void DeleteInstallerKey( HKEY root, const wchar_t *rootName, const wchar_t *keyName, const wchar_t *valueName, const wchar_t *value ) -{ - LogMessage(-1,L"Searching for installer registry key in %s\\%s",rootName,keyName); - HKEY hkey=NULL; - int error=RegOpenKeyEx(root,keyName,0,KEY_WRITE|DELETE|KEY_ENUMERATE_SUB_KEYS|KEY_WOW64_64KEY,&hkey); - if (error==ERROR_SUCCESS) - { - std::vector subKeyNames; - for (int index=0;;index++) - { - wchar_t subKeyName[100]; - DWORD len=_countof(subKeyName); - if (RegEnumKeyEx(hkey,index,subKeyName,&len,NULL,NULL,NULL,NULL)!=ERROR_SUCCESS) - break; - wchar_t buf[256]; - len=sizeof(buf); - if (RegGetValue(hkey,subKeyName,valueName,RRF_RT_REG_SZ,NULL,(void*)buf,&len)==ERROR_SUCCESS) - { - if (len==wcslen(value)*2+2 && _wcsicmp(value,buf)==0) - subKeyNames.push_back(subKeyName); - } - } - for (std::vector::const_iterator it=subKeyNames.begin();it!=subKeyNames.end();++it) - { - LogMessage(-1,L"Deleting registry key %s\\%s\\%s",rootName,keyName,it->c_str()); - error=RegDeleteTree2(hkey,it->c_str()); - if (error!=ERROR_SUCCESS) - LogMessage(error,L"Failed to delete registry key %s\\%s\\%s.",rootName,keyName,it->c_str()); - } - RegCloseKey(hkey); - } - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to open registry key %s\\%s for writing.",rootName,keyName); -} - -static void DeleteSettings( HKEY root, const wchar_t *rootName, const wchar_t *keyName ) -{ - HKEY hkey=NULL; - int error=RegOpenKeyEx(root,keyName,0,KEY_WRITE|DELETE|KEY_WOW64_64KEY,&hkey); - if (error==ERROR_SUCCESS) - { - error=RegDeleteTree2(hkey,L"ClassicExplorer"); - if (error==ERROR_SUCCESS) - LogMessage(-1,L"Deleting registry key %s\\%s\\ClassicExplorer",rootName,keyName); - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to delete registry key %s\\%s\\ClassicExplorer.",rootName,keyName); - error=RegDeleteTree2(hkey,L"ClassicIE"); - if (error==ERROR_SUCCESS) - LogMessage(-1,L"Deleting registry key %s\\%s\\ClassicIE",rootName,keyName); - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to delete registry key %s\\%s\\ClassicIE.",rootName,keyName); - error=RegDeleteTree2(hkey,L"OpenShell"); - if (error==ERROR_SUCCESS) - LogMessage(-1,L"Deleting registry key %s\\%s\\OpenShell",rootName,keyName); - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to delete registry key %s\\%s\\OpenShell.",rootName,keyName); - error=RegDeleteTree2(hkey,L"StartMenu"); - if (error==ERROR_SUCCESS) - LogMessage(-1,L"Deleting registry key %s\\%s\\StartMenu",rootName,keyName); - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to delete registry key %s\\%s\\StartMenu.",rootName,keyName); - RegCloseKey(hkey); - - HKEY root2; - error=RegOpenKeyEx(root,NULL,0,KEY_WRITE|DELETE|KEY_WOW64_64KEY,&root2); - if (error==ERROR_SUCCESS) - { - error=RegDeleteKey(root2,keyName); - if (error==ERROR_SUCCESS) - LogMessage(-1,L"Deleting registry key %s\\%s",rootName,keyName); - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to delete registry key %s\\%s.",rootName,keyName); - RegCloseKey(root2); - } - else - LogMessage(error,L"Failed to open registry key %s for writing.",rootName); - } - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to open registry key %s\\%s for writing.",rootName,keyName); -} - -// returns true if a file was delay-deleted -static bool DeleteFileEx( const wchar_t *fname, bool bAllowDelay ) -{ - DWORD attribs=GetFileAttributes(fname); - if (attribs!=INVALID_FILE_ATTRIBUTES) - { - if (attribs&FILE_ATTRIBUTE_READONLY) - SetFileAttributes(fname,attribs&~FILE_ATTRIBUTE_READONLY); - LogMessage(-1,L"Deleting file %s",fname); - if (!DeleteFile2(fname)) - { - int error=GetLastError(); - if (error==ERROR_ACCESS_DENIED && bAllowDelay) - { - LogMessage(-1,L"Delay deleting file %s",fname); - wchar_t fname2[_MAX_PATH]; - Sprintf(fname2,_countof(fname2),L"%s_",fname); - const wchar_t *delName=fname; - if (MoveFileEx2(fname,fname2,0)) - { - delName=fname2; - } - if (MoveFileEx2(delName,NULL,MOVEFILE_DELAY_UNTIL_REBOOT)) - { - g_bRebootRequired=true; - return true; - } - else - { - int error=GetLastError(); - LogMessage(error,L"Failed to delete file %s.",fname); - } - } - else - LogMessage(error,L"Failed to delete file %s.",fname); - } - } - return false; -} - -static void DeleteDirectoryEx( const wchar_t *path, bool bDelay ) -{ - if (!DirectoryExists(path)) - return; - if (bDelay) - { - LogMessage(-1,L"Delay deleting directory %s",path); - if (MoveFileEx2(path,NULL,MOVEFILE_DELAY_UNTIL_REBOOT)) - g_bRebootRequired=true; - else - { - int error=GetLastError(); - LogMessage(error,L"Failed to delete directory %s.",path); - } - } - else - { - LogMessage(-1,L"Deleting directory %s",path); - if (!RemoveDirectory2(path)) - { - int error=GetLastError(); - bool bOldHasErrors=g_bHasErrors; - LogMessage(error,L"Failed to delete directory %s.",path); - if (error==ERROR_DIR_NOT_EMPTY) - { - // failing to delete non-empty directory is not a fatal error - g_bHasErrors=bOldHasErrors; - } - } - } -} - -// returns true if any files were delay-deleted -static bool DeleteFiles( const wchar_t *directory, const wchar_t **files, int fileCount, bool bAllowDelay ) -{ - bool res=false; - if (DirectoryExists(directory)) - { - for (int i=0;i100) pos=100; - progress.GetDlgItem(IDC_PROGRESS1).SendMessage(PBM_SETPOS,pos); - MSG msg; - while (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - int dt=time+i*50-GetTickCount(); - if (dt>0) Sleep(dt); - } - } - - progress.GetDlgItem(IDC_PROGRESS1).SendMessage(PBM_SETPOS,100); - - AdjustPrivileges(); - - LogMessage(-1,L"Open-Shell Utility - removing Open-Shell from the system\r\n\r\n"); - - // remove TreatAs, app launcher keys - WORD winVer=HIWORD(GetVersionEx(GetModuleHandle(L"user32.dll"))); - if (winVer>=WIN_VER_WIN8) - { - if (!RemoveRegistryKeys(winVer>=WIN_VER_WIN10)) - { - progress.DestroyWindow(); - return; - } - } - - BOOL bWow64=FALSE; - bool bIsWow64=IsWow64Process(GetCurrentProcess(),&bWow64) && bWow64; - - DeleteRegKeyHKCR(L"AppID\\ClassicExplorer.DLL"); - DeleteRegKeyHKCR(L"AppID\\ClassicIE.DLL"); - DeleteRegKeyHKCR(L"AppID\\StartMenuHelper.DLL"); - DeleteRegKeyHKCR(L"AppID\\{62D2FBE4-89F7-48A5-A35F-DA2B8A3C54B7}"); - DeleteRegKeyHKCR(L"AppID\\{65843E27-A491-429F-84A0-30A947E20F92}"); - DeleteRegKeyHKCR(L"AppID\\{DF3255F4-FF55-44FA-A728-E77B83E9E403}"); - - DeleteRegKeyHKCR(L"Directory\\shellex\\DragDropHandlers\\ClassicCopyExt"); - DeleteRegKeyHKCR(L"Drive\\shellex\\DragDropHandlers\\ClassicCopyExt"); - DeleteRegKeyHKCR(L"exefile\\shellex\\ContextMenuHandlers\\StartMenuExt"); - DeleteRegKeyHKCR(L"Folder\\shellex\\ContextMenuHandlers\\StartMenuExt"); - DeleteRegKeyHKCR(L"Folder\\shellex\\DragDropHandlers\\ClassicCopyExt"); - DeleteRegKeyHKCR(L"lnkfile\\shellex\\ContextMenuHandlers\\StartMenuExt"); - DeleteRegKeyHKCR(L"ClassicExplorer.ClassicCopyExt"); - DeleteRegKeyHKCR(L"ClassicExplorer.ClassicCopyExt.1"); - DeleteRegKeyHKCR(L"ClassicExplorer.ExplorerBHO"); - DeleteRegKeyHKCR(L"ClassicExplorer.ExplorerBHO.1"); - DeleteRegKeyHKCR(L"ClassicExplorer.ExplorerBand"); - DeleteRegKeyHKCR(L"ClassicExplorer.ExplorerBand.1"); - DeleteRegKeyHKCR(L"ClassicExplorer.ShareOverlay"); - DeleteRegKeyHKCR(L"ClassicExplorer.ShareOverlay.1"); - DeleteRegKeyHKCR(L"ClassicIE.ClassicIEBHO"); - DeleteRegKeyHKCR(L"ClassicIE.ClassicIEBHO.1"); - DeleteRegKeyHKCR(L"StartMenuHelper.StartMenuExt"); - DeleteRegKeyHKCR(L"StartMenuHelper.StartMenuExt.1"); - - DeleteRegKeyCLSID(L"{449D0D6E-2412-4E61-B68F-1CB625CD9E52}",bIsWow64); - DeleteRegKeyCLSID(L"{553891B7-A0D5-4526-BE18-D3CE461D6310}",bIsWow64); - DeleteRegKeyCLSID(L"{594D4122-1F87-41E2-96C7-825FB4796516}",bIsWow64); - DeleteRegKeyCLSID(L"{8C83ACB1-75C3-45D2-882C-EFA32333491C}",bIsWow64); - DeleteRegKeyCLSID(L"{D3214FBB-3CA1-406A-B3E8-3EB7C393A15E}",bIsWow64); - DeleteRegKeyCLSID(L"{E595F05F-903F-4318-8B0A-7F633B520D2B}",bIsWow64); - - DeleteRegKeySOFTWARE(L"Microsoft\\Internet Explorer\\Extensions\\{56753E59-AF1D-4FBA-9E15-31557124ADA2}",bIsWow64); - DeleteRegKeySOFTWARE(L"Microsoft\\Internet Explorer\\Low Rights\\ElevationPolicy\\{02E6771D-8375-42B9-9F83-B4730F697900}",bIsWow64); - DeleteRegKeySOFTWARE(L"Microsoft\\Internet Explorer\\Low Rights\\ElevationPolicy\\{56753E59-AF1D-4FBA-9E15-31557124ADA2}",bIsWow64); - DeleteRegKeySOFTWARE(L"Microsoft\\Internet Explorer\\Low Rights\\ElevationPolicy\\{C0393554-9B48-458A-B91B-3F684D003B2F}",bIsWow64); - DeleteRegKeySOFTWARE(L"Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects\\{449D0D6E-2412-4E61-B68F-1CB625CD9E52}",bIsWow64); - DeleteRegKeySOFTWARE(L"Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects\\{EA801577-E6AD-4BD5-8F71-4BE0154331A4}",bIsWow64); - DeleteRegKeySOFTWARE(L"Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellIconOverlayIdentifiers\\ShareOverlay",bIsWow64); - DeleteRegKeySOFTWARE(L"OpenShell\\OpenShell",bIsWow64); - - DeleteRegValueSOFTWARE(L"Microsoft\\Internet Explorer\\Toolbar",L"{553891B7-A0D5-4526-BE18-D3CE461D6310}",bIsWow64); - DeleteRegValueSOFTWARE(L"Microsoft\\Windows\\CurrentVersion\\Policies\\Ext\\CLSID",L"{449D0D6E-2412-4E61-B68F-1CB625CD9E52}",bIsWow64); - DeleteRegValueSOFTWARE(L"Microsoft\\Windows\\CurrentVersion\\Policies\\Ext\\CLSID",L"{553891B7-A0D5-4526-BE18-D3CE461D6310}",bIsWow64); - DeleteRegValueSOFTWARE(L"Microsoft\\Windows\\CurrentVersion\\Policies\\Ext\\CLSID",L"{EA801577-E6AD-4BD5-8F71-4BE0154331A4}",bIsWow64); - DeleteRegValueSOFTWARE(L"Microsoft\\Windows\\CurrentVersion\\Run",L"Open-Shell Menu",bIsWow64); - - DeleteInstallerKey(HKEY_CLASSES_ROOT,L"HKEY_CLASSES_ROOT",L"Installer\\Features",L"OpenShell",L""); - DeleteInstallerKey(HKEY_CLASSES_ROOT,L"HKEY_CLASSES_ROOT",L"Installer\\Products",L"ProductName",L"Open-Shell"); - DeleteInstallerKey(HKEY_LOCAL_MACHINE,L"HKEY_LOCAL_MACHINE",L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",L"DisplayName",L"Open-Shell"); - - if (dlg.GetRemoveUserSettings() || dlg.GetRemoveAllUserSettings()) - { - // delete settings for the current user - LogMessage(-1,L"Deleting user settings from HKEY_CURRENT_USER\\Software\\OpenShell"); - DeleteSettings(HKEY_CURRENT_USER,L"HKEY_CURRENT_USER",L"Software\\OpenShell"); - - wchar_t local[_MAX_PATH]=L"%LOCALAPPDATA%\\OpenShell"; - DoEnvironmentSubst(local,_countof(local)); - wchar_t roaming[_MAX_PATH]=L"%APPDATA%\\OpenShell"; - DoEnvironmentSubst(roaming,_countof(roaming)); - DeleteUserFiles(local,roaming); - } - - if (dlg.GetRemoveAllUserSettings()) - { - // delete settings for all users - std::vector userNames; - wchar_t usersFolder[_MAX_PATH]; - { - CComString pUsersFolder; - if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_UserProfiles,0,NULL,&pUsersFolder))) - Strcpy(usersFolder,_countof(usersFolder),pUsersFolder); - else - { - Strcpy(usersFolder,_countof(usersFolder),L"%systemdrive%\\Users"); - DoEnvironmentSubst(usersFolder,_countof(usersFolder)); - } - } - { - wchar_t userName[256]=L"%USERNAME%"; - DoEnvironmentSubst(userName,_countof(userName)); - USER_INFO_1 *users; - DWORD userCount, userCount2; - if (NetUserEnum(NULL,1,FILTER_NORMAL_ACCOUNT,(BYTE**)&users,MAX_PREFERRED_LENGTH,&userCount,&userCount2,NULL)==NERR_Success) - { - for (DWORD userIdx=0;userIdx::const_iterator it=userNames.begin();it!=userNames.end();++it) - { - LogMessage(-1,L"Deleting settings for user %s",*it); - - wchar_t local[_MAX_PATH]; - Sprintf(local,_countof(local),L"%s\\%s\\AppData\\Local\\OpenShell",usersFolder,*it); - wchar_t roaming[_MAX_PATH]; - Sprintf(roaming,_countof(roaming),L"%s\\%s\\AppData\\Roaming\\OpenShell",usersFolder,*it); - DeleteUserFiles(local,roaming); - - wchar_t regFile[_MAX_PATH]; - Sprintf(regFile,_countof(regFile),L"%s\\%s\\NTUSER.DAT",usersFolder,*it); - if (GetFileAttributes(regFile)==INVALID_FILE_ATTRIBUTES) - { - int error=GetLastError(); - if (error!=ERROR_FILE_NOT_FOUND && error!=ERROR_PATH_NOT_FOUND) - LogMessage(error,L"Failed to load registry hive %s.",regFile); - continue; - } - int error=RegLoadKey(HKEY_USERS,L"CSUTempUser",regFile); - if (error==ERROR_SUCCESS) - { - DeleteSettings(HKEY_USERS,L"HKEY_USERS",L"CSUTempUser\\Software\\OpenShell"); - RegUnLoadKey(HKEY_USERS,L"CSUTempUser"); - } - else if (error!=ERROR_FILE_NOT_FOUND) - LogMessage(error,L"Failed to load registry hive %s.",regFile); - } - } - - if (dlg.GetRemoveAdminSettings()) - { - // delete admin settings - LogMessage(-1,L"Deleting settings from HKEY_LOCAL_MACHINE\\Software\\OpenShell"); - DeleteSettings(HKEY_LOCAL_MACHINE,L"HKEY_LOCAL_MACHINE",L"Software\\OpenShell"); - } - - // delete program data - { - wchar_t dataPath[_MAX_PATH]=L"%ALLUSERSPROFILE%\\OpenShell"; - DoEnvironmentSubst(dataPath,_countof(dataPath)); - wchar_t langPath[_MAX_PATH]; - Sprintf(langPath,_countof(langPath),L"%s\\Languages",dataPath); - DeleteFiles(langPath,L"*.dll",false); - DeleteDirectoryEx(langPath,false); - DeleteFiles(dataPath,g_ProgramDataFiles,_countof(g_ProgramDataFiles),false); - DeleteDirectoryEx(dataPath,false); - } - - // delete installation folder - CString installPath=dlg.GetPath(); - if (DirectoryExists(installPath) && !PathIsRelative(installPath)) - { - wchar_t skinPath[_MAX_PATH]; - Sprintf(skinPath,_countof(skinPath),L"%s\\Skins",installPath); - bool bDelay=DeleteFiles(skinPath,g_InstalledSkins,_countof(g_InstalledSkins),true); - if (DirectoryExists(skinPath)) - DeleteDirectoryEx(skinPath,bDelay); - if (DeleteFiles(installPath,g_InstalledFiles,_countof(g_InstalledFiles),true)) - bDelay=true; - DeleteDirectoryEx(installPath,bDelay); - } - - // delete start menu shortcuts - { - CComString pPath; - if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_CommonPrograms,0,NULL,&pPath))) - { - wchar_t startMenuPath[_MAX_PATH]; - Sprintf(startMenuPath,_countof(startMenuPath),L"%s\\Open-Shell",(const wchar_t*)pPath); - if (DirectoryExists(startMenuPath)) - { - for (int i=0;i<_countof(g_InstalledShortcuts);i++) - { - wchar_t path[_MAX_PATH]; - Sprintf(path,_countof(path),L"%s\\%s",startMenuPath,g_InstalledShortcuts[i]); - DeleteFileEx(path,false); - } - DeleteDirectoryEx(startMenuPath,false); - } - } - } - - // delete start menu helpers - wchar_t winDir[_MAX_PATH]=L"%WinDir%"; - DoEnvironmentSubst(winDir,_countof(winDir)); - if (bIsWow64) - { - // 64-bit OS - wchar_t path[_MAX_PATH]; - Sprintf(path,_countof(path),L"%s\\System32\\StartMenuHelper64.dll",winDir); - Wow64EnableWow64FsRedirection(FALSE); - DeleteFileEx(path,true); - Sprintf(path,_countof(path),L"%s\\SysWOW64\\StartMenuHelper32.dll",winDir); - DeleteFileEx(path,true); - Wow64EnableWow64FsRedirection(TRUE); - } - else - { - // 32-bit OS - wchar_t path[_MAX_PATH]; - Sprintf(path,_countof(path),L"%s\\System32\\StartMenuHelper32.dll",winDir); - DeleteFileEx(path,true); - } - -/////////////////////////////////////////////////////////////////////////////// - - SaveReportFile(); - g_Report.push_back(0); - - progress.DestroyWindow(); - - if (CResultsDlg(g_bHasErrors,g_bRebootRequired,&g_Report[0]).DoModal(NULL)==1) - { - // restart was requested - HANDLE hToken; - if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)) - { - TOKEN_PRIVILEGES tp={1}; - if (LookupPrivilegeValue(NULL,L"SeShutdownPrivilege",&tp.Privileges[0].Luid)) - tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; - AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL); - CloseHandle(hToken); - } -#ifndef SAFE_MODE - ExitWindowsEx(EWX_REBOOT,SHTDN_REASON_FLAG_PLANNED); -#endif - } - else if (g_bHasErrors || g_bRebootRequired) - { - MessageBox(NULL,L"It is important that you restart as soon as possible. If you attempt to install another software before then it may get corrupted.",L"Open-Shell Uninstaller",MB_OK|MB_ICONWARNING); - } -} - -void ManualUninstall( void ) -{ - CoInitialize(NULL); - ManualUninstallInternal(); - CoUninitialize(); -} - -#endif diff --git a/Src/Setup/Utility/MetroColorViewer.cpp b/Src/Setup/Utility/MetroColorViewer.cpp deleted file mode 100644 index cafe28f..0000000 --- a/Src/Setup/Utility/MetroColorViewer.cpp +++ /dev/null @@ -1,441 +0,0 @@ -// 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 - -#ifndef _WIN64 - -#define STRICT_TYPED_ITEMIDS -#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit -#include -#include -#include -#include -#include "resource.h" -#include "StringUtils.h" -#include "ResourceHelper.h" - -//#define WRITE_COLORS -//#define READ_COLORS - -#ifdef READ_COLORS -#undef WRITE_COLORS -#endif - -static struct -{ - const wchar_t *name; - int code; -} g_SystemColors[]= -{ - {L"SystemScrollbar",COLOR_SCROLLBAR}, - {L"SystemBackground",COLOR_BACKGROUND}, - {L"SystemActiveCaption",COLOR_ACTIVECAPTION}, - {L"SystemInactiveCaption",COLOR_INACTIVECAPTION}, - {L"SystemMenu",COLOR_MENU}, - {L"SystemWindow",COLOR_WINDOW}, - {L"SystemWindowFrame",COLOR_WINDOWFRAME}, - {L"SystemMenuText",COLOR_MENUTEXT}, - {L"SystemWindowText",COLOR_WINDOWTEXT}, - {L"SystemCaptionText",COLOR_CAPTIONTEXT}, - {L"SystemActiveBorder",COLOR_ACTIVEBORDER}, - {L"SystemInactiveBorder",COLOR_INACTIVEBORDER}, - {L"SystemAppWorkspace",COLOR_APPWORKSPACE}, - {L"SystemHighlight",COLOR_HIGHLIGHT}, - {L"SystemHighlightText",COLOR_HIGHLIGHTTEXT}, - {L"SystemBtnFace",COLOR_BTNFACE}, - {L"SystemBtnShadow",COLOR_BTNSHADOW}, - {L"SystemGrayText",COLOR_GRAYTEXT}, - {L"SystemBtnText",COLOR_BTNTEXT}, - {L"SystemInactiveCaptionText",COLOR_INACTIVECAPTIONTEXT}, - {L"SystemBtnHighlight",COLOR_BTNHIGHLIGHT}, - {L"System3DDKShadow",COLOR_3DDKSHADOW}, - {L"System3DLight",COLOR_3DLIGHT}, - {L"SystemInfoText",COLOR_INFOTEXT}, - {L"SystemInfoBK",COLOR_INFOBK}, - {L"SystemHotLight",COLOR_HOTLIGHT}, - {L"SystemGradientActiveCaption",COLOR_GRADIENTACTIVECAPTION}, - {L"SystemGradientInactiveCaption",COLOR_GRADIENTINACTIVECAPTION}, - {L"SystemMenuHilight",COLOR_MENUHILIGHT}, - {L"SystemMenuBar",COLOR_MENUBAR}, -}; - -#ifndef READ_COLORS -typedef int (WINAPI *TGetImmersiveUserColorSetPreference)(bool bForceCheckRegistry, bool bSkipCheckOnFail); -typedef int (WINAPI *TGetImmersiveColorSetCount)(); -typedef DWORD (WINAPI *TGetImmersiveColorFromColorSetEx)(UINT dwImmersiveColorSet, UINT dwImmersiveColorType, bool bIgnoreHighContrast, UINT dwHighContrastCacheMode); -typedef const wchar_t **(WINAPI *TGetImmersiveColorNamedTypeByIndex)(UINT dwImmersiveColorType); -typedef int (WINAPI *TGetImmersiveColorTypeFromName)(const wchar_t *name); - -static TGetImmersiveUserColorSetPreference GetImmersiveUserColorSetPreference; -static TGetImmersiveColorFromColorSetEx GetImmersiveColorFromColorSetEx; -static TGetImmersiveColorSetCount GetImmersiveColorSetCount; -static TGetImmersiveColorNamedTypeByIndex GetImmersiveColorNamedTypeByIndex; -static TGetImmersiveColorTypeFromName GetImmersiveColorTypeFromName; -#endif - -struct MetroColor -{ - CString name; - CString NAME; - int type; - DWORD color; -}; - -static std::vector g_MetroColors; -static int g_MaxMetroColorType; - -class CMetroColorViewer: public CDialogImpl -{ -public: - CMetroColorViewer( void ); - - BEGIN_MSG_MAP( CMetroColorViewer ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_CLOSE, OnClose ) - COMMAND_HANDLER( IDCANCEL, BN_CLICKED, OnCancel ) - COMMAND_HANDLER( IDC_EDIT1, EN_UPDATE, OnUpdateSet ) - COMMAND_HANDLER( IDC_EDIT2, EN_UPDATE, OnUpdateFilter ) - NOTIFY_HANDLER( IDC_LIST1, NM_CUSTOMDRAW, OnCustomDraw ) - NOTIFY_HANDLER( IDC_LIST1, LVN_COLUMNCLICK, OnColumnClick ) - REFLECT_NOTIFICATIONS() - END_MSG_MAP() - - enum { IDD=IDD_COLORS }; - -protected: - LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnClose( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnUpdateSet( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnUpdateFilter( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnColumnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - -private: - int m_ColorSet; - int m_SortColumn; - CString m_Filter; - void UpdateRows( void ); - void UpdateColors( void ); - void SetSortColumn( int sort ); - - static int CALLBACK CompareFunc( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort ); -}; - -CMetroColorViewer::CMetroColorViewer( void ) -{ - m_ColorSet=-1; - m_SortColumn=-1; -} - -int CALLBACK CMetroColorViewer::CompareFunc( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort ) -{ - if (lParamSort==1) - { - // type - lParam1=g_MetroColors[lParam1].type; - lParam2=g_MetroColors[lParam2].type; - } - if (lParam1lParam2) return 1; - return 0; -} - -LRESULT CMetroColorViewer::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ -#ifdef READ_COLORS - m_ColorSet=0; - int setCount=1; - GetDlgItem(IDC_EDIT1).EnableWindow(FALSE); -#else - int setCount=GetImmersiveColorSetCount(); -#endif - SendDlgItemMessage(IDC_SPIN1,UDM_SETRANGE,0,MAKELONG(setCount-1,-1)); - SetDlgItemInt(IDC_EDIT1,-1,TRUE); - SendDlgItemMessage(IDC_LIST1,LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER,LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER); - - HWND list=GetDlgItem(IDC_LIST1); - { - LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,380,(LPWSTR)L"Name"}; - ListView_InsertColumn(list,0,&column); - } - { - LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,50,(LPWSTR)L"#"}; - ListView_InsertColumn(list,1,&column); - } - { - LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,100,(LPWSTR)L"Code"}; - ListView_InsertColumn(list,2,&column); - } - { - LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,100,(LPWSTR)L"Color"}; - ListView_InsertColumn(list,3,&column); - } - int order[]={1,0,2,3}; - ListView_SetColumnOrderArray(list,_countof(order),order); - SetSortColumn(1); - - UpdateRows(); - return TRUE; -} - -void CMetroColorViewer::SetSortColumn( int sort ) -{ - CWindow list=GetDlgItem(IDC_LIST1); - list.SendMessage(LVM_SETSELECTEDCOLUMN,m_SortColumn); - CWindow header=ListView_GetHeader(list); - HDITEM hdItem= {HDI_FORMAT}; - hdItem.fmt= HDF_LEFT|HDF_STRING; - if (m_SortColumn>=0) - header.SendMessage(HDM_SETITEM,m_SortColumn,(LPARAM)&hdItem); - hdItem.fmt|= HDF_SORTDOWN; - m_SortColumn=sort; - header.SendMessage(HDM_SETITEM,m_SortColumn,(LPARAM)&hdItem); -} - -void CMetroColorViewer::UpdateRows( void ) -{ - CWindow list=GetDlgItem(IDC_LIST1); - if (!list.IsWindow()) return; - - std::vector tokens; - for (const wchar_t *str=m_Filter;*str;) - { - wchar_t token[256]; - str=GetToken(str,token,_countof(token),L" "); - if (token[0]) - tokens.push_back(token); - } - list.SetRedraw(FALSE); - ListView_DeleteAllItems(list); - for (int i=0;i<(int)g_MetroColors.size();i++) - { - const MetroColor &color=g_MetroColors[i]; - bool found=true; - for (std::vector::const_iterator it=tokens.begin();it!=tokens.end();++it) - { - if (!wcsstr(color.NAME,*it)) - { - found=false; - break; - } - } - if (!found) continue; - LVITEM item={LVIF_PARAM|LVIF_TEXT}; - item.lParam=i; - item.pszText=(wchar_t*)(const wchar_t*)color.name; - item.iItem=10000; - int idx=ListView_InsertItem(list,&item); - - wchar_t text[20]; - Sprintf(text,_countof(text),L"%d",color.type); - ListView_SetItemText(list,idx,1,text); - } - ListView_SortItems(list,CompareFunc,m_SortColumn); - list.SetRedraw(TRUE); - UpdateColors(); -} - -void CMetroColorViewer::UpdateColors( void ) -{ - CWindow list=GetDlgItem(IDC_LIST1); - if (!list.IsWindow()) return; -#ifndef READ_COLORS - int set=m_ColorSet>=0?m_ColorSet:GetImmersiveUserColorSetPreference(false,false); -#endif - int count=ListView_GetItemCount(list); - list.SetRedraw(FALSE); - for (int i=0;i>24)&0xFF,color&0xFF,(color>>8)&0xFF,(color>>16)&0xFF); - ListView_SetItemText(list,i,2,text); - } - list.SetRedraw(TRUE); - ::InvalidateRect(list,NULL,TRUE); -} - -LRESULT CMetroColorViewer::OnClose( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - EndDialog(0); - return 0; -} - -LRESULT CMetroColorViewer::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (GetFocus()==GetDlgItem(IDC_EDIT2)) - SetDlgItemText(IDC_EDIT2,L""); - return 0; -} - -LRESULT CMetroColorViewer::OnUpdateSet( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - m_ColorSet=GetDlgItemInt(IDC_EDIT1); - UpdateColors(); - return 0; -} - -LRESULT CMetroColorViewer::OnUpdateFilter( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString filter; - GetDlgItemText(IDC_EDIT2,filter); - filter.MakeUpper(); - if (filter!=m_Filter) - { - m_Filter=filter; - UpdateRows(); - } - return 0; -} - -LRESULT CMetroColorViewer::OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMLVCUSTOMDRAW *pDraw=(NMLVCUSTOMDRAW*)pnmh; - if (pDraw->nmcd.dwDrawStage==CDDS_PREPAINT) - return CDRF_NOTIFYITEMDRAW; - if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPREPAINT) - return CDRF_NOTIFYSUBITEMDRAW; - if (pDraw->nmcd.dwDrawStage==(CDDS_ITEMPREPAINT|CDDS_SUBITEM) && pDraw->iSubItem==3) - { - RECT rc; - ListView_GetSubItemRect(pnmh->hwndFrom,pDraw->nmcd.dwItemSpec,pDraw->iSubItem,LVIR_BOUNDS,&rc); - DWORD color; -#ifndef READ_COLORS - if (g_MetroColors[pDraw->nmcd.lItemlParam].type<=g_MaxMetroColorType) - { - int set=m_ColorSet>=0?m_ColorSet:GetImmersiveUserColorSetPreference(false,false); - color=GetImmersiveColorFromColorSetEx(set,g_MetroColors[pDraw->nmcd.lItemlParam].type,true,0); - } - else -#endif - color=g_MetroColors[pDraw->nmcd.lItemlParam].color; - SetDCBrushColor(pDraw->nmcd.hdc,color&0xFFFFFF); - FillRect(pDraw->nmcd.hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - return CDRF_SKIPDEFAULT; - } - return CDRF_DODEFAULT; -} - -LRESULT CMetroColorViewer::OnColumnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMLISTVIEW *pSort=(NMLISTVIEW *)pnmh; - if (pSort->iSubItem==0 || pSort->iSubItem==1) - { - SetSortColumn(pSort->iSubItem); - ListView_SortItems(pnmh->hwndFrom,CompareFunc,m_SortColumn); - } - return 0; -} - -void ShowMetroColorViewer( void ) -{ -#ifndef READ_COLORS - HMODULE hUxTheme=LoadLibrary(L"uxtheme.dll"); - DWORD ver=GetVersionEx(hUxTheme); - if (hUxTheme && ver>=0x6020000) - { - GetImmersiveUserColorSetPreference=(TGetImmersiveUserColorSetPreference)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(98)); - GetImmersiveColorFromColorSetEx=(TGetImmersiveColorFromColorSetEx)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(95)); - GetImmersiveColorSetCount=(TGetImmersiveColorSetCount)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(94)); - GetImmersiveColorNamedTypeByIndex=(TGetImmersiveColorNamedTypeByIndex)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(100)); - GetImmersiveColorTypeFromName=(TGetImmersiveColorTypeFromName)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(96)); - } - if (GetImmersiveUserColorSetPreference && GetImmersiveColorFromColorSetEx && GetImmersiveColorSetCount && GetImmersiveColorNamedTypeByIndex && GetImmersiveColorTypeFromName) -#endif - { -#ifdef READ_COLORS - FILE *fin=NULL; - fopen_s(&fin,"d:\\colors.txt","rt"); -#endif -#ifdef WRITE_COLORS - FILE *fout=NULL; - fopen_s(&fout,"d:\\colors.txt","wt"); -#endif -#ifndef READ_COLORS - int set=GetImmersiveUserColorSetPreference(false,false); -#endif - g_MaxMetroColorType=0; - for (int i=0;;i++) - { - const wchar_t *name=NULL; - int type=i; - COLORREF color=0; - -#ifdef READ_COLORS - char buf[200]={0}; - if (fin) fgets(buf,_countof(buf),fin); -#endif - wchar_t text[256]; -#ifdef READ_COLORS - CStringW str; - if (Strlen(buf)>9) - { - str=buf+9; - str.Trim(L"\r\n"); - name=str; - } -#else - const wchar_t **ptr=GetImmersiveColorNamedTypeByIndex(i); - if (ptr) - name=*ptr; -#endif - if (!name) - break; - Sprintf(text,_countof(text),L"Immersive%s",name); -#ifdef READ_COLORS - char *end; - color=strtoul(buf,&end,16); - color=(color&0xFF00FF00)|((color>>16)&0xFF)|((color&0xFF)<<16); -#else - type=GetImmersiveColorTypeFromName(text); -#endif -#ifdef WRITE_COLORS - color=GetImmersiveColorFromColorSetEx(set,type,true,0); - if (fout) fprintf(fout,"%02X%02X%02X%02X %S\n",(color>>24)&0xFF,color&0xFF,(color>>8)&0xFF,(color>>16)&0xFF,name); -#endif - MetroColor mc; - mc.name=name; - mc.NAME=mc.name; - mc.NAME.MakeUpper(); - mc.type=type; - if (g_MaxMetroColorType -#include -#include -#include "ResourceHelper.h" -#include "ComHelper.h" -#include "StringUtils.h" -#include "Settings.h" -#include -#include -#include -#include -#include -#define SECURITY_WIN32 -#include -#include -#include -#include - -extern HINSTANCE g_hInstance; - -struct CompareStrings -{ - bool operator()( const CString &str1, const CString &str2 ) const - { - return _wcsicmp(str1,str2)<0; - } -}; - -const CLSID CLSID_CSearchManager2={0x7D096C5F,0xAC08,0x4f1f,{0xBE,0xB7,0x5C,0x22,0xC5,0x17,0xCE,0x39}}; - -/////////////////////////////////////////////////////////////////////////////// -// dummy functions - -void ClosingSettings( HWND hWnd, int flags, int command ) -{ -} - -void SettingChangedCallback( const CSetting *pSetting ) -{ -} - -void UpgradeSettings( bool bShared ) -{ -} - -void UpdateSettings( void ) -{ -} - -const wchar_t *GetDocRelativePath( void ) -{ - return NULL; -} - -/////////////////////////////////////////////////////////////////////////////// - -static const wchar_t *g_Tabs=L"\t\t\t\t\t\t\t\t\t\t"; -static const wchar_t *GetTabs( int count ) -{ - if (count>10) count=10; - return g_Tabs+(10-count); -} - -DWORD GetFileVersion( const wchar_t *fname, DWORD *pBuild ) -{ - DWORD dwHandle; - DWORD dwLen=GetFileVersionInfoSize(fname,&dwHandle); - if (!dwLen) - return 0; - - std::vector buf(dwLen); - if (!GetFileVersionInfo(fname,dwHandle,dwLen,&buf[0])) - return 0; - - VS_FIXEDFILEINFO *pFileInfo; - UINT len; - if (!VerQueryValue(&buf[0],L"\\",(void**)&pFileInfo,&len)) - return 0; - if (pBuild) - *pBuild=LOWORD(pFileInfo->dwFileVersionLS); - return (HIWORD(pFileInfo->dwFileVersionMS)<<24)|(LOWORD(pFileInfo->dwFileVersionMS)<<16)|HIWORD(pFileInfo->dwFileVersionLS); -} - -static LONG ReadRegistryValue( HKEY root, const wchar_t *keyName, const wchar_t *valName, DWORD &value ) -{ - CRegKey regKey; - LONG res=regKey.Open(root,keyName,KEY_READ|KEY_WOW64_64KEY); - if (res==ERROR_SUCCESS) - res=regKey.QueryDWORDValue(valName,value); - return res; -} - -static LONG ReadRegistryValue( HKEY root, const wchar_t *keyName, const wchar_t *valName, CString &value ) -{ - value.Empty(); - wchar_t text[1024]; - ULONG size=_countof(text); - CRegKey regKey; - LONG res=regKey.Open(root,keyName,KEY_READ|KEY_WOW64_64KEY); - if (res==ERROR_SUCCESS) - { - res=regKey.QueryStringValue(valName,text,&size); - if (res==ERROR_SUCCESS) - value=text; - } - return res; -} - -static void WriteRegKey( FILE *f, CRegKey &key, int tabs, const wchar_t *annotations[][2]=NULL ) -{ - std::vector buf(65536); - for (int index=0;;index++) - { - wchar_t name[256]; - DWORD len=_countof(name); - DWORD type; - DWORD size=(int)buf.size(); - if (RegEnumValue(key,index,name,&len,NULL,&type,&buf[0],&size)!=ERROR_SUCCESS) - break; - fwprintf(f,L"%s%s: ",GetTabs(tabs),name); - switch (type) - { - case REG_DWORD: - { - DWORD val=*(DWORD*)&buf[0]; - fwprintf(f,L"0x%08X (%d)",val,val); - } - break; - case REG_SZ: - case REG_EXPAND_SZ: - { - CString val=(wchar_t*)&buf[0]; - val.Replace(L"\r",L"\\r"); - val.Replace(L"\n",L"\\n"); - fwprintf(f,L"%s",(const wchar_t*)val); - } - break; - case REG_MULTI_SZ: - for (const wchar_t *str=(wchar_t*)&buf[0];*str;str+=Strlen(str)+1) - { - CString val=str; - val.Replace(L"\r",L"\\r"); - val.Replace(L"\n",L"\\n"); - fwprintf(f,L"%s\\0",(const wchar_t*)val); - } - break; - } - if (annotations) - { - for (const wchar_t **a=&annotations[0][0];*a;a+=2) - { - if (_wcsicmp(a[0],name)==0) - { - fwprintf(f,L" - %s",a[1]); - break; - } - } - } - fwprintf(f,L"\r\n"); - } -} - -static void WriteFolder( FILE *f, const wchar_t *path, int tabs, bool bRecursive ) -{ - wchar_t find[_MAX_PATH]; - Sprintf(find,_countof(find),L"%s\\*.*",path); - std::vector folders; - WIN32_FIND_DATA data; - HANDLE h=FindFirstFile(find,&data); - while (h!=INVALID_HANDLE_VALUE) - { - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s\\%s",path,data.cFileName); - if (data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) - { - if (bRecursive && wcscmp(data.cFileName,L".")!=0 && wcscmp(data.cFileName,L"..")!=0) - folders.push_back(fname); - } - else - { - fwprintf(f,L"%s%s",GetTabs(tabs),data.cFileName); - FILETIME localTime; - FileTimeToLocalFileTime(&data.ftLastWriteTime,&localTime); - SYSTEMTIME sysTime; - FileTimeToSystemTime(&localTime,&sysTime); - fwprintf(f,L", date: %04d/%02d/%02d, time: %02d:%02d:%02d",sysTime.wYear,sysTime.wMonth,sysTime.wDay,sysTime.wHour,sysTime.wMinute,sysTime.wSecond); - const wchar_t *ext=PathFindExtension(data.cFileName); - if (_wcsicmp(ext,L".lnk")==0) - { - // find target, args and appid - CComPtr pItem; - SHCreateItemFromParsingName(fname,NULL,IID_IShellItem,(void**)&pItem); - if (pItem) - { - CComPtr pLink; - if (SUCCEEDED(pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IShellLink,(void**)&pLink))) - { - CComPtr pTarget; - CComString target; - CAbsolutePidl pidl; - if (FAILED(pLink->GetIDList(&pidl))) - fwprintf(f,L" target='no pidl'"); - else if (FAILED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pTarget))) - fwprintf(f,L" target='no item'"); - else if (FAILED(pTarget->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&target))) - fwprintf(f,L" target='no name'"); - else - fwprintf(f,L" target='%s'",(const wchar_t*)target); - wchar_t args[256]; - if (FAILED(pLink->GetArguments(args,_countof(args)))) - args[0]=0; - CComQIPtr pStore(pLink); - CString appid; - if (pStore) - { - PROPVARIANT val; - PropVariantInit(&val); - if (SUCCEEDED(pStore->GetValue(PKEY_AppUserModel_ID,&val)) && val.vt==VT_BSTR && val.bstrVal) - appid=val.bstrVal; - PropVariantClear(&val); - if (!args[0] && SUCCEEDED(pStore->GetValue(PKEY_Link_Arguments,&val)) && val.vt==VT_BSTR && val.bstrVal) - Strcpy(args,_countof(args),val.bstrVal); - PropVariantClear(&val); - } - if (args[0]) - fwprintf(f,L" args='%s'",args); - if (!appid.IsEmpty()) - fwprintf(f,L" appid='%s'",(const wchar_t*)appid); - } - } - } - else - { - DWORD build; - DWORD ver=GetFileVersion(fname,&build); - if (ver) - fwprintf(f,L", version: %d.%d.%d.%d",ver>>24,(ver>>16)&255,ver&65535,build); - if (_wcsicmp(ext,L".exe")==0) - { - CString policy; - ReadRegistryValue(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers",fname,policy); - if (!policy.IsEmpty()) - fwprintf(f,L" usercompat='%s'",(const wchar_t*)policy); - ReadRegistryValue(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers",fname,policy); - if (!policy.IsEmpty()) - fwprintf(f,L" compat='%s'",(const wchar_t*)policy); - } - } - fwprintf(f,L"\r\n"); - } - if (!FindNextFile(h,&data)) - { - FindClose(h); - break; - } - } - for (std::vector::const_iterator it=folders.begin();it!=folders.end();++it) - { - fwprintf(f,L"%s%s\r\n",GetTabs(tabs),PathFindFileName(*it)); - WriteFolder(f,*it,tabs+1,true); - } -} - -static void WriteSettings( FILE *f, TSettingsComponent component ) -{ - CRegKey regSettings, regSettingsUser, regPolicy, regPolicyUser; - bool bUpgrade=OpenSettingsKeys(component,regSettings,regSettingsUser,regPolicy,regPolicyUser); - if (regSettingsUser) - { - fwprintf(f,L"\t\t%s:\r\n",bUpgrade?L"User settings (old)":L"User settings"); - WriteRegKey(f,regSettingsUser,3); - fwprintf(f,L"\r\n"); - } - if (regSettings) - { - fwprintf(f,L"\t\tCommon settings:\r\n"); - WriteRegKey(f,regSettings,3); - fwprintf(f,L"\r\n"); - } - if (regPolicyUser) - { - fwprintf(f,L"\t\tUser policies:\r\n"); - WriteRegKey(f,regPolicyUser,3); - fwprintf(f,L"\r\n"); - } - if (regPolicy) - { - fwprintf(f,L"\t\tCommon policies:\r\n"); - WriteRegKey(f,regPolicy,3); - fwprintf(f,L"\r\n"); - } -} - -static void WriteProcessInfo( FILE *f, HANDLE hProcess, int tabs ) -{ - HMODULE hMods[1024]; - std::set names; - DWORD cbNeeded; - if (EnumProcessModules(hProcess,hMods,sizeof(hMods),&cbNeeded)) - { - int count=cbNeeded/sizeof(HMODULE); - for (int i=0;i::const_iterator it=names.begin();it!=names.end();++it) - { - DWORD ver=GetFileVersion(*it,NULL); - fwprintf(f,L"%s%s (%d.%d.%d)\r\n",GetTabs(tabs),(const wchar_t*)(*it),ver>>24,(ver>>16)&255,ver&65535); - } -} - -PROPERTYKEY PKEY_ProductVersion={{0x0CEF7D53, 0xFA64, 0x11D1, {0xA2, 0x03, 0x00, 0x00, 0xF8, 0x1F, 0xED, 0xEE}}, 8}; - -static BOOL CALLBACK MonitorEnumProc( HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData ) -{ - FILE *f=(FILE*)dwData; - HWND taskbar=FindWindowEx(NULL,NULL,L"Shell_TrayWnd",NULL); - HMONITOR mon=taskbar?MonitorFromWindow(taskbar,MONITOR_DEFAULTTONULL):NULL; - if (mon!=hMonitor) - { - for (taskbar=FindWindowEx(NULL,NULL,L"Shell_SecondaryTrayWnd",NULL);taskbar;taskbar=FindWindowEx(NULL,taskbar,L"Shell_SecondaryTrayWnd",NULL)) - { - mon=MonitorFromWindow(taskbar,MONITOR_DEFAULTTONULL); - if (mon==hMonitor) - break; - } - } - fwprintf(f,L"\tMonitor: %d, %d - (%d x %d)\r\n",lprcMonitor->left,lprcMonitor->top,lprcMonitor->right-lprcMonitor->left,lprcMonitor->bottom-lprcMonitor->top); - if (mon==hMonitor) - { - RECT rc; - GetWindowRect(taskbar,&rc); - fwprintf(f,L"\t\tTaskbar: %d, %d - (%d x %d)\r\n",rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top); - } - return TRUE; -} - -static const wchar_t *g_ExplorerRegAnnotations[][2]={ - {L"Start_TrackDocs",L"track documents"}, - {L"Start_TrackProgs",L"track programs"}, - {L"TaskbarSizeMove",L"unlocked taskbar"}, - {L"TaskbarSmallIcons",L"small icons"}, - {NULL} -}; - -struct GroupInfo -{ - CString desc; - CString group; - const wchar_t *status; -}; - -static void WriteLogFile( FILE *f ) -{ - // windows version - BOOL b64=FALSE; -#ifdef _WIN64 - b64=TRUE; -#else - IsWow64Process(GetCurrentProcess(),&b64); -#endif - DWORD winVer=GetVersionEx(GetModuleHandle(L"user32.dll")); - fwprintf(f,L"System\r\n"); - fwprintf(f,L"\tWindows version (real): %d.%02d.%d %d-bit\r\n",(winVer>>24),(winVer>>16)&255,winVer&65535,b64?64:32); - DWORD ver2=GetWinVersion(); - fwprintf(f,L"\tWindows version (reported): %d.%02d\r\n",(ver2>>8),ver2&255); - CString strVer1, strVer2; - ReadRegistryValue(HKEY_LOCAL_MACHINE,L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",L"ProductName",strVer1); - ReadRegistryValue(HKEY_LOCAL_MACHINE,L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",L"CurrentVersion",strVer2); - fwprintf(f,L"\tWindows version (registry): %s %s\r\n",(const wchar_t*)strVer1,(const wchar_t*)strVer2); - - wchar_t user1[256]={0}, user2[256]={0}; - ULONG size=_countof(user1); - GetComputerName(user1,&size); - fwprintf(f,L"\tComputer: %s\r\n",user1); - size=_countof(user1); - GetUserName(user1,&size); - size=_countof(user2); - if (GetUserNameEx(NameDisplay,user2,&size)) - fwprintf(f,L"\tUser: %s (%s)\r\n",user1,user2); - else - fwprintf(f,L"\tUser: %s (0x%08X)\r\n",user1,GetLastError()); - - { - wchar_t languages[100]; - ULONG count=0; - ULONG len=_countof(languages); - GetUserPreferredUILanguages(MUI_LANGUAGE_NAME,&size,languages,&len); - if (len>1) - { - for (ULONG i=0;i1) - { - for (ULONG i=0;i=2) - touchCaps[Strlen(touchCaps)-2]=0; - else - Strcpy(touchCaps,_countof(touchCaps),L"None"); - fwprintf(f,L"\tTouch capabilities: %s\r\n",touchCaps); - } - - { - CComString pPath; - if (FAILED(SHGetKnownFolderPath(FOLDERID_StartMenu,0,NULL,&pPath))) - pPath.Clear(); - fwprintf(f,L"\tStart Menu folder: '%s'\r\n",pPath?pPath:L""); - pPath.Clear(); - if (FAILED(SHGetKnownFolderPath(FOLDERID_Programs,0,NULL,&pPath))) - pPath.Clear(); - fwprintf(f,L"\tPrograms folder: '%s'\r\n",pPath?pPath:L""); - pPath.Clear(); - if (FAILED(SHGetKnownFolderPath(FOLDERID_CommonStartMenu,0,NULL,&pPath))) - pPath.Clear(); - fwprintf(f,L"\tCommon Start Menu folder: '%s'\r\n",pPath?pPath:L""); - pPath.Clear(); - if (FAILED(SHGetKnownFolderPath(FOLDERID_CommonPrograms,0,NULL,&pPath))) - pPath.Clear(); - fwprintf(f,L"\tCommon Programs folder: '%s'\r\n",pPath?pPath:L""); - } - if (HIWORD(winVer) pSysInfo; - pSysInfo.CoCreateInstance(CLSID_SystemInformation); - if (pSysInfo) - { - VARIANT_BOOL reboot; - if (SUCCEEDED(pSysInfo->get_RebootRequired(&reboot)) && reboot) - { - fwprintf(f,L"\tWindows Update: Reboot required\r\n"); - } - } - } - - if (HIWORD(winVer)>=WIN_VER_WIN81) - { - DWORD metro; - if (ReadRegistryValue(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StartPage",L"OpenAtLogon",metro)==ERROR_SUCCESS) - fwprintf(f,L"\tSkip to Desktop: %d\r\n",1-metro); - else - fwprintf(f,L"\tSkip to Desktop: unset\r\n"); - } - - { - CRegKey regKey; - const wchar_t *key=L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"; - if (regKey.Open(HKEY_CURRENT_USER,key,KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - fwprintf(f,L"\t\r\n\tHKCU\\%s:\r\n",key); - WriteRegKey(f,regKey,2,g_ExplorerRegAnnotations); - fwprintf(f,L"\r\n"); - } - } - - fwprintf(f,L"\tPolicies:\r\n"); - fwprintf(f,L"\t\tSHRestricted(REST_HASFINDCOMPUTERS)=%d\r\n",SHRestricted(REST_HASFINDCOMPUTERS)); - fwprintf(f,L"\t\tSHRestricted(REST_NOCHANGESTARMENU)=%d\r\n",SHRestricted(REST_NOCHANGESTARMENU)); - fwprintf(f,L"\t\tSHRestricted(REST_NOCLOSE)=%d\r\n",SHRestricted(REST_NOCLOSE)); - fwprintf(f,L"\t\tSHRestricted(REST_NOCOMMONGROUPS)=%d\r\n",SHRestricted(REST_NOCOMMONGROUPS)); - fwprintf(f,L"\t\tSHRestricted(REST_NOCONTROLPANEL)=%d\r\n",SHRestricted(REST_NOCONTROLPANEL)); - fwprintf(f,L"\t\tSHRestricted(REST_NODISCONNECT)=%d\r\n",SHRestricted(REST_NODISCONNECT)); - fwprintf(f,L"\t\tSHRestricted(REST_NOFAVORITESMENU)=%d\r\n",SHRestricted(REST_NOFAVORITESMENU)); - fwprintf(f,L"\t\tSHRestricted(REST_NOFIND)=%d\r\n",SHRestricted(REST_NOFIND)); - fwprintf(f,L"\t\tSHRestricted(REST_NONETWORKCONNECTIONS)=%d\r\n",SHRestricted(REST_NONETWORKCONNECTIONS)); - fwprintf(f,L"\t\tSHRestricted(REST_NORECENTDOCSMENU)=%d\r\n",SHRestricted(REST_NORECENTDOCSMENU)); - fwprintf(f,L"\t\tSHRestricted(REST_NORUN)=%d\r\n",SHRestricted(REST_NORUN)); - fwprintf(f,L"\t\tSHRestricted(REST_NOSETFOLDERS)=%d\r\n",SHRestricted(REST_NOSETFOLDERS)); - fwprintf(f,L"\t\tSHRestricted(REST_NOSETTASKBAR)=%d\r\n",SHRestricted(REST_NOSETTASKBAR)); - fwprintf(f,L"\t\tSHRestricted(REST_NOSMEJECTPC)=%d\r\n",SHRestricted(REST_NOSMEJECTPC)); - fwprintf(f,L"\t\tSHRestricted(REST_NOSMHELP)=%d\r\n",SHRestricted(REST_NOSMHELP)); - fwprintf(f,L"\t\tSHRestricted(REST_NOSMMYDOCS)=%d\r\n",SHRestricted(REST_NOSMMYDOCS)); - fwprintf(f,L"\t\tSHRestricted(REST_NOSTRCMPLOGICAL)=%d\r\n",SHRestricted(REST_NOSTRCMPLOGICAL)); - fwprintf(f,L"\t\tSHRestricted(REST_STARTMENULOGOFF)=%d\r\n",SHRestricted(REST_STARTMENULOGOFF)); - fwprintf(f,L"\t\tSHRestricted(REST_FORCESTARTMENULOGOFF)=%d\r\n",SHRestricted(REST_FORCESTARTMENULOGOFF)); - - { - CRegKey regKey; - const wchar_t *key=L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; - if (regKey.Open(HKEY_LOCAL_MACHINE,key,KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - fwprintf(f,L"\r\n\tHKLM\\%s:\r\n",key); - WriteRegKey(f,regKey,2); - fwprintf(f,L"\r\n"); - } - } - - { - CRegKey regKey; - const wchar_t *key=L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; - if (regKey.Open(HKEY_CURRENT_USER,key,KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - fwprintf(f,L"\r\n\tHKCU\\%s:\r\n",key); - WriteRegKey(f,regKey,2); - fwprintf(f,L"\r\n"); - } - } - - { - CComString pPath; - if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_Startup,0,NULL,&pPath))) - { - fwprintf(f,L"\r\n\t%s:\r\n",(const wchar_t*)pPath); - WriteFolder(f,pPath,2,false); - fwprintf(f,L"\r\n"); - } - } - - { - CComString pPath; - if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_CommonStartup,0,NULL,&pPath))) - { - fwprintf(f,L"\r\n\t%s:\r\n",(const wchar_t*)pPath); - WriteFolder(f,pPath,2,false); - fwprintf(f,L"\r\n"); - } - } - - { - CComPtr pSearchManager; - pSearchManager.CoCreateInstance(CLSID_CSearchManager2); - if (pSearchManager) - { - CComPtr pCatalogManager; - pSearchManager->GetCatalog(L"SystemIndex",&pCatalogManager); - if (pCatalogManager) - { - CComPtr pSearchCrawlScopeManager; - pCatalogManager->GetCrawlScopeManager(&pSearchCrawlScopeManager); - if (pSearchCrawlScopeManager) - { - CComPtr pSearchRoots; - pSearchCrawlScopeManager->EnumerateRoots(&pSearchRoots); - if (pSearchRoots) - { - fwprintf(f,L"\r\nSearch Roots:\r\n"); - CComPtr pSearchRoot; - while (pSearchRoots->Next(1,&pSearchRoot,NULL)==S_OK) - { - PWSTR pszUrl=NULL; - if (SUCCEEDED(pSearchRoot->get_RootURL(&pszUrl))) - { - fwprintf(f,L"\t%s\r\n",pszUrl); - CoTaskMemFree(pszUrl); - } - pSearchRoot=NULL; - } - fwprintf(f,L"\r\n"); - } - - CComPtr pSearchRules; - pSearchCrawlScopeManager->EnumerateScopeRules(&pSearchRules); - if (pSearchRoots) - { - fwprintf(f,L"Search Rules:\r\n"); - CComPtr pSearchRule; - while (pSearchRules->Next(1,&pSearchRule,NULL)==S_OK) - { - BOOL fIncluded=FALSE; - pSearchRule->get_IsIncluded(&fIncluded); - PWSTR pszUrl=NULL; - if (SUCCEEDED(pSearchRule->get_PatternOrURL(&pszUrl))) - { - fwprintf(f,L"\t%s: %s\r\n",fIncluded?L"Include":L"Exclude",pszUrl); - CoTaskMemFree(pszUrl); - } - pSearchRule=NULL; - } - fwprintf(f,L"\r\n"); - } - } - } - } - } - - // programs - fwprintf(f,L"\r\n\tInstalled Programs:\r\n"); - std::set programs; - - CComPtr pPrograms; - SHGetKnownFolderItem(FOLDERID_ChangeRemovePrograms,KF_FLAG_DEFAULT,NULL,IID_IShellItem,(void**)&pPrograms); - if (pPrograms) - { - CComPtr pEnum; - pPrograms->BindToHandler(NULL,BHID_EnumItems,IID_IEnumShellItems,(void**)&pEnum); - CComPtr pProgram; - while (pEnum && (pProgram=NULL,pEnum->Next(1,&pProgram,NULL))==S_OK) - { - CComString pName; - pProgram->GetDisplayName(SIGDN_NORMALDISPLAY,&pName); - CString name(pName); - CComQIPtr pProgram2(pProgram); - if (pProgram2) - { - CComString pVersion; - if (SUCCEEDED(pProgram2->GetString(PKEY_ProductVersion,&pVersion))) - name+=L" ("+CString(pVersion)+L")"; - } - programs.insert(name); - } - } - - for (std::set::const_iterator it=programs.begin();it!=programs.end();++it) - fwprintf(f,L"\t\t%s\r\n",(const wchar_t*)(*it)); - - fwprintf(f,L"\r\nOpen-Shell\r\n"); - wchar_t csPath[_MAX_PATH]=L""; - // classic shell version - { - CRegKey regKey; - DWORD err=regKey.Open(HKEY_LOCAL_MACHINE,L"Software\\OpenShell\\OpenShell",KEY_READ|KEY_WOW64_64KEY); - if (err!=ERROR_SUCCESS) - { - fwprintf(f,L"\tFailed to read HKLM\\Software\\OpenShell\\OpenShell - 0x%08X\r\n",err); - } - else - { - wchar_t language[100]=L""; - ULONG size=_countof(language); - if (regKey.QueryStringValue(L"DefaultLanguage",language,&size)==ERROR_SUCCESS) - fwprintf(f,L"\tDefault language: '%s'\r\n",language); - - size=_countof(csPath); - if (regKey.QueryStringValue(L"Path",csPath,&size)==ERROR_SUCCESS) - { - fwprintf(f,L"\tOpen-Shell path: '%s'\r\n",csPath); - PathRemoveBackslash(csPath); - } - - DWORD val; - if (regKey.QueryDWORDValue(L"Version",val)==ERROR_SUCCESS) - fwprintf(f,L"\tOpen-Shell version: %d.%d.%d\r\n",val>>24,(val>>16)&0xFF,val&0xFFFF); - - if (regKey.QueryDWORDValue(L"WinVersion",val)==ERROR_SUCCESS) - fwprintf(f,L"\tWin version during installation: %d.%02d.%d\r\n",val>>24,(val>>16)&0xFF,val&0xFFFF); - } - } - - // language files - fwprintf(f,L"\t%s:\r\n",csPath); - if (csPath[0]) - WriteFolder(f,csPath,2,true); - - { - wchar_t path[_MAX_PATH]; - Strcpy(path,_countof(path),L"%ALLUSERSPROFILE%\\OpenShell"); - DoEnvironmentSubst(path,_countof(path)); - fwprintf(f,L"\t%s:\r\n",path); - WriteFolder(f,path,2,true); - } - - // installed components and settings - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s\\ClassicExplorer32.dll",csPath); - bool bClassicExplorer=GetFileAttributes(fname)!=INVALID_FILE_ATTRIBUTES; - Sprintf(fname,_countof(fname),L"%s\\StartMenu.exe",csPath); - bool bClassicMenu=GetFileAttributes(fname)!=INVALID_FILE_ATTRIBUTES; - Sprintf(fname,_countof(fname),L"%s\\ClassicIE_32.exe",csPath); - bool bClassicIE=GetFileAttributes(fname)!=INVALID_FILE_ATTRIBUTES; - Sprintf(fname,_countof(fname),L"%s\\Update.exe",csPath); - bool bClassicUpdate=GetFileAttributes(fname)!=INVALID_FILE_ATTRIBUTES; - - fwprintf(f,L"\r\nInstalled components:\r\n"); - if (bClassicExplorer) - { - fwprintf(f,L" Classic Explorer\r\n"); - WriteSettings(f,COMPONENT_EXPLORER); - } - if (bClassicMenu) - { - fwprintf(f,L" Open-Shell Menu\r\n"); - WriteSettings(f,COMPONENT_MENU); - } - if (bClassicIE) - { - fwprintf(f,L" Classic IE\r\n"); - WriteSettings(f,COMPONENT_IE); - } - if (bClassicUpdate) - { - fwprintf(f,L" Open-Shell Update\r\n\r\n"); - } - fwprintf(f,L" Shared Settings\r\n"); - WriteSettings(f,COMPONENT_SHARED); - - - // check for disabled addons - if (bClassicExplorer || bClassicIE) - { - fwprintf(f,L"Explorer addons:\r\n"); - CString text; - if (ReadRegistryValue(HKEY_CURRENT_USER,L"Software\\Microsoft\\Internet Explorer\\Main",L"Enable Browser Extensions",text)==ERROR_SUCCESS) - fwprintf(f,L"\tEnable Browser Extensions (user): %s\r\n",(const wchar_t*)text); - if (ReadRegistryValue(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Internet Explorer\\Main",L"Enable Browser Extensions",text)==ERROR_SUCCESS) - fwprintf(f,L"\tEnable Browser Extensions: %s\r\n",(const wchar_t*)text); - if (ReadRegistryValue(HKEY_CURRENT_USER,L"Software\\Microsoft\\Internet Explorer\\Main",L"Isolation",text)==ERROR_SUCCESS) - fwprintf(f,L"\tIsolation (user): %s\r\n",(const wchar_t*)text); - if (ReadRegistryValue(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Internet Explorer\\Main",L"Isolation",text)==ERROR_SUCCESS) - fwprintf(f,L"\tIsolation: %s\r\n",(const wchar_t*)text); - } - if (bClassicExplorer) - { - DWORD flags; - if (ReadRegistryValue(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Ext\\Settings\\{553891B7-A0D5-4526-BE18-D3CE461D6310}",L"Flags",flags)==ERROR_SUCCESS) - fwprintf(f,L"\tExplorerBand flags: 0x%08X\r\n",flags); - CString policy; - if (ReadRegistryValue(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Ext\\CLSID",L"{553891B7-A0D5-4526-BE18-D3CE461D6310}",policy)==ERROR_SUCCESS) - fwprintf(f,L"\tExplorerBand policy: %s\r\n",(const wchar_t*)policy); - if (ReadRegistryValue(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Ext\\Settings\\{449D0D6E-2412-4E61-B68F-1CB625CD9E52}",L"Flags",flags)==ERROR_SUCCESS) - fwprintf(f,L"\tExplorerBHO flags: 0x%08X\r\n",flags); - if (ReadRegistryValue(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Ext\\CLSID",L"{449D0D6E-2412-4E61-B68F-1CB625CD9E52}",policy)==ERROR_SUCCESS) - fwprintf(f,L"\tExplorerBHO policy: %s\r\n",(const wchar_t*)policy); - } - if (bClassicIE) - { - DWORD flags; - CString policy; - if (ReadRegistryValue(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Ext\\Settings\\{EA801577-E6AD-4BD5-8F71-4BE0154331A4}",L"Flags",flags)==ERROR_SUCCESS) - fwprintf(f,L"\tClassicIE flags: 0x%08X\r\n",flags); - if (ReadRegistryValue(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Ext\\CLSID",L"{EA801577-E6AD-4BD5-8F71-4BE0154331A4}",policy)==ERROR_SUCCESS) - fwprintf(f,L"\tClassicIE policy: %s\r\n",(const wchar_t*)policy); - } - if (bClassicExplorer || bClassicIE) - fwprintf(f,L"\r\n"); - - if (bClassicMenu) - { - if (HIWORD(winVer)>=WIN_VER_WIN8) - { - CString guid; - LONG res=ReadRegistryValue(HKEY_CLASSES_ROOT,L"CLSID\\{ECD4FC4D-521C-11D0-B792-00A0C90312E1}\\TreatAs",NULL,guid); - if (res!=ERROR_SUCCESS) - fwprintf(f,L"TreatAs: 0x%08X\r\n",res); - else - { - if (guid.IsEmpty()) - guid=L"(empty)"; - fwprintf(f,L"TreatAs: %s%s\r\n",(const wchar_t*)guid,_wcsicmp(guid,L"{D3214FBB-3CA1-406a-B3E8-3EB7C393A15E}")==0?L" (correct)":L" (wrong)"); - } - - CString emulation; - res=ReadRegistryValue(HKEY_CLASSES_ROOT,L"CLSID\\{D3214FBB-3CA1-406A-B3E8-3EB7C393A15E}",NULL,emulation); - if (res!=ERROR_SUCCESS) - fwprintf(f,L"Emulation: 0x%08X\r\n",res); - else - { - if (emulation.IsEmpty()) - emulation=L"(empty)"; - fwprintf(f,L"Emulation: %s%s\r\n",(const wchar_t*)emulation,_wcsicmp(emulation,L"StartMenuEmulation")==0?L" (correct)":L" (wrong)"); - } - - CString server; - res=ReadRegistryValue(HKEY_CLASSES_ROOT,L"CLSID\\{D3214FBB-3CA1-406A-B3E8-3EB7C393A15E}\\InprocServer32",NULL,server); - if (res!=ERROR_SUCCESS) - fwprintf(f,L"Server: 0x%08X\r\n",res); - else - { - const wchar_t *state=L" (wrong)"; - if (server.IsEmpty()) - server=L"(empty)"; - else if (GetFileAttributes(server)==INVALID_FILE_ATTRIBUTES) - state=L" (missing file)"; - else - state=L" (correct)"; - fwprintf(f,L"Server: %s%s\r\n",(const wchar_t*)server,state); - } - } - } -} - -static void WriteLogFileAdmin( FILE *f ) -{ - fwprintf(f,L"\r\nServices:\r\n"); - { - CRegKey regKey; - if (regKey.Open(HKEY_LOCAL_MACHINE,L"SYSTEM\\ControlSet001\\Control\\ServiceGroupOrder",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - WriteRegKey(f,regKey,1); - SC_HANDLE hManager=OpenSCManager(NULL,NULL,SC_MANAGER_ENUMERATE_SERVICE); - - if (hManager) - { - const wchar_t *status[]={ - L"", - L"stopped", - L"start pending", - L"stop pending", - L"running", - L"continue pending", - L"pause pending", - L"paused", - }; - std::vector buf(256*1024); - DWORD size=0, count=0, resume=0; - std::map services; - if (EnumServicesStatusEx(hManager,SC_ENUM_PROCESS_INFO,SERVICE_DRIVER|SERVICE_WIN32,SERVICE_STATE_ALL,&buf[0],(int)buf.size(),&size,&count,&resume,NULL)) - { - const ENUM_SERVICE_STATUS_PROCESS *pService=(ENUM_SERVICE_STATUS_PROCESS*)&buf[0]; - for (DWORD i=0;iServiceStatusProcess.dwCurrentState; - if (idx>=_countof(status)) idx=0; - GroupInfo &info=services[pService->lpServiceName]; - info.desc=pService->lpDisplayName; - info.status=status[idx]; - CString name; - name.Format(L"SYSTEM\\ControlSet001\\services\\%s",pService->lpServiceName); - ReadRegistryValue(HKEY_LOCAL_MACHINE,name,L"Group",info.group); - } - } - CloseServiceHandle(hManager); - for (std::map::const_iterator it=services.begin();it!=services.end();++it) - if (it->second.group.IsEmpty()) - fwprintf(f,L"\t%s (%s): %s\r\n",(const wchar_t*)it->first,(const wchar_t*)it->second.desc,it->second.status); - else - fwprintf(f,L"\t%s (%s): %s (%s)\r\n",(const wchar_t*)it->first,(const wchar_t*)it->second.desc,it->second.status,(const wchar_t*)it->second.group); - } - } - - HANDLE hToken; - if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)) - { - TOKEN_PRIVILEGES tp={1}; - if (LookupPrivilegeValue(NULL,L"SeDebugPrivilege",&tp.Privileges[0].Luid)) - tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; - AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL); - CloseHandle(hToken); - } - - // processes - fwprintf(f,L"\r\nProcesses:\r\n"); - std::vector explorers; - std::vector menus; - { - DWORD processes[1024]; - DWORD cbNeeded; - if (EnumProcesses(processes,sizeof(processes),&cbNeeded)) - { - int count=cbNeeded/sizeof(DWORD); - std::sort(processes,processes+count); - for (int i=0;iLabel.Sid,(DWORD)(UCHAR)(*GetSidSubAuthorityCount(pTIL->Label.Sid)-1)); - if (dwIntegrityLevel>=SECURITY_MANDATORY_SYSTEM_RID) - level=L"System"; - else if (dwIntegrityLevel>=SECURITY_MANDATORY_HIGH_RID) - level=L"High"; - else if (dwIntegrityLevel>=SECURITY_MANDATORY_MEDIUM_RID) - level=L"Medium"; - else - level=L"Low"; - } - free(pTIL); - } - } - CloseHandle(hToken); - } - fwprintf(f,L" (%s integrity level)\r\n",level); - CloseHandle(hProcess); - } - } - } - } - - HWND progWin=FindWindowEx(NULL,NULL,L"Progman",NULL); - DWORD desktopId=0; - if (progWin) - GetWindowThreadProcessId(progWin,&desktopId); - - // interesting processes - for (std::vector::const_iterator it=explorers.begin();it!=explorers.end();++it) - { - fwprintf(f,L"\r\nExplorer process: %d%s\r\n",*it,(*it==desktopId)?L" (desktop)":L""); - HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,*it); - if (hProcess) - { - WriteProcessInfo(f,hProcess,1); - CloseHandle(hProcess); - } - else - fwprintf(f,L"\tFailed to get modules\r\n"); - } - for (std::vector::const_iterator it=menus.begin();it!=menus.end();++it) - { - fwprintf(f,L"\r\nStartMenu process: %d\r\n",*it); - HANDLE hProcess=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,*it); - if (hProcess) - { - WriteProcessInfo(f,hProcess,1); - CloseHandle(hProcess); - } - else - fwprintf(f,L"\tFailed to get modules\r\n"); - } -} - -int SaveLogFile( const wchar_t *fname, bool bAdmin ) -{ - FILE *f=NULL; - if (_wfopen_s(&f,fname,bAdmin?L"ab":L"wb")!=0 || !f) - return 1; - - fseek(f,0,SEEK_END); - if (ftell(f)==0) - fwrite(L"\xFEFF",2,1,f); - CoInitialize(NULL); - if (bAdmin) - WriteLogFileAdmin(f); - else - WriteLogFile(f); - fclose(f); - - if (!bAdmin) - { - wchar_t exe[_MAX_PATH]; - GetModuleFileName(NULL,exe,_countof(exe)); - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"saveloga \"%s\"",fname); - if ((intptr_t)ShellExecute(NULL,L"runas",exe,cmdLine,NULL,SW_SHOWNORMAL)<=32) - { - f=NULL; - if (_wfopen_s(&f,fname,L"ab")==0 && f) - { - WriteLogFileAdmin(f); - fclose(f); - } - } - } - - CoUninitialize(); - return 0; -} - -bool ExtractUtility64( const wchar_t *fname, wchar_t *exe ) -{ - FILE *f=NULL; - if (_wfopen_s(&f,fname,L"wb")!=0 || !f) - return false; - - fwprintf(f,L"\xFEFF"); - - - HRSRC hResInfo=FindResource(g_hInstance,MAKEINTRESOURCE(1),L"FILE"); - if (!hResInfo) - { - fwprintf(f,L"Error extracting Utility64.exe\r\n"); - fclose(f); - return false; - } - HGLOBAL hRes=LoadResource(g_hInstance,hResInfo); - void *ptr=LockResource(hRes); - DWORD size=SizeofResource(g_hInstance,hResInfo); - bool res=false; - Strcpy(exe,_MAX_PATH,L"%TEMP%\\Utility64.exe"); - DoEnvironmentSubst(exe,_MAX_PATH); - HANDLE h=CreateFile(exe,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); - if (h) - { - DWORD q; - res=(WriteFile(h,ptr,size,&q,NULL) && q==size); - CloseHandle(h); - } - if (!res) - fwprintf(f,L"Error saving %s\r\n",exe); - fclose(f); - return res; -} - -static void ShowSaveLogFileInternal( void ) -{ - // save log file - wchar_t fname[_MAX_PATH]; - fname[0]=0; - OPENFILENAME ofn={sizeof(ofn)}; - ofn.lpstrFilter=L"Text files (*.txt)\0*.txt\0"; - ofn.nFilterIndex=1; - ofn.lpstrFile=fname; - ofn.nMaxFile=_MAX_PATH; - ofn.lpstrTitle=L"Save log file"; - ofn.lpstrDefExt=L".txt"; - ofn.Flags=OFN_ENABLESIZING|OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY|OFN_NOCHANGEDIR; - if (GetSaveFileName(&ofn)) - { - wchar_t exe[_MAX_PATH]; - BOOL bWow64=FALSE; - IsWow64Process(GetCurrentProcess(),&bWow64); - if (bWow64) - { - if (!ExtractUtility64(fname,exe)) - return; - } - else - GetModuleFileName(NULL,exe,_countof(exe)); - - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"%s savelog \"%s\"",PathFindFileName(exe),fname); - if (CreateProcess(exe,cmdLine,NULL,NULL,FALSE,0,NULL,NULL,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - WaitForSingleObject(processInfo.hProcess,INFINITE); - CloseHandle(processInfo.hProcess); - } - } -} - -void ShowSaveLogFile( void ) -{ - CoInitialize(NULL); - ShowSaveLogFileInternal(); - CoUninitialize(); -} diff --git a/Src/Setup/Utility/SaveLogFile.h b/Src/Setup/Utility/SaveLogFile.h deleted file mode 100644 index d9452c5..0000000 --- a/Src/Setup/Utility/SaveLogFile.h +++ /dev/null @@ -1,9 +0,0 @@ -// 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 - -void ShowSaveLogFile( void ); -int SaveLogFile( const wchar_t *fname, bool bAdmin ); -DWORD GetFileVersion( const wchar_t *fname, DWORD *pBuild ); diff --git a/Src/Setup/Utility/Utility.cpp b/Src/Setup/Utility/Utility.cpp deleted file mode 100644 index de9b7a6..0000000 --- a/Src/Setup/Utility/Utility.cpp +++ /dev/null @@ -1,1204 +0,0 @@ -// 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 - -#define STRICT_TYPED_ITEMIDS -#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit -#include -#include -#include -#include -#include -#include "StringUtils.h" -#include "FNVHash.h" -#include "SettingsParser.h" -#include "resource.h" -#include "..\UpdateBin\resource.h" -#include "ResourceHelper.h" -#include -#include "SaveLogFile.h" - -// Manifest to enable the 6.0 common controls -#pragma comment(linker, \ - "\"/manifestdependency:type='Win32' "\ - "name='Microsoft.Windows.Common-Controls' "\ - "version='6.0.0.0' "\ - "processorArchitecture='*' "\ - "publicKeyToken='6595b64144ccf1df' "\ - "language='*'\"") - -HINSTANCE g_hInstance; - -void EditLoggingOptions( void ); -void ManualUninstall( void ); -void ShowMetroColorViewer( void ); - -#ifndef _WIN64 -/////////////////////////////////////////////////////////////////////////////// - -static void LoadFile( const wchar_t *fname, std::vector &buf ) -{ - buf.clear(); - FILE *f=NULL; - if (_wfopen_s(&f,fname,L"rb") || !f) return; - fseek(f,0,SEEK_END); - int size=ftell(f); - fseek(f,0,SEEK_SET); - buf.resize(size); - if (size==0 || fread(&buf[0],1,size,f)!=size) - buf.clear(); - fclose(f); -} - -static unsigned int CalcFileFNV( const wchar_t *fname ) -{ - std::vector buf; - LoadFile(fname,buf); - if (buf.empty()) return 0; - return CalcFNVHash(&buf[0],(int)buf.size(),FNV_HASH0); -} - -static void Printf( const char *format, ... ) -{ - char buf[1024]; - va_list args; - va_start(args,format); - int len=Vsprintf(buf,_countof(buf),format,args); - va_end(args); - DWORD q; - WriteFile(GetStdHandle(STD_OUTPUT_HANDLE),buf,len,&q,NULL); -#if _DEBUG - OutputDebugStringA(buf); -#endif -} - -/////////////////////////////////////////////////////////////////////////////// - -struct Chunk -{ - int start1, start2, len; -}; - -int CalcMsiChecksum( wchar_t *const *params, int count ) -{ - if (count<2) return 2; - - AttachConsole(ATTACH_PARENT_PROCESS); - - // load files - wchar_t path1[_MAX_PATH]; - std::vector buf1, buf2; - Sprintf(path1,_countof(path1),L"%s\\Setup32.msi",params[1]); - LoadFile(path1,buf1); - if (buf1.empty()) - { - Printf("Failed to open file %s\n",path1); - return 1; - } - wchar_t path2[_MAX_PATH]; - Sprintf(path2,_countof(path2),L"%s\\Setup64.msi",params[1]); - LoadFile(path2,buf2); - if (buf2.empty()) - { - Printf("Failed to open file %s\n",path2); - return 1; - } - - int len1=(int)buf1.size(); - int len2=(int)buf2.size(); - - for (std::vector::iterator it=buf1.begin();it!=buf1.end();++it) - *it^=0xFF; - for (std::vector::iterator it=buf2.begin();it!=buf2.end();++it) - *it^=0xFF; - - // detect common blocks (assuming at least 256K in size and in the same order in both files) - const int BLOCK_SIZE=256*1024; - std::vector chunks; - int start2=0; - for (int i=0;i0 && chunk.start2>0 && buf1[chunk.start1-1]==buf2[chunk.start2-1]) - { - chunk.start1--; - chunk.start2--; - chunk.len++; - } - while (chunk.start1+chunk.len::const_iterator it=chunks.begin();it!=chunks.end();++it) - { - if (it->start2-start>0) - fwrite(&buf2[start],1,it->start2-start,f); - start=it->start2+it->len; - } - if (len2-start>0) - fwrite(&buf2[start],1,len2-start,f); - fclose(f); - } - - unsigned int fnvs[2]; - fnvs[0]=CalcFNVHash(&buf1[0],len1,FNV_HASH0); - fnvs[1]=CalcFNVHash(&buf2[0],len2,FNV_HASH0); - - // save fnvs and chunks - { - FILE *f=NULL; - if (_wfopen_s(&f,L"msichecksum.bin",L"wb") || !f) - { - Printf("Failed to write msichecksum.bin\n"); - return 1; - } - fwrite(fnvs,4,_countof(fnvs),f); - int count=(int)chunks.size(); - fwrite(&count,1,4,f); - fwrite(&chunks[0],sizeof(Chunk),count,f); - fclose(f); - } - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -int MakeEnglishDll( wchar_t *const *params, int count ) -{ - if (count<5) return 2; - - AttachConsole(ATTACH_PARENT_PROCESS); - - HMODULE hEn0=LoadLibraryEx(L"en-US.dll",NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hEn0) - { - Printf("Failed to open en-US.dll (err: %d)\n",GetLastError()); - return 1; - } - - std::vector version; - { - HRSRC hResInfo=FindResource(hEn0,MAKEINTRESOURCE(VS_VERSION_INFO),RT_VERSION); - if (hResInfo) - { - HGLOBAL hRes=LoadResource(hEn0,hResInfo); - void *pRes=LockResource(hRes); - if (pRes) - { - DWORD len=SizeofResource(hEn0,hResInfo); - if (len>=40+sizeof(VS_FIXEDFILEINFO)) - { - version.resize(len); - memcpy(&version[0],pRes,len); - } - } - } - } - FreeLibrary(hEn0); - if (version.empty()) - { - Printf("Can't find version resource in en-US.dll\n"); - return 1; - } - - HANDLE hEn=BeginUpdateResource(L"en-US.dll",FALSE); - if (!hEn) - { - Printf("Failed to open en-US.dll (err: %d)\n",GetLastError()); - return 1; - } - - int res=1; - HMODULE hExplorer=NULL, hMenu=NULL, hIE=NULL; - WORD language=MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US); - - // get version, strings and dialog from ClassicExplorer32.dll - hExplorer=LoadLibraryEx(params[1],NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hExplorer) - { - Printf("Failed to open %S (err: %d)\n",params[1],GetLastError()); - goto qqq; - } - - // copy version - { - HRSRC hResInfo=FindResource(hExplorer,MAKEINTRESOURCE(VS_VERSION_INFO),RT_VERSION); - void *pRes=NULL; - if (hResInfo) - { - HGLOBAL hRes=LoadResource(hExplorer,hResInfo); - pRes=LockResource(hRes); - } - if (!pRes) - { - Printf("Can't find version resource in %S\n",params[1]); - goto qqq; - } - VS_FIXEDFILEINFO *pVer=(VS_FIXEDFILEINFO*)((char*)pRes+40); - VS_FIXEDFILEINFO *pVer0=(VS_FIXEDFILEINFO*)(&version[40]); - pVer0->dwProductVersionMS=pVer->dwProductVersionMS; - pVer0->dwProductVersionLS=pVer->dwProductVersionLS; - pVer0->dwFileVersionMS=pVer->dwFileVersionMS; - pVer0->dwFileVersionLS=pVer->dwFileVersionLS; - UpdateResource(hEn,RT_VERSION,MAKEINTRESOURCE(VS_VERSION_INFO),language,&version[0],version.size()); - } - - // copy strings - for (int i=2000;i<3000;i+=16) - { - int id=i/16; - HRSRC hResInfo=FindResource(hExplorer,MAKEINTRESOURCE(id),RT_STRING); - if (!hResInfo) continue; - HGLOBAL hRes=LoadResource(hExplorer,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) continue; - UpdateResource(hEn,RT_STRING,MAKEINTRESOURCE(id),language,pRes,SizeofResource(hExplorer,hResInfo)); - } - - // copy dialogs - for (int id=2000;id<2010;id++) - { - HRSRC hResInfo=FindResource(hExplorer,MAKEINTRESOURCE(id),RT_DIALOG); - if (!hResInfo) continue; - HGLOBAL hRes=LoadResource(hExplorer,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) continue; - UpdateResource(hEn,RT_DIALOG,MAKEINTRESOURCE(id),language,pRes,SizeofResource(hExplorer,hResInfo)); - } - - // get strings and dialog from StartMenuDLL.dll - hMenu=LoadLibraryEx(params[2],NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hMenu) - { - Printf("Failed to open %S (err: %d)\n",params[2],GetLastError()); - goto qqq; - } - - // copy strings - for (int i=3000;i<5000;i+=16) - { - int id=i/16; - HRSRC hResInfo=FindResource(hMenu,MAKEINTRESOURCE(id),RT_STRING); - if (!hResInfo) continue; - HGLOBAL hRes=LoadResource(hMenu,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) continue; - UpdateResource(hEn,RT_STRING,MAKEINTRESOURCE(id),language,pRes,SizeofResource(hMenu,hResInfo)); - } - for (int i=7000;i<8000;i+=16) - { - int id=i/16; - HRSRC hResInfo=FindResource(hMenu,MAKEINTRESOURCE(id),RT_STRING); - if (!hResInfo) continue; - HGLOBAL hRes=LoadResource(hMenu,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) continue; - UpdateResource(hEn,RT_STRING,MAKEINTRESOURCE(id),language,pRes,SizeofResource(hMenu,hResInfo)); - } - - // copy dialogs - for (int id=3000;id<4010;id++) - { - HRSRC hResInfo=FindResource(hMenu,MAKEINTRESOURCE(id),RT_DIALOG); - if (!hResInfo) continue; - HGLOBAL hRes=LoadResource(hMenu,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) continue; - UpdateResource(hEn,RT_DIALOG,MAKEINTRESOURCE(id),language,pRes,SizeofResource(hMenu,hResInfo)); - } - - // get strings from ClassicIEDLL.dll - hIE=LoadLibraryEx(params[3],NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hIE) - { - Printf("Failed to open %S (err: %d)\n",params[3],GetLastError()); - goto qqq; - } - - // copy strings - for (int i=5000;i<6000;i+=16) - { - int id=i/16; - HRSRC hResInfo=FindResource(hIE,MAKEINTRESOURCE(id),RT_STRING); - if (!hResInfo) continue; - HGLOBAL hRes=LoadResource(hIE,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) continue; - UpdateResource(hEn,RT_STRING,MAKEINTRESOURCE(id),language,pRes,SizeofResource(hIE,hResInfo)); - } - - // get strings and dialog from Update.exe - hMenu=LoadLibraryEx(params[4],NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hMenu) - { - Printf("Failed to open %S (err: %d)\n",params[4],GetLastError()); - goto qqq; - } - - // copy strings - for (int i=6000;i<7000;i+=16) - { - int id=i/16; - HRSRC hResInfo=FindResource(hMenu,MAKEINTRESOURCE(id),RT_STRING); - if (!hResInfo) continue; - HGLOBAL hRes=LoadResource(hMenu,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) continue; - UpdateResource(hEn,RT_STRING,MAKEINTRESOURCE(id),language,pRes,SizeofResource(hMenu,hResInfo)); - } - - // copy dialogs - for (int id=6000;id<6010;id++) - { - HRSRC hResInfo=FindResource(hMenu,MAKEINTRESOURCE(id),RT_DIALOG); - if (!hResInfo) continue; - HGLOBAL hRes=LoadResource(hMenu,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) continue; - UpdateResource(hEn,RT_DIALOG,MAKEINTRESOURCE(id),language,pRes,SizeofResource(hMenu,hResInfo)); - } - - res=0; -qqq: - if (!EndUpdateResource(hEn,res!=0) && res==0) - { - Printf("Failed to update en-US.dll (err: %d)\n",GetLastError()); - res=1; - } - if (hExplorer) FreeLibrary(hExplorer); - if (hMenu) FreeLibrary(hMenu); - if (hIE) FreeLibrary(hIE); - - return res; -} - -/////////////////////////////////////////////////////////////////////////////// - -struct LanguageData -{ - std::map strings; - CString bitmap; -}; - -int GenerateUpdateFile( wchar_t *const *params, int count ) -{ - if (count<3) return 3; - - std::vector buf; - LoadFile(params[1],buf); - if (buf.empty()) return 1; - buf.push_back(0); - buf.push_back(0); - - wchar_t token[256]; - - std::map languages; - const int DEFAULT_LANGUAGE=0x409; - - const wchar_t *str0=(wchar_t*)&buf[0]; - if (*str0==0xFEFF) str0++; - const wchar_t *str; - - // old (current) version - str=wcsstr(str0,L"{OLD_VER}"); - if (!str) return 1; - GetToken(str+9,token,_countof(token),L"\r\n"); - int v1, v2, v3; - swscanf_s(token,L"%d.%d.%d",&v1,&v2,&v3); - - // new version - str=wcsstr(str0,L"{NEW_VER}"); - if (!str) return 1; - GetToken(str+9,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_VERSION]=token; - - // signer - str=wcsstr(str0,L"{SIGNER}"); - if (!str) return 1; - GetToken(str+8,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_INSTALL_SIGNER]=token; - - // update - str=wcsstr(str0,L"{UPDATE}"); - if (!str) return 1; - GetToken(str+8,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_UPDATE_LINK]=token; - - // languages - str=wcsstr(str0,L"{LANGUAGES}"); - if (!str) return 1; - GetToken(str+11,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_LANGUAGE_LINK]=token; - - // language folder - str=wcsstr(str0,L"{LANGFOLDER}"); - if (!str) return 1; - wchar_t langFolder[_MAX_PATH]; - GetToken(str+12,langFolder,_countof(langFolder),L"\r\n"); - - // alt url - str=wcsstr(str0,L"{ALT}"); - if (str) - { - GetToken(str+5,token,_countof(token),L"\r\n"); - languages[DEFAULT_LANGUAGE].strings[IDS_ALT_URL]=token; - } - - // news - str=wcsstr(str0,L"{NEWS}"); - if (!str) return 1; - languages[DEFAULT_LANGUAGE].strings[IDS_NEWS]=str+6; - - // look for {INST: - str=str0; - bool res=true; - while (1) - { - str=wcsstr(str,L"{INST: "); - res=true; - if (!str) break; - res=false; - str+=7; - str=GetToken(str,token,_countof(token),L"}\r\n"); - int language; - if (!GetLocaleInfoEx(token,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&language,4)) - break; - str=GetToken(str,token,_countof(token),L"\r\n"); - languages[language].strings[IDS_INSTALL_URL]=token; - // languages[language].strings[IDS_VERSION]=...; // TODO: allow per-language version of the installer - } - - if (!res) return 1; - - str=str0; - while (1) - { - str=wcsstr(str,L"{LANG: "); - res=true; - if (!str) break; - res=false; - str+=7; - str=GetToken(str,token,_countof(token),L"}\r\n"); - int len=Strlen(token); - bool bBasic=(len>0 && token[len-1]=='*'); - if (bBasic) token[len-1]=0; - int language; - if (!GetLocaleInfoEx(token,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&language,4)) - break; - - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s\\%s.dll",langFolder,token); -/* if (GetFileAttributes(fname)==INVALID_FILE_ATTRIBUTES) - { - fname[0]=0; - wchar_t find[_MAX_PATH]; - Sprintf(find,_countof(find),L"%s\\*.*",langFolder); - WIN32_FIND_DATA data; - HANDLE h=FindFirstFile(find,&data); - while (h!=INVALID_HANDLE_VALUE) - { - if ((data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) && data.cFileName[0]!='.') - { - Sprintf(fname,_countof(fname),L"%s\\%s\\%s.dll",langFolder,data.cFileName,token); - if (GetFileAttributes(fname)!=INVALID_FILE_ATTRIBUTES) - { - FindClose(h); - break; - } - } - if (!FindNextFile(h,&data)) - { - FindClose(h); - break; - } - } - }*/ - if (!fname[0]) break; - - unsigned long hash=0; - wchar_t version[100]; - - hash=CalcFileFNV(fname); - if (!hash) break; - - DWORD dllBuild; - DWORD dllVer=GetFileVersion(fname,&dllBuild); - if (!dllVer) break; - if (dllVer>(DWORD)((v1<<24)|(v2<<16)|v3)) break; - - Sprintf(version,_countof(version),L"%d.%d.%d.%d%s",dllVer>>24,(dllVer>>16)&255,dllVer&65535,dllBuild,bBasic?L"*":L""); - - Sprintf(token,_countof(token),L"%08X",hash); - languages[language].strings[IDS_LNG_CRC]=token; - - languages[language].strings[IDS_LNG_VERSION]=version; - str=GetToken(str,token,_countof(token),L"\r\n"); - languages[language].strings[IDS_LNG_URL]=token; - } - - if (!res) return 1; - - // look for {FLAG: - str=str0; - while (1) - { - str=wcsstr(str,L"{FLAG: "); - res=true; - if (!str) break; - res=false; - str+=7; - str=GetToken(str,token,_countof(token),L"}\r\n"); - int language; - if (!GetLocaleInfoEx(token,LOCALE_ILANGUAGE|LOCALE_RETURN_NUMBER,(LPWSTR)&language,4)) - break; - str=GetToken(str,token,_countof(token),L"\r\n"); - languages[language].bitmap=token; - } - - if (!res) return 1; - - FILE *f=NULL; - if (_wfopen_s(&f,params[2],L"wb") || !f) - { - return 1; - } - fwprintf(f,L"\xFEFF"); - for (std::map::const_iterator it=languages.begin();it!=languages.end();++it) - { - fwprintf(f,L"/////////////////////////////////////////////////////////////////////////////\r\n"); - GetLocaleInfo(it->first,LOCALE_SLANGUAGE,token,_countof(token)); - fwprintf(f,L"// %s\r\n\r\n",token); - fwprintf(f,L"LANGUAGE 0x%02X, 0x%X\r\n",it->first&0x3FF,it->first>>10); - fwprintf(f,L"\r\nSTRINGTABLE\r\nBEGIN\r\n"); - for (std::map::const_iterator it2=it->second.strings.begin();it2!=it->second.strings.end();++it2) - { - CString str=it2->second; - str.Replace(L"\r\n",L"\\r\\n"); - str.Replace(L"\"",L"\"\""); - fwprintf(f,L"%4d \"%s\"\r\n",it2->first,(const wchar_t*)str); - } - fwprintf(f,L"END\r\n\r\n"); - - if (it->first==DEFAULT_LANGUAGE) - { - fwprintf(f,L"1 VERSIONINFO\r\n"); - fwprintf(f,L" FILEVERSION %d,%d,%d,0\r\n",v1,v2,v3); - fwprintf(f,L" PRODUCTVERSION %d,%d,%d,0\r\n",v1,v2,v3); - fwprintf(f,L" FILEFLAGSMASK 0x17L\r\n"); - fwprintf(f,L" FILEFLAGS 0x0L\r\n"); - fwprintf(f,L" FILEOS 0x4L\r\n"); - fwprintf(f,L" FILETYPE 0x1L\r\n"); - fwprintf(f,L" FILESUBTYPE 0x0L\r\n"); - fwprintf(f,L"BEGIN\r\n"); - fwprintf(f,L"\tBLOCK \"StringFileInfo\"\r\n"); - fwprintf(f,L"\tBEGIN\r\n"); - fwprintf(f,L"\t\tBLOCK \"040904b0\"\r\n"); - fwprintf(f,L"\t\tBEGIN\r\n"); - fwprintf(f,L"\t\t\tVALUE \"CompanyName\", \"OpenShell\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"FileDescription\", \"Update information\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"FileVersion\", \"%d, %d, %d, 0\"\r\n",v1,v2,v3); - fwprintf(f,L"\t\t\tVALUE \"InternalName\", \"Update\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"LegalCopyright\", \"Copyright (C) 2017-2018, The Open-Shell Team\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"OriginalFilename\", \"update.ver\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"ProductName\", \"Open-Shell\"\r\n"); - fwprintf(f,L"\t\t\tVALUE \"ProductVersion\", \"%d, %d, %d, 0\"\r\n",v1,v2,v3); - fwprintf(f,L"\t\tEND\r\n"); - fwprintf(f,L"\tEND\r\n"); - fwprintf(f,L"\tBLOCK \"VarFileInfo\"\r\n"); - fwprintf(f,L"\tBEGIN\r\n"); - fwprintf(f,L"\t\tVALUE \"Translation\", 0x409, 1200\r\n"); - fwprintf(f,L"\tEND\r\n"); - fwprintf(f,L"END\r\n\r\n"); - - for (std::map::const_iterator it3=languages.begin();it3!=languages.end();++it3) - { - if (!it3->second.bitmap.IsEmpty()) - fwprintf(f,L"%d BITMAP \"%s\"\r\n",it3->first,(const wchar_t*)it3->second.bitmap); - } - fwprintf(f,L"\r\n"); - } - } - fclose(f); - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -static void UnsescapeString( wchar_t *string ) -{ - wchar_t *dst=string; - int len=Strlen(string); - bool bQuoted=false; - if (string[0]=='"' && string[len-1]=='"') - { - bQuoted=true; - string[len-1]=0; - if (*string) string++; - } - - for (const wchar_t *src=string;*src;src++) - { - if (*src=='\\') - { - src++; - if (!*src) break; - if (*src=='t') - *dst++='\t'; - else if (*src=='r') - *dst++='\r'; - else if (*src=='n') - *dst++='\n'; - else - *dst++=*src; - } - else if (*src=='"' && bQuoted) - { - src++; - if (!*src) break; - *dst++=*src; - } - else - *dst++=*src; - } - *dst=0; -} - -static void WriteString( HANDLE csv, int id, const wchar_t *string1, int len1, const wchar_t *string2, int len2, CSettingsParser &parser, int subid=INT_MAX ) -{ - DWORD q; - wchar_t buf[256]; - int len3; - if (subid!=INT_MAX) - len3=Sprintf(buf,_countof(buf),L"%d/%d",id,subid&65535); - else - len3=Sprintf(buf,_countof(buf),L"%d",id); - - const wchar_t *comment=parser.FindSetting(buf); - if (comment && _wcsicmp(comment,L"ignore")==0) - return; - - WriteFile(csv,buf,len3*2,&q,NULL); - WriteFile(csv,L"\t",2,&q,NULL); - - for (int i=0;iflags&=~SWP_SHOWWINDOW; - } - return FALSE; -} - -static void WriteDialog( HWND parent, HANDLE csv, int id, HINSTANCE hInstance1, const DLGTEMPLATE *pTemplate1, HINSTANCE hInstance2, const DLGTEMPLATE *pTemplate2, CSettingsParser &parser ) -{ - HWND dlg1=CreateDialogIndirect(hInstance1,pTemplate1,parent,DefaultDlgProc); - if (dlg1) - { - HWND dlg2=pTemplate2?CreateDialogIndirect(hInstance2,pTemplate2,parent,DefaultDlgProc):NULL; - - wchar_t text1[1024]; - wchar_t text2[1024]; - GetWindowText(dlg1,text1,_countof(text1)); - if (*text1) - { - if (dlg2) - GetWindowText(dlg2,text2,_countof(text2)); - else - text2[0]=0; - WriteString(csv,id,text1,Strlen(text1),text2,Strlen(text2),parser,0); - } - for (HWND child1=GetWindow(dlg1,GW_CHILD);child1;child1=GetWindow(child1,GW_HWNDNEXT)) - { - GetWindowText(child1,text1,_countof(text1)); - if (*text1) - { - int childId=(int)GetWindowLong(child1,GWL_ID); - HWND child2=dlg2?GetDlgItem(dlg2,childId):NULL; - if (child2) - GetWindowText(child2,text2,_countof(text2)); - else - text2[0]=0; - WriteString(csv,id,text1,Strlen(text1),text2,Strlen(text2),parser,childId); - } - } - DestroyWindow(dlg1); - if (dlg2) - DestroyWindow(dlg2); - } -} - -int ExtractStrings( wchar_t *const *params, int count ) -{ - if (count<3) return 3; - - const wchar_t *dllName1=params[1]; - const wchar_t *dllName2=NULL; - const wchar_t *csvName=params[2]; - if (count>3) - { - dllName2=csvName; - csvName=params[3]; - } - - - HMODULE hDLL1=LoadLibraryEx(dllName1,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hDLL1) - { - Printf("Failed to open %S (err: %d)\n",dllName1,GetLastError()); - return 1; - } - - HMODULE hDLL2=NULL; - if (dllName2) - { - hDLL2=LoadLibraryEx(dllName2,NULL,LOAD_LIBRARY_AS_DATAFILE|LOAD_LIBRARY_AS_IMAGE_RESOURCE); - if (!hDLL2) - { - Printf("Failed to open %S (err: %d)\n",dllName2,GetLastError()); - return 1; - } - } - - int res=1; - CSettingsParser parser; - parser.LoadText(L"LocComments.txt"); - parser.ParseText(); - - HANDLE hCSV=CreateFile(csvName,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); - if (hCSV==INVALID_HANDLE_VALUE) - { - Printf("Failed to write %S\n",csvName); - FreeLibrary(hDLL1); - if (hDLL2) FreeLibrary(hDLL2); - return 1; - } - - wchar_t title[]=L"\xFEFFID\tEnglish\tTranslation\tComment\r\n"; - DWORD q; - WriteFile(hCSV,title,Strlen(title)*2,&q,NULL); - - // copy strings - for (int i=2000;i<8000;i+=16) - { - int id=i/16; - HRSRC hResInfo=FindResource(hDLL1,MAKEINTRESOURCE(id),RT_STRING); - if (!hResInfo) continue; - HGLOBAL hRes=LoadResource(hDLL1,hResInfo); - void *pRes=LockResource(hRes); - if (!pRes) continue; - const WORD *data=(WORD*)pRes; - for (int j=0;j<16;j++) - { - int len=*data; - if (len>0) - { - int stringId=(id-1)*16+j; - wchar_t buf[1024]; - if (!hDLL2 || !LoadString(hDLL2,stringId,buf,_countof(buf))) - buf[0]=0; - WriteString(hCSV,stringId,(const wchar_t*)data+1,len,buf,Strlen(buf),parser); - } - data+=len+1; - } - } - - HWND parent=CreateWindow(L"button",NULL,WS_POPUP,0,0,10,10,NULL,NULL,NULL,NULL); - - // copy dialogs - for (int id=2000;id<7000;id++) - { - if (id>=2010 && id<3000) continue; - if (id>=3010 && id<4000) continue; - if (id>=4010 && id<5000) continue; - if (id>=5010 && id<6000) continue; - if (id>=6010 && id<7000) continue; - HRSRC hResInfo1=FindResource(hDLL1,MAKEINTRESOURCE(id),RT_DIALOG); - if (!hResInfo1) continue; - void *pRes1=LockResource(LoadResource(hDLL1,hResInfo1)); - if (!pRes1) continue; - - void *pRes2=NULL; - if (hDLL2) - { - HRSRC hResInfo2=FindResource(hDLL2,MAKEINTRESOURCE(id),RT_DIALOG); - if (hResInfo2) - pRes2=LockResource(LoadResource(hDLL2,hResInfo2)); - } - - WriteDialog(parent,hCSV,id,hDLL1,(DLGTEMPLATE*)pRes1,hDLL2,(DLGTEMPLATE*)pRes2,parser); - } - - // additional strings - { - HRSRC hResInfo=FindResource(hDLL1,MAKEINTRESOURCE(1),L"L10N"); - if (hResInfo) - { - HGLOBAL hRes=LoadResource(hDLL1,hResInfo); - const wchar_t *pRes=(wchar_t*)LockResource(hRes); - if (pRes) - { - int size=SizeofResource(hDLL1,hResInfo)/2; - if (*pRes==L'\xFEFF') - pRes++, size--; - wchar_t *pBuf=new wchar_t[size+1]; - memcpy(pBuf,pRes,size*2); - pBuf[size]=0; - for (int i=0;i> &oldStrings=*(std::vector>*)lParam; - oldStrings.push_back(std::pair(PtrToInt(lpszName),wIDLanguage)); - } - return TRUE; -} - -static BOOL CALLBACK EnumResNameProc( HMODULE hModule, LPCTSTR lpszType, LPTSTR lpszName, LONG_PTR lParam ) -{ - EnumResourceLanguages(hModule,lpszType,lpszName,EnumResLangProc,lParam); - return TRUE; -} - -static int ImportStrings( wchar_t *const *params, int count ) -{ - if (count<3) return 3; - const wchar_t *dllName=params[1]; - const wchar_t *csvName=params[2]; - - HANDLE hCSV=CreateFile(csvName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); - if (hCSV==INVALID_HANDLE_VALUE) - { - Printf("Failed to read %S\n",csvName); - return 1; - } - - int size=SetFilePointer(hCSV,0,NULL,FILE_END)/2; - SetFilePointer(hCSV,0,NULL,FILE_BEGIN); - std::vector buf(size+1); - DWORD q; - ReadFile(hCSV,&buf[0],size*2,&q,NULL); - CloseHandle(hCSV); - buf[size]=0; - for (int i=0;i lines; - wchar_t *str=&buf[0]; - int min=100000, max=0; - while (str<&buf[size]) - { - int len=Strlen(str); - wchar_t *next=str+len+1; - wchar_t *tab=wcschr(str,'\t'); - if (tab) - { - *tab=0; - int id=_wtol(str); - bool bNumber=id>0; - for (;*str;str++) - if (*str<'0' || *str>'9') - { - bNumber=false; - break; - } - if (bNumber) - { - tab=wcschr(tab+1,'\t'); - if (tab) - { - str=tab+1; - tab=wcschr(str,'\t'); - if (tab) *tab=0; - if (lines.find(id)!=lines.end()) - { - Printf("Duplicate string ID %d\n",id); - return 1; - } - UnsescapeString(str); - lines[id]=str; - if (min>id) min=id; - if (max> oldStrings; - EnumResourceNames(hDll,RT_STRING,EnumResNameProc,(LONG_PTR)&oldStrings); - FreeLibrary(hDll); - - HANDLE hUpdate=BeginUpdateResource(dllName,FALSE); - if (!hUpdate) - { - Printf("Failed to open %S (err: %d)\n",dllName,GetLastError()); - return 1; - } - - // delete all string resources - for (int i=0;i<(int)oldStrings.size();i++) - { - UpdateResource(hUpdate,RT_STRING,MAKEINTRESOURCE(oldStrings[i].first),oldStrings[i].second,NULL,0); - } - - // add new string lines - max+=32; - for (int i=min;i res; - for (int j=0;j<16;j++,idx++) - { - std::map::const_iterator it=lines.find(idx); - const wchar_t *str=L""; - if (it!=lines.end()) - str=it->second; - int len=Strlen(str); - res.push_back((wchar_t)len); - for (int c=0;c16) - UpdateResource(hUpdate,RT_STRING,MAKEINTRESOURCE(id),LANG_NEUTRAL,&res[0],res.size()*2); - } - - if (!EndUpdateResource(hUpdate,FALSE)) - { - Printf("Failed to update %S (err: %d)\n",dllName,GetLastError()); - return 1; - } - return 0; -} -#endif - -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT CALLBACK TaskDialogCallback( HWND hwnd, UINT uNotification, WPARAM wParam, LPARAM lParam, LONG_PTR dwRefData ) -{ - if (uNotification==TDN_HYPERLINK_CLICKED) - { - const wchar_t *link=(const wchar_t*)lParam; - ShellExecute(hwnd,NULL,link,NULL,NULL,SW_SHOWNORMAL); - } - return S_OK; -} - -/////////////////////////////////////////////////////////////////////////////// - -// Open-Shell utility - multiple utilities for building and maintaining Open-Shell -// Usage: -// no parameters - saves a troubleshooting log -// crcmsi // creates a file with checksum of both msi files -// makeEN // extracts the localization resources and creates a sample en-US.DLL -// extract // extracts the string table, the dialog text, and the L10N text from a DLL and stores it in a CSV -// extract en-us.dll // extracts the string table, the dialog text, and the L10N text from two DLL and stores it in a CSV -// import // replaces the string table in the DLL with the text from the CSV -// update // generates a resource file for UpdateBin.dll by calculating the DLL hashes - -int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpstrCmdLine, int nCmdShow ) -{ - g_hInstance=hInstance; - - if (!*lpstrCmdLine) - { -#ifndef _WIN64 - DWORD winVer=GetVersionEx(GetModuleHandle(L"user32.dll")); - - TASKDIALOG_BUTTON taskButtons[4]={ - {101,L"Save system log\nSaves detailed information about your system for troubleshooting purposes."}, - {102,L"Open-Shell logging options\nEnable or disable various logging options."}, - {103,L"Remove Open-Shell\nManually removes Open-Shell from your system. Use only if the conventional methods for uninstallation do not work."}, - {104,L"Show Metro colors\nSee the color palette that can be used in start menu skins."}, - }; - TASKDIALOGCONFIG tasks={sizeof(tasks)}; - tasks.dwFlags=TDF_USE_HICON_MAIN|TDF_USE_COMMAND_LINKS|TDF_ENABLE_HYPERLINKS; - tasks.dwCommonButtons=TDCBF_CANCEL_BUTTON; - tasks.pszWindowTitle=L"Open-Shell Utility"; - tasks.hMainIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)); - tasks.pszMainInstruction=L"Select task to perform"; - tasks.cButtons=HIWORD(winVer)>=0x0602?4:3; - tasks.pButtons=taskButtons; - tasks.pszFooter=L"www.classicshell.net"; - tasks.pfCallback=TaskDialogCallback; - - int seleciton; - if (TaskDialogIndirect(&tasks,&seleciton,NULL,NULL)==IDCANCEL) - return 0; - if (seleciton==101) - { - ShowSaveLogFile(); - } - else if (seleciton==102) - { - EditLoggingOptions(); - } - else if (seleciton==103) - { - wchar_t exe[_MAX_PATH]; - GetModuleFileName(NULL,exe,_countof(exe)); - CoInitialize(NULL); - ShellExecute(NULL,L"runas",exe,L"uninstall",NULL,SW_SHOWNORMAL); - CoUninitialize(); - } - else if (seleciton==104) - { - ShowMetroColorViewer(); - } -#endif - return 0; - } - - int count; - wchar_t *const *params=CommandLineToArgvW(lpstrCmdLine,&count); - -#ifndef _WIN64 - if (_wcsicmp(params[0],L"crcmsi")==0) - { - return CalcMsiChecksum(params,count); - } - - if (_wcsicmp(params[0],L"makeEN")==0) - { - return MakeEnglishDll(params,count); - } - - if (_wcsicmp(params[0],L"extract")==0) - { - return ExtractStrings(params,count); - } - - if (_wcsicmp(params[0],L"import")==0) - { - return ImportStrings(params,count); - } - - if (_wcsicmp(params[0],L"update")==0) - { - return GenerateUpdateFile(params,count); - } - - if (_wcsicmp(params[0],L"colors")==0) - { - ShowMetroColorViewer(); - return 0; - } - if (_wcsicmp(params[0],L"uninstall")==0) - { - ManualUninstall(); - return 0; - } -#endif - - if (_wcsicmp(params[0],L"savelog")==0 || _wcsicmp(params[0],L"saveloga")==0) - { - if (count<=1) - return 1; - return SaveLogFile(params[1],_wcsicmp(params[0],L"saveloga")==0); - } - - return 1; -} diff --git a/Src/Setup/Utility/Utility.manifest b/Src/Setup/Utility/Utility.manifest deleted file mode 100644 index 601d8c4..0000000 --- a/Src/Setup/Utility/Utility.manifest +++ /dev/null @@ -1,27 +0,0 @@ - - - -Open-Shell Setup - - - - - - - - true - - - diff --git a/Src/Setup/Utility/Utility.rc b/Src/Setup/Utility/Utility.rc deleted file mode 100644 index 11a290c..0000000 --- a/Src/Setup/Utility/Utility.rc +++ /dev/null @@ -1,224 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// FILE -// - -1 FILE "Release64\\Utility.exe" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_ICON1 ICON "tool.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_COLORS DIALOGEX 0, 0, 407, 281 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU -CAPTION "Metro Colors" -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - LTEXT "Color set:",IDC_STATIC,7,7,31,14,SS_CENTERIMAGE - EDITTEXT IDC_EDIT1,39,7,47,14,ES_AUTOHSCROLL - CONTROL "",IDC_SPIN1,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,79,7,10,14 - LTEXT "use -1 for the current set",IDC_STATIC,90,7,79,14,SS_CENTERIMAGE - LTEXT "Search:",IDC_STATIC,215,7,24,14,SS_CENTERIMAGE - EDITTEXT IDC_EDIT2,240,7,160,14,ES_AUTOHSCROLL - CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_EDITLABELS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,23,393,251 -END - -IDD_UNINSTALL DIALOGEX 0, 0, 315, 201 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Remove Open-Shell" -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,67,301,1 - LTEXT "The tool has determined that Open-Shell is installed in the following folder. If this is incorrect, use the Browse button to pick another location.",IDC_STATICPATH,7,72,301,19 - EDITTEXT IDC_EDITPATH,7,93,262,14,ES_AUTOHSCROLL | ES_READONLY - PUSHBUTTON "Browse",IDC_BUTTONBROWSEPATH,270,93,38,14 - LTEXT "Select which settings to remove:\n (it is safe to keep the settings - they will not affect the operation of your computer)",IDC_STATIC,7,113,277,17 - CONTROL "Remove admin settings - will remove the settings from the Local Machine registry",IDC_CHECKADMIN, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,132,274,10 - CONTROL "Remove user settings - will remove the settings for the current user",IDC_CHECKSETTINGS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,144,233,10 - CONTROL "Remove settings for all users - will remove the user settings for all users",IDC_CHECKALLUSERS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,156,236,10 - LTEXT "Please, make sure that no other users are currently signed in",IDC_STATICALLUSERS,41,167,203,8,NOT WS_VISIBLE - DEFPUSHBUTTON "OK",IDOK,205,180,50,14 - PUSHBUTTON "Cancel",IDCANCEL,258,180,50,14 - LTEXT "Warning: This tool will remove Open-Shell from your system by directly accessing the registry and the file system. A reboot may be required.\nUse it only if you have tried the conventional methods for uinstalling Open-Shell and they were unsuccessful.",IDC_STATICWARNING,7,7,301,35 - CONTROL "The preferred method for uninstallation is to use the Programs and Features page in the Control Panel.",IDC_SYSLINK1, - "SysLink",WS_TABSTOP,7,44,301,18 -END - -IDD_UNINSTALL_RESULTS DIALOGEX 0, 0, 471, 302 -STYLE DS_SETFONT | DS_CENTER | WS_POPUP | WS_CAPTION | WS_THICKFRAME -CAPTION "Remove Open-Shell" -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - LTEXT "Static",IDC_STATICRESULT,7,7,457,25 - EDITTEXT IDC_EDITRESULT,7,39,457,238,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | WS_VSCROLL - PUSHBUTTON "Restart Now",IDC_BUTTONREBOOT,319,281,70,14 - PUSHBUTTON "Close",IDC_BUTTONCLOSE,394,281,70,14 -END - -IDD_UNINSTALL_PROGRESS DIALOGEX 0, 0, 240, 75 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION -CAPTION "Removing Open-Shell" -FONT 9, "Segoe UI", 400, 0, 0x0 -BEGIN - CONTROL "",IDC_PROGRESS1,"msctls_progress32",WS_BORDER,7,27,226,14 - LTEXT "Please, wait...",IDC_STATICWAIT,7,7,83,8 -END - -IDD_LOGSETTINGS DIALOGEX 0, 0, 201, 245 -STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Open-Shell Logging" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - LTEXT "Warning: Turning on the logging options may negatively affect the performance of Open-Shell.",IDC_STATIC,7,7,187,17 - LTEXT "Log start menu",IDC_STATIC,7,31,52,12,SS_CENTERIMAGE - CONTROL "Open/close menus",IDC_CHECKOPEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,44,75,10 - CONTROL "Menu contents",IDC_CHECKITEMS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,44,63,10 - CONTROL "Executed items",IDC_CHECKEXECUTE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,58,65,10 - CONTROL "MFU items",IDC_CHECKMFU,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,58,49,10 - CONTROL "New programs",IDC_CHECKNEW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,72,62,10 - CONTROL "Metro apps",IDC_CHECKAPPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,72,52,10 - CONTROL "Search results",IDC_CHECKSEARCH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,86,61,10 - CONTROL "SQL commands",IDC_CHECKSEARCH_SQL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,86,64,10 - CONTROL "Mouse events",IDC_CHECKMOUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,100,61,10 - CONTROL "Data cache",IDC_CHECKCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,100,52,10 - CONTROL "Start menu log file",IDC_SYSLINKSTART,"SysLink",WS_TABSTOP,22,113,80,10 - CONTROL "Data cache log file",IDC_SYSLINKCACHE,"SysLink",WS_TABSTOP,22,125,80,10 - CONTROL "Log startup",IDC_CHECKSTARTUP,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,7,140,57,12 - CONTROL "Startup log file",IDC_SYSLINKSTARTUP,"SysLink",WS_TABSTOP,22,153,80,10 - CONTROL "Log Classic Explorer",IDC_CHECKEXPLORER,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,7,167,84,12 - CONTROL "Classic Explorer log file",IDC_SYSLINKEXPLORER, - "SysLink",WS_TABSTOP,22,180,80,10 - CONTROL "Log Classic IE",IDC_CHECKIE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,7,194,65,12 - CONTROL "Classic IE log file",IDC_SYSLINKIE,"SysLink",WS_TABSTOP,22,207,80,10 - DEFPUSHBUTTON "OK",IDOK,85,224,50,14 - PUSHBUTTON "Cancel",IDCANCEL,144,224,50,14 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_COLORS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 400 - TOPMARGIN, 7 - BOTTOMMARGIN, 274 - END - - IDD_UNINSTALL, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 308 - TOPMARGIN, 7 - BOTTOMMARGIN, 194 - END - - IDD_UNINSTALL_RESULTS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 464 - TOPMARGIN, 7 - BOTTOMMARGIN, 295 - END - - IDD_UNINSTALL_PROGRESS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 233 - TOPMARGIN, 7 - BOTTOMMARGIN, 68 - END - - IDD_LOGSETTINGS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 194 - TOPMARGIN, 7 - BOTTOMMARGIN, 238 - END -END -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Setup/Utility/Utility.vcxproj b/Src/Setup/Utility/Utility.vcxproj deleted file mode 100644 index 0fa1a17..0000000 --- a/Src/Setup/Utility/Utility.vcxproj +++ /dev/null @@ -1,222 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {DAE66C9B-05DC-4ACE-97DA-2547B490BBFF} - Utility - Win32Proj - 10.0.17134.0 - - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - - - - - - - - - - - - - - - - - - - $(Configuration)\ - $(Configuration)\ - true - - - $(Configuration)64\ - $(Configuration)64\ - true - - - $(Configuration)\ - $(Configuration)\ - false - - - $(Configuration)64\ - $(Configuration)64\ - false - - - - Disabled - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - NotUsing - Level3 - EditAndContinue - true - stdcpp17 - - - comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib;Netapi32.lib;%(AdditionalDependencies) - true - Windows - - - - - Disabled - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - NotUsing - Level3 - ProgramDatabase - true - stdcpp17 - - - _UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions) - - - comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib.;%(AdditionalDependencies) - true - Windows - - - - - MaxSpeed - true - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - NotUsing - Level3 - ProgramDatabase - true - stdcpp17 - - - comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib;Netapi32.lib;%(AdditionalDependencies) - true - Windows - true - true - - - - - MaxSpeed - true - ..\..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - NotUsing - Level3 - ProgramDatabase - true - stdcpp17 - - - _UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions) - - - comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib.;%(AdditionalDependencies) - true - Windows - true - true - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - {d42fe717-485b-492d-884a-1999f6d51154} - false - - - - - - - - - - - \ No newline at end of file diff --git a/Src/Setup/Utility/resource.h b/Src/Setup/Utility/resource.h deleted file mode 100644 index eae7c67..0000000 --- a/Src/Setup/Utility/resource.h +++ /dev/null @@ -1,61 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Utility.rc -// -#define IDI_ICON1 101 -#define IDD_DIALOG1 102 -#define IDD_COLORS 102 -#define IDD_UNINSTALL 103 -#define IDD_UNINSTALL_RESULTS 104 -#define IDD_UNINSTALL_PROGRESS 105 -#define IDD_LOGSETTINGS 106 -#define IDC_EDIT1 1001 -#define IDC_SPIN1 1002 -#define IDC_LIST1 1003 -#define IDC_EDIT2 1004 -#define IDC_BUTTONBROWSEPATH 1005 -#define IDC_CHECKADMIN 1006 -#define IDC_CHECKSETTINGS 1007 -#define IDC_CHECKALLUSERS 1008 -#define IDC_SYSLINK1 1009 -#define IDC_EDITPATH 1010 -#define IDC_SYSLINKSTARTUP 1010 -#define IDC_STATICPATH 1011 -#define IDC_SYSLINKEXPLORER 1011 -#define IDC_STATICWARNING 1012 -#define IDC_SYSLINKIE 1012 -#define IDC_STATICRESULT 1013 -#define IDC_EDITRESULT 1014 -#define IDC_BUTTONREBOOT 1015 -#define IDC_BUTTONCLOSE 1016 -#define IDC_PROGRESS1 1017 -#define IDC_STATICWIAT 1018 -#define IDC_STATICWAIT 1018 -#define IDC_STATICALLUSERS 1019 -#define IDC_CHECKEXPLORER 1020 -#define IDC_CHECKSTARTUP 1022 -#define IDC_CHECKIE 1023 -#define IDC_CHECKEXECUTE 1028 -#define IDC_CHECKOPEN 1029 -#define IDC_CHECKITEMS 1030 -#define IDC_CHECKMOUSE 1031 -#define IDC_CHECKMFU 1032 -#define IDC_CHECKSEARCH 1033 -#define IDC_CHECKSEARCH_SQL 1034 -#define IDC_CHECKNEW 1035 -#define IDC_CHECKAPPS 1036 -#define IDC_CHECKCACHE 1037 -#define IDC_SYSLINKSTART 1038 -#define IDC_SYSLINKSTART2 1039 -#define IDC_SYSLINKCACHE 1039 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 108 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1039 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Setup/Utility/tool.ico b/Src/Setup/Utility/tool.ico deleted file mode 100644 index 30b6d8e..0000000 Binary files a/Src/Setup/Utility/tool.ico and /dev/null differ diff --git a/Src/Setup/_BuildChineseCN.bat b/Src/Setup/_BuildChineseCN.bat deleted file mode 100644 index bb33ff2..0000000 --- a/Src/Setup/_BuildChineseCN.bat +++ /dev/null @@ -1,8 +0,0 @@ -SET CS_LANG_FOLDER=Chinese -SET CS_LANG_NAME=zh-CN -SET CS_LANG_NAME_SHORT=zhCN -SET CS_HAS_HELP=0 -SET CS_HAS_EULA=1 -SET CS_HAS_README=1 - -call BuildInstaller.bat diff --git a/Src/Setup/_BuildChineseTW.bat b/Src/Setup/_BuildChineseTW.bat deleted file mode 100644 index 0188177..0000000 --- a/Src/Setup/_BuildChineseTW.bat +++ /dev/null @@ -1,8 +0,0 @@ -SET CS_LANG_FOLDER=ChineseTW -SET CS_LANG_NAME=zh-TW -SET CS_LANG_NAME_SHORT=zhTW -SET CS_HAS_HELP=1 -SET CS_HAS_EULA=1 -SET CS_HAS_README=1 - -call BuildInstaller.bat diff --git a/Src/Setup/_BuildEnglish.bat b/Src/Setup/_BuildEnglish.bat deleted file mode 100644 index 29a4b3b..0000000 --- a/Src/Setup/_BuildEnglish.bat +++ /dev/null @@ -1,8 +0,0 @@ -SET CS_LANG_FOLDER=English -SET CS_LANG_NAME=en-US -SET CS_LANG_NAME_SHORT=en -SET CS_HAS_HELP=1 -SET CS_HAS_EULA=1 -SET CS_HAS_README=1 - -call BuildInstaller.bat diff --git a/Src/Setup/_BuildFrench.bat b/Src/Setup/_BuildFrench.bat deleted file mode 100644 index bf4ca3d..0000000 --- a/Src/Setup/_BuildFrench.bat +++ /dev/null @@ -1,8 +0,0 @@ -SET CS_LANG_FOLDER=French -SET CS_LANG_NAME=fr-FR -SET CS_LANG_NAME_SHORT=fr -SET CS_HAS_HELP=1 -SET CS_HAS_EULA=1 -SET CS_HAS_README=1 - -call BuildInstaller.bat diff --git a/Src/Setup/_BuildGerman.bat b/Src/Setup/_BuildGerman.bat deleted file mode 100644 index db41549..0000000 --- a/Src/Setup/_BuildGerman.bat +++ /dev/null @@ -1,8 +0,0 @@ -SET CS_LANG_FOLDER=German -SET CS_LANG_NAME=de-DE -SET CS_LANG_NAME_SHORT=de -SET CS_HAS_HELP=0 -SET CS_HAS_EULA=1 -SET CS_HAS_README=1 - -call BuildInstaller.bat diff --git a/Src/Setup/_BuildItalian.bat b/Src/Setup/_BuildItalian.bat deleted file mode 100644 index 1ff54e2..0000000 --- a/Src/Setup/_BuildItalian.bat +++ /dev/null @@ -1,8 +0,0 @@ -SET CS_LANG_FOLDER=Italian -SET CS_LANG_NAME=it-IT -SET CS_LANG_NAME_SHORT=it -SET CS_HAS_HELP=0 -SET CS_HAS_EULA=1 -SET CS_HAS_README=1 - -call BuildInstaller.bat diff --git a/Src/Setup/_BuildPolish.bat b/Src/Setup/_BuildPolish.bat deleted file mode 100644 index c141d8d..0000000 --- a/Src/Setup/_BuildPolish.bat +++ /dev/null @@ -1,8 +0,0 @@ -SET CS_LANG_FOLDER=Polish -SET CS_LANG_NAME=pl-PL -SET CS_LANG_NAME_SHORT=pl -SET CS_HAS_HELP=1 -SET CS_HAS_EULA=1 -SET CS_HAS_README=1 - -call BuildInstaller.bat diff --git a/Src/Setup/_BuildRussian.bat b/Src/Setup/_BuildRussian.bat deleted file mode 100644 index 7a0ec31..0000000 --- a/Src/Setup/_BuildRussian.bat +++ /dev/null @@ -1,8 +0,0 @@ -SET CS_LANG_FOLDER=Russian -SET CS_LANG_NAME=ru-RU -SET CS_LANG_NAME_SHORT=ru -SET CS_HAS_HELP=1 -SET CS_HAS_EULA=1 -SET CS_HAS_README=1 - -call BuildInstaller.bat diff --git a/Src/Setup/_BuildSpanish.bat b/Src/Setup/_BuildSpanish.bat deleted file mode 100644 index 2444695..0000000 --- a/Src/Setup/_BuildSpanish.bat +++ /dev/null @@ -1,8 +0,0 @@ -SET CS_LANG_FOLDER=Spanish -SET CS_LANG_NAME=es-ES -SET CS_LANG_NAME_SHORT=es -SET CS_HAS_HELP=1 -SET CS_HAS_EULA=1 -SET CS_HAS_README=1 - -call BuildInstaller.bat diff --git a/Src/Setup/__MakeFinal.bat b/Src/Setup/__MakeFinal.bat deleted file mode 100644 index b66af6c..0000000 --- a/Src/Setup/__MakeFinal.bat +++ /dev/null @@ -1,34 +0,0 @@ -@echo off -set PATH=C:\Program Files\7-Zip\;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\WiX Toolset v3.11\bin\;%PATH% - -cd %~dp0 - -rem Clean repository and build fresh. Will erase current changes so disabled by default. -rem git clean -dfx - -rem Default version -set CS_VERSION=4.4.110 - -if defined APPVEYOR_BUILD_VERSION ( - set CS_VERSION=%APPVEYOR_BUILD_VERSION% -) - -echo Version: %CS_VERSION% - -rem Convert . to _ -set CS_VERSION_STR=%CS_VERSION:.=_% - -set CS_VERSION_ORIG=%CS_VERSION% -rem Strip optional "-xyz" suffix from version -for /f "delims=- tokens=1,1" %%i in ("%CS_VERSION%") do set CS_VERSION=%%i - -call BuildBinaries.bat -if ERRORLEVEL 1 exit /b 1 - -call _BuildEnglish.bat -if ERRORLEVEL 1 exit /b 1 - -call BuildArchives.bat -if ERRORLEVEL 1 exit /b 1 - -exit /b 0 diff --git a/Src/Setup/__MakeFinalAllLanguages.bat b/Src/Setup/__MakeFinalAllLanguages.bat deleted file mode 100644 index dfbe2a9..0000000 --- a/Src/Setup/__MakeFinalAllLanguages.bat +++ /dev/null @@ -1,52 +0,0 @@ -@echo off -rem This file is to create all the files required for a new release to publish - -set PATH=C:\Program Files\7-Zip\;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\WiX Toolset v3.11\bin\;%PATH% - -cd %~dp0 - -rem Clean repository and build fresh. Will erase current changes so disabled by default. -rem git clean -dfx - -rem Default version -set CS_VERSION=4.3.2 - -if defined APPVEYOR_BUILD_VERSION ( - set CS_VERSION=%APPVEYOR_BUILD_VERSION% -) - -rem Convert . to _ -set CS_VERSION_STR=%CS_VERSION:.=_% - -set CS_VERSION_ORIG=%CS_VERSION% -rem Strip optional "-xyz" suffix from version -for /f "delims=- tokens=1,1" %%i in ("%CS_VERSION%") do set CS_VERSION=%%i - -call BuildBinaries.bat -if ERRORLEVEL 1 exit /b 1 - -call _BuildEnglish.bat -if ERRORLEVEL 1 exit /b 1 - -rem Build other languages -call _BuildChineseCN.bat -if ERRORLEVEL 1 exit /b 1 -call _BuildChineseTW.bat -if ERRORLEVEL 1 exit /b 1 -call _BuildFrench.bat -if ERRORLEVEL 1 exit /b 1 -call _BuildGerman.bat -if ERRORLEVEL 1 exit /b 1 -call _BuildItalian.bat -if ERRORLEVEL 1 exit /b 1 -call _BuildPolish.bat -if ERRORLEVEL 1 exit /b 1 -call _BuildRussian.bat -if ERRORLEVEL 1 exit /b 1 -call _BuildSpanish.bat -if ERRORLEVEL 1 exit /b 1 - -call BuildArchives.bat -if ERRORLEVEL 1 exit /b 1 - -exit /b 0 diff --git a/Src/Setup/banner.jpg b/Src/Setup/banner.jpg deleted file mode 100644 index f1d2ce1..0000000 Binary files a/Src/Setup/banner.jpg and /dev/null differ diff --git a/Src/Setup/dialog.jpg b/Src/Setup/dialog.jpg deleted file mode 100644 index b92341c..0000000 Binary files a/Src/Setup/dialog.jpg and /dev/null differ diff --git a/Src/Setup/dialog2.jpg b/Src/Setup/dialog2.jpg deleted file mode 100644 index dc0946b..0000000 Binary files a/Src/Setup/dialog2.jpg and /dev/null differ diff --git a/Src/Setup/en-US/en-US.rc b/Src/Setup/en-US/en-US.rc deleted file mode 100644 index e3b849d..0000000 --- a/Src/Setup/en-US/en-US.rc +++ /dev/null @@ -1,109 +0,0 @@ -// 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 -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x0L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Open-Shell" - VALUE "FileDescription", "en-US" - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "en-US" - VALUE "LegalCopyright", "Copyright (C) 2017-2018, The Open-Shell Team" - VALUE "OriginalFilename", "en-US" - VALUE "ProductName", "Open-Shell" - VALUE "ProductVersion", "1, 0, 0, 1" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// L10N -// - -1 L10N "en-US.txt" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Setup/en-US/en-US.txt b/Src/Setup/en-US/en-US.txt deleted file mode 100644 index cf878f1..0000000 Binary files a/Src/Setup/en-US/en-US.txt and /dev/null differ diff --git a/Src/Setup/en-US/en-US.vcxproj b/Src/Setup/en-US/en-US.vcxproj deleted file mode 100644 index 217f5ef..0000000 --- a/Src/Setup/en-US/en-US.vcxproj +++ /dev/null @@ -1,55 +0,0 @@ - - - - - Resource - Win32 - - - - {0A60FD06-3A81-4651-A869-9850DBC115EA} - enUS - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - ..\..\ - $(Configuration)\ - true - false - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Src/Setup/en-US/resource.h b/Src/Setup/en-US/resource.h deleted file mode 100644 index 1727fe0..0000000 --- a/Src/Setup/en-US/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by en-US.rc -// -#define IDR_L10N1 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Setup/resource.h b/Src/Setup/resource.h deleted file mode 100644 index 85076b8..0000000 --- a/Src/Setup/resource.h +++ /dev/null @@ -1,29 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Setup.rc -// -#define IDS_APP_NAME 100 -#define IDS_APP_TITLE 100 -#define IDI_APPICON 101 -#define IDS_ERR_CORRUPTED 102 -#define IDR_MSI_FILE32 132 -#define IDR_MSI_FILE64 164 -#define IDS_ERR_INTERNAL 166 -#define IDS_ERR_EXTRACT 167 -#define IDR_MSI_CHECKSUM 167 -#define IDS_ERR_WIN7 169 -#define IDS_ERR_MSIEXEC 170 -#define IDS_HELP 200 -#define IDC_EDIT1 1001 -#define IDC_EDITPWD 1001 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 168 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1002 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Setup/web.ico b/Src/Setup/web.ico deleted file mode 100644 index 1f8c012..0000000 Binary files a/Src/Setup/web.ico and /dev/null differ diff --git a/Src/Skins/ClassicSkin/ClassicSkin.rc b/Src/Skins/ClassicSkin/ClassicSkin.rc deleted file mode 100644 index 0d63fe5..0000000 --- a/Src/Skins/ClassicSkin/ClassicSkin.rc +++ /dev/null @@ -1,90 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "selection.bmp" -3 BITMAP "search.bmp" -4 BITMAP "split_selection.bmp" -5 BITMAP "new_item.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/ClassicSkin/ClassicSkin.vcxproj b/Src/Skins/ClassicSkin/ClassicSkin.vcxproj deleted file mode 100644 index 7e702bb..0000000 --- a/Src/Skins/ClassicSkin/ClassicSkin.vcxproj +++ /dev/null @@ -1,65 +0,0 @@ - - - - - Resource - Win32 - - - - {9EC23CA9-384A-4EEB-979E-69879DC1A78C} - ClassicSkin - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - .skin - Classic Skin - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/ClassicSkin/ClassicSkin.vcxproj.filters b/Src/Skins/ClassicSkin/ClassicSkin.vcxproj.filters deleted file mode 100644 index 8ae8f74..0000000 --- a/Src/Skins/ClassicSkin/ClassicSkin.vcxproj.filters +++ /dev/null @@ -1,48 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - diff --git a/Src/Skins/ClassicSkin/SkinDescription.txt b/Src/Skins/ClassicSkin/SkinDescription.txt deleted file mode 100644 index 61cfada..0000000 --- a/Src/Skins/ClassicSkin/SkinDescription.txt +++ /dev/null @@ -1,249 +0,0 @@ -; Classic skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7103 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - -;MAIN BITMAP SECTION - describes the background of the main menu - -; Main_bitmap - ID of a bitmap resource to use for the main menu in "large icons" mode. Default is no bitmap -; The bitmap must contain a rectangular portion of opaque solid color behind the menu items -Main_bitmap=1 - -; Main_bitmap_slices_X - must contain 6 or 3 numbers. The sum of the numbers must be equal to the width of the Main_bitmap image -; number 1 is the width of the image to use for the left edge -; number 2 is the width of the image to stretch and use as the background for the caption -; number 3 is the width of the image to use on the right of the caption -; number 4 is the width of the image to use on the left of the menu -; number 5 is the width of the image to stretch and use as the background for the menu -; number 6 is the width of the image to use for the right edge -; If the first 3 numbers are missing there is no caption -Main_bitmap_slices_X=2,1,2,0,1,0 - -; Main_bitmap_slices_Y - must contain 3 numbers. The sum of the numbers must be equal to the height of the Main_bitmap image -; number 1 is the height of the image to use for the top edge -; number 2 is the height of the image to stretch and use as the background -; number 3 is the height of the image to use for the bottom edge -Main_bitmap_slices_Y=2,96,2 - - -;CAPTION SECTION - describes the caption portion of the main menu - -; Caption_font - font to use for the caption. The format is "font name",[normal/bold],point size. Defaults to "Segoe UI",normal,18 -Caption_font="Segoe UI",normal,18 - -; Caption_text_color - RRGGBB color of the caption text. Defaults to white -Caption_text_color=#FFFFFF - -; Caption_padding - number of pixels to add on left/top/right/bottom of the caption -Caption_padding=3,3,3,12,100% - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -; Main_large_icons - 0 - use small icons in the main menu, 1 - use large icons. Default is 0 -; The small icons are 16x16 if the DPI is 96, 20x20 for DPI 120 and 24x24 for DPI 144 -; The large icons are twice the size of the small icons -; The sub-menus always use small icons -Main_large_icons=1 - -; Main_padding - number of pixels to add on left/top/right/bottom of the menu -Main_padding=0,2,2,2 - -Main_arrow_padding=8,9,100% - -; Main_thin_frame - use a thin 1-pixel frame instead of the thick 3D frame -; This parameter is only used in Classic mode, and when Main_opacity is "solid". Default is 0 -Main_thin_frame=1 - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; These have the same meaning as the Main_... properties -Submenu_padding=2,2,2,2 -Submenu_thin_frame=1 -Submenu_separator_text_padding=3,6,4,6,100% - -;SEARCH SECTION - -Search_bitmap=3 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - -; OPTIONS - -OPTION NO_ICONS=#7008,0, TWO_COLUMNS -OPTION CAPTION=#7003,1, NOT TWO_COLUMNS, 0 -OPTION USER_IMAGE=#7014,0 -OPTION USER_NAME=#7015,0 -OPTION CENTER_NAME=#7004,0, USER_NAME, 0 -OPTION SMALL_ICONS=#7011,0 -OPTION THICK_BORDER=#7013,0 -OPTION SOLID_SELECTION=#7012,0 - -Classic1_options=CAPTION, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, THICK_BORDER, SOLID_SELECTION -Classic2_options=NO_ICONS, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, THICK_BORDER, SOLID_SELECTION -AllPrograms_options=THICK_BORDER, SOLID_SELECTION - -[NOT CAPTION] -Main_bitmap=0 -Main_bitmap_slices_X=0,0,0,0,0,0 -Main_bitmap_slices_Y=0,0,0 -Main_padding=2,2,2,2 - - -[SMALL_ICONS] -Main_large_icons=0 -Caption_font="Segoe UI",normal,15 - -[THICK_BORDER] -Main_thin_frame=0 -Submenu_thin_frame=0 - -[SOLID_SELECTION] -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 -Main2_new_selection=#FFBB00 -Main2_new_text_color=#000000 -Main2_new_arrow_color=#000000 - -[NOT SOLID_SELECTION] -Main_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Main_selection=2 -Main_selection_slices_X=3,1,3 -Main_selection_slices_Y=4,66,4 -Main_new_selection=5 -Main_new_selection_slices_X=3,1,3 -Main_new_selection_slices_Y=4,66,4 -Main_split_selection=4 -Main_split_selection_slices_X=3,1,3,2,1,3 -Main_split_selection_slices_Y=4,66,4 -Main2_split_selection=4 -Main2_split_selection_slices_X=3,1,3,2,1,3 -Main2_split_selection_slices_Y=4,66,4 -Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Submenu_selection=2 -Submenu_selection_slices_X=3,1,3 -Submenu_selection_slices_Y=4,66,4 -Submenu_new_selection=5 -Submenu_new_selection_slices_X=3,1,3 -Submenu_new_selection_slices_Y=4,66,4 -Submenu_split_selection=4 -Submenu_split_selection_slices_X=3,1,3,2,1,3 -Submenu_split_selection_slices_Y=4,66,4 -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% - - -[TWO_COLUMNS] -Main_bitmap=0 -Main_bitmap_slices_X=0,0,0,0,0,0 -Main_bitmap_slices_Y=0,0,0 -Main_padding=2,2,3,2 -Main2_padding=4,2,2,2 - - -[USER_IMAGE] -; User_image_size - the size of the user image to use. Default is 0, which means the user image is not displayed -; The size must be compatible with the size of the frame bitmap User_bitmap. The value is usually 48 -User_image_size=48 - -; User_frame_position - horizontal and vertical position of the user image frame in the main menu. -; Positive numbers mean offset from the left and the top. Negative numbers mean offset from the bottom and the right -; The horizontal position can also be "center", "center1" and "center2" to center the image relative to the whole menu or to the first or second column -User_frame_position=-10,6 - -[USER_IMAGE AND SMALL_ICONS] -User_image_size=32 - -[USER_NAME] -User_name_position=10,10,-75,50 -User_name_align=right -User_font="Segoe UI",bold,18 -User_glow_size=0 - -[SMALL_ICONS] -User_font="Segoe UI",bold,16 - -[USER_NAME AND TWO_COLUMNS] -User_name_align=right2 - - -; TWO COLUMNS -[USER_IMAGE AND TWO_COLUMNS] -Main2_padding=4,63,2,2 -User_name_position=10,10,-70,50 - -[USER_IMAGE AND TWO_COLUMNS AND SMALL_ICONS] -Main2_padding=4,47,2,2 -User_name_position=10,10,-54,40 - -[USER_NAME AND NOT USER_IMAGE AND TWO_COLUMNS] -Main2_padding=4,50,2,2 -User_name_position=10,5,-10,45 - -[USER_NAME AND NOT USER_IMAGE AND TWO_COLUMNS AND SMALL_ICONS] -Main2_padding=4,40,2,2 -User_name_position=10,5,-10,35 - - -; NO CAPTION -[USER_IMAGE AND NOT TWO_COLUMNS] -Main_padding=2,63,2,2 -User_name_position=15,10,-70,50 - -[USER_IMAGE AND NOT TWO_COLUMNS AND SMALL_ICONS] -Main_padding=2,47,2,2 -User_name_position=15,10,-59,40 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS] -Main_padding=4,47,2,2 -User_name_position=15,5,-15,45 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS AND SMALL_ICONS] -Main_padding=4,40,2,2 -User_name_position=15,5,-15,35 - - -; CAPTION -[USER_IMAGE AND NOT TWO_COLUMNS AND CAPTION] -User_name_position=35,10,-70,50 - -[USER_IMAGE AND NOT TWO_COLUMNS AND SMALL_ICONS AND CAPTION] -User_name_position=35,10,-59,40 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS AND CAPTION] -User_name_position=35,5,-15,45 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS AND SMALL_ICONS AND CAPTION] -User_name_position=35,5,-15,35 - - -[CENTER_NAME] -User_name_align=center - -[CENTER_NAME AND TWO_COLUMNS] -User_name_align=center2 - -[NOT USER_NAME] -User_name_position=0,0,0,0 - -[NO_ICONS] -Main_no_icons2=1 -Main2_text_padding=1,7,8,7,100% - -[NO_ICONS AND SMALL_ICONS] -Main2_text_padding=1,3,8,4,100% diff --git a/Src/Skins/ClassicSkin/main_bitmap.bmp b/Src/Skins/ClassicSkin/main_bitmap.bmp deleted file mode 100644 index 1257134..0000000 Binary files a/Src/Skins/ClassicSkin/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin/new_item.bmp b/Src/Skins/ClassicSkin/new_item.bmp deleted file mode 100644 index ff35bd6..0000000 Binary files a/Src/Skins/ClassicSkin/new_item.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin/resource.h b/Src/Skins/ClassicSkin/resource.h deleted file mode 100644 index 2cac1fc..0000000 --- a/Src/Skins/ClassicSkin/resource.h +++ /dev/null @@ -1,20 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by ClassicSkin.rc -// -#define IDB_BITMAP1 101 -#define IDB_BITMAP2 102 -#define IDR_SKIN1 103 -#define IDR_SKIN2 104 -#define IDI_ICON1 105 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 106 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/ClassicSkin/search.bmp b/Src/Skins/ClassicSkin/search.bmp deleted file mode 100644 index c53c0ff..0000000 Binary files a/Src/Skins/ClassicSkin/search.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin/selection.bmp b/Src/Skins/ClassicSkin/selection.bmp deleted file mode 100644 index 8cfb705..0000000 Binary files a/Src/Skins/ClassicSkin/selection.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin/split_selection.bmp b/Src/Skins/ClassicSkin/split_selection.bmp deleted file mode 100644 index 9f3debb..0000000 Binary files a/Src/Skins/ClassicSkin/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin7/ClassicSkin7.rc b/Src/Skins/ClassicSkin7/ClassicSkin7.rc deleted file mode 100644 index 7ccd99b..0000000 --- a/Src/Skins/ClassicSkin7/ClassicSkin7.rc +++ /dev/null @@ -1,91 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "selection.bmp" -2 BITMAP "search.bmp" -3 BITMAP "split_selection.bmp" -4 BITMAP "new_item.bmp" -5 BITMAP "user_bitmap.bmp" -6 BITMAP "user_bitmap150.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/ClassicSkin7/ClassicSkin7.vcxproj b/Src/Skins/ClassicSkin7/ClassicSkin7.vcxproj deleted file mode 100644 index aefd9bd..0000000 --- a/Src/Skins/ClassicSkin7/ClassicSkin7.vcxproj +++ /dev/null @@ -1,66 +0,0 @@ - - - - - Resource - Win32 - - - - {31C016FB-9EA1-4AF5-987A-37210C04DA06} - ClassicSkin7 - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - .skin7 - Classic Skin - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/ClassicSkin7/ClassicSkin7.vcxproj.filters b/Src/Skins/ClassicSkin7/ClassicSkin7.vcxproj.filters deleted file mode 100644 index df3302b..0000000 --- a/Src/Skins/ClassicSkin7/ClassicSkin7.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - diff --git a/Src/Skins/ClassicSkin7/SkinDescription.txt b/Src/Skins/ClassicSkin7/SkinDescription.txt deleted file mode 100644 index 3d86a1b..0000000 --- a/Src/Skins/ClassicSkin7/SkinDescription.txt +++ /dev/null @@ -1,156 +0,0 @@ -; Classic skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7103 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -; Main_large_icons - 0 - use small icons in the main menu, 1 - use large icons. Default is 0 -; The small icons are 16x16 if the DPI is 96, 20x20 for DPI 120 and 24x24 for DPI 144 -; The large icons are twice the size of the small icons -; The sub-menus always use small icons -Main_large_icons=1 - -; Main_padding - number of pixels to add on left/top/right/bottom of the menu -Main_padding=2,2,3,2,100% -Main_search_padding=2,2,3,2,100% -Main_jump_padding=4,2,3,2,100% -Main2_padding=4,2,2,2,100% -Main_text_padding=1,3,8,4,100% -Main2_text_padding=1,7,8,7,100% -Main_arrow_padding=8,10,100% -Main_split_arrow_padding=10,10,100% -Main_search_indent=16 - -; Main_thin_frame - use a thin 1-pixel frame instead of the thick 3D frame -; This parameter is only used in Classic mode, and when Main_opacity is "solid". Default is 0 -Main_thin_frame=1 - -Main_no_icons2=1 - - -; Shutdown button - -Shutdown_padding=8,10,0,5,100%,100% -Shutdown_text_padding=10,2,12,4,100% -Shutdown_icon_padding=5,3,-5,3,100% -Shutdown_arrow_padding=7,9,100% -Shutdown_selection=0 -Shutdown_search_selection=0 -Shutdown_jump_selection=0 - - -; Programs tree - -Programs_text_padding=0,2,0,2,100% -Programs_icon_padding=2,2,2,2,100% - - -; LIST SECTION -List_text_padding=0,0,4,0,100% -List_arrow_padding=5,7,100% -List_separator_text_padding=2,0,4,0,100% -List_separator_icon_padding=5,3,4,3,100% -List_separator_split_text_padding=2,0,4,0,100% -List_separator_split_icon_padding=5,3,4,3,100% - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; These have the same meaning as the Main_... properties -Submenu_padding=2,2,2,2 -Submenu_thin_frame=1 -Submenu_separator_text_padding=3,6,4,6,100% - -;SEARCH SECTION - -Search_bitmap=2 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - - - -; OPTIONS - -OPTION USER_IMAGE=#7014,1 -OPTION SMALL_ICONS=#7011,0 -OPTION THICK_BORDER=#7013,0 -OPTION SOLID_SELECTION=#7012,0 - -[USER_IMAGE] -User_bitmap=5 -User_image_size=48 -User_image_offset=8,8 -User_image_padding=8,8 - -[SMALL_ICONS] -Main_large_icons=0 -Caption_font="Segoe UI",normal,15 -User_font="Segoe UI",bold,16 -Main2_text_padding=1,3,8,4,100% -Main_arrow_padding=7,9,100% -Main_split_arrow_padding=9,9,100% - -[THICK_BORDER] -Main_thin_frame=0 -Submenu_thin_frame=0 - -[SOLID_SELECTION] -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 - -[NOT SOLID_SELECTION] -Main_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Main_selection=1 -Main_selection_slices_X=3,1,3 -Main_selection_slices_Y=4,66,4 -Main_new_selection=4 -Main_new_selection_slices_X=3,1,3 -Main_new_selection_slices_Y=4,66,4 -Main_split_selection=3 -Main_split_selection_slices_X=3,1,3,2,1,3 -Main_split_selection_slices_Y=4,66,4 -Main2_split_selection=3 -Main2_split_selection_slices_X=3,1,3,2,1,3 -Main2_split_selection_slices_Y=4,66,4 -Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Submenu_selection=1 -Submenu_selection_slices_X=3,1,3 -Submenu_selection_slices_Y=4,66,4 -Submenu_new_selection=4 -Submenu_new_selection_slices_X=3,1,3 -Submenu_new_selection_slices_Y=4,66,4 -Submenu_split_selection=3 -Submenu_split_selection_slices_X=3,1,3,2,1,3 -Submenu_split_selection_slices_Y=4,66,4 -List_selection=1 -List_selection_slices_X=3,1,3 -List_selection_slices_Y=4,66,4 -List_split_selection=3 -List_split_selection_slices_X=3,1,3,2,1,3 -List_split_selection_slices_Y=4,66,4 -Programs_new_selection=4 -Programs_new_selection_slices_X=3,1,3 -Programs_new_selection_slices_Y=4,66,4 - -[USER_IMAGE AND HIGH_DPI] -User_bitmap=6 -User_image_size=64 diff --git a/Src/Skins/ClassicSkin7/new_item.bmp b/Src/Skins/ClassicSkin7/new_item.bmp deleted file mode 100644 index ff35bd6..0000000 Binary files a/Src/Skins/ClassicSkin7/new_item.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin7/resource.h b/Src/Skins/ClassicSkin7/resource.h deleted file mode 100644 index 2cac1fc..0000000 --- a/Src/Skins/ClassicSkin7/resource.h +++ /dev/null @@ -1,20 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by ClassicSkin.rc -// -#define IDB_BITMAP1 101 -#define IDB_BITMAP2 102 -#define IDR_SKIN1 103 -#define IDR_SKIN2 104 -#define IDI_ICON1 105 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 106 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/ClassicSkin7/search.bmp b/Src/Skins/ClassicSkin7/search.bmp deleted file mode 100644 index c53c0ff..0000000 Binary files a/Src/Skins/ClassicSkin7/search.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin7/selection.bmp b/Src/Skins/ClassicSkin7/selection.bmp deleted file mode 100644 index 8cfb705..0000000 Binary files a/Src/Skins/ClassicSkin7/selection.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin7/split_selection.bmp b/Src/Skins/ClassicSkin7/split_selection.bmp deleted file mode 100644 index 9f3debb..0000000 Binary files a/Src/Skins/ClassicSkin7/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin7/user_bitmap.bmp b/Src/Skins/ClassicSkin7/user_bitmap.bmp deleted file mode 100644 index 31837d4..0000000 Binary files a/Src/Skins/ClassicSkin7/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/ClassicSkin7/user_bitmap150.bmp b/Src/Skins/ClassicSkin7/user_bitmap150.bmp deleted file mode 100644 index 2fbc231..0000000 Binary files a/Src/Skins/ClassicSkin7/user_bitmap150.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/FullGlass.rc b/Src/Skins/FullGlass/FullGlass.rc deleted file mode 100644 index 8819199..0000000 --- a/Src/Skins/FullGlass/FullGlass.rc +++ /dev/null @@ -1,105 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap1.bmp" -2 BITMAP "main_bitmap2.bmp" -3 BITMAP "main_bitmap3.bmp" -4 BITMAP "main_bitmap_mask.bmp" -5 BITMAP "submenu_bitmap1.bmp" -6 BITMAP "submenu_bitmap2.bmp" -7 BITMAP "submenu_bitmap3.bmp" -8 BITMAP "submenu_bitmap_mask.bmp" -9 BITMAP "selection.bmp" -10 BITMAP "pager.bmp" -11 BITMAP "pager_arrows.bmp" -12 BITMAP "separatorV.bmp" -13 BITMAP "menu_arrows.bmp" -14 BITMAP "menu_arrows2.bmp" -15 BITMAP "user_bitmap.bmp" -16 BITMAP "user_bitmap32.bmp" -17 BITMAP "split_selection.bmp" -18 BITMAP "new_item.bmp" -19 BITMAP "pager_arrows150.bmp" - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/FullGlass/FullGlass.vcxproj b/Src/Skins/FullGlass/FullGlass.vcxproj deleted file mode 100644 index a238ff2..0000000 --- a/Src/Skins/FullGlass/FullGlass.vcxproj +++ /dev/null @@ -1,78 +0,0 @@ - - - - - Resource - Win32 - - - - {066C9721-26D5-4C4D-868E-50C2BA0A8196} - FullGlass - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - .skin - Full Glass - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/FullGlass/FullGlass.vcxproj.filters b/Src/Skins/FullGlass/FullGlass.vcxproj.filters deleted file mode 100644 index fc467ec..0000000 --- a/Src/Skins/FullGlass/FullGlass.vcxproj.filters +++ /dev/null @@ -1,87 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/FullGlass/SkinDescription.txt b/Src/Skins/FullGlass/SkinDescription.txt deleted file mode 100644 index 4d14e3b..0000000 --- a/Src/Skins/FullGlass/SkinDescription.txt +++ /dev/null @@ -1,298 +0,0 @@ -; Full Glass skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7104 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - - -; CAPTION SECTION - -Caption_font="Segoe UI",normal,18 -Caption_text_color=#FFFFFF -Caption_glow_color=#000000 -Caption_glow_size=10 -Caption_padding=4,8,2,16,100% - - -; MAIN MENU SECTION - -Main_bitmap=2 - -; Main_bitmap_mask - a bitmap or a solid color in #RRGGBB format that is used to blend Main_bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main_bitmap_mask=4 - -; fullglass, fullalpha - new opacity modes that are used for transparent menu background -Main_opacity=fullglass -Main_bitmap_slices_X=8,1,0,6,1,13 -Main_bitmap_slices_Y=13,330,10 - -Main_large_icons=1 -Main_font="Segoe UI",normal,-10 - -; Main_glow_size - the width of the text glow (0 - no glow). Defaults to 0. The glow is always white (glow doesn't work if Windows is in Classic mode) -Main_glow_size=10 - -Main_text_color=#000000,#000000,#3F3F3F,#7F7F7F - -; Main_arrow_color - colors for the sub-menu arrow (normal and selected). The normal color is also used for the drag/drop insertion marker -; If Main_arrow_color is not set, the first 2 colors of Main_text_color are used -Main_arrow_color=#FFFFFF,#000000 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow=13 - -Main_padding=3,10,10,8 -Main_arrow_padding=8,9,100% -Main_selection=9 -Main_selection_slices_X=3,1,3 -Main_selection_slices_Y=4,66,4 -Main_split_selection=17 -Main_split_selection_slices_X=3,1,3,2,1,3 -Main_split_selection_slices_Y=4,66,4 -Main_new_selection=18 -Main_new_selection_slices_X=3,1,3 -Main_new_selection_slices_Y=4,66,4 - -; Main_icon_padding - extra padding on the left/top/right/bottom of the icon in the main menu -; The default is 3,3,3,3 -Main_icon_padding=3,3,3,3,100% - -; Main_text_padding - extra padding on the left/top/right/bottom of the text in the main menu -; The default is 1,2,8,2 -Main_text_padding=1,0,8,2,100% - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=10 - -; Main_pager_slices_X, Main_pager_slices_Y - the slices for Main_pager -Main_pager_slices_X=3,1,3 -Main_pager_slices_Y=4,4,4 - -; Main_pager_arrows - a bitmap that contains the arrow image to draw on top of the Main_pager background -Main_pager_arrows=11 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - -; SUB-MENU SECTION - -; Bitmap for the sub-menu background -Submenu_bitmap=6 -Submenu_bitmap_mask=8 -Submenu_opacity=fullglass -Submenu_bitmap_slices_X=11,1,11 -Submenu_bitmap_slices_Y=11,330,10 -Submenu_text_padding=1,0,8,2,100% - -; Submenu_offset - additional horizontal offset for sub-menus. It reduces the overlap when the sub-menus have thick borders -Submenu_offset=10 -Submenu_padding=8,8,8,8 -Submenu_font="Segoe UI",normal,-9 -Submenu_glow_size=10 -Submenu_text_color=#000000,#000000,#3F3F3F,#7F7F7F -Submenu_arrow_color=#000000,#000000 -Submenu_arrow=14 -Submenu_selection=9 -Submenu_selection_slices_X=3,1,3 -Submenu_selection_slices_Y=4,66,4 -Submenu_new_selection=18 -Submenu_new_selection_slices_X=3,1,3 -Submenu_new_selection_slices_Y=4,66,4 -Submenu_pager=10 -Submenu_pager_slices_X=3,1,3 -Submenu_pager_slices_Y=4,4,4 -Submenu_pager_arrows=11 -Submenu_split_selection=17 -Submenu_split_selection_slices_X=3,1,3,2,1,3 -Submenu_split_selection_slices_Y=4,66,4 -Submenu_separator_text_padding=3,8,4,8,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_separatorV - bitmap to use as a vertical separator between multiple columns -Submenu_separatorV=12 - -; Submenu_separatorV_slices_Y - vertical slices for Submenu_separatorV -Submenu_separatorV_slices_Y=2,16,2 - -Submenu_separator_font="Segoe UI",normal,-10 - - -; OPTIONS - -OPTION RADIOGROUP=#7010,0,TRANSPARENT_LESS|TRANSPARENT_DEF|TRANSPARENT_MORE -OPTION TRANSPARENT_LESS=#7018,0 -OPTION TRANSPARENT_DEF=#7017,1 -OPTION TRANSPARENT_MORE=#7019,0 -OPTION NO_ICONS=#7008,0, TWO_COLUMNS -OPTION CAPTION=#7003,1, NOT TWO_COLUMNS, 0 -OPTION USER_IMAGE=#7014,0 -OPTION USER_NAME=#7015,0 -OPTION CENTER_NAME=#7004,0, USER_NAME, 0 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7007,0 -OPTION DISABLE_MASK=#7005,0 - -Classic1_options=TRANSPARENT_LESS, TRANSPARENT_DEF, TRANSPARENT_MORE, CAPTION, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK -Classic2_options=TRANSPARENT_LESS, TRANSPARENT_DEF, TRANSPARENT_MORE, NO_ICONS, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK -AllPrograms_options=variations, LARGE_FONT - -[NOT CAPTION] -Main_bitmap_slices_X=0,0,0,15,1,13 -Main_padding=12,10,10,8 - - -[SMALL_ICONS] -Main_large_icons=0 -Main_font="Segoe UI",normal,-9 -Caption_font="Segoe UI",normal,15 -Main_arrow=14 -Main_arrow_padding=7,7,100% - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 - - -[TWO_COLUMNS] -Main_bitmap_slices_X=14,1,0,0,1,13 -Main2_opacity=fullglass -Main_padding=12,10,2,8 -Main2_padding=4,10,10,8 -Main_separatorV=12 -Main_separatorV_slices_Y=2,16,2 -Main2_split_selection=17 -Main2_split_selection_slices_X=3,1,3,2,1,3 -Main2_split_selection_slices_Y=4,66,4 - - -[USER_IMAGE] -User_image_size=48 -User_frame_position=-16,10 -User_bitmap=15 -User_image_offset=8,8 -User_image_alpha=200 - -[USER_IMAGE AND SMALL_ICONS] -User_frame_position=-10,10 -User_image_size=32 -User_bitmap=16 - -[USER_NAME] -User_font="Segoe UI",bold,22 -User_text_color=#FFFFFF -User_glow_color=#000000 -User_glow_size=5 -User_name_align=right - - -[USER_NAME AND TWO_COLUMNS] -User_name_align=right2 - -[USER_NAME AND SMALL_ICONS] -User_font="Segoe UI",bold,16 - -[USER_NAME AND NOT USER_IMAGE] -User_name_position=10,18,-10,58 - - -; TWO_COLUMNS -[USER_IMAGE AND TWO_COLUMNS AND NOT SMALL_ICONS] -Main2_padding=4,73,10,8 -User_name_position=8,20,-80,60 - -[USER_NAME AND NOT USER_IMAGE AND TWO_COLUMNS AND NOT SMALL_ICONS] -Main2_padding=4,53,10,8 -User_name_position=8,10,-13,50 - -[USER_IMAGE AND TWO_COLUMNS AND SMALL_ICONS] -Main2_padding=4,57,10,8 -User_name_position=8,14,-58,49 - -[USER_NAME AND NOT USER_IMAGE AND TWO_COLUMNS AND SMALL_ICONS] -Main2_padding=4,47,10,8 -User_name_position=8,10,-13,45 - - -; CAPTION -[USER_IMAGE AND CAPTION AND NOT SMALL_ICONS] -Main_padding=3,73,10,8 -User_name_position=35,20,-80,60 - -[USER_NAME AND NOT USER_IMAGE AND CAPTION AND NOT SMALL_ICONS] -Main_padding=3,53,10,8 -User_name_position=35,10,-13,50 - -[USER_IMAGE AND CAPTION AND SMALL_ICONS] -Main_padding=3,57,10,8 -User_name_position=35,14,-58,49 - -[USER_NAME AND NOT USER_IMAGE AND CAPTION AND SMALL_ICONS] -Main_padding=3,47,10,8 -User_name_position=35,10,-13,45 - - -; NO CAPTION -[USER_IMAGE AND NOT TWO_COLUMNS AND NOT CAPTION AND NOT SMALL_ICONS] -Main_padding=12,73,10,8 -User_name_position=15,20,-80,60 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS AND NOT CAPTION AND NOT SMALL_ICONS] -Main_padding=12,53,10,8 -User_name_position=15,10,-13,50 - -[USER_IMAGE AND NOT TWO_COLUMNS AND NOT CAPTION AND SMALL_ICONS] -Main_padding=12,57,10,8 -User_name_position=15,14,-58,49 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS AND NOT CAPTION AND SMALL_ICONS] -Main_padding=12,47,10,8 -User_name_position=15,10,-13,45 - - -[CENTER_NAME] -User_name_align=center - -[CENTER_NAME AND TWO_COLUMNS] -User_name_align=center2 - -[NOT USER_NAME] -User_name_position=0,0,0,0 - -[NO_ICONS] -Main_no_icons2=1 -Main2_text_padding=1,7,8,7,100% - -[NO_ICONS AND SMALL_ICONS] -Main2_text_padding=1,3,8,4,100% - -[DISABLE_MASK] -Main_bitmap_mask=0 -Submenu_bitmap_mask=0 - -[TRANSPARENT_LESS] -Main_bitmap=3 -Submenu_bitmap=7 -Main_text_color=#FFFFFF,#000000,#3F3F3F,#7F7F7F -Main_glow_size=0 -Submenu_text_color=#FFFFFF,#000000,#3F3F3F,#7F7F7F -Submenu_arrow_color=#FFFFFF,#000000 -Submenu_glow_size=0 -Submenu_separator_text_color=#50D0ff - -[TRANSPARENT_MORE] -Main_bitmap=1 -Submenu_bitmap=5 - -[HIGH_DPI] -Main_pager_arrows=19 -Submenu_pager_arrows=19 diff --git a/Src/Skins/FullGlass/main_bitmap1.bmp b/Src/Skins/FullGlass/main_bitmap1.bmp deleted file mode 100644 index f50a2e4..0000000 Binary files a/Src/Skins/FullGlass/main_bitmap1.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/main_bitmap2.bmp b/Src/Skins/FullGlass/main_bitmap2.bmp deleted file mode 100644 index 88c2d59..0000000 Binary files a/Src/Skins/FullGlass/main_bitmap2.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/main_bitmap3.bmp b/Src/Skins/FullGlass/main_bitmap3.bmp deleted file mode 100644 index a32aa9d..0000000 Binary files a/Src/Skins/FullGlass/main_bitmap3.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/main_bitmap_mask.bmp b/Src/Skins/FullGlass/main_bitmap_mask.bmp deleted file mode 100644 index 93a2b3e..0000000 Binary files a/Src/Skins/FullGlass/main_bitmap_mask.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/menu_arrows.bmp b/Src/Skins/FullGlass/menu_arrows.bmp deleted file mode 100644 index b6b520f..0000000 Binary files a/Src/Skins/FullGlass/menu_arrows.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/menu_arrows2.bmp b/Src/Skins/FullGlass/menu_arrows2.bmp deleted file mode 100644 index b079644..0000000 Binary files a/Src/Skins/FullGlass/menu_arrows2.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/new_item.bmp b/Src/Skins/FullGlass/new_item.bmp deleted file mode 100644 index 84cf51f..0000000 Binary files a/Src/Skins/FullGlass/new_item.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/pager.bmp b/Src/Skins/FullGlass/pager.bmp deleted file mode 100644 index 9066add..0000000 Binary files a/Src/Skins/FullGlass/pager.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/pager_arrows.bmp b/Src/Skins/FullGlass/pager_arrows.bmp deleted file mode 100644 index 719d524..0000000 Binary files a/Src/Skins/FullGlass/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/pager_arrows150.bmp b/Src/Skins/FullGlass/pager_arrows150.bmp deleted file mode 100644 index 5dcea2a..0000000 Binary files a/Src/Skins/FullGlass/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/resource.h b/Src/Skins/FullGlass/resource.h deleted file mode 100644 index 055f6f7..0000000 --- a/Src/Skins/FullGlass/resource.h +++ /dev/null @@ -1,17 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by FullGlass.rc -// -#define IDB_BITMAP1 103 -#define IDB_BITMAP2 104 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 105 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/FullGlass/selection.bmp b/Src/Skins/FullGlass/selection.bmp deleted file mode 100644 index 6d6d727..0000000 Binary files a/Src/Skins/FullGlass/selection.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/separatorV.bmp b/Src/Skins/FullGlass/separatorV.bmp deleted file mode 100644 index d3e01e2..0000000 Binary files a/Src/Skins/FullGlass/separatorV.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/split_selection.bmp b/Src/Skins/FullGlass/split_selection.bmp deleted file mode 100644 index 0ba4665..0000000 Binary files a/Src/Skins/FullGlass/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/submenu_bitmap1.bmp b/Src/Skins/FullGlass/submenu_bitmap1.bmp deleted file mode 100644 index 0c1eee2..0000000 Binary files a/Src/Skins/FullGlass/submenu_bitmap1.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/submenu_bitmap2.bmp b/Src/Skins/FullGlass/submenu_bitmap2.bmp deleted file mode 100644 index 2c592b2..0000000 Binary files a/Src/Skins/FullGlass/submenu_bitmap2.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/submenu_bitmap3.bmp b/Src/Skins/FullGlass/submenu_bitmap3.bmp deleted file mode 100644 index 2cf5765..0000000 Binary files a/Src/Skins/FullGlass/submenu_bitmap3.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/submenu_bitmap_mask.bmp b/Src/Skins/FullGlass/submenu_bitmap_mask.bmp deleted file mode 100644 index be9aa30..0000000 Binary files a/Src/Skins/FullGlass/submenu_bitmap_mask.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/user_bitmap.bmp b/Src/Skins/FullGlass/user_bitmap.bmp deleted file mode 100644 index 9c60bcf..0000000 Binary files a/Src/Skins/FullGlass/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/FullGlass/user_bitmap32.bmp b/Src/Skins/FullGlass/user_bitmap32.bmp deleted file mode 100644 index 9b3318d..0000000 Binary files a/Src/Skins/FullGlass/user_bitmap32.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/Metallic7.rc b/Src/Skins/Metallic7/Metallic7.rc deleted file mode 100644 index 72cd234..0000000 --- a/Src/Skins/Metallic7/Metallic7.rc +++ /dev/null @@ -1,121 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "main_bitmap_search.bmp" -3 BITMAP "selection_new.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "split_selection.bmp" -7 BITMAP "programs.bmp" -8 BITMAP "programs150.bmp" -9 BITMAP "main_bitmap_jump.bmp" -10 BITMAP "selection.bmp" -11 BITMAP "separator.bmp" -12 BITMAP "user_bitmap.bmp" -13 BITMAP "user_bitmap150.bmp" -14 BITMAP "scroll_button.bmp" -15 BITMAP "scroll_bg.bmp" -16 BITMAP "scroll_arrows.bmp" -17 BITMAP "scroll_grip.bmp" -18 BITMAP "shutdown.bmp" -19 BITMAP "main_pattern.bmp" -20 BITMAP "main_pattern_search.bmp" -21 BITMAP "main_pattern_jump.bmp" -22 BITMAP "search_pattern.bmp" -23 BITMAP "search_background.bmp" -24 BITMAP "search_background_mask.bmp" -25 BITMAP "pager_arrows150.bmp" -26 BITMAP "user_mask.bmp" -27 BITMAP "user_mask150.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// IMAGE -// - -51 IMAGE "shine.jpg" -52 IMAGE "metal.png" -53 IMAGE "screw.png" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/Metallic7/Metallic7.vcxproj b/Src/Skins/Metallic7/Metallic7.vcxproj deleted file mode 100644 index 76dce8c..0000000 --- a/Src/Skins/Metallic7/Metallic7.vcxproj +++ /dev/null @@ -1,88 +0,0 @@ - - - - - Resource - Win32 - - - - {CA5BFC96-428D-42F5-9F7D-CDDE048A357C} - Metallic7 - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - false - true - Metallic - .skin7 - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/Metallic7/Metallic7.vcxproj.filters b/Src/Skins/Metallic7/Metallic7.vcxproj.filters deleted file mode 100644 index 8459550..0000000 --- a/Src/Skins/Metallic7/Metallic7.vcxproj.filters +++ /dev/null @@ -1,117 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/Metallic7/SkinDescription.txt b/Src/Skins/Metallic7/SkinDescription.txt deleted file mode 100644 index e2bd6e2..0000000 --- a/Src/Skins/Metallic7/SkinDescription.txt +++ /dev/null @@ -1,519 +0,0 @@ -; Metallic skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7110 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - -;MAIN BITMAP SECTION - describes the background of the main menu - -; Main_bitmap - ID of a bitmap resource to use for the main menu in "large icons" mode. Default is no bitmap -; The bitmap must contain a rectangular portion of opaque solid color behind the menu items -Main_bitmap=1 -Main_bitmap_search=2 -Main_bitmap_jump=9 - -; Patterns - The pattern system allows you to specify up to 4 separate tileable textures that cover the main menu. By default the patterns cover the entire menu unless -; a pattern mask is specified. The Red, Green, Blue and Alpha channels of the mask determine where on the main menu the patterns will show. -; For Classic styles there is only one mask Main_pattern_mask. For Windows 7 styles there are additional masks Main_pattern_search_mask, Main_pattern_jump_mask, -; Search_pattern_mask, Search_pattern_search_mask and Search_pattern_jump_mask -Pattern1=51 -Pattern2=52 -Main_pattern_mask=19 -Main_pattern_search_mask=20 -Main_pattern_jump_mask=21 -Search_pattern_mask=22 - - -; Emblems - The emblems are additional images that are drawn on top of the main menu without any stretching. You can have up to 10 separate emblems. -; Each emblem has an bitmap, padding and alignment. The padding specifies how many pixels to leave on each side of the emblem. The alignment specifies how to -; align the image relative to the menu. The horizontal alignment can be left, left1, left2, right, right1, right2, center, center1, center2 or corner. -; The vertical alignment can be top, bottom, center or corner. -; Emblems can have a mask similar to the patterns, which will restrict where on the menu the emblem will show. The Classic style only needs one mask Main_emblem_mask. -; For Windows 7 styles there are additional masks Main_emblem_search_mask, Main_emblem_jump_mask, Search_emblem_mask, Search_emblem_search_mask and Search_emblem_jump_mask -; Only the first 4 emblems are affected by the mask. The other 6 will be drawn in full. -;Main_emblem1=53 -;Main_emblem1_padding=12,12,12,12 -;Main_emblem1_alignH=left -;Main_emblem1_alignV=bottom -;Main_emblem2=53 -;Main_emblem2_padding=12,12,12,12 -;Main_emblem2_alignH=right -;Main_emblem2_alignV=bottom - - -; Main_opacity - sets the opacity for the main menu. The values are: -; solid - the menu is a solid rectangle. It is filled with the Main_background color and the Main_bitmap is drawn on top -; region - the pixels from the bitmap with alpha=0 are fully transparent. The other pixels are fully opaque. The Main_background color is not used -; alpha - the full alpha for each pixel is used. Alpha goes from 0 (transparent) to 255 (opaque). The Main_background color is not used -; glass - the full alpha for each pixel is used. Alpha goes from 0 (transparent), 1 (full glass) to 255 (no glass). The Main_background color is not used -; The default is "solid" -Main_opacity=alpha -Main2_opacity=alpha - -; Main_shadow - enables or disables the drop shadow. The values are: -; 0 - disable shadow. useful for alpha skins with complex outline. The alpha opacity only supports rectangular shadows, which may not look good for some shapes -; 1 - enable shadow (can be overriden by the start menu settings or the Windows settings) -; glass - enable the shadow if the menu is using glass or fullglass opacity. Use with glass skins with complex outline. Windows 8 and 8.1 don't support glass, so the menu -; falls back to using alpha opacity. It may be desirable to turn off the shadow in that case -Main_shadow=0 - -; Main_bitmap_slices_X - must contain 6 numbers. The sum of the numbers must be equal to the width of the Main_bitmap image -; number 1 is the width of the image to use for the left edge -; number 2 is the width of the image to stretch and use as the background for the caption -; number 3 is the width of the image to use on the right of the caption -; number 4 is the width of the image to use on the left of the menu -; number 5 is the width of the image to stretch and use as the background for the menu -; number 6 is the width of the image to use for the right edge -; If the second number is 0 there is no caption -Main_bitmap_slices_X=20,6,11,4,6,17 -Main_bitmap_search_slices_X=17,30,17 -Main_bitmap_jump_slices_X=20,6,11,4,6,17 - -; Main_bitmap_slices_Y - must contain 3 numbers. The sum of the numbers must be equal to the height of the Main_bitmap image -; number 1 is the height of the image to use for the top edge -; number 2 is the height of the image to stretch and use as the background -; number 3 is the height of the image to use for the bottom edge -Main_bitmap_slices_Y=16,32,16 -Main_bitmap_search_slices_Y=16,32,16 -Main_bitmap_jump_slices_Y=16,32,16 - - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -; Main_large_icons - 0 - use small icons in the main menu, 1 - use large icons. Default is 0 -; The small icons are 16x16 if the DPI is 96, 20x20 for DPI 120 and 24x24 for DPI 144 -; The large icons are twice the size of the small icons -; The sub-menus always use small icons -Main_large_icons=1 - -; Main_font - font to use for the main menu items. The format is "font name",[normal/bold],point size. Defaults to the system font -Main_font="Segoe UI",normal,-9 - -; Main_background - RRGGBB color to use for the background of the main menu. Defaults to the system menu color -Main_background=#FFFFFF - -; Main_text_color - 4 colors for the text in the main menu. By default the system color is used -; color 1 is for normal menu items -; color 2 is for selected menu items -; color 3 is for disabled menu items -; color 4 is for selected disabled menu items -Main_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Main_text_padding=1,2,8,2,100% - -; Main_padding - number of pixels to add on left/top/right/bottom of the menu -; If Main_bitmap is not set, the width of the standard window border is subtracted from the right/top/bottom sides (and the left side if there is no caption) -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Main_padding=13,13,6,11 -Main_search_padding=13,13,13,11 -Main_jump_padding=3,13,13,11 - -; Main_selection - describes how the selected menu item is drawn in the main menu. Can be: -; - an ID of a bitmap resource (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; - a #RRGGBB color -; Default is the system highlight color -Main_selection=10 - -; Main_selection_slices_X, Main_selection_slices_Y - slices of the selection mark image. The first and third are the corners, and the middle is stretched to fill the area -Main_selection_slices_X=3,3,3 -Main_selection_slices_Y=3,3,3 - -; Main_split_selection - a bitmap to use for the split-button selection (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; If Main_split_selection, the split buttons will be drawn using Main_selection -Main_split_selection=6 - -; Main_split_selection_slices_X - slices of the split selection mark image. The first 3 are for the main button portion. The last 3 are for the arrow portion -Main_split_selection_slices_X=3,2,1,1,2,3 -Main_split_selection_slices_Y=3,3,3 - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=4 - -; Main_pager_slices_X, Main_pager_slices_Y - the slices for Main_pager -Main_pager_slices_X=3,10,3 -Main_pager_slices_Y=3,9,3 - -; Main_pager_arrows - a bitmap that contains the arrow image to draw on top of the Main_pager background -Main_pager_arrows=5 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow_color=#000000,#000000 -Main_arrow_padding=8,10,100% -Main_split_arrow_padding=10,10,100% - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=11 - -; Main_separator_slices_X - the horizontal slices for the separator bitmap -Main_separator_slices_X=6,6,6 - -; Second column - -Main2_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Main2_text_padding=1,7,8,7,100% -Main2_padding=3,10,4,11 -Main2_selection=10 -Main2_selection_slices_X=3,3,3 -Main2_selection_slices_Y=3,3,3 -Main2_split_selection=6 -Main2_split_selection_slices_X=3,2,1,1,2,3 -Main2_split_selection_slices_Y=3,3,3 -Main2_arrow_color=#000000,#000000 -Main2_separator=11 -Main2_separator_slices_X=6,6,6 -Main2_icon_padding=4,4,3,4,100% -Main2_arrow_padding=7,7,100% -Main_new_selection=3 -Main_new_selection_slices_X=3,3,3 -Main_new_selection_slices_Y=3,3,3 - -; Shutdown button - -Shutdown_selection=18 -Shutdown_search_selection=18 -Shutdown_jump_selection=18 -Shutdown_selection_slices_X=3,2,1,1,2,3 -Shutdown_selection_slices_Y=3,3,3 -Shutdown_padding=0,9,0,4,100% -Shutdown_text_padding=10,5,12,6,100% -Shutdown_icon_padding=5,3,-5,3,100% -Shutdown_arrow_padding=7,9,100% - - -; Programs tree - -Programs_background=transparent -Programs_selection=10 -Programs_selection_slices_X=3,3,3 -Programs_selection_slices_Y=3,3,3 -Programs_new_selection=3 -Programs_new_selection_slices_X=3,3,3 -Programs_new_selection_slices_Y=3,3,3 -Programs_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Programs_text_padding=0,3,0,3,100% -Programs_icon_padding=2,2,2,2,100% -Programs_indent=-5 -Programs_icon=7 -Programs_icon_mask=#FF0000 -Programs_icon_tint1=#000000 -Programs_icon_selected=7 - -Programs_button_text_padding=1,5,8,5,100% -Programs_button_new_text_padding=1,5,8,5,100% - -; Scrollbar -Scrollbar_button=14 -Scrollbar_button_slices_X=2,3,2 -Scrollbar_button_slices_Y=2,3,2 -Scrollbar_thumb=14 -Scrollbar_thumb_slices_X=2,3,2 -Scrollbar_thumb_slices_Y=2,3,2 -Scrollbar_background=15 -Scrollbar_background_slices_X=3,3,3 -Scrollbar_background_slices_Y=3,3,3 -Scrollbar_arrows=16 -Scrollbar_gripper=17 - - -; LIST SECTION -List_selection=10 -List_selection_slices_X=3,3,3 -List_selection_slices_Y=3,3,3 -List_split_selection=6 -List_split_selection_slices_X=3,2,1,1,2,3 -List_split_selection_slices_Y=3,3,3 -List_text_padding=0,3,4,3,100% -List_separator_text_color=#003399,#003399 -List_separator_text_padding=3,0,0,0,100% -List_separator_icon_padding=6,3,3,3,100% -List_arrow_padding=5,7,100% -List_separator_split_text_color=#003399,#003399 -List_separator_split_text_padding=3,0,0,0,100% -List_separator_split_icon_padding=6,3,3,3,100% - -Main_search_indent=16 - -Search_padding=6,16,10,6,100%,100%,0%,100% -Search_frame=0 -Search_background=23 -Search_background_mask=24 -Search_background_slices_X=7,2,3, 0,5,10, 0,1,9 -Search_background_slices_Y=10,1,3, 0,4,0, 2,1,7 -Search_background_padding=7,5,6,4 -Search_hint_font="Segoe UI",italic,-9 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; The width of the standard window border is subtracted from all sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Submenu_padding=2,2,2,2 - -; These have the same meaning as the Main_... properties -Submenu_thin_frame=1 -Submenu_background=#E0E0E0 -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Submenu_selection=10 -Submenu_selection_slices_X=3,3,3 -Submenu_selection_slices_Y=3,3,3 -Submenu_split_selection=6 -Submenu_split_selection_slices_X=3,2,1,1,2,3 -Submenu_split_selection_slices_Y=3,3,3 -Submenu_pager=4 -Submenu_pager_slices_X=4,4,4 -Submenu_pager_slices_Y=3,3,3 -Submenu_pager_arrows=5 -Submenu_arrow_color=#000000,#000000 -Submenu_separator=11 -Submenu_separator_slices_X=6,6,6 -Submenu_separator_text_padding=3,4,4,8,100% -Submenu_separator_font="Segoe UI",normal,-10 -Submenu_separator_text_color=#0062ad -Submenu_new_selection=3 -Submenu_new_selection_slices_X=3,3,3 -Submenu_new_selection_slices_Y=3,3,3 - - -; OPTIONS - -OPTION USER_IMAGE=#7014,1 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7006,0 -OPTION RADIOGROUP=#7026,0,COLOR_SILVER|COLOR_GOLD|COLOR_STEEL|COLOR_TITANIUM|COLOR_CUSTOM -OPTION COLOR_SILVER=#7030,1 -OPTION COLOR_GOLD=#7031,0 -OPTION COLOR_STEEL=#7032,0 -OPTION COLOR_TITANIUM=#7033,0 -OPTION_COLOR COLOR_CUSTOM=#7027,0,TRUE,FFFFFF -OPTION RADIOGROUP=#7028,0,SUBCOLOR_SILVER|SUBCOLOR_GOLD|SUBCOLOR_STEEL|SUBCOLOR_TITANIUM|SUBCOLOR_CUSTOM -OPTION SUBCOLOR_SILVER=#7030,1 -OPTION SUBCOLOR_GOLD=#7031,0 -OPTION SUBCOLOR_STEEL=#7032,0 -OPTION SUBCOLOR_TITANIUM=#7033,0 -OPTION_COLOR SUBCOLOR_CUSTOM=#7029,0,TRUE,FFFFFF -OPTION_IMAGE CUSTOM_IMAGE_LEFT=#7034,0 -OPTION_IMAGE CUSTOM_IMAGE_RIGHT=#7035,0 -OPTION_COLOR CUSTOM_TEXT_COLOR_LEFT=#7036,0,TRUE,000000 -OPTION_COLOR CUSTOM_TEXT_COLOR_RIGHT=#7037,0,TRUE,000000 -OPTION_NUMBER CUSTOM_TEXT_SIZE=#7038,0,TRUE,12 - - -[SMALL_ICONS] -Main_large_icons=0 -Main_arrow_padding=7,9,100% -Main_split_arrow_padding=9,9,100% -Main2_text_padding=1,3,8,4,100% - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Shutdown_text_padding=10,5,12,6,100% -Search_hint_font="Segoe UI",italic,-10 -Main_text_padding=1,0,8,2,100% -Submenu_text_padding=1,0,8,2,100% -Programs_text_padding=0,0,0,2,100% - - - -[USER_IMAGE] -; User_bitmap - the frame around the user picture -User_bitmap=12 -User_mask=26 -User_image_size=48 -User_frame_position=36 -User_image_offset=8,8 -User_bitmap_outside=1 - - -[HIGH_DPI] -Submenu_pager_arrows=25 -Programs_icon=8 -Programs_button_text_padding=1,0,8,1,100% -Programs_button_new_text_padding=1,0,8,1,100% - -[USER_IMAGE AND HIGH_DPI] -User_bitmap=13 -User_image_size=64 -User_mask=27 -User_frame_position=40 - - -[NOT COLOR_SILVER] -Main_bitmap_mask=#3F0000 -Main_bitmap_search_mask=#3F0000 -Main_bitmap_jump_mask=#3F0000 -Pattern1_mask=#3F0000 -Pattern2_mask=#3F0000 -Main_selection_mask=#3F0000 -Main2_selection_mask=#3F0000 -Main_split_selection_mask=#3F0000 -Main2_split_selection_mask=#3F0000 -List_selection_mask=#3F0000 -List_split_selection_mask=#3F0000 -Programs_selection_mask=#3F0000 -Shutdown_selection_mask=#3F0000 -Shutdown_search_selection_mask=#3F0000 -Shutdown_jump_selection_mask=#3F0000 -Search_background_mask=#3F0000 -Scrollbar_button_mask=#3F0000 -Scrollbar_thumb_mask=#3F0000 -Scrollbar_background_mask=#3F0000 - - -[SUBCOLOR_SILVER] -Submenu_selection_mask=#3F0000 -Submenu_split_selection_mask=#3F0000 -Submenu_background_mask=0 -Submenu_selection_tint1=#808080 -Submenu_split_selection_tint1=#808080 -Submenu_background=#FFFFFF - -[NOT SUBCOLOR_SILVER] -Submenu_selection_mask=#3F0000 -Submenu_split_selection_mask=#3F0000 -Submenu_background_mask=#3F0000 - - -[COLOR_GOLD] -Main_bitmap_tint1=#FFFF00 -Main_bitmap_search_tint1=#FFFF00 -Main_bitmap_jump_tint1=#FFFF00 -Pattern1_tint1=#FFFF00 -Pattern2_tint1=#FFFF00 -Main_selection_tint1=#FFFF00 -Main2_selection_tint1=#FFFF00 -Main_split_selection_tint1=#FFFF00 -Main2_split_selection_tint1=#FFFF00 -List_selection_tint1=#FFFF00 -List_split_selection_tint1=#FFFF00 -Programs_selection_tint1=#FFFF00 -Shutdown_selection_tint1=#FFFF00 -Shutdown_search_selection_tint1=#FFFF00 -Shutdown_jump_selection_tint1=#FFFF00 -Search_background_tint1=#FFFF00 -Scrollbar_button_tint1=#FFFF00 -Scrollbar_thumb_tint1=#FFFF00 -Scrollbar_background_tint1=#FFFF00 - -[SUBCOLOR_GOLD] -Submenu_selection_tint1=#FFFF00 -Submenu_split_selection_tint1=#FFFF00 -Submenu_background_tint1=#FFFF00 - - -[COLOR_STEEL] -Main_bitmap_tint1=#BFBFFF -Main_bitmap_search_tint1=#BFBFFF -Main_bitmap_jump_tint1=#BFBFFF -Pattern1_tint1=#BFBFFF -Pattern2_tint1=#BFBFFF -Main_selection_tint1=#BFBFFF -Main2_selection_tint1=#BFBFFF -Main_split_selection_tint1=#BFBFFF -Main2_split_selection_tint1=#BFBFFF -List_selection_tint1=#BFBFFF -List_split_selection_tint1=#BFBFFF -Programs_selection_tint1=#BFBFFF -Shutdown_selection_tint1=#BFBFFF -Shutdown_search_selection_tint1=#BFBFFF -Shutdown_jump_selection_tint1=#BFBFFF -Search_background_tint1=#BFBFFF -Scrollbar_button_tint1=#BFBFFF -Scrollbar_thumb_tint1=#BFBFFF -Scrollbar_background_tint1=#BFBFFF - -[SUBCOLOR_STEEL] -Submenu_selection_tint1=#BFBFFF -Submenu_split_selection_tint1=#BFBFFF -Submenu_background_tint1=#BFBFFF - - -[COLOR_TITANIUM] -Main_bitmap_tint1=#000000 -Main_bitmap_search_tint1=#000000 -Main_bitmap_jump_tint1=#000000 -Pattern1_tint1=#000000 -Pattern2_tint1=#000000 -Main_selection_tint1=#000000 -Main2_selection_tint1=#000000 -Main_split_selection_tint1=#000000 -Main2_split_selection_tint1=#000000 -List_selection_tint1=#000000 -List_split_selection_tint1=#000000 -Programs_selection_tint1=#000000 -Shutdown_selection_tint1=#000000 -Shutdown_search_selection_tint1=#000000 -Shutdown_jump_selection_tint1=#000000 -Search_background_tint1=#000000 -Scrollbar_button_tint1=#000000 -Scrollbar_thumb_tint1=#000000 -Scrollbar_background_tint1=#000000 - -[SUBCOLOR_TITANIUM] -Submenu_selection_tint1=#000000 -Submenu_split_selection_tint1=#000000 -Submenu_background_tint1=#000000 - - -[COLOR_CUSTOM] -Main_bitmap_tint1=@COLOR_CUSTOM@ -Main_bitmap_search_tint1=@COLOR_CUSTOM@ -Main_bitmap_jump_tint1=@COLOR_CUSTOM@ -Pattern1_tint1=@COLOR_CUSTOM@ -Pattern2_tint1=@COLOR_CUSTOM@ -Main_selection_tint1=@COLOR_CUSTOM@ -Main2_selection_tint1=@COLOR_CUSTOM@ -Main_split_selection_tint1=@COLOR_CUSTOM@ -Main2_split_selection_tint1=@COLOR_CUSTOM@ -List_selection_tint1=@COLOR_CUSTOM@ -List_split_selection_tint1=@COLOR_CUSTOM@ -Programs_selection_tint1=@COLOR_CUSTOM@ -Shutdown_selection_tint1=@COLOR_CUSTOM@ -Shutdown_search_selection_tint1=@COLOR_CUSTOM@ -Shutdown_jump_selection_tint1=@COLOR_CUSTOM@ -Search_background_tint1=@COLOR_CUSTOM@ -Scrollbar_button_tint1=@COLOR_CUSTOM@ -Scrollbar_thumb_tint1=@COLOR_CUSTOM@ -Scrollbar_background_tint1=@COLOR_CUSTOM@ - -[SUBCOLOR_CUSTOM] -Submenu_selection_tint1=@SUBCOLOR_CUSTOM@ -Submenu_split_selection_tint1=@SUBCOLOR_CUSTOM@ -Submenu_background_tint1=@SUBCOLOR_CUSTOM@ - -[CUSTOM_IMAGE_RIGHT] -Pattern1=@CUSTOM_IMAGE_RIGHT@ - -[CUSTOM_IMAGE_LEFT] -Pattern2=@CUSTOM_IMAGE_LEFT@ - -[CUSTOM_TEXT_COLOR_LEFT] -Main_text_color=@CUSTOM_TEXT_COLOR_LEFT@,#000000,#7F7F7F,#7F7F7F -Programs_text_color=@CUSTOM_TEXT_COLOR_LEFT@,#000000,#7F7F7F,#7F7F7F -List_separator_text_color=@CUSTOM_TEXT_COLOR_LEFT@,#000000 -List_separator_split_text_color=@CUSTOM_TEXT_COLOR_LEFT@,#000000 -Main_arrow_color=@CUSTOM_TEXT_COLOR_LEFT@,#000000 -Programs_icon_tint1=@CUSTOM_TEXT_COLOR_LEFT@ - - -[CUSTOM_TEXT_COLOR_RIGHT] -Main2_text_color=@CUSTOM_TEXT_COLOR_RIGHT@,#000000,#7F7F7F,#7F7F7F -Main2_arrow_color=@CUSTOM_TEXT_COLOR_RIGHT@,#000000 -Shutdown_text_color=@CUSTOM_TEXT_COLOR_RIGHT@,#000000 -Shutdown_arrow_color=@CUSTOM_TEXT_COLOR_RIGHT@,#000000 - - -[CUSTOM_TEXT_SIZE] -Main_font="Segoe UI",normal,@CUSTOM_TEXT_SIZE@ -Search_hint_font="Segoe UI",italic,@CUSTOM_TEXT_SIZE@ -Submenu_font="Segoe UI",normal,@CUSTOM_TEXT_SIZE@ diff --git a/Src/Skins/Metallic7/main_bitmap.bmp b/Src/Skins/Metallic7/main_bitmap.bmp deleted file mode 100644 index 83b76e7..0000000 Binary files a/Src/Skins/Metallic7/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/main_bitmap_jump.bmp b/Src/Skins/Metallic7/main_bitmap_jump.bmp deleted file mode 100644 index 3b2ea62..0000000 Binary files a/Src/Skins/Metallic7/main_bitmap_jump.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/main_bitmap_search.bmp b/Src/Skins/Metallic7/main_bitmap_search.bmp deleted file mode 100644 index 5989ebd..0000000 Binary files a/Src/Skins/Metallic7/main_bitmap_search.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/main_pattern.bmp b/Src/Skins/Metallic7/main_pattern.bmp deleted file mode 100644 index 1a0ed48..0000000 Binary files a/Src/Skins/Metallic7/main_pattern.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/main_pattern_jump.bmp b/Src/Skins/Metallic7/main_pattern_jump.bmp deleted file mode 100644 index 0a94d88..0000000 Binary files a/Src/Skins/Metallic7/main_pattern_jump.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/main_pattern_search.bmp b/Src/Skins/Metallic7/main_pattern_search.bmp deleted file mode 100644 index 88bcddc..0000000 Binary files a/Src/Skins/Metallic7/main_pattern_search.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/metal.png b/Src/Skins/Metallic7/metal.png deleted file mode 100644 index 8023fea..0000000 Binary files a/Src/Skins/Metallic7/metal.png and /dev/null differ diff --git a/Src/Skins/Metallic7/pager.bmp b/Src/Skins/Metallic7/pager.bmp deleted file mode 100644 index 4e5cc78..0000000 Binary files a/Src/Skins/Metallic7/pager.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/pager_arrows.bmp b/Src/Skins/Metallic7/pager_arrows.bmp deleted file mode 100644 index febfbd4..0000000 Binary files a/Src/Skins/Metallic7/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/pager_arrows150.bmp b/Src/Skins/Metallic7/pager_arrows150.bmp deleted file mode 100644 index 5d0b65c..0000000 Binary files a/Src/Skins/Metallic7/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/programs.bmp b/Src/Skins/Metallic7/programs.bmp deleted file mode 100644 index a899d0f..0000000 Binary files a/Src/Skins/Metallic7/programs.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/programs150.bmp b/Src/Skins/Metallic7/programs150.bmp deleted file mode 100644 index e3ef3b0..0000000 Binary files a/Src/Skins/Metallic7/programs150.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/resource.h b/Src/Skins/Metallic7/resource.h deleted file mode 100644 index b536528..0000000 --- a/Src/Skins/Metallic7/resource.h +++ /dev/null @@ -1,18 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Chromium7.rc -// -#define IDR_SKIN1 103 -#define IDB_BITMAP1 107 -#define IDB_BITMAP2 108 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 109 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/Metallic7/screw.png b/Src/Skins/Metallic7/screw.png deleted file mode 100644 index 516c0bb..0000000 Binary files a/Src/Skins/Metallic7/screw.png and /dev/null differ diff --git a/Src/Skins/Metallic7/scroll_arrows.bmp b/Src/Skins/Metallic7/scroll_arrows.bmp deleted file mode 100644 index 05a7336..0000000 Binary files a/Src/Skins/Metallic7/scroll_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/scroll_bg.bmp b/Src/Skins/Metallic7/scroll_bg.bmp deleted file mode 100644 index b98dbdf..0000000 Binary files a/Src/Skins/Metallic7/scroll_bg.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/scroll_button.bmp b/Src/Skins/Metallic7/scroll_button.bmp deleted file mode 100644 index 4e4326e..0000000 Binary files a/Src/Skins/Metallic7/scroll_button.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/scroll_grip.bmp b/Src/Skins/Metallic7/scroll_grip.bmp deleted file mode 100644 index 14309c4..0000000 Binary files a/Src/Skins/Metallic7/scroll_grip.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/search_background.bmp b/Src/Skins/Metallic7/search_background.bmp deleted file mode 100644 index 74c07cf..0000000 Binary files a/Src/Skins/Metallic7/search_background.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/search_background_mask.bmp b/Src/Skins/Metallic7/search_background_mask.bmp deleted file mode 100644 index bcaa769..0000000 Binary files a/Src/Skins/Metallic7/search_background_mask.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/search_pattern.bmp b/Src/Skins/Metallic7/search_pattern.bmp deleted file mode 100644 index 25d0226..0000000 Binary files a/Src/Skins/Metallic7/search_pattern.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/selection.bmp b/Src/Skins/Metallic7/selection.bmp deleted file mode 100644 index 04ad80e..0000000 Binary files a/Src/Skins/Metallic7/selection.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/selection_new.bmp b/Src/Skins/Metallic7/selection_new.bmp deleted file mode 100644 index 7d1a412..0000000 Binary files a/Src/Skins/Metallic7/selection_new.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/separator.bmp b/Src/Skins/Metallic7/separator.bmp deleted file mode 100644 index 68145b2..0000000 Binary files a/Src/Skins/Metallic7/separator.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/shine.jpg b/Src/Skins/Metallic7/shine.jpg deleted file mode 100644 index 9badc9f..0000000 Binary files a/Src/Skins/Metallic7/shine.jpg and /dev/null differ diff --git a/Src/Skins/Metallic7/shine.png b/Src/Skins/Metallic7/shine.png deleted file mode 100644 index c37cd2a..0000000 Binary files a/Src/Skins/Metallic7/shine.png and /dev/null differ diff --git a/Src/Skins/Metallic7/shutdown.bmp b/Src/Skins/Metallic7/shutdown.bmp deleted file mode 100644 index c39b290..0000000 Binary files a/Src/Skins/Metallic7/shutdown.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/split_selection.bmp b/Src/Skins/Metallic7/split_selection.bmp deleted file mode 100644 index bd8f12f..0000000 Binary files a/Src/Skins/Metallic7/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/user_bitmap.bmp b/Src/Skins/Metallic7/user_bitmap.bmp deleted file mode 100644 index 7c70cb0..0000000 Binary files a/Src/Skins/Metallic7/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/user_bitmap150.bmp b/Src/Skins/Metallic7/user_bitmap150.bmp deleted file mode 100644 index b014c92..0000000 Binary files a/Src/Skins/Metallic7/user_bitmap150.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/user_mask.bmp b/Src/Skins/Metallic7/user_mask.bmp deleted file mode 100644 index 402d2d4..0000000 Binary files a/Src/Skins/Metallic7/user_mask.bmp and /dev/null differ diff --git a/Src/Skins/Metallic7/user_mask150.bmp b/Src/Skins/Metallic7/user_mask150.bmp deleted file mode 100644 index c802f2c..0000000 Binary files a/Src/Skins/Metallic7/user_mask150.bmp and /dev/null differ diff --git a/Src/Skins/Metro/Metro.rc b/Src/Skins/Metro/Metro.rc deleted file mode 100644 index 951a654..0000000 --- a/Src/Skins/Metro/Metro.rc +++ /dev/null @@ -1,106 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap_mask.bmp" -2 BITMAP "submenu.bmp" -3 BITMAP "separator_submenuV.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "separator.bmp" -7 BITMAP "separator2.bmp" -8 BITMAP "separatorXP.bmp" -9 BITMAP "search.bmp" -10 BITMAP "icon_frame.bmp" -11 BITMAP "pins.bmp" -12 BITMAP "user_bitmap.bmp" -13 BITMAP "user_bitmap_small.bmp" -14 BITMAP "main_bitmap2.bmp" -15 BITMAP "main_bitmap_mask2.bmp" -16 BITMAP "glass_mask.bmp" -17 BITMAP "glass_selection.bmp" -18 BITMAP "glass_selection2.bmp" -19 BITMAP "glass_new_selection.bmp" - - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/Metro/Metro.vcxproj b/Src/Skins/Metro/Metro.vcxproj deleted file mode 100644 index faad553..0000000 --- a/Src/Skins/Metro/Metro.vcxproj +++ /dev/null @@ -1,77 +0,0 @@ - - - - - Resource - Win32 - - - - {63BAF573-170B-4FA0-AEE3-16E04F3E9DF5} - Metro - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - .skin - Metro - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/Metro/Metro.vcxproj.filters b/Src/Skins/Metro/Metro.vcxproj.filters deleted file mode 100644 index 7128603..0000000 --- a/Src/Skins/Metro/Metro.vcxproj.filters +++ /dev/null @@ -1,84 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/Metro/SkinDescription.txt b/Src/Skins/Metro/SkinDescription.txt deleted file mode 100644 index 6dc7337..0000000 --- a/Src/Skins/Metro/SkinDescription.txt +++ /dev/null @@ -1,362 +0,0 @@ -; Metro skin - -About=#7109 -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0: -; * full glass -; * skinnable sub-menus -; * skinnable pager buttons -; * skinnable arrows -; Set to 3 if the skin uses any of the new features introduced in Open-Shell 4.2.1: -; * skinnable scrollbars -; * tint colors -; * start screen colors -Version=3 - -Main_opacity=region -Main2_opacity=region -Main_large_icons=1 - -Main_background=$SystemAccentDark1|$StartBackground -Main_bitmap=$SystemAccentDark1|$StartBackground -Main_bitmap_tint1=$StartHoverBackground -Main_bitmap_tint2=$StartSelectionHoverBackground -Main_bitmap_mask=1 -Main_bitmap_slices_X=2,1,2,0,1,0 -Main_bitmap_slices_Y=2,96,2 -Main_padding=0,2,2,2 - -Main_font="Segoe UI",normal,-9 - -Main_text_color=$StartPrimaryText,$StartSelectionPrimaryText,$StartSecondaryText,$StartSelectionSecondaryText - -Main_selection=$SystemAccentDark2|$StartSelectionBackground - -Caption_font="Segoe UI",normal,18 -Caption_text_color=$StartPrimaryText -Caption_padding=3,3,3,12,100% - - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=$SystemAccentDark1|$StartBackground -Main_pager_tint1=$ControlDefaultDarkButtonBackgroundRest -Main_pager_tint2=$ControlDefaultDarkButtonBackgroundPressed -Main_pager_mask=4 -Main_pager_slices_X=3,10,3 -Main_pager_slices_Y=3,9,3 -Main_pager_arrows=$SystemAccentDark1|$StartBackground -Main_pager_arrows_tint1=$ControlDefaultDarkButtonTextRest -Main_pager_arrows_tint2=$ControlDefaultDarkButtonTextPressed -Main_pager_arrows_mask=5 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow_color=$StartPrimaryText,$StartSelectionPrimaryText -Main_arrow_padding=8,9,100% -Main_split_arrow_padding=10,10,100% - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=$SystemAccentDark1|$StartBackground -Main_separator_tint1=$StartSystemTilesBackground -Main_separator_mask=6 -Main_separator_slices_X=8,6,8 -Main_search_indent=16 -Main_new_selection=$SystemAccentDark1|$StartBackground -Main_new_selection_tint1=$StartInlineErrorText -Main_new_selection_mask=#7F0000 - -; Second column - -Main2_text_padding=1,7,8,7,100% -Main2_padding=8,2,2,2 -Main2_separator=$SystemAccentDark1|$StartBackground -Main2_separator_tint1=$StartSystemTilesBackground -Main2_separator_mask=8 -Main2_separator_slices_X=8,6,8 -Main2_icon_padding=4,4,3,4,100% -Main2_arrow_padding=7,7,100% -Main2_new_selection=$SystemAccentDark1|$StartBackground -Main2_new_selection_tint1=$StartInlineErrorText -Main2_new_selection_mask=#7F0000 - -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none -Pin_bitmap=11 -Pin_bitmap_tint1=$StartSecondaryText -Pin_bitmap_mask=#FF0000 - - -Search_hint_font="Segoe UI",italic,-9 -Search_text_color=$ControlDarkRichEditTextRest,$ControlDarkRichEditTextRest -Search_text_color_tint1=$ControlDarkRichEditBackgroundRest -Search_text_color_mask=#000000,#7F0000 -Search_text_background=$SystemAccentDark1|$StartBackground -Search_text_background_tint1=$ControlDarkRichEditBackgroundRest -Search_text_background_mask=#FF0000 -Search_bitmap=9 -Search_bitmap_tint1=$StartPrimaryText -Search_bitmap_mask=#FF0000 - -;SUB-MENU SECTION - describes the look of the sub-menus - -; The width of the standard window border is subtracted from all sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Submenu_padding=2,2,2,2 - -; These have the same meaning as the Main_... properties -Submenu_opacity=region -Submenu_opacity=region -Submenu_bitmap=$SystemAccentDark1|$StartBackground -Submenu_bitmap_tint1=$StartHighlight -Submenu_bitmap_mask=2 -Submenu_bitmap_slices_X=4,4,4 -Submenu_bitmap_slices_Y=4,4,4 - -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=$StartPrimaryText,$StartSelectionPrimaryText,$StartSecondaryText,$StartSelectionSecondaryText -Submenu_selection=$SystemAccentDark2|$StartSelectionBackground - -Submenu_pager=$SystemAccentDark1|$StartBackground -Submenu_pager_tint1=$ControlDefaultDarkButtonBackgroundRest -Submenu_pager_tint2=$ControlDefaultDarkButtonBackgroundPressed -Submenu_pager_mask=4 -Submenu_pager_slices_X=3,10,3 -Submenu_pager_slices_Y=3,9,3 -Submenu_pager_arrows=$SystemAccentDark1|$StartBackground -Submenu_pager_arrows_tint1=$ControlDefaultDarkButtonTextRest -Submenu_pager_arrows_tint2=$ControlDefaultDarkButtonTextPressed -Submenu_pager_arrows_mask=5 - -Submenu_arrow_color=$StartPrimaryText,$StartSelectionPrimaryText -Submenu_separator=7 -Submenu_separator_tint1=$SystemAccentDark1|$StartBackground -Submenu_separator_tint2=$StartSystemTilesBackground -Submenu_separator_mask=#7F8000 -Submenu_separator_slices_X=8,6,8 -Submenu_separator_font="Segoe UI",bold,-9 -Submenu_separator_text_padding=3,4,4,8,100% -Submenu_separator_text_color=$StartSelectionSecondaryText,$StartSelectionPrimaryText -Submenu_separator_icon_padding=6,3,3,3,100% -Submenu_separator_split_font="Segoe UI",bold,-9 - - -Submenu_new_selection=$SystemAccentDark1|$StartBackground -Submenu_new_selection_tint1=$StartInlineErrorText -Submenu_new_selection_mask=#7F0000 - -Submenu_separatorV=$SystemAccentDark1|$StartBackground -Submenu_separatorV_tint1=$StartSystemTilesBackground -Submenu_separatorV_mask=3 -Submenu_separatorV_slices_Y=5,5,5 - - -; OPTIONS - -OPTION NO_ICONS=#7008,0, TWO_COLUMNS -OPTION CAPTION=#7003,1, NOT TWO_COLUMNS, 0 -OPTION USER_IMAGE=#7014,0 -OPTION USER_NAME=#7015,0 -OPTION CENTER_NAME=#7004,0, USER_NAME, 0 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7006,0 -OPTION ICON_FRAMES=#7023,1, NOT SMALL_ICONS, 0 -OPTION OPAQUE=#7025,0 - -Classic1_options=CAPTION, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, ICON_FRAMES, OPAQUE -Classic2_options=NO_ICONS, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, ICON_FRAMES, OPAQUE -AllPrograms_options=LARGE_FONT - -[NOT CAPTION] -Main_bitmap_mask=14 -Main_bitmap_slices_X=0,0,0,4,4,4 -Main_bitmap_slices_Y=2,8,2 -Main_padding=2,2,2,2 - - -[ICON_FRAMES AND NOT SMALL_ICONS] -Main_icon_frame=$SystemAccentDark1|$StartBackground -Main_icon_frame_tint1=$SystemAccentDark2|$StartSelectionBackground -Main_icon_frame_mask=10 -Main_icon_frame_slices_X=4,4,4 -Main_icon_frame_slices_Y=4,4,4 -Main_icon_frame_offset=3,3 -Main_icon_padding=6,6,6,6,100% -Main_text_padding=5,2,8,2,100% -Main2_icon_padding=6,6,6,6,100% -Main2_text_padding=5,2,8,2,100% - - -[SMALL_ICONS] -Main_large_icons=0 -Caption_font="Segoe UI",normal,15 - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Search_hint_font="Segoe UI",italic,-10 - - -[TWO_COLUMNS] -Main_bitmap_mask=14 -Main_bitmap_slices_X=2,2,2,2,2,2 -Main_bitmap_slices_Y=2,8,2 -Main_padding=2,2,3,2 -Main_separatorV=$SystemAccentDark1|$StartBackground -Main_separatorV_tint1=$StartSystemTilesBackground -Main_separatorV_mask=3 -Main_separatorV_slices_Y=5,5,5 - - -[USER_IMAGE] -; User_image_size - the size of the user image to use. Default is 0, which means the user image is not displayed -; The size must be compatible with the size of the frame bitmap User_bitmap. The value is usually 48 -User_image_size=48 -User_mask=12 - -; User_frame_position - horizontal and vertical position of the user image frame in the main menu. -; Positive numbers mean offset from the left and the top. Negative numbers mean offset from the bottom and the right -; The horizontal position can also be "center", "center1" and "center2" to center the image relative to the whole menu or to the first or second column -User_frame_position=-10,10 - -[USER_IMAGE AND SMALL_ICONS] -User_image_size=32 -User_mask=13 - -[USER_NAME] -User_name_position=10,10,-75,50 -User_name_align=right -User_text_color=$StartSecondaryText -User_font="Segoe UI",bold,18 -User_glow_size=0 - -[HIGH_DPI] -User_font="Segoe UI",bold,24 - -[SMALL_ICONS] -User_font="Segoe UI",bold,16 - -[SMALL_ICONS AND HIGH_DPI] -User_font="Segoe UI",bold,20 - -[USER_NAME AND TWO_COLUMNS] -User_name_align=right2 - - -; TWO COLUMNS -[USER_IMAGE AND TWO_COLUMNS] -Main2_padding=4,73,2,2 -User_name_position=10,17,-70,57 - -[USER_IMAGE AND TWO_COLUMNS AND SMALL_ICONS] -Main2_padding=4,57,2,2 -User_name_position=10,10,-54,40 - -[USER_NAME AND NOT USER_IMAGE AND TWO_COLUMNS] -Main2_padding=4,50,2,2 -User_name_position=10,5,-10,45 - -[USER_NAME AND NOT USER_IMAGE AND TWO_COLUMNS AND SMALL_ICONS] -Main2_padding=4,40,2,2 -User_name_position=10,5,-10,35 - - -; NO CAPTION -[USER_IMAGE AND NOT TWO_COLUMNS] -Main_padding=2,73,2,2 -User_name_position=15,15,-70,55 - -[USER_IMAGE AND NOT TWO_COLUMNS AND SMALL_ICONS] -Main_padding=2,57,2,2 -User_name_position=15,10,-54,40 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS] -Main_padding=4,47,2,2 -User_name_position=15,5,-15,45 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS AND SMALL_ICONS] -Main_padding=4,40,2,2 -User_name_position=15,5,-15,35 - - -; CAPTION -[USER_IMAGE AND NOT TWO_COLUMNS AND CAPTION] -User_name_position=35,15,-70,55 - -[USER_IMAGE AND NOT TWO_COLUMNS AND SMALL_ICONS AND CAPTION] -User_name_position=35,10,-54,40 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS AND CAPTION] -User_name_position=35,5,-15,45 - -[USER_NAME AND NOT USER_IMAGE AND NOT TWO_COLUMNS AND SMALL_ICONS AND CAPTION] -User_name_position=35,5,-15,35 - - -[CENTER_NAME] -User_name_align=center - -[CENTER_NAME AND TWO_COLUMNS] -User_name_align=center2 - -[NOT USER_NAME] -User_name_position=0,0,0,0 - -[NO_ICONS] -Main_no_icons2=1 -Main2_text_padding=1,7,8,7,100% - -[NO_ICONS AND SMALL_ICONS] -Main2_text_padding=1,3,8,4,100% - - - -[TOUCH_ENABLED AND NOT SMALL_ICONS] -Main2_text_padding=1,10,8,10,100% -Main_split_arrow_padding=14,14,100% -Main2_split_arrow_padding=14,14,100% - -[TOUCH_ENABLED AND NOT SMALL_ICONS AND NOT NO_ICONS AND ICON_FRAMES] -Main2_text_padding=5,2,8,2,100% - -[NOT OPAQUE] -Main_opacity=fullglass -Main2_opacity=fullglass - -Main_bitmap_mask=15 - -Main_selection_mask=17 -Main_selection_tint1=$StartPrimaryText -Main_selection_slices_X=2,2,2 -Main_selection_slices_Y=2,2,2 - -Main_split_selection=$SystemAccentDark2|$StartSelectionBackground -Main_split_selection_mask=18 -Main_split_selection_tint1=$StartPrimaryText -Main_split_selection_slices_X=2,2,2,2,2,2 -Main_split_selection_slices_Y=2,2,2 -Main_new_selection_mask=19 -Main_new_selection_slices_X=2,2,2 -Main_new_selection_slices_Y=2,2,2 - -Main2_split_selection=$SystemAccentDark2|$StartSelectionBackground -Main2_split_selection_mask=18 -Main2_split_selection_tint1=$StartPrimaryText -Main2_split_selection_slices_X=2,2,2,2,2,2 -Main2_split_selection_slices_Y=2,2,2 -Main2_new_selection_mask=19 -Main2_new_selection_slices_X=2,2,2 -Main2_new_selection_slices_Y=2,2,2 - -Main_separator_tint1=$StartPrimaryText -Main2_separator_tint1=$StartPrimaryText - -[NOT OPAQUE AND NOT CAPTION] -Main_bitmap_mask=16 -Main_bitmap_slices_X=0,0,0,2,2,2 -Main_bitmap_slices_Y=2,2,2 - -[NOT OPAQUE AND TWO_COLUMNS] -Main_bitmap_mask=16 -Main_bitmap_slices_X=2,2,2,2,2,2 -Main_bitmap_slices_Y=2,2,2 diff --git a/Src/Skins/Metro/glass_mask.bmp b/Src/Skins/Metro/glass_mask.bmp deleted file mode 100644 index bdeeb62..0000000 Binary files a/Src/Skins/Metro/glass_mask.bmp and /dev/null differ diff --git a/Src/Skins/Metro/glass_new_selection.bmp b/Src/Skins/Metro/glass_new_selection.bmp deleted file mode 100644 index e078e52..0000000 Binary files a/Src/Skins/Metro/glass_new_selection.bmp and /dev/null differ diff --git a/Src/Skins/Metro/glass_selection.bmp b/Src/Skins/Metro/glass_selection.bmp deleted file mode 100644 index 2cfe64c..0000000 Binary files a/Src/Skins/Metro/glass_selection.bmp and /dev/null differ diff --git a/Src/Skins/Metro/glass_selection2.bmp b/Src/Skins/Metro/glass_selection2.bmp deleted file mode 100644 index e7a3e2f..0000000 Binary files a/Src/Skins/Metro/glass_selection2.bmp and /dev/null differ diff --git a/Src/Skins/Metro/icon_frame.bmp b/Src/Skins/Metro/icon_frame.bmp deleted file mode 100644 index d893e27..0000000 Binary files a/Src/Skins/Metro/icon_frame.bmp and /dev/null differ diff --git a/Src/Skins/Metro/main_bitmap2.bmp b/Src/Skins/Metro/main_bitmap2.bmp deleted file mode 100644 index 6c47751..0000000 Binary files a/Src/Skins/Metro/main_bitmap2.bmp and /dev/null differ diff --git a/Src/Skins/Metro/main_bitmap_mask.bmp b/Src/Skins/Metro/main_bitmap_mask.bmp deleted file mode 100644 index 157a37d..0000000 Binary files a/Src/Skins/Metro/main_bitmap_mask.bmp and /dev/null differ diff --git a/Src/Skins/Metro/main_bitmap_mask2.bmp b/Src/Skins/Metro/main_bitmap_mask2.bmp deleted file mode 100644 index 21fe93e..0000000 Binary files a/Src/Skins/Metro/main_bitmap_mask2.bmp and /dev/null differ diff --git a/Src/Skins/Metro/pager.bmp b/Src/Skins/Metro/pager.bmp deleted file mode 100644 index 8a9612c..0000000 Binary files a/Src/Skins/Metro/pager.bmp and /dev/null differ diff --git a/Src/Skins/Metro/pager_arrows.bmp b/Src/Skins/Metro/pager_arrows.bmp deleted file mode 100644 index c6f5685..0000000 Binary files a/Src/Skins/Metro/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Metro/pins.bmp b/Src/Skins/Metro/pins.bmp deleted file mode 100644 index bb7b72c..0000000 Binary files a/Src/Skins/Metro/pins.bmp and /dev/null differ diff --git a/Src/Skins/Metro/resource.h b/Src/Skins/Metro/resource.h deleted file mode 100644 index 9f3da2b..0000000 --- a/Src/Skins/Metro/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Metro.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/Metro/search.bmp b/Src/Skins/Metro/search.bmp deleted file mode 100644 index bb7e6a8..0000000 Binary files a/Src/Skins/Metro/search.bmp and /dev/null differ diff --git a/Src/Skins/Metro/separator.bmp b/Src/Skins/Metro/separator.bmp deleted file mode 100644 index 540a86a..0000000 Binary files a/Src/Skins/Metro/separator.bmp and /dev/null differ diff --git a/Src/Skins/Metro/separator2.bmp b/Src/Skins/Metro/separator2.bmp deleted file mode 100644 index b98b197..0000000 Binary files a/Src/Skins/Metro/separator2.bmp and /dev/null differ diff --git a/Src/Skins/Metro/separatorXP.bmp b/Src/Skins/Metro/separatorXP.bmp deleted file mode 100644 index 9990f20..0000000 Binary files a/Src/Skins/Metro/separatorXP.bmp and /dev/null differ diff --git a/Src/Skins/Metro/separator_submenuV.bmp b/Src/Skins/Metro/separator_submenuV.bmp deleted file mode 100644 index 32ab9ba..0000000 Binary files a/Src/Skins/Metro/separator_submenuV.bmp and /dev/null differ diff --git a/Src/Skins/Metro/submenu.bmp b/Src/Skins/Metro/submenu.bmp deleted file mode 100644 index 1b83b3d..0000000 Binary files a/Src/Skins/Metro/submenu.bmp and /dev/null differ diff --git a/Src/Skins/Metro/user_bitmap.bmp b/Src/Skins/Metro/user_bitmap.bmp deleted file mode 100644 index 7fd08fc..0000000 Binary files a/Src/Skins/Metro/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Metro/user_bitmap_small.bmp b/Src/Skins/Metro/user_bitmap_small.bmp deleted file mode 100644 index 5155cad..0000000 Binary files a/Src/Skins/Metro/user_bitmap_small.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/Metro7.rc b/Src/Skins/Metro7/Metro7.rc deleted file mode 100644 index 88dd99b..0000000 --- a/Src/Skins/Metro7/Metro7.rc +++ /dev/null @@ -1,119 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "main_bitmap_search.bmp" -3 BITMAP "main_bitmap_jump.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "separator.bmp" -7 BITMAP "programs.bmp" -8 BITMAP "separatorXP.bmp" -9 BITMAP "search.bmp" -10 BITMAP "icon_frame.bmp" -11 BITMAP "separator2.bmp" -12 BITMAP "user_bitmap.bmp" -13 BITMAP "search_background.bmp" -14 BITMAP "shutdown.bmp" -15 BITMAP "pins.bmp" -16 BITMAP "scroll_button.bmp" -17 BITMAP "scroll_arrows.bmp" -18 BITMAP "user_bitmap150.bmp" -19 BITMAP "separator2150.bmp" -20 BITMAP "separator150.bmp" -21 BITMAP "pager_arrows150.bmp" -22 BITMAP "programs150.bmp" -23 BITMAP "submenu.bmp" -24 BITMAP "separator_submenuV.bmp" -25 BITMAP "main_bitmapt.bmp" -26 BITMAP "main_bitmap_searcht.bmp" -27 BITMAP "main_bitmap_jumpt.bmp" -28 BITMAP "glass_selection.bmp" -29 BITMAP "glass_selection2.bmp" -30 BITMAP "search_backgroundt.bmp" -31 BITMAP "shutdownt.bmp" -32 BITMAP "scroll_buttont.bmp" -33 BITMAP "glass_new_selection.bmp" - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/Metro7/Metro7.vcxproj b/Src/Skins/Metro7/Metro7.vcxproj deleted file mode 100644 index 27b78b7..0000000 --- a/Src/Skins/Metro7/Metro7.vcxproj +++ /dev/null @@ -1,85 +0,0 @@ - - - - - Resource - Win32 - - - - {598AB4AC-008E-4501-90B3-C5213834C1DA} - Metro7 - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - Metro - .skin7 - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/Metro7/Metro7.vcxproj.filters b/Src/Skins/Metro7/Metro7.vcxproj.filters deleted file mode 100644 index e89970f..0000000 --- a/Src/Skins/Metro7/Metro7.vcxproj.filters +++ /dev/null @@ -1,108 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/Metro7/SkinDescription.txt b/Src/Skins/Metro7/SkinDescription.txt deleted file mode 100644 index 2f9c255..0000000 --- a/Src/Skins/Metro7/SkinDescription.txt +++ /dev/null @@ -1,357 +0,0 @@ -; Metro skin - -About=#7109 -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0: -; * full glass -; * skinnable sub-menus -; * skinnable pager buttons -; * skinnable arrows -; Set to 3 if the skin uses any of the new features introduced in Open-Shell 4.2.1: -; * skinnable scrollbars -; * tint colors -; * start screen colors -Version=3 - -Main_opacity=region -Main2_opacity=region -Main_large_icons=1 - -Main_bitmap=$SystemAccentDark1|$StartBackground -Main_bitmap_tint1=$StartHighlight -Main_bitmap_mask=1 -Main_bitmap_slices_X=12,1,6,0,1,6 -Main_bitmap_slices_Y=12,10,11 -Main_padding=11,11,4,9 - -Main_bitmap_search=$SystemAccentDark1|$StartBackground -Main_bitmap_search_tint1=$StartHighlight -Main_bitmap_search_mask=2 -Main_bitmap_search_slices_X=12,1,12 -Main_bitmap_search_slices_Y=12,10,11 -Main_search_padding=11,11,11,9 - -Main_bitmap_jump=$SystemAccentDark1|$StartBackground -Main_bitmap_jump_tint1=$StartHighlight -Main_bitmap_jump_mask=3 -Main_bitmap_jump_slices_X=12,1,2,2,1,12 -Main_bitmap_jump_slices_Y=12,10,11 -Main_jump_padding=3,10,11,9 - -Main_font="Segoe UI",normal,-9 - -Main_text_color=$StartPrimaryText,$StartSelectionPrimaryText,$StartSecondaryText,$StartSelectionSecondaryText - -Main_selection=$SystemAccentDark2|$StartSelectionBackground - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=$SystemAccentDark1|$StartBackground -Main_pager_tint1=$ControlDefaultDarkButtonBackgroundRest -Main_pager_tint2=$ControlDefaultDarkButtonBackgroundPressed -Main_pager_mask=4 -Main_pager_slices_X=3,10,3 -Main_pager_slices_Y=3,9,3 -Main_pager_arrows=$SystemAccentDark1|$StartBackground -Main_pager_arrows_tint1=$ControlDefaultDarkButtonTextRest -Main_pager_arrows_tint2=$ControlDefaultDarkButtonTextPressed -Main_pager_arrows_mask=5 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow_color=$StartPrimaryText,$StartSelectionPrimaryText -Main_arrow_padding=8,10,100% -Main_split_arrow_padding=10,10,100% - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=$SystemAccentDark1|$StartBackground -Main_separator_tint1=$StartSystemTilesBackground -Main_separator_tint2=$StartSystemTilesBackground -Main_separator_mask=6 -Main_separator_slices_X=8,6,8 -Main_search_indent=16 -Main_new_selection=$SystemAccentDark1|$StartBackground -Main_new_selection_tint1=$StartInlineErrorText -Main_new_selection_mask=#7F0000 - -; Second column - -Main2_text_padding=1,7,8,7,100% -Main2_padding=3,10,5,9 -Main2_separator=$SystemAccentDark1|$StartBackground -Main2_separator_tint1=$StartSystemTilesBackground -Main2_separator_mask=8 -Main2_separator_slices_X=8,6,8 -Main2_icon_padding=4,4,3,4,100% -Main2_arrow_padding=7,7,100% -Main2_new_selection=$SystemAccentDark1|$StartBackground -Main2_new_selection_tint1=$StartInlineErrorText -Main2_new_selection_mask=#7F0000 - -; Shutdown button - -Shutdown_selection=$SystemAccentDark1|$StartBackground -Shutdown_selection_tint1=$SystemAccentDark2|$StartSelectionBackground -Shutdown_selection_mask=14 -Shutdown_selection_slices_X=5,4,3,2,4,5 -Shutdown_selection_slices_Y=4,4,4 -Shutdown_padding=0,9,0,5,100% -Shutdown_text_padding=10,4,12,5,100% -Shutdown_icon_padding=5,3,-5,3,100% -Shutdown_text_color=$StartPrimaryText,$StartSelectionPrimaryText -Shutdown_arrow_color=$StartPrimaryText,$StartSelectionPrimaryText -Shutdown_arrow_padding=7,9,100% - -; Programs tree - -Programs_background=$SystemAccentDark1|$StartBackground -Programs_text_padding=0,2,0,2,100% -Programs_icon_padding=2,2,2,2,100% -Programs_indent=-5 - -Programs_icon=7 -Programs_icon_tint1=$StartPrimaryText -Programs_icon_mask=#FF0000 -Programs_button_text_padding=1,5,8,5,100% -Programs_button_new_text_padding=1,5,8,5,100% -Programs_new_selection=$SystemAccentDark1|$StartBackground -Programs_new_selection_tint1=$StartInlineErrorText -Programs_new_selection_mask=#7F0000 - -; Scrollbar -Scrollbar_button=$SystemAccentDark1|$StartBackground -Scrollbar_button_tint1=$ControlLightScrollbarButtonRest -Scrollbar_button_tint2=$ControlLightScrollbarButtonHover -Scrollbar_button_tint3=$ControlLightScrollbarButtonPressed -Scrollbar_button_mask=16 -Scrollbar_button_slices_X=3,3,3 -Scrollbar_button_slices_Y=3,3,3 -Scrollbar_thumb=$SystemAccentDark1|$StartBackground -Scrollbar_thumb_tint1=$ControlLightScrollbarThumbRest -Scrollbar_thumb_tint2=$ControlLightScrollbarThumbHover -Scrollbar_thumb_tint3=$ControlLightScrollbarThumbPressed -Scrollbar_thumb_mask=16 -Scrollbar_thumb_slices_X=3,3,3 -Scrollbar_thumb_slices_Y=3,3,3 -Scrollbar_background=$SystemAccentDark1|$StartBackground -Scrollbar_background_tint1=$ControlLightScrollbarTrack -Scrollbar_background_mask=#FF0000 -Scrollbar_arrows=#StartBackground -Scrollbar_arrows_tint1=$ControlLightScrollbarButtonGlyphRest -Scrollbar_arrows_tint2=$ControlLightScrollbarButtonGlyphHover -Scrollbar_arrows_tint3=$ControlLightScrollbarButtonGlyphPressed -Scrollbar_arrows_mask=17 - - -; LIST SECTION -List_text_padding=0,0,4,0,100% -List_separator_font="Segoe UI",bold,-9 -List_separator_text_padding=3,0,0,0,100% -List_separator_icon_padding=6,3,3,3,100% -List_arrow_padding=5,7,100% -List_separator_split_font="Segoe UI",bold,-9 -List_separator_text_color=$StartSelectionSecondaryText,$StartSelectionPrimaryText - - -Search_padding=6,16,10,6,100%,100%,0%,100% -Search_frame=0 -Search_background=$SystemAccentDark1|$StartBackground -Search_background_tint1=$StartHighlight -Search_background_tint2=$ControlDarkRichEditBackgroundRest -Search_background_mask=13 -Search_background_slices_X=3,2,3, 0,5,13, 0,1,3 -Search_background_slices_Y=5,1,3, 0,4,0, 2,2,3 -Search_background_padding=2,-3,2,2 -Search_background_search_padding=2,-3,2,2 -Search_background_jump_padding=2,-3,2,2 -Search_hint_font="Segoe UI",italic,-9 -Search_text_color=$ControlDarkRichEditTextRest,$ControlDarkRichEditTextRest -Search_text_color_tint1=$ControlDarkRichEditBackgroundRest -Search_text_color_mask=#000000,#7F0000 -Search_text_background=$SystemAccentDark1|$StartBackground -Search_text_background_tint1=$ControlDarkRichEditBackgroundRest -Search_text_background_mask=#FF0000 -Search_bitmap=9 -Search_bitmap_tint1=$ControlDarkRichEditTextRest -Search_bitmap_mask=#FF0000 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none -Pin_bitmap=15 -Pin_bitmap_tint1=$StartSecondaryText -Pin_bitmap_mask=#FF0000 - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; The width of the standard window border is subtracted from all sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Submenu_padding=2,2,2,2 - -; These have the same meaning as the Main_... properties -Submenu_opacity=region -Submenu_bitmap=$SystemAccentDark1|$StartBackground -Submenu_bitmap_tint1=$StartHighlight -Submenu_bitmap_mask=23 -Submenu_bitmap_slices_X=4,4,4 -Submenu_bitmap_slices_Y=4,4,4 - -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=$StartPrimaryText,$StartSelectionPrimaryText,$StartSecondaryText,$StartSelectionSecondaryText -Submenu_selection=$SystemAccentDark2|$StartSelectionBackground - -Submenu_pager=$SystemAccentDark1|$StartBackground -Submenu_pager_tint1=$ControlDefaultDarkButtonBackgroundRest -Submenu_pager_tint2=$ControlDefaultDarkButtonBackgroundPressed -Submenu_pager_mask=4 -Submenu_pager_slices_X=3,10,3 -Submenu_pager_slices_Y=3,9,3 -Submenu_pager_arrows=$SystemAccentDark1|$StartBackground -Submenu_pager_arrows_tint1=$ControlDefaultDarkButtonTextRest -Submenu_pager_arrows_tint2=$ControlDefaultDarkButtonTextPressed -Submenu_pager_arrows_mask=5 - -Submenu_arrow_color=$StartPrimaryText,$StartSelectionPrimaryText -Submenu_separator=$SystemAccentDark1|$StartBackground -Submenu_separator_tint1=$StartSystemTilesBackground -Submenu_separator_mask=11 -Submenu_separator_slices_X=8,6,8 -Submenu_separator_text_padding=3,4,4,8 -Submenu_separator_font="Segoe UI",normal,-10 -Submenu_separator_text_color=$StartSelectionSecondaryText -Submenu_new_selection=$SystemAccentDark1|$StartBackground -Submenu_new_selection_tint1=$StartInlineErrorText -Submenu_new_selection_mask=#7F0000 - -Submenu_separatorV=$SystemAccentDark1|$StartBackground -Submenu_separatorV_tint1=$StartSystemTilesBackground -Submenu_separatorV_mask=24 -Submenu_separatorV_slices_Y=5,5,5 - - -; OPTIONS - -OPTION USER_IMAGE=#7014,1 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7006,0 -OPTION ICON_FRAMES=#7023,1, NOT SMALL_ICONS, 0 -OPTION OPAQUE=#7025,0 - - -[SMALL_ICONS] -Main_large_icons=0 -Main_arrow_padding=7,9,100% -Main_split_arrow_padding=9,9,100% -Main2_text_padding=1,3,8,4,100% - - -[ICON_FRAMES] -Main_icon_frame=$SystemAccentDark1|$StartBackground -Main_icon_frame_tint1=$SystemAccentDark2|$StartSelectionBackground -Main_icon_frame_mask=10 -Main_icon_frame_slices_X=4,4,4 -Main_icon_frame_slices_Y=4,4,4 -Main_icon_frame_offset=3,3 -List_icon_frame=0 -Main_icon_padding=6,6,6,6,100% -Main_text_padding=5,2,8,2,100% - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Shutdown_text_padding=10,5,12,6,100% -Search_hint_font="Segoe UI",italic,-10 -Submenu_text_padding=1,0,8,2,100% -Programs_text_padding=0,0,0,2,100% - - -[USER_IMAGE] -; User_bitmap - the frame around the user picture -User_mask=12 -User_image_size=48 -User_image_padding=-4,4 -User_bitmap_outside=0 - - -[HIGH_DPI] -Main_separator_mask=20 -Submenu_separator_mask=19 -User_frame_position=40 -Programs_icon=22 -Programs_button_text_padding=1,0,8,2,100% -Programs_button_new_text_padding=1,0,8,2,100% -Main_pager_arrows_mask=21 -Submenu_pager_arrows_mask=21 - -[HIGH_DPI AND USER_IMAGE] -User_mask=18 -User_image_size=64 -User_image_padding=0,8 - -[TOUCH_ENABLED AND NOT SMALL_ICONS] -Shutdown_text_padding=10,8,10,8,100% -Shutdown_arrow_padding=12,9,100% -Main2_text_padding=1,10,8,10,100% -Main_split_arrow_padding=14,14,100% - -[NOT OPAQUE] -Main_opacity=fullglass -Main2_opacity=fullglass - -Main_bitmap_mask=25 -Main_bitmap_search_mask=26 -Main_bitmap_jump_mask=27 -Search_background_mask=30 -Programs_background=#C0000000 -Programs_background_mask=#FF0000 -Programs_background_tint1=$SystemAccentDark1|$StartBackground - -Main_selection_mask=28 -Main_selection_tint1=$StartPrimaryText -Main_selection_slices_X=2,2,2 -Main_selection_slices_Y=2,2,2 - -Main_split_selection=$SystemAccentDark2|$StartSelectionBackground -Main_split_selection_mask=29 -Main_split_selection_tint1=$StartPrimaryText -Main_split_selection_slices_X=2,2,2,2,2,2 -Main_split_selection_slices_Y=2,2,2 - -Main2_split_selection=$SystemAccentDark2|$StartSelectionBackground -Main2_split_selection_mask=29 -Main2_split_selection_tint1=$StartPrimaryText -Main2_split_selection_slices_X=2,2,2,2,2,2 -Main2_split_selection_slices_Y=2,2,2 - -List_split_selection=$SystemAccentDark2|$StartSelectionBackground -List_split_selection_mask=29 -List_split_selection_tint1=$StartPrimaryText -List_split_selection_slices_X=2,2,2,2,2,2 -List_split_selection_slices_Y=2,2,2 - -Shutdown_selection=$StartPrimaryText -Shutdown_selection_mask=31 - -Main_separator_tint1=$StartPrimaryText -Main2_separator_tint1=$StartPrimaryText - -Scrollbar_button_mask=32 -Scrollbar_thumb_mask=32 - -Scrollbar_background=$ControlLightScrollbarTrack -Scrollbar_background_mask=32 -Scrollbar_background_tint1=$ControlLightScrollbarTrack -Scrollbar_background_slices_X=2,2,2 -Scrollbar_background_slices_Y=2,2,2 - -Main_new_selection_mask=33 -Main_new_selection_slices_X=2,2,2 -Main_new_selection_slices_Y=2,2,2 -Main2_new_selection_mask=33 -Main2_new_selection_slices_X=2,2,2 -Main2_new_selection_slices_Y=2,2,2 -Programs_new_selection_mask=33 -Programs_new_selection_slices_X=2,2,2 -Programs_new_selection_slices_Y=2,2,2 - -[SEARCHBOX] -Main_bitmap_jump_slices_Y=12,10,7,0,2,2 diff --git a/Src/Skins/Metro7/glass_new_selection.bmp b/Src/Skins/Metro7/glass_new_selection.bmp deleted file mode 100644 index e078e52..0000000 Binary files a/Src/Skins/Metro7/glass_new_selection.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/glass_selection.bmp b/Src/Skins/Metro7/glass_selection.bmp deleted file mode 100644 index 2cfe64c..0000000 Binary files a/Src/Skins/Metro7/glass_selection.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/glass_selection2.bmp b/Src/Skins/Metro7/glass_selection2.bmp deleted file mode 100644 index e7a3e2f..0000000 Binary files a/Src/Skins/Metro7/glass_selection2.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/icon_frame.bmp b/Src/Skins/Metro7/icon_frame.bmp deleted file mode 100644 index d893e27..0000000 Binary files a/Src/Skins/Metro7/icon_frame.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/main_bitmap.bmp b/Src/Skins/Metro7/main_bitmap.bmp deleted file mode 100644 index a3ee838..0000000 Binary files a/Src/Skins/Metro7/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/main_bitmap_jump.bmp b/Src/Skins/Metro7/main_bitmap_jump.bmp deleted file mode 100644 index bdba1d2..0000000 Binary files a/Src/Skins/Metro7/main_bitmap_jump.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/main_bitmap_jumpt.bmp b/Src/Skins/Metro7/main_bitmap_jumpt.bmp deleted file mode 100644 index a9dfbdf..0000000 Binary files a/Src/Skins/Metro7/main_bitmap_jumpt.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/main_bitmap_search.bmp b/Src/Skins/Metro7/main_bitmap_search.bmp deleted file mode 100644 index 4cca8a6..0000000 Binary files a/Src/Skins/Metro7/main_bitmap_search.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/main_bitmap_searcht.bmp b/Src/Skins/Metro7/main_bitmap_searcht.bmp deleted file mode 100644 index 4d30531..0000000 Binary files a/Src/Skins/Metro7/main_bitmap_searcht.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/main_bitmapt.bmp b/Src/Skins/Metro7/main_bitmapt.bmp deleted file mode 100644 index 8bf8a2d..0000000 Binary files a/Src/Skins/Metro7/main_bitmapt.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/pager.bmp b/Src/Skins/Metro7/pager.bmp deleted file mode 100644 index 8a9612c..0000000 Binary files a/Src/Skins/Metro7/pager.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/pager_arrows.bmp b/Src/Skins/Metro7/pager_arrows.bmp deleted file mode 100644 index c6f5685..0000000 Binary files a/Src/Skins/Metro7/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/pager_arrows150.bmp b/Src/Skins/Metro7/pager_arrows150.bmp deleted file mode 100644 index 57e92c4..0000000 Binary files a/Src/Skins/Metro7/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/pins.bmp b/Src/Skins/Metro7/pins.bmp deleted file mode 100644 index bb7b72c..0000000 Binary files a/Src/Skins/Metro7/pins.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/programs.bmp b/Src/Skins/Metro7/programs.bmp deleted file mode 100644 index 2601aea..0000000 Binary files a/Src/Skins/Metro7/programs.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/programs150.bmp b/Src/Skins/Metro7/programs150.bmp deleted file mode 100644 index d63190b..0000000 Binary files a/Src/Skins/Metro7/programs150.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/resource.h b/Src/Skins/Metro7/resource.h deleted file mode 100644 index d84d736..0000000 --- a/Src/Skins/Metro7/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Metro7.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/Metro7/scroll_arrows.bmp b/Src/Skins/Metro7/scroll_arrows.bmp deleted file mode 100644 index aabfc0e..0000000 Binary files a/Src/Skins/Metro7/scroll_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/scroll_button.bmp b/Src/Skins/Metro7/scroll_button.bmp deleted file mode 100644 index 15ba757..0000000 Binary files a/Src/Skins/Metro7/scroll_button.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/scroll_buttont.bmp b/Src/Skins/Metro7/scroll_buttont.bmp deleted file mode 100644 index 8078a3a..0000000 Binary files a/Src/Skins/Metro7/scroll_buttont.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/search.bmp b/Src/Skins/Metro7/search.bmp deleted file mode 100644 index bb7e6a8..0000000 Binary files a/Src/Skins/Metro7/search.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/search_background.bmp b/Src/Skins/Metro7/search_background.bmp deleted file mode 100644 index ec59753..0000000 Binary files a/Src/Skins/Metro7/search_background.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/search_backgroundt.bmp b/Src/Skins/Metro7/search_backgroundt.bmp deleted file mode 100644 index 00ea6c9..0000000 Binary files a/Src/Skins/Metro7/search_backgroundt.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/separator.bmp b/Src/Skins/Metro7/separator.bmp deleted file mode 100644 index 540a86a..0000000 Binary files a/Src/Skins/Metro7/separator.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/separator150.bmp b/Src/Skins/Metro7/separator150.bmp deleted file mode 100644 index b70a552..0000000 Binary files a/Src/Skins/Metro7/separator150.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/separator2.bmp b/Src/Skins/Metro7/separator2.bmp deleted file mode 100644 index 6dd2dda..0000000 Binary files a/Src/Skins/Metro7/separator2.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/separator2150.bmp b/Src/Skins/Metro7/separator2150.bmp deleted file mode 100644 index da3f180..0000000 Binary files a/Src/Skins/Metro7/separator2150.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/separatorXP.bmp b/Src/Skins/Metro7/separatorXP.bmp deleted file mode 100644 index 9990f20..0000000 Binary files a/Src/Skins/Metro7/separatorXP.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/separator_submenuV.bmp b/Src/Skins/Metro7/separator_submenuV.bmp deleted file mode 100644 index 32ab9ba..0000000 Binary files a/Src/Skins/Metro7/separator_submenuV.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/shutdown.bmp b/Src/Skins/Metro7/shutdown.bmp deleted file mode 100644 index bff5415..0000000 Binary files a/Src/Skins/Metro7/shutdown.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/shutdownt.bmp b/Src/Skins/Metro7/shutdownt.bmp deleted file mode 100644 index e3c8c7e..0000000 Binary files a/Src/Skins/Metro7/shutdownt.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/submenu.bmp b/Src/Skins/Metro7/submenu.bmp deleted file mode 100644 index 1b83b3d..0000000 Binary files a/Src/Skins/Metro7/submenu.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/user_bitmap.bmp b/Src/Skins/Metro7/user_bitmap.bmp deleted file mode 100644 index 7fd08fc..0000000 Binary files a/Src/Skins/Metro7/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Metro7/user_bitmap150.bmp b/Src/Skins/Metro7/user_bitmap150.bmp deleted file mode 100644 index 0a21ed8..0000000 Binary files a/Src/Skins/Metro7/user_bitmap150.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/Midnight7.rc b/Src/Skins/Midnight7/Midnight7.rc deleted file mode 100644 index 289fc80..0000000 --- a/Src/Skins/Midnight7/Midnight7.rc +++ /dev/null @@ -1,129 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "selection_d.bmp" -3 BITMAP "selection.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "new_item_d.bmp" -7 BITMAP "programs.bmp" -8 BITMAP "main_bitmap_search.bmp" -9 BITMAP "search.bmp" -10 BITMAP "selectionXP.bmp" -11 BITMAP "separatorXP.bmp" -12 BITMAP "user_bitmap.bmp" -13 BITMAP "main_bitmap_jump.bmp" -14 BITMAP "separator2.bmp" -15 BITMAP "split_selection.bmp" -16 BITMAP "split_selectionXP.bmp" -17 BITMAP "separator.bmp" -18 BITMAP "new_item.bmp" -19 BITMAP "shutdown.bmp" -20 BITMAP "user_bitmap150.bmp" -21 BITMAP "search_background.bmp" -22 BITMAP "pager_d.bmp" -23 BITMAP "pager_arrows_d.bmp" -24 BITMAP "pager_arrows_d150.bmp" -25 BITMAP "separator2150.bmp" -26 BITMAP "main_bitmapt.bmp" -27 BITMAP "main_bitmap_searcht.bmp" -28 BITMAP "main_bitmap_jumpt.bmp" -29 BITMAP "pins.bmp" -30 BITMAP "separator150.bmp" -31 BITMAP "pager_arrows150.bmp" -32 BITMAP "programs150.bmp" -33 BITMAP "scroll_button.bmp" -34 BITMAP "scroll_bg.bmp" -35 BITMAP "scroll_arrows.bmp" -36 BITMAP "scroll_grip.bmp" -37 BITMAP "separator_submenuV.bmp" -38 BITMAP "scroll_buttont.bmp" -39 BITMAP "scroll_bgt.bmp" -40 BITMAP "search_backgroundt.bmp" -41 BITMAP "main_bitmaptt.bmp" -42 BITMAP "main_bitmap_searchtt.bmp" -43 BITMAP "main_bitmap_jumptt.bmp" - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/Midnight7/Midnight7.vcxproj b/Src/Skins/Midnight7/Midnight7.vcxproj deleted file mode 100644 index ecff850..0000000 --- a/Src/Skins/Midnight7/Midnight7.vcxproj +++ /dev/null @@ -1,98 +0,0 @@ - - - - - Resource - Win32 - - - - {7BD26CB3-5280-48FD-9A86-C13E321018D5} - Midnight7 - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - Midnight - .skin7 - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/Midnight7/Midnight7.vcxproj.filters b/Src/Skins/Midnight7/Midnight7.vcxproj.filters deleted file mode 100644 index 68e7aa7..0000000 --- a/Src/Skins/Midnight7/Midnight7.vcxproj.filters +++ /dev/null @@ -1,147 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/Midnight7/SkinDescription.txt b/Src/Skins/Midnight7/SkinDescription.txt deleted file mode 100644 index a18d0d1..0000000 --- a/Src/Skins/Midnight7/SkinDescription.txt +++ /dev/null @@ -1,391 +0,0 @@ -; Midnight skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7108 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0: -; * full glass -; * skinnable sub-menus -; * skinnable pager buttons -; * skinnable arrows -; Set to 3 if the skin uses any of the new features introduced in Open-Shell 4.2.1: -; * skinnable scrollbars -; * tint colors -; * start screen colors -Version=3 - -;MAIN BITMAP SECTION - describes the background of the main menu - -; Main_bitmap - ID of a bitmap resource to use for the main menu in "large icons" mode. Default is no bitmap -; The bitmap must contain a rectangular portion of opaque solid color behind the menu items -Main_bitmap=1 -Main_bitmap_search=8 -Main_bitmap_jump=13 - -; Main_bitmap_mask - a bitmap or a solid color in #RRGGBB format that is used to blend Main_bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main_bitmap_mask=#100000 -Main_bitmap_search_mask=#100000 -Main_bitmap_jump_mask=#100000 - -; Main_opacity - sets the opacity for the main menu. The values are: -; solid - the menu is a solid rectangle. It is filled with the Main_background color and the Main_bitmap is drawn on top -; region - the pixels from the bitmap with alpha=0 are fully transparent. The other pixels are fully opaque. The Main_background color is not used -; alpha - the full alpha for each pixel is used. Alpha goes from 0 (transparent) to 255 (opaque). The Main_background color is not used -; glass - the full alpha for each pixel is used. Alpha goes from 0 (transparent), 1 (full glass) to 255 (no glass). The Main_background color is not used -; The default is "solid" -Main_opacity=fullglass -Main2_opacity=fullglass - -; Main_bitmap_slices_X - must contain 6 numbers. The sum of the numbers must be equal to the width of the Main_bitmap image -; number 1 is the width of the image to use for the left edge -; number 2 is the width of the image to stretch and use as the background for the caption -; number 3 is the width of the image to use on the right of the caption -; number 4 is the width of the image to use on the left of the menu -; number 5 is the width of the image to stretch and use as the background for the menu -; number 6 is the width of the image to use for the right edge -; If the second number is 0 there is no caption -Main_bitmap_slices_X=13,1,6,0,1,7 -Main_bitmap_search_slices_X=13,1,13 -Main_bitmap_jump_slices_X=13,1,2,2,1,13 - -; Main_bitmap_slices_Y - must contain 3 numbers. The sum of the numbers must be equal to the height of the Main_bitmap image -; number 1 is the height of the image to use for the top edge -; number 2 is the height of the image to stretch and use as the background -; number 3 is the height of the image to use for the bottom edge -Main_bitmap_slices_Y=13,10,12 -Main_bitmap_search_slices_Y=13,10,12 -Main_bitmap_jump_slices_Y=13,10,12 - - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -; Main_large_icons - 0 - use small icons in the main menu, 1 - use large icons. Default is 0 -; The small icons are 16x16 if the DPI is 96, 20x20 for DPI 120 and 24x24 for DPI 144 -; The large icons are twice the size of the small icons -; The sub-menus always use small icons -Main_large_icons=1 - -; Main_font - font to use for the main menu items. The format is "font name",[normal/bold],point size. Defaults to the system font -Main_font="Segoe UI",normal,-9 - -; Main_background - RRGGBB color to use for the background of the main menu. Defaults to the system menu color -Main_background=#545454 - -; Main_text_color - 4 colors for the text in the main menu. By default the system color is used -; color 1 is for normal menu items -; color 2 is for selected menu items -; color 3 is for disabled menu items -; color 4 is for selected disabled menu items -Main_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F - -; Main_padding - number of pixels to add on left/top/right/bottom of the menu -; If Main_bitmap is not set, the width of the standard window border is subtracted from the right/top/bottom sides (and the left side if there is no caption) -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Main_padding=11,11,4,9 -Main_search_padding=11,11,11,9 -Main_jump_padding=3,10,11,9 - -; Main_selection - describes how the selected menu item is drawn in the main menu. Can be: -; - an ID of a bitmap resource (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; - a #RRGGBB color -; Default is the system highlight color -Main_selection=2 -Main_selection_mask=#100000 - -; Main_selection_slices_X, Main_selection_slices_Y - slices of the selection mark image. The first and third are the corners, and the middle is stretched to fill the area -Main_selection_slices_X=3,1,3 -Main_selection_slices_Y=4,6,4 - -; Main_split_selection - a bitmap to use for the split-button selection (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; If Main_split_selection, the split buttons will be drawn using Main_selection -Main_split_selection=15 -Main_split_selection_mask=#100000 - -; Main_split_selection_slices_X - slices of the split selection mark image. The first 3 are for the main button portion. The last 3 are for the arrow portion -Main_split_selection_slices_X=3,1,3,2,1,3 -Main_split_selection_slices_Y=4,6,4 - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=4 - -; Main_pager_slices_X, Main_pager_slices_Y - the slices for Main_pager -Main_pager_slices_X=3,10,3 -Main_pager_slices_Y=3,9,3 - -; Main_pager_arrows - a bitmap that contains the arrow image to draw on top of the Main_pager background -Main_pager_arrows=5 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow_color=#E0E0E0,#E0E0E0 -Main_arrow_padding=8,10,100% -Main_split_arrow_padding=10,10,100% - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=17 - -; Main_separator_slices_X - the horizontal slices for the separator bitmap -Main_separator_slices_X=8,6,8 - -; Second column - -Main2_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F -Main2_text_padding=1,7,8,7,100% -Main2_padding=3,10,5,9 -Main2_selection=10 -Main2_selection_slices_X=4,4,4 -Main2_selection_slices_Y=4,4,4 -Main2_selection_mask=#100000 -Main2_split_selection=16 -Main2_split_selection_slices_X=4,4,4,0,4,4 -Main2_split_selection_slices_Y=4,4,4 -Main2_split_selection_mask=#100000 -Main2_arrow_color=#FFFFFF,#FFFFFF -Main2_separator=11 -Main2_separator_slices_X=8,6,8 -Main2_icon_padding=4,4,3,4,100% -Main2_arrow_padding=7,7,100% -Main_search_indent=16 -Main_new_selection=6 -Main_new_selection_slices_X=3,1,3 -Main_new_selection_slices_Y=4,6,4 - -; Shutdown button - -Shutdown_selection=19 -Shutdown_selection_mask=#100000 -Shutdown_search_selection=19 -Shutdown_search_selection_mask=#100000 -Shutdown_jump_selection=19 -Shutdown_jump_selection_mask=#100000 -Shutdown_selection_slices_X=5,4,3,2,4,5 -Shutdown_selection_slices_Y=4,4,4 -Shutdown_padding=0,9,0,5,100% -Shutdown_text_padding=10,4,12,5,100% -Shutdown_icon_padding=5,3,-5,3,100% -Shutdown_text_color=#FFFFFF,#FFFFFF -Shutdown_search_text_color=#FFFFFF,#FFFFFF -Shutdown_jump_text_color=#FFFFFF,#FFFFFF -Shutdown_arrow_color=#FFFFFF,#FFFFFF -Shutdown_search_arrow_color=#E0E0E0,#E0E0E0 -Shutdown_jump_arrow_color=#E0E0E0,#E0E0E0 -Shutdown_arrow_padding=7,9,100% - - -; Programs tree - -Programs_background=#545454 -Programs_background_mask=#100000 -Programs_selection=2 -Programs_selection_slices_X=3,1,3 -Programs_selection_slices_Y=4,6,4 -Programs_new_selection=6 -Programs_new_selection_slices_X=3,1,3 -Programs_new_selection_slices_Y=4,6,4 -Programs_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F -Programs_text_padding=0,2,0,2,100% -Programs_icon_padding=2,2,2,2,100% -Programs_indent=-5 -Programs_icon=7 - -Programs_button_text_padding=1,5,8,5,100% -Programs_button_new_text_padding=1,5,8,5,100% - -; Scrollbar -Scrollbar_button=33 -Scrollbar_button_slices_X=3,3,3 -Scrollbar_button_slices_Y=3,3,3 -Scrollbar_thumb=33 -Scrollbar_thumb_slices_X=3,3,3 -Scrollbar_thumb_slices_Y=3,3,3 -Scrollbar_background=34 -Scrollbar_background_slices_X=3,3,3 -Scrollbar_background_slices_Y=3,3,3 -Scrollbar_arrows=35 -Scrollbar_gripper=36 - - -; LIST SECTION -List_selection=2 -List_selection_slices_X=3,1,3 -List_selection_slices_Y=4,6,4 -List_split_selection=15 -List_split_selection_slices_X=3,1,3,2,1,3 -List_split_selection_slices_Y=4,6,4 -List_text_padding=0,0,4,0,100% -List_separator_font="Segoe UI",bold,-9 -List_separator_text_color=#E0E070,#E0E070 -List_separator_text_padding=3,0,0,0,100% -List_separator_icon_padding=6,3,3,3,100% -List_arrow_padding=5,7,100% -List_separator_split_font="Segoe UI",bold,-9 -List_separator_split_text_color=#E0E070,#E0E070 -List_separator_split_text_padding=3,0,0,0,100% -List_separator_split_icon_padding=6,3,3,3,100% - - -Search_padding=6,16,10,6,100%,100%,0%,100% -Search_frame=0 -Search_background=40 -Search_background_mask=#100000 -Search_background_slices_X=3,2,3, 0,5,13, 0,1,3 -Search_background_slices_Y=5,1,3, 0,4,0, 2,2,3 -Search_background_padding=2,-3,2,2 -Search_background_search_padding=2,-3,2,2 -Search_background_jump_padding=2,-3,2,2 -Search_hint_font="Segoe UI",italic,-9 -Search_text_color=#FFFFFF,#C0C0C0 -Search_text_background=#545454 -Search_text_background_mask=#100000 -Search_bitmap=9 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none -Pin_bitmap=29 - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; The width of the standard window border is subtracted from all sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Submenu_padding=2,2,2,2 - -; These have the same meaning as the Main_... properties -Submenu_background=#545454 -Submenu_thin_frame=1 -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F -Submenu_selection=2 -Submenu_selection_slices_X=3,1,3 -Submenu_selection_slices_Y=4,6,4 -Submenu_split_selection=15 -Submenu_split_selection_slices_X=3,1,3,2,1,3 -Submenu_split_selection_slices_Y=4,6,4 -Submenu_pager=22 -Submenu_pager_slices_X=3,10,3 -Submenu_pager_slices_Y=3,9,3 -Submenu_pager_arrows=23 -Submenu_arrow_color=#E0E0E0,#E0E0E0 -Submenu_separator=14 -Submenu_separator_slices_X=8,6,8 -Submenu_separator_text_padding=3,4,4,8 -Submenu_separator_font="Segoe UI",normal,-10 -Submenu_separator_text_color=#0062ad -Submenu_new_selection=6 -Submenu_new_selection_slices_X=3,1,3 -Submenu_new_selection_slices_Y=4,6,4 -Submenu_separatorV=37 -Submenu_separatorV_slices_Y=5,5,5 - - -; OPTIONS - -OPTION USER_IMAGE=#7014,1 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7006,0 -OPTION DISABLE_MASK=#7005,0 -OPTION RADIOGROUP=#7010,0,OPAQUE|TRANSPARENT_LESS|TRANSPARENT_MORE -OPTION OPAQUE=#7025,0 -OPTION TRANSPARENT_LESS=#7017,1 -OPTION TRANSPARENT_MORE=#7019,0 -OPTION WHITE_SUBMENUS2=#7016,0 - - -[SMALL_ICONS] -Main_large_icons=0 -Main_arrow_padding=7,9,100% -Main_split_arrow_padding=9,9,100% -Main2_text_padding=1,3,8,4,100% - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Shutdown_text_padding=10,5,12,6,100% -Search_hint_font="Segoe UI",italic,-10 -Main_text_padding=1,0,8,2,100% -Submenu_text_padding=1,0,8,2,100% -Programs_text_padding=0,0,0,2,100% - - -[WHITE_SUBMENUS2] -Submenu_background=#FFFFFF -Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Submenu_selection=3 -Submenu_pager=4 -Submenu_pager_arrows=5 -Submenu_arrow_color=#000000,#000000 -Submenu_new_selection=18 -Submenu_separator_text_color=#0062ad -Submenu_separatorV=0 - - -[USER_IMAGE] -; User_bitmap - the frame around the user picture -User_bitmap=12 -User_image_size=48 -User_frame_position=36 -User_image_offset=8,8 -User_bitmap_outside=1 - - -[DISABLE_MASK] -Main_bitmap_mask=0 -Main_bitmap_search_mask=0 -Main_bitmap_jump_mask=0 -Main_selection_mask=0 -Main_split_selection_mask=0 -Main2_selection_mask=0 -Main2_split_selection_mask=0 -Shutdown_selection_mask=0 -Shutdown_search_selection_mask=0 -Shutdown_jump_selection_mask=0 -Programs_background_mask=0 -Search_background_mask=0 -Search_text_background_mask=0 - - -[OPAQUE] -Main_opacity=region -Main2_opacity=region -Main_bitmap=26 -Main_bitmap_search=27 -Main_bitmap_jump=28 -Scrollbar_button=38 -Scrollbar_thumb=38 -Scrollbar_background=39 -Search_background=40 - - -[TRANSPARENT_MORE] -Main_opacity=fullglass -Programs_background=#B61E1E1E -Main_bitmap=41 -Main_bitmap_search=42 -Main_bitmap_jump=43 -Search_background=21 - - -[HIGH_DPI] -Main_separator=30 -Main_pager_arrows=31 -Submenu_pager_arrows=24 -Submenu_separator=25 -Programs_icon=32 -Programs_button_text_padding=1,0,8,2,100% -Programs_button_new_text_padding=1,0,8,2,100% - -[USER_IMAGE AND HIGH_DPI] -User_bitmap=20 -User_image_size=64 -User_frame_position=40 - - -[WHITE_SUBMENUS2 AND HIGH_DPI] -Submenu_pager_arrows=31 - -[SEARCHBOX] -Main_bitmap_jump_slices_Y=13,10,3,0,1,8 diff --git a/Src/Skins/Midnight7/main_bitmap.bmp b/Src/Skins/Midnight7/main_bitmap.bmp deleted file mode 100644 index 71f5cc8..0000000 Binary files a/Src/Skins/Midnight7/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/main_bitmap_jump.bmp b/Src/Skins/Midnight7/main_bitmap_jump.bmp deleted file mode 100644 index a510e80..0000000 Binary files a/Src/Skins/Midnight7/main_bitmap_jump.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/main_bitmap_jumpt.bmp b/Src/Skins/Midnight7/main_bitmap_jumpt.bmp deleted file mode 100644 index c637d5a..0000000 Binary files a/Src/Skins/Midnight7/main_bitmap_jumpt.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/main_bitmap_jumptt.bmp b/Src/Skins/Midnight7/main_bitmap_jumptt.bmp deleted file mode 100644 index 66e7fc1..0000000 Binary files a/Src/Skins/Midnight7/main_bitmap_jumptt.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/main_bitmap_search.bmp b/Src/Skins/Midnight7/main_bitmap_search.bmp deleted file mode 100644 index cdd7d1a..0000000 Binary files a/Src/Skins/Midnight7/main_bitmap_search.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/main_bitmap_searcht.bmp b/Src/Skins/Midnight7/main_bitmap_searcht.bmp deleted file mode 100644 index dba5055..0000000 Binary files a/Src/Skins/Midnight7/main_bitmap_searcht.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/main_bitmap_searchtt.bmp b/Src/Skins/Midnight7/main_bitmap_searchtt.bmp deleted file mode 100644 index 2437fb8..0000000 Binary files a/Src/Skins/Midnight7/main_bitmap_searchtt.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/main_bitmapt.bmp b/Src/Skins/Midnight7/main_bitmapt.bmp deleted file mode 100644 index 74ba565..0000000 Binary files a/Src/Skins/Midnight7/main_bitmapt.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/main_bitmaptt.bmp b/Src/Skins/Midnight7/main_bitmaptt.bmp deleted file mode 100644 index 23c4f7f..0000000 Binary files a/Src/Skins/Midnight7/main_bitmaptt.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/new_item.bmp b/Src/Skins/Midnight7/new_item.bmp deleted file mode 100644 index 209e40f..0000000 Binary files a/Src/Skins/Midnight7/new_item.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/new_item_d.bmp b/Src/Skins/Midnight7/new_item_d.bmp deleted file mode 100644 index f39beb1..0000000 Binary files a/Src/Skins/Midnight7/new_item_d.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/pager.bmp b/Src/Skins/Midnight7/pager.bmp deleted file mode 100644 index 8db7039..0000000 Binary files a/Src/Skins/Midnight7/pager.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/pager_arrows.bmp b/Src/Skins/Midnight7/pager_arrows.bmp deleted file mode 100644 index 15059d7..0000000 Binary files a/Src/Skins/Midnight7/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/pager_arrows150.bmp b/Src/Skins/Midnight7/pager_arrows150.bmp deleted file mode 100644 index d6ad41f..0000000 Binary files a/Src/Skins/Midnight7/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/pager_arrows_d.bmp b/Src/Skins/Midnight7/pager_arrows_d.bmp deleted file mode 100644 index e6aa1d8..0000000 Binary files a/Src/Skins/Midnight7/pager_arrows_d.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/pager_arrows_d150.bmp b/Src/Skins/Midnight7/pager_arrows_d150.bmp deleted file mode 100644 index eaaf730..0000000 Binary files a/Src/Skins/Midnight7/pager_arrows_d150.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/pager_d.bmp b/Src/Skins/Midnight7/pager_d.bmp deleted file mode 100644 index d9a6b36..0000000 Binary files a/Src/Skins/Midnight7/pager_d.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/pins.bmp b/Src/Skins/Midnight7/pins.bmp deleted file mode 100644 index bb7b72c..0000000 Binary files a/Src/Skins/Midnight7/pins.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/programs.bmp b/Src/Skins/Midnight7/programs.bmp deleted file mode 100644 index 106609f..0000000 Binary files a/Src/Skins/Midnight7/programs.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/programs150.bmp b/Src/Skins/Midnight7/programs150.bmp deleted file mode 100644 index 362e413..0000000 Binary files a/Src/Skins/Midnight7/programs150.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/resource.h b/Src/Skins/Midnight7/resource.h deleted file mode 100644 index 8ef09e8..0000000 --- a/Src/Skins/Midnight7/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Midnight7.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/Midnight7/scroll_arrows.bmp b/Src/Skins/Midnight7/scroll_arrows.bmp deleted file mode 100644 index bc34a3f..0000000 Binary files a/Src/Skins/Midnight7/scroll_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/scroll_bg.bmp b/Src/Skins/Midnight7/scroll_bg.bmp deleted file mode 100644 index 4fcaabe..0000000 Binary files a/Src/Skins/Midnight7/scroll_bg.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/scroll_bgt.bmp b/Src/Skins/Midnight7/scroll_bgt.bmp deleted file mode 100644 index 4fcaabe..0000000 Binary files a/Src/Skins/Midnight7/scroll_bgt.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/scroll_button.bmp b/Src/Skins/Midnight7/scroll_button.bmp deleted file mode 100644 index ef283d3..0000000 Binary files a/Src/Skins/Midnight7/scroll_button.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/scroll_buttont.bmp b/Src/Skins/Midnight7/scroll_buttont.bmp deleted file mode 100644 index ef283d3..0000000 Binary files a/Src/Skins/Midnight7/scroll_buttont.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/scroll_grip.bmp b/Src/Skins/Midnight7/scroll_grip.bmp deleted file mode 100644 index 74d2186..0000000 Binary files a/Src/Skins/Midnight7/scroll_grip.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/search.bmp b/Src/Skins/Midnight7/search.bmp deleted file mode 100644 index bb7e6a8..0000000 Binary files a/Src/Skins/Midnight7/search.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/search_background.bmp b/Src/Skins/Midnight7/search_background.bmp deleted file mode 100644 index b37e7a3..0000000 Binary files a/Src/Skins/Midnight7/search_background.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/search_backgroundt.bmp b/Src/Skins/Midnight7/search_backgroundt.bmp deleted file mode 100644 index cd4c7c5..0000000 Binary files a/Src/Skins/Midnight7/search_backgroundt.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/selection.bmp b/Src/Skins/Midnight7/selection.bmp deleted file mode 100644 index 2ab43a4..0000000 Binary files a/Src/Skins/Midnight7/selection.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/selectionXP.bmp b/Src/Skins/Midnight7/selectionXP.bmp deleted file mode 100644 index ea067bf..0000000 Binary files a/Src/Skins/Midnight7/selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/selection_d.bmp b/Src/Skins/Midnight7/selection_d.bmp deleted file mode 100644 index c89a56d..0000000 Binary files a/Src/Skins/Midnight7/selection_d.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/separator.bmp b/Src/Skins/Midnight7/separator.bmp deleted file mode 100644 index 4cd58a6..0000000 Binary files a/Src/Skins/Midnight7/separator.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/separator150.bmp b/Src/Skins/Midnight7/separator150.bmp deleted file mode 100644 index caeed46..0000000 Binary files a/Src/Skins/Midnight7/separator150.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/separator2.bmp b/Src/Skins/Midnight7/separator2.bmp deleted file mode 100644 index 427b56d..0000000 Binary files a/Src/Skins/Midnight7/separator2.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/separator2150.bmp b/Src/Skins/Midnight7/separator2150.bmp deleted file mode 100644 index 0e04b17..0000000 Binary files a/Src/Skins/Midnight7/separator2150.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/separatorXP.bmp b/Src/Skins/Midnight7/separatorXP.bmp deleted file mode 100644 index 4387999..0000000 Binary files a/Src/Skins/Midnight7/separatorXP.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/separator_submenuV.bmp b/Src/Skins/Midnight7/separator_submenuV.bmp deleted file mode 100644 index bd6dfaf..0000000 Binary files a/Src/Skins/Midnight7/separator_submenuV.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/shutdown.bmp b/Src/Skins/Midnight7/shutdown.bmp deleted file mode 100644 index 1562273..0000000 Binary files a/Src/Skins/Midnight7/shutdown.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/split_selection.bmp b/Src/Skins/Midnight7/split_selection.bmp deleted file mode 100644 index 52086fc..0000000 Binary files a/Src/Skins/Midnight7/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/split_selectionXP.bmp b/Src/Skins/Midnight7/split_selectionXP.bmp deleted file mode 100644 index 054ff19..0000000 Binary files a/Src/Skins/Midnight7/split_selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/user_bitmap.bmp b/Src/Skins/Midnight7/user_bitmap.bmp deleted file mode 100644 index 6030204..0000000 Binary files a/Src/Skins/Midnight7/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Midnight7/user_bitmap150.bmp b/Src/Skins/Midnight7/user_bitmap150.bmp deleted file mode 100644 index 1ad3515..0000000 Binary files a/Src/Skins/Midnight7/user_bitmap150.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/SkinDescription.txt b/Src/Skins/SmokedGlass/SkinDescription.txt deleted file mode 100644 index 88728aa..0000000 --- a/Src/Skins/SmokedGlass/SkinDescription.txt +++ /dev/null @@ -1,269 +0,0 @@ -; Smoked Glass skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7105 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - -; CAPTION SECTION - -Caption_font="Segoe UI",normal,18 -Caption_text_color=#FFFFFF -Caption_glow_color=#000000 -Caption_glow_size=10 -Caption_padding=4,8,2,16,100% - - -; MAIN MENU SECTION - -Main_bitmap=1 - -; fullglass, fullalpha - new opacity modes that are used for transparent menu background -Main_opacity=fullglass -Main_bitmap_slices_X=6,1,1,6,1,13 -Main_bitmap_slices_Y=60,317,8 - -Main_large_icons=1 -Main_font="Segoe UI",normal,-10 - -Main_text_color=#FFFFFF,#FFFFFF,#9F9F9F,#AFAFAF - -; Main_arrow_color - colors for the sub-menu arrow (normal and selected). The normal color is also used for the drag/drop insertion marker -; If Main_arrow_color is not set, the first 2 colors of Main_text_color are used -Main_arrow_color=#FFFFFF,#FFFFFF - -; Main_arrow_padding - padding on the left and right of the sub-menu arrow. The default is 5,7 -Main_arrow_padding=8,9,100% - -Main_padding=2,4,4,4 -Main_selection=3 -Main_selection_slices_X=4,63,4 -Main_selection_slices_Y=4,20,4 -Main_new_selection=12 -Main_new_selection_slices_X=4,63,4 -Main_new_selection_slices_Y=4,20,4 - -Main_split_selection=11 -Main_split_selection_slices_X=4,63,4,0,16,4 -Main_split_selection_slices_Y=4,20,4 - -; Main_icon_padding - extra padding on the left/top/right/bottom of the icon in the main menu -; The default is 3,3,3,3 -Main_icon_padding=4,3,3,3,100% - -; Main_text_padding - extra padding on the left/top/right/bottom of the text in the main menu -; The default is 1,2,8,2 -Main_text_padding=1,0,8,3,100% - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=4 - -; Main_pager_slices_X, Main_pager_slices_Y - the slices for Main_pager -Main_pager_slices_X=3,1,3 -Main_pager_slices_Y=4,4,4 - -; Main_pager_arrows - a bitmap that contains the arrow image to draw on top of the Main_pager background -Main_pager_arrows=5 - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=6 - -; Main_separator_slices_X - the horizontal slices for the separator bitmap -Main_separator_slices_X=15,100,15 - - -; SUB-MENU SECTION - -; Bitmap for the sub-menu background -Submenu_bitmap=2 -Submenu_opacity=fullglass -Submenu_bitmap_slices_X=13,2,13 -Submenu_bitmap_slices_Y=13,364,8 - -; Submenu_offset - additional horizontal offset for sub-menus. It reduces the overlap when the sub-menus have thick borders -Submenu_offset=2 -Submenu_padding=4,4,4,4 -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F -Submenu_arrow_color=#FFFFFF,#FFFFFF -Submenu_selection=3 -Submenu_selection_slices_X=4,63,4 -Submenu_selection_slices_Y=4,20,4 -Submenu_new_selection=12 -Submenu_new_selection_slices_X=4,63,4 -Submenu_new_selection_slices_Y=4,20,4 -Submenu_split_selection=11 -Submenu_split_selection_slices_X=4,63,4,0,16,4 -Submenu_split_selection_slices_Y=4,20,4 -Submenu_icon_padding=4,3,3,3,100% -Submenu_pager=4 -Submenu_pager_slices_X=3,1,3 -Submenu_pager_slices_Y=4,4,4 -Submenu_pager_arrows=5 -Submenu_text_padding=1,0,8,2,100% -Submenu_separator=6 -Submenu_separator_slices_X=25,80,25 -Submenu_separator_text_padding=3,4,4,8,100% -Submenu_separator_font="Segoe UI",bold,-10 -Submenu_separator_icon_padding=6,3,3,3,100% -Submenu_separator_split_font="Segoe UI",bold,-10 -Submenu_separator_split_text_padding=3,4,4,4,100% -Submenu_separator_split_icon_padding=6,3,3,3,100% - -; Submenu_separatorV - bitmap to use as a vertical separator between multiple columns -Submenu_separatorV=7 - -; Submenu_separatorV_slices_Y - vertical slices for Submenu_separatorV -Submenu_separatorV_slices_Y=15,100,15 - -;SEARCH SECTION - -Search_bitmap=10 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - -; OPTIONS - -OPTION NO_ICONS=#7008,0, TWO_COLUMNS -OPTION CAPTION=#7003,1, NOT TWO_COLUMNS, 0 -OPTION USER_IMAGE=#7014,0 -OPTION USER_NAME=#7015,0 -OPTION CENTER_NAME=#7004,0, USER_NAME, 0 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7007,0 -OPTION DISABLE_MASK=#7005,1 - -Classic1_options=CAPTION, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK -Classic2_options=NO_ICONS, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK -AllPrograms_options=LARGE_FONT, DISABLE_MASK - -[NOT CAPTION] -Main_bitmap=2 -Main_bitmap_slices_X=0,0,0,13,2,13 -Main_padding=4,4,4,4 - - -[SMALL_ICONS] -Main_large_icons=0 -Main_font="Segoe UI",normal,-9 -Caption_font="Segoe UI",normal,15 - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 - - -[NOT DISABLE_MASK] -; Main_bitmap_mask - a bitmap or a solid color in #RRGGBB format that is used to blend Main_bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main_bitmap_mask=#700000 -Submenu_bitmap_mask=#700000 - -; Main_selection_mask - a bitmap or a solid color in #RRGGBB format that is used to blend the selection bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main_selection_mask=#700000 -Main2_selection_mask=#700000 -Submenu_selection_mask=#700000 -Main_split_selection_mask=#700000 -Main2_split_selection_mask=#700000 -Submenu_split_selection_mask=#700000 - - -[TWO_COLUMNS] -Main_bitmap=1 -Main_bitmap_slices_X=6,1,1,6,1,13 -Main2_opacity=fullglass -Main_padding=4,4,4,4 -Main2_padding=4,4,4,4 -Main2_split_selection=11 -Main2_split_selection_slices_X=4,63,4,0,16,4 -Main2_split_selection_slices_Y=4,20,4 - -[USER_IMAGE] -; User_image_size - the size of the user image to use. Default is 0, which means the user image is not displayed -; The size must be compatible with the size of the frame bitmap User_bitmap. The value is usually 48 -User_image_size=48 - -; User_frame_position - horizontal and vertical position of the user image frame in the main menu. -; Positive numbers mean offset from the left and the top. Negative numbers mean offset from the bottom and the right -; The horizontal position can also be "center", "center1" and "center2" to center the image relative to the whole menu or to the first or second column -User_frame_position=-6,6 - -; User_bitmap - the frame around the user picture -User_bitmap=8 - -; User_image_offset - horizontal and vertical offset of the user image from its frame -; If User_bitmap is missing, the frame is assumed to be 0 pixels and this offset is ignored -User_image_offset=8,8 - - -[USER_IMAGE AND SMALL_ICONS] -User_image_size=32 -User_bitmap=9 - -[USER_NAME] -User_font="Segoe UI",bold,22 -User_text_color=#FFFFFF -User_glow_color=#000000 -User_glow_size=4 -User_name_position=10,18,-75,58 -User_name_align=right - - -[USER_NAME AND SMALL_ICONS] -User_font="Segoe UI",bold,18 -User_name_position=10,15,-55,45 - -[USER_NAME AND NOT USER_IMAGE] -User_name_position=10,18,-10,58 - -[USER_NAME AND NOT USER_IMAGE AND SMALL_ICONS] -User_name_position=10,15,-10,45 - - -[USER_NAME AND TWO_COLUMNS] -User_name_align=right2 - - -[(USER_IMAGE OR USER_NAME) AND TWO_COLUMNS] -Main2_padding=4,70,4,4 - -[(USER_IMAGE OR USER_NAME) AND TWO_COLUMNS AND SMALL_ICONS] -Main2_padding=4,54,4,4 - -[(USER_IMAGE OR USER_NAME) AND CAPTION] -Main_padding=2,70,4,4 - -[(USER_IMAGE OR USER_NAME) AND CAPTION AND SMALL_ICONS] -Main_padding=2,54,4,4 - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS AND NOT CAPTION] -Main_padding=4,70,4,4 - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS AND NOT CAPTION AND SMALL_ICONS] -Main_padding=4,54,4,4 - - -[CENTER_NAME] -User_name_align=center - -[CENTER_NAME AND TWO_COLUMNS] -User_name_align=center2 - -[NO_ICONS] -Main_no_icons2=1 -Main2_text_padding=1,7,8,7,100% - -[NO_ICONS AND SMALL_ICONS] -Main2_text_padding=1,3,8,4,100% - -[HIGH_DPI] -Main_pager_arrows=13 -Submenu_pager_arrows=13 diff --git a/Src/Skins/SmokedGlass/SmokedGlass.rc b/Src/Skins/SmokedGlass/SmokedGlass.rc deleted file mode 100644 index b341447..0000000 --- a/Src/Skins/SmokedGlass/SmokedGlass.rc +++ /dev/null @@ -1,99 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "main_bitmap2.bmp" -3 BITMAP "selection.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "separator.bmp" -7 BITMAP "separatorV.bmp" -8 BITMAP "user_bitmap.bmp" -9 BITMAP "user_bitmap32.bmp" -10 BITMAP "search.bmp" -11 BITMAP "split_selection.bmp" -12 BITMAP "new_item.bmp" -13 BITMAP "pager_arrows150.bmp" - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/SmokedGlass/SmokedGlass.vcxproj b/Src/Skins/SmokedGlass/SmokedGlass.vcxproj deleted file mode 100644 index 2440c25..0000000 --- a/Src/Skins/SmokedGlass/SmokedGlass.vcxproj +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Resource - Win32 - - - - {66D1EAA4-65D1-45CC-9989-E616FC0575EB} - SmokedGlass - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - .skin - Smoked Glass - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/SmokedGlass/SmokedGlass.vcxproj.filters b/Src/Skins/SmokedGlass/SmokedGlass.vcxproj.filters deleted file mode 100644 index 5d82aaa..0000000 --- a/Src/Skins/SmokedGlass/SmokedGlass.vcxproj.filters +++ /dev/null @@ -1,69 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/SmokedGlass/main_bitmap.bmp b/Src/Skins/SmokedGlass/main_bitmap.bmp deleted file mode 100644 index 8ed9cc3..0000000 Binary files a/Src/Skins/SmokedGlass/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/main_bitmap2.bmp b/Src/Skins/SmokedGlass/main_bitmap2.bmp deleted file mode 100644 index 85565f4..0000000 Binary files a/Src/Skins/SmokedGlass/main_bitmap2.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/new_item.bmp b/Src/Skins/SmokedGlass/new_item.bmp deleted file mode 100644 index 8b86c3d..0000000 Binary files a/Src/Skins/SmokedGlass/new_item.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/pager.bmp b/Src/Skins/SmokedGlass/pager.bmp deleted file mode 100644 index 9066add..0000000 Binary files a/Src/Skins/SmokedGlass/pager.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/pager_arrows.bmp b/Src/Skins/SmokedGlass/pager_arrows.bmp deleted file mode 100644 index dd11d97..0000000 Binary files a/Src/Skins/SmokedGlass/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/pager_arrows150.bmp b/Src/Skins/SmokedGlass/pager_arrows150.bmp deleted file mode 100644 index f319982..0000000 Binary files a/Src/Skins/SmokedGlass/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/resource.h b/Src/Skins/SmokedGlass/resource.h deleted file mode 100644 index 055f6f7..0000000 --- a/Src/Skins/SmokedGlass/resource.h +++ /dev/null @@ -1,17 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by FullGlass.rc -// -#define IDB_BITMAP1 103 -#define IDB_BITMAP2 104 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 105 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/SmokedGlass/search.bmp b/Src/Skins/SmokedGlass/search.bmp deleted file mode 100644 index bb7e6a8..0000000 Binary files a/Src/Skins/SmokedGlass/search.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/selection.bmp b/Src/Skins/SmokedGlass/selection.bmp deleted file mode 100644 index 5008b52..0000000 Binary files a/Src/Skins/SmokedGlass/selection.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/separator.bmp b/Src/Skins/SmokedGlass/separator.bmp deleted file mode 100644 index 7579092..0000000 Binary files a/Src/Skins/SmokedGlass/separator.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/separatorV.bmp b/Src/Skins/SmokedGlass/separatorV.bmp deleted file mode 100644 index 83da40d..0000000 Binary files a/Src/Skins/SmokedGlass/separatorV.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/split_selection.bmp b/Src/Skins/SmokedGlass/split_selection.bmp deleted file mode 100644 index 269ab90..0000000 Binary files a/Src/Skins/SmokedGlass/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/user_bitmap.bmp b/Src/Skins/SmokedGlass/user_bitmap.bmp deleted file mode 100644 index 9c60bcf..0000000 Binary files a/Src/Skins/SmokedGlass/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/SmokedGlass/user_bitmap32.bmp b/Src/Skins/SmokedGlass/user_bitmap32.bmp deleted file mode 100644 index 9b3318d..0000000 Binary files a/Src/Skins/SmokedGlass/user_bitmap32.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/SkinDescription.txt b/Src/Skins/Win7Aero/SkinDescription.txt deleted file mode 100644 index 50905bf..0000000 --- a/Src/Skins/Win7Aero/SkinDescription.txt +++ /dev/null @@ -1,330 +0,0 @@ -; Windows Aero skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7101 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - -;MAIN BITMAP SECTION - describes the background of the main menu - -; Main_bitmap - ID of a bitmap resource to use for the main menu in "large icons" mode. Default is no bitmap -; The bitmap must contain a rectangular portion of opaque solid color behind the menu items -Main_bitmap=1 - -; Main_bitmap_mask - a bitmap or a solid color in #RRGGBB format that is used to blend Main_bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main_bitmap_mask=2 - -; Main_opacity - sets the opacity for the main menu. The values are: -; solid - the menu is a solid rectangle. It is filled with the Main_background color and the Main_bitmap is drawn on top -; region - the pixels from the bitmap with alpha=0 are fully transparent. The other pixels are fully opaque. The Main_background color is not used -; alpha - the full alpha for each pixel is used. Alpha goes from 0 (transparent) to 255 (opaque). The Main_background color is not used -; glass - the full alpha for each pixel is used. Alpha goes from 0 (transparent), 1 (full glass) to 255 (no glass). The Main_background color is not used -; The default is "solid" -Main_opacity=glass - -; Main_bitmap_slices_X - must contain 6 numbers. The sum of the numbers must be equal to the width of the Main_bitmap image -; number 1 is the width of the image to use for the left edge -; number 2 is the width of the image to stretch and use as the background for the caption -; number 3 is the width of the image to use on the right of the caption -; number 4 is the width of the image to use on the left of the menu -; number 5 is the width of the image to stretch and use as the background for the menu -; number 6 is the width of the image to use for the right edge -; If the second number is 0 there is no caption -Main_bitmap_slices_X=7,1,0,6,1,13 - -; Main_bitmap_slices_Y - must contain 3 numbers. The sum of the numbers must be equal to the height of the Main_bitmap image -; number 1 is the height of the image to use for the top edge -; number 2 is the height of the image to stretch and use as the background -; number 3 is the height of the image to use for the bottom edge -Main_bitmap_slices_Y=13,360,12 - -Main_arrow_padding=8,9,100% - - -;CAPTION SECTION - describes the caption portion of the main menu - -; Caption_font - font to use for the caption. The format is "font name",[normal/bold],point size. Defaults to "Segoe UI",normal,18 -Caption_font="Segoe UI",normal,18 - -; Caption_text_color - RRGGBB color of the caption text. Defaults to white -Caption_text_color=#FFFFFF - -; Caption_glow_color - RRGGBB color of the caption glow. Defaults to white -Caption_glow_color=#000000 - -; Caption_glow_size - the width of the caption glow (0 - no glow). Defaults to 0 -Caption_glow_size=10 - -; Caption_padding - number of pixels to add on left/top/right/bottom of the caption -; If Main_bitmap is not set, the width of the standard window border is subtracted from the left/top/bottom sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Caption_padding=4,8,2,16,100% - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -; Main_large_icons - 0 - use small icons in the main menu, 1 - use large icons. Default is 0 -; The small icons are 16x16 if the DPI is 96, 20x20 for DPI 120 and 24x24 for DPI 144 -; The large icons are twice the size of the small icons -; The sub-menus always use small icons -Main_large_icons=1 - -; Main_font - font to use for the main menu items. The format is "font name",[normal/bold],point size. Defaults to the system font -Main_font="Segoe UI",normal,-10 - -; Main_background - RRGGBB color to use for the background of the main menu. Defaults to the system menu color -Main_background=#FFFFFF - -; Main_text_color - 4 colors for the text in the main menu. By default the system color is used -; color 1 is for normal menu items -; color 2 is for selected menu items -; color 3 is for disabled menu items -; color 4 is for selected disabled menu items -Main_text_color=#000000,#000000,#7F7F7F,#7F7F7F - -; Main_padding - number of pixels to add on left/top/right/bottom of the menu -; If Main_bitmap is not set, the width of the standard window border is subtracted from the right/top/bottom sides (and the left side if there is no caption) -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Main_padding=3,10,10,8 - -; Main_selection - describes how the selected menu item is drawn in the main menu. Can be: -; - an ID of a bitmap resource (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; - a #RRGGBB color -; Default is the system highlight color -Main_selection=3 - -; Main_selection_slices_X, Main_selection_slices_Y - slices of the selection mark image. The first and third are the corners, and the middle is stretched to fill the area -Main_selection_slices_X=3,1,3 -Main_selection_slices_Y=4,66,4 - -; Main_split_selection - a bitmap to use for the split-button selection (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; If Main_split_selection, the split buttons will be drawn using Main_selection -Main_split_selection=15 - -; Main_split_selection_slices_X - slices of the split selection mark image. The first 3 are for the main button portion. The last 3 are for the arrow portion -Main_split_selection_slices_X=3,1,3,2,1,3 -Main_split_selection_slices_Y=4,66,4 - -Main_new_selection=19 -Main_new_selection_slices_X=3,1,3 -Main_new_selection_slices_Y=4,66,4 - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=4 - -; Main_pager_slices_X, Main_pager_slices_Y - the slices for Main_pager -Main_pager_slices_X=3,10,3 -Main_pager_slices_Y=3,9,3 - -; Main_pager_arrows - a bitmap that contains the arrow image to draw on top of the Main_pager background -Main_pager_arrows=5 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow=6 -Main_arrow_color=#000000,#000000 - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=17 - -; Main_separator_slices_X - the horizontal slices for the separator bitmap -Main_separator_slices_X=8,6,8 - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; The width of the standard window border is subtracted from all sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Submenu_padding=2,2,2,2 - -; These have the same meaning as the Main_... properties -Submenu_thin_frame=1 -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Submenu_selection=3 -Submenu_selection_slices_X=3,1,3 -Submenu_selection_slices_Y=4,66,4 -Submenu_split_selection=15 -Submenu_split_selection_slices_X=3,1,3,2,1,3 -Submenu_split_selection_slices_Y=4,66,4 -Submenu_pager=4 -Submenu_pager_slices_X=3,10,3 -Submenu_pager_slices_Y=3,9,3 -Submenu_pager_arrows=5 -Submenu_arrow=7 -Submenu_separator_text_padding=3,4,4,8,100% -Submenu_separator_icon_padding=6,3,3,3,100% -Submenu_separator_font="Segoe UI",normal,-10 -Submenu_separator_text_color=#0062ad,#0062ad -Submenu_separator_split_text_padding=3,4,4,8,100% -Submenu_separator_split_font="Segoe UI",normal,-10 -Submenu_separator_split_text_color=#0062ad,#0062ad -Submenu_separator_split_icon_padding=6,3,3,3,100% -Submenu_new_selection=19 -Submenu_new_selection_slices_X=3,1,3 -Submenu_new_selection_slices_Y=4,66,4 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - -; OPTIONS - -OPTION NO_ICONS=#7008,0, TWO_COLUMNS -OPTION CAPTION=#7003,1, NOT TWO_COLUMNS, 0 -OPTION USER_IMAGE=#7014,0 -OPTION USER_NAME=#7015,0 -OPTION CENTER_NAME=#7004,0, USER_NAME, 0 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7007,0 -OPTION DISABLE_MASK=#7005,0 -OPTION WHITE_SUBMENUS=#7016,1 - -Classic1_options=CAPTION, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK, WHITE_SUBMENUS -Classic2_options=NO_ICONS, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK, WHITE_SUBMENUS -AllPrograms_options=WHITE_SUBMENUS, LARGE_FONT - -[NOT CAPTION] -Main_bitmap_slices_X=0,0,0,14,1,13 -Main_padding=12,10,10,8 - - -[SMALL_ICONS] -Main_large_icons=0 -Main_font="Segoe UI",normal,-9 -Caption_font="Segoe UI",normal,15 -Main_arrow=7 - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Main_text_padding=1,0,8,2,100% -Submenu_text_padding=1,0,8,2,100% - - -[WHITE_SUBMENUS] -Submenu_background=#FFFFFF -Submenu_separator=18 -Submenu_separator_slices_X=8,6,8 - - -[TWO_COLUMNS] -Main_bitmap=8 -Main_bitmap_mask=9 -Main_bitmap_slices_X=13,1,6,0,1,7 -Main2_opacity=fullglass -Main_padding=10,10,3,8 -Main2_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F -Main2_padding=3,10,4,8 -Main2_selection=10 -Main2_selection_slices_X=4,63,4 -Main2_selection_slices_Y=4,20,4 -Main2_split_selection=16 -Main2_split_selection_slices_X=4,63,4,0,16,4 -Main2_split_selection_slices_Y=4,20,4 -Main2_arrow=0 -Main2_arrow_color=#FFFFFF,#FFFFFF -Main2_separator=11 -Main2_separator_slices_X=15,100,15 -Main2_icon_padding=4,4,3,4,100% -Main2_arrow_padding=8,9,100% - - -[USER_IMAGE] -; User_image_size - the size of the user image to use. Default is 0, which means the user image is not displayed -; The size must be compatible with the size of the frame bitmap User_bitmap. The value is usually 48 -User_image_size=48 - -; User_frame_position - horizontal and vertical position of the user image frame in the main menu. -; Positive numbers mean offset from the left and the top. Negative numbers mean offset from the bottom and the right -; The horizontal position can also be "center", "center1" and "center2" to center the image relative to the whole menu or to the first or second column -User_frame_position=-10,6 - -; User_bitmap - the frame around the user picture -User_bitmap=12 - -; User_image_offset - horizontal and vertical offset of the user image from its frame -; If User_bitmap is missing, the frame is assumed to be 0 pixels and this offset is ignored -User_image_offset=8,8 - - -[USER_IMAGE AND TWO_COLUMNS] -Main2_padding=3,73,5,8 - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS] -Main_bitmap=13 -Main_bitmap_mask=14 -Main_bitmap_slices_Y=76,297,12 - -[USER_IMAGE AND NOT TWO_COLUMNS] -User_frame_position=-6,6 - -[USER_NAME] -User_name_position=10,8,-75,68 -User_name_align=right -User_font="Segoe UI",bold,22 -User_text_color=#FFFFFF -User_glow_color=#000000 -User_glow_size=10 - -[USER_NAME AND NOT USER_IMAGE] -User_name_position=10,8,-10,68 - -[USER_NAME AND TWO_COLUMNS] -User_name_position=5,8,-75,68 -User_name_align=right2 - -[USER_NAME AND TWO_COLUMNS AND NOT USER_IMAGE] -User_name_position=5,8,-10,68 -Main2_padding=3,55,5,8 - -[USER_NAME AND TWO_COLUMNS AND NOT USER_IMAGE AND SMALL_ICONS] -User_name_position=5,5,-10,50 -Main2_padding=3,46,5,8 - -[SMALL_ICONS] -User_font="Segoe UI",bold,16 -Main_arrow_padding=7,7,100% - - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS AND CAPTION] -Main_padding=3,73,10,8 - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS AND NOT CAPTION] -Main_padding=12,73,10,8 - -[CENTER_NAME] -User_name_align=center - -[CENTER_NAME AND TWO_COLUMNS] -User_name_align=center2 - -[NO_ICONS] -Main_no_icons2=1 -Main2_text_padding=1,7,8,7,100% - -[NO_ICONS AND SMALL_ICONS] -Main2_text_padding=1,3,8,4,100% - - -[NOT DISABLE_MASK] -; Main_selection_mask - a bitmap or a solid color in #RRGGBB format that is used to blend the selection bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main2_selection_mask=#800000 -Main2_split_selection_mask=#800000 - -[DISABLE_MASK] -Main_bitmap_mask=0 - -[HIGH_DPI] -Main_separator=20 -Main_pager_arrows=22 -Submenu_pager_arrows=22 - -[WHITE_SUBMENUS AND HIGH_DPI] -Submenu_separator=21 diff --git a/Src/Skins/Win7Aero/Win7Aero.rc b/Src/Skins/Win7Aero/Win7Aero.rc deleted file mode 100644 index b694260..0000000 --- a/Src/Skins/Win7Aero/Win7Aero.rc +++ /dev/null @@ -1,107 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "main_bitmap_mask.bmp" -3 BITMAP "selection.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "menu_arrows.bmp" -7 BITMAP "menu_arrows2.bmp" -8 BITMAP "main_bitmapXP.bmp" -9 BITMAP "main_bitmap_maskXP.bmp" -10 BITMAP "selectionXP.bmp" -11 BITMAP "separatorXP.bmp" -12 BITMAP "user_bitmap.bmp" -13 BITMAP "main_bitmap2.bmp" -14 BITMAP "main_bitmap_mask2.bmp" -15 BITMAP "split_selection.bmp" -16 BITMAP "split_selectionXP.bmp" -17 BITMAP "separator.bmp" -18 BITMAP "separator2.bmp" -19 BITMAP "new_item.bmp" -20 BITMAP "separator150.bmp" -21 BITMAP "separator2150.bmp" -22 BITMAP "pager_arrows150.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/Win7Aero/Win7Aero.vcxproj b/Src/Skins/Win7Aero/Win7Aero.vcxproj deleted file mode 100644 index 14c3c0c..0000000 --- a/Src/Skins/Win7Aero/Win7Aero.vcxproj +++ /dev/null @@ -1,81 +0,0 @@ - - - - - Resource - Win32 - - - - {EA65FDDD-CB77-417F-8BB4-2F3ECB5B3E75} - Win7Aero - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - .skin - Windows Aero - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/Win7Aero/Win7Aero.vcxproj.filters b/Src/Skins/Win7Aero/Win7Aero.vcxproj.filters deleted file mode 100644 index 4e6a1ca..0000000 --- a/Src/Skins/Win7Aero/Win7Aero.vcxproj.filters +++ /dev/null @@ -1,96 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/Win7Aero/main_bitmap.bmp b/Src/Skins/Win7Aero/main_bitmap.bmp deleted file mode 100644 index fdce96a..0000000 Binary files a/Src/Skins/Win7Aero/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/main_bitmap2.bmp b/Src/Skins/Win7Aero/main_bitmap2.bmp deleted file mode 100644 index a711da1..0000000 Binary files a/Src/Skins/Win7Aero/main_bitmap2.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/main_bitmapXP.bmp b/Src/Skins/Win7Aero/main_bitmapXP.bmp deleted file mode 100644 index 1ea2bb3..0000000 Binary files a/Src/Skins/Win7Aero/main_bitmapXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/main_bitmap_mask.bmp b/Src/Skins/Win7Aero/main_bitmap_mask.bmp deleted file mode 100644 index e51481d..0000000 Binary files a/Src/Skins/Win7Aero/main_bitmap_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/main_bitmap_mask2.bmp b/Src/Skins/Win7Aero/main_bitmap_mask2.bmp deleted file mode 100644 index 2b148c3..0000000 Binary files a/Src/Skins/Win7Aero/main_bitmap_mask2.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/main_bitmap_maskXP.bmp b/Src/Skins/Win7Aero/main_bitmap_maskXP.bmp deleted file mode 100644 index eae515f..0000000 Binary files a/Src/Skins/Win7Aero/main_bitmap_maskXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/menu_arrows.bmp b/Src/Skins/Win7Aero/menu_arrows.bmp deleted file mode 100644 index 5c66a71..0000000 Binary files a/Src/Skins/Win7Aero/menu_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/menu_arrows2.bmp b/Src/Skins/Win7Aero/menu_arrows2.bmp deleted file mode 100644 index e9ee2f2..0000000 Binary files a/Src/Skins/Win7Aero/menu_arrows2.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/new_item.bmp b/Src/Skins/Win7Aero/new_item.bmp deleted file mode 100644 index ff35bd6..0000000 Binary files a/Src/Skins/Win7Aero/new_item.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/pager.bmp b/Src/Skins/Win7Aero/pager.bmp deleted file mode 100644 index a5f088a..0000000 Binary files a/Src/Skins/Win7Aero/pager.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/pager_arrows.bmp b/Src/Skins/Win7Aero/pager_arrows.bmp deleted file mode 100644 index 719d524..0000000 Binary files a/Src/Skins/Win7Aero/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/pager_arrows150.bmp b/Src/Skins/Win7Aero/pager_arrows150.bmp deleted file mode 100644 index 5dcea2a..0000000 Binary files a/Src/Skins/Win7Aero/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/resource.h b/Src/Skins/Win7Aero/resource.h deleted file mode 100644 index 5f2796b..0000000 --- a/Src/Skins/Win7Aero/resource.h +++ /dev/null @@ -1,18 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Win7Aero.rc -// -#define IDR_SKIN1 103 -#define IDB_BITMAP1 107 -#define IDB_BITMAP2 108 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 109 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/Win7Aero/selection.bmp b/Src/Skins/Win7Aero/selection.bmp deleted file mode 100644 index 8cfb705..0000000 Binary files a/Src/Skins/Win7Aero/selection.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/selectionXP.bmp b/Src/Skins/Win7Aero/selectionXP.bmp deleted file mode 100644 index da27ffd..0000000 Binary files a/Src/Skins/Win7Aero/selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/separator.bmp b/Src/Skins/Win7Aero/separator.bmp deleted file mode 100644 index 34b4c24..0000000 Binary files a/Src/Skins/Win7Aero/separator.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/separator150.bmp b/Src/Skins/Win7Aero/separator150.bmp deleted file mode 100644 index 7886214..0000000 Binary files a/Src/Skins/Win7Aero/separator150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/separator2.bmp b/Src/Skins/Win7Aero/separator2.bmp deleted file mode 100644 index 76f71fc..0000000 Binary files a/Src/Skins/Win7Aero/separator2.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/separator2150.bmp b/Src/Skins/Win7Aero/separator2150.bmp deleted file mode 100644 index f498e31..0000000 Binary files a/Src/Skins/Win7Aero/separator2150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/separatorXP.bmp b/Src/Skins/Win7Aero/separatorXP.bmp deleted file mode 100644 index 7579092..0000000 Binary files a/Src/Skins/Win7Aero/separatorXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/split_selection.bmp b/Src/Skins/Win7Aero/split_selection.bmp deleted file mode 100644 index 9f3debb..0000000 Binary files a/Src/Skins/Win7Aero/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/split_selectionXP.bmp b/Src/Skins/Win7Aero/split_selectionXP.bmp deleted file mode 100644 index f54197b..0000000 Binary files a/Src/Skins/Win7Aero/split_selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero/user_bitmap.bmp b/Src/Skins/Win7Aero/user_bitmap.bmp deleted file mode 100644 index 9f2765d..0000000 Binary files a/Src/Skins/Win7Aero/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/SkinDescription.txt b/Src/Skins/Win7Aero7/SkinDescription.txt deleted file mode 100644 index efd357a..0000000 --- a/Src/Skins/Win7Aero7/SkinDescription.txt +++ /dev/null @@ -1,311 +0,0 @@ -; Windows Aero skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7101 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - -;MAIN BITMAP SECTION - describes the background of the main menu - -; Main_bitmap - ID of a bitmap resource to use for the main menu in "large icons" mode. Default is no bitmap -; The bitmap must contain a rectangular portion of opaque solid color behind the menu items -Main_bitmap=1 -Main_bitmap_search=8 -Main_bitmap_jump=13 - -; Main_bitmap_mask - a bitmap or a solid color in #RRGGBB format that is used to blend Main_bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main_bitmap_mask=2 -Main_bitmap_search_mask=9 -Main_bitmap_jump_mask=14 - -; Main_opacity - sets the opacity for the main menu. The values are: -; solid - the menu is a solid rectangle. It is filled with the Main_background color and the Main_bitmap is drawn on top -; region - the pixels from the bitmap with alpha=0 are fully transparent. The other pixels are fully opaque. The Main_background color is not used -; alpha - the full alpha for each pixel is used. Alpha goes from 0 (transparent) to 255 (opaque). The Main_background color is not used -; glass - the full alpha for each pixel is used. Alpha goes from 0 (transparent), 1 (full glass) to 255 (no glass). The Main_background color is not used -; The default is "solid" -Main_opacity=glass -Main2_opacity=fullglass - -; Main_bitmap_slices_X - must contain 6 numbers. The sum of the numbers must be equal to the width of the Main_bitmap image -; number 1 is the width of the image to use for the left edge -; number 2 is the width of the image to stretch and use as the background for the caption -; number 3 is the width of the image to use on the right of the caption -; number 4 is the width of the image to use on the left of the menu -; number 5 is the width of the image to stretch and use as the background for the menu -; number 6 is the width of the image to use for the right edge -; If the second number is 0 there is no caption -Main_bitmap_slices_X=13,1,6,0,1,7 -Main_bitmap_search_slices_X=13,1,13 -Main_bitmap_jump_slices_X=13,1,2,2,1,13 - -; Main_bitmap_slices_Y - must contain 3 numbers. The sum of the numbers must be equal to the height of the Main_bitmap image -; number 1 is the height of the image to use for the top edge -; number 2 is the height of the image to stretch and use as the background -; number 3 is the height of the image to use for the bottom edge -Main_bitmap_slices_Y=13,360,12 -Main_bitmap_search_slices_Y=13,360,12 -Main_bitmap_jump_slices_Y=13,360,12 - - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -; Main_large_icons - 0 - use small icons in the main menu, 1 - use large icons. Default is 0 -; The small icons are 16x16 if the DPI is 96, 20x20 for DPI 120 and 24x24 for DPI 144 -; The large icons are twice the size of the small icons -; The sub-menus always use small icons -Main_large_icons=1 - -; Main_font - font to use for the main menu items. The format is "font name",[normal/bold],point size. Defaults to the system font -Main_font="Segoe UI",normal,-9 - -; Main_background - RRGGBB color to use for the background of the main menu. Defaults to the system menu color -Main_background=#FFFFFF - -; Main_text_color - 4 colors for the text in the main menu. By default the system color is used -; color 1 is for normal menu items -; color 2 is for selected menu items -; color 3 is for disabled menu items -; color 4 is for selected disabled menu items -Main_text_color=#000000,#000000,#7F7F7F,#7F7F7F - -; Main_padding - number of pixels to add on left/top/right/bottom of the menu -; If Main_bitmap is not set, the width of the standard window border is subtracted from the right/top/bottom sides (and the left side if there is no caption) -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Main_padding=10,10,3,8 -Main_search_padding=10,10,10,8 -Main_jump_padding=3,10,10,8 - -; Main_selection - describes how the selected menu item is drawn in the main menu. Can be: -; - an ID of a bitmap resource (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; - a #RRGGBB color -; Default is the system highlight color -Main_selection=3 - -; Main_selection_slices_X, Main_selection_slices_Y - slices of the selection mark image. The first and third are the corners, and the middle is stretched to fill the area -Main_selection_slices_X=3,1,3 -Main_selection_slices_Y=4,66,4 - -; Main_split_selection - a bitmap to use for the split-button selection (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; If Main_split_selection, the split buttons will be drawn using Main_selection -Main_split_selection=15 - -; Main_split_selection_slices_X - slices of the split selection mark image. The first 3 are for the main button portion. The last 3 are for the arrow portion -Main_split_selection_slices_X=3,1,3,2,1,3 -Main_split_selection_slices_Y=4,66,4 - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=4 - -; Main_pager_slices_X, Main_pager_slices_Y - the slices for Main_pager -Main_pager_slices_X=3,10,3 -Main_pager_slices_Y=3,9,3 - -; Main_pager_arrows - a bitmap that contains the arrow image to draw on top of the Main_pager background -Main_pager_arrows=5 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow_color=#000000,#000000 -Main_arrow_padding=8,10,100% -Main_split_arrow_padding=10,10,100% - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=17 - -; Main_separator_slices_X - the horizontal slices for the separator bitmap -Main_separator_slices_X=8,6,8 - -; Second column - -Main2_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F -Main2_padding=3,10,4,8 -Main2_selection=10 -Main2_selection_slices_X=4,63,4 -Main2_selection_slices_Y=4,20,4 -Main2_split_selection=16 -Main2_split_selection_slices_X=4,63,4,0,16,4 -Main2_split_selection_slices_Y=4,20,4 -Main2_arrow_color=#FFFFFF,#FFFFFF -Main2_separator=11 -Main2_separator_slices_X=15,100,15 -Main2_icon_padding=4,4,3,4,100% -Main2_arrow_padding=7,7,100% -Main_new_selection=6 -Main_new_selection_slices_X=3,1,3 -Main_new_selection_slices_Y=4,66,4 - -; Shutdown button - -Shutdown_selection=19 -Shutdown_search_selection=20 -Shutdown_jump_selection=20 -Shutdown_selection_slices_X=5,10,3,2,7,5 -Shutdown_selection_slices_Y=4,16,4 -Shutdown_padding=0,9,0,4,100% -Shutdown_text_padding=10,5,12,6,100% -Shutdown_icon_padding=5,3,-5,3,100% -Shutdown_text_color=#FFFFFF,#FFFFFF -Shutdown_search_text_color=#000000,#000000 -Shutdown_jump_text_color=#000000,#000000 -Shutdown_arrow=21 -Shutdown_search_arrow=22 -Shutdown_jump_arrow=22 -Shutdown_arrow_padding=7,9,100% - - -; Programs tree - -Programs_selection=3 -Programs_selection_slices_X=3,1,3 -Programs_selection_slices_Y=4,66,4 -Programs_new_selection=#FFE099 -Programs_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Programs_text_padding=0,2,0,2,100% -Programs_icon_padding=2,2,2,2,100% -Programs_indent=-5 -Programs_icon=7 - -Programs_button_text_padding=1,5,8,5,100% -Programs_button_new_text_padding=1,5,8,5,100% - - -; LIST SECTION -List_selection=3 -List_selection_slices_X=3,1,3 -List_selection_slices_Y=4,66,4 -List_split_selection=15 -List_split_selection_slices_X=3,1,3,2,1,3 -List_split_selection_slices_Y=4,66,4 -List_text_padding=0,0,4,0,100% -List_separator_text_color=#003399,#003399 -List_separator_text_padding=3,0,0,0,100% -List_separator_icon_padding=6,3,3,3,100% -List_arrow_padding=5,7,100% -List_separator_split_text_color=#003399,#003399 -List_separator_split_text_padding=3,0,0,0,100% -List_separator_split_icon_padding=6,3,3,3,100% - -Main_search_indent=16 -Main2_text_padding=1,7,8,7,100% - -Search_padding=6,16,10,6,100%,100%,0%,100% -Search_frame=0 -Search_background=23 -Search_background_mask=24 -Search_background_slices_X=3,2,3, 0,5,13, 0,1,3 -Search_background_slices_Y=5,1,3, 0,4,0, 2,2,3 -Search_background_padding=1,-3,1,1 -Search_hint_font="Segoe UI",italic,-9 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; The width of the standard window border is subtracted from all sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Submenu_padding=2,2,2,2 - -; These have the same meaning as the Main_... properties -Submenu_thin_frame=1 -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Submenu_selection=3 -Submenu_selection_slices_X=3,1,3 -Submenu_selection_slices_Y=4,66,4 -Submenu_split_selection=15 -Submenu_split_selection_slices_X=3,1,3,2,1,3 -Submenu_split_selection_slices_Y=4,66,4 -Submenu_pager=4 -Submenu_pager_slices_X=3,10,3 -Submenu_pager_slices_Y=3,9,3 -Submenu_pager_arrows=5 -Submenu_arrow_color=#000000,#000000 -Submenu_separator_text_padding=3,4,4,8,100% -Submenu_separator_font="Segoe UI",normal,-10 -Submenu_separator_text_color=#0062ad -Submenu_new_selection=6 -Submenu_new_selection_slices_X=3,1,3 -Submenu_new_selection_slices_Y=4,66,4 - - -; OPTIONS - -OPTION USER_IMAGE=#7014,1 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7006,0 -OPTION DISABLE_MASK=#7005,0 -OPTION WHITE_SUBMENUS=#7016,1 - - -[SMALL_ICONS] -Main_large_icons=0 -Main_arrow_padding=7,9,100% -Main_split_arrow_padding=9,9,100% -Main2_text_padding=1,3,8,4,100% - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Shutdown_text_padding=10,5,12,6,100% -Search_hint_font="Segoe UI",italic,-10 -Main_text_padding=1,0,8,2,100% -Submenu_text_padding=1,0,8,2,100% -Programs_text_padding=0,0,0,2,100% - - -[WHITE_SUBMENUS] -Submenu_background=#FFFFFF -Submenu_separator=18 -Submenu_separator_slices_X=8,6,8 - - -[USER_IMAGE] -; User_bitmap - the frame around the user picture -User_bitmap=12 -User_image_size=48 -User_frame_position=36 -User_image_offset=8,8 -User_bitmap_outside=1 - - -[NOT DISABLE_MASK] -; Main_selection_mask - a bitmap or a solid color in #RRGGBB format that is used to blend the selection bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main2_selection_mask=#800000 -Main2_split_selection_mask=#800000 -Shutdown_selection_mask=#800000 -Shutdown_selection_search_mask=#800000 -Shutdown_selection_jump_mask=#800000 - -[DISABLE_MASK] -Main_bitmap_mask=0 -Main_bitmap_search_mask=0 -Main_bitmap_jump_mask=0 - -[HIGH_DPI] -Submenu_pager_arrows=25 -Shutdown_arrow=26 -Shutdown_search_arrow=27 -Shutdown_jump_arrow=27 -Main_separator=28 -Programs_icon=30 -Programs_button_text_padding=1,0,8,1,100% -Programs_button_new_text_padding=1,0,8,1,100% - -[USER_IMAGE AND HIGH_DPI] -User_bitmap=31 -User_image_size=64 -User_frame_position=40 - - -[WHITE_SUBMENUS AND HIGH_DPI] -Submenu_separator=29 diff --git a/Src/Skins/Win7Aero7/Win7Aero7.rc b/Src/Skins/Win7Aero7/Win7Aero7.rc deleted file mode 100644 index fa5eedb..0000000 --- a/Src/Skins/Win7Aero7/Win7Aero7.rc +++ /dev/null @@ -1,116 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "main_bitmap_mask.bmp" -3 BITMAP "selection.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "new_item.bmp" -7 BITMAP "programs.bmp" -8 BITMAP "main_bitmap_search.bmp" -9 BITMAP "main_bitmap_search_mask.bmp" -10 BITMAP "selectionXP.bmp" -11 BITMAP "separatorXP.bmp" -12 BITMAP "user_bitmap.bmp" -13 BITMAP "main_bitmap_jump.bmp" -14 BITMAP "main_bitmap_jump_mask.bmp" -15 BITMAP "split_selection.bmp" -16 BITMAP "split_selectionXP.bmp" -17 BITMAP "separator.bmp" -18 BITMAP "separator2.bmp" -19 BITMAP "shutdown.bmp" -20 BITMAP "shutdown_search.bmp" -21 BITMAP "shutdown_arrow.bmp" -22 BITMAP "shutdown_arrow_search.bmp" -23 BITMAP "search_background.bmp" -24 BITMAP "search_background_mask.bmp" -25 BITMAP "pager_arrows150.bmp" -26 BITMAP "shutdown_arrow150.bmp" -27 BITMAP "shutdown_arrow_search150.bmp" -28 BITMAP "separator150.bmp" -29 BITMAP "separator2150.bmp" -30 BITMAP "programs150.bmp" -31 BITMAP "user_bitmap150.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/Win7Aero7/Win7Aero7.vcxproj b/Src/Skins/Win7Aero7/Win7Aero7.vcxproj deleted file mode 100644 index 6b52c3b..0000000 --- a/Src/Skins/Win7Aero7/Win7Aero7.vcxproj +++ /dev/null @@ -1,90 +0,0 @@ - - - - - Resource - Win32 - - - - {A2CCDE9F-17CE-461E-8BD9-00261B8855A6} - Win7Aero7 - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - false - true - Windows Aero - .skin7 - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/Win7Aero7/Win7Aero7.vcxproj.filters b/Src/Skins/Win7Aero7/Win7Aero7.vcxproj.filters deleted file mode 100644 index afd78e5..0000000 --- a/Src/Skins/Win7Aero7/Win7Aero7.vcxproj.filters +++ /dev/null @@ -1,123 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/Win7Aero7/main_bitmap.bmp b/Src/Skins/Win7Aero7/main_bitmap.bmp deleted file mode 100644 index 1ea2bb3..0000000 Binary files a/Src/Skins/Win7Aero7/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/main_bitmap_jump.bmp b/Src/Skins/Win7Aero7/main_bitmap_jump.bmp deleted file mode 100644 index 10c36b3..0000000 Binary files a/Src/Skins/Win7Aero7/main_bitmap_jump.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/main_bitmap_jump_mask.bmp b/Src/Skins/Win7Aero7/main_bitmap_jump_mask.bmp deleted file mode 100644 index 0ef0378..0000000 Binary files a/Src/Skins/Win7Aero7/main_bitmap_jump_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/main_bitmap_mask.bmp b/Src/Skins/Win7Aero7/main_bitmap_mask.bmp deleted file mode 100644 index eae515f..0000000 Binary files a/Src/Skins/Win7Aero7/main_bitmap_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/main_bitmap_search.bmp b/Src/Skins/Win7Aero7/main_bitmap_search.bmp deleted file mode 100644 index df23579..0000000 Binary files a/Src/Skins/Win7Aero7/main_bitmap_search.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/main_bitmap_search_mask.bmp b/Src/Skins/Win7Aero7/main_bitmap_search_mask.bmp deleted file mode 100644 index 3be60a9..0000000 Binary files a/Src/Skins/Win7Aero7/main_bitmap_search_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/new_item.bmp b/Src/Skins/Win7Aero7/new_item.bmp deleted file mode 100644 index ff35bd6..0000000 Binary files a/Src/Skins/Win7Aero7/new_item.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/pager.bmp b/Src/Skins/Win7Aero7/pager.bmp deleted file mode 100644 index a5f088a..0000000 Binary files a/Src/Skins/Win7Aero7/pager.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/pager_arrows.bmp b/Src/Skins/Win7Aero7/pager_arrows.bmp deleted file mode 100644 index 719d524..0000000 Binary files a/Src/Skins/Win7Aero7/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/pager_arrows150.bmp b/Src/Skins/Win7Aero7/pager_arrows150.bmp deleted file mode 100644 index 5dcea2a..0000000 Binary files a/Src/Skins/Win7Aero7/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/programs.bmp b/Src/Skins/Win7Aero7/programs.bmp deleted file mode 100644 index 736e06f..0000000 Binary files a/Src/Skins/Win7Aero7/programs.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/programs150.bmp b/Src/Skins/Win7Aero7/programs150.bmp deleted file mode 100644 index aa4eb03..0000000 Binary files a/Src/Skins/Win7Aero7/programs150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/resource.h b/Src/Skins/Win7Aero7/resource.h deleted file mode 100644 index 827d759..0000000 --- a/Src/Skins/Win7Aero7/resource.h +++ /dev/null @@ -1,18 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Win7Aero7.rc -// -#define IDR_SKIN1 103 -#define IDB_BITMAP1 107 -#define IDB_BITMAP2 108 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 109 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/Win7Aero7/search_background.bmp b/Src/Skins/Win7Aero7/search_background.bmp deleted file mode 100644 index 1132b85..0000000 Binary files a/Src/Skins/Win7Aero7/search_background.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/search_background_mask.bmp b/Src/Skins/Win7Aero7/search_background_mask.bmp deleted file mode 100644 index 4b9fb26..0000000 Binary files a/Src/Skins/Win7Aero7/search_background_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/selection.bmp b/Src/Skins/Win7Aero7/selection.bmp deleted file mode 100644 index 8cfb705..0000000 Binary files a/Src/Skins/Win7Aero7/selection.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/selectionXP.bmp b/Src/Skins/Win7Aero7/selectionXP.bmp deleted file mode 100644 index da27ffd..0000000 Binary files a/Src/Skins/Win7Aero7/selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/separator.bmp b/Src/Skins/Win7Aero7/separator.bmp deleted file mode 100644 index 34b4c24..0000000 Binary files a/Src/Skins/Win7Aero7/separator.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/separator150.bmp b/Src/Skins/Win7Aero7/separator150.bmp deleted file mode 100644 index 7886214..0000000 Binary files a/Src/Skins/Win7Aero7/separator150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/separator2.bmp b/Src/Skins/Win7Aero7/separator2.bmp deleted file mode 100644 index 76f71fc..0000000 Binary files a/Src/Skins/Win7Aero7/separator2.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/separator2150.bmp b/Src/Skins/Win7Aero7/separator2150.bmp deleted file mode 100644 index f498e31..0000000 Binary files a/Src/Skins/Win7Aero7/separator2150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/separatorXP.bmp b/Src/Skins/Win7Aero7/separatorXP.bmp deleted file mode 100644 index 7579092..0000000 Binary files a/Src/Skins/Win7Aero7/separatorXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/shutdown.bmp b/Src/Skins/Win7Aero7/shutdown.bmp deleted file mode 100644 index f68379a..0000000 Binary files a/Src/Skins/Win7Aero7/shutdown.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/shutdown_arrow.bmp b/Src/Skins/Win7Aero7/shutdown_arrow.bmp deleted file mode 100644 index b61e117..0000000 Binary files a/Src/Skins/Win7Aero7/shutdown_arrow.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/shutdown_arrow150.bmp b/Src/Skins/Win7Aero7/shutdown_arrow150.bmp deleted file mode 100644 index f478635..0000000 Binary files a/Src/Skins/Win7Aero7/shutdown_arrow150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/shutdown_arrow_search.bmp b/Src/Skins/Win7Aero7/shutdown_arrow_search.bmp deleted file mode 100644 index d0a2c17..0000000 Binary files a/Src/Skins/Win7Aero7/shutdown_arrow_search.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/shutdown_arrow_search150.bmp b/Src/Skins/Win7Aero7/shutdown_arrow_search150.bmp deleted file mode 100644 index 2c59506..0000000 Binary files a/Src/Skins/Win7Aero7/shutdown_arrow_search150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/shutdown_search.bmp b/Src/Skins/Win7Aero7/shutdown_search.bmp deleted file mode 100644 index 50899c7..0000000 Binary files a/Src/Skins/Win7Aero7/shutdown_search.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/split_selection.bmp b/Src/Skins/Win7Aero7/split_selection.bmp deleted file mode 100644 index 9f3debb..0000000 Binary files a/Src/Skins/Win7Aero7/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/split_selectionXP.bmp b/Src/Skins/Win7Aero7/split_selectionXP.bmp deleted file mode 100644 index f54197b..0000000 Binary files a/Src/Skins/Win7Aero7/split_selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/user_bitmap.bmp b/Src/Skins/Win7Aero7/user_bitmap.bmp deleted file mode 100644 index 9f2765d..0000000 Binary files a/Src/Skins/Win7Aero7/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win7Aero7/user_bitmap150.bmp b/Src/Skins/Win7Aero7/user_bitmap150.bmp deleted file mode 100644 index 2fbc231..0000000 Binary files a/Src/Skins/Win7Aero7/user_bitmap150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/SkinDescription.txt b/Src/Skins/Win7Basic/SkinDescription.txt deleted file mode 100644 index 922f40b..0000000 --- a/Src/Skins/Win7Basic/SkinDescription.txt +++ /dev/null @@ -1,326 +0,0 @@ -; Windows Basic skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7102 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - -;MAIN BITMAP SECTION - describes the background of the main menu - -; Main_bitmap - ID of a bitmap resource to use for the main menu in "large icons" mode. Default is no bitmap -; The bitmap must contain a rectangular portion of opaque solid color behind the menu items -Main_bitmap=1 - -; Main_bitmap_mask - a bitmap or a solid color in #RRGGBB format that is used to blend Main_bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main_bitmap_mask=2 - -; Main_opacity - sets the opacity for the main menu. The values are: -; solid - the menu is a solid rectangle. It is filled with the Main_background color and the Main_bitmap is drawn on top -; region - the pixels from the bitmap with alpha=0 are fully transparent. The other pixels are fully opaque. The Main_background color is not used -; alpha - the full alpha for each pixel is used. Alpha goes from 0 (transparent) to 255 (opaque). The Main_background color is not used -; glass - the full alpha for each pixel is used. Alpha goes from 0 (transparent), 1 (full glass) to 255 (no glass). The Main_background color is not used -; The default is "solid" -Main_opacity=region - -; Main_bitmap_slices_X - must contain 6 numbers. The sum of the numbers must be equal to the width of the Main_bitmap image -; number 1 is the width of the image to use for the left edge -; number 2 is the width of the image to stretch and use as the background for the caption -; number 3 is the width of the image to use on the right of the caption -; number 4 is the width of the image to use on the left of the menu -; number 5 is the width of the image to stretch and use as the background for the menu -; number 6 is the width of the image to use for the right edge -; If the second number is 0 there is no caption -Main_bitmap_slices_X=7,1,0,6,1,13 - -; Main_bitmap_slices_Y - must contain 3 numbers. The sum of the numbers must be equal to the height of the Main_bitmap image -; number 1 is the height of the image to use for the top edge -; number 2 is the height of the image to stretch and use as the background -; number 3 is the height of the image to use for the bottom edge -Main_bitmap_slices_Y=13,360,12 - - -;CAPTION SECTION - describes the caption portion of the main menu - -; Caption_font - font to use for the caption. The format is "font name",[normal/bold],point size. Defaults to "Segoe UI",normal,18 -Caption_font="Segoe UI",normal,18 - -; Caption_text_color - RRGGBB color of the caption text. Defaults to white -Caption_text_color=#FFFFFF - -; Caption_glow_color - RRGGBB color of the caption glow. Defaults to white -Caption_glow_color=#000000 - -; Caption_glow_size - the width of the caption glow (0 - no glow). Defaults to 0 -Caption_glow_size=10 - -; Caption_padding - number of pixels to add on left/top/right/bottom of the caption -; If Main_bitmap is not set, the width of the standard window border is subtracted from the left/top/bottom sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Caption_padding=4,8,2,16,100% - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -; Main_large_icons - 0 - use small icons in the main menu, 1 - use large icons. Default is 0 -; The small icons are 16x16 if the DPI is 96, 20x20 for DPI 120 and 24x24 for DPI 144 -; The large icons are twice the size of the small icons -; The sub-menus always use small icons -Main_large_icons=1 - -; Main_font - font to use for the main menu items. The format is "font name",[normal/bold],point size. Defaults to the system font -Main_font="Segoe UI",normal,-10 - -; Main_background - RRGGBB color to use for the background of the main menu. Defaults to the system menu color -Main_background=#FFFFFF - -; Main_text_color - 4 colors for the text in the main menu. By default the system color is used -; color 1 is for normal menu items -; color 2 is for selected menu items -; color 3 is for disabled menu items -; color 4 is for selected disabled menu items -Main_text_color=#000000,#000000,#7F7F7F,#7F7F7F - -; Main_padding - number of pixels to add on left/top/right/bottom of the menu -; If Main_bitmap is not set, the width of the standard window border is subtracted from the right/top/bottom sides (and the left side if there is no caption) -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Main_padding=3,10,10,8 - -; Main_selection - describes how the selected menu item is drawn in the main menu. Can be: -; - an ID of a bitmap resource (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; - a #RRGGBB color -; Default is the system highlight color -Main_selection=3 - -; Main_selection_slices_X, Main_selection_slices_Y - slices of the selection mark image. The first and third are the corners, and the middle is stretched to fill the area -Main_selection_slices_X=3,1,3 -Main_selection_slices_Y=4,66,4 - -Main_split_selection=15 -Main_split_selection_slices_X=3,1,3,2,1,3 -Main_split_selection_slices_Y=4,66,4 - -Main_new_selection=19 -Main_new_selection_slices_X=3,1,3 -Main_new_selection_slices_Y=4,66,4 - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=4 - -; Main_pager_slices_X, Main_pager_slices_Y - the slices for Main_pager -Main_pager_slices_X=3,10,3 -Main_pager_slices_Y=3,9,3 - -; Main_pager_arrows - a bitmap that contains the arrow image to draw on top of the Main_pager background -Main_pager_arrows=5 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow=6 -Main_arrow_color=#000000,#000000 - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=17 - -; Main_separator_slices_X - the horizontal slices for the separator bitmap -Main_separator_slices_X=8,6,8 - -Main_arrow_padding=8,9,100% - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; The width of the standard window border is subtracted from all sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Submenu_padding=2,2,2,2 - -; These have the same meaning as the Main_... properties -Submenu_thin_frame=1 -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Submenu_selection=3 -Submenu_selection_slices_X=3,1,3 -Submenu_selection_slices_Y=4,66,4 -Submenu_split_selection=15 -Submenu_split_selection_slices_X=3,1,3,2,1,3 -Submenu_split_selection_slices_Y=4,66,4 -Submenu_pager=4 -Submenu_pager_slices_X=3,10,3 -Submenu_pager_slices_Y=3,9,3 -Submenu_pager_arrows=5 -Submenu_arrow=7 -Submenu_separator_text_padding=3,4,4,8,100% -Submenu_separator_icon_padding=6,3,3,3,100% -Submenu_separator_font="Segoe UI",normal,-10 -Submenu_separator_text_color=#0062ad,#0062ad -Submenu_separator_split_text_padding=3,4,4,8,100% -Submenu_separator_split_icon_padding=6,3,3,3,100% -Submenu_separator_split_font="Segoe UI",normal,-10 -Submenu_separator_split_text_color=#0062ad,#0062ad -Submenu_new_selection=19 -Submenu_new_selection_slices_X=3,1,3 -Submenu_new_selection_slices_Y=4,66,4 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - - -; OPTIONS - -OPTION NO_ICONS=#7008,0, TWO_COLUMNS -OPTION CAPTION=#7003,1, NOT TWO_COLUMNS, 0 -OPTION USER_IMAGE=#7014,0 -OPTION USER_NAME=#7015,0 -OPTION CENTER_NAME=#7004,0, USER_NAME, 0 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7007,0 -OPTION DISABLE_MASK=#7005,0 -OPTION WHITE_SUBMENUS=#7016,1 - -Classic1_options=CAPTION, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK, WHITE_SUBMENUS -Classic2_options=NO_ICONS, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK, WHITE_SUBMENUS -AllPrograms_options=WHITE_SUBMENUS, LARGE_FONT - -[NOT CAPTION] -Main_bitmap_slices_X=0,0,0,14,1,13 -Main_padding=12,10,10,8 - - -[SMALL_ICONS] -Main_large_icons=0 -Main_font="Segoe UI",normal,-9 -Caption_font="Segoe UI",normal,15 -Main_arrow=7 - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Main_text_padding=1,0,8,2,100% -Submenu_text_padding=1,0,8,2,100% - - -[WHITE_SUBMENUS] -Submenu_background=#FFFFFF -Submenu_separator=18 -Submenu_separator_slices_X=8,6,8 - - -[TWO_COLUMNS] -Main_bitmap=8 -Main_bitmap_mask=9 -Main_bitmap_slices_X=13,1,6,0,1,7 -Main2_opacity=region -Main_padding=10,10,3,8 -Main2_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F -Main2_padding=3,10,4,8 -Main2_selection=10 -Main2_selection_slices_X=4,63,4 -Main2_selection_slices_Y=4,20,4 -Main2_split_selection=16 -Main2_split_selection_slices_X=4,63,4,0,16,4 -Main2_split_selection_slices_Y=4,20,4 -Main2_arrow=0 -Main2_arrow_color=#FFFFFF,#FFFFFF -Main2_separator=11 -Main2_separator_slices_X=15,100,15 -Main2_icon_padding=4,4,3,4,100% -Main2_arrow_padding=8,9,100% - - -[USER_IMAGE] -; User_image_size - the size of the user image to use. Default is 0, which means the user image is not displayed -; The size must be compatible with the size of the frame bitmap User_bitmap. The value is usually 48 -User_image_size=48 - -; User_frame_position - horizontal and vertical position of the user image frame in the main menu. -; Positive numbers mean offset from the left and the top. Negative numbers mean offset from the bottom and the right -; The horizontal position can also be "center", "center1" and "center2" to center the image relative to the whole menu or to the first or second column -User_frame_position=-10,6 - -; User_bitmap - the frame around the user picture -User_bitmap=12 - -; User_image_offset - horizontal and vertical offset of the user image from its frame -; If User_bitmap is missing, the frame is assumed to be 0 pixels and this offset is ignored -User_image_offset=8,8 - - -[USER_IMAGE AND TWO_COLUMNS] -Main2_padding=3,73,5,8 - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS] -Main_bitmap=13 -Main_bitmap_mask=14 -Main_bitmap_slices_Y=76,297,12 - -[USER_IMAGE AND NOT TWO_COLUMNS] -User_frame_position=-6,6 - -[USER_NAME] -User_name_position=10,8,-75,68 -User_name_align=right -User_font="Segoe UI",bold,22 -User_text_color=#FFFFFF -User_glow_color=#000000 -User_glow_size=10 - -[USER_NAME AND NOT USER_IMAGE] -User_name_position=10,8,-10,68 - -[USER_NAME AND TWO_COLUMNS] -User_name_position=5,8,-75,68 -User_name_align=right2 - -[USER_NAME AND TWO_COLUMNS AND NOT USER_IMAGE] -User_name_position=5,8,-10,68 -Main2_padding=3,55,5,8 - -[USER_NAME AND TWO_COLUMNS AND NOT USER_IMAGE AND SMALL_ICONS] -User_name_position=5,5,-10,50 -Main2_padding=3,46,5,8 - -[SMALL_ICONS] -User_font="Segoe UI",bold,16 -Main_arrow_padding=7,7,100% - - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS AND CAPTION] -Main_padding=3,73,10,8 - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS AND NOT CAPTION] -Main_padding=12,73,10,8 - -[CENTER_NAME] -User_name_align=center - -[CENTER_NAME AND TWO_COLUMNS] -User_name_align=center2 - -[NO_ICONS] -Main_no_icons2=1 -Main2_text_padding=1,7,8,7,100% - -[NO_ICONS AND SMALL_ICONS] -Main2_text_padding=1,3,8,4,100% - -[NOT DISABLE_MASK] -; Main_selection_mask - a bitmap or a solid color in #RRGGBB format that is used to blend the selection bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main2_selection_mask=#800000 -Main2_split_selection_mask=#800000 - -[DISABLE_MASK] -Main_bitmap_mask=0 - -[HIGH_DPI] -Main_separator=20 -Main_pager_arrows=22 -Submenu_pager_arrows=22 - -[WHITE_SUBMENUS AND HIGH_DPI] -Submenu_separator=21 diff --git a/Src/Skins/Win7Basic/Win7Basic.rc b/Src/Skins/Win7Basic/Win7Basic.rc deleted file mode 100644 index b694260..0000000 --- a/Src/Skins/Win7Basic/Win7Basic.rc +++ /dev/null @@ -1,107 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "main_bitmap_mask.bmp" -3 BITMAP "selection.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "menu_arrows.bmp" -7 BITMAP "menu_arrows2.bmp" -8 BITMAP "main_bitmapXP.bmp" -9 BITMAP "main_bitmap_maskXP.bmp" -10 BITMAP "selectionXP.bmp" -11 BITMAP "separatorXP.bmp" -12 BITMAP "user_bitmap.bmp" -13 BITMAP "main_bitmap2.bmp" -14 BITMAP "main_bitmap_mask2.bmp" -15 BITMAP "split_selection.bmp" -16 BITMAP "split_selectionXP.bmp" -17 BITMAP "separator.bmp" -18 BITMAP "separator2.bmp" -19 BITMAP "new_item.bmp" -20 BITMAP "separator150.bmp" -21 BITMAP "separator2150.bmp" -22 BITMAP "pager_arrows150.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/Win7Basic/Win7Basic.vcxproj b/Src/Skins/Win7Basic/Win7Basic.vcxproj deleted file mode 100644 index 4417bd5..0000000 --- a/Src/Skins/Win7Basic/Win7Basic.vcxproj +++ /dev/null @@ -1,81 +0,0 @@ - - - - - Resource - Win32 - - - - {404821C5-4EE4-4908-A759-5EF6DAC14AB6} - Win7Basic - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - .skin - Windows Basic - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/Win7Basic/Win7Basic.vcxproj.filters b/Src/Skins/Win7Basic/Win7Basic.vcxproj.filters deleted file mode 100644 index 9c9f6d5..0000000 --- a/Src/Skins/Win7Basic/Win7Basic.vcxproj.filters +++ /dev/null @@ -1,96 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/Win7Basic/main_bitmap.bmp b/Src/Skins/Win7Basic/main_bitmap.bmp deleted file mode 100644 index 41c851a..0000000 Binary files a/Src/Skins/Win7Basic/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/main_bitmap2.bmp b/Src/Skins/Win7Basic/main_bitmap2.bmp deleted file mode 100644 index d5ce3d9..0000000 Binary files a/Src/Skins/Win7Basic/main_bitmap2.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/main_bitmapXP.bmp b/Src/Skins/Win7Basic/main_bitmapXP.bmp deleted file mode 100644 index c0d63a7..0000000 Binary files a/Src/Skins/Win7Basic/main_bitmapXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/main_bitmap_mask.bmp b/Src/Skins/Win7Basic/main_bitmap_mask.bmp deleted file mode 100644 index e51481d..0000000 Binary files a/Src/Skins/Win7Basic/main_bitmap_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/main_bitmap_mask2.bmp b/Src/Skins/Win7Basic/main_bitmap_mask2.bmp deleted file mode 100644 index 2b148c3..0000000 Binary files a/Src/Skins/Win7Basic/main_bitmap_mask2.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/main_bitmap_maskXP.bmp b/Src/Skins/Win7Basic/main_bitmap_maskXP.bmp deleted file mode 100644 index eae515f..0000000 Binary files a/Src/Skins/Win7Basic/main_bitmap_maskXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/menu_arrows.bmp b/Src/Skins/Win7Basic/menu_arrows.bmp deleted file mode 100644 index 5c66a71..0000000 Binary files a/Src/Skins/Win7Basic/menu_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/menu_arrows2.bmp b/Src/Skins/Win7Basic/menu_arrows2.bmp deleted file mode 100644 index e9ee2f2..0000000 Binary files a/Src/Skins/Win7Basic/menu_arrows2.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/new_item.bmp b/Src/Skins/Win7Basic/new_item.bmp deleted file mode 100644 index ff35bd6..0000000 Binary files a/Src/Skins/Win7Basic/new_item.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/pager.bmp b/Src/Skins/Win7Basic/pager.bmp deleted file mode 100644 index a5f088a..0000000 Binary files a/Src/Skins/Win7Basic/pager.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/pager_arrows.bmp b/Src/Skins/Win7Basic/pager_arrows.bmp deleted file mode 100644 index 719d524..0000000 Binary files a/Src/Skins/Win7Basic/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/pager_arrows150.bmp b/Src/Skins/Win7Basic/pager_arrows150.bmp deleted file mode 100644 index 5dcea2a..0000000 Binary files a/Src/Skins/Win7Basic/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/resource.h b/Src/Skins/Win7Basic/resource.h deleted file mode 100644 index b3a3207..0000000 --- a/Src/Skins/Win7Basic/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Win7Basic.rc -// -#define IDB_BITMAP2 102 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 104 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/Win7Basic/selection.bmp b/Src/Skins/Win7Basic/selection.bmp deleted file mode 100644 index 8cfb705..0000000 Binary files a/Src/Skins/Win7Basic/selection.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/selectionXP.bmp b/Src/Skins/Win7Basic/selectionXP.bmp deleted file mode 100644 index da27ffd..0000000 Binary files a/Src/Skins/Win7Basic/selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/separator.bmp b/Src/Skins/Win7Basic/separator.bmp deleted file mode 100644 index 34b4c24..0000000 Binary files a/Src/Skins/Win7Basic/separator.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/separator150.bmp b/Src/Skins/Win7Basic/separator150.bmp deleted file mode 100644 index 7886214..0000000 Binary files a/Src/Skins/Win7Basic/separator150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/separator2.bmp b/Src/Skins/Win7Basic/separator2.bmp deleted file mode 100644 index 76f71fc..0000000 Binary files a/Src/Skins/Win7Basic/separator2.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/separator2150.bmp b/Src/Skins/Win7Basic/separator2150.bmp deleted file mode 100644 index f498e31..0000000 Binary files a/Src/Skins/Win7Basic/separator2150.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/separatorXP.bmp b/Src/Skins/Win7Basic/separatorXP.bmp deleted file mode 100644 index 7579092..0000000 Binary files a/Src/Skins/Win7Basic/separatorXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/split_selection.bmp b/Src/Skins/Win7Basic/split_selection.bmp deleted file mode 100644 index 9f3debb..0000000 Binary files a/Src/Skins/Win7Basic/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/split_selectionXP.bmp b/Src/Skins/Win7Basic/split_selectionXP.bmp deleted file mode 100644 index f54197b..0000000 Binary files a/Src/Skins/Win7Basic/split_selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win7Basic/user_bitmap.bmp b/Src/Skins/Win7Basic/user_bitmap.bmp deleted file mode 100644 index 9f2765d..0000000 Binary files a/Src/Skins/Win7Basic/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win8/SkinDescription.txt b/Src/Skins/Win8/SkinDescription.txt deleted file mode 100644 index 99985e3..0000000 --- a/Src/Skins/Win8/SkinDescription.txt +++ /dev/null @@ -1,361 +0,0 @@ -; Windows 8 skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7107 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - -;MAIN BITMAP SECTION - describes the background of the main menu - -; Main_bitmap - ID of a bitmap resource to use for the main menu in "large icons" mode. Default is no bitmap -; The bitmap must contain a rectangular portion of opaque solid color behind the menu items -Main_bitmap=1 - -; Main_bitmap_mask - a bitmap or a solid color in #RRGGBB format that is used to blend Main_bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main_bitmap_mask=2 - -; Main_opacity - sets the opacity for the main menu. The values are: -; solid - the menu is a solid rectangle. It is filled with the Main_background color and the Main_bitmap is drawn on top -; region - the pixels from the bitmap with alpha=0 are fully transparent. The other pixels are fully opaque. The Main_background color is not used -; alpha - the full alpha for each pixel is used. Alpha goes from 0 (transparent) to 255 (opaque). The Main_background color is not used -; glass - the full alpha for each pixel is used. Alpha goes from 0 (transparent), 1 (full glass) to 255 (no glass). The Main_background color is not used -; The default is "solid" -Main_opacity=glass - -; Main_bitmap_slices_X - must contain 6 numbers. The sum of the numbers must be equal to the width of the Main_bitmap image -; number 1 is the width of the image to use for the left edge -; number 2 is the width of the image to stretch and use as the background for the caption -; number 3 is the width of the image to use on the right of the caption -; number 4 is the width of the image to use on the left of the menu -; number 5 is the width of the image to stretch and use as the background for the menu -; number 6 is the width of the image to use for the right edge -; If the second number is 0 there is no caption -Main_bitmap_slices_X=3,3,3,0,8,11 - -; Main_bitmap_slices_Y - must contain 3 numbers. The sum of the numbers must be equal to the height of the Main_bitmap image -; number 1 is the height of the image to use for the top edge -; number 2 is the height of the image to stretch and use as the background -; number 3 is the height of the image to use for the bottom edge -Main_bitmap_slices_Y=13,10,12 - - -;CAPTION SECTION - describes the caption portion of the main menu - -; Caption_font - font to use for the caption. The format is "font name",[normal/bold],point size. Defaults to "Segoe UI",normal,18 -Caption_font="Segoe UI",normal,18 - -; Caption_text_color - RRGGBB color of the caption text. Defaults to white -Caption_text_color=#FFFFFF - -; Caption_padding - number of pixels to add on left/top/right/bottom of the caption -; If Main_bitmap is not set, the width of the standard window border is subtracted from the left/top/bottom sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Caption_padding=4,8,2,16,100% - - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -; Main_large_icons - 0 - use small icons in the main menu, 1 - use large icons. Default is 0 -; The small icons are 16x16 if the DPI is 96, 20x20 for DPI 120 and 24x24 for DPI 144 -; The large icons are twice the size of the small icons -; The sub-menus always use small icons -Main_large_icons=1 - -; Main_font - font to use for the main menu items. The format is "font name",[normal/bold],point size. Defaults to the system font -Main_font="Segoe UI",normal,-9 - -; Main_background - RRGGBB color to use for the background of the main menu. Defaults to the system menu color -Main_background=#FFFFFF - -; Main_text_color - 4 colors for the text in the main menu. By default the system color is used -; color 1 is for normal menu items -; color 2 is for selected menu items -; color 3 is for disabled menu items -; color 4 is for selected disabled menu items -Main_text_color=#000000,#000000,#7F7F7F,#7F7F7F - -; Main_padding - number of pixels to add on left/top/right/bottom of the menu -; If Main_bitmap is not set, the width of the standard window border is subtracted from the right/top/bottom sides (and the left side if there is no caption) -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Main_padding=2,11,12,9 - -; Main_selection - describes how the selected menu item is drawn in the main menu. Can be: -; - an ID of a bitmap resource (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; - a #RRGGBB color -; Default is the system highlight color -Main_selection=3 - -; Main_selection_slices_X, Main_selection_slices_Y - slices of the selection mark image. The first and third are the corners, and the middle is stretched to fill the area -Main_selection_slices_X=3,1,3 -Main_selection_slices_Y=4,6,4 - -Main_new_selection=6 -Main_new_selection_slices_X=3,1,3 -Main_new_selection_slices_Y=4,6,4 - -; Main_split_selection - a bitmap to use for the split-button selection (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; If Main_split_selection, the split buttons will be drawn using Main_selection -Main_split_selection=15 - -; Main_split_selection_slices_X - slices of the split selection mark image. The first 3 are for the main button portion. The last 3 are for the arrow portion -Main_split_selection_slices_X=3,1,3,2,1,3 -Main_split_selection_slices_Y=4,6,4 - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=4 - -; Main_pager_slices_X, Main_pager_slices_Y - the slices for Main_pager -Main_pager_slices_X=3,10,3 -Main_pager_slices_Y=3,9,3 - -; Main_pager_arrows - a bitmap that contains the arrow image to draw on top of the Main_pager background -Main_pager_arrows=5 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow_color=#000000,#000000 -Main_arrow_padding=8,9,100% - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=17 - -; Main_separator_slices_X - the horizontal slices for the separator bitmap -Main_separator_slices_X=8,6,8 - - -Search_hint_font="Segoe UI",italic,-9 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; The width of the standard window border is subtracted from all sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Submenu_padding=2,2,2,2 - -; These have the same meaning as the Main_... properties -Submenu_thin_frame=1 -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Submenu_selection=3 -Submenu_selection_slices_X=3,1,3 -Submenu_selection_slices_Y=4,6,4 -Submenu_split_selection=15 -Submenu_split_selection_slices_X=3,1,3,2,1,3 -Submenu_split_selection_slices_Y=4,6,4 -Submenu_pager=4 -Submenu_pager_slices_X=3,10,3 -Submenu_pager_slices_Y=3,9,3 -Submenu_pager_arrows=5 -Submenu_arrow_color=#000000,#000000 -Submenu_separator_text_padding=3,4,4,4,100% -Submenu_separator_icon_padding=6,3,3,3,100% -Submenu_separator_font="Segoe UI",normal,-10 -Submenu_separator_text_color=#0062ad,#0062ad -Submenu_new_selection=6 -Submenu_new_selection_slices_X=3,1,3 -Submenu_new_selection_slices_Y=4,6,4 -Submenu_separator_split_font="Segoe UI",normal,-10 -Submenu_separator_split_text_color=#0062ad,#0062ad -Submenu_separator_split_text_padding=3,4,4,4,100% -Submenu_separator_split_icon_padding=6,3,3,3,100% - - -; OPTIONS - -OPTION NO_ICONS=#7008,0, TWO_COLUMNS -OPTION CAPTION=#7003,1, NOT TWO_COLUMNS, 0 -OPTION USER_IMAGE=#7014,0 -OPTION USER_NAME=#7015,0 -OPTION CENTER_NAME=#7004,0, USER_NAME, 0 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7006,0 -OPTION DISABLE_MASK=#7005,0 -OPTION OPAQUE=#7009,0 -OPTION GLASS_SHADOW=#7024,0, TWO_COLUMNS, 0 -OPTION BLACK_TEXT=#7002,0, TWO_COLUMNS, 0 -OPTION BLACK_FRAMES=#7001,0, TWO_COLUMNS, 0 -OPTION WHITE_SUBMENUS=#7016,1 - -Classic1_options=CAPTION, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK, OPAQUE, WHITE_SUBMENUS -Classic2_options=NO_ICONS, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT, DISABLE_MASK, OPAQUE, GLASS_SHADOW, BLACK_TEXT, BLACK_FRAMES, WHITE_SUBMENUS -AllPrograms_options=LARGE_FONT, WHITE_SUBMENUS - -[NOT CAPTION] -Main_bitmap_slices_X=0,0,0,14,1,13 -Main_padding=11,11,12,9 - -[SMALL_ICONS] -Main_large_icons=0 -Main_arrow_padding=7,7,100% -Main2_text_padding=1,3,8,4,100% -Caption_font="Segoe UI",normal,15 - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Search_hint_font="Segoe UI",italic,-10 -Main_text_padding=1,0,8,2,100% -Submenu_text_padding=1,0,8,2,100% - - -[WHITE_SUBMENUS] -Submenu_background=#FFFFFF -Submenu_separator=18 -Submenu_separator_slices_X=8,6,8 - - -[TWO_COLUMNS] -Main_padding=11,11,4,9 -Main_bitmap_slices_X=13,1,6,0,1,7 -Main2_opacity=fullglass -Main2_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F -Main2_text_padding=1,7,8,7,100% -Main2_padding=3,10,6,8 -Main2_selection=10 -Main2_selection_slices_X=4,4,4 -Main2_selection_slices_Y=4,4,4 -Main2_selection_mask=23 -Main2_split_selection=16 -Main2_split_selection_slices_X=4,4,4,0,4,4 -Main2_split_selection_slices_Y=4,4,4 -Main2_split_selection_mask=24 -Main2_arrow_color=#FFFFFF,#FFFFFF -Main2_separator=11 -Main2_separator_slices_X=8,6,8 -Main2_icon_padding=4,4,3,4,100% -Main2_arrow_padding=8,9,100% - - - -[USER_IMAGE] -; User_image_size - the size of the user image to use. Default is 0, which means the user image is not displayed -; The size must be compatible with the size of the frame bitmap User_bitmap. The value is usually 48 -User_image_size=48 - -; User_frame_position - horizontal and vertical position of the user image frame in the main menu. -; Positive numbers mean offset from the left and the top. Negative numbers mean offset from the bottom and the right -; The horizontal position can also be "center", "center1" and "center2" to center the image relative to the whole menu or to the first or second column -User_frame_position=-6,6 - -; User_bitmap - the frame around the user picture -User_bitmap=12 - -; User_image_offset - horizontal and vertical offset of the user image from its frame -; If User_bitmap is missing, the frame is assumed to be 0 pixels and this offset is ignored -User_image_offset=8,8 - - -[USER_IMAGE AND TWO_COLUMNS] -Main2_padding=3,73,6,8 - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS] -Main_bitmap=8 -Main_bitmap_mask=9 -Main_bitmap_slices_Y=77,10,12 - -[USER_IMAGE AND NOT TWO_COLUMNS] -User_frame_position=-6,6 - -[USER_NAME] -User_name_position=10,8,-75,68 -User_name_align=right -User_font="Segoe UI",bold,22 -User_text_color=#FFFFFF - -[USER_NAME AND NOT USER_IMAGE] -User_name_position=10,8,-10,68 - -[USER_NAME AND TWO_COLUMNS] -User_name_position=5,8,-75,68 -User_name_align=right2 - -[USER_NAME AND TWO_COLUMNS AND NOT USER_IMAGE] -User_name_position=5,8,-10,68 -Main2_padding=3,55,6,8 - -[USER_NAME AND TWO_COLUMNS AND NOT USER_IMAGE AND SMALL_ICONS] -User_name_position=5,5,-10,50 -Main2_padding=3,46,6,8 - -[SMALL_ICONS] -User_font="Segoe UI",bold,16 -Main_arrow_padding=7,7,100% -Main2_arrow_padding=7,7,100% - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS AND CAPTION] -Main_padding=2,75,12,9 - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS AND NOT CAPTION] -Main_padding=11,75,12,9 - -[CENTER_NAME] -User_name_align=center - -[CENTER_NAME AND TWO_COLUMNS] -User_name_align=center2 - -[NO_ICONS] -Main_no_icons2=1 -Main2_text_padding=1,7,8,7,100% - -[NO_ICONS AND SMALL_ICONS] -Main2_text_padding=1,3,8,4,100% - -[DISABLE_MASK] -Main_bitmap_mask=0 -Main2_selection_mask=0 -Main2_split_selection_mask=0 - -[OPAQUE] -Main_opacity=region -Main2_opacity=region -Main_bitmap=13 - -[(USER_IMAGE OR USER_NAME) AND NOT TWO_COLUMNS AND OPAQUE] -Main_bitmap=14 - -[BLACK_TEXT] -Caption_text_color=#000000 -Main2_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Main2_arrow_color=#000000,#000000 -User_text_color=#000000 - -[BLACK_FRAMES] -Main2_selection=19 -Main2_split_selection=20 -Main2_separator=25 - - -[HIGH_DPI] -Main_separator=26 -Main_pager_arrows=28 -Submenu_pager_arrows=28 - -[WHITE_SUBMENUS AND HIGH_DPI] -Submenu_separator=27 - - -[GLASS_SHADOW] -Main2_text_shadow_color=#404040,#404040,#000000,#000000 -Main2_arrow=29 -Main2_arrow_mask=29 -Main2_arrow_tint1=#FFFFFF -Main2_arrow_tint2=#404040 - -[GLASS_SHADOW AND HIGH_DPI] -Main2_arrow=30 -Main2_arrow_mask=30 - -[GLASS_SHADOW AND BLACK_TEXT] -Main2_text_shadow_color=#D0D0D0,#D0D0D0,#FFFFFF,#FFFFFF -Main2_arrow_tint1=#000000 -Main2_arrow_tint2=#D0D0D0 diff --git a/Src/Skins/Win8/Win8.rc b/Src/Skins/Win8/Win8.rc deleted file mode 100644 index 2872ed9..0000000 --- a/Src/Skins/Win8/Win8.rc +++ /dev/null @@ -1,116 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "main_bitmap_mask.bmp" -3 BITMAP "selection.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "new_item.bmp" -7 BITMAP "programs.bmp" -8 BITMAP "main_bitmap2.bmp" -9 BITMAP "main_bitmap_mask2.bmp" -10 BITMAP "selectionXP.bmp" -11 BITMAP "separatorXP.bmp" -12 BITMAP "user_bitmap.bmp" -13 BITMAP "main_bitmapt.bmp" -14 BITMAP "main_bitmap2t.bmp" -15 BITMAP "split_selection.bmp" -16 BITMAP "split_selectionXP.bmp" -17 BITMAP "separator.bmp" -18 BITMAP "separator2.bmp" -19 BITMAP "selectionXPb.bmp" -20 BITMAP "split_selectionXPb.bmp" -21 BITMAP "search_background.bmp" -22 BITMAP "search_background_mask.bmp" -23 BITMAP "selectionXP_mask.bmp" -24 BITMAP "split_selectionXP_mask.bmp" -25 BITMAP "separatorXPb.bmp" -26 BITMAP "separator150.bmp" -27 BITMAP "separator2150.bmp" -28 BITMAP "pager_arrows150.bmp" -29 BITMAP "menu_arrows.bmp" -30 BITMAP "menu_arrows150.bmp" - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/Win8/Win8.vcxproj b/Src/Skins/Win8/Win8.vcxproj deleted file mode 100644 index f1d1a34..0000000 --- a/Src/Skins/Win8/Win8.vcxproj +++ /dev/null @@ -1,87 +0,0 @@ - - - - - Resource - Win32 - - - - {ED74EBA9-1BCB-4B8F-9AE1-DC63B3C24A94} - Win8 - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - .skin - Windows 8 - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/Win8/Win8.vcxproj.filters b/Src/Skins/Win8/Win8.vcxproj.filters deleted file mode 100644 index 65ec469..0000000 --- a/Src/Skins/Win8/Win8.vcxproj.filters +++ /dev/null @@ -1,114 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/Win8/main_bitmap.bmp b/Src/Skins/Win8/main_bitmap.bmp deleted file mode 100644 index 881deda..0000000 Binary files a/Src/Skins/Win8/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win8/main_bitmap2.bmp b/Src/Skins/Win8/main_bitmap2.bmp deleted file mode 100644 index 2b24bff..0000000 Binary files a/Src/Skins/Win8/main_bitmap2.bmp and /dev/null differ diff --git a/Src/Skins/Win8/main_bitmap2t.bmp b/Src/Skins/Win8/main_bitmap2t.bmp deleted file mode 100644 index 607db24..0000000 Binary files a/Src/Skins/Win8/main_bitmap2t.bmp and /dev/null differ diff --git a/Src/Skins/Win8/main_bitmap_mask.bmp b/Src/Skins/Win8/main_bitmap_mask.bmp deleted file mode 100644 index 7c0221f..0000000 Binary files a/Src/Skins/Win8/main_bitmap_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win8/main_bitmap_mask2.bmp b/Src/Skins/Win8/main_bitmap_mask2.bmp deleted file mode 100644 index 11de245..0000000 Binary files a/Src/Skins/Win8/main_bitmap_mask2.bmp and /dev/null differ diff --git a/Src/Skins/Win8/main_bitmapt.bmp b/Src/Skins/Win8/main_bitmapt.bmp deleted file mode 100644 index c3d8a41..0000000 Binary files a/Src/Skins/Win8/main_bitmapt.bmp and /dev/null differ diff --git a/Src/Skins/Win8/menu_arrows.bmp b/Src/Skins/Win8/menu_arrows.bmp deleted file mode 100644 index 2079950..0000000 Binary files a/Src/Skins/Win8/menu_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Win8/menu_arrows150.bmp b/Src/Skins/Win8/menu_arrows150.bmp deleted file mode 100644 index 17f1b67..0000000 Binary files a/Src/Skins/Win8/menu_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Win8/new_item.bmp b/Src/Skins/Win8/new_item.bmp deleted file mode 100644 index 20be2de..0000000 Binary files a/Src/Skins/Win8/new_item.bmp and /dev/null differ diff --git a/Src/Skins/Win8/pager.bmp b/Src/Skins/Win8/pager.bmp deleted file mode 100644 index 8db7039..0000000 Binary files a/Src/Skins/Win8/pager.bmp and /dev/null differ diff --git a/Src/Skins/Win8/pager_arrows.bmp b/Src/Skins/Win8/pager_arrows.bmp deleted file mode 100644 index 15059d7..0000000 Binary files a/Src/Skins/Win8/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Win8/pager_arrows150.bmp b/Src/Skins/Win8/pager_arrows150.bmp deleted file mode 100644 index d6ad41f..0000000 Binary files a/Src/Skins/Win8/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Win8/programs.bmp b/Src/Skins/Win8/programs.bmp deleted file mode 100644 index 4f049b6..0000000 Binary files a/Src/Skins/Win8/programs.bmp and /dev/null differ diff --git a/Src/Skins/Win8/resource.h b/Src/Skins/Win8/resource.h deleted file mode 100644 index 0e87293..0000000 --- a/Src/Skins/Win8/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Win8.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/Win8/search_background.bmp b/Src/Skins/Win8/search_background.bmp deleted file mode 100644 index 9d922f6..0000000 Binary files a/Src/Skins/Win8/search_background.bmp and /dev/null differ diff --git a/Src/Skins/Win8/search_background_mask.bmp b/Src/Skins/Win8/search_background_mask.bmp deleted file mode 100644 index 4b9fb26..0000000 Binary files a/Src/Skins/Win8/search_background_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win8/selection.bmp b/Src/Skins/Win8/selection.bmp deleted file mode 100644 index e620208..0000000 Binary files a/Src/Skins/Win8/selection.bmp and /dev/null differ diff --git a/Src/Skins/Win8/selectionXP.bmp b/Src/Skins/Win8/selectionXP.bmp deleted file mode 100644 index ea067bf..0000000 Binary files a/Src/Skins/Win8/selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win8/selectionXP_mask.bmp b/Src/Skins/Win8/selectionXP_mask.bmp deleted file mode 100644 index ad3f0a9..0000000 Binary files a/Src/Skins/Win8/selectionXP_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win8/selectionXPb.bmp b/Src/Skins/Win8/selectionXPb.bmp deleted file mode 100644 index 85f0050..0000000 Binary files a/Src/Skins/Win8/selectionXPb.bmp and /dev/null differ diff --git a/Src/Skins/Win8/separator.bmp b/Src/Skins/Win8/separator.bmp deleted file mode 100644 index 34b4c24..0000000 Binary files a/Src/Skins/Win8/separator.bmp and /dev/null differ diff --git a/Src/Skins/Win8/separator150.bmp b/Src/Skins/Win8/separator150.bmp deleted file mode 100644 index 7886214..0000000 Binary files a/Src/Skins/Win8/separator150.bmp and /dev/null differ diff --git a/Src/Skins/Win8/separator2.bmp b/Src/Skins/Win8/separator2.bmp deleted file mode 100644 index 76f71fc..0000000 Binary files a/Src/Skins/Win8/separator2.bmp and /dev/null differ diff --git a/Src/Skins/Win8/separator2150.bmp b/Src/Skins/Win8/separator2150.bmp deleted file mode 100644 index f498e31..0000000 Binary files a/Src/Skins/Win8/separator2150.bmp and /dev/null differ diff --git a/Src/Skins/Win8/separatorXP.bmp b/Src/Skins/Win8/separatorXP.bmp deleted file mode 100644 index 4387999..0000000 Binary files a/Src/Skins/Win8/separatorXP.bmp and /dev/null differ diff --git a/Src/Skins/Win8/separatorXPb.bmp b/Src/Skins/Win8/separatorXPb.bmp deleted file mode 100644 index 54da439..0000000 Binary files a/Src/Skins/Win8/separatorXPb.bmp and /dev/null differ diff --git a/Src/Skins/Win8/split_selection.bmp b/Src/Skins/Win8/split_selection.bmp deleted file mode 100644 index 0f88608..0000000 Binary files a/Src/Skins/Win8/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/Win8/split_selectionXP.bmp b/Src/Skins/Win8/split_selectionXP.bmp deleted file mode 100644 index 054ff19..0000000 Binary files a/Src/Skins/Win8/split_selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win8/split_selectionXP_mask.bmp b/Src/Skins/Win8/split_selectionXP_mask.bmp deleted file mode 100644 index f758689..0000000 Binary files a/Src/Skins/Win8/split_selectionXP_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win8/split_selectionXPb.bmp b/Src/Skins/Win8/split_selectionXPb.bmp deleted file mode 100644 index 2f0a812..0000000 Binary files a/Src/Skins/Win8/split_selectionXPb.bmp and /dev/null differ diff --git a/Src/Skins/Win8/user_bitmap.bmp b/Src/Skins/Win8/user_bitmap.bmp deleted file mode 100644 index c1b32e3..0000000 Binary files a/Src/Skins/Win8/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win87/SkinDescription.txt b/Src/Skins/Win87/SkinDescription.txt deleted file mode 100644 index 8ce781d..0000000 --- a/Src/Skins/Win87/SkinDescription.txt +++ /dev/null @@ -1,362 +0,0 @@ -; Windows 8 skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7107 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - -;MAIN BITMAP SECTION - describes the background of the main menu - -; Main_bitmap - ID of a bitmap resource to use for the main menu in "large icons" mode. Default is no bitmap -; The bitmap must contain a rectangular portion of opaque solid color behind the menu items -Main_bitmap=1 -Main_bitmap_search=8 -Main_bitmap_jump=13 - -; Main_bitmap_mask - a bitmap or a solid color in #RRGGBB format that is used to blend Main_bitmap with the glass color and the menu background color. -; The red channel is the weight of the glass color and the green channel is the weight of the background color -Main_bitmap_mask=2 -Main_bitmap_search_mask=9 -Main_bitmap_jump_mask=14 - -; Main_opacity - sets the opacity for the main menu. The values are: -; solid - the menu is a solid rectangle. It is filled with the Main_background color and the Main_bitmap is drawn on top -; region - the pixels from the bitmap with alpha=0 are fully transparent. The other pixels are fully opaque. The Main_background color is not used -; alpha - the full alpha for each pixel is used. Alpha goes from 0 (transparent) to 255 (opaque). The Main_background color is not used -; glass - the full alpha for each pixel is used. Alpha goes from 0 (transparent), 1 (full glass) to 255 (no glass). The Main_background color is not used -; The default is "solid" -Main_opacity=glass -Main2_opacity=fullglass - -; Main_bitmap_slices_X - must contain 6 numbers. The sum of the numbers must be equal to the width of the Main_bitmap image -; number 1 is the width of the image to use for the left edge -; number 2 is the width of the image to stretch and use as the background for the caption -; number 3 is the width of the image to use on the right of the caption -; number 4 is the width of the image to use on the left of the menu -; number 5 is the width of the image to stretch and use as the background for the menu -; number 6 is the width of the image to use for the right edge -; If the second number is 0 there is no caption -Main_bitmap_slices_X=13,1,6,0,1,7 -Main_bitmap_search_slices_X=13,1,13 -Main_bitmap_jump_slices_X=13,1,2,2,1,13 - -; Main_bitmap_slices_Y - must contain 3 numbers. The sum of the numbers must be equal to the height of the Main_bitmap image -; number 1 is the height of the image to use for the top edge -; number 2 is the height of the image to stretch and use as the background -; number 3 is the height of the image to use for the bottom edge -Main_bitmap_slices_Y=13,10,12 -Main_bitmap_search_slices_Y=13,10,12 -Main_bitmap_jump_slices_Y=13,10,12 - - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -; Main_large_icons - 0 - use small icons in the main menu, 1 - use large icons. Default is 0 -; The small icons are 16x16 if the DPI is 96, 20x20 for DPI 120 and 24x24 for DPI 144 -; The large icons are twice the size of the small icons -; The sub-menus always use small icons -Main_large_icons=1 - -; Main_font - font to use for the main menu items. The format is "font name",[normal/bold],point size. Defaults to the system font -Main_font="Segoe UI",normal,-9 - -; Main_background - RRGGBB color to use for the background of the main menu. Defaults to the system menu color -Main_background=#FFFFFF - -; Main_text_color - 4 colors for the text in the main menu. By default the system color is used -; color 1 is for normal menu items -; color 2 is for selected menu items -; color 3 is for disabled menu items -; color 4 is for selected disabled menu items -Main_text_color=#000000,#000000,#7F7F7F,#7F7F7F - -; Main_padding - number of pixels to add on left/top/right/bottom of the menu -; If Main_bitmap is not set, the width of the standard window border is subtracted from the right/top/bottom sides (and the left side if there is no caption) -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Main_padding=11,11,4,9 -Main_search_padding=11,11,11,9 -Main_jump_padding=3,10,11,9 - -; Main_selection - describes how the selected menu item is drawn in the main menu. Can be: -; - an ID of a bitmap resource (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; - a #RRGGBB color -; Default is the system highlight color -Main_selection=3 - -; Main_selection_slices_X, Main_selection_slices_Y - slices of the selection mark image. The first and third are the corners, and the middle is stretched to fill the area -Main_selection_slices_X=3,1,3 -Main_selection_slices_Y=4,6,4 - -; Main_split_selection - a bitmap to use for the split-button selection (can be 32-bit bitmap with transparency or 24-bit bitmap with no transparency) -; If Main_split_selection, the split buttons will be drawn using Main_selection -Main_split_selection=15 - -; Main_split_selection_slices_X - slices of the split selection mark image. The first 3 are for the main button portion. The last 3 are for the arrow portion -Main_split_selection_slices_X=3,1,3,2,1,3 -Main_split_selection_slices_Y=4,6,4 - -; Main_pager - a bitmap that contains the background for the pager buttons (the ones that scroll menus up and down) -Main_pager=4 - -; Main_pager_slices_X, Main_pager_slices_Y - the slices for Main_pager -Main_pager_slices_X=3,10,3 -Main_pager_slices_Y=3,9,3 - -; Main_pager_arrows - a bitmap that contains the arrow image to draw on top of the Main_pager background -Main_pager_arrows=5 - -; Main_arrows - bitmap for the sub-menu arrows. The top half of the image is the normal arrow and the bottom half is the selected arrow -Main_arrow_color=#000000,#000000 -Main_arrow_padding=8,10,100% -Main_split_arrow_padding=10,10,100% - -; Main_separator - ID of a bitmap resource to use for the main menu separator. If no value is set the system separator is used -Main_separator=17 - -; Main_separator_slices_X - the horizontal slices for the separator bitmap -Main_separator_slices_X=8,6,8 - -; Second column - -Main2_text_color=#FFFFFF,#FFFFFF,#7F7F7F,#7F7F7F -Main2_text_padding=1,7,8,7,100% -Main2_padding=3,10,5,9 -Main2_selection=10 -Main2_selection_slices_X=4,4,4 -Main2_selection_slices_Y=4,4,4 -Main2_selection_mask=23 -Main2_split_selection=16 -Main2_split_selection_slices_X=4,4,4,0,4,4 -Main2_split_selection_slices_Y=4,4,4 -Main2_split_selection_mask=24 -Main2_arrow_color=#FFFFFF,#FFFFFF -Main2_separator=11 -Main2_separator_slices_X=8,6,8 -Main2_icon_padding=4,4,3,4,100% -Main2_arrow_padding=7,7,100% -Main_search_indent=16 -Main_new_selection=6 -Main_new_selection_slices_X=3,1,3 -Main_new_selection_slices_Y=4,6,4 - -; Shutdown button - -Shutdown_selection=19 -Shutdown_selection_mask=25 -Shutdown_search_selection=20 -Shutdown_jump_selection=20 -Shutdown_selection_slices_X=5,4,3,2,4,5 -Shutdown_selection_slices_Y=4,4,4 -Shutdown_padding=0,9,0,5,100% -Shutdown_text_padding=10,4,12,5,100% -Shutdown_icon_padding=5,3,-5,3,100% -Shutdown_text_color=#FFFFFF,#FFFFFF -Shutdown_search_text_color=#000000,#000000 -Shutdown_jump_text_color=#000000,#000000 -Shutdown_arrow_color=#FFFFFF,#FFFFFF -Shutdown_search_arrow_color=#000000,#000000 -Shutdown_jump_arrow_color=#000000,#000000 -Shutdown_arrow_padding=7,9,100% - - -; Programs tree - -Programs_selection=3 -Programs_selection_slices_X=3,1,3 -Programs_selection_slices_Y=4,6,4 -Programs_new_selection=6 -Programs_new_selection_slices_X=3,1,3 -Programs_new_selection_slices_Y=4,6,4 -Programs_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Programs_text_padding=0,2,0,2,100% -Programs_icon_padding=2,2,2,2,100% -Programs_indent=-5 -Programs_icon=7 - -Programs_button_text_padding=1,5,8,5,100% -Programs_button_new_text_padding=1,5,8,5,100% - - -; LIST SECTION -List_selection=3 -List_selection_slices_X=3,1,3 -List_selection_slices_Y=4,6,4 -List_split_selection=15 -List_split_selection_slices_X=3,1,3,2,1,3 -List_split_selection_slices_Y=4,6,4 -List_text_padding=0,0,4,0,100% -List_separator_text_color=#003399,#003399 -List_separator_text_padding=3,0,0,0,100% -List_separator_icon_padding=6,3,3,3,100% -List_arrow_padding=5,7,100% -List_separator_split_text_color=#003399,#003399 -List_separator_split_text_padding=3,0,0,0,100% -List_separator_split_icon_padding=6,3,3,3,100% - - -Search_padding=6,16,10,6,100%,100%,0%,100% -Search_frame=0 -Search_background=21 -Search_background_mask=22 -Search_background_slices_X=3,2,3, 0,5,13, 0,1,3 -Search_background_slices_Y=5,1,3, 0,4,0, 2,2,3 -Search_background_padding=2,-3,2,2 -Search_background_search_padding=2,-3,2,2 -Search_background_jump_padding=2,-3,2,2 -Search_hint_font="Segoe UI",italic,-9 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - - -;SUB-MENU SECTION - describes the look of the sub-menus - -; The width of the standard window border is subtracted from all sides -; This is usually 2 pixels for the Classic theme and 1 pixel for Aero or Basic -Submenu_padding=2,2,2,2 - -; These have the same meaning as the Main_... properties -Submenu_thin_frame=1 -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Submenu_selection=3 -Submenu_selection_slices_X=3,1,3 -Submenu_selection_slices_Y=4,6,4 -Submenu_split_selection=15 -Submenu_split_selection_slices_X=3,1,3,2,1,3 -Submenu_split_selection_slices_Y=4,6,4 -Submenu_pager=4 -Submenu_pager_slices_X=3,10,3 -Submenu_pager_slices_Y=3,9,3 -Submenu_pager_arrows=5 -Submenu_arrow_color=#000000,#000000 -Submenu_separator_text_padding=3,4,4,8 -Submenu_separator_font="Segoe UI",normal,-10 -Submenu_separator_text_color=#0062ad -Submenu_new_selection=6 -Submenu_new_selection_slices_X=3,1,3 -Submenu_new_selection_slices_Y=4,6,4 - - -; OPTIONS - -OPTION USER_IMAGE=#7014,1 -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7006,0 -OPTION DISABLE_MASK=#7005,0 -OPTION OPAQUE=#7009,0 -OPTION GLASS_SHADOW=#7024,0 -OPTION BLACK_TEXT=#7002,0 -OPTION BLACK_FRAMES=#7001,0 -OPTION WHITE_SUBMENUS=#7016,1 - - -[SMALL_ICONS] -Main_large_icons=0 -Main_arrow_padding=7,9,100% -Main_split_arrow_padding=9,9,100% -Main2_text_padding=1,3,8,4,100% - - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Shutdown_text_padding=10,5,12,6,100% -Search_hint_font="Segoe UI",italic,-10 -Main_text_padding=1,0,8,2,100% -Submenu_text_padding=1,0,8,2,100% -Programs_text_padding=0,0,0,2,100% - - -[WHITE_SUBMENUS] -Submenu_background=#FFFFFF -Submenu_separator=18 -Submenu_separator_slices_X=8,6,8 - - -[USER_IMAGE] -; User_bitmap - the frame around the user picture -User_bitmap=12 -User_image_size=48 -User_frame_position=36 -User_image_offset=8,8 -User_bitmap_outside=1 - - -[DISABLE_MASK] -Main_bitmap_mask=0 -Main_bitmap_search_mask=0 -Main_bitmap_jump_mask=0 -Main2_selection_mask=0 -Main2_split_selection_mask=0 -Shutdown_selection_mask=0 - -[OPAQUE] -Main_opacity=region -Main2_opacity=region -Main_bitmap=26 -Main_bitmap_search=27 -Main_bitmap_jump=28 - -[BLACK_TEXT] -Main2_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Main2_arrow_color=#000000,#000000 -Shutdown_text_color=#000000,#000000 -Shutdown_arrow_color=#000000,#000000 - -[BLACK_FRAMES] -Main2_selection=29 -Main2_split_selection=30 -Main2_separator=31 -Shutdown_selection=32 - -[HIGH_DPI] -Main_separator=33 -Main_pager_arrows=35 -Submenu_pager_arrows=35 -Programs_icon=36 -Programs_button_text_padding=1,0,8,2,100% -Programs_button_new_text_padding=1,0,8,2,100% - -[USER_IMAGE AND HIGH_DPI] -User_bitmap=37 -User_image_size=64 -User_frame_position=40 - -[WHITE_SUBMENUS AND HIGH_DPI] -Submenu_separator=34 - -[GLASS_SHADOW] -Main2_text_shadow_color=#404040,#404040,#000000,#000000 -Shutdown_text_shadow_color=#404040,#404040 -Shutdown_search_text_shadow_color=none -Shutdown_jump_text_shadow_color=none -Main2_arrow=38 -Main2_arrow_mask=38 -Main2_arrow_tint1=#FFFFFF -Main2_arrow_tint2=#404040 -Shutdown_arrow=38 -Shutdown_arrow_mask=38 -Shutdown_arrow_tint1=#FFFFFF -Shutdown_arrow_tint2=#404040 -Shutdown_search_arrow=0 -Shutdown_jump_arrow=0 - -[GLASS_SHADOW AND HIGH_DPI] -Main2_arrow=39 -Main2_arrow_mask=39 -Shutdown_arrow=39 -Shutdown_arrow_mask=39 - -[GLASS_SHADOW AND BLACK_TEXT] -Main2_text_shadow_color=#D0D0D0,#D0D0D0,#FFFFFF,#FFFFFF -Shutdown_text_shadow_color=#D0D0D0,#D0D0D0,#FFFFFF,#FFFFFF -Main2_arrow_tint1=#000000 -Main2_arrow_tint2=#D0D0D0 -Shutdown_arrow_tint1=#000000 -Shutdown_arrow_tint2=#D0D0D0 diff --git a/Src/Skins/Win87/Win87.rc b/Src/Skins/Win87/Win87.rc deleted file mode 100644 index 6016074..0000000 --- a/Src/Skins/Win87/Win87.rc +++ /dev/null @@ -1,125 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap.bmp" -2 BITMAP "main_bitmap_mask.bmp" -3 BITMAP "selection.bmp" -4 BITMAP "pager.bmp" -5 BITMAP "pager_arrows.bmp" -6 BITMAP "new_item.bmp" -7 BITMAP "programs.bmp" -8 BITMAP "main_bitmap_search.bmp" -9 BITMAP "main_bitmap_search_mask.bmp" -10 BITMAP "selectionXP.bmp" -11 BITMAP "separatorXP.bmp" -12 BITMAP "user_bitmap.bmp" -13 BITMAP "main_bitmap_jump.bmp" -14 BITMAP "main_bitmap_jump_mask.bmp" -15 BITMAP "split_selection.bmp" -16 BITMAP "split_selectionXP.bmp" -17 BITMAP "separator.bmp" -18 BITMAP "separator2.bmp" -19 BITMAP "shutdown.bmp" -20 BITMAP "shutdown_search.bmp" -21 BITMAP "search_background.bmp" -22 BITMAP "search_background_mask.bmp" -23 BITMAP "selectionXP_mask.bmp" -24 BITMAP "split_selectionXP_mask.bmp" -25 BITMAP "shutdown_mask.bmp" -26 BITMAP "main_bitmapt.bmp" -27 BITMAP "main_bitmap_searcht.bmp" -28 BITMAP "main_bitmap_jumpt.bmp" -29 BITMAP "selectionXPb.bmp" -30 BITMAP "split_selectionXPb.bmp" -31 BITMAP "separatorXPb.bmp" -32 BITMAP "shutdownb.bmp" -33 BITMAP "separator150.bmp" -34 BITMAP "separator2150.bmp" -35 BITMAP "pager_arrows150.bmp" -36 BITMAP "programs150.bmp" -37 BITMAP "user_bitmap150.bmp" -38 BITMAP "menu_arrows.bmp" -39 BITMAP "menu_arrows150.bmp" - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/Win87/Win87.vcxproj b/Src/Skins/Win87/Win87.vcxproj deleted file mode 100644 index fca11c3..0000000 --- a/Src/Skins/Win87/Win87.vcxproj +++ /dev/null @@ -1,88 +0,0 @@ - - - - - Resource - Win32 - - - - {5C875214-0E3A-4CF0-BC0C-BFF6FAA4C089} - Win87 - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - Windows 8 - .skin7 - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/Win87/Win87.vcxproj.filters b/Src/Skins/Win87/Win87.vcxproj.filters deleted file mode 100644 index 5851e49..0000000 --- a/Src/Skins/Win87/Win87.vcxproj.filters +++ /dev/null @@ -1,117 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/Win87/main_bitmap.bmp b/Src/Skins/Win87/main_bitmap.bmp deleted file mode 100644 index 881deda..0000000 Binary files a/Src/Skins/Win87/main_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win87/main_bitmap_jump.bmp b/Src/Skins/Win87/main_bitmap_jump.bmp deleted file mode 100644 index dfb4359..0000000 Binary files a/Src/Skins/Win87/main_bitmap_jump.bmp and /dev/null differ diff --git a/Src/Skins/Win87/main_bitmap_jump_mask.bmp b/Src/Skins/Win87/main_bitmap_jump_mask.bmp deleted file mode 100644 index bce8afd..0000000 Binary files a/Src/Skins/Win87/main_bitmap_jump_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win87/main_bitmap_jumpt.bmp b/Src/Skins/Win87/main_bitmap_jumpt.bmp deleted file mode 100644 index c994dc7..0000000 Binary files a/Src/Skins/Win87/main_bitmap_jumpt.bmp and /dev/null differ diff --git a/Src/Skins/Win87/main_bitmap_mask.bmp b/Src/Skins/Win87/main_bitmap_mask.bmp deleted file mode 100644 index 7c0221f..0000000 Binary files a/Src/Skins/Win87/main_bitmap_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win87/main_bitmap_search.bmp b/Src/Skins/Win87/main_bitmap_search.bmp deleted file mode 100644 index 703ee4e..0000000 Binary files a/Src/Skins/Win87/main_bitmap_search.bmp and /dev/null differ diff --git a/Src/Skins/Win87/main_bitmap_search_mask.bmp b/Src/Skins/Win87/main_bitmap_search_mask.bmp deleted file mode 100644 index a3ee002..0000000 Binary files a/Src/Skins/Win87/main_bitmap_search_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win87/main_bitmap_searcht.bmp b/Src/Skins/Win87/main_bitmap_searcht.bmp deleted file mode 100644 index 7cd5c68..0000000 Binary files a/Src/Skins/Win87/main_bitmap_searcht.bmp and /dev/null differ diff --git a/Src/Skins/Win87/main_bitmapt.bmp b/Src/Skins/Win87/main_bitmapt.bmp deleted file mode 100644 index c3d8a41..0000000 Binary files a/Src/Skins/Win87/main_bitmapt.bmp and /dev/null differ diff --git a/Src/Skins/Win87/menu_arrows.bmp b/Src/Skins/Win87/menu_arrows.bmp deleted file mode 100644 index 2079950..0000000 Binary files a/Src/Skins/Win87/menu_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Win87/menu_arrows150.bmp b/Src/Skins/Win87/menu_arrows150.bmp deleted file mode 100644 index 17f1b67..0000000 Binary files a/Src/Skins/Win87/menu_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Win87/new_item.bmp b/Src/Skins/Win87/new_item.bmp deleted file mode 100644 index 20be2de..0000000 Binary files a/Src/Skins/Win87/new_item.bmp and /dev/null differ diff --git a/Src/Skins/Win87/pager.bmp b/Src/Skins/Win87/pager.bmp deleted file mode 100644 index 8db7039..0000000 Binary files a/Src/Skins/Win87/pager.bmp and /dev/null differ diff --git a/Src/Skins/Win87/pager_arrows.bmp b/Src/Skins/Win87/pager_arrows.bmp deleted file mode 100644 index 15059d7..0000000 Binary files a/Src/Skins/Win87/pager_arrows.bmp and /dev/null differ diff --git a/Src/Skins/Win87/pager_arrows150.bmp b/Src/Skins/Win87/pager_arrows150.bmp deleted file mode 100644 index d6ad41f..0000000 Binary files a/Src/Skins/Win87/pager_arrows150.bmp and /dev/null differ diff --git a/Src/Skins/Win87/programs.bmp b/Src/Skins/Win87/programs.bmp deleted file mode 100644 index 4f049b6..0000000 Binary files a/Src/Skins/Win87/programs.bmp and /dev/null differ diff --git a/Src/Skins/Win87/programs150.bmp b/Src/Skins/Win87/programs150.bmp deleted file mode 100644 index b937e10..0000000 Binary files a/Src/Skins/Win87/programs150.bmp and /dev/null differ diff --git a/Src/Skins/Win87/resource.h b/Src/Skins/Win87/resource.h deleted file mode 100644 index 5dbac51..0000000 --- a/Src/Skins/Win87/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Win87.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/Win87/search_background.bmp b/Src/Skins/Win87/search_background.bmp deleted file mode 100644 index d843762..0000000 Binary files a/Src/Skins/Win87/search_background.bmp and /dev/null differ diff --git a/Src/Skins/Win87/search_background_mask.bmp b/Src/Skins/Win87/search_background_mask.bmp deleted file mode 100644 index 4b9fb26..0000000 Binary files a/Src/Skins/Win87/search_background_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win87/selection.bmp b/Src/Skins/Win87/selection.bmp deleted file mode 100644 index e620208..0000000 Binary files a/Src/Skins/Win87/selection.bmp and /dev/null differ diff --git a/Src/Skins/Win87/selectionXP.bmp b/Src/Skins/Win87/selectionXP.bmp deleted file mode 100644 index ea067bf..0000000 Binary files a/Src/Skins/Win87/selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win87/selectionXP_mask.bmp b/Src/Skins/Win87/selectionXP_mask.bmp deleted file mode 100644 index ad3f0a9..0000000 Binary files a/Src/Skins/Win87/selectionXP_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win87/selectionXPb.bmp b/Src/Skins/Win87/selectionXPb.bmp deleted file mode 100644 index 85f0050..0000000 Binary files a/Src/Skins/Win87/selectionXPb.bmp and /dev/null differ diff --git a/Src/Skins/Win87/separator.bmp b/Src/Skins/Win87/separator.bmp deleted file mode 100644 index 34b4c24..0000000 Binary files a/Src/Skins/Win87/separator.bmp and /dev/null differ diff --git a/Src/Skins/Win87/separator150.bmp b/Src/Skins/Win87/separator150.bmp deleted file mode 100644 index 7886214..0000000 Binary files a/Src/Skins/Win87/separator150.bmp and /dev/null differ diff --git a/Src/Skins/Win87/separator2.bmp b/Src/Skins/Win87/separator2.bmp deleted file mode 100644 index 76f71fc..0000000 Binary files a/Src/Skins/Win87/separator2.bmp and /dev/null differ diff --git a/Src/Skins/Win87/separator2150.bmp b/Src/Skins/Win87/separator2150.bmp deleted file mode 100644 index f498e31..0000000 Binary files a/Src/Skins/Win87/separator2150.bmp and /dev/null differ diff --git a/Src/Skins/Win87/separatorXP.bmp b/Src/Skins/Win87/separatorXP.bmp deleted file mode 100644 index 4387999..0000000 Binary files a/Src/Skins/Win87/separatorXP.bmp and /dev/null differ diff --git a/Src/Skins/Win87/separatorXPb.bmp b/Src/Skins/Win87/separatorXPb.bmp deleted file mode 100644 index 54da439..0000000 Binary files a/Src/Skins/Win87/separatorXPb.bmp and /dev/null differ diff --git a/Src/Skins/Win87/shutdown.bmp b/Src/Skins/Win87/shutdown.bmp deleted file mode 100644 index 4f0bab4..0000000 Binary files a/Src/Skins/Win87/shutdown.bmp and /dev/null differ diff --git a/Src/Skins/Win87/shutdown_mask.bmp b/Src/Skins/Win87/shutdown_mask.bmp deleted file mode 100644 index b4b1fbb..0000000 Binary files a/Src/Skins/Win87/shutdown_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win87/shutdown_search.bmp b/Src/Skins/Win87/shutdown_search.bmp deleted file mode 100644 index 315a3d6..0000000 Binary files a/Src/Skins/Win87/shutdown_search.bmp and /dev/null differ diff --git a/Src/Skins/Win87/shutdownb.bmp b/Src/Skins/Win87/shutdownb.bmp deleted file mode 100644 index 908768c..0000000 Binary files a/Src/Skins/Win87/shutdownb.bmp and /dev/null differ diff --git a/Src/Skins/Win87/split_selection.bmp b/Src/Skins/Win87/split_selection.bmp deleted file mode 100644 index 0f88608..0000000 Binary files a/Src/Skins/Win87/split_selection.bmp and /dev/null differ diff --git a/Src/Skins/Win87/split_selectionXP.bmp b/Src/Skins/Win87/split_selectionXP.bmp deleted file mode 100644 index 054ff19..0000000 Binary files a/Src/Skins/Win87/split_selectionXP.bmp and /dev/null differ diff --git a/Src/Skins/Win87/split_selectionXP_mask.bmp b/Src/Skins/Win87/split_selectionXP_mask.bmp deleted file mode 100644 index f758689..0000000 Binary files a/Src/Skins/Win87/split_selectionXP_mask.bmp and /dev/null differ diff --git a/Src/Skins/Win87/split_selectionXPb.bmp b/Src/Skins/Win87/split_selectionXPb.bmp deleted file mode 100644 index 2f0a812..0000000 Binary files a/Src/Skins/Win87/split_selectionXPb.bmp and /dev/null differ diff --git a/Src/Skins/Win87/user_bitmap.bmp b/Src/Skins/Win87/user_bitmap.bmp deleted file mode 100644 index 861d3ac..0000000 Binary files a/Src/Skins/Win87/user_bitmap.bmp and /dev/null differ diff --git a/Src/Skins/Win87/user_bitmap150.bmp b/Src/Skins/Win87/user_bitmap150.bmp deleted file mode 100644 index d56d5b9..0000000 Binary files a/Src/Skins/Win87/user_bitmap150.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/SkinDescription.txt b/Src/Skins/WinXP/SkinDescription.txt deleted file mode 100644 index 69ebc07..0000000 --- a/Src/Skins/WinXP/SkinDescription.txt +++ /dev/null @@ -1,144 +0,0 @@ -; Windows XP skin - -; About - text to use in the About box for this skin. use \n for new line -About=#7106 - -; AboutIcon - the ID of an icon resource to use in the About box -AboutIcon=1 - -; Version - version of the required skin engine. Set to 2 if the skin uses any of the new features introduced in Open-Shell 1.9.0 like full glass, -; skinnable sub-menus, skinnable pager buttons, skinnable arrows, etc -Version=2 - -Variation1=1,#7020 -Variation2=2,#7021 -Variation3=3,#7022 - -;MAIN BITMAP SECTION - describes the background of the main menu - -Main_bitmap=1 -Main_opacity=alpha - -Main_bitmap_slices_X=10,144,2,2,168,10 -Main_bitmap_slices_Y=15,1,8 - - -;MAIN MENU SECTION - describes the menu portion of the main menu - -Main_large_icons=1 -Main_font="Segoe UI",normal,-10 -Main_background=#FFFFFF -Main_text_color=#000000,#FFFFFF,#7F7F7F,#7F7F7F -Main_selection=#316AC5 -Main_new_selection=#FEEEAA - -Main_padding=4,18,2,9 -Main2_padding=3,18,4,9 - -Main_arrow=4 -Main2_arrow=0 -Main_arrow_padding=8,9,100% - -Main_separator=11 -Main_separator_slices_X=40,92,40 -Main2_separator=12 -Main2_separator_slices_X=30,74,30 - - - -;SUB-MENU SECTION - describes the look of the sub-menus - -Submenu_bitmap=3 -Submenu_bitmap_slices_X=8,174,2 -Submenu_bitmap_slices_Y=2,18,2 -Submenu_opacity=region -Submenu_padding=7,2,2,2 -Submenu_font="Segoe UI",normal,-9 -Submenu_text_color=#000000,#FFFFFF,#7F7F7F,#7F7F7F -Submenu_selection=#1665CB -Submenu_new_selection=#FEEEAA -Submenu_offset=5 -Submenu_separator=17 -Submenu_separator_slices_X=50,75,50 -Submenu_separator_font="Segoe UI",italic,-10 -Submenu_separator_text_color=#0062AD,#FFFFFF -Submenu_separator_text_padding=3,4,4,4,100% -Submenu_separator_icon_padding=6,3,3,3,100% -Submenu_separator_split_font="Segoe UI",italic,-10 -Submenu_separator_split_color=#0062AD,#FFFFFF -Submenu_separator_split_text_padding=3,4,4,4,100% -Submenu_separator_split_icon_padding=6,3,3,3,100% - -; Submenu_separatorV - bitmap to use as a vertical separator between multiple columns -Submenu_separatorV=18 -Submenu_separatorV_slices_Y=50,75,50 -; More_bitmap - a bitmap for the "more" button in search categories. set to 0 to use the default icon. set to "none" to hide the button -More_bitmap=none - -; OPTIONS - -OPTION SMALL_ICONS=#7011,0 -OPTION LARGE_FONT=#7007,0 -OPTION NO_ICONS=#7008,0 -OPTION USER_IMAGE=#7014,0 -OPTION USER_NAME=#7015,0 -OPTION CENTER_NAME=#7004,0, USER_NAME, 0 - -Classic1_options=variations, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT -Classic2_options=variations, NO_ICONS, USER_IMAGE, USER_NAME, CENTER_NAME, SMALL_ICONS, LARGE_FONT -AllPrograms_options=variations - -[SMALL_ICONS] -Main_large_icons=0 -Main_font="Segoe UI",normal,-9 -Main_arrow=0 - -[LARGE_FONT] -Main_font="Segoe UI",normal,-10 -Submenu_font="Segoe UI",normal,-10 -Main_text_padding=1,0,8,2,100% -Submenu_text_padding=1,0,8,2,100% - -[USER_IMAGE] -User_image_size=48 -User_frame_position=10,8 -User_bitmap=19 -User_image_offset=2,2 - -[USER_IMAGE OR USER_NAME] -Main_bitmap=2 -Main_bitmap_slices_Y=66,1,8 -Main_padding=4,67,2,9 -Main2_padding=3,67,4,9 - -[USER_NAME] -User_name_position=75,15,-15,55 -User_name_align=left -User_font="Franklin Gothic Medium",normal,22 -User_text_color=#FFFFFF -User_glow_color=#0C50B1 -User_glow_size=2 - -[USER_NAME AND NOT USER_IMAGE] -User_name_position=15,15,-15,55 - -[CENTER_NAME] -User_name_align=center - -[NO_ICONS] -Main_no_icons2=1 -Main2_text_padding=1,7,8,7,100% - -[NO_ICONS AND SMALL_ICONS] -Main2_text_padding=1,3,8,4,100% - -[NOT TWO_COLUMNS] -Main_bitmap=20 -Main_bitmap_slices_X=0,0,0,10,316,10 -Main_separator=12 -Main_separator_slices_X=30,74,30 -Main_padding=4,18,3,9 - -[NOT TWO_COLUMNS AND (USER_IMAGE OR USER_NAME)] -Main_bitmap=21 -Main_padding=4,67,3,9 diff --git a/Src/Skins/WinXP/SkinDescriptionOlive.txt b/Src/Skins/WinXP/SkinDescriptionOlive.txt deleted file mode 100644 index 28521c3..0000000 --- a/Src/Skins/WinXP/SkinDescriptionOlive.txt +++ /dev/null @@ -1,22 +0,0 @@ -Main_bitmap=5 -Main_selection=#93A070 -Main_text_color=#545F38,#FFFFFF,#7F7F7F,#7F7F7F -Main_separator=13 -Main2_separator=14 - -Submenu_bitmap=7 -Submenu_selection=#93A070 -Submenu_text_color=#000000,#FFFFFF,#7F7F7F,#FFFFFF - -[USER_IMAGE OR USER_NAME] -Main_bitmap=6 - -[USER_NAME] -User_glow_color=#8C9A70 - -[NOT TWO_COLUMNS] -Main_bitmap=22 -Main_separator=14 - -[NOT TWO_COLUMNS AND (USER_IMAGE OR USER_NAME)] -Main_bitmap=23 diff --git a/Src/Skins/WinXP/SkinDescriptionSilver.txt b/Src/Skins/WinXP/SkinDescriptionSilver.txt deleted file mode 100644 index 2122dc3..0000000 --- a/Src/Skins/WinXP/SkinDescriptionSilver.txt +++ /dev/null @@ -1,23 +0,0 @@ -Main_bitmap=8 -Main_selection=#BBB7C7 -Main_text_color=#000000,#000000,#7F7F7F,#7F7F7F -Main_separator=15 -Main2_separator=16 - -Submenu_bitmap=10 -Submenu_selection=#6B6E73 -Submenu_text_color=#000000,#FFFFFF,#7F7F7F,#FFFFFF - -[USER_IMAGE OR USER_NAME] -Main_bitmap=9 - -[USER_NAME] -User_glow_color=#404241 -User_glow_size=5 - -[NOT TWO_COLUMNS] -Main_bitmap=24 -Main_separator=16 - -[NOT TWO_COLUMNS AND (USER_IMAGE OR USER_NAME)] -Main_bitmap=25 diff --git a/Src/Skins/WinXP/WinXP.rc b/Src/Skins/WinXP/WinXP.rc deleted file mode 100644 index 913bb8e..0000000 --- a/Src/Skins/WinXP/WinXP.rc +++ /dev/null @@ -1,112 +0,0 @@ -// 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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -1 BITMAP "main_bitmap_blue.bmp" -2 BITMAP "main_bitmap_blue2.bmp" -3 BITMAP "submenu_blue.bmp" -4 BITMAP "arrow.bmp" -5 BITMAP "main_bitmap_olive.bmp" -6 BITMAP "main_bitmap_olive2.bmp" -7 BITMAP "submenu_olive.bmp" -8 BITMAP "main_bitmap_silver.bmp" -9 BITMAP "main_bitmap_silver2.bmp" -10 BITMAP "submenu_silver.bmp" -11 BITMAP "separator_blue.bmp" -12 BITMAP "separator_blue2.bmp" -13 BITMAP "separator_olive.bmp" -14 BITMAP "separator_olive2.bmp" -15 BITMAP "separator_silver.bmp" -16 BITMAP "separator_silver2.bmp" -17 BITMAP "separator_submenu.bmp" -18 BITMAP "separator_submenuV.bmp" -19 BITMAP "user_bitmap.bmp" -20 BITMAP "main_bitmap1_blue.bmp" -21 BITMAP "main_bitmap1_blue2.bmp" -22 BITMAP "main_bitmap1_olive.bmp" -23 BITMAP "main_bitmap1_olive2.bmp" -24 BITMAP "main_bitmap1_silver.bmp" -25 BITMAP "main_bitmap1_silver2.bmp" - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - -///////////////////////////////////////////////////////////////////////////// -// -// SKIN -// - -1 SKIN "SkinDescription.txt" -2 SKIN "SkinDescriptionOlive.txt" -3 SKIN "SkinDescriptionSilver.txt" - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -1 ICON "..\\..\\Setup\\OpenShell.ico" - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Src/Skins/WinXP/WinXP.vcxproj b/Src/Skins/WinXP/WinXP.vcxproj deleted file mode 100644 index 57b03bc..0000000 --- a/Src/Skins/WinXP/WinXP.vcxproj +++ /dev/null @@ -1,86 +0,0 @@ - - - - - Resource - Win32 - - - - {81EB6336-366C-47DD-82CF-FF6C36CCD2B5} - WinXP - Win32Proj - 10.0.17134.0 - - - - DynamicLibrary - v141 - Unicode - - - - - - - - - - $(SolutionDir)StartMenu\Skins\ - $(Configuration)\ - true - false - .skin - Windows XP Luna - - - - false - Windows - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Src/Skins/WinXP/WinXP.vcxproj.filters b/Src/Skins/WinXP/WinXP.vcxproj.filters deleted file mode 100644 index a7a3953..0000000 --- a/Src/Skins/WinXP/WinXP.vcxproj.filters +++ /dev/null @@ -1,111 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/Src/Skins/WinXP/arrow.bmp b/Src/Skins/WinXP/arrow.bmp deleted file mode 100644 index 5ff9b27..0000000 Binary files a/Src/Skins/WinXP/arrow.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap1_blue.bmp b/Src/Skins/WinXP/main_bitmap1_blue.bmp deleted file mode 100644 index 286bfc6..0000000 Binary files a/Src/Skins/WinXP/main_bitmap1_blue.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap1_blue2.bmp b/Src/Skins/WinXP/main_bitmap1_blue2.bmp deleted file mode 100644 index 92b5e65..0000000 Binary files a/Src/Skins/WinXP/main_bitmap1_blue2.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap1_olive.bmp b/Src/Skins/WinXP/main_bitmap1_olive.bmp deleted file mode 100644 index 335f5f2..0000000 Binary files a/Src/Skins/WinXP/main_bitmap1_olive.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap1_olive2.bmp b/Src/Skins/WinXP/main_bitmap1_olive2.bmp deleted file mode 100644 index d190c47..0000000 Binary files a/Src/Skins/WinXP/main_bitmap1_olive2.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap1_silver.bmp b/Src/Skins/WinXP/main_bitmap1_silver.bmp deleted file mode 100644 index 9ef6305..0000000 Binary files a/Src/Skins/WinXP/main_bitmap1_silver.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap1_silver2.bmp b/Src/Skins/WinXP/main_bitmap1_silver2.bmp deleted file mode 100644 index 8d315d7..0000000 Binary files a/Src/Skins/WinXP/main_bitmap1_silver2.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap_blue.bmp b/Src/Skins/WinXP/main_bitmap_blue.bmp deleted file mode 100644 index e622f21..0000000 Binary files a/Src/Skins/WinXP/main_bitmap_blue.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap_blue2.bmp b/Src/Skins/WinXP/main_bitmap_blue2.bmp deleted file mode 100644 index afb1e9e..0000000 Binary files a/Src/Skins/WinXP/main_bitmap_blue2.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap_olive.bmp b/Src/Skins/WinXP/main_bitmap_olive.bmp deleted file mode 100644 index 2ba43ea..0000000 Binary files a/Src/Skins/WinXP/main_bitmap_olive.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap_olive2.bmp b/Src/Skins/WinXP/main_bitmap_olive2.bmp deleted file mode 100644 index 6aaab79..0000000 Binary files a/Src/Skins/WinXP/main_bitmap_olive2.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap_silver.bmp b/Src/Skins/WinXP/main_bitmap_silver.bmp deleted file mode 100644 index 46dc609..0000000 Binary files a/Src/Skins/WinXP/main_bitmap_silver.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/main_bitmap_silver2.bmp b/Src/Skins/WinXP/main_bitmap_silver2.bmp deleted file mode 100644 index bc445a7..0000000 Binary files a/Src/Skins/WinXP/main_bitmap_silver2.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/resource.h b/Src/Skins/WinXP/resource.h deleted file mode 100644 index 1b73def..0000000 --- a/Src/Skins/WinXP/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by WinXP.rc -// -#define IDB_BITMAP1 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Src/Skins/WinXP/separator_blue.bmp b/Src/Skins/WinXP/separator_blue.bmp deleted file mode 100644 index cdee3c9..0000000 Binary files a/Src/Skins/WinXP/separator_blue.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/separator_blue2.bmp b/Src/Skins/WinXP/separator_blue2.bmp deleted file mode 100644 index 12cf94a..0000000 Binary files a/Src/Skins/WinXP/separator_blue2.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/separator_olive.bmp b/Src/Skins/WinXP/separator_olive.bmp deleted file mode 100644 index cdee3c9..0000000 Binary files a/Src/Skins/WinXP/separator_olive.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/separator_olive2.bmp b/Src/Skins/WinXP/separator_olive2.bmp deleted file mode 100644 index e46c606..0000000 Binary files a/Src/Skins/WinXP/separator_olive2.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/separator_silver.bmp b/Src/Skins/WinXP/separator_silver.bmp deleted file mode 100644 index cdee3c9..0000000 Binary files a/Src/Skins/WinXP/separator_silver.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/separator_silver2.bmp b/Src/Skins/WinXP/separator_silver2.bmp deleted file mode 100644 index 08c676b..0000000 Binary files a/Src/Skins/WinXP/separator_silver2.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/separator_submenu.bmp b/Src/Skins/WinXP/separator_submenu.bmp deleted file mode 100644 index 5bb6ea1..0000000 Binary files a/Src/Skins/WinXP/separator_submenu.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/separator_submenuV.bmp b/Src/Skins/WinXP/separator_submenuV.bmp deleted file mode 100644 index 5352eb2..0000000 Binary files a/Src/Skins/WinXP/separator_submenuV.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/submenu_blue.bmp b/Src/Skins/WinXP/submenu_blue.bmp deleted file mode 100644 index 89f06b0..0000000 Binary files a/Src/Skins/WinXP/submenu_blue.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/submenu_olive.bmp b/Src/Skins/WinXP/submenu_olive.bmp deleted file mode 100644 index 2545e8b..0000000 Binary files a/Src/Skins/WinXP/submenu_olive.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/submenu_silver.bmp b/Src/Skins/WinXP/submenu_silver.bmp deleted file mode 100644 index 5641e58..0000000 Binary files a/Src/Skins/WinXP/submenu_silver.bmp and /dev/null differ diff --git a/Src/Skins/WinXP/user_bitmap.bmp b/Src/Skins/WinXP/user_bitmap.bmp deleted file mode 100644 index 7762c40..0000000 Binary files a/Src/Skins/WinXP/user_bitmap.bmp and /dev/null differ diff --git a/Src/StartMenu/Legacy.cpp b/Src/StartMenu/Legacy.cpp deleted file mode 100644 index 1d6abde..0000000 --- a/Src/StartMenu/Legacy.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "stdafx.h" -#include -namespace fs = std::filesystem; - -static void CopyRegKey(HKEY root, const wchar_t* srcKey, const wchar_t* dstKey) -{ - CRegKey src; - if (src.Open(root, srcKey, KEY_READ | KEY_WOW64_64KEY) == ERROR_SUCCESS) - { - CRegKey dst; - if (dst.Create(root, dstKey, nullptr, 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, nullptr, nullptr) == ERROR_SUCCESS) - ::RegCopyTree(src, nullptr, dst); - } -} - -static void CopyFolder(const wchar_t* srcPath, const wchar_t* dstPath) -{ - wchar_t src[MAX_PATH]{}; - ::ExpandEnvironmentStrings(srcPath, src, _countof(src)); - - wchar_t dst[MAX_PATH]{}; - ::ExpandEnvironmentStrings(dstPath, dst, _countof(dst)); - - std::error_code err; - fs::copy(src, dst, fs::copy_options::recursive | fs::copy_options::update_existing, err); -} - -void ImportLegacyData() -{ - CRegKey reg; - if (reg.Open(HKEY_CURRENT_USER, L"Software\\OpenShell", KEY_READ | KEY_WOW64_64KEY) == ERROR_FILE_NOT_FOUND) - { - CopyRegKey(HKEY_CURRENT_USER, L"Software\\IvoSoft\\ClassicExplorer", L"Software\\OpenShell\\ClassicExplorer"); - CopyRegKey(HKEY_CURRENT_USER, L"Software\\IvoSoft\\ClassicIE", L"Software\\OpenShell\\ClassicIE"); - CopyRegKey(HKEY_CURRENT_USER, L"Software\\IvoSoft\\ClassicShell", L"Software\\OpenShell\\OpenShell"); - CopyRegKey(HKEY_CURRENT_USER, L"Software\\IvoSoft\\ClassicStartMenu", L"Software\\OpenShell\\StartMenu"); - - CopyFolder(L"%APPDATA%\\ClassicShell", L"%APPDATA%\\OpenShell"); - CopyFolder(L"%LOCALAPPDATA%\\ClassicShell", L"%LOCALAPPDATA%\\OpenShell"); - } -} diff --git a/Src/StartMenu/Legacy.h b/Src/StartMenu/Legacy.h deleted file mode 100644 index dea506d..0000000 --- a/Src/StartMenu/Legacy.h +++ /dev/null @@ -1,2 +0,0 @@ -// import legacy Classic Shell settings/data if we don't have any yet -void ImportLegacyData(); diff --git a/Src/StartMenu/MetroColors/win10_black.txt b/Src/StartMenu/MetroColors/win10_black.txt deleted file mode 100644 index cfbec0f..0000000 --- a/Src/StartMenu/MetroColors/win10_black.txt +++ /dev/null @@ -1,1218 +0,0 @@ -FFFFFFFF ApplicationBackground -FF000000 ApplicationBackgroundDarkTheme -FFFFFFFF ApplicationBackgroundLightTheme -FF000000 ApplicationText -FFFFFFFF ApplicationTextDarkTheme -FF000000 ApplicationTextLightTheme -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 -FF83807C ControlDarkLinkHover -FF8D8A87 ControlDarkLinkPressed -FF6D6A67 ControlDarkLinkRest -FF8D8A87 ControlDarkLinkVisited -BFEDEDED ControlDarkPanningIndicator -59FFFFFF ControlDarkProgressBackground -FFAEACAA 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 -FF4D4A48 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 -FF41403D ControlDarkRoundButtonFillLayerDisabled -FF504F4B ControlDarkRoundButtonFillLayerHover -FFFFFFFF ControlDarkRoundButtonFillLayerPressed -FF41403D ControlDarkRoundButtonFillLayerRest -FF95938E ControlDarkRoundButtonGlyphDisabled -FFFFFFFF ControlDarkRoundButtonGlyphLayerHover -FF353433 ControlDarkRoundButtonGlyphLayerPressed -FFFFFFFF ControlDarkRoundButtonGlyphLayerRest -FF95938E 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 -FF4D4A48 ControlDarkSelectHighlightSelected -FF615F5C ControlDarkSelectHighlightSelectedHover -FFFFFFFF ControlDarkSelectPopupBackgroundDisabled -21000000 ControlDarkSelectPopupBackgroundHover -FFD3D3D3 ControlDarkSelectPopupBackgroundPressed -FFFFFFFF ControlDarkSelectPopupBackgroundRest -FF4D4A48 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 -FF41403D 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 -FF615F5C ControlDarkSliderTrackFillHover -FFAEACAA ControlDarkSliderTrackFillPressed -FF4D4A48 ControlDarkSliderTrackFillRest -FF95938E ControlDarkToggleLabelDisabled -FFFFFFFF ControlDarkToggleLabelEnabled -FF95938E ControlDarkToggleOnOffTextDisabled -FFFFFFFF ControlDarkToggleOnOffTextEnabled -FF5A5956 ControlDarkToggleThumbDisabled -FFFFFFFF ControlDarkToggleThumbEnabled -FF504F4B ControlDarkToggleTrackBackgroundDisabled -FF5C5B58 ControlDarkToggleTrackBackgroundEnabled -4AFFFFFF ControlDarkToggleTrackBackgroundHover -59FFFFFF ControlDarkToggleTrackBackgroundPressed -42FFFFFF ControlDarkToggleTrackBackgroundRest -FF504F4B ControlDarkToggleTrackBorderDisabled -FF5A5956 ControlDarkToggleTrackBorderEnabled -FF504F4B ControlDarkToggleTrackFillDisabled -FF4D4A48 ControlDarkToggleTrackFillEnabled -FF615F5C ControlDarkToggleTrackFillHover -FFAEACAA ControlDarkToggleTrackFillPressed -FF4D4A48 ControlDarkToggleTrackFillRest -00000000 ControlDarkToggleTrackGutterDisabled -00000000 ControlDarkToggleTrackGutterEnabled -00000000 ControlDefaultDarkButtonBackgroundDisabled -FF615F5C ControlDefaultDarkButtonBackgroundHover -FFFFFFFF ControlDefaultDarkButtonBackgroundPressed -FF4D4A48 ControlDefaultDarkButtonBackgroundRest -66FFFFFF ControlDefaultDarkButtonBorderDisabled -FFFFFFFF ControlDefaultDarkButtonBorderHover -FFFFFFFF ControlDefaultDarkButtonBorderPressed -FFFFFFFF ControlDefaultDarkButtonBorderRest -66FFFFFF ControlDefaultDarkButtonTextDisabled -FFFFFFFF ControlDefaultDarkButtonTextHover -FF000000 ControlDefaultDarkButtonTextPressed -FFFFFFFF ControlDefaultDarkButtonTextRest -FF000000 ControlDefaultFocusRectDark -FFFFFFFF ControlDefaultFocusRectLight -66CACACA ControlDefaultLightButtonBackgroundDisabled -FF615F5C ControlDefaultLightButtonBackgroundHover -FF000000 ControlDefaultLightButtonBackgroundPressed -FF4D4A48 ControlDefaultLightButtonBackgroundRest -66CACACA ControlDefaultLightButtonBorderDisabled -FF615F5C ControlDefaultLightButtonBorderHover -FF000000 ControlDefaultLightButtonBorderPressed -FF4D4A48 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 -FF767370 ControlLightLinkHover -FF938F8C ControlLightLinkPressed -FF595755 ControlLightLinkRest -FF938F8C ControlLightLinkVisited -EBC9C9C9 ControlLightPanningIndicator -2B000000 ControlLightProgressBackground -FF4D4A48 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 -FF4D4A48 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 -FF4D4A48 ControlLightSelectHighlightSelected -FF615F5C ControlLightSelectHighlightSelectedHover -FFFFFFFF ControlLightSelectPopupBackgroundDisabled -21000000 ControlLightSelectPopupBackgroundHover -FFD3D3D3 ControlLightSelectPopupBackgroundPressed -FFFFFFFF ControlLightSelectPopupBackgroundRest -FF4D4A48 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 -FF615F5C ControlLightSliderTrackFillHover -FFAEACAA ControlLightSliderTrackFillPressed -FF4D4A48 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 -FF4D4A48 ControlLightToggleTrackFillEnabled -FF615F5C ControlLightToggleTrackFillHover -FFAEACAA ControlLightToggleTrackFillPressed -FF4D4A48 ControlLightToggleTrackFillRest -00000000 ControlLightToggleTrackGutterDisabled -00000000 ControlLightToggleTrackGutterEnabled -00000000 ControlProgressBorder -FFDEDEDE ControlRadioButtonBackgroundDisabledHover -FF000000 ControlRadioButtonBackgroundDisabledPressed -FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected -FF4D4A48 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 -FF000000 DarkAltHigh -33000000 DarkAltLow -99000000 DarkAltMedium -CC000000 DarkAltMediumHigh -66000000 DarkAltMediumLow -FFFFFFFF DarkBaseHigh -33FFFFFF DarkBaseLow -99FFFFFF DarkBaseMedium -CCFFFFFF DarkBaseMediumHigh -66FFFFFF DarkBaseMediumLow -FFF2F2F2 DarkChromeAltLow -FF000000 DarkChromeBlackHigh -33000000 DarkChromeBlackLow -CC000000 DarkChromeBlackMedium -66000000 DarkChromeBlackMediumLow -FF333333 DarkChromeDisabledHigh -FF858585 DarkChromeDisabledLow -FF767676 DarkChromeHigh -FF171717 DarkChromeLow -FF1F1F1F DarkChromeMedium -FF2B2B2B DarkChromeMediumLow -FF101010 DarkChromeTaskbarBase -FFFFFFFF DarkChromeWhite -E54D4A48 DarkListAccentHigh -994D4A48 DarkListAccentLow -CC4D4A48 DarkListAccentMedium -19FFFFFF DarkListLow -33FFFFFF DarkListMedium -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 -FFBAB8B6 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 -FF4D4A48 HardwareDarkCandidateControlBackgroundHightlighted -FFE5E5E5 HardwareDarkCandidateControlBackgroundHover -FF42403E HardwareDarkCandidateControlBackgroundPressed -FF1A1A1A HardwareDarkCandidateControlBackgroundRest -FFFFFFFF HardwareDarkCandidateControlHighlightedSecondaryTextPressed -FF4D4A48 HardwareDarkCandidateControlHighlightSelected -FFFFFFFF HardwareDarkCandidateControlSecondaryTextHighlighted -FF000000 HardwareDarkCandidateControlSecondaryTextHover -FFFFFFFF HardwareDarkCandidateControlSecondaryTextPressed -FF838383 HardwareDarkCandidateControlSecondaryTextRest -FFFFFFFF HardwareDarkCandidateControlSecondaryTextSelect -FF000000 HardwareDarkCandidateControlTextHover -FFFFFFFF HardwareDarkCandidateControlTextPressed -FFFFFFFF HardwareDarkCandidateControlTextRest -FFFFFFFF HardwareDarkCandidateControlTextSelect -FF1A1A1A HardwareDarkKeyboardBackground -FF000000 HardwareDarkKeyboardChildKeyKeyText -FF1A1A1A HardwareDarkKeyboardChildPanelBackground -FFF2F2F2 HardwareDarkKeyboardChildPanelKeyBackground -FF4D4A48 HardwareDarkKeyboardEmojiCategoryTextSelected -FF4D4D4D HardwareDarkKeyboardFunctionKeyBackground -FFFFFFFF HardwareDarkKeyboardFunctionKeyText -FF838383 HardwareDarkKeyboardFunctionKeyTextDisabled -FFE5E5E5 HardwareDarkKeyboardKeyBackgroundHover -FF4D4A48 HardwareDarkKeyboardKeyBackgroundPressed -FF333333 HardwareDarkKeyboardKeyBackgroundRest -FF333333 HardwareDarkKeyboardKeyDefaultBackgroundRest -FFFFFFFF HardwareDarkKeyboardKeyDefaultPrimaryTextRest -FF838383 HardwareDarkKeyboardKeyPrimaryTextDisabled -FF000000 HardwareDarkKeyboardKeyPrimaryTextHover -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextPressed -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextRest -00000000 HardwareDarkKeyboardKeySecondaryTextChildKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextChildKeyHover -FF4D4A48 HardwareDarkKeyboardKeySecondaryTextChildKeyPressed -FF838383 HardwareDarkKeyboardKeySecondaryTextChildKeyRest -FF838383 HardwareDarkKeyboardKeySecondaryTextModifierKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextModifierKeyHover -FF4D4A48 HardwareDarkKeyboardKeySecondaryTextModifierKeyPressed -FF333333 HardwareDarkKeyboardKeySecondaryTextModifierKeyRest -FF333333 HardwareDarkKeyboardNumberKeyBackground -FFFFFFFF HardwareDarkKeyboardNumberKeyText -FF838383 HardwareDarkKeyboardSpaceGripper -FF27262C HardwareDarkKeyboardThumbCentralNumberKeyBackground -FFA4A4A4 HardwareDarkKeyboardThumbCentralNumberKeyText -00000000 HardwareDarkKeyboardThumbResizeGripperBackgroundRest -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 -FF4D4A48 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 -FF504F4B HardwareGutterDown -FFD8D8D8 HardwareGutterIndicator -FF4D4A48 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 -FFB8B6B4 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 -FFE81123 HardwareTitleBarCloseButtonHover -FFF1707A HardwareTitleBarCloseButtonPressed -FF3665B3 HardwareTitleBarMinimizeButtonHover -FF3D6099 HardwareTitleBarMinimizeButtonPressed -FF369ACA HardwareTrimBarProgressFill -FFFFFFFF HardwareTrimControlFill -4C000000 HardwareTrimControlFillHover -FFFFFFFF HardwareTrimControlFillPressed -59000000 HardwareTrimControlOutline -59000000 HardwareTrimControlOutlineHover -59000000 HardwareTrimControlOutlinePressed -FF222222 HardwareWin8Pillarbox -FF262524 InputSwitchColorDarkBackground -19FFFFFF InputSwitchColorDarkButtonBackgroundHover -33FFFFFF InputSwitchColorDarkButtonBackgroundPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchColorDarkButtonTextHover -FFFFFFFF InputSwitchColorDarkButtonTextPressed -FFFFFFFF InputSwitchColorDarkButtonTextRest -FF858585 InputSwitchColorDarkDisabledText -FF858585 InputSwitchColorDarkRadioButtonBackgroundDisabledSelected -66000000 InputSwitchColorDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchColorDarkRadioButtonBorder -FF000000 InputSwitchColorDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchColorDarkSelectionPrimaryText -33FFFFFF InputSwitchColorDarkSeparatorLine -FFCCCCCC InputSwitchColorDarkWindowBorder -F21E1E1E InputSwitchDarkBackground -19FFFFFF InputSwitchDarkButtonBackgroundHover -33FFFFFF InputSwitchDarkButtonBackgroundPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchDarkButtonTextHover -FFFFFFFF InputSwitchDarkButtonTextPressed -FFFFFFFF InputSwitchDarkButtonTextRest -FF858585 InputSwitchDarkDisabledText -FF858585 InputSwitchDarkRadioButtonBackgroundDisabledSelected -FF4C4A48 InputSwitchDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchDarkRadioButtonBorder -FF000000 InputSwitchDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchDarkSelectionPrimaryText -33FFFFFF InputSwitchDarkSeparatorLine -FFCCCCCC InputSwitchDarkWindowBorder -F2FFFFFF InputSwitchLightBackground -19000000 InputSwitchLightButtonBackgroundHover -33000000 InputSwitchLightButtonBackgroundPressed -8A000000 InputSwitchLightButtonSecondaryTextHover -8A000000 InputSwitchLightButtonSecondaryTextPressed -8A000000 InputSwitchLightButtonSecondaryTextRest -FF000000 InputSwitchLightButtonTextHover -FF000000 InputSwitchLightButtonTextPressed -FF000000 InputSwitchLightButtonTextRest -FFCCCCCC InputSwitchLightDisabledText -FFCCCCCC InputSwitchLightRadioButtonBackgroundDisabledSelected -FF4C4A48 InputSwitchLightRadioButtonBackgroundSelected -FF000000 InputSwitchLightRadioButtonBorder -FF000000 InputSwitchLightRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchLightSelectionPrimaryText -33000000 InputSwitchLightSeparatorLine -FF000000 InputSwitchLightWindowBorder -FFFFFFFF LightAltHigh -33FFFFFF LightAltLow -99FFFFFF LightAltMedium -CCFFFFFF LightAltMediumHigh -66FFFFFF LightAltMediumLow -FFFFFFFF LightBackground -FFB6B6B6 LightBackgroundDisabled -FF000000 LightBaseHigh -33000000 LightBaseLow -99000000 LightBaseMedium -CC000000 LightBaseMediumHigh -66000000 LightBaseMediumLow -FF2A2A2A LightBorder -FF171717 LightChromeAltLow -FF000000 LightChromeBlackHigh -33000000 LightChromeBlackLow -CC000000 LightChromeBlackMedium -66000000 LightChromeBlackMediumLow -FFCCCCCC LightChromeDisabledHigh -FF7A7A7A LightChromeDisabledLow -FFCCCCCC LightChromeHigh -FFF2F2F2 LightChromeLow -FFE6E6E6 LightChromeMedium -FFF2F2F2 LightChromeMediumLow -FFEFEFEF LightChromeTaskbarBase -FFFFFFFF LightChromeWhite -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 -FF4D4A48 LightHighlight -FFDEDEDE LightHoverBackground -21000000 LightHoverBackgroundTransparent -FF000000 LightHoverPrimaryText -FF000000 LightHoverSecondaryText -1A000000 LightIconBorder -FFE13300 LightInlineErrorText -B24D4A48 LightListAccentHigh -664D4A48 LightListAccentLow -994D4A48 LightListAccentMedium -19000000 LightListLow -33000000 LightListMedium -FFF4F4F4 LightNavBackground -21FFFFFF LightPCSettingsNavBarItemBackgroundHover -21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed -19000000 LightPCSettingsSearchButtonBackgroundHover -33000000 LightPCSettingsSearchButtonBackgroundPressed -00000000 LightPCSettingsSearchButtonBackgroundRest -3B9B9B9B LightPlaceholderBackground -FF4D4A48 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 -FF575B59 LightSearchHitHighlight -FF777777 LightSearchNewsBackground -FFDDDDDD LightSearchNewsBackgroundBorder -FF41403D LightSearchSettingTilesBackground -FF999999 LightSearchStoreRatingEmpty -FF333333 LightSearchStoreRatingFull -FFFFFFFF LightSearchVideoTextWhite -FF7C29ED LightSearchWeatherBlue -FF83807C LightSecondaryChartFill -FF666666 LightSecondaryText -B2000000 LightSecondaryTextTransparent -FF4D4A48 LightSelectedTabText -FF4D4A48 LightSelectionBackground -FF615F5C LightSelectionHoverBackground -FFFFFFFF LightSelectionHoverPrimaryText -FFFFFFFF LightSelectionHoverSecondaryText -FFFFFFFF LightSelectionPrimaryText -FFFFFFFF LightSelectionSecondaryText -FF000000 LightTabText -FF4D4A48 LightTitleText -FFCD2622 LightWUError -FF1E7126 LightWUNormal -FFFF9600 LightWUWarning -FF9B9A99 MultitaskingMTVActiveVirtualDesktopHotTrackOuterBorder -FF848381 MultitaskingMTVActiveVirtualDesktopOuterBorder -FFFFFFFF MultitaskingMTVCloseGlyphHotTrack -FFFFFFFF MultitaskingMTVCloseGlyphPressed -FFFFFFFF MultitaskingMTVCloseGlyphRest -00000000 MultitaskingMTVCloseOutlineHotTrack -00000000 MultitaskingMTVCloseOutlinePressed -00000000 MultitaskingMTVCloseOutlineRest -CCE81123 MultitaskingMTVClosePlateHotTrack -FFE81123 MultitaskingMTVClosePlatePressed -00000000 MultitaskingMTVClosePlateRest -FF000000 MultitaskingMTVDimmingLayer -FF000000 MultitaskingMTVInactiveVirtualDesktopDim -FFFFFFFF MultitaskingMTVNewDesktopFocusOutline -00000000 MultitaskingMTVNewDesktopOutlineHotTrack -00000000 MultitaskingMTVNewDesktopOutlinePressed -00000000 MultitaskingMTVNewDesktopOutlineRest -FF000000 MultitaskingMTVNewDesktopPlateHotTrack -FF000000 MultitaskingMTVNewDesktopPlatePressed -FF000000 MultitaskingMTVNewDesktopPlateRest -FFFFFFFF MultitaskingMTVNewDesktopTextHotTrack -FFFFFFFF MultitaskingMTVNewDesktopTextPressed -FFFFFFFF MultitaskingMTVNewDesktopTextRest -FFFFFFFF MultitaskingMTVRestVirtualDesktopInner -FFFFFFFF MultitaskingMTVScrollButtonGlyphDisabled -FFFFFFFF MultitaskingMTVScrollButtonGlyphHotTrack -FFFFFFFF MultitaskingMTVScrollButtonGlyphPressed -FFFFFFFF MultitaskingMTVScrollButtonGlyphRest -00000000 MultitaskingMTVScrollButtonOutlineDisabled -00000000 MultitaskingMTVScrollButtonOutlineHotTrack -00000000 MultitaskingMTVScrollButtonOutlinePressed -00000000 MultitaskingMTVScrollButtonOutlineRest -FF000000 MultitaskingMTVScrollButtonPlateDisabled -FF000000 MultitaskingMTVScrollButtonPlateHotTrack -FF000000 MultitaskingMTVScrollButtonPlatePressed -FF000000 MultitaskingMTVScrollButtonPlateRest -FF171717 MultitaskingMTVScrollViewerBackground -00000000 MultitaskingMTVScrollViewerOutline -FFFFFFFF MultitaskingMTVSwitchItemTitle -FF000000 MultitaskingMTVThumbnailFocusInnerBorder -FFFFFFFF MultitaskingMTVThumbnailFocusOuterBorder -FF000000 MultitaskingMTVThumbnailHotTrackInnerBorder -FFFFFFFF MultitaskingMTVThumbnailHotTrackOuterBorder -FF000000 MultitaskingMTVThumbnailInnerBorder -FF000000 MultitaskingMTVVirtualDesktopBarBackground -00000000 MultitaskingMTVVirtualDesktopBarOutline -FF4C4A48 MultitaskingMTVVirtualDesktopDragDrop -FFFFFFFF MultitaskingMTVVirtualDesktopHotTrackOuterBorder -FF000000 MultitaskingMTVVirtualDesktopInnerBorder -FFFFFFFF MultitaskingMTVVirtualDesktopTitle -FF41403D SaturatedAltTabBackground -3DFFFFFF SaturatedAltTabHoverRect -FFFFFFFF SaturatedAltTabPressedRect -FF44424D SaturatedBackButtonBar -FF41403D SaturatedBackground -FFFF3CFF SaturatedBackgroundDisabled -FF93918C SaturatedCommandRowDisabled -FFFFFFFF SaturatedCommandRowHighlight -FF585654 SaturatedCommandRowHover -FF4D8E37 SaturatedCommandRowPressed -FF4D4A48 SaturatedCommandRowRest -FFFF00FF SaturatedControlLink -FFFF00FF SaturatedControlLinkBackgroundPressed -FFFF00FF SaturatedControlLinkDisabled -FFFF00FF SaturatedControlLinkForegroundPressed -FFFF00FF SaturatedControlLinkMouseHover -FFFF00FF SaturatedControlLinkPressed -FFFF00FF SaturatedControlLinkVisited -FF000000 SaturatedDefaultDarkFocusRect -FFFFFFFF SaturatedDefaultLightFocusRect -FFF1F1F1 SaturatedDesktopToastBackground -FF777571 SaturatedDisabledText -3DFFFFFF SaturatedDivider -FFFFFFFF SaturatedFocusRect -FF000000 SaturatedFocusRectDark -FF2E2D2C SaturatedFolderBackground -FFA8A6A4 SaturatedHighlight -FF5A5956 SaturatedHoverBackground -FFFFFFFF SaturatedHoverPrimaryText -FFC5C4C0 SaturatedHoverSecondaryText -FFFFFF00 SaturatedInlineErrorText -FFFFFFFF SaturatedPrimaryText -99FFFFFF SaturatedSearchHighlight -99FFFFFF SaturatedSearchSecondaryText -FFA7A6A3 SaturatedSecondaryText -66FFFFFF SaturatedSecondaryTextDisabledTransparent -B2FFFFFF SaturatedSecondaryTextTransparent -FF4D4A48 SaturatedSelectionBackground -FF615F5C SaturatedSelectionHoverBackground -FFFFFFFF SaturatedSelectionHoverPrimaryText -FFFFFFFF SaturatedSelectionHoverSecondaryText -FFFFFFFF SaturatedSelectionPrimaryText -FFA8A6A4 SaturatedSelectionSecondaryText -00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled -21FFFFFF SaturatedSettingCharmSystemPaneButtonHover -3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed -00FFFFFF SaturatedSettingCharmSystemPaneButtonRest -3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected -CCFFFFFF SaturatedSettingCharmSystemPaneButtonText -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected -FF4D4A48 SaturatedSettingsCharmLinkHover -FF5A5956 SaturatedSuggestionTilesBackground -FF41403D SaturatedSystemToastBackground -33000000 SaturatedThumbnailPlaceholder -FF000000 SaturatedWebWizardIndex -FF41403D StartAllAppsDivider -FF2E2D2C StartAPVBackground -FF817D7A StartAPVHeaderText -FF57FFFF StartAPVNewAppText -FF41403D StartAPVSemanticZoomTileBackground -FF353433 StartBackground -FFFF1EEE StartBackgroundDisabled -FF4D4A48 StartCmdBarBackground -FF615F5C StartCmdBarButtonFillLayerHover -FFFFFFFF StartCmdBarButtonFillLayerPressed -FF4D4A48 StartCmdBarButtonFillLayerRest -FFFFFFFF StartCmdBarButtonGlyphLayerHover -FF4D4A48 StartCmdBarButtonGlyphLayerPressed -FFFFFFFF StartCmdBarButtonGlyphLayerRest -FFFFFFFF StartCmdBarButtonOutlineLayerHover -FFFFFFFF StartCmdBarButtonOutlineLayerPressed -FFFFFFFF StartCmdBarButtonOutlineLayerRest -FF777571 StartCommandRowDisabled -FFFFFFFF StartCommandRowHighlight -FFB6B5B1 StartCommandRowHover -FFFFFFFF StartCommandRowPressed -FF9D9B97 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 -FF41403D StartDesktopTilesBackground -FFC2C1BE StartDesktopTilesText -FF777571 StartDisabledText -FFFFFFFF StartFocusRect -FF2E2D2C StartFolderBackground -FFD5D3D2 StartGroupNameHeader -FFA8A6A4 StartHighlight -FF504F4B StartHoverBackground -FFFFFFFF StartHoverPrimaryText -FFC2C1BE StartHoverSecondaryText -FFFFFF00 StartInlineErrorText -FF000000 StartLightTileInstallProgressFill -33000000 StartLightTileInstallProgressTrack -FFFFFFFF StartPrimaryText -FFCCCCCC StartRoundButtonHover -FF666666 StartRoundButtonPressed -FFFFFFFF StartRoundButtonRest -FF9D9B97 StartSecondaryText -FF4D4A48 StartSelectionBackground -FF615F5C StartSelectionHoverBackground -FFFFFFFF StartSelectionHoverPrimaryText -FFFFFFFF StartSelectionHoverSecondaryText -FFFFFFFF StartSelectionPrimaryText -FFA8A6A4 StartSelectionSecondaryText -FF615F5C StartSystemTilesBackground -FF777571 StartThumbnailPlaceholder -FF4C4A48 SystemAccent -FF363533 SystemAccentDark1 -FF262524 SystemAccentDark2 -FF191919 SystemAccentDark3 -FF6D6B6A SystemAccentLight1 -FF848381 SystemAccentLight2 -FF9B9A99 SystemAccentLight3 -FF000000 SystemBackground -FF000000 SystemBackgroundDarkTheme -FFFFFFFF SystemBackgroundLightTheme -FFFFFFFF SystemText -FFFFFFFF SystemTextDarkTheme -FF000000 SystemTextLightTheme -66626262 TabletModeDragJointDividerBackground -FF0F1721 TabletModePPIJointDividerBackground diff --git a/Src/StartMenu/MetroColors/win10_blue.txt b/Src/StartMenu/MetroColors/win10_blue.txt deleted file mode 100644 index 3f25ae8..0000000 --- a/Src/StartMenu/MetroColors/win10_blue.txt +++ /dev/null @@ -1,1218 +0,0 @@ -FFFFFFFF ApplicationBackground -FF000000 ApplicationBackgroundDarkTheme -FFFFFFFF ApplicationBackgroundLightTheme -FF000000 ApplicationText -FFFFFFFF ApplicationTextDarkTheme -FF000000 ApplicationTextLightTheme -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 -FF73C4FF ControlDarkLinkHover -FF48B1FF ControlDarkLinkPressed -FFB3DEFF ControlDarkLinkRest -FF48B1FF ControlDarkLinkVisited -BFEDEDED ControlDarkPanningIndicator -59FFFFFF ControlDarkProgressBackground -FF64B4F4 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 -FF0076D7 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 -FF0067B3 ControlDarkRoundButtonFillLayerDisabled -FF0078D0 ControlDarkRoundButtonFillLayerHover -FFFFFFFF ControlDarkRoundButtonFillLayerPressed -FF0067B3 ControlDarkRoundButtonFillLayerRest -FF7197B3 ControlDarkRoundButtonGlyphDisabled -FFFFFFFF ControlDarkRoundButtonGlyphLayerHover -FF005A9D ControlDarkRoundButtonGlyphLayerPressed -FFFFFFFF ControlDarkRoundButtonGlyphLayerRest -FF7197B3 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 -FF0076D7 ControlDarkSelectHighlightSelected -FF0F8BF0 ControlDarkSelectHighlightSelectedHover -FFFFFFFF ControlDarkSelectPopupBackgroundDisabled -21000000 ControlDarkSelectPopupBackgroundHover -FFD3D3D3 ControlDarkSelectPopupBackgroundPressed -FFFFFFFF ControlDarkSelectPopupBackgroundRest -FF0076D7 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 -FF0067B3 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 -FF0F8BF0 ControlDarkSliderTrackFillHover -FF64B4F4 ControlDarkSliderTrackFillPressed -FF0076D7 ControlDarkSliderTrackFillRest -FF7197B3 ControlDarkToggleLabelDisabled -FFFFFFFF ControlDarkToggleLabelEnabled -FF7197B3 ControlDarkToggleOnOffTextDisabled -FFFFFFFF ControlDarkToggleOnOffTextEnabled -FF0084E6 ControlDarkToggleThumbDisabled -FFFFFFFF ControlDarkToggleThumbEnabled -FF3F6F92 ControlDarkToggleTrackBackgroundDisabled -FF0D85DD ControlDarkToggleTrackBackgroundEnabled -4AFFFFFF ControlDarkToggleTrackBackgroundHover -59FFFFFF ControlDarkToggleTrackBackgroundPressed -42FFFFFF ControlDarkToggleTrackBackgroundRest -FF0078D0 ControlDarkToggleTrackBorderDisabled -FF0084E6 ControlDarkToggleTrackBorderEnabled -FF3F6F92 ControlDarkToggleTrackFillDisabled -FF0076D7 ControlDarkToggleTrackFillEnabled -FF0F8BF0 ControlDarkToggleTrackFillHover -FF64B4F4 ControlDarkToggleTrackFillPressed -FF0076D7 ControlDarkToggleTrackFillRest -00000000 ControlDarkToggleTrackGutterDisabled -00000000 ControlDarkToggleTrackGutterEnabled -00000000 ControlDefaultDarkButtonBackgroundDisabled -FF0F8BF0 ControlDefaultDarkButtonBackgroundHover -FFFFFFFF ControlDefaultDarkButtonBackgroundPressed -FF0076D7 ControlDefaultDarkButtonBackgroundRest -66FFFFFF ControlDefaultDarkButtonBorderDisabled -FFFFFFFF ControlDefaultDarkButtonBorderHover -FFFFFFFF ControlDefaultDarkButtonBorderPressed -FFFFFFFF ControlDefaultDarkButtonBorderRest -66FFFFFF ControlDefaultDarkButtonTextDisabled -FFFFFFFF ControlDefaultDarkButtonTextHover -FF000000 ControlDefaultDarkButtonTextPressed -FFFFFFFF ControlDefaultDarkButtonTextRest -FF000000 ControlDefaultFocusRectDark -FFFFFFFF ControlDefaultFocusRectLight -66CACACA ControlDefaultLightButtonBackgroundDisabled -FF0F8BF0 ControlDefaultLightButtonBackgroundHover -FF000000 ControlDefaultLightButtonBackgroundPressed -FF0076D7 ControlDefaultLightButtonBackgroundRest -66CACACA ControlDefaultLightButtonBorderDisabled -FF0F8BF0 ControlDefaultLightButtonBorderHover -FF000000 ControlDefaultLightButtonBorderPressed -FF0076D7 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 -FF289EFF ControlLightLinkHover -FF62B8FF ControlLightLinkPressed -FF0084F0 ControlLightLinkRest -FF62B8FF ControlLightLinkVisited -EBC9C9C9 ControlLightPanningIndicator -2B000000 ControlLightProgressBackground -FF0076D7 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 -FF0076D7 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 -FF0076D7 ControlLightSelectHighlightSelected -FF0F8BF0 ControlLightSelectHighlightSelectedHover -FFFFFFFF ControlLightSelectPopupBackgroundDisabled -21000000 ControlLightSelectPopupBackgroundHover -FFD3D3D3 ControlLightSelectPopupBackgroundPressed -FFFFFFFF ControlLightSelectPopupBackgroundRest -FF0076D7 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 -FF0F8BF0 ControlLightSliderTrackFillHover -FF64B4F4 ControlLightSliderTrackFillPressed -FF0076D7 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 -FF0076D7 ControlLightToggleTrackFillEnabled -FF0F8BF0 ControlLightToggleTrackFillHover -FF64B4F4 ControlLightToggleTrackFillPressed -FF0076D7 ControlLightToggleTrackFillRest -00000000 ControlLightToggleTrackGutterDisabled -00000000 ControlLightToggleTrackGutterEnabled -00000000 ControlProgressBorder -FFDEDEDE ControlRadioButtonBackgroundDisabledHover -FF000000 ControlRadioButtonBackgroundDisabledPressed -FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected -FF0076D7 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 -FF000000 DarkAltHigh -33000000 DarkAltLow -99000000 DarkAltMedium -CC000000 DarkAltMediumHigh -66000000 DarkAltMediumLow -FFFFFFFF DarkBaseHigh -33FFFFFF DarkBaseLow -99FFFFFF DarkBaseMedium -CCFFFFFF DarkBaseMediumHigh -66FFFFFF DarkBaseMediumLow -FFF2F2F2 DarkChromeAltLow -FF000000 DarkChromeBlackHigh -33000000 DarkChromeBlackLow -CC000000 DarkChromeBlackMedium -66000000 DarkChromeBlackMediumLow -FF333333 DarkChromeDisabledHigh -FF858585 DarkChromeDisabledLow -FF767676 DarkChromeHigh -FF171717 DarkChromeLow -FF1F1F1F DarkChromeMedium -FF2B2B2B DarkChromeMediumLow -FF101010 DarkChromeTaskbarBase -FFFFFFFF DarkChromeWhite -E50076D7 DarkListAccentHigh -990076D7 DarkListAccentLow -CC0076D7 DarkListAccentMedium -19FFFFFF DarkListLow -33FFFFFF DarkListMedium -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 -FF0076D7 HardwareCharmsBarFlag -FF71BFFF 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 -FF0076D7 HardwareDarkCandidateControlBackgroundHightlighted -FFE5E5E5 HardwareDarkCandidateControlBackgroundHover -FF006AC1 HardwareDarkCandidateControlBackgroundPressed -FF1A1A1A HardwareDarkCandidateControlBackgroundRest -FFFFFFFF HardwareDarkCandidateControlHighlightedSecondaryTextPressed -FF0076D7 HardwareDarkCandidateControlHighlightSelected -FFFFFFFF HardwareDarkCandidateControlSecondaryTextHighlighted -FF000000 HardwareDarkCandidateControlSecondaryTextHover -FFFFFFFF HardwareDarkCandidateControlSecondaryTextPressed -FF838383 HardwareDarkCandidateControlSecondaryTextRest -FFFFFFFF HardwareDarkCandidateControlSecondaryTextSelect -FF000000 HardwareDarkCandidateControlTextHover -FFFFFFFF HardwareDarkCandidateControlTextPressed -FFFFFFFF HardwareDarkCandidateControlTextRest -FFFFFFFF HardwareDarkCandidateControlTextSelect -FF1A1A1A HardwareDarkKeyboardBackground -FF000000 HardwareDarkKeyboardChildKeyKeyText -FF1A1A1A HardwareDarkKeyboardChildPanelBackground -FFF2F2F2 HardwareDarkKeyboardChildPanelKeyBackground -FF0076D7 HardwareDarkKeyboardEmojiCategoryTextSelected -FF4D4D4D HardwareDarkKeyboardFunctionKeyBackground -FFFFFFFF HardwareDarkKeyboardFunctionKeyText -FF838383 HardwareDarkKeyboardFunctionKeyTextDisabled -FFE5E5E5 HardwareDarkKeyboardKeyBackgroundHover -FF0076D7 HardwareDarkKeyboardKeyBackgroundPressed -FF333333 HardwareDarkKeyboardKeyBackgroundRest -FF333333 HardwareDarkKeyboardKeyDefaultBackgroundRest -FFFFFFFF HardwareDarkKeyboardKeyDefaultPrimaryTextRest -FF838383 HardwareDarkKeyboardKeyPrimaryTextDisabled -FF000000 HardwareDarkKeyboardKeyPrimaryTextHover -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextPressed -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextRest -00000000 HardwareDarkKeyboardKeySecondaryTextChildKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextChildKeyHover -FF0076D7 HardwareDarkKeyboardKeySecondaryTextChildKeyPressed -FF838383 HardwareDarkKeyboardKeySecondaryTextChildKeyRest -FF838383 HardwareDarkKeyboardKeySecondaryTextModifierKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextModifierKeyHover -FF0076D7 HardwareDarkKeyboardKeySecondaryTextModifierKeyPressed -FF333333 HardwareDarkKeyboardKeySecondaryTextModifierKeyRest -FF333333 HardwareDarkKeyboardNumberKeyBackground -FFFFFFFF HardwareDarkKeyboardNumberKeyText -FF838383 HardwareDarkKeyboardSpaceGripper -FF27262C HardwareDarkKeyboardThumbCentralNumberKeyBackground -FFA4A4A4 HardwareDarkKeyboardThumbCentralNumberKeyText -00000000 HardwareDarkKeyboardThumbResizeGripperBackgroundRest -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 -FF0076D7 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 -FF0277CE HardwareGutterDown -FFD8D8D8 HardwareGutterIndicator -FF0076D7 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 -FF82BBEA 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 -FFE81123 HardwareTitleBarCloseButtonHover -FFF1707A HardwareTitleBarCloseButtonPressed -FF3665B3 HardwareTitleBarMinimizeButtonHover -FF3D6099 HardwareTitleBarMinimizeButtonPressed -FF369ACA HardwareTrimBarProgressFill -FFFFFFFF HardwareTrimControlFill -4C000000 HardwareTrimControlFillHover -FFFFFFFF HardwareTrimControlFillPressed -59000000 HardwareTrimControlOutline -59000000 HardwareTrimControlOutlineHover -59000000 HardwareTrimControlOutlinePressed -FF222222 HardwareWin8Pillarbox -FF004275 InputSwitchColorDarkBackground -19FFFFFF InputSwitchColorDarkButtonBackgroundHover -33FFFFFF InputSwitchColorDarkButtonBackgroundPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchColorDarkButtonTextHover -FFFFFFFF InputSwitchColorDarkButtonTextPressed -FFFFFFFF InputSwitchColorDarkButtonTextRest -FF858585 InputSwitchColorDarkDisabledText -FF858585 InputSwitchColorDarkRadioButtonBackgroundDisabledSelected -66000000 InputSwitchColorDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchColorDarkRadioButtonBorder -FF000000 InputSwitchColorDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchColorDarkSelectionPrimaryText -33FFFFFF InputSwitchColorDarkSeparatorLine -FFCCCCCC InputSwitchColorDarkWindowBorder -F21E1E1E InputSwitchDarkBackground -19FFFFFF InputSwitchDarkButtonBackgroundHover -33FFFFFF InputSwitchDarkButtonBackgroundPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchDarkButtonTextHover -FFFFFFFF InputSwitchDarkButtonTextPressed -FFFFFFFF InputSwitchDarkButtonTextRest -FF858585 InputSwitchDarkDisabledText -FF858585 InputSwitchDarkRadioButtonBackgroundDisabledSelected -FF0078D7 InputSwitchDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchDarkRadioButtonBorder -FF000000 InputSwitchDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchDarkSelectionPrimaryText -33FFFFFF InputSwitchDarkSeparatorLine -FFCCCCCC InputSwitchDarkWindowBorder -F2FFFFFF InputSwitchLightBackground -19000000 InputSwitchLightButtonBackgroundHover -33000000 InputSwitchLightButtonBackgroundPressed -8A000000 InputSwitchLightButtonSecondaryTextHover -8A000000 InputSwitchLightButtonSecondaryTextPressed -8A000000 InputSwitchLightButtonSecondaryTextRest -FF000000 InputSwitchLightButtonTextHover -FF000000 InputSwitchLightButtonTextPressed -FF000000 InputSwitchLightButtonTextRest -FFCCCCCC InputSwitchLightDisabledText -FFCCCCCC InputSwitchLightRadioButtonBackgroundDisabledSelected -FF0078D7 InputSwitchLightRadioButtonBackgroundSelected -FF000000 InputSwitchLightRadioButtonBorder -FF000000 InputSwitchLightRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchLightSelectionPrimaryText -33000000 InputSwitchLightSeparatorLine -FF000000 InputSwitchLightWindowBorder -FFFFFFFF LightAltHigh -33FFFFFF LightAltLow -99FFFFFF LightAltMedium -CCFFFFFF LightAltMediumHigh -66FFFFFF LightAltMediumLow -FFFFFFFF LightBackground -FFB6B6B6 LightBackgroundDisabled -FF000000 LightBaseHigh -33000000 LightBaseLow -99000000 LightBaseMedium -CC000000 LightBaseMediumHigh -66000000 LightBaseMediumLow -FF2A2A2A LightBorder -FF171717 LightChromeAltLow -FF000000 LightChromeBlackHigh -33000000 LightChromeBlackLow -CC000000 LightChromeBlackMedium -66000000 LightChromeBlackMediumLow -FFCCCCCC LightChromeDisabledHigh -FF7A7A7A LightChromeDisabledLow -FFCCCCCC LightChromeHigh -FFF2F2F2 LightChromeLow -FFE6E6E6 LightChromeMedium -FFF2F2F2 LightChromeMediumLow -FFEFEFEF LightChromeTaskbarBase -FFFFFFFF LightChromeWhite -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 -FF0076D7 LightHighlight -FFDEDEDE LightHoverBackground -21000000 LightHoverBackgroundTransparent -FF000000 LightHoverPrimaryText -FF000000 LightHoverSecondaryText -1A000000 LightIconBorder -FFE13300 LightInlineErrorText -B20076D7 LightListAccentHigh -660076D7 LightListAccentLow -990076D7 LightListAccentMedium -19000000 LightListLow -33000000 LightListMedium -FFF4F4F4 LightNavBackground -21FFFFFF LightPCSettingsNavBarItemBackgroundHover -21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed -19000000 LightPCSettingsSearchButtonBackgroundHover -33000000 LightPCSettingsSearchButtonBackgroundPressed -00000000 LightPCSettingsSearchButtonBackgroundRest -3B9B9B9B LightPlaceholderBackground -FF0076D7 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 -FFB30062 LightSearchHitHighlight -FF777777 LightSearchNewsBackground -FFDDDDDD LightSearchNewsBackgroundBorder -FF0067B3 LightSearchSettingTilesBackground -FF999999 LightSearchStoreRatingEmpty -FF333333 LightSearchStoreRatingFull -FFFFFFFF LightSearchVideoTextWhite -FF7C29ED LightSearchWeatherBlue -FF42AAFF LightSecondaryChartFill -FF666666 LightSecondaryText -B2000000 LightSecondaryTextTransparent -FF0076D7 LightSelectedTabText -FF0076D7 LightSelectionBackground -FF0F8BF0 LightSelectionHoverBackground -FFFFFFFF LightSelectionHoverPrimaryText -FFFFFFFF LightSelectionHoverSecondaryText -FFFFFFFF LightSelectionPrimaryText -FFFFFFFF LightSelectionSecondaryText -FF000000 LightTabText -FF0076D7 LightTitleText -FFCD2622 LightWUError -FF1E7126 LightWUNormal -FFFF9600 LightWUWarning -FFA6D8FF MultitaskingMTVActiveVirtualDesktopHotTrackOuterBorder -FF76B9ED MultitaskingMTVActiveVirtualDesktopOuterBorder -FFFFFFFF MultitaskingMTVCloseGlyphHotTrack -FFFFFFFF MultitaskingMTVCloseGlyphPressed -FFFFFFFF MultitaskingMTVCloseGlyphRest -00000000 MultitaskingMTVCloseOutlineHotTrack -00000000 MultitaskingMTVCloseOutlinePressed -00000000 MultitaskingMTVCloseOutlineRest -CCE81123 MultitaskingMTVClosePlateHotTrack -FFE81123 MultitaskingMTVClosePlatePressed -00000000 MultitaskingMTVClosePlateRest -FF000000 MultitaskingMTVDimmingLayer -FF000000 MultitaskingMTVInactiveVirtualDesktopDim -FFFFFFFF MultitaskingMTVNewDesktopFocusOutline -00000000 MultitaskingMTVNewDesktopOutlineHotTrack -00000000 MultitaskingMTVNewDesktopOutlinePressed -00000000 MultitaskingMTVNewDesktopOutlineRest -FF000000 MultitaskingMTVNewDesktopPlateHotTrack -FF000000 MultitaskingMTVNewDesktopPlatePressed -FF000000 MultitaskingMTVNewDesktopPlateRest -FFFFFFFF MultitaskingMTVNewDesktopTextHotTrack -FFFFFFFF MultitaskingMTVNewDesktopTextPressed -FFFFFFFF MultitaskingMTVNewDesktopTextRest -FFFFFFFF MultitaskingMTVRestVirtualDesktopInner -FFFFFFFF MultitaskingMTVScrollButtonGlyphDisabled -FFFFFFFF MultitaskingMTVScrollButtonGlyphHotTrack -FFFFFFFF MultitaskingMTVScrollButtonGlyphPressed -FFFFFFFF MultitaskingMTVScrollButtonGlyphRest -00000000 MultitaskingMTVScrollButtonOutlineDisabled -00000000 MultitaskingMTVScrollButtonOutlineHotTrack -00000000 MultitaskingMTVScrollButtonOutlinePressed -00000000 MultitaskingMTVScrollButtonOutlineRest -FF000000 MultitaskingMTVScrollButtonPlateDisabled -FF000000 MultitaskingMTVScrollButtonPlateHotTrack -FF000000 MultitaskingMTVScrollButtonPlatePressed -FF000000 MultitaskingMTVScrollButtonPlateRest -FF171717 MultitaskingMTVScrollViewerBackground -00000000 MultitaskingMTVScrollViewerOutline -FFFFFFFF MultitaskingMTVSwitchItemTitle -FF000000 MultitaskingMTVThumbnailFocusInnerBorder -FFFFFFFF MultitaskingMTVThumbnailFocusOuterBorder -FF000000 MultitaskingMTVThumbnailHotTrackInnerBorder -FFFFFFFF MultitaskingMTVThumbnailHotTrackOuterBorder -FF000000 MultitaskingMTVThumbnailInnerBorder -FF000000 MultitaskingMTVVirtualDesktopBarBackground -00000000 MultitaskingMTVVirtualDesktopBarOutline -FF0078D7 MultitaskingMTVVirtualDesktopDragDrop -FFFFFFFF MultitaskingMTVVirtualDesktopHotTrackOuterBorder -FF000000 MultitaskingMTVVirtualDesktopInnerBorder -FFFFFFFF MultitaskingMTVVirtualDesktopTitle -FF0067B3 SaturatedAltTabBackground -3DFFFFFF SaturatedAltTabHoverRect -FFFFFFFF SaturatedAltTabPressedRect -FF44424D SaturatedBackButtonBar -FF0067B3 SaturatedBackground -FFFF3CFF SaturatedBackgroundDisabled -FF6296BD SaturatedCommandRowDisabled -FFFFFFFF SaturatedCommandRowHighlight -FF0083EE SaturatedCommandRowHover -FF4D8E37 SaturatedCommandRowPressed -FF0076D7 SaturatedCommandRowRest -FFFF00FF SaturatedControlLink -FFFF00FF SaturatedControlLinkBackgroundPressed -FFFF00FF SaturatedControlLinkDisabled -FFFF00FF SaturatedControlLinkForegroundPressed -FFFF00FF SaturatedControlLinkMouseHover -FFFF00FF SaturatedControlLinkPressed -FFFF00FF SaturatedControlLinkVisited -FF000000 SaturatedDefaultDarkFocusRect -FFFFFFFF SaturatedDefaultLightFocusRect -FFF1F1F1 SaturatedDesktopToastBackground -FF6C94B0 SaturatedDisabledText -3DFFFFFF SaturatedDivider -FFFFFFFF SaturatedFocusRect -FF000000 SaturatedFocusRectDark -FF00528E SaturatedFolderBackground -FF8ECCFF SaturatedHighlight -FF0C83DA SaturatedHoverBackground -FFFFFFFF SaturatedHoverPrimaryText -FFD1DFE9 SaturatedHoverSecondaryText -FFFFFF00 SaturatedInlineErrorText -FFFFFFFF SaturatedPrimaryText -99FFFFFF SaturatedSearchHighlight -99FFFFFF SaturatedSearchSecondaryText -FFACC2D2 SaturatedSecondaryText -66FFFFFF SaturatedSecondaryTextDisabledTransparent -B2FFFFFF SaturatedSecondaryTextTransparent -FF0076D7 SaturatedSelectionBackground -FF0F8BF0 SaturatedSelectionHoverBackground -FFFFFFFF SaturatedSelectionHoverPrimaryText -FFFFFFFF SaturatedSelectionHoverSecondaryText -FFFFFFFF SaturatedSelectionPrimaryText -FF97CCF7 SaturatedSelectionSecondaryText -00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled -21FFFFFF SaturatedSettingCharmSystemPaneButtonHover -3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed -00FFFFFF SaturatedSettingCharmSystemPaneButtonRest -3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected -CCFFFFFF SaturatedSettingCharmSystemPaneButtonText -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected -FF0076D7 SaturatedSettingsCharmLinkHover -FF0C83DA SaturatedSuggestionTilesBackground -FF0067B3 SaturatedSystemToastBackground -33000000 SaturatedThumbnailPlaceholder -FF000000 SaturatedWebWizardIndex -FF0067B3 StartAllAppsDivider -FF00528E StartAPVBackground -FFB3DEFF StartAPVHeaderText -FF57FFFF StartAPVNewAppText -FF0067B3 StartAPVSemanticZoomTileBackground -FF005A9D StartBackground -FFFF1EEE StartBackgroundDisabled -FF0076D7 StartCmdBarBackground -FF0F8BF0 StartCmdBarButtonFillLayerHover -FFFFFFFF StartCmdBarButtonFillLayerPressed -FF0076D7 StartCmdBarButtonFillLayerRest -FFFFFFFF StartCmdBarButtonGlyphLayerHover -FF0076D7 StartCmdBarButtonGlyphLayerPressed -FFFFFFFF StartCmdBarButtonGlyphLayerRest -FFFFFFFF StartCmdBarButtonOutlineLayerHover -FFFFFFFF StartCmdBarButtonOutlineLayerPressed -FFFFFFFF StartCmdBarButtonOutlineLayerRest -FF6C94B0 StartCommandRowDisabled -FFFFFFFF StartCommandRowHighlight -FFBFD0DD StartCommandRowHover -FFFFFFFF StartCommandRowPressed -FF9EB8CB 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 -FF0067B3 StartDesktopTilesBackground -FFB7E0FF StartDesktopTilesText -FF6C94B0 StartDisabledText -FFFFFFFF StartFocusRect -FF00528E StartFolderBackground -FFCBD5DC StartGroupNameHeader -FF8ECCFF StartHighlight -FF0B76C6 StartHoverBackground -FFFFFFFF StartHoverPrimaryText -FFD0DDE6 StartHoverSecondaryText -FFFFFF00 StartInlineErrorText -FF000000 StartLightTileInstallProgressFill -33000000 StartLightTileInstallProgressTrack -FFFFFFFF StartPrimaryText -FFCCCCCC StartRoundButtonHover -FF666666 StartRoundButtonPressed -FFFFFFFF StartRoundButtonRest -FF9EB8CB StartSecondaryText -FF0076D7 StartSelectionBackground -FF0F8BF0 StartSelectionHoverBackground -FFFFFFFF StartSelectionHoverPrimaryText -FFFFFFFF StartSelectionHoverSecondaryText -FFFFFFFF StartSelectionPrimaryText -FF97CCF7 StartSelectionSecondaryText -FF0F8BF0 StartSystemTilesBackground -FF6C94B0 StartThumbnailPlaceholder -FF0078D7 SystemAccent -FF005A9E SystemAccentDark1 -FF004275 SystemAccentDark2 -FF002642 SystemAccentDark3 -FF429CE3 SystemAccentLight1 -FF76B9ED SystemAccentLight2 -FFA6D8FF SystemAccentLight3 -FF000000 SystemBackground -FF000000 SystemBackgroundDarkTheme -FFFFFFFF SystemBackgroundLightTheme -FFFFFFFF SystemText -FFFFFFFF SystemTextDarkTheme -FF000000 SystemTextLightTheme -66626262 TabletModeDragJointDividerBackground -FF0F1721 TabletModePPIJointDividerBackground diff --git a/Src/StartMenu/MetroColors/win10_green.txt b/Src/StartMenu/MetroColors/win10_green.txt deleted file mode 100644 index 0de3485..0000000 --- a/Src/StartMenu/MetroColors/win10_green.txt +++ /dev/null @@ -1,1218 +0,0 @@ -FFFFFFFF ApplicationBackground -FF000000 ApplicationBackgroundDarkTheme -FFFFFFFF ApplicationBackgroundLightTheme -FF000000 ApplicationText -FFFFFFFF ApplicationTextDarkTheme -FF000000 ApplicationTextLightTheme -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 -FFA5FF37 ControlDarkLinkHover -FF92FF0D ControlDarkLinkPressed -FFC1FF77 ControlDarkLinkRest -FF92FF0D ControlDarkLinkVisited -BFEDEDED ControlDarkPanningIndicator -59FFFFFF ControlDarkProgressBackground -FFB4F464 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 -FF4A8305 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 -FF427700 ControlDarkRoundButtonFillLayerDisabled -FF529104 ControlDarkRoundButtonFillLayerHover -FFFFFFFF ControlDarkRoundButtonFillLayerPressed -FF427700 ControlDarkRoundButtonFillLayerRest -FF95B371 ControlDarkRoundButtonGlyphDisabled -FFFFFFFF ControlDarkRoundButtonGlyphLayerHover -FF355F03 ControlDarkRoundButtonGlyphLayerPressed -FFFFFFFF ControlDarkRoundButtonGlyphLayerRest -FF95B371 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 -FF4A8305 ControlDarkSelectHighlightSelected -FF609F11 ControlDarkSelectHighlightSelectedHover -FFFFFFFF ControlDarkSelectPopupBackgroundDisabled -21000000 ControlDarkSelectPopupBackgroundHover -FFD3D3D3 ControlDarkSelectPopupBackgroundPressed -FFFFFFFF ControlDarkSelectPopupBackgroundRest -FF4A8305 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 -FF427700 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 -FF609F11 ControlDarkSliderTrackFillHover -FFB4F464 ControlDarkSliderTrackFillPressed -FF4A8305 ControlDarkSliderTrackFillRest -FF95B371 ControlDarkToggleLabelDisabled -FFFFFFFF ControlDarkToggleLabelEnabled -FF95B371 ControlDarkToggleOnOffTextDisabled -FFFFFFFF ControlDarkToggleOnOffTextEnabled -FF5EA505 ControlDarkToggleThumbDisabled -FFFFFFFF ControlDarkToggleThumbEnabled -FF4E682D ControlDarkToggleTrackBackgroundDisabled -FF5F9F0F ControlDarkToggleTrackBackgroundEnabled -4AFFFFFF ControlDarkToggleTrackBackgroundHover -59FFFFFF ControlDarkToggleTrackBackgroundPressed -42FFFFFF ControlDarkToggleTrackBackgroundRest -FF529104 ControlDarkToggleTrackBorderDisabled -FF5EA505 ControlDarkToggleTrackBorderEnabled -FF4E682D ControlDarkToggleTrackFillDisabled -FF4A8305 ControlDarkToggleTrackFillEnabled -FF609F11 ControlDarkToggleTrackFillHover -FFB4F464 ControlDarkToggleTrackFillPressed -FF4A8305 ControlDarkToggleTrackFillRest -00000000 ControlDarkToggleTrackGutterDisabled -00000000 ControlDarkToggleTrackGutterEnabled -00000000 ControlDefaultDarkButtonBackgroundDisabled -FF609F11 ControlDefaultDarkButtonBackgroundHover -FFFFFFFF ControlDefaultDarkButtonBackgroundPressed -FF4A8305 ControlDefaultDarkButtonBackgroundRest -66FFFFFF ControlDefaultDarkButtonBorderDisabled -FFFFFFFF ControlDefaultDarkButtonBorderHover -FFFFFFFF ControlDefaultDarkButtonBorderPressed -FFFFFFFF ControlDefaultDarkButtonBorderRest -66FFFFFF ControlDefaultDarkButtonTextDisabled -FFFFFFFF ControlDefaultDarkButtonTextHover -FF000000 ControlDefaultDarkButtonTextPressed -FFFFFFFF ControlDefaultDarkButtonTextRest -FF000000 ControlDefaultFocusRectDark -FFFFFFFF ControlDefaultFocusRectLight -66CACACA ControlDefaultLightButtonBackgroundDisabled -FF609F11 ControlDefaultLightButtonBackgroundHover -FF000000 ControlDefaultLightButtonBackgroundPressed -FF4A8305 ControlDefaultLightButtonBackgroundRest -66CACACA ControlDefaultLightButtonBorderDisabled -FF609F11 ControlDefaultLightButtonBorderHover -FF000000 ControlDefaultLightButtonBorderPressed -FF4A8305 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 -FF77D603 ControlLightLinkHover -FF95FB17 ControlLightLinkPressed -FF59A200 ControlLightLinkRest -FF95FB17 ControlLightLinkVisited -EBC9C9C9 ControlLightPanningIndicator -2B000000 ControlLightProgressBackground -FF4A8305 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 -FF4A8305 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 -FF4A8305 ControlLightSelectHighlightSelected -FF609F11 ControlLightSelectHighlightSelectedHover -FFFFFFFF ControlLightSelectPopupBackgroundDisabled -21000000 ControlLightSelectPopupBackgroundHover -FFD3D3D3 ControlLightSelectPopupBackgroundPressed -FFFFFFFF ControlLightSelectPopupBackgroundRest -FF4A8305 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 -FF609F11 ControlLightSliderTrackFillHover -FFB4F464 ControlLightSliderTrackFillPressed -FF4A8305 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 -FF4A8305 ControlLightToggleTrackFillEnabled -FF609F11 ControlLightToggleTrackFillHover -FFB4F464 ControlLightToggleTrackFillPressed -FF4A8305 ControlLightToggleTrackFillRest -00000000 ControlLightToggleTrackGutterDisabled -00000000 ControlLightToggleTrackGutterEnabled -00000000 ControlProgressBorder -FFDEDEDE ControlRadioButtonBackgroundDisabledHover -FF000000 ControlRadioButtonBackgroundDisabledPressed -FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected -FF4A8305 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 -FF000000 DarkAltHigh -33000000 DarkAltLow -99000000 DarkAltMedium -CC000000 DarkAltMediumHigh -66000000 DarkAltMediumLow -FFFFFFFF DarkBaseHigh -33FFFFFF DarkBaseLow -99FFFFFF DarkBaseMedium -CCFFFFFF DarkBaseMediumHigh -66FFFFFF DarkBaseMediumLow -FFF2F2F2 DarkChromeAltLow -FF000000 DarkChromeBlackHigh -33000000 DarkChromeBlackLow -CC000000 DarkChromeBlackMedium -66000000 DarkChromeBlackMediumLow -FF333333 DarkChromeDisabledHigh -FF858585 DarkChromeDisabledLow -FF767676 DarkChromeHigh -FF171717 DarkChromeLow -FF1F1F1F DarkChromeMedium -FF2B2B2B DarkChromeMediumLow -FF101010 DarkChromeTaskbarBase -FFFFFFFF DarkChromeWhite -E54A8305 DarkListAccentHigh -994A8305 DarkListAccentLow -CC4A8305 DarkListAccentMedium -19FFFFFF DarkListLow -33FFFFFF DarkListMedium -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 -FF4A8305 HardwareCharmsBarFlag -FFBFFF71 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 -FF4A8305 HardwareDarkCandidateControlBackgroundHightlighted -FFE5E5E5 HardwareDarkCandidateControlBackgroundHover -FF3F6F04 HardwareDarkCandidateControlBackgroundPressed -FF1A1A1A HardwareDarkCandidateControlBackgroundRest -FFFFFFFF HardwareDarkCandidateControlHighlightedSecondaryTextPressed -FF4A8305 HardwareDarkCandidateControlHighlightSelected -FFFFFFFF HardwareDarkCandidateControlSecondaryTextHighlighted -FF000000 HardwareDarkCandidateControlSecondaryTextHover -FFFFFFFF HardwareDarkCandidateControlSecondaryTextPressed -FF838383 HardwareDarkCandidateControlSecondaryTextRest -FFFFFFFF HardwareDarkCandidateControlSecondaryTextSelect -FF000000 HardwareDarkCandidateControlTextHover -FFFFFFFF HardwareDarkCandidateControlTextPressed -FFFFFFFF HardwareDarkCandidateControlTextRest -FFFFFFFF HardwareDarkCandidateControlTextSelect -FF1A1A1A HardwareDarkKeyboardBackground -FF000000 HardwareDarkKeyboardChildKeyKeyText -FF1A1A1A HardwareDarkKeyboardChildPanelBackground -FFF2F2F2 HardwareDarkKeyboardChildPanelKeyBackground -FF4A8305 HardwareDarkKeyboardEmojiCategoryTextSelected -FF4D4D4D HardwareDarkKeyboardFunctionKeyBackground -FFFFFFFF HardwareDarkKeyboardFunctionKeyText -FF838383 HardwareDarkKeyboardFunctionKeyTextDisabled -FFE5E5E5 HardwareDarkKeyboardKeyBackgroundHover -FF4A8305 HardwareDarkKeyboardKeyBackgroundPressed -FF333333 HardwareDarkKeyboardKeyBackgroundRest -FF333333 HardwareDarkKeyboardKeyDefaultBackgroundRest -FFFFFFFF HardwareDarkKeyboardKeyDefaultPrimaryTextRest -FF838383 HardwareDarkKeyboardKeyPrimaryTextDisabled -FF000000 HardwareDarkKeyboardKeyPrimaryTextHover -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextPressed -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextRest -00000000 HardwareDarkKeyboardKeySecondaryTextChildKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextChildKeyHover -FF4A8305 HardwareDarkKeyboardKeySecondaryTextChildKeyPressed -FF838383 HardwareDarkKeyboardKeySecondaryTextChildKeyRest -FF838383 HardwareDarkKeyboardKeySecondaryTextModifierKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextModifierKeyHover -FF4A8305 HardwareDarkKeyboardKeySecondaryTextModifierKeyPressed -FF333333 HardwareDarkKeyboardKeySecondaryTextModifierKeyRest -FF333333 HardwareDarkKeyboardNumberKeyBackground -FFFFFFFF HardwareDarkKeyboardNumberKeyText -FF838383 HardwareDarkKeyboardSpaceGripper -FF27262C HardwareDarkKeyboardThumbCentralNumberKeyBackground -FFA4A4A4 HardwareDarkKeyboardThumbCentralNumberKeyText -00000000 HardwareDarkKeyboardThumbResizeGripperBackgroundRest -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 -FF4A8305 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 -FF518E06 HardwareGutterDown -FFD8D8D8 HardwareGutterIndicator -FF4A8305 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 -FFBBEA82 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 -FFE81123 HardwareTitleBarCloseButtonHover -FFF1707A HardwareTitleBarCloseButtonPressed -FF3665B3 HardwareTitleBarMinimizeButtonHover -FF3D6099 HardwareTitleBarMinimizeButtonPressed -FF369ACA HardwareTrimBarProgressFill -FFFFFFFF HardwareTrimControlFill -4C000000 HardwareTrimControlFillHover -FFFFFFFF HardwareTrimControlFillPressed -59000000 HardwareTrimControlOutline -59000000 HardwareTrimControlOutlineHover -59000000 HardwareTrimControlOutlinePressed -FF222222 HardwareWin8Pillarbox -FF244001 InputSwitchColorDarkBackground -19FFFFFF InputSwitchColorDarkButtonBackgroundHover -33FFFFFF InputSwitchColorDarkButtonBackgroundPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchColorDarkButtonTextHover -FFFFFFFF InputSwitchColorDarkButtonTextPressed -FFFFFFFF InputSwitchColorDarkButtonTextRest -FF858585 InputSwitchColorDarkDisabledText -FF858585 InputSwitchColorDarkRadioButtonBackgroundDisabledSelected -66000000 InputSwitchColorDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchColorDarkRadioButtonBorder -FF000000 InputSwitchColorDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchColorDarkSelectionPrimaryText -33FFFFFF InputSwitchColorDarkSeparatorLine -FFCCCCCC InputSwitchColorDarkWindowBorder -F21E1E1E InputSwitchDarkBackground -19FFFFFF InputSwitchDarkButtonBackgroundHover -33FFFFFF InputSwitchDarkButtonBackgroundPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchDarkButtonTextHover -FFFFFFFF InputSwitchDarkButtonTextPressed -FFFFFFFF InputSwitchDarkButtonTextRest -FF858585 InputSwitchDarkDisabledText -FF858585 InputSwitchDarkRadioButtonBackgroundDisabledSelected -FF498205 InputSwitchDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchDarkRadioButtonBorder -FF000000 InputSwitchDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchDarkSelectionPrimaryText -33FFFFFF InputSwitchDarkSeparatorLine -FFCCCCCC InputSwitchDarkWindowBorder -F2FFFFFF InputSwitchLightBackground -19000000 InputSwitchLightButtonBackgroundHover -33000000 InputSwitchLightButtonBackgroundPressed -8A000000 InputSwitchLightButtonSecondaryTextHover -8A000000 InputSwitchLightButtonSecondaryTextPressed -8A000000 InputSwitchLightButtonSecondaryTextRest -FF000000 InputSwitchLightButtonTextHover -FF000000 InputSwitchLightButtonTextPressed -FF000000 InputSwitchLightButtonTextRest -FFCCCCCC InputSwitchLightDisabledText -FFCCCCCC InputSwitchLightRadioButtonBackgroundDisabledSelected -FF498205 InputSwitchLightRadioButtonBackgroundSelected -FF000000 InputSwitchLightRadioButtonBorder -FF000000 InputSwitchLightRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchLightSelectionPrimaryText -33000000 InputSwitchLightSeparatorLine -FF000000 InputSwitchLightWindowBorder -FFFFFFFF LightAltHigh -33FFFFFF LightAltLow -99FFFFFF LightAltMedium -CCFFFFFF LightAltMediumHigh -66FFFFFF LightAltMediumLow -FFFFFFFF LightBackground -FFB6B6B6 LightBackgroundDisabled -FF000000 LightBaseHigh -33000000 LightBaseLow -99000000 LightBaseMedium -CC000000 LightBaseMediumHigh -66000000 LightBaseMediumLow -FF2A2A2A LightBorder -FF171717 LightChromeAltLow -FF000000 LightChromeBlackHigh -33000000 LightChromeBlackLow -CC000000 LightChromeBlackMedium -66000000 LightChromeBlackMediumLow -FFCCCCCC LightChromeDisabledHigh -FF7A7A7A LightChromeDisabledLow -FFCCCCCC LightChromeHigh -FFF2F2F2 LightChromeLow -FFE6E6E6 LightChromeMedium -FFF2F2F2 LightChromeMediumLow -FFEFEFEF LightChromeTaskbarBase -FFFFFFFF LightChromeWhite -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 -FF4A8800 LightHighlight -FFDEDEDE LightHoverBackground -21000000 LightHoverBackgroundTransparent -FF000000 LightHoverPrimaryText -FF000000 LightHoverSecondaryText -1A000000 LightIconBorder -FFE13300 LightInlineErrorText -B24A8305 LightListAccentHigh -664A8305 LightListAccentLow -994A8305 LightListAccentMedium -19000000 LightListLow -33000000 LightListMedium -FFF4F4F4 LightNavBackground -21FFFFFF LightPCSettingsNavBarItemBackgroundHover -21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed -19000000 LightPCSettingsSearchButtonBackgroundHover -33000000 LightPCSettingsSearchButtonBackgroundPressed -00000000 LightPCSettingsSearchButtonBackgroundRest -3B9B9B9B LightPlaceholderBackground -FF4A8305 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 -FF0662AC LightSearchHitHighlight -FF777777 LightSearchNewsBackground -FFDDDDDD LightSearchNewsBackgroundBorder -FF427700 LightSearchSettingTilesBackground -FF999999 LightSearchStoreRatingEmpty -FF333333 LightSearchStoreRatingFull -FFFFFFFF LightSearchVideoTextWhite -FF7C29ED LightSearchWeatherBlue -FF85E90A LightSecondaryChartFill -FF666666 LightSecondaryText -B2000000 LightSecondaryTextTransparent -FF4A8305 LightSelectedTabText -FF4A8305 LightSelectionBackground -FF609F11 LightSelectionHoverBackground -FFFFFFFF LightSelectionHoverPrimaryText -FFFFFFFF LightSelectionHoverSecondaryText -FFFFFFFF LightSelectionPrimaryText -FFFFFFFF LightSelectionSecondaryText -FF000000 LightTabText -FF4A8305 LightTitleText -FFCD2622 LightWUError -FF1E7126 LightWUNormal -FFFF9600 LightWUWarning -FFB7F26F MultitaskingMTVActiveVirtualDesktopHotTrackOuterBorder -FF9ED160 MultitaskingMTVActiveVirtualDesktopOuterBorder -FFFFFFFF MultitaskingMTVCloseGlyphHotTrack -FFFFFFFF MultitaskingMTVCloseGlyphPressed -FFFFFFFF MultitaskingMTVCloseGlyphRest -00000000 MultitaskingMTVCloseOutlineHotTrack -00000000 MultitaskingMTVCloseOutlinePressed -00000000 MultitaskingMTVCloseOutlineRest -CCE81123 MultitaskingMTVClosePlateHotTrack -FFE81123 MultitaskingMTVClosePlatePressed -00000000 MultitaskingMTVClosePlateRest -FF000000 MultitaskingMTVDimmingLayer -FF000000 MultitaskingMTVInactiveVirtualDesktopDim -FFFFFFFF MultitaskingMTVNewDesktopFocusOutline -00000000 MultitaskingMTVNewDesktopOutlineHotTrack -00000000 MultitaskingMTVNewDesktopOutlinePressed -00000000 MultitaskingMTVNewDesktopOutlineRest -FF000000 MultitaskingMTVNewDesktopPlateHotTrack -FF000000 MultitaskingMTVNewDesktopPlatePressed -FF000000 MultitaskingMTVNewDesktopPlateRest -FFFFFFFF MultitaskingMTVNewDesktopTextHotTrack -FFFFFFFF MultitaskingMTVNewDesktopTextPressed -FFFFFFFF MultitaskingMTVNewDesktopTextRest -FFFFFFFF MultitaskingMTVRestVirtualDesktopInner -FFFFFFFF MultitaskingMTVScrollButtonGlyphDisabled -FFFFFFFF MultitaskingMTVScrollButtonGlyphHotTrack -FFFFFFFF MultitaskingMTVScrollButtonGlyphPressed -FFFFFFFF MultitaskingMTVScrollButtonGlyphRest -00000000 MultitaskingMTVScrollButtonOutlineDisabled -00000000 MultitaskingMTVScrollButtonOutlineHotTrack -00000000 MultitaskingMTVScrollButtonOutlinePressed -00000000 MultitaskingMTVScrollButtonOutlineRest -FF000000 MultitaskingMTVScrollButtonPlateDisabled -FF000000 MultitaskingMTVScrollButtonPlateHotTrack -FF000000 MultitaskingMTVScrollButtonPlatePressed -FF000000 MultitaskingMTVScrollButtonPlateRest -FF171717 MultitaskingMTVScrollViewerBackground -00000000 MultitaskingMTVScrollViewerOutline -FFFFFFFF MultitaskingMTVSwitchItemTitle -FF000000 MultitaskingMTVThumbnailFocusInnerBorder -FFFFFFFF MultitaskingMTVThumbnailFocusOuterBorder -FF000000 MultitaskingMTVThumbnailHotTrackInnerBorder -FFFFFFFF MultitaskingMTVThumbnailHotTrackOuterBorder -FF000000 MultitaskingMTVThumbnailInnerBorder -FF000000 MultitaskingMTVVirtualDesktopBarBackground -00000000 MultitaskingMTVVirtualDesktopBarOutline -FF498205 MultitaskingMTVVirtualDesktopDragDrop -FFFFFFFF MultitaskingMTVVirtualDesktopHotTrackOuterBorder -FF000000 MultitaskingMTVVirtualDesktopInnerBorder -FFFFFFFF MultitaskingMTVVirtualDesktopTitle -FF427700 SaturatedAltTabBackground -3DFFFFFF SaturatedAltTabHoverRect -FFFFFFFF SaturatedAltTabPressedRect -FF44424D SaturatedBackButtonBar -FF427700 SaturatedBackground -FFFF3CFF SaturatedBackgroundDisabled -FF94BD62 SaturatedCommandRowDisabled -FFFFFFFF SaturatedCommandRowHighlight -FF579906 SaturatedCommandRowHover -FF4D8E37 SaturatedCommandRowPressed -FF4A8305 SaturatedCommandRowRest -FFFF00FF SaturatedControlLink -FFFF00FF SaturatedControlLinkBackgroundPressed -FFFF00FF SaturatedControlLinkDisabled -FFFF00FF SaturatedControlLinkForegroundPressed -FFFF00FF SaturatedControlLinkMouseHover -FFFF00FF SaturatedControlLinkPressed -FFFF00FF SaturatedControlLinkVisited -FF000000 SaturatedDefaultDarkFocusRect -FFFFFFFF SaturatedDefaultLightFocusRect -FFF1F1F1 SaturatedDesktopToastBackground -FF74934F SaturatedDisabledText -3DFFFFFF SaturatedDivider -FFFFFFFF SaturatedFocusRect -FF000000 SaturatedFocusRectDark -FF2E5300 SaturatedFolderBackground -FFA9FF40 SaturatedHighlight -FF5C9C0E SaturatedHoverBackground -FFFFFFFF SaturatedHoverPrimaryText -FFC1D2AC SaturatedHoverSecondaryText -FFFFFF00 SaturatedInlineErrorText -FFFFFFFF SaturatedPrimaryText -99FFFFFF SaturatedSearchHighlight -99FFFFFF SaturatedSearchSecondaryText -FFA5BD86 SaturatedSecondaryText -66FFFFFF SaturatedSecondaryTextDisabledTransparent -B2FFFFFF SaturatedSecondaryTextTransparent -FF4A8305 SaturatedSelectionBackground -FF609F11 SaturatedSelectionHoverBackground -FFFFFFFF SaturatedSelectionHoverPrimaryText -FFFFFFFF SaturatedSelectionHoverSecondaryText -FFFFFFFF SaturatedSelectionPrimaryText -FFA7E956 SaturatedSelectionSecondaryText -00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled -21FFFFFF SaturatedSettingCharmSystemPaneButtonHover -3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed -00FFFFFF SaturatedSettingCharmSystemPaneButtonRest -3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected -CCFFFFFF SaturatedSettingCharmSystemPaneButtonText -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected -FF4A8305 SaturatedSettingsCharmLinkHover -FF5C9C0E SaturatedSuggestionTilesBackground -FF427700 SaturatedSystemToastBackground -33000000 SaturatedThumbnailPlaceholder -FF000000 SaturatedWebWizardIndex -FF427700 StartAllAppsDivider -FF2E5300 StartAPVBackground -FFC1FF77 StartAPVHeaderText -FF57FFFF StartAPVNewAppText -FF427700 StartAPVSemanticZoomTileBackground -FF355F03 StartBackground -FFFF1EEE StartBackgroundDisabled -FF4A8305 StartCmdBarBackground -FF609F11 StartCmdBarButtonFillLayerHover -FFFFFFFF StartCmdBarButtonFillLayerPressed -FF4A8305 StartCmdBarButtonFillLayerRest -FFFFFFFF StartCmdBarButtonGlyphLayerHover -FF4A8305 StartCmdBarButtonGlyphLayerPressed -FFFFFFFF StartCmdBarButtonGlyphLayerRest -FFFFFFFF StartCmdBarButtonOutlineLayerHover -FFFFFFFF StartCmdBarButtonOutlineLayerPressed -FFFFFFFF StartCmdBarButtonOutlineLayerRest -FF74934F StartCommandRowDisabled -FFFFFFFF StartCommandRowHighlight -FFB3C899 StartCommandRowHover -FFFFFFFF StartCommandRowPressed -FF9AB678 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 -FF427700 StartDesktopTilesBackground -FFC4FB80 StartDesktopTilesText -FF74934F StartDisabledText -FFFFFFFF StartFocusRect -FF2E5300 StartFolderBackground -FFD5DCCB StartGroupNameHeader -FFA9FF40 StartHighlight -FF51890C StartHoverBackground -FFFFFFFF StartHoverPrimaryText -FFBECCAE StartHoverSecondaryText -FFFFFF00 StartInlineErrorText -FF000000 StartLightTileInstallProgressFill -33000000 StartLightTileInstallProgressTrack -FFFFFFFF StartPrimaryText -FFCCCCCC StartRoundButtonHover -FF666666 StartRoundButtonPressed -FFFFFFFF StartRoundButtonRest -FF9AB678 StartSecondaryText -FF4A8305 StartSelectionBackground -FF609F11 StartSelectionHoverBackground -FFFFFFFF StartSelectionHoverPrimaryText -FFFFFFFF StartSelectionHoverSecondaryText -FFFFFFFF StartSelectionPrimaryText -FFA7E956 StartSelectionSecondaryText -FF609F11 StartSystemTilesBackground -FF74934F StartThumbnailPlaceholder -FF498205 SystemAccent -FF355E03 SystemAccentDark1 -FF244001 SystemAccentDark2 -FF152600 SystemAccentDark3 -FF79AB3C SystemAccentLight1 -FF9ED160 SystemAccentLight2 -FFB7F26F SystemAccentLight3 -FF000000 SystemBackground -FF000000 SystemBackgroundDarkTheme -FFFFFFFF SystemBackgroundLightTheme -FFFFFFFF SystemText -FFFFFFFF SystemTextDarkTheme -FF000000 SystemTextLightTheme -66626262 TabletModeDragJointDividerBackground -FF0F1721 TabletModePPIJointDividerBackground diff --git a/Src/StartMenu/MetroColors/win10_red.txt b/Src/StartMenu/MetroColors/win10_red.txt deleted file mode 100644 index 597c95c..0000000 --- a/Src/StartMenu/MetroColors/win10_red.txt +++ /dev/null @@ -1,1218 +0,0 @@ -FFFFFFFF ApplicationBackground -FF000000 ApplicationBackgroundDarkTheme -FFFFFFFF ApplicationBackgroundLightTheme -FF000000 ApplicationText -FFFFFFFF ApplicationTextDarkTheme -FF000000 ApplicationTextLightTheme -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 -FFFF6F79 ControlDarkLinkHover -FFFF4452 ControlDarkLinkPressed -FFFFAEB5 ControlDarkLinkRest -FFFF4452 ControlDarkLinkVisited -BFEDEDED ControlDarkPanningIndicator -59FFFFFF ControlDarkProgressBackground -FFF4646F 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 -FFE81121 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 -FFAE000D ControlDarkRoundButtonFillLayerDisabled -FFCC000F ControlDarkRoundButtonFillLayerHover -FFFFFFFF ControlDarkRoundButtonFillLayerPressed -FFAE000D ControlDarkRoundButtonFillLayerRest -FFB37176 ControlDarkRoundButtonGlyphDisabled -FFFFFFFF ControlDarkRoundButtonGlyphLayerHover -FF99000C ControlDarkRoundButtonGlyphLayerPressed -FFFFFFFF ControlDarkRoundButtonGlyphLayerRest -FFB37176 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 -FFE81121 ControlDarkSelectHighlightSelected -FFE23F4B ControlDarkSelectHighlightSelectedHover -FFFFFFFF ControlDarkSelectPopupBackgroundDisabled -21000000 ControlDarkSelectPopupBackgroundHover -FFD3D3D3 ControlDarkSelectPopupBackgroundPressed -FFFFFFFF ControlDarkSelectPopupBackgroundRest -FFE81121 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 -FFAE000D 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 -FFE23F4B ControlDarkSliderTrackFillHover -FFF4646F ControlDarkSliderTrackFillPressed -FFE81121 ControlDarkSliderTrackFillRest -FFB37176 ControlDarkToggleLabelDisabled -FFFFFFFF ControlDarkToggleLabelEnabled -FFB37176 ControlDarkToggleOnOffTextDisabled -FFFFFFFF ControlDarkToggleOnOffTextEnabled -FFE10011 ControlDarkToggleThumbDisabled -FFFFFFFF ControlDarkToggleThumbEnabled -FF8E3E44 ControlDarkToggleTrackBackgroundDisabled -FFD90D1C ControlDarkToggleTrackBackgroundEnabled -4AFFFFFF ControlDarkToggleTrackBackgroundHover -59FFFFFF ControlDarkToggleTrackBackgroundPressed -42FFFFFF ControlDarkToggleTrackBackgroundRest -FFCC000F ControlDarkToggleTrackBorderDisabled -FFE10011 ControlDarkToggleTrackBorderEnabled -FF8E3E44 ControlDarkToggleTrackFillDisabled -FFE81121 ControlDarkToggleTrackFillEnabled -FFE23F4B ControlDarkToggleTrackFillHover -FFF4646F ControlDarkToggleTrackFillPressed -FFE81121 ControlDarkToggleTrackFillRest -00000000 ControlDarkToggleTrackGutterDisabled -00000000 ControlDarkToggleTrackGutterEnabled -00000000 ControlDefaultDarkButtonBackgroundDisabled -FFE23F4B ControlDefaultDarkButtonBackgroundHover -FFFFFFFF ControlDefaultDarkButtonBackgroundPressed -FFE81121 ControlDefaultDarkButtonBackgroundRest -66FFFFFF ControlDefaultDarkButtonBorderDisabled -FFFFFFFF ControlDefaultDarkButtonBorderHover -FFFFFFFF ControlDefaultDarkButtonBorderPressed -FFFFFFFF ControlDefaultDarkButtonBorderRest -66FFFFFF ControlDefaultDarkButtonTextDisabled -FFFFFFFF ControlDefaultDarkButtonTextHover -FF000000 ControlDefaultDarkButtonTextPressed -FFFFFFFF ControlDefaultDarkButtonTextRest -FF000000 ControlDefaultFocusRectDark -FFFFFFFF ControlDefaultFocusRectLight -66CACACA ControlDefaultLightButtonBackgroundDisabled -FFE23F4B ControlDefaultLightButtonBackgroundHover -FF000000 ControlDefaultLightButtonBackgroundPressed -FFE81121 ControlDefaultLightButtonBackgroundRest -66CACACA ControlDefaultLightButtonBorderDisabled -FFE23F4B ControlDefaultLightButtonBorderHover -FF000000 ControlDefaultLightButtonBorderPressed -FFE81121 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 -FFF75360 ControlLightLinkHover -FFF98A93 ControlLightLinkPressed -FFFB1728 ControlLightLinkRest -FFF98A93 ControlLightLinkVisited -EBC9C9C9 ControlLightPanningIndicator -2B000000 ControlLightProgressBackground -FFE81121 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 -FFE81121 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 -FFE81121 ControlLightSelectHighlightSelected -FFE23F4B ControlLightSelectHighlightSelectedHover -FFFFFFFF ControlLightSelectPopupBackgroundDisabled -21000000 ControlLightSelectPopupBackgroundHover -FFD3D3D3 ControlLightSelectPopupBackgroundPressed -FFFFFFFF ControlLightSelectPopupBackgroundRest -FFE81121 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 -FFE23F4B ControlLightSliderTrackFillHover -FFF4646F ControlLightSliderTrackFillPressed -FFE81121 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 -FFE81121 ControlLightToggleTrackFillEnabled -FFE23F4B ControlLightToggleTrackFillHover -FFF4646F ControlLightToggleTrackFillPressed -FFE81121 ControlLightToggleTrackFillRest -00000000 ControlLightToggleTrackGutterDisabled -00000000 ControlLightToggleTrackGutterEnabled -00000000 ControlProgressBorder -FFDEDEDE ControlRadioButtonBackgroundDisabledHover -FF000000 ControlRadioButtonBackgroundDisabledPressed -FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected -FFE81121 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 -FF000000 DarkAltHigh -33000000 DarkAltLow -99000000 DarkAltMedium -CC000000 DarkAltMediumHigh -66000000 DarkAltMediumLow -FFFFFFFF DarkBaseHigh -33FFFFFF DarkBaseLow -99FFFFFF DarkBaseMedium -CCFFFFFF DarkBaseMediumHigh -66FFFFFF DarkBaseMediumLow -FFF2F2F2 DarkChromeAltLow -FF000000 DarkChromeBlackHigh -33000000 DarkChromeBlackLow -CC000000 DarkChromeBlackMedium -66000000 DarkChromeBlackMediumLow -FF333333 DarkChromeDisabledHigh -FF858585 DarkChromeDisabledLow -FF767676 DarkChromeHigh -FF171717 DarkChromeLow -FF1F1F1F DarkChromeMedium -FF2B2B2B DarkChromeMediumLow -FF101010 DarkChromeTaskbarBase -FFFFFFFF DarkChromeWhite -E5E81121 DarkListAccentHigh -99E81121 DarkListAccentLow -CCE81121 DarkListAccentMedium -19FFFFFF DarkListLow -33FFFFFF DarkListMedium -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 -FFE81121 HardwareCharmsBarFlag -FFFF717B 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 -FFE81121 HardwareDarkCandidateControlBackgroundHightlighted -FFE5E5E5 HardwareDarkCandidateControlBackgroundHover -FFD3101F HardwareDarkCandidateControlBackgroundPressed -FF1A1A1A HardwareDarkCandidateControlBackgroundRest -FFFFFFFF HardwareDarkCandidateControlHighlightedSecondaryTextPressed -FFE81121 HardwareDarkCandidateControlHighlightSelected -FFFFFFFF HardwareDarkCandidateControlSecondaryTextHighlighted -FF000000 HardwareDarkCandidateControlSecondaryTextHover -FFFFFFFF HardwareDarkCandidateControlSecondaryTextPressed -FF838383 HardwareDarkCandidateControlSecondaryTextRest -FFFFFFFF HardwareDarkCandidateControlSecondaryTextSelect -FF000000 HardwareDarkCandidateControlTextHover -FFFFFFFF HardwareDarkCandidateControlTextPressed -FFFFFFFF HardwareDarkCandidateControlTextRest -FFFFFFFF HardwareDarkCandidateControlTextSelect -FF1A1A1A HardwareDarkKeyboardBackground -FF000000 HardwareDarkKeyboardChildKeyKeyText -FF1A1A1A HardwareDarkKeyboardChildPanelBackground -FFF2F2F2 HardwareDarkKeyboardChildPanelKeyBackground -FFE81121 HardwareDarkKeyboardEmojiCategoryTextSelected -FF4D4D4D HardwareDarkKeyboardFunctionKeyBackground -FFFFFFFF HardwareDarkKeyboardFunctionKeyText -FF838383 HardwareDarkKeyboardFunctionKeyTextDisabled -FFE5E5E5 HardwareDarkKeyboardKeyBackgroundHover -FFE81121 HardwareDarkKeyboardKeyBackgroundPressed -FF333333 HardwareDarkKeyboardKeyBackgroundRest -FF333333 HardwareDarkKeyboardKeyDefaultBackgroundRest -FFFFFFFF HardwareDarkKeyboardKeyDefaultPrimaryTextRest -FF838383 HardwareDarkKeyboardKeyPrimaryTextDisabled -FF000000 HardwareDarkKeyboardKeyPrimaryTextHover -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextPressed -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextRest -00000000 HardwareDarkKeyboardKeySecondaryTextChildKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextChildKeyHover -FFE81121 HardwareDarkKeyboardKeySecondaryTextChildKeyPressed -FF838383 HardwareDarkKeyboardKeySecondaryTextChildKeyRest -FF838383 HardwareDarkKeyboardKeySecondaryTextModifierKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextModifierKeyHover -FFE81121 HardwareDarkKeyboardKeySecondaryTextModifierKeyPressed -FF333333 HardwareDarkKeyboardKeySecondaryTextModifierKeyRest -FF333333 HardwareDarkKeyboardNumberKeyBackground -FFFFFFFF HardwareDarkKeyboardNumberKeyText -FF838383 HardwareDarkKeyboardSpaceGripper -FF27262C HardwareDarkKeyboardThumbCentralNumberKeyBackground -FFA4A4A4 HardwareDarkKeyboardThumbCentralNumberKeyText -00000000 HardwareDarkKeyboardThumbResizeGripperBackgroundRest -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 -FFE81121 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 -FFCA0211 HardwareGutterDown -FFD8D8D8 HardwareGutterIndicator -FFE81121 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 -FFEA8289 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 -FFE81123 HardwareTitleBarCloseButtonHover -FFF1707A HardwareTitleBarCloseButtonPressed -FF3665B3 HardwareTitleBarMinimizeButtonHover -FF3D6099 HardwareTitleBarMinimizeButtonPressed -FF369ACA HardwareTrimBarProgressFill -FFFFFFFF HardwareTrimControlFill -4C000000 HardwareTrimControlFillHover -FFFFFFFF HardwareTrimControlFillPressed -59000000 HardwareTrimControlOutline -59000000 HardwareTrimControlOutlineHover -59000000 HardwareTrimControlOutlinePressed -FF222222 HardwareWin8Pillarbox -FF6E0009 InputSwitchColorDarkBackground -19FFFFFF InputSwitchColorDarkButtonBackgroundHover -33FFFFFF InputSwitchColorDarkButtonBackgroundPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchColorDarkButtonTextHover -FFFFFFFF InputSwitchColorDarkButtonTextPressed -FFFFFFFF InputSwitchColorDarkButtonTextRest -FF858585 InputSwitchColorDarkDisabledText -FF858585 InputSwitchColorDarkRadioButtonBackgroundDisabledSelected -66000000 InputSwitchColorDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchColorDarkRadioButtonBorder -FF000000 InputSwitchColorDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchColorDarkSelectionPrimaryText -33FFFFFF InputSwitchColorDarkSeparatorLine -FFCCCCCC InputSwitchColorDarkWindowBorder -F21E1E1E InputSwitchDarkBackground -19FFFFFF InputSwitchDarkButtonBackgroundHover -33FFFFFF InputSwitchDarkButtonBackgroundPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchDarkButtonTextHover -FFFFFFFF InputSwitchDarkButtonTextPressed -FFFFFFFF InputSwitchDarkButtonTextRest -FF858585 InputSwitchDarkDisabledText -FF858585 InputSwitchDarkRadioButtonBackgroundDisabledSelected -FFE81123 InputSwitchDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchDarkRadioButtonBorder -FF000000 InputSwitchDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchDarkSelectionPrimaryText -33FFFFFF InputSwitchDarkSeparatorLine -FFCCCCCC InputSwitchDarkWindowBorder -F2FFFFFF InputSwitchLightBackground -19000000 InputSwitchLightButtonBackgroundHover -33000000 InputSwitchLightButtonBackgroundPressed -8A000000 InputSwitchLightButtonSecondaryTextHover -8A000000 InputSwitchLightButtonSecondaryTextPressed -8A000000 InputSwitchLightButtonSecondaryTextRest -FF000000 InputSwitchLightButtonTextHover -FF000000 InputSwitchLightButtonTextPressed -FF000000 InputSwitchLightButtonTextRest -FFCCCCCC InputSwitchLightDisabledText -FFCCCCCC InputSwitchLightRadioButtonBackgroundDisabledSelected -FFE81123 InputSwitchLightRadioButtonBackgroundSelected -FF000000 InputSwitchLightRadioButtonBorder -FF000000 InputSwitchLightRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchLightSelectionPrimaryText -33000000 InputSwitchLightSeparatorLine -FF000000 InputSwitchLightWindowBorder -FFFFFFFF LightAltHigh -33FFFFFF LightAltLow -99FFFFFF LightAltMedium -CCFFFFFF LightAltMediumHigh -66FFFFFF LightAltMediumLow -FFFFFFFF LightBackground -FFB6B6B6 LightBackgroundDisabled -FF000000 LightBaseHigh -33000000 LightBaseLow -99000000 LightBaseMedium -CC000000 LightBaseMediumHigh -66000000 LightBaseMediumLow -FF2A2A2A LightBorder -FF171717 LightChromeAltLow -FF000000 LightChromeBlackHigh -33000000 LightChromeBlackLow -CC000000 LightChromeBlackMedium -66000000 LightChromeBlackMediumLow -FFCCCCCC LightChromeDisabledHigh -FF7A7A7A LightChromeDisabledLow -FFCCCCCC LightChromeHigh -FFF2F2F2 LightChromeLow -FFE6E6E6 LightChromeMedium -FFF2F2F2 LightChromeMediumLow -FFEFEFEF LightChromeTaskbarBase -FFFFFFFF LightChromeWhite -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 -FFF40416 LightHighlight -FFDEDEDE LightHoverBackground -21000000 LightHoverBackgroundTransparent -FF000000 LightHoverPrimaryText -FF000000 LightHoverSecondaryText -1A000000 LightIconBorder -FFE13300 LightInlineErrorText -B2E81121 LightListAccentHigh -66E81121 LightListAccentLow -99E81121 LightListAccentMedium -19000000 LightListLow -33000000 LightListMedium -FFF4F4F4 LightNavBackground -21FFFFFF LightPCSettingsNavBarItemBackgroundHover -21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed -19000000 LightPCSettingsSearchButtonBackgroundHover -33000000 LightPCSettingsSearchButtonBackgroundPressed -00000000 LightPCSettingsSearchButtonBackgroundRest -3B9B9B9B LightPlaceholderBackground -FFE81121 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 -FF18A60D LightSearchHitHighlight -FF777777 LightSearchNewsBackground -FFDDDDDD LightSearchNewsBackgroundBorder -FFAE000D LightSearchSettingTilesBackground -FF999999 LightSearchStoreRatingEmpty -FF333333 LightSearchStoreRatingFull -FFFFFFFF LightSearchVideoTextWhite -FF7C29ED LightSearchWeatherBlue -FFF46F78 LightSecondaryChartFill -FF666666 LightSecondaryText -B2000000 LightSecondaryTextTransparent -FFE81121 LightSelectedTabText -FFE81121 LightSelectionBackground -FFE23F4B LightSelectionHoverBackground -FFFFFFFF LightSelectionHoverPrimaryText -FFFFFFFF LightSelectionHoverSecondaryText -FFFFFFFF LightSelectionPrimaryText -FFFFFFFF LightSelectionSecondaryText -FF000000 LightTabText -FFE81121 LightTitleText -FFCD2622 LightWUError -FF1E7126 LightWUNormal -FFFF9600 LightWUWarning -FFFFBDC2 MultitaskingMTVActiveVirtualDesktopHotTrackOuterBorder -FFFF99A1 MultitaskingMTVActiveVirtualDesktopOuterBorder -FFFFFFFF MultitaskingMTVCloseGlyphHotTrack -FFFFFFFF MultitaskingMTVCloseGlyphPressed -FFFFFFFF MultitaskingMTVCloseGlyphRest -00000000 MultitaskingMTVCloseOutlineHotTrack -00000000 MultitaskingMTVCloseOutlinePressed -00000000 MultitaskingMTVCloseOutlineRest -CCE81123 MultitaskingMTVClosePlateHotTrack -FFE81123 MultitaskingMTVClosePlatePressed -00000000 MultitaskingMTVClosePlateRest -FF000000 MultitaskingMTVDimmingLayer -FF000000 MultitaskingMTVInactiveVirtualDesktopDim -FFFFFFFF MultitaskingMTVNewDesktopFocusOutline -00000000 MultitaskingMTVNewDesktopOutlineHotTrack -00000000 MultitaskingMTVNewDesktopOutlinePressed -00000000 MultitaskingMTVNewDesktopOutlineRest -FF000000 MultitaskingMTVNewDesktopPlateHotTrack -FF000000 MultitaskingMTVNewDesktopPlatePressed -FF000000 MultitaskingMTVNewDesktopPlateRest -FFFFFFFF MultitaskingMTVNewDesktopTextHotTrack -FFFFFFFF MultitaskingMTVNewDesktopTextPressed -FFFFFFFF MultitaskingMTVNewDesktopTextRest -FFFFFFFF MultitaskingMTVRestVirtualDesktopInner -FFFFFFFF MultitaskingMTVScrollButtonGlyphDisabled -FFFFFFFF MultitaskingMTVScrollButtonGlyphHotTrack -FFFFFFFF MultitaskingMTVScrollButtonGlyphPressed -FFFFFFFF MultitaskingMTVScrollButtonGlyphRest -00000000 MultitaskingMTVScrollButtonOutlineDisabled -00000000 MultitaskingMTVScrollButtonOutlineHotTrack -00000000 MultitaskingMTVScrollButtonOutlinePressed -00000000 MultitaskingMTVScrollButtonOutlineRest -FF000000 MultitaskingMTVScrollButtonPlateDisabled -FF000000 MultitaskingMTVScrollButtonPlateHotTrack -FF000000 MultitaskingMTVScrollButtonPlatePressed -FF000000 MultitaskingMTVScrollButtonPlateRest -FF171717 MultitaskingMTVScrollViewerBackground -00000000 MultitaskingMTVScrollViewerOutline -FFFFFFFF MultitaskingMTVSwitchItemTitle -FF000000 MultitaskingMTVThumbnailFocusInnerBorder -FFFFFFFF MultitaskingMTVThumbnailFocusOuterBorder -FF000000 MultitaskingMTVThumbnailHotTrackInnerBorder -FFFFFFFF MultitaskingMTVThumbnailHotTrackOuterBorder -FF000000 MultitaskingMTVThumbnailInnerBorder -FF000000 MultitaskingMTVVirtualDesktopBarBackground -00000000 MultitaskingMTVVirtualDesktopBarOutline -FFE81123 MultitaskingMTVVirtualDesktopDragDrop -FFFFFFFF MultitaskingMTVVirtualDesktopHotTrackOuterBorder -FF000000 MultitaskingMTVVirtualDesktopInnerBorder -FFFFFFFF MultitaskingMTVVirtualDesktopTitle -FFAE000D SaturatedAltTabBackground -3DFFFFFF SaturatedAltTabHoverRect -FFFFFFFF SaturatedAltTabPressedRect -FF44424D SaturatedBackButtonBar -FFAE000D SaturatedBackground -FFFF3CFF SaturatedBackgroundDisabled -FFBD6268 SaturatedCommandRowDisabled -FFFFFFFF SaturatedCommandRowHighlight -FFEF2131 SaturatedCommandRowHover -FF4D8E37 SaturatedCommandRowPressed -FFE81121 SaturatedCommandRowRest -FFFF00FF SaturatedControlLink -FFFF00FF SaturatedControlLinkBackgroundPressed -FFFF00FF SaturatedControlLinkDisabled -FFFF00FF SaturatedControlLinkForegroundPressed -FFFF00FF SaturatedControlLinkMouseHover -FFFF00FF SaturatedControlLinkPressed -FFFF00FF SaturatedControlLinkVisited -FF000000 SaturatedDefaultDarkFocusRect -FFFFFFFF SaturatedDefaultLightFocusRect -FFF1F1F1 SaturatedDesktopToastBackground -FFAE6A70 SaturatedDisabledText -3DFFFFFF SaturatedDivider -FFFFFFFF SaturatedFocusRect -FF000000 SaturatedFocusRectDark -FF8A000B SaturatedFolderBackground -FFFFB0B7 SaturatedHighlight -FFD60C1B SaturatedHoverBackground -FFFFFFFF SaturatedHoverPrimaryText -FFE8CED0 SaturatedHoverSecondaryText -FFFFFF00 SaturatedInlineErrorText -FFFFFFFF SaturatedPrimaryText -99FFFFFF SaturatedSearchHighlight -99FFFFFF SaturatedSearchSecondaryText -FFD1A9AC SaturatedSecondaryText -66FFFFFF SaturatedSecondaryTextDisabledTransparent -B2FFFFFF SaturatedSecondaryTextTransparent -FFE81121 SaturatedSelectionBackground -FFE23F4B SaturatedSelectionHoverBackground -FFFFFFFF SaturatedSelectionHoverPrimaryText -FFFFFFFF SaturatedSelectionHoverSecondaryText -FFFFFFFF SaturatedSelectionPrimaryText -FFF3BCC0 SaturatedSelectionSecondaryText -00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled -21FFFFFF SaturatedSettingCharmSystemPaneButtonHover -3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed -00FFFFFF SaturatedSettingCharmSystemPaneButtonRest -3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected -CCFFFFFF SaturatedSettingCharmSystemPaneButtonText -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected -FFE71222 SaturatedSettingsCharmLinkHover -FFD60C1B SaturatedSuggestionTilesBackground -FFAE000D SaturatedSystemToastBackground -33000000 SaturatedThumbnailPlaceholder -FF000000 SaturatedWebWizardIndex -FFAE000D StartAllAppsDivider -FF8A000B StartAPVBackground -FFFFAEB5 StartAPVHeaderText -FF57FFFF StartAPVNewAppText -FFAE000D StartAPVSemanticZoomTileBackground -FF99000C StartBackground -FFFF1EEE StartBackgroundDisabled -FFE81121 StartCmdBarBackground -FFE23F4B StartCmdBarButtonFillLayerHover -FFFFFFFF StartCmdBarButtonFillLayerPressed -FFE81121 StartCmdBarButtonFillLayerRest -FFFFFFFF StartCmdBarButtonGlyphLayerHover -FFE81121 StartCmdBarButtonGlyphLayerPressed -FFFFFFFF StartCmdBarButtonGlyphLayerRest -FFFFFFFF StartCmdBarButtonOutlineLayerHover -FFFFFFFF StartCmdBarButtonOutlineLayerPressed -FFFFFFFF StartCmdBarButtonOutlineLayerRest -FFAE6A70 StartCommandRowDisabled -FFFFFFFF StartCommandRowHighlight -FFDBBDBF StartCommandRowHover -FFFFFFFF StartCommandRowPressed -FFCA9B9E 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 -FFAE000D StartDesktopTilesBackground -FFFFB3B8 StartDesktopTilesText -FFAE6A70 StartDisabledText -FFFFFFFF StartFocusRect -FF8A000B StartFolderBackground -FFDCCBCC StartGroupNameHeader -FFFFB0B7 StartHighlight -FFC10B18 StartHoverBackground -FFFFFFFF StartHoverPrimaryText -FFE3CED0 StartHoverSecondaryText -FFFFFF00 StartInlineErrorText -FF000000 StartLightTileInstallProgressFill -33000000 StartLightTileInstallProgressTrack -FFFFFFFF StartPrimaryText -FFCCCCCC StartRoundButtonHover -FF666666 StartRoundButtonPressed -FFFFFFFF StartRoundButtonRest -FFCA9B9E StartSecondaryText -FFE81121 StartSelectionBackground -FFE23F4B StartSelectionHoverBackground -FFFFFFFF StartSelectionHoverPrimaryText -FFFFFFFF StartSelectionHoverSecondaryText -FFFFFFFF StartSelectionPrimaryText -FFF3BCC0 StartSelectionSecondaryText -FFE23F4B StartSystemTilesBackground -FFAE6A70 StartThumbnailPlaceholder -FFE81123 SystemAccent -FF99000D SystemAccentDark1 -FF6E0009 SystemAccentDark2 -FF470006 SystemAccentDark3 -FFF05965 SystemAccentLight1 -FFFF99A1 SystemAccentLight2 -FFFFBDC2 SystemAccentLight3 -FF000000 SystemBackground -FF000000 SystemBackgroundDarkTheme -FFFFFFFF SystemBackgroundLightTheme -FFFFFFFF SystemText -FFFFFFFF SystemTextDarkTheme -FF000000 SystemTextLightTheme -66626262 TabletModeDragJointDividerBackground -FF0F1721 TabletModePPIJointDividerBackground diff --git a/Src/StartMenu/MetroColors/win10_yellow.txt b/Src/StartMenu/MetroColors/win10_yellow.txt deleted file mode 100644 index 3cfc3ef..0000000 --- a/Src/StartMenu/MetroColors/win10_yellow.txt +++ /dev/null @@ -1,1218 +0,0 @@ -FFFFFFFF ApplicationBackground -FF000000 ApplicationBackgroundDarkTheme -FFFFFFFF ApplicationBackgroundLightTheme -FF000000 ApplicationText -FFFFFFFF ApplicationTextDarkTheme -FF000000 ApplicationTextLightTheme -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 -FFFFE091 ControlDarkLinkHover -FFFFD566 ControlDarkLinkPressed -FFFFF2D0 ControlDarkLinkRest -FFFFD566 ControlDarkLinkVisited -BFEDEDED ControlDarkPanningIndicator -59FFFFFF ControlDarkProgressBackground -FFF4CD64 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 -FFFFB900 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 -FFD09700 ControlDarkRoundButtonFillLayerDisabled -FFEEAC00 ControlDarkRoundButtonFillLayerHover -FFFFFFFF ControlDarkRoundButtonFillLayerPressed -FFD09700 ControlDarkRoundButtonFillLayerRest -FFB3A071 ControlDarkRoundButtonGlyphDisabled -FFFFFFFF ControlDarkRoundButtonGlyphLayerHover -FFBB8800 ControlDarkRoundButtonGlyphLayerPressed -FFFFFFFF ControlDarkRoundButtonGlyphLayerRest -FFB3A071 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 -FFFFB900 ControlDarkSelectHighlightSelected -FFF2BE35 ControlDarkSelectHighlightSelectedHover -FFFFFFFF ControlDarkSelectPopupBackgroundDisabled -21000000 ControlDarkSelectPopupBackgroundHover -FFD3D3D3 ControlDarkSelectPopupBackgroundPressed -FFFFFFFF ControlDarkSelectPopupBackgroundRest -FFFFB900 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 -FFD09700 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 -FFF2BE35 ControlDarkSliderTrackFillHover -FFF4CD64 ControlDarkSliderTrackFillPressed -FFFFB900 ControlDarkSliderTrackFillRest -FFB3A071 ControlDarkToggleLabelDisabled -FFFFFFFF ControlDarkToggleLabelEnabled -FFB3A071 ControlDarkToggleOnOffTextDisabled -FFFFFFFF ControlDarkToggleOnOffTextEnabled -FFFFBA04 ControlDarkToggleThumbDisabled -FFFFFFFF ControlDarkToggleThumbEnabled -FFA78C47 ControlDarkToggleTrackBackgroundDisabled -FFF1B516 ControlDarkToggleTrackBackgroundEnabled -4AFFFFFF ControlDarkToggleTrackBackgroundHover -59FFFFFF ControlDarkToggleTrackBackgroundPressed -42FFFFFF ControlDarkToggleTrackBackgroundRest -FFEEAC00 ControlDarkToggleTrackBorderDisabled -FFFFBA04 ControlDarkToggleTrackBorderEnabled -FFA78C47 ControlDarkToggleTrackFillDisabled -FFFFB900 ControlDarkToggleTrackFillEnabled -FFF2BE35 ControlDarkToggleTrackFillHover -FFF4CD64 ControlDarkToggleTrackFillPressed -FFFFB900 ControlDarkToggleTrackFillRest -00000000 ControlDarkToggleTrackGutterDisabled -00000000 ControlDarkToggleTrackGutterEnabled -00000000 ControlDefaultDarkButtonBackgroundDisabled -FFF2BE35 ControlDefaultDarkButtonBackgroundHover -FFFFFFFF ControlDefaultDarkButtonBackgroundPressed -FFFFB900 ControlDefaultDarkButtonBackgroundRest -66FFFFFF ControlDefaultDarkButtonBorderDisabled -FFFFFFFF ControlDefaultDarkButtonBorderHover -FFFFFFFF ControlDefaultDarkButtonBorderPressed -FFFFFFFF ControlDefaultDarkButtonBorderRest -66FFFFFF ControlDefaultDarkButtonTextDisabled -FFFFFFFF ControlDefaultDarkButtonTextHover -FF000000 ControlDefaultDarkButtonTextPressed -FFFFFFFF ControlDefaultDarkButtonTextRest -FF000000 ControlDefaultFocusRectDark -FFFFFFFF ControlDefaultFocusRectLight -66CACACA ControlDefaultLightButtonBackgroundDisabled -FFF2BE35 ControlDefaultLightButtonBackgroundHover -FF000000 ControlDefaultLightButtonBackgroundPressed -FFFFB900 ControlDefaultLightButtonBackgroundRest -66CACACA ControlDefaultLightButtonBorderDisabled -FFF2BE35 ControlDefaultLightButtonBorderHover -FF000000 ControlDefaultLightButtonBorderPressed -FFFFB900 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 -FFFFCF51 ControlLightLinkHover -FFFFDF8A ControlLightLinkPressed -FFFFC01A ControlLightLinkRest -FFFFDF8A ControlLightLinkVisited -EBC9C9C9 ControlLightPanningIndicator -2B000000 ControlLightProgressBackground -FFFFB900 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 -FFFFB900 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 -FFFFB900 ControlLightSelectHighlightSelected -FFF2BE35 ControlLightSelectHighlightSelectedHover -FFFFFFFF ControlLightSelectPopupBackgroundDisabled -21000000 ControlLightSelectPopupBackgroundHover -FFD3D3D3 ControlLightSelectPopupBackgroundPressed -FFFFFFFF ControlLightSelectPopupBackgroundRest -FFFFB900 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 -FFF2BE35 ControlLightSliderTrackFillHover -FFF4CD64 ControlLightSliderTrackFillPressed -FFFFB900 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 -FFFFB900 ControlLightToggleTrackFillEnabled -FFF2BE35 ControlLightToggleTrackFillHover -FFF4CD64 ControlLightToggleTrackFillPressed -FFFFB900 ControlLightToggleTrackFillRest -00000000 ControlLightToggleTrackGutterDisabled -00000000 ControlLightToggleTrackGutterEnabled -00000000 ControlProgressBorder -FFDEDEDE ControlRadioButtonBackgroundDisabledHover -FF000000 ControlRadioButtonBackgroundDisabledPressed -FFA6A6A6 ControlRadioButtonBackgroundDisabledSelected -FFFFB900 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 -FF000000 DarkAltHigh -33000000 DarkAltLow -99000000 DarkAltMedium -CC000000 DarkAltMediumHigh -66000000 DarkAltMediumLow -FFFFFFFF DarkBaseHigh -33FFFFFF DarkBaseLow -99FFFFFF DarkBaseMedium -CCFFFFFF DarkBaseMediumHigh -66FFFFFF DarkBaseMediumLow -FFF2F2F2 DarkChromeAltLow -FF000000 DarkChromeBlackHigh -33000000 DarkChromeBlackLow -CC000000 DarkChromeBlackMedium -66000000 DarkChromeBlackMediumLow -FF333333 DarkChromeDisabledHigh -FF858585 DarkChromeDisabledLow -FF767676 DarkChromeHigh -FF171717 DarkChromeLow -FF1F1F1F DarkChromeMedium -FF2B2B2B DarkChromeMediumLow -FF101010 DarkChromeTaskbarBase -FFFFFFFF DarkChromeWhite -E5FFB900 DarkListAccentHigh -99FFB900 DarkListAccentLow -CCFFB900 DarkListAccentMedium -19FFFFFF DarkListLow -33FFFFFF DarkListMedium -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 -FFFFB900 HardwareCharmsBarFlag -FFFFD871 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 -FFFFB900 HardwareDarkCandidateControlBackgroundHightlighted -FFE5E5E5 HardwareDarkCandidateControlBackgroundHover -FFEAAA00 HardwareDarkCandidateControlBackgroundPressed -FF1A1A1A HardwareDarkCandidateControlBackgroundRest -FFFFFFFF HardwareDarkCandidateControlHighlightedSecondaryTextPressed -FFFFB900 HardwareDarkCandidateControlHighlightSelected -FFFFFFFF HardwareDarkCandidateControlSecondaryTextHighlighted -FF000000 HardwareDarkCandidateControlSecondaryTextHover -FFFFFFFF HardwareDarkCandidateControlSecondaryTextPressed -FF838383 HardwareDarkCandidateControlSecondaryTextRest -FFFFFFFF HardwareDarkCandidateControlSecondaryTextSelect -FF000000 HardwareDarkCandidateControlTextHover -FFFFFFFF HardwareDarkCandidateControlTextPressed -FFFFFFFF HardwareDarkCandidateControlTextRest -FFFFFFFF HardwareDarkCandidateControlTextSelect -FF1A1A1A HardwareDarkKeyboardBackground -FF000000 HardwareDarkKeyboardChildKeyKeyText -FF1A1A1A HardwareDarkKeyboardChildPanelBackground -FFF2F2F2 HardwareDarkKeyboardChildPanelKeyBackground -FFFFB900 HardwareDarkKeyboardEmojiCategoryTextSelected -FF4D4D4D HardwareDarkKeyboardFunctionKeyBackground -FFFFFFFF HardwareDarkKeyboardFunctionKeyText -FF838383 HardwareDarkKeyboardFunctionKeyTextDisabled -FFE5E5E5 HardwareDarkKeyboardKeyBackgroundHover -FFFFB900 HardwareDarkKeyboardKeyBackgroundPressed -FF333333 HardwareDarkKeyboardKeyBackgroundRest -FF333333 HardwareDarkKeyboardKeyDefaultBackgroundRest -FFFFFFFF HardwareDarkKeyboardKeyDefaultPrimaryTextRest -FF838383 HardwareDarkKeyboardKeyPrimaryTextDisabled -FF000000 HardwareDarkKeyboardKeyPrimaryTextHover -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextPressed -FFFFFFFF HardwareDarkKeyboardKeyPrimaryTextRest -00000000 HardwareDarkKeyboardKeySecondaryTextChildKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextChildKeyHover -FFFFB900 HardwareDarkKeyboardKeySecondaryTextChildKeyPressed -FF838383 HardwareDarkKeyboardKeySecondaryTextChildKeyRest -FF838383 HardwareDarkKeyboardKeySecondaryTextModifierKeyDisabled -FFFFFFFF HardwareDarkKeyboardKeySecondaryTextModifierKeyHover -FFFFB900 HardwareDarkKeyboardKeySecondaryTextModifierKeyPressed -FF333333 HardwareDarkKeyboardKeySecondaryTextModifierKeyRest -FF333333 HardwareDarkKeyboardNumberKeyBackground -FFFFFFFF HardwareDarkKeyboardNumberKeyText -FF838383 HardwareDarkKeyboardSpaceGripper -FF27262C HardwareDarkKeyboardThumbCentralNumberKeyBackground -FFA4A4A4 HardwareDarkKeyboardThumbCentralNumberKeyText -00000000 HardwareDarkKeyboardThumbResizeGripperBackgroundRest -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 -FFFFB900 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 -FFECAC02 HardwareGutterDown -FFD8D8D8 HardwareGutterIndicator -FFFFB900 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 -FFEACD82 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 -FFE81123 HardwareTitleBarCloseButtonHover -FFF1707A HardwareTitleBarCloseButtonPressed -FF3665B3 HardwareTitleBarMinimizeButtonHover -FF3D6099 HardwareTitleBarMinimizeButtonPressed -FF369ACA HardwareTrimBarProgressFill -FFFFFFFF HardwareTrimControlFill -4C000000 HardwareTrimControlFillHover -FFFFFFFF HardwareTrimControlFillPressed -59000000 HardwareTrimControlOutline -59000000 HardwareTrimControlOutlineHover -59000000 HardwareTrimControlOutlinePressed -FF222222 HardwareWin8Pillarbox -FF805E00 InputSwitchColorDarkBackground -19FFFFFF InputSwitchColorDarkButtonBackgroundHover -33FFFFFF InputSwitchColorDarkButtonBackgroundPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchColorDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchColorDarkButtonTextHover -FFFFFFFF InputSwitchColorDarkButtonTextPressed -FFFFFFFF InputSwitchColorDarkButtonTextRest -FF858585 InputSwitchColorDarkDisabledText -FF858585 InputSwitchColorDarkRadioButtonBackgroundDisabledSelected -66000000 InputSwitchColorDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchColorDarkRadioButtonBorder -FF000000 InputSwitchColorDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchColorDarkSelectionPrimaryText -33FFFFFF InputSwitchColorDarkSeparatorLine -FFCCCCCC InputSwitchColorDarkWindowBorder -F21E1E1E InputSwitchDarkBackground -19FFFFFF InputSwitchDarkButtonBackgroundHover -33FFFFFF InputSwitchDarkButtonBackgroundPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextHover -8AFFFFFF InputSwitchDarkButtonSecondaryTextPressed -8AFFFFFF InputSwitchDarkButtonSecondaryTextRest -FFFFFFFF InputSwitchDarkButtonTextHover -FFFFFFFF InputSwitchDarkButtonTextPressed -FFFFFFFF InputSwitchDarkButtonTextRest -FF858585 InputSwitchDarkDisabledText -FF858585 InputSwitchDarkRadioButtonBackgroundDisabledSelected -FFFFB900 InputSwitchDarkRadioButtonBackgroundSelected -FFFFFFFF InputSwitchDarkRadioButtonBorder -FF000000 InputSwitchDarkRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchDarkSelectionPrimaryText -33FFFFFF InputSwitchDarkSeparatorLine -FFCCCCCC InputSwitchDarkWindowBorder -F2FFFFFF InputSwitchLightBackground -19000000 InputSwitchLightButtonBackgroundHover -33000000 InputSwitchLightButtonBackgroundPressed -8A000000 InputSwitchLightButtonSecondaryTextHover -8A000000 InputSwitchLightButtonSecondaryTextPressed -8A000000 InputSwitchLightButtonSecondaryTextRest -FF000000 InputSwitchLightButtonTextHover -FF000000 InputSwitchLightButtonTextPressed -FF000000 InputSwitchLightButtonTextRest -FFCCCCCC InputSwitchLightDisabledText -FFCCCCCC InputSwitchLightRadioButtonBackgroundDisabledSelected -FFFFB900 InputSwitchLightRadioButtonBackgroundSelected -FF000000 InputSwitchLightRadioButtonBorder -FF000000 InputSwitchLightRadioButtonTextDisabledSelected -FFFFFFFF InputSwitchLightSelectionPrimaryText -33000000 InputSwitchLightSeparatorLine -FF000000 InputSwitchLightWindowBorder -FFFFFFFF LightAltHigh -33FFFFFF LightAltLow -99FFFFFF LightAltMedium -CCFFFFFF LightAltMediumHigh -66FFFFFF LightAltMediumLow -FFFFFFFF LightBackground -FFB6B6B6 LightBackgroundDisabled -FF000000 LightBaseHigh -33000000 LightBaseLow -99000000 LightBaseMedium -CC000000 LightBaseMediumHigh -66000000 LightBaseMediumLow -FF2A2A2A LightBorder -FF171717 LightChromeAltLow -FF000000 LightChromeBlackHigh -33000000 LightChromeBlackLow -CC000000 LightChromeBlackMedium -66000000 LightChromeBlackMediumLow -FFCCCCCC LightChromeDisabledHigh -FF7A7A7A LightChromeDisabledLow -FFCCCCCC LightChromeHigh -FFF2F2F2 LightChromeLow -FFE6E6E6 LightChromeMedium -FFF2F2F2 LightChromeMediumLow -FFEFEFEF LightChromeTaskbarBase -FFFFFFFF LightChromeWhite -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 -FFFFB900 LightHighlight -FFDEDEDE LightHoverBackground -21000000 LightHoverBackgroundTransparent -FF000000 LightHoverPrimaryText -FF000000 LightHoverSecondaryText -1A000000 LightIconBorder -FFE13300 LightInlineErrorText -B2FFB900 LightListAccentHigh -66FFB900 LightListAccentLow -99FFB900 LightListAccentMedium -19000000 LightListLow -33000000 LightListMedium -FFF4F4F4 LightNavBackground -21FFFFFF LightPCSettingsNavBarItemBackgroundHover -21FFFFFF LightPCSettingsNavBarItemBackgroundTouchPressed -19000000 LightPCSettingsSearchButtonBackgroundHover -33000000 LightPCSettingsSearchButtonBackgroundPressed -00000000 LightPCSettingsSearchButtonBackgroundRest -3B9B9B9B LightPlaceholderBackground -FFFFB900 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 -FF00B382 LightSearchHitHighlight -FF777777 LightSearchNewsBackground -FFDDDDDD LightSearchNewsBackgroundBorder -FFD09700 LightSearchSettingTilesBackground -FF999999 LightSearchStoreRatingEmpty -FF333333 LightSearchStoreRatingFull -FFFFFFFF LightSearchVideoTextWhite -FF7C29ED LightSearchWeatherBlue -FFFFD76A LightSecondaryChartFill -FF666666 LightSecondaryText -B2000000 LightSecondaryTextTransparent -FFFFB900 LightSelectedTabText -FFFFB900 LightSelectionBackground -FFF2BE35 LightSelectionHoverBackground -FFFFFFFF LightSelectionHoverPrimaryText -FFFFFFFF LightSelectionHoverSecondaryText -FFFFFFFF LightSelectionPrimaryText -FFFFFFFF LightSelectionSecondaryText -FF000000 LightTabText -FFFFB900 LightTitleText -FFCD2622 LightWUError -FF1E7126 LightWUNormal -FFFF9600 LightWUWarning -FFFFE8A8 MultitaskingMTVActiveVirtualDesktopHotTrackOuterBorder -FFFFE08C MultitaskingMTVActiveVirtualDesktopOuterBorder -FFFFFFFF MultitaskingMTVCloseGlyphHotTrack -FFFFFFFF MultitaskingMTVCloseGlyphPressed -FFFFFFFF MultitaskingMTVCloseGlyphRest -00000000 MultitaskingMTVCloseOutlineHotTrack -00000000 MultitaskingMTVCloseOutlinePressed -00000000 MultitaskingMTVCloseOutlineRest -CCE81123 MultitaskingMTVClosePlateHotTrack -FFE81123 MultitaskingMTVClosePlatePressed -00000000 MultitaskingMTVClosePlateRest -FF000000 MultitaskingMTVDimmingLayer -FF000000 MultitaskingMTVInactiveVirtualDesktopDim -FFFFFFFF MultitaskingMTVNewDesktopFocusOutline -00000000 MultitaskingMTVNewDesktopOutlineHotTrack -00000000 MultitaskingMTVNewDesktopOutlinePressed -00000000 MultitaskingMTVNewDesktopOutlineRest -FF000000 MultitaskingMTVNewDesktopPlateHotTrack -FF000000 MultitaskingMTVNewDesktopPlatePressed -FF000000 MultitaskingMTVNewDesktopPlateRest -FFFFFFFF MultitaskingMTVNewDesktopTextHotTrack -FFFFFFFF MultitaskingMTVNewDesktopTextPressed -FFFFFFFF MultitaskingMTVNewDesktopTextRest -FFFFFFFF MultitaskingMTVRestVirtualDesktopInner -FFFFFFFF MultitaskingMTVScrollButtonGlyphDisabled -FFFFFFFF MultitaskingMTVScrollButtonGlyphHotTrack -FFFFFFFF MultitaskingMTVScrollButtonGlyphPressed -FFFFFFFF MultitaskingMTVScrollButtonGlyphRest -00000000 MultitaskingMTVScrollButtonOutlineDisabled -00000000 MultitaskingMTVScrollButtonOutlineHotTrack -00000000 MultitaskingMTVScrollButtonOutlinePressed -00000000 MultitaskingMTVScrollButtonOutlineRest -FF000000 MultitaskingMTVScrollButtonPlateDisabled -FF000000 MultitaskingMTVScrollButtonPlateHotTrack -FF000000 MultitaskingMTVScrollButtonPlatePressed -FF000000 MultitaskingMTVScrollButtonPlateRest -FF171717 MultitaskingMTVScrollViewerBackground -00000000 MultitaskingMTVScrollViewerOutline -FFFFFFFF MultitaskingMTVSwitchItemTitle -FF000000 MultitaskingMTVThumbnailFocusInnerBorder -FFFFFFFF MultitaskingMTVThumbnailFocusOuterBorder -FF000000 MultitaskingMTVThumbnailHotTrackInnerBorder -FFFFFFFF MultitaskingMTVThumbnailHotTrackOuterBorder -FF000000 MultitaskingMTVThumbnailInnerBorder -FF000000 MultitaskingMTVVirtualDesktopBarBackground -00000000 MultitaskingMTVVirtualDesktopBarOutline -FFFFB900 MultitaskingMTVVirtualDesktopDragDrop -FFFFFFFF MultitaskingMTVVirtualDesktopHotTrackOuterBorder -FF000000 MultitaskingMTVVirtualDesktopInnerBorder -FFFFFFFF MultitaskingMTVVirtualDesktopTitle -FFD09700 SaturatedAltTabBackground -3DFFFFFF SaturatedAltTabHoverRect -FFFFFFFF SaturatedAltTabPressedRect -FF44424D SaturatedBackButtonBar -FFD09700 SaturatedBackground -FFFF3CFF SaturatedBackgroundDisabled -FFBDA462 SaturatedCommandRowDisabled -FFFFFFFF SaturatedCommandRowHighlight -FFFFBF17 SaturatedCommandRowHover -FF4D8E37 SaturatedCommandRowPressed -FFFFB900 SaturatedCommandRowRest -FFFF00FF SaturatedControlLink -FFFF00FF SaturatedControlLinkBackgroundPressed -FFFF00FF SaturatedControlLinkDisabled -FFFF00FF SaturatedControlLinkForegroundPressed -FFFF00FF SaturatedControlLinkMouseHover -FFFF00FF SaturatedControlLinkPressed -FFFF00FF SaturatedControlLinkVisited -FF000000 SaturatedDefaultDarkFocusRect -FFFFFFFF SaturatedDefaultLightFocusRect -FFF1F1F1 SaturatedDesktopToastBackground -FFBBAB80 SaturatedDisabledText -3DFFFFFF SaturatedDivider -FFFFFFFF SaturatedFocusRect -FF000000 SaturatedFocusRectDark -FFAC7C00 SaturatedFolderBackground -FFFFEBB7 SaturatedHighlight -FFF2B511 SaturatedHoverBackground -FFFFFFFF SaturatedHoverPrimaryText -FFF2EFE6 SaturatedHoverSecondaryText -FFFFFF00 SaturatedInlineErrorText -FFFFFFFF SaturatedPrimaryText -99FFFFFF SaturatedSearchHighlight -99FFFFFF SaturatedSearchSecondaryText -FFDDD5BF SaturatedSecondaryText -66FFFFFF SaturatedSecondaryTextDisabledTransparent -B2FFFFFF SaturatedSecondaryTextTransparent -FFFFB900 SaturatedSelectionBackground -FFF2BE35 SaturatedSelectionHoverBackground -FFFFFFFF SaturatedSelectionHoverPrimaryText -FFFFFFFF SaturatedSelectionHoverSecondaryText -FFFFFFFF SaturatedSelectionPrimaryText -FFFAE9BC SaturatedSelectionSecondaryText -00FFFFFF SaturatedSettingCharmSystemPaneButtonDisabled -21FFFFFF SaturatedSettingCharmSystemPaneButtonHover -3EFFFFFF SaturatedSettingCharmSystemPaneButtonPressed -00FFFFFF SaturatedSettingCharmSystemPaneButtonRest -3EFFFFFF SaturatedSettingCharmSystemPaneButtonSelected -CCFFFFFF SaturatedSettingCharmSystemPaneButtonText -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextDisabled -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextHover -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextPressed -CCFFFFFF SaturatedSettingCharmSystemPaneButtonTextSelected -FFFFB900 SaturatedSettingsCharmLinkHover -FFF2B511 SaturatedSuggestionTilesBackground -FFD09700 SaturatedSystemToastBackground -33000000 SaturatedThumbnailPlaceholder -FF000000 SaturatedWebWizardIndex -FFD09700 StartAllAppsDivider -FFAC7C00 StartAPVBackground -FFFFF2D0 StartAPVHeaderText -FF57FFFF StartAPVNewAppText -FFD09700 StartAPVSemanticZoomTileBackground -FFBB8800 StartBackground -FFFF1EEE StartBackgroundDisabled -FFFFB900 StartCmdBarBackground -FFF2BE35 StartCmdBarButtonFillLayerHover -FFFFFFFF StartCmdBarButtonFillLayerPressed -FFFFB900 StartCmdBarButtonFillLayerRest -FFFFFFFF StartCmdBarButtonGlyphLayerHover -FFFFB900 StartCmdBarButtonGlyphLayerPressed -FFFFFFFF StartCmdBarButtonGlyphLayerRest -FFFFFFFF StartCmdBarButtonOutlineLayerHover -FFFFFFFF StartCmdBarButtonOutlineLayerPressed -FFFFFFFF StartCmdBarButtonOutlineLayerRest -FFBBAB80 StartCommandRowDisabled -FFFFFFFF StartCommandRowHighlight -FFE8E2D2 StartCommandRowHover -FFFFFFFF StartCommandRowPressed -FFD6CCB1 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 -FFD09700 StartDesktopTilesBackground -FFFFF3D5 StartDesktopTilesText -FFBBAB80 StartDisabledText -FFFFFFFF StartFocusRect -FFAC7C00 StartFolderBackground -FFDCD8CB StartGroupNameHeader -FFFFEBB7 StartHighlight -FFE2A70C StartHoverBackground -FFFFFFFF StartHoverPrimaryText -FFF0EDE3 StartHoverSecondaryText -FFFFFF00 StartInlineErrorText -FF000000 StartLightTileInstallProgressFill -33000000 StartLightTileInstallProgressTrack -FFFFFFFF StartPrimaryText -FFCCCCCC StartRoundButtonHover -FF666666 StartRoundButtonPressed -FFFFFFFF StartRoundButtonRest -FFD6CCB1 StartSecondaryText -FFFFB900 StartSelectionBackground -FFF2BE35 StartSelectionHoverBackground -FFFFFFFF StartSelectionHoverPrimaryText -FFFFFFFF StartSelectionHoverSecondaryText -FFFFFFFF StartSelectionPrimaryText -FFFAE9BC StartSelectionSecondaryText -FFF2BE35 StartSystemTilesBackground -FFBBAB80 StartThumbnailPlaceholder -FFFFB900 SystemAccent -FFBA8900 SystemAccentDark1 -FF805E00 SystemAccentDark2 -FF4D3800 SystemAccentDark3 -FFFFD35C SystemAccentLight1 -FFFFE08C SystemAccentLight2 -FFFFE8A8 SystemAccentLight3 -FF000000 SystemBackground -FF000000 SystemBackgroundDarkTheme -FFFFFFFF SystemBackgroundLightTheme -FFFFFFFF SystemText -FFFFFFFF SystemTextDarkTheme -FF000000 SystemTextLightTheme -66626262 TabletModeDragJointDividerBackground -FF0F1721 TabletModePPIJointDividerBackground diff --git a/Src/StartMenu/MetroColors/win81_black.txt b/Src/StartMenu/MetroColors/win81_black.txt deleted file mode 100644 index 7e3b9f1..0000000 --- a/Src/StartMenu/MetroColors/win81_black.txt +++ /dev/null @@ -1,994 +0,0 @@ -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 diff --git a/Src/StartMenu/MetroColors/win81_blue.txt b/Src/StartMenu/MetroColors/win81_blue.txt deleted file mode 100644 index 778376e..0000000 --- a/Src/StartMenu/MetroColors/win81_blue.txt +++ /dev/null @@ -1,994 +0,0 @@ -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 diff --git a/Src/StartMenu/MetroColors/win81_green.txt b/Src/StartMenu/MetroColors/win81_green.txt deleted file mode 100644 index f630ca8..0000000 --- a/Src/StartMenu/MetroColors/win81_green.txt +++ /dev/null @@ -1,994 +0,0 @@ -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 diff --git a/Src/StartMenu/MetroColors/win81_red.txt b/Src/StartMenu/MetroColors/win81_red.txt deleted file mode 100644 index 8ccbc99..0000000 --- a/Src/StartMenu/MetroColors/win81_red.txt +++ /dev/null @@ -1,994 +0,0 @@ -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 diff --git a/Src/StartMenu/MetroColors/win81_yellow.txt b/Src/StartMenu/MetroColors/win81_yellow.txt deleted file mode 100644 index d82dfd6..0000000 --- a/Src/StartMenu/MetroColors/win81_yellow.txt +++ /dev/null @@ -1,994 +0,0 @@ -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 diff --git a/Src/StartMenu/MetroColors/win8_black.txt b/Src/StartMenu/MetroColors/win8_black.txt deleted file mode 100644 index afdb13a..0000000 --- a/Src/StartMenu/MetroColors/win8_black.txt +++ /dev/null @@ -1,767 +0,0 @@ -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 diff --git a/Src/StartMenu/MetroColors/win8_blue.txt b/Src/StartMenu/MetroColors/win8_blue.txt deleted file mode 100644 index 409c76c..0000000 --- a/Src/StartMenu/MetroColors/win8_blue.txt +++ /dev/null @@ -1,767 +0,0 @@ -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 diff --git a/Src/StartMenu/MetroColors/win8_green.txt b/Src/StartMenu/MetroColors/win8_green.txt deleted file mode 100644 index 57f55c8..0000000 --- a/Src/StartMenu/MetroColors/win8_green.txt +++ /dev/null @@ -1,767 +0,0 @@ -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 diff --git a/Src/StartMenu/MetroColors/win8_red.txt b/Src/StartMenu/MetroColors/win8_red.txt deleted file mode 100644 index ec2c04a..0000000 --- a/Src/StartMenu/MetroColors/win8_red.txt +++ /dev/null @@ -1,767 +0,0 @@ -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 diff --git a/Src/StartMenu/MetroColors/win8_yellow.txt b/Src/StartMenu/MetroColors/win8_yellow.txt deleted file mode 100644 index 906ed94..0000000 --- a/Src/StartMenu/MetroColors/win8_yellow.txt +++ /dev/null @@ -1,767 +0,0 @@ -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 diff --git a/Src/StartMenu/StartMenu.cpp b/Src/StartMenu/StartMenu.cpp deleted file mode 100644 index b9dc341..0000000 --- a/Src/StartMenu/StartMenu.cpp +++ /dev/null @@ -1,701 +0,0 @@ -// 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 -#include -#include -#include "StringUtils.h" -#include "ResourceHelper.h" -#include "TrackResources.h" -#include "ComHelper.h" -#include "Settings.h" -#include "psapi.h" -#include "Legacy.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 -{ -public: - - DECLARE_WND_CLASS(L"OpenShellMenu.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"OpenShellMenu.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 pWpnPlatform; - HRESULT hr=pWpnPlatform.CoCreateInstance(CLSID_WpnPlatform); - CComPtr pUnknown; - hr=pWpnPlatform->CreatePresentationEndpoint(&pUnknown); - CWpnTileSink sink; - DWORD cookie; - CComQIPtr pConnectionPoint=pUnknown; - hr=pConnectionPoint->Advise(&sink,&cookie); - CComPtr 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;iGetAt(i,&key))) - { - CComString pPropName; - PSGetNameFromPropertyKey(key,&pPropName); - PROPVARIANT val; - PropVariantInit(&val); - pStore->GetValue(key,&val); - PropVariantClear(&val); - } - }*/ - - // one-time import from Classic Shell - ImportLegacyData(); - - 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)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 (ver10) - 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,"OpenShellStartMenu.admx","OpenShellStartMenu.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"OpenShellMenu.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"OpenShellMenu.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"OpenShellMenu.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; -} diff --git a/Src/StartMenu/StartMenu.manifest b/Src/StartMenu/StartMenu.manifest deleted file mode 100644 index 2cd3f67..0000000 --- a/Src/StartMenu/StartMenu.manifest +++ /dev/null @@ -1,41 +0,0 @@ - - - -Open-Shell Menu - - - - - - - - true - - - - - - - - - - - - - - - - - diff --git a/Src/StartMenu/StartMenu.rc b/Src/StartMenu/StartMenu.rc deleted file mode 100644 index f2c9656..0000000 --- a/Src/StartMenu/StartMenu.rc +++ /dev/null @@ -1,118 +0,0 @@ -// 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 diff --git a/Src/StartMenu/StartMenu.vcxproj b/Src/StartMenu/StartMenu.vcxproj deleted file mode 100644 index c2b0584..0000000 --- a/Src/StartMenu/StartMenu.vcxproj +++ /dev/null @@ -1,376 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - Setup - Win32 - - - Setup - x64 - - - - {87D5FE20-AF86-458A-9AA3-3131EB06179B} - StartMenu - Win32Proj - 10.0.17134.0 - - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - true - - - Application - v141 - Static - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(Configuration)\ - $(Configuration)\ - true - - - $(Configuration)64\ - $(Configuration)64\ - true - - - $(Configuration)\ - $(Configuration)\ - false - - - $(Configuration)64\ - $(Configuration)64\ - false - - - $(Configuration)\ - $(Configuration)\ - false - - - $(Configuration)64\ - $(Configuration)64\ - false - - - - Disabled - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - false - EnableFastChecks - MultiThreadedDebug - Use - Level3 - EditAndContinue - true - true - stdcpp17 - - - _DEBUG;%(PreprocessorDefinitions) - - - true - Windows - - - - - Disabled - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - false - EnableFastChecks - MultiThreadedDebug - Use - Level3 - ProgramDatabase - true - true - stdcpp17 - - - _DEBUG;%(PreprocessorDefinitions) - - - true - Windows - - - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - Use - Level3 - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - - - true - Windows - true - true - - - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreaded - true - Use - Level3 - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - - - true - Windows - true - true - - - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;BUILD_SETUP;%(PreprocessorDefinitions) - MultiThreaded - true - Use - Level3 - true - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - - - true - Windows - true - true - - - - - MaxSpeed - ..\Lib;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;BUILD_SETUP;%(PreprocessorDefinitions) - MultiThreaded - true - Use - Level3 - true - ProgramDatabase - true - true - stdcpp17 - - - NDEBUG;%(PreprocessorDefinitions) - - - true - Windows - true - true - - - - - - - - - - - - - - Create - - - - - - - - - - - - - - - - - - - - {d42fe717-485b-492d-884a-1999f6d51154} - false - - - {31c016fb-9ea1-4af5-987a-37210c04da06} - false - - - {9ec23ca9-384a-4eeb-979e-69879dc1a78c} - false - - - {066c9721-26d5-4c4d-868e-50c2ba0a8196} - false - - - {ca5bfc96-428d-42f5-9f7d-cdde048a357c} - false - - - {598ab4ac-008e-4501-90b3-c5213834c1da} - false - - - {63baf573-170b-4fa0-aee3-16e04f3e9df5} - false - - - {7bd26cb3-5280-48fd-9a86-c13e321018d5} - false - - - {66d1eaa4-65d1-45cc-9989-e616fc0575eb} - false - - - {a2ccde9f-17ce-461e-8bd9-00261b8855a6} - false - - - {ea65fddd-cb77-417f-8bb4-2f3ecb5b3e75} - false - - - {404821c5-4ee4-4908-a759-5ef6dac14ab6} - false - - - {5c875214-0e3a-4cf0-bc0c-bff6faa4c089} - false - - - {ed74eba9-1bcb-4b8f-9ae1-dc63b3c24a94} - false - - - {81eb6336-366c-47dd-82cf-ff6c36ccd2b5} - false - - - {85deecbb-1f9b-4983-9d54-3bf42182b7e7} - false - - - - - - \ No newline at end of file diff --git a/Src/StartMenu/StartMenuDLL/Accessibility.cpp b/Src/StartMenu/StartMenuDLL/Accessibility.cpp deleted file mode 100644 index fe6b0e8..0000000 --- a/Src/StartMenu/StartMenuDLL/Accessibility.cpp +++ /dev/null @@ -1,323 +0,0 @@ -// 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::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; -} diff --git a/Src/StartMenu/StartMenuDLL/Accessibility.h b/Src/StartMenu/StartMenuDLL/Accessibility.h deleted file mode 100644 index 9776d16..0000000 --- a/Src/StartMenu/StartMenuDLL/Accessibility.h +++ /dev/null @@ -1,75 +0,0 @@ -// 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(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 m_pStdAccessible; -}; diff --git a/Src/StartMenu/StartMenuDLL/CustomMenu.cpp b/Src/StartMenu/StartMenuDLL/CustomMenu.cpp deleted file mode 100644 index 8d8785e..0000000 --- a/Src/StartMenu/StartMenuDLL/CustomMenu.cpp +++ /dev/null @@ -1,618 +0,0 @@ -// 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 - -// 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 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 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=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 items; - g_CustomMenuParser.ParseTree(L"Items",items); - g_CustomMenu.resize(items.size()); - for (size_t i=0;i=0) - item.submenu=&g_CustomMenu[idx]; - } - - for (std::vector::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::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::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 - -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 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::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::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 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 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 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::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 pFolder; - PCUITEMID_CHILD child; - - // get IDataObject for the current item - CComPtr pDataObj; - bool bProtectedLink=false; - if (bApp && GetWinVersion()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 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=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::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;i0 && 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=rcItem.top+h && p.yDragLeave(); - m_pDropTarget=NULL; - } - if (pInfo && pInfo->GetPidl()) - { - m_pDropTargetInfo=pInfo; - CComPtr 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=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=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=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 items; - int skip1=0, skip2=0; - for (int i=0;im_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 pArray; - if (SUCCEEDED(SHCreateShellItemArrayFromDataObject(pDataObj,IID_IShellItemArray,(void**)&pArray))) - { - DWORD count; - CComPtr 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 pDesktop; - SHGetDesktopFolder(&pDesktop); - CComPtr pFolder; - CComPtr 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 pAsync=pDataObj; - if (pAsync) - pAsync->SetAsyncMode(FALSE); - for (std::vector::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::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 items; - int skip=0; - for (int i=0;iDragEnter(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); -} diff --git a/Src/StartMenu/StartMenuDLL/DragDrop.h b/Src/StartMenu/StartMenuDLL/DragDrop.h deleted file mode 100644 index 9b2e584..0000000 --- a/Src/StartMenu/StartMenuDLL/DragDrop.h +++ /dev/null @@ -1,61 +0,0 @@ -// 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(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; -}; diff --git a/Src/StartMenu/StartMenuDLL/ItemManager.cpp b/Src/StartMenu/StartMenuDLL/ItemManager.cpp deleted file mode 100644 index 456ab75..0000000 --- a/Src/StartMenu/StartMenuDLL/ItemManager.cpp +++ /dev/null @@ -1,3814 +0,0 @@ -// 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 "ItemManager.h" -#include "MetroLinkManager.h" -#include "FNVHash.h" -#include "Settings.h" -#include "SettingsUI.h" -#include "Translations.h" -#include "ResourceHelper.h" -#include "MenuContainer.h" -#include "LogManager.h" -#include "StartMenuDLL.h" -#include "resource.h" -#include -#include -#include -#include - -//#define DISABLE_CACHE -//#define FORCE_ALL_NEW - -#ifdef BUILD_SETUP -#undef DISABLE_CACHE -#undef FORCE_ALL_NEW -#endif - -#ifdef _DEBUG -_declspec(thread) int CItemManager::RWLock::g_LockState[CItemManager::RWLOCK_COUNT]; // 0 - none, 1 - read, 2 - write -#endif - -static bool g_bInvertMetroIcons; - -const int MAX_FOLDER_LEVELS=10; // don't go more than 10 levels deep -const int REFRESH_DELAY=5000; -const int CACHE_FILE_VERSION=2; - -PROPERTYKEY PKEY_MetroIcon={{0x86D40B4D, 0x9069, 0x443C, {0x81, 0x9A, 0x2A, 0x54, 0x09, 0x0D, 0xCC, 0xEC}}, 2}; - -// app ID resolver interface as described here: http://www.binrand.com/post/1510934-out-using-system-using-system-collections-generic-using-system.html -interface IApplicationResolver: public IUnknown -{ - STDMETHOD(GetAppIDForShortcut)( IShellItem *psi, LPWSTR *ppszAppID ); - // .... we don't care about the rest of the methods .... -}; - -GUID CLSID_ApplicationResolver={0x660b90c8,0x73a9,0x4b58,{0x8c,0xae,0x35,0x5b,0x7f,0x55,0x34,0x1b}}; -// different IIDs for Win8 and Win8: http://a-whiter.livejournal.com/1266.html -GUID IID_IApplicationResolver7={0x46a6eeff,0x908e,0x4dc6,{0x92,0xa6,0x64,0xbe,0x91,0x77,0xb4,0x1c}}; -GUID IID_IApplicationResolver8={0xde25675a,0x72de,0x44b4,{0x93,0x73,0x05,0x17,0x04,0x50,0xc1,0x40}}; - -/////////////////////////////////////////////////////////////////////////////// - -interface IResourceContext; - -const GUID IID_IResourceMap={0x6e21e72b, 0xb9b0, 0x42ae, {0xa6, 0x86, 0x98, 0x3c, 0xf7, 0x84, 0xed, 0xcd}}; -interface IResourceMap : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE GetUri(const wchar_t **pUri ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetSubtree(const wchar_t *propName, IResourceMap **pSubTree ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetString( const wchar_t *propName, wchar_t *pString ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetStringForContext( IResourceContext *pContext, const wchar_t *propName, wchar_t *pString ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFilePath( const wchar_t *propName, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetFilePathForContext( IResourceContext *pContext, const wchar_t *propName, wchar_t **pPath ) = 0; -}; - -/////////////////////////////////////////////////////////////////////////////// - -enum RESOURCE_SCALE -{ - RES_SCALE_100=0, - RES_SCALE_140=1, - RES_SCALE_180=2, - RES_SCALE_80 =3, -}; - -const GUID IID_ResourceContext={0xe3c22b30, 0x8502, 0x4b2f, {0x91, 0x33, 0x55, 0x96, 0x74, 0x58, 0x7e, 0x51}}; -interface IResourceContext : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE GetLanguage( void ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetHomeRegion( wchar_t *pRegion ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLayoutDirection( enum RESOURCE_LAYOUT_DIRECTION *pDirection ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetTargetSize( WORD *pSize ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetScale( RESOURCE_SCALE *pScale ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetContrast( enum RESOURCE_CONTRAST *pContrast ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetAlternateForm( wchar_t *pForm ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetQualifierValue( const wchar_t *name, wchar_t *pValue ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetLanguage( const wchar_t *language ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetHomeRegion( const wchar_t *region ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetLayoutDirection( enum RESOURCE_LAYOUT_DIRECTION direction ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetTargetSize( WORD size ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetScale( RESOURCE_SCALE scale ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetContrast( void ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetAlternateForm( const wchar_t *form ) = 0; -}; - -/////////////////////////////////////////////////////////////////////////////// - -const CLSID CLSID_ResourceManager={0xdbce7e40, 0x7345, 0x439d, {0xb1, 0x2c, 0x11, 0x4a, 0x11, 0x81, 0x9a, 0x09}}; -MIDL_INTERFACE("130a2f65-2be7-4309-9a58-a9052ff2b61c") -IResourceManager : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Initialize( void ) = 0; - virtual HRESULT STDMETHODCALLTYPE InitializeForCurrentApplication( void ) = 0; - virtual HRESULT STDMETHODCALLTYPE InitializeForPackage( const wchar_t *name ) = 0; - virtual HRESULT STDMETHODCALLTYPE InitializeForFile( const wchar_t *fname ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetMainResourceMap( REFIID riid, void **ppvObject ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetResourceMap( void ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDefaultContext( REFIID riid, void **ppvObject ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetReference( void ) = 0; -}; - -/////////////////////////////////////////////////////////////////////////////// - -extern PROPERTYKEY PKEY_MetroPackagePath; -extern PROPERTYKEY PKEY_MetroPackageName; - -static CComPtr g_pAppResolver; - -// Creates the app id resolver object -static void CreateAppResolver( void ) -{ - if (GetWinVersion()>=WIN_VER_WIN7) - { - CComPtr pUnknown; - pUnknown.CoCreateInstance(CLSID_ApplicationResolver); - if (GetWinVersion()==WIN_VER_WIN7) - g_pAppResolver=CComQIPtr(pUnknown); - else - g_pAppResolver=CComQIPtr(pUnknown); - } -} - -static bool DetectGrayscaleImage( const unsigned int *bits, int stride, int width, int height ) -{ - int transparent=0; - for (int y=0;y>16)&255; - int g=(pixel>>8)&255; - int b=(pixel)&255; - if (abs(r-g)>2 || abs(r-b)>2 || abs(g-b)>2) - return false; // found colored pixel - if (!(pixel&0xFF000000)) - transparent++; - } - } - if ((transparent*100)/(width*height)<5) - return false; // less than 5% transparent pixels - return true; -} - -static void CreateMonochromeImage( unsigned int *bits, int stride, int width, int height, DWORD metroColor ) -{ - int r0=(metroColor)&255; - int g0=(metroColor>>8)&255; - int b0=(metroColor>>16)&255; - for (int y=0;y>24; - int r=(r0*a)/255; - int g=(g0*a)/255; - int b=(b0*a)/255; - pixel=(a<<24)|(r<<16)|(g<<8)|b; - } - } -} - -static HBITMAP BitmapFromMetroIcon( HICON hIcon, int bitmapSize, int iconSize, DWORD metroColor, bool bDestroyIcon=true ) -{ - ICONINFO info; - BITMAP bmpInfo; - GetIconInfo(hIcon,&info); - AddTrackedObject(info.hbmColor); - AddTrackedObject(info.hbmMask); - if (info.hbmColor) - { - GetObject(info.hbmColor,sizeof(bmpInfo),&bmpInfo); - iconSize=bmpInfo.bmWidth; - if (iconSize>bitmapSize) - iconSize=bitmapSize; - } - if (info.hbmColor) DeleteObject(info.hbmColor); - if (info.hbmMask) DeleteObject(info.hbmMask); - - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=bi.bmiHeader.biHeight=bitmapSize; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - RECT rc={0,0,bitmapSize,bitmapSize}; - - HDC hdc=CreateCompatibleDC(NULL); - unsigned int *bits; - HBITMAP bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,(void**)&bits,NULL,0); - HGDIOBJ bmp0=SelectObject(hdc,bmp); - int offset=(bitmapSize-iconSize)/2; - bool bInvert=g_bInvertMetroIcons; - if (g_bInvertMetroIcons) - { - FillRect(hdc,&rc,(HBRUSH)GetStockObject(BLACK_BRUSH)); - DrawIconEx(hdc,offset,offset,hIcon,iconSize,iconSize,0,NULL,DI_NORMAL); - SelectObject(hdc,bmp0); - unsigned int *bits2=bits+offset*(bitmapSize+1); - if (DetectGrayscaleImage(bits2,bitmapSize,iconSize,iconSize)) - { - CreateMonochromeImage(bits2,bitmapSize,iconSize,iconSize,metroColor); - } - else - { - SelectObject(hdc,bmp); - bInvert=false; - } - } - - if (!bInvert) - { - SetDCBrushColor(hdc,metroColor&0xFFFFFF); - FillRect(hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - DrawIconEx(hdc,offset,offset,hIcon,iconSize,iconSize,0,NULL,DI_NORMAL); - SelectObject(hdc,bmp0); - int n=bitmapSize*bitmapSize; - for (int i=0;i='0' && scale[0]<='9' && scale[1]>='0' && scale[1]<='9') - { - int digits=2; - while (scale[digits]>='0' && scale[digits]<='9') - digits++; - scale[0]='%'; - scale[1]='d'; - if (digits>2) - memmove(scale+2,scale+digits,Strlen(scale+digits)*2+2); - return true; - } - } - else - scale+=6; - location=scale; - } -} - -static int g_MetroIconScales[]={80,100,140,180}; // 24, 30, 42, 54 pixels - -static HBITMAP LoadMetroBitmap( const wchar_t *location, int bitmapSize, DWORD metroColor ) -{ - // pick the best sized icon - int start; - if (bitmapSize<=26) - start=0; - else if (bitmapSize<=32) - start=1; - else if (bitmapSize<=44) - start=2; - else - start=3; - wchar_t path[_MAX_PATH]; - bool bFound=false; - for (int i=start;i<_countof(g_MetroIconScales);i++) // correct size or bigger (will scale down) - { - Sprintf(path,_countof(path),location,g_MetroIconScales[i]); - if (GetFileAttributes(path)!=INVALID_FILE_ATTRIBUTES) - { - bFound=true; - break; - } - } - if (!bFound) - { - for (int i=start-1;i>=0;i--) // smaller (will scale up) - { - Sprintf(path,_countof(path),location,g_MetroIconScales[i]); - if (GetFileAttributes(path)!=INVALID_FILE_ATTRIBUTES) - { - bFound=true; - break; - } - } - } - if (bFound) - { - SIZE size={2-bitmapSize,bitmapSize-2}; - HBITMAP hBitmap=LoadImageFile(path,&size,true,true,NULL); - if (hBitmap) - return BitmapFromMetroBitmap(hBitmap,bitmapSize,metroColor); - } - return NULL; -} - -/////////////////////////////////////////////////////////////////////////////// - -static bool ParseMetroBitmapLocation2( wchar_t *location ) -{ - CharUpper(location); - wchar_t *png=wcswcs(location,L".PNG-"); - if (!png) return false; - Strcpy(png,100,L".TARGETSIZE-%d.PNG"); - return true; -} - -static int g_MetroIconSizes2[]={16,20,24,32,40,48,64}; - -static HBITMAP LoadMetroBitmap2( const wchar_t *location, int bitmapSize, DWORD metroColor ) -{ - // pick the best sized icon - int start=-1; - for (int i=0;i<_countof(g_MetroIconSizes2);i++) - { - if (g_MetroIconSizes2[i]>=bitmapSize) - break; - start++; - } - if (start<0) start=0; - wchar_t path[_MAX_PATH]; - int iconSize=0; - for (int i=start;i<_countof(g_MetroIconSizes2);i++) // correct size or bigger (will scale down) - { - Sprintf(path,_countof(path),location,g_MetroIconSizes2[i]); - if (GetFileAttributes(path)!=INVALID_FILE_ATTRIBUTES) - { - iconSize=g_MetroIconSizes2[i]; - break; - } - } - if (!iconSize) - { - for (int i=start-1;i>=0;i--) // smaller (will scale up) - { - Sprintf(path,_countof(path),location,g_MetroIconSizes2[i]); - if (GetFileAttributes(path)!=INVALID_FILE_ATTRIBUTES) - { - iconSize=g_MetroIconSizes2[i]; - break; - } - } - } - if (iconSize) - { - if (g_bInvertMetroIcons) - { - if (iconSize>bitmapSize) - iconSize=bitmapSize; - } - else - { - if (iconSize>bitmapSize-2) - iconSize=bitmapSize-2; - } - SIZE size={iconSize,iconSize}; - HBITMAP hBitmap=LoadImageFile(path,&size,true,true,NULL); - if (hBitmap) - return BitmapFromMetroBitmap(hBitmap,bitmapSize,metroColor); - } - return NULL; -} - -/////////////////////////////////////////////////////////////////////////////// - -void CItemManager::LoadIconData::Init( void ) -{ - m_IconSizes[0]=SMALL_ICON_SIZE; - m_IconSizes[1]=LARGE_ICON_SIZE; - m_IconSizes[2]=EXTRA_LARGE_ICON_SIZE; - m_IconSizes[3]=SMALL_ICON_SIZE-2; - m_IconSizes[4]=LARGE_ICON_SIZE-2; - m_IconSizes[5]=EXTRA_LARGE_ICON_SIZE-2; - - for (int i=0;i<_countof(m_TempLists);i++) - { - m_TempLists[i]=ImageList_Create(m_IconSizes[i],m_IconSizes[i],ILC_COLOR32,0,1); - if (m_TempLists[i]) - { - ImageList_SetImageCount(m_TempLists[i],1); - HIMAGELIST_QueryInterface(m_TempLists[i],IID_IImageList2,(void**)&m_pTempLists[i]); - } - } - m_pFactory.CoCreateInstance(CLSID_WICImagingFactory); -} - -void CItemManager::LoadIconData::Close( void ) -{ - for (int i=0;i<_countof(m_TempLists);i++) - { - m_pTempLists[i]=NULL; - if (m_TempLists[i]) - ImageList_Destroy(m_TempLists[i]); - } - m_pFactory=NULL; -} - -int CItemManager::SMALL_ICON_SIZE; -int CItemManager::LARGE_ICON_SIZE; -int CItemManager::EXTRA_LARGE_ICON_SIZE=64; -int CItemManager::s_DPI; -int CItemManager::s_DPIOverride; - -CItemManager g_ItemManager; - -CItemManager::CItemManager( void ) -{ - m_bInitialized=false; - - memset(m_CriticalSections,0,sizeof(m_CriticalSections)); - memset(m_CriticalSectionOwners,0,sizeof(m_CriticalSectionOwners)); - m_StartEvent=m_WorkEvent=m_ExitEvent=m_DoneEvent=m_PreloadItemsThread=m_RefreshInfoThread=m_SaveCacheThread=NULL; - m_MainThreadId=m_PreloadItemsThreadId=m_RefreshInfoThreadId=0; - m_DefaultSmallIcon=m_DefaultLargeIcon=m_DefaultExtraLargeIcon=NULL; - m_bHasNewPrograms[0]=m_bHasNewPrograms[1]=m_bHasNewApps[0]=m_bHasNewApps[1]=m_bPreloadIcons=m_bPreloadFavorites=false; - m_LoadingStage=LOAD_STOPPED; - m_LastCacheSave=0; - m_TransientHash=1; -} - -CItemManager::~CItemManager( void ) -{ - Close(); -} - -void CItemManager::Init( void ) -{ - m_MainThreadId=GetCurrentThreadId(); - - { - // get the DPI setting - HDC hdc=GetDC(NULL); - s_DPI=GetDeviceCaps(hdc,LOGPIXELSY); - ReleaseDC(NULL,hdc); - s_DPIOverride=GetSettingInt(L"OverrideDPI"); - if (s_DPIOverride!=0) - { - if (s_DPIOverride<96) s_DPIOverride=96; - if (s_DPIOverride>480) s_DPIOverride=480; - } - } - - SMALL_ICON_SIZE=GetSettingInt(L"SmallIconSize"); - LARGE_ICON_SIZE=GetSettingInt(L"LargeIconSize"); - m_OldSysAccentColor=GetSystemAccentColor(); - g_bInvertMetroIcons=GetSettingBool(L"InvertMetroIcons"); - m_bOldInvertIcons=g_bInvertMetroIcons; - m_LoadIconData[0].Init(); - - bool bRTL=IsLanguageRTL(); - - CComString pPath; - if (SUCCEEDED(ShGetKnownFolderPath(FOLDERID_StartMenu,&pPath))) - { - m_RootStartMenu1=pPath; - m_RootStartMenu1+=L"\\"; - StringUpper(m_RootStartMenu1); - } - pPath.Clear(); - if (SUCCEEDED(ShGetKnownFolderPath(FOLDERID_CommonStartMenu,&pPath))) - { - m_RootStartMenu2=pPath; - m_RootStartMenu2+=L"\\"; - StringUpper(m_RootStartMenu2); - } - pPath.Clear(); - if (SUCCEEDED(ShGetKnownFolderPath(FOLDERID_CommonPrograms,&pPath))) - { - m_RootCommonPrograms=pPath; - m_RootCommonPrograms+=L"\\"; - StringUpper(m_RootCommonPrograms); - } - pPath.Clear(); - if (SUCCEEDED(ShGetKnownFolderPath(FOLDERID_Desktop,&pPath))) - { - m_RootDesktop=pPath; - m_RootDesktop+=L"\\"; - StringUpper(m_RootDesktop); - } - pPath.Clear(); - - m_RootGames=L"::{ED228FDF-9EA8-4870-83B1-96B02CFE0D52}\\"; - wchar_t text[_MAX_PATH]; - Strcpy(text,_countof(text),START_MENU_PINNED_ROOT L"\\"); - DoEnvironmentSubst(text,_countof(text)); - m_RootStartMenu3=text; - StringUpper(m_RootStartMenu3); - Strcpy(text,_countof(text),TASKBAR_PINNED_ROOT L"\\"); - DoEnvironmentSubst(text,_countof(text)); - m_RootTaskbar=text; - StringUpper(m_RootTaskbar); - Strcpy(text,_countof(text),METRO_APP_ROOT L"\\"); - DoEnvironmentSubst(text,_countof(text)); - m_RootMetro=text; - StringUpper(m_RootMetro); - - for (int i=0;i<=SHIL_LAST;i++) - { - CComPtr pList; - if (SUCCEEDED(SHGetImageList(i,IID_IImageList,(void**)&pList))) - { - int width, height; - pList->GetIconSize(&width,&height); - m_ListSizes.push_back(std::pair(width,i)); - } - } - std::sort(m_ListSizes.begin(),m_ListSizes.end()); - - CreateDefaultIcons(); - LoadCacheFile(); - - ItemInfo &item=m_ItemInfos.insert(std::pair(0,ItemInfo()))->second; - item.bIconOnly=true; - item.smallIcon=m_DefaultSmallIcon; - item.largeIcon=m_DefaultLargeIcon; - item.extraLargeIcon=m_DefaultExtraLargeIcon; - - for (int i=0;i::const_iterator it=m_IconInfos.begin();it!=m_IconInfos.end();++it) - { - if (it->second.bitmap) - DeleteObject(it->second.bitmap); - } - - for (int i=0;i=0) - icon.bitmap=BitmapFromIcon(LoadShellIcon(index,SMALL_ICON_SIZE),SMALL_ICON_SIZE); - else - icon.bitmap=NULL; - m_DefaultSmallIcon=&m_IconInfos.insert(std::pair(0,icon))->second; - - icon.sizeType=ICON_SIZE_TYPE_LARGE; - if (index>=0) - icon.bitmap=BitmapFromIcon(LoadShellIcon(index,LARGE_ICON_SIZE),LARGE_ICON_SIZE); - else - icon.bitmap=NULL; - m_DefaultLargeIcon=&m_IconInfos.insert(std::pair(0,icon))->second; - - icon.sizeType=ICON_SIZE_TYPE_EXTRA_LARGE; - if (index>=0) - icon.bitmap=BitmapFromIcon(LoadShellIcon(index,EXTRA_LARGE_ICON_SIZE),EXTRA_LARGE_ICON_SIZE); - else - icon.bitmap=NULL; - m_DefaultExtraLargeIcon=&m_IconInfos.insert(std::pair(0,icon))->second; -} - -CItemManager::LoadIconData &CItemManager::GetLoadIconData( void ) -{ - DWORD thread=GetCurrentThreadId(); - if (thread==m_RefreshInfoThreadId) - return m_LoadIconData[2]; - if (thread==m_PreloadItemsThreadId) - return m_LoadIconData[1]; - Assert(thread==m_MainThreadId); - return m_LoadIconData[0]; -} - -void CItemManager::ResetTempIcons( void ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - Lock cleanupLock(this,LOCK_CLEANUP); - RWLock itemLock(this,true,RWLOCK_ITEMS); - RWLock iconLock(this,true,RWLOCK_ICONS); - - COLORREF sysColor=GetSystemAccentColor(); - bool bResetMetro=m_OldSysAccentColor!=sysColor; - m_OldSysAccentColor=sysColor; - - g_bInvertMetroIcons=GetSettingBool(L"InvertMetroIcons"); - if (m_bOldInvertIcons!=g_bInvertMetroIcons) - bResetMetro=true; - m_bOldInvertIcons=g_bInvertMetroIcons; - - if (bResetMetro) - { - for (std::map::iterator it=m_MetroItemInfos10.begin();it!=m_MetroItemInfos10.end();) - { - std::map::iterator next=it; ++next; - if (it->second && !it->second->packagePath.IsEmpty()) - { - const_cast(it->second)->validFlags&=~(INFO_ICON|INFO_METRO); - m_MetroItemInfos10.erase(it); - } - it=next; - } - } - { - // remove temp items from the queue - std::list::iterator it=m_ItemQueue.begin(); - while (it!=m_ItemQueue.end()) - { - std::list::iterator next=it; ++next; - if ((*it)->bTemp) - { - Assert(!(*it)->largeIcon && !(*it)->extraLargeIcon && ((*it)->smallIcon==m_DefaultSmallIcon || (*it)->smallIcon->bTemp)); - m_ItemQueue.erase(it); - } - it=next; - } - } - - int metroFlags=bResetMetro?INFO_METRO:0; - { - // remove temp items from the cache - std::multimap::iterator it=m_ItemInfos.begin(); - while (it!=m_ItemInfos.end()) - { - std::multimap::iterator next=it; ++next; - if (it->second.bTemp) - { - Assert(it->second.largeIcon==m_DefaultLargeIcon && it->second.extraLargeIcon==m_DefaultExtraLargeIcon && (it->second.smallIcon==m_DefaultSmallIcon || it->second.smallIcon->bTemp)); - m_ItemInfos.erase(it); - } - else - { - if (it->second.smallIcon && (it->second.smallIcon->bTemp || (it->second.smallIcon->bMetro && bResetMetro))) - { - it->second.smallIcon=m_DefaultSmallIcon; - it->second.validFlags&=~(INFO_SMALL_ICON|metroFlags); - } - if (it->second.largeIcon && (it->second.largeIcon->bTemp || (it->second.largeIcon->bMetro && bResetMetro))) - { - it->second.largeIcon=m_DefaultLargeIcon; - it->second.validFlags&=~(INFO_LARGE_ICON|metroFlags); - } - if (it->second.extraLargeIcon && (it->second.extraLargeIcon->bTemp || (it->second.extraLargeIcon->bMetro && bResetMetro))) - { - it->second.extraLargeIcon=m_DefaultExtraLargeIcon; - it->second.validFlags&=~(INFO_EXTRA_LARGE_ICON|metroFlags); - } - } - it=next; - } - } - - { - // remove temp icons - std::multimap::iterator it=m_IconInfos.begin(); - while (it!=m_IconInfos.end()) - { - std::multimap::iterator next=it; ++next; - if (it->second.bTemp || (it->second.bMetro && bResetMetro)) - { - if (it->second.bitmap) - DeleteObject(it->second.bitmap); - m_IconInfos.erase(it); - } - it=next; - } - } - - { - // delete old bitmaps - for (std::vector::iterator it=m_OldBitmaps.begin();it!=m_OldBitmaps.end();++it) - DeleteObject(*it); - m_OldBitmaps.clear(); - } - m_TransientHash=1; -} - -static bool ComparePidls( PIDLIST_ABSOLUTE pidl1, PIDLIST_ABSOLUTE pidl2 ) -{ - if (!pidl1 && !pidl2) return true; - if (!pidl1 || !pidl2) return false; - int size1=ILGetSize(pidl1); - int size2=ILGetSize(pidl2); - if (size1!=size2) return false; - return memcmp(pidl1,pidl2,size1)==0; -} - -const CItemManager::ItemInfo *CItemManager::GetItemInfo( IShellItem *pItem, PIDLIST_ABSOLUTE pidl, int refreshFlags, TLocation location ) -{ - Assert(!RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); - if ((refreshFlags&INFO_METRO) && GetWinVersion()GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName); - - CString path, PATH; - unsigned int hash; - if (pName) - { - path=pName; - PATH=path; - StringUpper(PATH); - hash=CalcFNVHash(PATH); - } - else - { - hash=CalcFNVHash(pidl,ILGetSize(pidl)); - } - - FILETIME writeTime={0}, createTime={0}; - if (!path.IsEmpty()) - { - if (!MenuGetFileTimestamp(path,&writeTime,&createTime)) - { - if (refreshFlags&INFO_VALIDATE_FILE) - return NULL; - path.Empty(); - } - } - - bool bDelay=GetSettingBool(L"DelayIcons"); - ItemInfo *pInfo=NULL; - { - RWLock lock(this,true,RWLOCK_ITEMS); - std::multimap::iterator it=m_ItemInfos.find(hash); - for (;it!=m_ItemInfos.end() && it->first==hash;++it) - { - if ((!PATH.IsEmpty() && wcscmp(PATH,it->second.PATH)==0) || (PATH.IsEmpty() && ILIsEqual(pidl,it->second.GetPidl()))) - { - pInfo=&it->second; - break; - } - } - if (!pInfo) - { - pInfo=&m_ItemInfos.insert(std::pair(hash,ItemInfo()))->second; - pInfo->pidl.Clone(pidl); - pInfo->path=path; - pInfo->PATH=PATH; - pInfo->createstamp=createTime; - pInfo->writestamp=writeTime; - pInfo->smallIcon=m_DefaultSmallIcon; - pInfo->largeIcon=m_DefaultLargeIcon; - pInfo->extraLargeIcon=m_DefaultExtraLargeIcon; - pInfo->validFlags=0; - } - else - { - if (!pInfo->packagePath.IsEmpty()) - MenuGetFileTimestamp(pInfo->packagePath,&writeTime,&createTime); - if (CompareFileTime(&pInfo->writestamp,&writeTime)!=0) - { - if (!PATH.IsEmpty() && !ComparePidls(pInfo->pidl,pidl) && !ComparePidls(pInfo->newPidl,pidl)) - pInfo->newPidl.Clone(pidl); - pInfo->writestamp=writeTime; - pInfo->validFlags=0; - } - } - if (pInfo->location==LOCATION_UNKNOWN && !pInfo->PATH.IsEmpty()) - { - if (location!=LOCATION_UNKNOWN) - pInfo->location=location; - else - pInfo->location=DetermineLocation(pInfo->PATH); - } - refreshFlags&=~pInfo->validFlags; - } - - if (refreshFlags) - { - int refreshMask=bDelay?INFO_DATA:(INFO_DATA|INFO_ICON); - if (refreshFlags&refreshMask) - RefreshItemInfo(pInfo,refreshFlags&refreshMask,pItem,false); - refreshFlags&=~refreshMask; - if (refreshFlags) - { - RWLock lock(this,true,RWLOCK_ITEMS); - QueueItemInfo(pInfo,refreshFlags); - } - } - - return pInfo; -} - -const CItemManager::ItemInfo *CItemManager::GetItemInfo( CString path, int refreshFlags, TLocation location ) -{ - Assert(!RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); - Assert(!path.IsEmpty()); - if ((refreshFlags&INFO_METRO) && GetWinVersion()::iterator it=m_ItemInfos.find(hash); - for (;it!=m_ItemInfos.end() && it->first==hash;++it) - { - if (wcscmp(PATH,it->second.PATH)==0) - { - pInfo=&it->second; - break; - } - } - if (!pInfo) - { - pInfo=&m_ItemInfos.insert(std::pair(hash,ItemInfo()))->second; - if (!PATH.IsEmpty()) - MenuParseDisplayName(path,&pInfo->pidl,NULL,NULL); - if (pInfo->pidl) - pInfo->path=path; - pInfo->PATH=PATH; - pInfo->createstamp=createTime; - pInfo->writestamp=writeTime; - pInfo->smallIcon=m_DefaultSmallIcon; - pInfo->largeIcon=m_DefaultLargeIcon; - pInfo->extraLargeIcon=m_DefaultExtraLargeIcon; - pInfo->validFlags=0; - } - else - { - if (!pInfo->packagePath.IsEmpty()) - MenuGetFileTimestamp(pInfo->packagePath,&writeTime,&createTime); - if (CompareFileTime(&pInfo->writestamp,&writeTime)!=0) - { - CAbsolutePidl pidl; - if (!PATH.IsEmpty()) - MenuParseDisplayName(PATH,&pidl,NULL,NULL); - if (!ComparePidls(pInfo->pidl,pidl) && !ComparePidls(pInfo->newPidl,pidl)) - pInfo->newPidl.Swap(pidl); - pInfo->writestamp=writeTime; - pInfo->validFlags=0; - } - } - if (pInfo->location==LOCATION_UNKNOWN && !pInfo->PATH.IsEmpty()) - { - if (location!=LOCATION_UNKNOWN) - pInfo->location=location; - else - pInfo->location=DetermineLocation(pInfo->PATH); - } - refreshFlags&=~pInfo->validFlags; - } - - if (refreshFlags) - { - int refreshMask=bDelay?INFO_DATA:(INFO_DATA|INFO_ICON); - if (refreshFlags&refreshMask) - RefreshItemInfo(pInfo,refreshFlags&refreshMask,NULL,false); - refreshFlags&=~refreshMask; - if (refreshFlags) - { - RWLock lock(this,true,RWLOCK_ITEMS); - QueueItemInfo(pInfo,refreshFlags); - } - } - - return pInfo; -} - -void CItemManager::UpdateItemInfo( const ItemInfo *pInfo, int refreshFlags, bool bHasWriteLock ) -{ - if (bHasWriteLock) - { - Assert(RWLock::ThreadHasWriteLock(RWLOCK_ITEMS)); - } - else - { - Assert(!RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); - } - refreshFlags&=~pInfo->validFlags; // potentially out of lock, assuming validFlags is atomic - if (refreshFlags) - { - RWLock lock(this,true,bHasWriteLock?RWLOCK_COUNT:RWLOCK_ITEMS); - if ((refreshFlags&INFO_ICON) && !(refreshFlags&INFO_REFRESH_NOW) && GetSettingBool(L"DelayIcons")) - { - QueueItemInfo(const_cast(pInfo),refreshFlags&INFO_ICON); - refreshFlags&=~INFO_ICON; - } - if (refreshFlags) - RefreshItemInfo(const_cast(pInfo),refreshFlags,NULL,true); - } -} - -const CItemManager::ItemInfo *CItemManager::GetCustomIcon( const wchar_t *location, int index, TIconSizeType iconSizeType, bool bTemp ) -{ - Assert(!RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); - unsigned int hash=CalcFNVHash(location,CalcFNVHash(&index,4)); - ItemInfo *pInfo=NULL; - bool bDelay=GetSettingBool(L"DelayIcons"); - int refreshFlags=0; - { - RWLock lock(this,true,RWLOCK_ITEMS); - std::multimap::iterator it=m_ItemInfos.find(hash); - for (;it!=m_ItemInfos.end() && it->first==hash;++it) - { - if (it->second.bIconOnly && it->second.bTemp==bTemp) - { - pInfo=&it->second; - break; - } - } - if (!pInfo) - { - pInfo=&m_ItemInfos.insert(std::pair(hash,ItemInfo()))->second; - pInfo->bIconOnly=true; - pInfo->bTemp=bTemp; - pInfo->iconPath=location; - pInfo->iconIndex=index; - pInfo->smallIcon=m_DefaultSmallIcon; - pInfo->largeIcon=m_DefaultLargeIcon; - pInfo->extraLargeIcon=m_DefaultExtraLargeIcon; - } - - if (iconSizeType==ICON_SIZE_TYPE_SMALL) refreshFlags|=INFO_SMALL_ICON; - if (iconSizeType==ICON_SIZE_TYPE_LARGE) refreshFlags|=INFO_LARGE_ICON; - if (iconSizeType==ICON_SIZE_TYPE_EXTRA_LARGE) refreshFlags|=INFO_EXTRA_LARGE_ICON; - refreshFlags&=~pInfo->validFlags; - - if (refreshFlags && bDelay) - { - QueueItemInfo(pInfo,refreshFlags); - refreshFlags=0; - } - } - if (!bDelay && refreshFlags) - { - RefreshItemInfo(pInfo,refreshFlags,NULL,false); - } - return pInfo; -} - -const CItemManager::ItemInfo *CItemManager::GetCustomIcon( const wchar_t *path, TIconSizeType iconSizeType ) -{ - Assert(!RWLock::ThreadHasReadLock(RWLOCK_ITEMS)); - if (!path) - { - RWLock lock(this,false,RWLOCK_ITEMS); - return &m_ItemInfos.find(0)->second; - } - wchar_t text[1024]; - Strcpy(text,_countof(text),path); - DoEnvironmentSubst(text,_countof(text)); - wchar_t *c=wcsrchr(text,','); - int index=0; - if (c) - { - *c=0; - index=-_wtol(c+1); - } - return GetCustomIcon(text,index,iconSizeType,false); -} - -const CItemManager::ItemInfo *CItemManager::GetMetroAppInfo10( const wchar_t *appid ) -{ - wchar_t APPID[256]; - Strcpy(APPID,_countof(APPID),appid); - CharUpper(APPID); - if (APPID[0]=='\\' || APPID[0]=='{' || APPID[1]==':' || wcsstr(APPID,L".AUTOGENERATED.")) - return NULL; // attempt to recognize appids that are for sure not Metro - unsigned int hash=CalcFNVHash(APPID); - const ItemInfo *pInfo=NULL; - { - RWLock lock(this,false,RWLOCK_ITEMS); - // the key is a hash of the uppercase appid - std::map::const_iterator it=m_MetroItemInfos10.find(hash); - if (it!=m_MetroItemInfos10.end()) - pInfo=it->second; - else if (m_BlackListInfos10.find(hash)!=m_BlackListInfos10.end()) - return NULL; - } - if (pInfo) - { - UpdateItemInfo(pInfo,INFO_LINK|INFO_METRO); - return pInfo; - } - - CComPtr pItem; - if (SUCCEEDED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,appid,IID_IShellItem,(void**)&pItem))) - { - CAbsolutePidl pidl; - if (SUCCEEDED(SHGetIDListFromObject(pItem,&pidl))) - pInfo=GetItemInfo(pItem,pidl,INFO_LINK|INFO_METRO,LOCATION_METRO); - } - - { - RWLock lock(this,true,RWLOCK_ITEMS); - std::map::const_iterator it=m_MetroItemInfos10.find(hash); - if (it!=m_MetroItemInfos10.end() && it->second) - return it->second; - else - { - if (!pInfo) - m_BlackListInfos10.insert(hash); - if (pInfo && !pInfo->IsMetroApp()) - pInfo=NULL; - m_MetroItemInfos10[hash]=pInfo; - return pInfo; - } - } -} - -// requires LOCK_ITEMS to be held -void CItemManager::QueueItemInfo( ItemInfo *pInfo, int refreshFlags ) -{ - Assert(RWLock::ThreadHasWriteLock(RWLOCK_ITEMS)); - DWORD thread=GetCurrentThreadId(); - Assert(thread!=m_RefreshInfoThreadId); - pInfo->refreshFlags|=refreshFlags&~pInfo->validFlags&(INFO_DATA|INFO_ICON); - if (pInfo->refreshFlags) - { - std::list &queue=(thread==m_PreloadItemsThreadId)?m_ItemQueueLow:m_ItemQueue; - for (std::list::const_iterator it=queue.begin();it!=queue.end();++it) - { - if (*it==pInfo) - return; - } - queue.push_back(pInfo); - SetEvent(m_WorkEvent); - if (thread!=m_PreloadItemsThreadId) - SetEvent(m_StartEvent); - } -} - -void CItemManager::WaitForShortcuts( const POINT &balloonPos ) -{ - if (m_PreloadItemsThreadId) - { - if (WaitForSingleObject(m_DoneEvent,1000)!=WAIT_TIMEOUT) - return; - CWindow tooltip=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|(IsLanguageRTL()?WS_EX_LAYOUTRTL:0),TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_BALLOON|TTS_NOPREFIX,0,0,0,0,NULL,NULL,g_Instance,NULL); - tooltip.SendMessage(TTM_SETMAXTIPWIDTH,0,500); - TOOLINFO tool={sizeof(tool),TTF_TRANSPARENT|TTF_TRACK|(IsLanguageRTL()?TTF_RTLREADING:0U)}; - tool.uId=1; - CString message=LoadStringEx(IDS_MENU_BUSY); - tool.lpszText=(LPWSTR)(const wchar_t*)message; - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - tooltip.SendMessage(TTM_SETTITLE,TTI_INFO,(LPARAM)(const wchar_t*)LoadStringEx(IDS_APP_TITLE)); - tooltip.SendMessage(TTM_TRACKPOSITION,0,MAKELONG(balloonPos.x,balloonPos.y)); - tooltip.SendMessage(TTM_TRACKACTIVATE,TRUE,(LPARAM)&tool); - tooltip.SendMessage(TTM_UPDATE); - WaitForSingleObject(m_DoneEvent,INFINITE); - tooltip.DestroyWindow(); - } -} - -bool CItemManager::IsTaskbarPinned( const wchar_t *appid ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - RWLock lock(this,true,RWLOCK_ITEMS); - const ItemInfo *pInfo=NULL; - for (std::multimap::const_iterator it=m_ItemInfos.begin();it!=m_ItemInfos.end();++it) - { - if (it->second.bLink && it->second.location==LOCATION_TASKBAR) - { - UpdateItemInfo(&it->second,INFO_LINK_APPID,true); - if (wcscmp(it->second.appid,appid)==0) - { - if (GetFileAttributes(it->second.path)!=INVALID_FILE_ATTRIBUTES) - return true; - } - } - } - return false; -} - -void EncodeRot13( wchar_t *text ) -{ - for (;*text;text++) - { - if (*text>='a' && *text<='z') - *text=(*text-'a'+13)%26+'a'; - else if (*text>='A' && *text<='Z') - *text=(*text-'A'+13)%26+'A'; - } -} - -static KNOWNFOLDERID g_KnownPrefixes[]= -{ - FOLDERID_SystemX86, - FOLDERID_System, - FOLDERID_Windows, - FOLDERID_ProgramFilesX86, - FOLDERID_ProgramFilesX64, - FOLDERID_Programs, - FOLDERID_CommonPrograms, - FOLDERID_StartMenu, - FOLDERID_CommonStartMenu, -}; - -void EncodeUserAssistPath( wchar_t *path ) -{ - for (int i=0;i<_countof(g_KnownPrefixes);i++) - { - CComString knownPath; - if (FAILED(SHGetKnownFolderPath(g_KnownPrefixes[i],0,NULL,&knownPath))) - continue; - int len=Strlen(knownPath); - if (_wcsnicmp(path,knownPath,len)==0) - { - CComString guid; - StringFromCLSID(g_KnownPrefixes[i],&guid); - wchar_t name[_MAX_PATH]; - Sprintf(name,_countof(name),L"%s%s",(const wchar_t*)guid,path+len); - Strcpy(path,_MAX_PATH,name); - return; - } - } -} - -bool CItemManager::IsPathUsed( CRegKey ®Key, const wchar_t *path, const FILETIME &createstamp, const KnownPathGuid *knownPaths, int knownPathsCount, bool bMetroApp ) -{ - { - unsigned int hash=CalcFNVHash(path); - OldItemInfo key={hash}; - std::vector::const_iterator it=std::lower_bound(m_OldItemInfos.begin(),m_OldItemInfos.end(),key); - if (it!=m_OldItemInfos.end() && it->hash==hash) - { - if (CompareFileTime(&createstamp,&it->timestamp)<0) - return true; - } - } - - wchar_t name[_MAX_PATH]; - if (knownPaths) - { - for (int i=0;i0 && CompareFileTime(&createstamp,&data.timestamp)<0); - } - } - return false; -} - -void CItemManager::UpdateNewPrograms( const POINT &balloonPos ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - m_NewPrograms.clear(); - m_NewProgramRoots.clear(); - m_bHasNewPrograms[0]=m_bHasNewPrograms[1]=m_bHasNewApps[0]=m_bHasNewApps[1]=false; -#ifdef FORCE_ALL_NEW - m_bHasNewPrograms[0]=m_bHasNewPrograms[1]=m_bHasNewApps[0]=m_bHasNewApps[1]=true; -#endif - if (!GetSettingBool(L"HighlightNew")) - return; - bool bNewApps=GetSettingBool(L"HighlightNewApps"); -/* { - // the new programs need the MFU system to be enabled - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",KEY_READ)!=ERROR_SUCCESS) - return; - DWORD val; - if (regKey.QueryDWORDValue(L"Start_TrackProgs",val)==ERROR_SUCCESS && !val) - return; - } -*/ - LONGLONG installTime=0; - { - CRegKey regKey; - if (regKey.Open(HKEY_LOCAL_MACHINE,L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",KEY_READ)==ERROR_SUCCESS) - { - DWORD time=0; - if (regKey.QueryDWORDValue(L"InstallDate",time)==ERROR_SUCCESS) - { - installTime=Int32x32To64(time,10000000)+116444736000000000; - } - } - FILETIME ft={(DWORD)installTime,(DWORD)(installTime>>32)}; - SYSTEMTIME st; - GetSystemTime(&st); - LOG_MENU(LOG_NEW,L"Current time: %02d.%02d.%04d:%02d:%02d",st.wDay,st.wMonth,st.wYear,st.wHour,st.wMinute); - FileTimeToSystemTime(&ft,&st); - LOG_MENU(LOG_NEW,L"Install time: %02d.%02d.%04d:%02d:%02d",st.wDay,st.wMonth,st.wYear,st.wHour,st.wMinute); - } - - CRegKey regKeyExe; - regKeyExe.Open(HKEY_CURRENT_USER,USERASSIST_APPIDS_KEY,KEY_READ); - CRegKey regKeyLink; - regKeyLink.Open(HKEY_CURRENT_USER,USERASSIST_LINKS_KEY,KEY_READ); - - KnownPathGuid knownPaths[_countof(g_KnownPrefixes)+1]; - - int OLD_PROGRAMS_AGE=GetSettingInt(L"OldProgramsAge"); - if (OLD_PROGRAMS_AGE<0) OLD_PROGRAMS_AGE=0; - if (OLD_PROGRAMS_AGE>48) OLD_PROGRAMS_AGE=48; - const int INSTALL_GRACE_PERIOD=12; // ignore programs installed within 12 hours of system install - int knownPathsCount=0; - for (int i=0;i<_countof(g_KnownPrefixes);i++) - { - if (SUCCEEDED(SHGetKnownFolderPath(g_KnownPrefixes[i],0,NULL,&knownPaths[knownPathsCount].path))) - { - StringFromCLSID(g_KnownPrefixes[i],&knownPaths[knownPathsCount].guid); - knownPaths[knownPathsCount].path.MakeUpper(); - knownPaths[knownPathsCount].pathLen=Strlen(knownPaths[knownPathsCount].path); - knownPathsCount++; - } - } - knownPaths[knownPathsCount++].pathLen=0; - - LONGLONG curTime; - GetSystemTimeAsFileTime((FILETIME*)&curTime); - WaitForShortcuts(balloonPos); - LARGE_INTEGER newestProgram={0}, newestApp={0}; - { - RWLock lock(this,true,RWLOCK_ITEMS); - for (std::multimap::const_iterator it=m_ItemInfos.begin();it!=m_ItemInfos.end();++it) - { - if (it->second.location!=LOCATION_START_MENU && it->second.location!=LOCATION_METRO) - continue; - if ((it->second.bMetroLink || it->second.bMetroApp) && !bNewApps) - continue; - if (!it->second.bLink && !it->second.bMetroApp) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s not a link",it->second.path); - continue; - } - if (it->second.bNoNew) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s suppressed",it->second.path); - continue; - } -#ifdef FORCE_ALL_NEW - m_NewPrograms.push_back(&it->second); - continue; -#endif - LONGLONG timestamp=it->second.createstamp.dwLowDateTime|(((LONGLONG)it->second.createstamp.dwHighDateTime)<<32); - int hours1=(int)((curTime-timestamp)/36000000000); - if (hours1<0) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s creation time too new - %d hours",it->second.path,hours1); - continue; - } - if (hours1>OLD_PROGRAMS_AGE) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s creation time too old - %d hours",it->second.path,hours1); - continue; - } - if (wcswcs(PathFindFileName(it->second.PATH),L"UNINSTALL")) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s contains UNINSTALL",it->second.path); - continue; - } - if (it->second.location==LOCATION_START_MENU) - { - if (wcscmp(PathFindExtension(it->second.targetPATH),L".EXE")!=0) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s target not exe",it->second.path); - continue; - } - } - - if (it->second.bLink && GetFileAttributes(it->second.path)==INVALID_FILE_ATTRIBUTES) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s missing file",it->second.path); - continue; - } - // existing link to exe that is newer than 48 hours - int hours2=0, hours3=0; - if (it->second.location==LOCATION_START_MENU) - { - HANDLE h=CreateFile(it->second.targetPATH,FILE_READ_ATTRIBUTES,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,NULL,OPEN_EXISTING,0,NULL); - if (h==INVALID_HANDLE_VALUE) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s failed to read attributes",it->second.path); - continue; - } - - FILE_BASIC_INFO info; - hours2=0; - if (GetFileInformationByHandleEx(h,FileBasicInfo,&info,sizeof(info))) - hours2=(int)((curTime-info.ChangeTime.QuadPart)/36000000000); - CloseHandle(h); - if (hours2<0) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s target change time too new - %d hours",it->second.path,hours2); - continue; // the exe is too old - } - if (hours2>OLD_PROGRAMS_AGE) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s target change time too old - %d hours",it->second.path,hours2); - continue; // the exe is too old - } - hours3=(int)((info.ChangeTime.QuadPart-installTime)/36000000000); - if (hours3second.path,hours3); - continue; // too soon after install - } - - if (regKeyLink.m_hKey && IsPathUsed(regKeyLink,it->second.PATH,it->second.createstamp,knownPaths,knownPathsCount,it->second.bMetroApp)) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s shortcut used after it was created",it->second.path); - continue; // the shortcut was used after it was created - } - if (regKeyExe.m_hKey) - { - UpdateItemInfo(&it->second,INFO_LINK_APPID,true); - CString appid=it->second.appid; - appid.MakeUpper(); - if (IsPathUsed(regKeyExe,appid,it->second.createstamp,NULL,0,it->second.bMetroApp)) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s exe used after the shortcut was created",it->second.path); - continue; // the exe was used after the shortcut was created - } - } - if (newestProgram.QuadPartsecond.location==LOCATION_METRO) - { - hours3=(int)((timestamp-installTime)/36000000000); - if (hours3second.path,hours3); - continue; // too soon after install - } - CString appid=it->second.appid; - appid.MakeUpper(); - if (regKeyExe.m_hKey && IsPathUsed(regKeyExe,appid,it->second.createstamp,NULL,0,it->second.bMetroApp)) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s app id used after app was created",it->second.path); - continue; // the exe was used after the shortcut was created - } - if (it->second.bLink && regKeyLink.m_hKey && IsPathUsed(regKeyLink,it->second.PATH,it->second.createstamp,knownPaths,knownPathsCount,it->second.bMetroApp)) - { - LOG_MENU(LOG_NEW,L"Ignoring new: %s shortcut used after it was created",it->second.path); - continue; // the shortcut was used after it was created - } - if (newestApp.QuadPartsecond); - LOG_MENU(LOG_NEW,L"Accepting new: highlighting %s, created %d hours, target changed %d hours, since install %d hours, %I64X",it->second.path,hours1,hours2,hours3,timestamp); - } - } - - if (newestProgram.QuadPart || newestApp.QuadPart) - { - CRegKey regKey; - ULONGLONG val1, val2; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu",KEY_READ)==ERROR_SUCCESS) - { - if (regKey.QueryQWORDValue(L"LastProgramsTime",val1)!=ERROR_SUCCESS) - val1=0; - if (regKey.QueryQWORDValue(L"LastAppsTime",val2)!=ERROR_SUCCESS) - val2=0; - } - if (newestProgram.QuadPart) - { - LOG_MENU(LOG_NEW,L"LastProgramsTime: %I64X",val1); - m_bHasNewPrograms[0]=true; - m_bHasNewPrograms[1]=(val1<(ULONGLONG)newestProgram.QuadPart); - } - if (newestApp.QuadPart) - { - LOG_MENU(LOG_NEW,L"LastAppsTime: %I64X",val2); - m_bHasNewApps[0]=true; - m_bHasNewApps[1]=(val2<(ULONGLONG)newestApp.QuadPart); - } - } - - static const KNOWNFOLDERID *newProgramRoots[]={ - &FOLDERID_StartMenu, - &FOLDERID_CommonStartMenu, - &FOLDERID_Programs, - &FOLDERID_CommonPrograms, - }; - for (int i=0;i<_countof(newProgramRoots);i++) - { - CComPtr pFolder; - if (SUCCEEDED(ShGetKnownFolderItem(*newProgramRoots[i],&pFolder))) - { - CAbsolutePidl pidl; - if (SUCCEEDED(SHGetIDListFromObject(pFolder,&pidl))) - m_NewProgramRoots.push_back(GetItemInfo(pFolder,pidl,0)); - } - } - if (GetWinVersion()>=WIN_VER_WIN8) - { - wchar_t path[_MAX_PATH]=METRO_APP_ROOT; - DoEnvironmentSubst(path,_countof(path)); - CAbsolutePidl pidl; - pidl.Attach(ILCreateFromPath(path)); - CComPtr pFolder; - if (SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pFolder))) - m_NewProgramRoots.push_back(GetItemInfo(pFolder,pidl,0)); - } -} - -bool CItemManager::IsNewProgram( PIDLIST_ABSOLUTE pidl, bool bFolder, bool bMetroApp ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - if (m_NewPrograms.empty()) return false; - if (!bMetroApp) - { - // check if the item is under the approved roots - bool bValid=false; - for (std::vector::const_iterator it=m_NewProgramRoots.begin();it!=m_NewProgramRoots.end();++it) - { - if (ILIsParent((*it)->GetPidl(),pidl,FALSE)) - { - bValid=true; - break; - } - } - if (!bValid) return false; - } - for (std::vector::const_iterator it=m_NewPrograms.begin();it!=m_NewPrograms.end();++it) - { - if (bFolder && ILIsParent(pidl,(*it)->GetPidl(),FALSE)) - return true; - if (!bFolder && ILIsEqual(pidl,(*it)->GetPidl())) - return true; - } - return false; -} - -void CItemManager::LoadOldItems( void ) -{ - m_OldItemInfos.clear(); - CRegKey regItems; - if (regItems.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu",KEY_READ)==ERROR_SUCCESS) - { - ULONG size=0; - regItems.QueryBinaryValue(L"OldItems",NULL,&size); - if (size>0 && (size%sizeof(OldItemInfo))==0) - { - m_OldItemInfos.resize(size/sizeof(OldItemInfo)); - regItems.QueryBinaryValue(L"OldItems",&m_OldItemInfos[0],&size); - } - } - - std::sort(m_OldItemInfos.begin(),m_OldItemInfos.end()); -} - -void CItemManager::RemoveNewItem( PIDLIST_ABSOLUTE pItem1, PIDLIST_ABSOLUTE pItem2, bool bFolder ) -{ - std::vector hashes; - { - RWLock lock(this,false,RWLOCK_ITEMS); - for (size_t i=0;iGetPidl(),FALSE) || (pItem2 && ILIsParent(pItem2,pInfo->GetPidl(),FALSE)))) - bFound=true; - if (!bFound && !bFolder && ILIsEqual(pItem1,pInfo->GetPidl())) - bFound=true; - if (bFound) - { - unsigned hash; - if (pInfo->bMetroApp) - { - CString appid=pInfo->appid; - appid.MakeUpper(); - hash=CalcFNVHash(appid); - } - else if (pInfo->bLink) - { - hash=CalcFNVHash(pInfo->PATH); - } - else continue; - m_NewPrograms.erase(m_NewPrograms.begin()+i); - hashes.push_back(hash); - i--; - } - } - } - AddOldItems(hashes); -} - -void CItemManager::RemoveNewItems( bool bPrograms, bool bMetro ) -{ - std::vector hashes; - { - RWLock lock(this,false,RWLOCK_ITEMS); - for (size_t i=0;ilocation==LOCATION_METRO && !bMetro) - continue; - if (pInfo->location!=LOCATION_METRO && !bPrograms) - continue; - unsigned hash; - if (pInfo->bMetroApp) - { - CString appid=pInfo->appid; - appid.MakeUpper(); - hash=CalcFNVHash(appid); - } - else if (pInfo->bLink) - { - hash=CalcFNVHash(pInfo->PATH); - } - else continue; - m_NewPrograms.erase(m_NewPrograms.begin()+i); - hashes.push_back(hash); - i--; - } - } - AddOldItems(hashes); - if (bMetro) - m_bHasNewApps[0]=m_bHasNewApps[1]=false; - if (bPrograms) - m_bHasNewPrograms[0]=m_bHasNewPrograms[1]=false; -} - -void CItemManager::AddOldItems( const std::vector &hashes ) -{ - // purge items older than 48 hours - LONGLONG timestamp; - GetSystemTimeAsFileTime((FILETIME*)×tamp); - timestamp-=36000000000ll*48; - for (size_t i=0;i0) - { - m_OldItemInfos.erase(m_OldItemInfos.begin()+i); - i--; - } - } - - for (std::vector::const_iterator it=hashes.begin();it!=hashes.end();++it) - { - OldItemInfo key={*it}; - GetSystemTimeAsFileTime(&key.timestamp); - std::vector::iterator it2=std::lower_bound(m_OldItemInfos.begin(),m_OldItemInfos.end(),key); - if (it2!=m_OldItemInfos.end() && it2->hash==*it) - it2->timestamp=key.timestamp; - else - m_OldItemInfos.insert(it2,key); - } - - CRegKey regItems; - if (regItems.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu")!=ERROR_SUCCESS) - regItems.Create(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu"); - - if (m_OldItemInfos.empty()) - regItems.SetBinaryValue(L"OldItems",NULL,0); - else - regItems.SetBinaryValue(L"OldItems",&m_OldItemInfos[0],ULONG((size_t)m_OldItemInfos.size()*sizeof(OldItemInfo))); -} - -CString GetPropertyStoreString( IPropertyStore *pStore, REFPROPERTYKEY key ) -{ - PROPVARIANT val; - PropVariantInit(&val); - CString res; - if (SUCCEEDED(pStore->GetValue(key,&val))) - { - if (val.vt==VT_LPWSTR || val.vt==VT_BSTR) - res=val.pwszVal; - else if (val.vt==VT_LPSTR) - res=val.pszVal; - } - PropVariantClear(&val); - return res; -} - -// doesn't require the lock to be held -void CItemManager::RefreshItemInfo( ItemInfo *pInfo, int refreshFlags, IShellItem *pItem0, bool bHasWriteLock ) -{ - ItemInfo newInfo; - - { - // get info from pInfo - RWLock lock(this,false,bHasWriteLock?RWLOCK_COUNT:RWLOCK_ITEMS); - newInfo=*pInfo; - } - - CComPtr pItem; - CComPtr pAppItem; - bool bStartScreen= -#ifndef STARTSCREEN_WIN7 - GetWinVersion()>=WIN_VER_WIN8 && -#endif - (_wcsicmp(PathFindFileName(newInfo.PATH),STARTSCREEN_COMMAND)==0); - bool bValidateIcons=!bStartScreen; // hack - don't mark the icon as valid, so we have to load it next time - { - // do the real work - - int pInfo=0; // shadow the pInfo parameter while in this block - if ((refreshFlags&INFO_DATA) || !(newInfo.bIconOnly || newInfo.bMetroLink)) - { - if (pItem0) - pItem=pItem0; - else - { - const CAbsolutePidl &pidl=newInfo.newPidl?newInfo.newPidl:newInfo.pidl; - if (pidl) - { - if (FAILED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pItem))) - return; - } - } - } - - if (refreshFlags&INFO_DATA) - { - Assert(!newInfo.bIconOnly); - - // these two are always updated even if INFO_LINK is not requested - newInfo.bLink=false; - newInfo.bNoPin=false; - newInfo.bNoNew=false; - newInfo.bExplicitAppId=false; - newInfo.targetPATH.Empty(); - newInfo.targetPidl.Clear(); - if (refreshFlags&INFO_LINK_APPID) - { - newInfo.appid.Empty(); - } - - if (refreshFlags&INFO_METRO) - { - newInfo.bMetroLink=false; - newInfo.bMetroApp=false; - newInfo.bProtectedLink=false; - newInfo.metroName.Empty(); - newInfo.iconPath.Empty(); - newInfo.iconColor=0; - } - - // refresh link and metro - SFGAOF flags=0; - if (pItem && SUCCEEDED(pItem->GetAttributes(SFGAO_LINK|SFGAO_FILESYSTEM,&flags))) - { - CComQIPtr pStore; - if (flags&SFGAO_LINK) - { - // get link properties - CComPtr pLink; - if (SUCCEEDED(pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IShellLink,(void**)&pLink))) - { - newInfo.bLink=true; - pStore=pLink; - - if (SUCCEEDED(pLink->GetIDList(&newInfo.targetPidl))) - { - wchar_t path[_MAX_PATH]; - if (SUCCEEDED(SHGetPathFromIDList(newInfo.targetPidl,path))) - { - CharUpper(path); - newInfo.targetPATH=path; - } - } - } - } - else if (!(flags&SFGAO_FILESYSTEM)) - { - newInfo.bLink=false; - pItem->BindToHandler(NULL,BHID_PropertyStore,IID_IPropertyStore,(void**)&pStore); - } - if (pStore) - { - if (GetWinVersion()>=WIN_VER_WIN7) - { - newInfo.appid=GetPropertyStoreString(pStore,PKEY_AppUserModel_ID); - newInfo.bExplicitAppId=!newInfo.appid.IsEmpty(); - } - if (!newInfo.appid.IsEmpty() && (refreshFlags&INFO_METRO) && (GetWinVersion()<=WIN_VER_WIN8 || _wcsicmp(newInfo.appid,SEARCH_APP_ID)!=0)) - { - PROPVARIANT val; - PropVariantInit(&val); - if (SUCCEEDED(pStore->GetValue(PKEY_MetroAppLauncher,&val)) && (val.vt==VT_I4 || val.vt==VT_UI4) && val.intVal) - { - // get Metro properties - PropVariantClear(&val); - newInfo.bMetroLink=newInfo.bLink; - newInfo.bMetroApp=!newInfo.bLink; - newInfo.bProtectedLink=false; - if (newInfo.bMetroApp) - { - pAppItem=pItem; - newInfo.packagePath=GetPropertyStoreString(pStore,PKEY_MetroPackagePath); - if (!newInfo.packagePath.IsEmpty()) - { - FILETIME writeTime={0}, createTime={0}; - if (MenuGetFileTimestamp(newInfo.packagePath,&writeTime,&createTime)) - { - newInfo.writestamp=writeTime; - newInfo.createstamp=createTime; - } - } - } - if (newInfo.bMetroLink && wcsncmp(newInfo.PATH,m_RootCommonPrograms,m_RootCommonPrograms.GetLength())==0) - { - const wchar_t *str=newInfo.PATH; - newInfo.bProtectedLink=m_RootCommonPrograms.GetLength()==(PathFindFileName(str)-str); - } - if (SUCCEEDED(pStore->GetValue(PKEY_MetroIconColor,&val)) && (val.vt==VT_I4 || val.vt==VT_UI4)) - newInfo.iconColor=val.intVal; - if (pAppItem || SUCCEEDED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,newInfo.appid,IID_IShellItem,(void**)&pAppItem))) - { - CComString pName; - if (SUCCEEDED(pAppItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - { - newInfo.metroName=pName; - } - } - } - PropVariantClear(&val); - } - if (!newInfo.bMetroLink && !newInfo.bMetroApp) - { - PROPVARIANT val; - PropVariantInit(&val); - if (SUCCEEDED(pStore->GetValue(PKEY_AppUserModel_PreventPinning,&val)) && val.vt==VT_BOOL && val.boolVal) - newInfo.bNoPin=true; - PropVariantClear(&val); - if (SUCCEEDED(pStore->GetValue(PKEY_AppUserModel_ExcludeFromShowInNewInstall,&val)) && val.vt==VT_BOOL && val.boolVal) - newInfo.bNoNew=true; - PropVariantClear(&val); - } - } - - if (newInfo.bLink && newInfo.appid.IsEmpty() && (refreshFlags&INFO_LINK_APPID)) - { - Assert(GetCurrentThreadId()==m_MainThreadId); - if (!g_pAppResolver) - CreateAppResolver(); - if (g_pAppResolver) - { - CComString pAppId; - if (SUCCEEDED(g_pAppResolver->GetAppIDForShortcut(pItem,&pAppId))) - newInfo.appid=pAppId; - } - } - } - } - if (!newInfo.bIconOnly) - { - if (!newInfo.bLink) - { - newInfo.targetPidl.Clear(); - newInfo.targetPATH.Empty(); - newInfo.metroName.Empty(); - newInfo.iconPath.Empty(); - newInfo.bNoPin=newInfo.bNoNew=false; - if (!newInfo.bMetroApp) - { - newInfo.bExplicitAppId=false; - newInfo.appid.Empty(); - newInfo.packagePath.Empty(); - } - } - else if (newInfo.bMetroLink) - { - newInfo.targetPidl.Clear(); - newInfo.targetPATH.Empty(); - } - } - - if (refreshFlags&INFO_ICON) - { - // load icons - if (newInfo.bIconOnly) - { - LoadCustomIcon(newInfo.iconPath,newInfo.iconIndex,refreshFlags&INFO_ICON,newInfo.smallIcon,newInfo.largeIcon,newInfo.extraLargeIcon,newInfo.bTemp); - } - else if (newInfo.bMetroLink || newInfo.bMetroApp) - { - if (pAppItem || SUCCEEDED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,newInfo.appid,IID_IShellItem,(void**)&pAppItem))) - { - int iconFlags=refreshFlags&INFO_ICON; - LoadMetroIcon(pAppItem,iconFlags,newInfo.smallIcon,newInfo.largeIcon,newInfo.extraLargeIcon,&newInfo.iconColor); - if (iconFlags) - LoadShellIcon(pItem?pItem:pAppItem,iconFlags,newInfo.smallIcon,newInfo.largeIcon,newInfo.extraLargeIcon,&newInfo.iconColor); - } - } - else if (_wcsicmp(PathFindExtension(newInfo.path),L".settingcontent-ms")==0) - { - wchar_t iconPath[_MAX_PATH]=L"%windir%\\ImmersiveControlPanel\\systemsettings.exe"; - DoEnvironmentSubst(iconPath,_countof(iconPath)); - newInfo.iconPath=iconPath; - newInfo.iconIndex=-10; - LoadCustomIcon(newInfo.iconPath,newInfo.iconIndex,refreshFlags&INFO_ICON,newInfo.smallIcon,newInfo.largeIcon,newInfo.extraLargeIcon,false); - } - else - { - LoadShellIcon(pItem,(refreshFlags&INFO_ICON)|(bStartScreen?INFO_STARTSCREEN_ICON:0),newInfo.smallIcon,newInfo.largeIcon,newInfo.extraLargeIcon,NULL); - } - } - } - - { - // store info in pInfo - RWLock lock(this,true,bHasWriteLock?RWLOCK_COUNT:RWLOCK_ITEMS); - - if (refreshFlags&INFO_DATA) - { - pInfo->bLink=newInfo.bLink; - pInfo->bMetroLink=newInfo.bMetroLink; - pInfo->bMetroApp=newInfo.bMetroApp; - pInfo->bProtectedLink=newInfo.bProtectedLink; - pInfo->bNoPin=newInfo.bNoPin; - pInfo->bNoNew=newInfo.bNoNew; - pInfo->bExplicitAppId=newInfo.bExplicitAppId; - pInfo->targetPidl.Swap(newInfo.targetPidl); - pInfo->targetPATH=newInfo.targetPATH; - pInfo->packagePath=newInfo.packagePath; - if ((refreshFlags&INFO_LINK_APPID) || !newInfo.appid.IsEmpty()) - pInfo->appid=newInfo.appid; - if (!pInfo->appid.IsEmpty()) - refreshFlags|=INFO_LINK_APPID; // appid is valid, no need to resolve - pInfo->metroName=newInfo.metroName; - pInfo->iconPath=newInfo.iconPath; - pInfo->iconColor=newInfo.iconColor; - if (pInfo->bMetroApp) - { - pInfo->writestamp=newInfo.writestamp; - pInfo->createstamp=newInfo.createstamp; - } - } - - if (refreshFlags&INFO_SMALL_ICON) - pInfo->smallIcon=newInfo.smallIcon; - if (refreshFlags&INFO_LARGE_ICON) - pInfo->largeIcon=newInfo.largeIcon; - if (refreshFlags&INFO_EXTRA_LARGE_ICON) - pInfo->extraLargeIcon=newInfo.extraLargeIcon; - if (bValidateIcons) - pInfo->validFlags|=refreshFlags&(INFO_DATA|INFO_ICON); - else - pInfo->validFlags|=refreshFlags&INFO_DATA; - pInfo->refreshFlags&=~refreshFlags; - } -} - -void CItemManager::RefreshInfos( void ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - RWLock lock(this,true,RWLOCK_ITEMS); - for (std::multimap::iterator it=m_ItemInfos.begin();it!=m_ItemInfos.end();++it) - { - if (it->second.newPidl) - { - it->second.pidl.Swap(it->second.newPidl); - it->second.newPidl.Clear(); - it->second.validFlags=0; - } - } -} - -HBITMAP CItemManager::BitmapFromIcon( HICON hIcon, int iconSize, bool bDestroyIcon ) -{ - if (!hIcon) return NULL; - LoadIconData &data=GetLoadIconData(); - if (!data.m_pFactory) - { - if (bDestroyIcon) - DestroyIcon(hIcon); - return NULL; - } - - CComPtr pBitmap; - HRESULT hr=data.m_pFactory->CreateBitmapFromHICON(hIcon,&pBitmap); - if (bDestroyIcon) - DestroyIcon(hIcon); - if (FAILED(hr)) - return NULL; - - CComPtr pConverter; - if (FAILED(data.m_pFactory->CreateFormatConverter(&pConverter))) - return NULL; - - UINT width=0, height=0; - if (SUCCEEDED(pBitmap->GetSize(&width,&height)) && width==iconSize && height==iconSize) - { - pConverter->Initialize(pBitmap,GUID_WICPixelFormat32bppPBGRA,WICBitmapDitherTypeNone,NULL,0,WICBitmapPaletteTypeMedianCut); - } - else - { - CComPtr pScaler; - if (FAILED(data.m_pFactory->CreateBitmapScaler(&pScaler))) - return NULL; - pScaler->Initialize(pBitmap,iconSize,iconSize,WICBitmapInterpolationModeFant); - pConverter->Initialize(pScaler,GUID_WICPixelFormat32bppPBGRA,WICBitmapDitherTypeNone,NULL,0,WICBitmapPaletteTypeMedianCut); - } - - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=iconSize; - bi.bmiHeader.biHeight=-iconSize; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - HDC hdc=CreateCompatibleDC(NULL); - BYTE *bits; - HBITMAP bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,(void**)&bits,NULL,0); - DeleteDC(hdc); - if (!bmp) return NULL; - hr=pConverter->CopyPixels(NULL,iconSize*4,iconSize*iconSize*4,bits); - if (FAILED(hr)) - { - DeleteObject(bmp); - return NULL; - } - return bmp; -} - -HICON CItemManager::LoadShellIcon( int index, int iconSize ) -{ - LoadIconData &data=GetLoadIconData(); - int sizeIndex=-1; - for (int i=0;i<_countof(data.m_IconSizes);i++) - { - if (data.m_IconSizes[i]==iconSize) - { - sizeIndex=i; - break; - } - } - if (sizeIndex==-1) return NULL; - int listType=0; - for (std::vector>::const_iterator it=m_ListSizes.begin();it!=m_ListSizes.end();++it) - { - listType=it->second; - if (it->first>=iconSize) - break; - } - CComPtr pImageList; - if (FAILED(SHGetImageList(listType,IID_IImageList,(void**)&pImageList))) - return NULL; - HICON hIcon; - - if (data.m_pTempLists[sizeIndex]) - { - if (SUCCEEDED(data.m_pTempLists[sizeIndex]->ReplaceFromImageList(0,pImageList,index,NULL,0)) && SUCCEEDED(data.m_pTempLists[sizeIndex]->GetIcon(0,ILD_TRANSPARENT,&hIcon))) - { - AddTrackedIcon(hIcon); - return hIcon; - } - } - if (FAILED(pImageList->GetIcon(index,ILD_TRANSPARENT,&hIcon))) - return NULL; - AddTrackedIcon(hIcon); - return hIcon; -} - -HICON CItemManager::LoadShellIcon( int iconSize, IExtractIcon *pExtractW, const wchar_t *location, IExtractIconA *pExtractA, const char *locationA, int index ) -{ - HICON hIcon=NULL, hIcon2=NULL; - HRESULT hr; - if (iconSize<=GetSystemMetrics(SM_CXSMICON)) - { - // small icon is closer - if (pExtractW) - hr=pExtractW->Extract(location,index,&hIcon2,&hIcon,MAKELONG(iconSize,iconSize)); - else - hr=pExtractA->Extract(locationA,index,&hIcon2,&hIcon,MAKELONG(iconSize,iconSize)); - } - else - { - // large icon is closer - if (pExtractW) - hr=pExtractW->Extract(location,index,&hIcon,&hIcon2,MAKELONG(iconSize,iconSize)); - else - hr=pExtractA->Extract(locationA,index,&hIcon,&hIcon2,MAKELONG(iconSize,iconSize)); - } - if (FAILED(hr)) return NULL; - - if (hIcon2) DestroyIcon(hIcon2); - return hIcon; -} - -void CItemManager::LoadShellIcon( IShellItem *pItem, int refreshFlags, const IconInfo *&smallIcon, const IconInfo *&largeIcon, const IconInfo *&extraLargeIcon, const DWORD *pMetroColor ) -{ - if (!pItem) - return; - - wchar_t location[_MAX_PATH]; - int index=0; - if (refreshFlags&INFO_STARTSCREEN_ICON) - { - CComPtr pLink; - if (SUCCEEDED(pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IShellLink,(void**)&pLink))) - { - if (SUCCEEDED(pLink->GetIconLocation(location,_countof(location),&index)) && (!location[0] || _wcsicmp(PathFindFileName(location),L"StartScreen.exe")==0)) - { - unsigned int hash=CalcFNVHash(STARTSCREEN_COMMAND); - HBITMAP hSmallBitmap=NULL, hLargeBitmap=NULL, hExtraLargeBitmap=NULL; - if (refreshFlags&INFO_SMALL_ICON) - { - hSmallBitmap=GetStartScreenIcon(SMALL_ICON_SIZE); - } - - if (refreshFlags&INFO_LARGE_ICON) - { - hLargeBitmap=GetStartScreenIcon(LARGE_ICON_SIZE); - } - - if (refreshFlags&INFO_EXTRA_LARGE_ICON) - { - hExtraLargeBitmap=GetStartScreenIcon(EXTRA_LARGE_ICON_SIZE); - } - - StoreInCache(hash,NULL,hSmallBitmap,hLargeBitmap,hExtraLargeBitmap,refreshFlags,smallIcon,largeIcon,extraLargeIcon,false,false); - return; - } - } - } - - // get the IExtractIcon object - CComPtr pExtractW; - CComPtr pExtractA; - - bool bNotFileName; - bool bTransient=false; - char locationA[_MAX_PATH]; - - // get the icon location - if (SUCCEEDED(pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IExtractIconW,(void**)&pExtractW))) - { - UINT iconFlags=0; - if (pExtractW->GetIconLocation(0,location,_countof(location),&index,&iconFlags)!=S_OK) - return; - - bNotFileName=(iconFlags&GIL_NOTFILENAME)!=0; - bTransient=(iconFlags&GIL_DONTCACHE)!=0; - } - else if (SUCCEEDED(pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IExtractIconA,(void**)&pExtractA))) - { - UINT iconFlags=0; - if (pExtractA->GetIconLocation(0,locationA,_countof(locationA),&index,&iconFlags)!=S_OK) - return; - - MbsToWcs(location,_countof(location),locationA); - bNotFileName=(iconFlags&GIL_NOTFILENAME)!=0; - bTransient=(iconFlags&GIL_DONTCACHE)!=0; - } - else - return; - - unsigned int hash; - if (bTransient) - hash=m_TransientHash++; - else if (location[0]) - hash=CalcFNVHash(location,CalcFNVHash(&index,4)); - else - { - // if the location is blank, use the parsing name for the hash - CComString pName; - pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName); - hash=CalcFNVHash(pName,CalcFNVHash(&index,4)); - } - - if (pMetroColor) - hash=CalcFNVHash(pMetroColor,4,hash); - - if (!bTransient) - FindInCache(hash,refreshFlags,smallIcon,largeIcon,extraLargeIcon); - if (!refreshFlags) return; - - // extract icon - HBITMAP hSmallBitmap=NULL, hLargeBitmap=NULL, hExtraLargeBitmap=NULL; - - wchar_t metroLocation[_MAX_PATH]; - Strcpy(metroLocation,_countof(metroLocation),location); - if (pMetroColor && ParseMetroBitmapLocation(metroLocation)) - { - if (refreshFlags&INFO_SMALL_ICON) - { - hSmallBitmap=LoadMetroBitmap(metroLocation,SMALL_ICON_SIZE,*pMetroColor); - } - if (refreshFlags&INFO_LARGE_ICON) - { - hLargeBitmap=LoadMetroBitmap(metroLocation,LARGE_ICON_SIZE,*pMetroColor); - } - if (refreshFlags&INFO_EXTRA_LARGE_ICON) - { - hExtraLargeBitmap=LoadMetroBitmap(metroLocation,EXTRA_LARGE_ICON_SIZE,*pMetroColor); - } - if (hSmallBitmap || hLargeBitmap || hExtraLargeBitmap) - { - metroLocation[1]='#'; - StoreInCache(hash,metroLocation,hSmallBitmap,hLargeBitmap,hExtraLargeBitmap,refreshFlags,smallIcon,largeIcon,extraLargeIcon,bTransient,true); - return; - } - } - - Strcpy(metroLocation,_countof(metroLocation),location); - if (pMetroColor && GetWinVersion()>=WIN_VER_WIN10 && ParseMetroBitmapLocation2(metroLocation)) - { - if (refreshFlags&INFO_SMALL_ICON) - { - hSmallBitmap=LoadMetroBitmap2(metroLocation,SMALL_ICON_SIZE,*pMetroColor); - } - if (refreshFlags&INFO_LARGE_ICON) - { - hLargeBitmap=LoadMetroBitmap2(metroLocation,LARGE_ICON_SIZE,*pMetroColor); - } - if (refreshFlags&INFO_EXTRA_LARGE_ICON) - { - hExtraLargeBitmap=LoadMetroBitmap2(metroLocation,EXTRA_LARGE_ICON_SIZE,*pMetroColor); - } - if (hSmallBitmap || hLargeBitmap || hExtraLargeBitmap) - { - metroLocation[1]='#'; - StoreInCache(hash,metroLocation,hSmallBitmap,hLargeBitmap,hExtraLargeBitmap,refreshFlags,smallIcon,largeIcon,extraLargeIcon,bTransient,true); - return; - } - } - - if (GetWinVersion()>=WIN_VER_WIN10) - pMetroColor=NULL; - - int smallIconSize=SMALL_ICON_SIZE; - int largeIconSize=LARGE_ICON_SIZE; - int extraLargeIconSize=EXTRA_LARGE_ICON_SIZE; - if (pMetroColor) - { - smallIconSize-=2; - largeIconSize-=2; - extraLargeIconSize-=2; - } - HICON hSmallIcon=NULL, hLargeIcon=NULL, hExtraLargeIcon=NULL; - if (bNotFileName) - { - CAbsolutePidl pidl; - SHFILEINFO info; - if (SUCCEEDED(SHGetIDListFromObject(pItem,&pidl)) && SHGetFileInfo((const wchar_t*)(PIDLIST_ABSOLUTE)pidl,0,&info,sizeof(info),SHGFI_PIDL|SHGFI_SYSICONINDEX)) - { - if (refreshFlags&INFO_SMALL_ICON) - hSmallIcon=LoadShellIcon(info.iIcon,smallIconSize); - if (refreshFlags&INFO_LARGE_ICON) - hLargeIcon=LoadShellIcon(info.iIcon,largeIconSize); - if (refreshFlags&INFO_EXTRA_LARGE_ICON) - hExtraLargeIcon=LoadShellIcon(info.iIcon,extraLargeIconSize); - } - else - { - // fall back to the extractor - if (refreshFlags&INFO_SMALL_ICON) - hSmallIcon=LoadShellIcon(smallIconSize,pExtractW,location,pExtractA,locationA,index); - if (refreshFlags&INFO_LARGE_ICON) - hLargeIcon=LoadShellIcon(largeIconSize,pExtractW,location,pExtractA,locationA,index); - if (refreshFlags&INFO_EXTRA_LARGE_ICON) - hExtraLargeIcon=LoadShellIcon(extraLargeIconSize,pExtractW,location,pExtractA,locationA,index); - } - } - else - { - DoEnvironmentSubst(location,_countof(location)); - if (refreshFlags&INFO_SMALL_ICON) - hSmallIcon=ShExtractIcon(location,index==-1?0:index,smallIconSize); - if (refreshFlags&INFO_LARGE_ICON) - hLargeIcon=ShExtractIcon(location,index==-1?0:index,largeIconSize); - if (refreshFlags&INFO_EXTRA_LARGE_ICON) - hExtraLargeIcon=ShExtractIcon(location,index==-1?0:index,extraLargeIconSize); - } - if (hSmallIcon) - { - if (pMetroColor) - hSmallBitmap=BitmapFromMetroIcon(hSmallIcon,SMALL_ICON_SIZE,smallIconSize,*pMetroColor); - else - hSmallBitmap=BitmapFromIcon(hSmallIcon,smallIconSize); - } - if (hLargeIcon) - { - if (pMetroColor) - hLargeBitmap=BitmapFromMetroIcon(hLargeIcon,LARGE_ICON_SIZE,largeIconSize,*pMetroColor); - else - hLargeBitmap=BitmapFromIcon(hLargeIcon,largeIconSize); - } - if (hExtraLargeIcon) - { - if (pMetroColor) - hExtraLargeBitmap=BitmapFromMetroIcon(hExtraLargeIcon,EXTRA_LARGE_ICON_SIZE,extraLargeIconSize,*pMetroColor); - else - hExtraLargeBitmap=BitmapFromIcon(hExtraLargeIcon,extraLargeIconSize); - } - if (pMetroColor) - location[1]='#'; - StoreInCache(hash,bNotFileName?NULL:location,hSmallBitmap,hLargeBitmap,hExtraLargeBitmap,refreshFlags,smallIcon,largeIcon,extraLargeIcon,bTransient,false); -} - -static bool SetResContextTargetSize( IResourceContext *pResContext, int size ) -{ - if (GetWinVersion()>=WIN_VER_WIN10) - { - if (SUCCEEDED(pResContext->SetTargetSize(size))) - return true; - } - RESOURCE_SCALE scale; - if (size<=24) - scale=RES_SCALE_80; - else if (size<=30) - scale=RES_SCALE_100; - else if (size<=42) - scale=RES_SCALE_140; - else - scale=RES_SCALE_180; - return SUCCEEDED(pResContext->SetScale(scale)); -} - -void CItemManager::LoadMetroIcon( IShellItem *pItem, int &refreshFlags, const IconInfo *&smallIcon, const IconInfo *&largeIcon, const IconInfo *&extraLargeIcon, const DWORD *pMetroColor ) -{ - unsigned int hash; - { - CComString pName; - pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName); - hash=CalcFNVHash(pName); - } - - hash=CalcFNVHash(pMetroColor,4,hash); - - FindInCache(hash,refreshFlags,smallIcon,largeIcon,extraLargeIcon); - if (!refreshFlags) return; - - // extract icon - HBITMAP hSmallBitmap=NULL, hLargeBitmap=NULL, hExtraLargeBitmap=NULL; - - CComPtr pStore; - pItem->BindToHandler(NULL,BHID_PropertyStore,IID_IPropertyStore,(void**)&pStore); - if (!pStore) return; - - CString packageName=GetPropertyStoreString(pStore,PKEY_MetroPackageName); - if (packageName.IsEmpty()) return; - CString iconName=GetPropertyStoreString(pStore,PKEY_MetroIcon); - if (iconName.IsEmpty()) return; - - CComPtr pResManager; - if (FAILED(pResManager.CoCreateInstance(CLSID_ResourceManager))) - return; - if (FAILED(pResManager->InitializeForPackage(packageName))) - return; - CComPtr pResMap; - if (FAILED(pResManager->GetMainResourceMap(IID_IResourceMap,(void**)&pResMap))) - return; - CComPtr pResContext; - if (FAILED(pResManager->GetDefaultContext(IID_ResourceContext,(void**)&pResContext))) - return; - int iconFlags=0; - int delta=g_bInvertMetroIcons?0:2; - if ((refreshFlags&INFO_SMALL_ICON) && SetResContextTargetSize(pResContext,SMALL_ICON_SIZE-delta)) - { - CComString pLocation; - if (SUCCEEDED(pResMap->GetFilePath(iconName,&pLocation))) - { - hSmallBitmap=LoadMetroBitmap0(pLocation,SMALL_ICON_SIZE,*pMetroColor); - refreshFlags&=~INFO_SMALL_ICON; - StoreInCache(hash,L"",hSmallBitmap,NULL,NULL,INFO_SMALL_ICON,smallIcon,largeIcon,extraLargeIcon,false,true); - } - } - if ((refreshFlags&INFO_LARGE_ICON) && SetResContextTargetSize(pResContext,LARGE_ICON_SIZE-delta)) - { - CComString pLocation; - if (SUCCEEDED(pResMap->GetFilePath(iconName,&pLocation))) - { - hLargeBitmap=LoadMetroBitmap0(pLocation,LARGE_ICON_SIZE,*pMetroColor); - refreshFlags&=~INFO_LARGE_ICON; - StoreInCache(hash,L"",NULL,hLargeBitmap,NULL,INFO_LARGE_ICON,smallIcon,largeIcon,extraLargeIcon,false,true); - } - } - if ((refreshFlags&INFO_SMALL_ICON) && SetResContextTargetSize(pResContext,EXTRA_LARGE_ICON_SIZE-delta)) - { - CComString pLocation; - if (SUCCEEDED(pResMap->GetFilePath(iconName,&pLocation))) - { - hExtraLargeBitmap=LoadMetroBitmap0(pLocation,EXTRA_LARGE_ICON_SIZE,*pMetroColor); - refreshFlags&=~INFO_EXTRA_LARGE_ICON; - StoreInCache(hash,L"",NULL,NULL,hExtraLargeBitmap,INFO_EXTRA_LARGE_ICON,smallIcon,largeIcon,extraLargeIcon,false,true); - } - } -} - -void CItemManager::FindInCache( unsigned int hash, int &refreshFlags, const IconInfo *&smallIcon, const IconInfo *&largeIcon, const IconInfo *&extraLargeIcon ) -{ - // look in the cache - RWLock lock(this,false,RWLOCK_ICONS); - std::multimap::iterator it=m_IconInfos.find(hash); - for (;it!=m_IconInfos.end() && it->first==hash;++it) - { - if ((refreshFlags&INFO_SMALL_ICON) && it->second.sizeType==ICON_SIZE_TYPE_SMALL) - { - smallIcon=&it->second; - refreshFlags&=~INFO_SMALL_ICON; - } - if ((refreshFlags&INFO_LARGE_ICON) && it->second.sizeType==ICON_SIZE_TYPE_LARGE) - { - largeIcon=&it->second; - refreshFlags&=~INFO_LARGE_ICON; - } - if ((refreshFlags&INFO_EXTRA_LARGE_ICON) && it->second.sizeType==ICON_SIZE_TYPE_EXTRA_LARGE) - { - extraLargeIcon=&it->second; - refreshFlags&=~INFO_EXTRA_LARGE_ICON; - } - } -} - -void CItemManager::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 ) -{ - RWLock lock(this,true,RWLOCK_ICONS); - std::multimap::iterator it=m_IconInfos.find(hash); - for (;it!=m_IconInfos.end() && it->first==hash;++it) - { - if ((refreshFlags&INFO_SMALL_ICON) && it->second.sizeType==ICON_SIZE_TYPE_SMALL) - { - if (hSmallBitmap) - { - HBITMAP old=it->second.bitmap; - it->second.bitmap=hSmallBitmap; - if (old) m_OldBitmaps.push_back(old); - hSmallBitmap=NULL; - } - smallIcon=&it->second; - refreshFlags&=~INFO_SMALL_ICON; - } - if ((refreshFlags&INFO_LARGE_ICON) && it->second.sizeType==ICON_SIZE_TYPE_LARGE) - { - if (hLargeBitmap) - { - HBITMAP old=it->second.bitmap; - it->second.bitmap=hLargeBitmap; - if (old) m_OldBitmaps.push_back(old); - hLargeBitmap=NULL; - } - largeIcon=&it->second; - refreshFlags&=~INFO_LARGE_ICON; - } - if ((refreshFlags&INFO_EXTRA_LARGE_ICON) && it->second.sizeType==ICON_SIZE_TYPE_EXTRA_LARGE) - { - if (hExtraLargeBitmap) - { - HBITMAP old=it->second.bitmap; - it->second.bitmap=hExtraLargeBitmap; - if (old) m_OldBitmaps.push_back(old); - hExtraLargeBitmap=NULL; - } - extraLargeIcon=&it->second; - refreshFlags&=~INFO_EXTRA_LARGE_ICON; - } - } - - if ((refreshFlags&INFO_SMALL_ICON) && hSmallBitmap) - { - IconInfo *pInfo=&m_IconInfos.insert(std::pair(hash,IconInfo()))->second; - pInfo->sizeType=ICON_SIZE_TYPE_SMALL; - pInfo->bTemp=bTemp; - pInfo->bMetro=bMetro; - pInfo->SetPath(path); - pInfo->bitmap=hSmallBitmap; - smallIcon=pInfo; - } - if ((refreshFlags&INFO_LARGE_ICON) && hLargeBitmap) - { - IconInfo *pInfo=&m_IconInfos.insert(std::pair(hash,IconInfo()))->second; - pInfo->sizeType=ICON_SIZE_TYPE_LARGE; - pInfo->bTemp=bTemp; - pInfo->bMetro=bMetro; - pInfo->SetPath(path); - pInfo->bitmap=hLargeBitmap; - largeIcon=pInfo; - } - if ((refreshFlags&INFO_EXTRA_LARGE_ICON) && hExtraLargeBitmap) - { - IconInfo *pInfo=&m_IconInfos.insert(std::pair(hash,IconInfo()))->second; - pInfo->sizeType=ICON_SIZE_TYPE_EXTRA_LARGE; - pInfo->bTemp=bTemp; - pInfo->bMetro=bMetro; - pInfo->SetPath(path); - pInfo->bitmap=hExtraLargeBitmap; - extraLargeIcon=pInfo; - } -} - -void CItemManager::IconInfo::SetPath( const wchar_t *path ) -{ - Assert(RWLock::ThreadHasWriteLock(RWLOCK_ICONS)); - if (path && (_wcsicmp(path,L"shell32.dll")==0 || _wcsicmp(path,L"imageres.dll")==0)) - { - PATH=path; - StringUpper(PATH); - timestamp.dwHighDateTime=timestamp.dwLowDateTime=0; - return; - } - if (path && path[0] && path[1]=='#') - { - PATH=path; - StringUpper(PATH); - timestamp.dwHighDateTime=timestamp.dwLowDateTime=0; - return; - } - if (path && path[0] && path[1]==':' && !PathIsNetworkPath(path)) - { - WIN32_FILE_ATTRIBUTE_DATA attributes={0}; - if (GetFileAttributesEx(path,GetFileExInfoStandard,&attributes)) - { - PATH=path; - StringUpper(PATH); - timestamp=attributes.ftLastWriteTime; - return; - } - } - PATH.Empty(); - timestamp.dwHighDateTime=timestamp.dwLowDateTime=0; -} - -void CItemManager::LoadCustomIcon( const wchar_t *iconPath, int iconIndex, int refreshFlags, const IconInfo *&smallIcon, const IconInfo *&largeIcon, const IconInfo *&extraLargeIcon, bool bTemp ) -{ - unsigned int hash=CalcFNVHash(iconPath,CalcFNVHash(&iconIndex,4)); - - FindInCache(hash,refreshFlags,smallIcon,largeIcon,extraLargeIcon); - if (!refreshFlags) return; - - // extract icon - HBITMAP hSmallBitmap=NULL, hLargeBitmap=NULL, hExtraLargeBitmap=NULL; - if (refreshFlags&INFO_SMALL_ICON) - { - HICON hIcon; - if (!*iconPath) - hIcon=(HICON)LoadImage(g_Instance,MAKEINTRESOURCE(-iconIndex),IMAGE_ICON,SMALL_ICON_SIZE,SMALL_ICON_SIZE,LR_DEFAULTCOLOR); - else - hIcon=ShExtractIcon(iconPath,iconIndex==-1?0:iconIndex,SMALL_ICON_SIZE); - if (hIcon) - hSmallBitmap=BitmapFromIcon(hIcon,SMALL_ICON_SIZE); - } - - if (refreshFlags&INFO_LARGE_ICON) - { - HICON hIcon; - if (!*iconPath) - hIcon=(HICON)LoadImage(g_Instance,MAKEINTRESOURCE(-iconIndex),IMAGE_ICON,LARGE_ICON_SIZE,LARGE_ICON_SIZE,LR_DEFAULTCOLOR); - else - hIcon=ShExtractIcon(iconPath,iconIndex==-1?0:iconIndex,LARGE_ICON_SIZE); - if (hIcon) - hLargeBitmap=BitmapFromIcon(hIcon,LARGE_ICON_SIZE); - } - - if (refreshFlags&INFO_EXTRA_LARGE_ICON) - { - HICON hIcon; - if (!*iconPath) - hIcon=(HICON)LoadImage(g_Instance,MAKEINTRESOURCE(-iconIndex),IMAGE_ICON,EXTRA_LARGE_ICON_SIZE,EXTRA_LARGE_ICON_SIZE,LR_DEFAULTCOLOR); - else - hIcon=ShExtractIcon(iconPath,iconIndex==-1?0:iconIndex,EXTRA_LARGE_ICON_SIZE); - if (hIcon) - hExtraLargeBitmap=BitmapFromIcon(hIcon,EXTRA_LARGE_ICON_SIZE); - } - - StoreInCache(hash,bTemp?NULL:iconPath,hSmallBitmap,hLargeBitmap,hExtraLargeBitmap,refreshFlags,smallIcon,largeIcon,extraLargeIcon,bTemp,false); -} - -// Recursive function to preload the items for a folder -void CItemManager::LoadFolderItems( IShellItem *pFolder, int refreshFlags, int levels, TLocation location ) -{ - CShellItemEnumerator enumerator(pFolder); - if (!enumerator.IsValid()) return; - - int queueFlags=refreshFlags&INFO_ICON; - refreshFlags&=~INFO_ICON; - CComPtr pChild; - CAbsolutePidl childPidl; - while (enumerator.GetNext(pChild,childPidl)) - { - if (location==CItemManager::LOCATION_DESKTOP) - { - // collect only links from the desktop. this is an attempt to skip the SkyDrive item, which is causing problems. - SFGAOF attr=0; - if (FAILED(pChild->GetAttributes(SFGAO_LINK,&attr)) || !(attr&SFGAO_LINK)) - continue; - } - if (m_LoadingStage!=LOAD_LOADING) break; - - ItemInfo *pItemInfo=const_cast(GetItemInfo(pChild,childPidl,refreshFlags,location)); - if (queueFlags) - { - RWLock lock(this,true,RWLOCK_ITEMS); - QueueItemInfo(pItemInfo,queueFlags); - } - - if (levels>1) - { - SFGAOF flags=0; - if (SUCCEEDED(pChild->GetAttributes(SFGAO_FOLDER|SFGAO_STREAM|SFGAO_LINK,&flags)) && (flags&(SFGAO_FOLDER|SFGAO_STREAM|SFGAO_LINK))==SFGAO_FOLDER) - { - // go into subfolders but not archives or links to folders - LoadFolderItems(pChild,refreshFlags|queueFlags,levels-1,location); - } - } - } -} - -CItemManager::TLocation CItemManager::DetermineLocation( const wchar_t *PATH ) -{ - if (wcsncmp(PATH,m_RootStartMenu1,m_RootStartMenu1.GetLength())==0) - return LOCATION_START_MENU; - if (wcsncmp(PATH,m_RootStartMenu2,m_RootStartMenu2.GetLength())==0) - return LOCATION_START_MENU; - if (wcsncmp(PATH,m_RootStartMenu3,m_RootStartMenu3.GetLength())==0) - return LOCATION_START_MENU; - if (wcsncmp(PATH,m_RootGames,m_RootGames.GetLength())==0) - return LOCATION_GAMES; - if (wcsncmp(PATH,m_RootDesktop,m_RootDesktop.GetLength())==0) - return LOCATION_DESKTOP; - if (wcsncmp(PATH,m_RootTaskbar,m_RootTaskbar.GetLength())==0) - return LOCATION_TASKBAR; - if (wcsncmp(PATH,m_RootMetro,m_RootMetro.GetLength())==0) - return LOCATION_METRO; - return LOCATION_UNKNOWN; -} - -// Recursive function to preload the metro apps -void CItemManager::LoadMetroItems( int refreshFlags ) -{ - std::vector links; - std::vector nonApps10; - GetMetroLinks(links,false,&nonApps10); - int queueFlags=refreshFlags&INFO_ICON; - refreshFlags&=~queueFlags; - for (std::vector::const_iterator it=links.begin();it!=links.end();++it) - { - ItemInfo *pItemInfo=const_cast(GetItemInfo(it->pItem,it->pidl,refreshFlags,LOCATION_METRO)); - if (queueFlags) - { - RWLock lock(this,true,RWLOCK_ITEMS); - QueueItemInfo(pItemInfo,queueFlags); - } - if (m_LoadingStage!=LOAD_LOADING) break; - } - if (GetWinVersion()>=WIN_VER_WIN10) - { - wchar_t APPID[256]; - for (std::vector::const_iterator it=links.begin();it!=links.end();++it) - { - const ItemInfo *pInfo=GetItemInfo(it->pItem,it->pidl,INFO_LINK|INFO_LINK_APPID|INFO_METRO); - Strcpy(APPID,_countof(APPID),it->appid); - CharUpper(APPID); - unsigned int hash=CalcFNVHash(APPID); - { - RWLock lock(this,true,RWLOCK_ITEMS); - std::map::const_iterator it2=m_MetroItemInfos10.find(hash); - if (it2==m_MetroItemInfos10.end()) - m_MetroItemInfos10[hash]=pInfo; - std::set::iterator it3=m_BlackListInfos10.find(hash); - if (it3!=m_BlackListInfos10.end()) - m_BlackListInfos10.erase(it3); - } - } - - { - RWLock lock(this,true,RWLOCK_ITEMS); - for (std::vector::const_iterator it=nonApps10.begin();it!=nonApps10.end();++it) - { - Strcpy(APPID,_countof(APPID),*it); - CharUpper(APPID); - unsigned int hash=CalcFNVHash(APPID); - std::map::const_iterator it2=m_MetroItemInfos10.find(hash); - if (it2==m_MetroItemInfos10.end()) - m_MetroItemInfos10[hash]=NULL; - std::set::iterator it3=m_BlackListInfos10.find(hash); - if (it3!=m_BlackListInfos10.end()) - m_BlackListInfos10.erase(it3); - } - } - } -} - -static KNOWNFOLDERID FOLDERID_TaskbarPinned={'TASK', 'BA', 'R', {'P', 'I', 'N', 'N', 'E', 'D'}}; -static KNOWNFOLDERID FOLDERID_ClassicPinned={'CLAS', 'SI', 'C', {'P', 'I', 'N', 'N', 'E', 'D'}}; -static KNOWNFOLDERID FOLDERID_MetroApps={'MET', 'R', 'O', {'A', 'P', 'P', 'S'}}; - -static struct -{ - KNOWNFOLDERID folder; - int refreshFlags; - int levels; - CItemManager::TLocation location; -} g_CacheFolders[]= -{ - {FOLDERID_StartMenu,CItemManager::INFO_LINK|CItemManager::INFO_METRO|CItemManager::INFO_SMALL_ICON,MAX_FOLDER_LEVELS,CItemManager::LOCATION_START_MENU}, - {FOLDERID_CommonStartMenu,CItemManager::INFO_LINK|CItemManager::INFO_METRO|CItemManager::INFO_SMALL_ICON,MAX_FOLDER_LEVELS,CItemManager::LOCATION_START_MENU}, - {FOLDERID_Desktop,CItemManager::INFO_LINK,1,CItemManager::LOCATION_DESKTOP}, - {FOLDERID_PublicDesktop,CItemManager::INFO_LINK,1,CItemManager::LOCATION_DESKTOP}, - {FOLDERID_TaskbarPinned,CItemManager::INFO_LINK,1,CItemManager::LOCATION_TASKBAR}, - {FOLDERID_ClassicPinned,CItemManager::INFO_LINK|CItemManager::INFO_METRO|CItemManager::INFO_SMALL_ICON,1,CItemManager::LOCATION_START_MENU}, - {FOLDERID_MetroApps,CItemManager::INFO_LINK|CItemManager::INFO_METRO,1,CItemManager::LOCATION_METRO}, - {FOLDERID_ControlPanelFolder,CItemManager::INFO_SMALL_ICON,1,CItemManager::LOCATION_UNKNOWN}, - {FOLDERID_Favorites,CItemManager::INFO_SMALL_ICON,MAX_FOLDER_LEVELS,CItemManager::LOCATION_UNKNOWN}, -}; - -const int NUM_WATCHED_DIRS=7; - -void CItemManager::PreloadItemsThread( void ) -{ - int dirCount=0; - HANDLE handles[NUM_WATCHED_DIRS+1]; - DWORD dirMasks[NUM_WATCHED_DIRS]={0}; - DWORD dirMask=0xFFFFFFFF; - while (1) - { - for (int i=0;i<_countof(g_CacheFolders);i++) - { - if (m_LoadingStage!=LOAD_LOADING) break; - if (i==NUM_WATCHED_DIRS && dirMask==0xFFFFFFFF) - SetEvent(m_DoneEvent); - if (!(dirMask&(1< pFolder; - if (g_CacheFolders[i].folder==FOLDERID_TaskbarPinned) - { - wchar_t path[_MAX_PATH]=TASKBAR_PINNED_ROOT; - DoEnvironmentSubst(path,_countof(path)); - if (FAILED(SHParseDisplayName(path,NULL,&pidl,0,NULL)) || !pidl) continue; - if (FAILED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pFolder)) || !pFolder) continue; - } - else if (g_CacheFolders[i].folder==FOLDERID_ClassicPinned) - { - if (GetSettingInt(L"PinnedPrograms")!=PINNED_PROGRAMS_PINNED) continue; - wchar_t path[_MAX_PATH]=START_MENU_PINNED_ROOT; - DoEnvironmentSubst(path,_countof(path)); - if (FAILED(SHParseDisplayName(path,NULL,&pidl,0,NULL)) || !pidl) continue; - if (FAILED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pFolder)) || !pFolder) continue; - } - else if (g_CacheFolders[i].folder==FOLDERID_MetroApps) - { - if (GetWinVersion()WAIT_OBJECT_0+dirCount-1) - break; - - int dir=wait-WAIT_OBJECT_0; - dirMask=dirMasks[dir]; - - if (!FindNextChangeNotification(handles[dir])) - ResetEvent(handles[dir]); // so we don't wake on this event again - Sleep(1000); // hopefully whatever file operation is in progress will finish in a second - } - for (int i=0;im_LoadIconData[1].Init(); - wchar_t path[_MAX_PATH]; - GetModuleFileName(g_Instance,path,_countof(path)); - LoadLibrary(path); // stop the DLL from unloading - pThis->PreloadItemsThread(); - pThis->m_LoadIconData[1].Close(); - CoUninitialize(); - FreeLibraryAndExitThread(g_Instance,0); // release the DLL - return 0; -} - -void CItemManager::RefreshInfoThread( void ) -{ - WaitForSingleObject(m_StartEvent,REFRESH_DELAY); - bool bRefresh=false; - while (1) - { - HANDLE handles[2]={m_WorkEvent,m_ExitEvent}; - WaitForMultipleObjects(2,handles,FALSE,INFINITE); - bRefresh=false; - int t0=GetTickCount(); - while (1) - { - if (m_LoadingStage!=LOAD_LOADING) - return; - - ItemInfo *pItemInfo=NULL; - int refreshFlags=0; - { - Lock cleanupLock(this,LOCK_CLEANUP); - { - RWLock lock(this,true,RWLOCK_ITEMS); - if (!m_ItemQueue.empty()) - { - pItemInfo=*m_ItemQueue.begin(); - m_ItemQueue.pop_front(); - } - else if (!m_ItemQueueLow.empty()) - { - pItemInfo=*m_ItemQueueLow.begin(); - m_ItemQueueLow.pop_front(); - } - else - break; - refreshFlags=pItemInfo->refreshFlags; - } - if (refreshFlags && pItemInfo->bTemp) - { - // temp items must be refreshed inside LOCK_CLEANUP because the cleanup process will delete all such items - RefreshItemInfo(pItemInfo,refreshFlags,NULL,false); - refreshFlags=0; - } - } - if (refreshFlags) - { - // non-temp items should be refreshed outside LOCK_CLEANUP - RefreshItemInfo(pItemInfo,refreshFlags,NULL,false); - } - - bRefresh=true; - int t=GetTickCount(); - if (t-t0>100) - { - CMenuContainer::RefreshIcons(); - t0=t; - bRefresh=false; - } - } - if (bRefresh) - CMenuContainer::RefreshIcons(); - } -} - -DWORD CALLBACK CItemManager::StaticRefreshInfoThread( void *param ) -{ - CItemManager *pThis=(CItemManager*)param; - volatile DWORD MAIN_THREAD=pThis->m_MainThreadId; - SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_IDLE); - CoInitialize(NULL); - pThis->m_LoadIconData[2].Init(); - pThis->RefreshInfoThread(); - pThis->m_LoadIconData[2].Close(); - CoUninitialize(); - return MAIN_THREAD-MAIN_THREAD; -} - -namespace -{ - struct IconData - { - unsigned int key; - CItemManager::TIconSizeType sizeType; - int PATHLen; - FILETIME timestamp; - int bitmapW, bitmapH; - }; - - struct ItemData - { - unsigned int key; - FILETIME writestamp; - FILETIME createstamp; - bool bIconOnly; - bool bLink; - bool bMetroLink; - bool bProtectedLink; - bool bNoPin; - bool bNoNew; - bool bExplicitAppId; - int pidlSize; - int pathLen; - int PATHLen; - int smallIcon; - int largeIcon; - int extraLargeIcon; - int validFlags; - int targetPidlSize; - int targetPATHLen; - int appidLen; - int metroNameLen; - int iconPathLen; - DWORD iconColor; - int iconIndex; - }; -} - -static DWORD ReadCacheFile( HANDLE file ) -{ - DWORD data; - DWORD q; - if (!ReadFile(file,&data,4,&q,NULL) || q!=4) - return 0; - return data; -} - -static bool ReadCacheFile( HANDLE file, IconData &data ) -{ - DWORD q; - return ReadFile(file,&data,sizeof(data),&q,NULL)!=0 && q==sizeof(data); -} - -static bool ReadCacheFile( HANDLE file, ItemData &data ) -{ - DWORD q; - return ReadFile(file,&data,sizeof(data),&q,NULL)!=0 && q==sizeof(data); -} - -static bool ReadCacheFile( HANDLE file, CAbsolutePidl &data, int size ) -{ - if (size>0) - { - PIDLIST_ABSOLUTE pidl=(PIDLIST_ABSOLUTE)CoTaskMemAlloc(size); - if (!pidl) return false; - DWORD q; - if (!ReadFile(file,pidl,size,&q,NULL) || q!=size) - { - ILFree(pidl); - return false; - } - data.Attach(pidl); - } - return true; -} - -static bool ReadCacheFile( HANDLE file, CString &data, int len ) -{ - if (len>0) - { - DWORD q; - if (!ReadFile(file,data.GetBuffer(len),len*2,&q,NULL) || q!=len*2) - { - data.Empty(); - return false; - } - data.ReleaseBuffer(len); - } - return true; -} - -static bool ReadCacheFile( HANDLE file, HDC hdc, HBITMAP &data, int width, int height ) -{ - std::vector bits(width*height); - if (bits.empty()) return false; - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=width; - bi.bmiHeader.biHeight=height; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - DWORD q; - int size=width*height*4; - if (!ReadFile(file,&bits[0],size,&q,NULL) || q!=size) - return false; - unsigned int *pBits; - data=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,(void**)&pBits,NULL,0); - if (!data) - return false; - memcpy(pBits,&bits[0],size); - return true; -} - -static void WriteCacheFile( HANDLE file, DWORD data ) -{ - DWORD q; - WriteFile(file,&data,sizeof(data),&q,NULL); -} - -static void WriteCacheFile( HANDLE file, const IconData &data ) -{ - DWORD q; - WriteFile(file,&data,sizeof(data),&q,NULL); -} - -static void WriteCacheFile( HANDLE file, const ItemData &data ) -{ - DWORD q; - WriteFile(file,&data,sizeof(data),&q,NULL); -} - -static void WriteCacheFile( HANDLE file, PIDLIST_ABSOLUTE data, int size ) -{ - if (size>0) - { - DWORD q; - WriteFile(file,data,size,&q,NULL); - } -} - -static void WriteCacheFile( HANDLE file, const CString &data ) -{ - if (!data.IsEmpty()) - { - DWORD q; - WriteFile(file,(const wchar_t*)data,data.GetLength()*2,&q,NULL); - } -} - -static void WriteCacheFile( HANDLE file, HDC hdc, HBITMAP data, int width, int height ) -{ - std::vector bits(width*height); - if (bits.empty()) return; - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=width; - bi.bmiHeader.biHeight=height; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - GetDIBits(hdc,data,0,height,&bits[0],&bi,DIB_RGB_COLORS); - DWORD q; - WriteFile(file,&bits[0],width*height*4,&q,NULL); -} - -bool CItemManager::CompareModuleTimeStamp( const CString &PATH, const FILETIME ×tamp, std::vector &modules ) -{ - for (std::vector::const_iterator it=modules.begin();it!=modules.end();++it) - { - if (it->PATH==PATH) - return (CompareFileTime(×tamp,&it->timestamp)==0); - } - WIN32_FILE_ATTRIBUTE_DATA attributes={0}; - if (GetFileAttributesEx(PATH,GetFileExInfoStandard,&attributes)) - { - ModuleInfo info={PATH,attributes.ftLastWriteTime}; - modules.push_back(info); - return (CompareFileTime(×tamp,&info.timestamp)==0); - } - else - { - ModuleInfo info={PATH}; - modules.push_back(info); - return false; - } -} - -void CItemManager::LoadCacheFile( void ) -{ -#ifdef DISABLE_CACHE - return; -#endif - // load cached icons and info - wchar_t path[_MAX_PATH]=L"%LOCALAPPDATA%\\OpenShell\\DataCache.db"; - DoEnvironmentSubst(path,_MAX_PATH); - - HANDLE file=CreateFile(path,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); - if (file==INVALID_HANDLE_VALUE) return; - - bool bError=true; - DWORD tag=ReadCacheFile(file); - std::vector modules; - ModuleInfo stdInfo={L"SHELL32.DLL"}; - modules.push_back(stdInfo); - stdInfo.PATH=L"IMAGERES.DLL"; - modules.push_back(stdInfo); - m_BlackListInfos10.clear(); - if (tag=='CLSH') - { - tag=ReadCacheFile(file); - std::vector remapIcons(1); - remapIcons[0]=NULL; - DWORD build; - if (tag==GetVersionEx(g_Instance,&build) && ReadCacheFile(file)==CACHE_FILE_VERSION) - { - int size1=ReadCacheFile(file); - int size2=ReadCacheFile(file); - int size3=ReadCacheFile(file); - int langHash=ReadCacheFile(file); - bError=false; - tag=ReadCacheFile(file); - HDC hdc=CreateCompatibleDC(NULL); - while (tag=='ICON') - { - IconData data; - if (!ReadCacheFile(file,data)) - { - bError=true; - break; - } - IconInfo info; - info.sizeType=data.sizeType; - info.timestamp=data.timestamp; - info.bTemp=false; - info.bMetro=false; - if (!ReadCacheFile(file,info.PATH,data.PATHLen)) - { - bError=true; - break; - } - if (size1==SMALL_ICON_SIZE && size2==LARGE_ICON_SIZE && size3==EXTRA_LARGE_ICON_SIZE && CompareModuleTimeStamp(info.PATH,info.timestamp,modules)) - { - if (!ReadCacheFile(file,hdc,info.bitmap,data.bitmapW,data.bitmapH)) - { - bError=true; - break; - } - remapIcons.push_back(&m_IconInfos.insert(std::pair(data.key,info))->second); - } - else - { - int size=data.bitmapW*data.bitmapH*4; - SetFilePointer(file,size,NULL,FILE_CURRENT); - remapIcons.push_back(NULL); - } - tag=ReadCacheFile(file); - } - DeleteDC(hdc); - if (tag!='ITEM') - { - bError=true; - } - else - { - wchar_t languages[100]; - DWORD size=0; - DWORD len=_countof(languages); - GetUserPreferredUILanguages(MUI_LANGUAGE_ID,&size,languages,&len); - bError=(CalcFNVHash(languages,len*2,FNV_HASH0)!=langHash); - } - while (!bError && tag=='ITEM') - { - ItemData data; - if (!ReadCacheFile(file,data)) - { - bError=true; - break; - } - ItemInfo &info=m_ItemInfos.insert(std::pair(data.key,ItemInfo()))->second; - - info.writestamp=data.writestamp; - info.createstamp=data.createstamp; - info.bIconOnly=data.bIconOnly; - info.bTemp=false; - info.bLink=data.bLink; - info.bMetroLink=data.bMetroLink; - info.bProtectedLink=data.bProtectedLink; - info.bNoPin=data.bNoPin; - info.bNoNew=data.bNoNew; - info.bExplicitAppId=data.bExplicitAppId; - info.validFlags=data.validFlags; - info.refreshFlags=0; - info.iconColor=data.iconColor; - info.iconIndex=data.iconIndex; - - info.smallIcon=data.smallIcon<(int)remapIcons.size()?remapIcons[data.smallIcon]:NULL; - if (!info.smallIcon) - { - info.validFlags&=~INFO_SMALL_ICON; - info.smallIcon=m_DefaultSmallIcon; - } - info.largeIcon=data.largeIcon<(int)remapIcons.size()?remapIcons[data.largeIcon]:NULL; - if (!info.largeIcon) - { - info.validFlags&=~INFO_LARGE_ICON; - info.largeIcon=m_DefaultLargeIcon; - } - info.extraLargeIcon=data.extraLargeIcon<(int)remapIcons.size()?remapIcons[data.extraLargeIcon]:NULL; - if (!info.extraLargeIcon) - { - info.validFlags&=~INFO_EXTRA_LARGE_ICON; - info.extraLargeIcon=m_DefaultExtraLargeIcon; - } - - bError=bError || !ReadCacheFile(file,info.pidl,data.pidlSize); - bError=bError || !ReadCacheFile(file,info.path,data.pathLen); - bError=bError || !ReadCacheFile(file,info.PATH,data.PATHLen); - bError=bError || !ReadCacheFile(file,info.targetPidl,data.targetPidlSize); - bError=bError || !ReadCacheFile(file,info.targetPATH,data.targetPATHLen); - bError=bError || !ReadCacheFile(file,info.appid,data.appidLen); - bError=bError || !ReadCacheFile(file,info.metroName,data.metroNameLen); - bError=bError || !ReadCacheFile(file,info.iconPath,data.iconPathLen); - - tag=ReadCacheFile(file); - } - if (tag=='BLAK') - { - int count=ReadCacheFile(file); - for (int i=0;i::const_iterator it=m_IconInfos.begin();it!=m_IconInfos.end();++it) - { - if (it->second.bitmap) - DeleteObject(it->second.bitmap); - } - m_IconInfos.clear(); - CreateDefaultIcons(); - } -} - -DWORD CALLBACK CItemManager::SaveCacheFileThread( void *param ) -{ - CItemManager *pThis=(CItemManager*)param; - wchar_t path[_MAX_PATH]=L"%LOCALAPPDATA%\\OpenShell"; - DoEnvironmentSubst(path,_MAX_PATH); - SHCreateDirectory(NULL,path); - Strcat(path,_countof(path),L"\\DataCache.tmp"); - HANDLE file=CreateFile(path,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); - if (file==INVALID_HANDLE_VALUE) return 0; - - WriteCacheFile(file,'CLSH'); - WriteCacheFile(file,GetVersionEx(g_Instance)); - WriteCacheFile(file,CACHE_FILE_VERSION); - WriteCacheFile(file,SMALL_ICON_SIZE); - WriteCacheFile(file,LARGE_ICON_SIZE); - WriteCacheFile(file,EXTRA_LARGE_ICON_SIZE); - { - wchar_t languages[100]; - DWORD size=0; - DWORD len=_countof(languages); - GetUserPreferredUILanguages(MUI_LANGUAGE_ID,&size,languages,&len); - WriteCacheFile(file,CalcFNVHash(languages,len*2,FNV_HASH0)); - } - - std::vector*> iconInfos; - { - RWLock lock(pThis,false,RWLOCK_ICONS); - for (std::multimap::const_iterator it=pThis->m_IconInfos.begin();it!=pThis->m_IconInfos.end();++it) - { - if (!it->second.PATH.IsEmpty() && it->second.PATH[1]!='#' && it->first!=0) - iconInfos.push_back(&*it); - } - } - - std::vector*> itemInfos; - std::vector blackList; - { - RWLock lock(pThis,false,RWLOCK_ITEMS); - for (std::multimap::const_iterator it=pThis->m_ItemInfos.begin();it!=pThis->m_ItemInfos.end();++it) - { - if (it->first!=0) - itemInfos.push_back(&*it); - } - for (std::set::const_iterator it=pThis->m_BlackListInfos10.begin();it!=pThis->m_BlackListInfos10.end();++it) - blackList.push_back(*it); - } - - HDC hdc=CreateCompatibleDC(NULL); - std::map remapIcons; - int iconIndex=1; - // save cached icons and info - for (std::vector*>::const_iterator it=iconInfos.begin();it!=iconInfos.end();++it) - { - RWLock lock(pThis,false,RWLOCK_ICONS); - if ((*it)->second.bTemp || (*it)->second.bMetro) continue; - remapIcons[&(*it)->second]=iconIndex++; - IconData data; - data.key=(*it)->first; - data.sizeType=(*it)->second.sizeType; - data.timestamp=(*it)->second.timestamp; - data.PATHLen=(*it)->second.PATH.GetLength(); - BITMAP bmp; - GetObject((*it)->second.bitmap,sizeof(bmp),&bmp); - data.bitmapW=bmp.bmWidth; - data.bitmapH=bmp.bmHeight; - - WriteCacheFile(file,'ICON'); - WriteCacheFile(file,data); - WriteCacheFile(file,(*it)->second.PATH); - WriteCacheFile(file,hdc,(*it)->second.bitmap,data.bitmapW,data.bitmapH); - } - DeleteDC(hdc); - - FILE *log=NULL; - if (g_LogCategories&LOG_CACHE) - { - wchar_t path3[_MAX_PATH]=L"%LOCALAPPDATA%\\OpenShell\\DataCache.txt"; - DoEnvironmentSubst(path3,_countof(path3)); - if (_wfopen_s(&log,path3,L"wb")==0) - { - wchar_t bom=0xFEFF; - fwrite(&bom,2,1,log); - } - } - for (std::vector*>::const_iterator it=itemInfos.begin();it!=itemInfos.end();++it) - { - RWLock lock(pThis,false,RWLOCK_ITEMS); - if ((*it)->second.bTemp || (*it)->second.path.IsEmpty()) continue; - - ItemData data; - data.key=(*it)->first; - data.writestamp=(*it)->second.writestamp; - data.createstamp=(*it)->second.createstamp; - data.bIconOnly=(*it)->second.bIconOnly; - data.bLink=(*it)->second.bLink; - data.bMetroLink=(*it)->second.bMetroLink; - data.bProtectedLink=(*it)->second.bProtectedLink; - data.bNoPin=(*it)->second.bNoPin; - data.bNoNew=(*it)->second.bNoNew; - data.bExplicitAppId=(*it)->second.bExplicitAppId; - data.pidlSize=(*it)->second.GetLatestPidl()?ILGetSize((*it)->second.GetLatestPidl()):0; - data.pathLen=(*it)->second.path.GetLength(); - data.PATHLen=(*it)->second.PATH.GetLength(); - - std::map::const_iterator remapIt=remapIcons.find((*it)->second.smallIcon); - data.smallIcon=(remapIt==remapIcons.end()?0:remapIt->second); - remapIt=remapIcons.find((*it)->second.largeIcon); - data.largeIcon=(remapIt==remapIcons.end()?0:remapIt->second); - remapIt=remapIcons.find((*it)->second.extraLargeIcon); - data.extraLargeIcon=(remapIt==remapIcons.end()?0:remapIt->second); - - data.validFlags=(*it)->second.validFlags; - data.targetPidlSize=(*it)->second.targetPidl?ILGetSize((*it)->second.targetPidl):0; - data.targetPATHLen=(*it)->second.targetPATH.GetLength(); - data.appidLen=(*it)->second.appid.GetLength(); - data.metroNameLen=(*it)->second.metroName.GetLength(); - data.iconPathLen=(*it)->second.iconPath.GetLength(); - data.iconColor=(*it)->second.iconColor; - data.iconIndex=(*it)->second.iconIndex; - - WriteCacheFile(file,'ITEM'); - WriteCacheFile(file,data); - WriteCacheFile(file,(*it)->second.GetLatestPidl(),data.pidlSize); - WriteCacheFile(file,(*it)->second.path); - WriteCacheFile(file,(*it)->second.PATH); - WriteCacheFile(file,(*it)->second.targetPidl,data.targetPidlSize); - WriteCacheFile(file,(*it)->second.targetPATH); - WriteCacheFile(file,(*it)->second.appid); - WriteCacheFile(file,(*it)->second.metroName); - WriteCacheFile(file,(*it)->second.iconPath); - if (log) fwprintf(log,L"0x%08X - %s\r\n",(*it)->first,(const wchar_t*)(*it)->second.PATH); - } - { - WriteCacheFile(file,'BLAK'); - WriteCacheFile(file,(DWORD)blackList.size()); - for (std::vector::const_iterator it=blackList.begin();it!=blackList.end();++it) - WriteCacheFile(file,*it); - } - if (log) fclose(log); - - CloseHandle(file); - wchar_t path2[_MAX_PATH]=L"%LOCALAPPDATA%\\OpenShell\\DataCache.db"; - DoEnvironmentSubst(path2,_MAX_PATH); - MoveFileEx(path,path2,MOVEFILE_REPLACE_EXISTING); - return 0; -} - -void CItemManager::SaveCacheFile( void ) -{ -#ifdef DISABLE_CACHE - return; -#endif - if (g_LogCategories&LOG_CACHE) - { - SaveCacheFileThread(this); - return; - } - int time=GetTickCount(); - if (m_LastCacheSave && (time-m_LastCacheSave)<300000) // at least 5 minutes since the last save - return; - m_LastCacheSave=time; - if (m_SaveCacheThread) - { - if (WaitForSingleObject(m_SaveCacheThread,0)==WAIT_TIMEOUT) - return; - CloseHandle(m_SaveCacheThread); - m_SaveCacheThread=NULL; - } - m_SaveCacheThread=CreateThread(NULL,0,SaveCacheFileThread,this,0,NULL); -} - -void CItemManager::ClearCache( void ) -{ - Lock cleanupLock(this,LOCK_CLEANUP); - RWLock itemLock(this,true,RWLOCK_ITEMS); - RWLock iconLock(this,true,RWLOCK_ICONS); - - wchar_t path[_MAX_PATH]=L"%LOCALAPPDATA%\\OpenShell\\DataCache.db"; - DoEnvironmentSubst(path,_MAX_PATH); - DeleteFile(path); - - m_BlackListInfos10.clear(); - m_ItemInfos.clear(); - for (std::multimap::const_iterator it=m_IconInfos.begin();it!=m_IconInfos.end();++it) - { - if (it->second.bitmap) - DeleteObject(it->second.bitmap); - } - m_IconInfos.clear(); - m_MetroItemInfos10.clear(); - CreateDefaultIcons(); - ItemInfo &item=m_ItemInfos.insert(std::pair(0,ItemInfo()))->second; - item.bIconOnly=true; - item.smallIcon=m_DefaultSmallIcon; - item.largeIcon=m_DefaultLargeIcon; - item.extraLargeIcon=m_DefaultExtraLargeIcon; -} - -// retrieves the pidl and the SFGAO_FOLDER, SFGAO_STREAM, SFGAO_LINK flags for the path -// for paths starting with \\ tries to guess if it is a folder or a link based on the extension -HRESULT MenuParseDisplayName( const wchar_t *path, PIDLIST_ABSOLUTE *pPidl, SFGAOF *pFlags, TNetworkType *pNetworkType ) -{ - if (pFlags) - *pFlags=0; - *pPidl=NULL; - if (pNetworkType) - *pNetworkType=NETWORK_NONE; - if (PathIsNetworkPath(path)) - { - *pPidl=SHSimpleIDListFromPath(path); - if (!*pPidl) - return E_FAIL; - if (pFlags || pNetworkType) - { - const wchar_t *ext=PathFindExtension(path); - if (!*ext) - { - if (pFlags) - *pFlags=SFGAO_FOLDER; - if (pNetworkType) - { - if (path[1]==':') - { - // drive: - if (path[2]=='\\' && path[3]) // drive:\folder - *pNetworkType=NETWORK_FOLDER; - else - *pNetworkType=NETWORK_DRIVE; - } - else if (path[0]=='\\' && path[1]=='\\') - { - // \\server - const wchar_t *c=wcschr(path+2,'\\'); - if (c) - { - // \\server\share[\folder] - *pNetworkType=wcschr(c+2,'\\')?NETWORK_FOLDER:NETWORK_SHARE; - } - else - *pNetworkType=NETWORK_SERVER; - } - else - { - // something else - *pNetworkType=NETWORK_FOLDER; - } - } - } - else if (_wcsicmp(ext,L".lnk")==0) - { - if (pFlags) - *pFlags=SFGAO_LINK; - if (pNetworkType) - *pNetworkType=NETWORK_FILE; - } - else - { - if (pFlags) - *pFlags=0; - if (pNetworkType) - *pNetworkType=NETWORK_FILE; - } - } - return S_OK; - } - else - { - return ShParseDisplayName(path,pPidl,SFGAO_FOLDER|SFGAO_STREAM|SFGAO_LINK,pFlags); - } -} - -const wchar_t *GetDefaultNetworkIcon( TNetworkType networkType ) -{ - switch (networkType) - { - case NETWORK_SERVER: - return L"imageres.dll,109"; - case NETWORK_SHARE: - return L"imageres.dll,143"; - case NETWORK_DRIVE: - return L"imageres.dll,33"; - case NETWORK_FOLDER: - return L"imageres.dll,3"; - default: - return L"imageres.dll,2"; - } -} - -bool MenuGetFileTimestamp( const wchar_t *path, FILETIME *pWriteTime, FILETIME *pCreateTime ) -{ - if (PathIsNetworkPath(path)) - { - memset(pWriteTime,0,sizeof(FILETIME)); - memset(pCreateTime,0,sizeof(FILETIME)); - return true; - } - else - { - WIN32_FILE_ATTRIBUTE_DATA attributes={0}; - if (!GetFileAttributesEx(path,GetFileExInfoStandard,&attributes)) - { - memset(pWriteTime,0,sizeof(FILETIME)); - memset(pCreateTime,0,sizeof(FILETIME)); - return false; - } - else - { - *pWriteTime=attributes.ftLastWriteTime; - *pCreateTime=attributes.ftCreationTime; - return true; - } - } -} - -static CString GetKnownFolderSetting( REFKNOWNFOLDERID rfid ) -{ - if (rfid==FOLDERID_CommonAdminTools) - return L"shell:::{D20EA4E1-3957-11d2-A40B-0C5020524153}"; - - wchar_t path[_MAX_PATH]; - path[0]=0; - if (rfid==FOLDERID_StartMenu) - Strcpy(path,_countof(path),GetSettingString(L"FolderStartMenu")); - - if (rfid==FOLDERID_CommonStartMenu) - { - Strcpy(path,_countof(path),GetSettingString(L"FolderCommonStartMenu")); - } - else if (rfid==FOLDERID_Programs) - { - CString str=GetSettingString(L"FolderPrograms"); - if (!str.IsEmpty()) - Strcpy(path,_countof(path),str); - else - { - str=GetSettingString(L"FolderStartMenu"); - if (!str.IsEmpty()) - Sprintf(path,_countof(path),L"%s\\Programs",str); - } - } - else if (rfid==FOLDERID_CommonPrograms) - { - CString str=GetSettingString(L"FolderCommonPrograms"); - if (!str.IsEmpty()) - Strcpy(path,_countof(path),str); - else - { - str=GetSettingString(L"FolderCommonStartMenu"); - if (!str.IsEmpty()) - Sprintf(path,_countof(path),L"%s\\Programs",str); - } - } - else if (rfid==FOLDERID_Favorites) - { - if (IsEdgeDefaultBrowser()) - Strcpy(path,_countof(path),L"%LOCALAPPDATA%\\Packages\\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\\AC\\MicrosoftEdge\\User\\Default\\Favorites"); - } - if (!path[0]) - return CString(); - DoEnvironmentSubst(path,_countof(path)); - return path; -} - -STDAPI ShGetKnownFolderPath( REFKNOWNFOLDERID rfid, PWSTR *pPath ) -{ - CString path=GetKnownFolderSetting(rfid); - if (!path.IsEmpty()) - { - int size=path.GetLength()+1; - *pPath=(PWSTR)CoTaskMemAlloc(size*2); - if (!*pPath) - return E_FAIL; - Strcpy(*pPath,size,path); - return S_OK; - } - return SHGetKnownFolderPath(rfid,0,NULL,pPath); -} - -STDAPI ShGetKnownFolderIDList(REFKNOWNFOLDERID rfid, PIDLIST_ABSOLUTE *pPidl ) -{ - CString path=GetKnownFolderSetting(rfid); - if (!path.IsEmpty()) - { - return ShParseDisplayName(path,pPidl,0,NULL); - } - return SHGetKnownFolderIDList(rfid,0,NULL,pPidl); -} - -STDAPI ShGetKnownFolderItem(REFKNOWNFOLDERID rfid, IShellItem **ppItem ) -{ -#ifndef BUILD_SETUP - if (rfid==FOLDERID_Games && (GetTickCount()&16)) - return E_FAIL; -#endif - // Skip getting the Games menu on RS4 - if(IsWin10RS4() && rfid==FOLDERID_Games) - { - return E_FAIL; - } - CString path=GetKnownFolderSetting(rfid); - if (!path.IsEmpty()) - { - return SHCreateItemFromParsingName(path,NULL,IID_IShellItem,(void**)ppItem); - } - return SHGetKnownFolderItem(rfid,KF_FLAG_DEFAULT,NULL,IID_IShellItem,(void**)ppItem); -} - -/////////////////////////////////////////////////////////////////////////////// - -CShellItemEnumerator::CShellItemEnumerator( IShellItem *pFolder ) -{ - int compat=GetSettingInt(L"CompatibilityFixes"); - if (!(compat&COMPATIBILITY_ENUM_SHELLITEM)) - { - CComPtr pFolder0; - HRESULT hr=pFolder->BindToHandler(NULL,BHID_SFObject,IID_IShellFolder,(void**)&pFolder0); - if (FAILED(hr)) - { - CComQIPtr pFolder2=pFolder; - if (pFolder2) - { - // The operation may fail if pFolder has a simple pidl (like from a network path). Update the shell item and try again - pFolder2->Update(NULL); - hr=pFolder->BindToHandler(NULL,BHID_SFObject,IID_IShellFolder,(void**)&pFolder0); - if (FAILED(hr)) - return; - } - } - if (FAILED(SHGetIDListFromObject(pFolder,&m_Root))) - return; - hr=pFolder0->EnumObjects(NULL,SHCONTF_FOLDERS|SHCONTF_NONFOLDERS,(IEnumIDList**)&m_pEnumPidls); - } - else - { - HRESULT hr=pFolder->BindToHandler(NULL,BHID_EnumItems,IID_IEnumShellItems,(void**)&m_pEnumItems); - if (FAILED(hr)) - { - m_pEnumItems=NULL; - // The operation may fail if pFolder has a simple pidl (like from a network path). Update the shell item and try again - CComQIPtr pFolder2=pFolder; - if (pFolder2) - { - pFolder2->Update(NULL); - hr=pFolder->BindToHandler(NULL,BHID_EnumItems,IID_IEnumShellItems,(void**)&m_pEnumItems); - if (FAILED(hr)) - { - m_pEnumItems=NULL; - return; - } - } - } - if (compat&COMPATIBILITY_ENUM_FIX_PIDLS) - SHGetIDListFromObject(pFolder,&m_Root); - } -} - -bool CShellItemEnumerator::IsValid( void ) const -{ - return m_pEnumPidls || m_pEnumItems; -} - -bool CShellItemEnumerator::GetNext( CComPtr &pChild, CAbsolutePidl &childPidl ) -{ - pChild=NULL; - childPidl.Clear(); - if (m_pEnumPidls) - { - CAbsolutePidl child; - if (m_pEnumPidls->Next(1,(PITEMID_CHILD*)&child,NULL)!=S_OK) - return false; - - CAbsolutePidl pidl; - pidl.Attach(ILCombine(m_Root,child)); - if (FAILED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pChild))) - return false; - childPidl.Swap(pidl); - return true; - } - else - { - CComPtr pChild0; - if (m_pEnumItems->Next(1,&pChild0,NULL)!=S_OK) - return false; - - CAbsolutePidl pidl0; - if (FAILED(SHGetIDListFromObject(pChild0,&pidl0))) - return false; - - if (m_Root) - { - CAbsolutePidl pidl; - pidl.Attach(ILCombine(m_Root,ILFindLastID(pidl0))); - if (SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pChild))) - { - childPidl.Swap(pidl); - return true; - } - } - - childPidl.Swap(pidl0); - pChild=pChild0; - return true; - } -} diff --git a/Src/StartMenu/StartMenuDLL/ItemManager.h b/Src/StartMenu/StartMenuDLL/ItemManager.h deleted file mode 100644 index 42c6250..0000000 --- a/Src/StartMenu/StartMenuDLL/ItemManager.h +++ /dev/null @@ -1,480 +0,0 @@ -// 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 -#include -#include -#include - -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 m_pTempLists[ICON_SIZE_COUNT]; - CComPtr 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 - std::vector> m_ListSizes; - - // the key is a hash of the path or the pidl - std::multimap m_ItemInfos; - - // the key is a hash of the uppercase appid (win10 only) - std::map m_MetroItemInfos10; - // hashes of appids that are for sure not valid - std::set m_BlackListInfos10; - - // the key is a hash of the location and index - std::multimap m_IconInfos; - - // bitmaps that were replaced but may still be used by the main thread - std::vector m_OldBitmaps; - - const IconInfo *m_DefaultSmallIcon; - const IconInfo *m_DefaultLargeIcon; - const IconInfo *m_DefaultExtraLargeIcon; - - // list of items to process in background - std::list m_ItemQueue; - std::list m_ItemQueueLow; // lower priority - - std::vector m_NewPrograms; - std::vector 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 ×tamp, std::vector &modules ); - - struct KnownPathGuid - { - CComString path; - CComString guid; - int pathLen; - }; - - struct OldItemInfo - { - unsigned int hash; - FILETIME timestamp; - - bool operator<( const OldItemInfo &x ) const { return hash m_OldItemInfos; - - void LoadOldItems( void ); - bool IsPathUsed( CRegKey ®Key, const wchar_t *path, const FILETIME &createstamp, const KnownPathGuid *knownPaths, int knownPathsCount, bool bMetroApp ); - void AddOldItems( const std::vector &hashes ); -}; - -CString GetPropertyStoreString( IPropertyStore *pStore, REFPROPERTYKEY key ); - -class CShellItemEnumerator -{ -public: - CShellItemEnumerator( IShellItem *pFolder ); - bool IsValid( void ) const; - bool GetNext( CComPtr &pChild, CAbsolutePidl &childPidl ); - -private: - CComPtr m_pEnumPidls; - CComPtr 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 diff --git a/Src/StartMenu/StartMenuDLL/JumpLists.cpp b/Src/StartMenu/StartMenuDLL/JumpLists.cpp deleted file mode 100644 index e03a0ca..0000000 --- a/Src/StartMenu/StartMenuDLL/JumpLists.cpp +++ /dev/null @@ -1,685 +0,0 @@ -// 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 -#include - -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 GetList( int listType, unsigned int maxCount ); - void PinItem( IUnknown *pItem, int pinIndex ); - bool RemoveDestination( IUnknown *pItem ); - -private: - CComPtr m_pAutoList; - CComPtr m_pAutoList10b; -}; - -CAutomaticList::CAutomaticList( const wchar_t *appid ) -{ - CComPtr 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 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 CAutomaticList::GetList( int listType, unsigned int maxCount ) -{ - CComPtr 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 GetCustomList( const wchar_t *appid ) -{ - CComPtr pCustomListUnk; - if (SUCCEEDED(pCustomListUnk.CoCreateInstance(CLSID_DestinationList))) - { - CComPtr pCustomList; - if (GetWinVersion()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(); -} - -// Returns true if the given app has a non-empty jumplist -bool HasJumplist( const wchar_t *appid ) -{ - Assert(GetWinVersion()>=WIN_VER_WIN7); - - CComPtr 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 pStore=pLink; - if (pStore) - hash=CalcFNVHash(GetPropertyStoreString(pStore,PKEY_Link_Arguments),hash); - return hash; -} - -static void AddJumpItem( CJumpGroup &group, IUnknown *pUnknown, std::vector> &ignoreItems, std::vector &ignoreLinks ) -{ - CJumpItem item; - item.type=CJumpItem::TYPE_UNKNOWN; - item.pItem=pUnknown; - item.hash=0; - item.bHidden=false; - item.bHasArguments=false; - CComQIPtr pItem=pUnknown; - if (pItem) - { - for (std::vector>::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 pLink=pUnknown; - if (pLink) - { - unsigned int hash=CalcLinkHash(pLink); - for (std::vector::const_iterator it=ignoreLinks.begin();it!=ignoreLinks.end();++it) - { - if (hash==*it) - return; - } - item.type=CJumpItem::TYPE_LINK; - CComQIPtr 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 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> &ignoreItems, std::vector &ignoreLinks ) -{ - UINT count; - if (SUCCEEDED(pCollection->GetCount(&count))) - { - for (UINT i=0;i 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 pCustomList=GetCustomList(appid); - if (pCustomList) - { - if (FAILED(pCustomList->GetCategoryCount(&categoryCount))) - categoryCount=0; - } - - list.groups.reserve(categoryCount+2); - - std::vector> ignoreItems; - std::vector ignoreLinks; - CAutomaticList autoList(appid); - { - // add pinned - CComPtr 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::const_iterator it=group.items.begin();it!=group.items.end();++it) - { - CComQIPtr pShellItem(it->pItem); - if (pShellItem) - ignoreItems.push_back(pShellItem); - else - { - CComQIPtr pLink(it->pItem); - if (pLink) - { - unsigned int hash=CalcLinkHash(pLink); - if (hash) - ignoreLinks.push_back(hash); - } - } - } - } - } - - int taskIndex=-1; - for (UINT catIndex=0;catIndexGetCategory(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 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 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 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 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::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::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::iterator it2=group.items.begin();it2!=group.items.end();++it2) - if (!it2->bHidden) - { - it2->bHidden=(maxCount<=0 || maxHeight::iterator it=list.groups.begin();it!=list.groups.end();++it) - { - CJumpGroup &group=*it; - group.bHidden=true; - for (std::vector::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 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 pEnumHandlers; - if (ext[0] && SUCCEEDED(SHAssocEnumHandlers(ext,ASSOC_FILTER_RECOMMENDED,&pEnumHandlers))) - { - CComPtr pHandler; - ULONG count; - while (SUCCEEDED(pEnumHandlers->Next(1,&pHandler,&count)) && count==1) - { - CComQIPtr 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 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 pItem; - SHCreateItemFromIDList(pAppInfo->GetPidl(),IID_IShellItem,(void**)&pItem); - CComPtr 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 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 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 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); -} diff --git a/Src/StartMenu/StartMenuDLL/JumpLists.h b/Src/StartMenu/StartMenuDLL/JumpLists.h deleted file mode 100644 index 70f3ebc..0000000 --- a/Src/StartMenu/StartMenuDLL/JumpLists.h +++ /dev/null @@ -1,66 +0,0 @@ -// 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 -#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 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 items; -}; - -struct CJumpList -{ - std::vector 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 ); diff --git a/Src/StartMenu/StartMenuDLL/LogManager.cpp b/Src/StartMenu/StartMenuDLL/LogManager.cpp deleted file mode 100644 index 84d9e14..0000000 --- a/Src/StartMenu/StartMenuDLL/LogManager.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// 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); -} diff --git a/Src/StartMenu/StartMenuDLL/LogManager.h b/Src/StartMenu/StartMenuDLL/LogManager.h deleted file mode 100644 index a6e4885..0000000 --- a/Src/StartMenu/StartMenuDLL/LogManager.h +++ /dev/null @@ -1,35 +0,0 @@ -// 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" diff --git a/Src/StartMenu/StartMenuDLL/MenuCommands.cpp b/Src/StartMenu/StartMenuDLL/MenuCommands.cpp deleted file mode 100644 index b3f542a..0000000 --- a/Src/StartMenu/StartMenuDLL/MenuCommands.cpp +++ /dev/null @@ -1,3209 +0,0 @@ -// ## 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 - -// MenuCommands.cpp - handles the commands and actions of CMenuContainer - -#include "stdafx.h" -#include "MenuContainer.h" -#include "StartMenuDLL.h" -#include "Settings.h" -#include "SettingsUI.h" -#include "SettingsUIHelper.h" -#include "Translations.h" -#include "LogManager.h" -#include "FNVHash.h" -#include "ResourceHelper.h" -#include "MetroLinkManager.h" -#include "ProgramsTree.h" -#include "resource.h" -#include -#include -#include -#include -#include - -static CString g_RenameText; -static POINT g_RenamePos; - -// Dialog proc for the Rename dialog box -static INT_PTR CALLBACK RenameDlgProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - if (uMsg==WM_INITDIALOG) - { - // translate text - SetWindowText(hwndDlg,FindTranslation(L"Menu.RenameTitle",L"Rename")); - SetDlgItemText(hwndDlg,IDC_LABEL,FindTranslation(L"Menu.RenamePrompt",L"&New name:")); - SetDlgItemText(hwndDlg,IDOK,FindTranslation(L"Menu.RenameOK",L"OK")); - SetDlgItemText(hwndDlg,IDCANCEL,FindTranslation(L"Menu.RenameCancel",L"Cancel")); - SetDlgItemText(hwndDlg,IDC_EDITNAME,g_RenameText); - // position near the item - SetWindowPos(hwndDlg,NULL,g_RenamePos.x,g_RenamePos.y,0,0,SWP_NOZORDER|SWP_NOSIZE); - SendMessage(hwndDlg,DM_REPOSITION,0,0); - return TRUE; - } - if (uMsg==WM_COMMAND && wParam==IDOK) - { - wchar_t buf[1024]; - GetDlgItemText(hwndDlg,IDC_EDITNAME,buf,_countof(buf)); - g_RenameText=buf; - - EndDialog(hwndDlg,1); - return TRUE; - } - if (uMsg==WM_COMMAND && wParam==IDCANCEL) - { - EndDialog(hwndDlg,0); - return TRUE; - } - return FALSE; -} - -static void SetShutdownPrivileges( void ) -{ - HANDLE hToken; - if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)) - { - TOKEN_PRIVILEGES tp={1}; - if (LookupPrivilegeValue(NULL,L"SeShutdownPrivilege",&tp.Privileges[0].Luid)) - tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; - AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL); - CloseHandle(hToken); - } -} - -static void DoSearchSubst( wchar_t *buf, int size, const wchar_t *search ) -{ - wchar_t search2[256]; - char utf8[1024]; - WcsToMbs(utf8,_countof(utf8),search,CP_UTF8); - int len=0; - for (const char *c=utf8;*c;c++) - { - if ((*c>='a' && *c<='z') || (*c>='A' && *c<='Z') || (*c>='0' && *c<='9')) - { - search2[len++]=*c; - } - else if (len<_countof(search2)-4) - { - len+=Sprintf(search2+len,_countof(search2)-len,L"%%%02X",(unsigned char)*c); - } - else - break; - } - search2[len]=0; - DWORD_PTR args[100]={(DWORD_PTR)search,(DWORD_PTR)search2}; - wchar_t *pBuf=buf; - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_ARGUMENT_ARRAY|FORMAT_MESSAGE_FROM_STRING,buf,0,0,(LPWSTR)&pBuf,0,(va_list*)args); - Strcpy(buf,size,pBuf); - LocalFree(pBuf); -} - -static DWORD CALLBACK ExecuteCommandThread( void *param ) -{ - CoInitialize(NULL); - const wchar_t *command=(wchar_t*)param; - wchar_t exe[_MAX_PATH]; - const wchar_t *args=NULL; - CComString strExe, strArgs; - if (SUCCEEDED(SHEvaluateSystemCommandTemplate(command,&strExe,NULL,&strArgs))) - { - args=strArgs; - Strcpy(exe,_countof(exe),strExe); - } - else - { - args=SeparateArguments(command,exe); - } - SHELLEXECUTEINFO execute={sizeof(execute),SEE_MASK_FLAG_LOG_USAGE}; - execute.lpFile=exe; - execute.lpParameters=args; - execute.nShow=SW_SHOWNORMAL; - ShellExecuteEx(&execute); - free(param); - CoUninitialize(); - return 0; -} - -void CMenuContainer::ExecuteCommand( const wchar_t *command, bool bElevated, bool bEnvSubst ) -{ - wchar_t text[1024]; - if (bEnvSubst) - { - Strcpy(text,_countof(text),command); - DoEnvironmentSubst(text,_countof(text)); - command=text; - } - if (bElevated) - { - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"-runas %s",command); - - wchar_t exe[_MAX_PATH]; - GetModuleFileName(_AtlBaseModule.GetModuleInstance(),exe,_countof(exe)); - PathRemoveFileSpec(exe); - PathAppend(exe,L"StartMenu.exe"); - - RECT rc; - if (m_bDestroyed) - ::GetWindowRect(g_TaskBar,&rc); - else - GetWindowRect(&rc); - ::SetForegroundWindow(g_OwnerWindow); - ::SetWindowPos(g_OwnerWindow,HWND_TOPMOST,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top,0); - ShellExecute(g_OwnerWindow,L"runas",exe,cmdLine,NULL,SW_SHOWNORMAL); - } - else - { - CreateThread(NULL,0,ExecuteCommandThread,_wcsdup(command),0,NULL); - } -} - -// Dialog proc for the Log Off dialog box -static INT_PTR CALLBACK LogOffDlgProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - if (uMsg==WM_INITDIALOG) - { - // translate text - SendDlgItemMessage(hwndDlg,IDC_STATICICON1,STM_SETICON,lParam,0); - SetWindowText(hwndDlg,FindTranslation(L"Menu.LogoffTitle",L"Log Off Windows")); - SetDlgItemText(hwndDlg,IDC_PROMPT,FindTranslation(L"Menu.LogoffPrompt",L"Are you sure you want to log off?")); - SetDlgItemText(hwndDlg,IDOK,FindTranslation(L"Menu.LogoffYes",L"&Log Off")); - SetDlgItemText(hwndDlg,IDCANCEL,FindTranslation(L"Menu.LogoffNo",L"&No")); - return TRUE; - } - if (uMsg==WM_COMMAND && wParam==IDOK) - { - EndDialog(hwndDlg,1); - return TRUE; - } - if (uMsg==WM_COMMAND && wParam==IDCANCEL) - { - EndDialog(hwndDlg,0); - return TRUE; - } - return FALSE; -} - -struct ShortcutParams -{ - ShortcutParams( void ) { memset(this,0,sizeof(*this)); } - wchar_t target[_MAX_PATH+1]; - wchar_t temp[_MAX_PATH]; - wchar_t fname[_MAX_PATH+1]; -}; - -static DWORD WINAPI NewShortcutThread( void *param ) -{ - ShortcutParams *pParams=(ShortcutParams*)param; - HANDLE hFile=CreateFile(pParams->fname,0,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); - if (hFile!=INVALID_HANDLE_VALUE) - { - // run the shortcut wizard - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"rundll32.exe appwiz.cpl,NewLinkHere %s",pParams->fname); - - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - wchar_t exe[_MAX_PATH]=L"%windir%\\system32\\rundll32.exe"; - DoEnvironmentSubst(exe,_countof(exe)); - if (CreateProcess(exe,cmdLine,NULL,NULL,FALSE,0,NULL,pParams->temp,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - WaitForSingleObject(processInfo.hProcess,INFINITE); - CloseHandle(processInfo.hProcess); - - // see what the file was renamed to - struct { - DWORD FileNameLength; - wchar_t FileName[_MAX_PATH]; - } nameInfo={0}; - BOOL bInfo=GetFileInformationByHandleEx(hFile,FileNameInfo,&nameInfo,sizeof(nameInfo)); - CloseHandle(hFile); - if (bInfo) - { - // move to the final target folder - int len=Sprintf(pParams->fname,_countof(pParams->fname)-1,L"%s\\%s",pParams->temp,PathFindFileName(nameInfo.FileName)); - pParams->fname[len+1]=0; - SHFILEOPSTRUCT shfop={g_OwnerWindow,FO_MOVE,pParams->fname,pParams->target}; - SHFileOperation(&shfop); - } - } - else - CloseHandle(hFile); - DeleteFile(pParams->fname); - } - delete pParams; - return 0; -} - -static DWORD WINAPI SleepThread( void *param ) -{ - SetSuspendState((intptr_t)param != 0,FALSE,FALSE); - return 0; -} - -void CMenuContainer::CloseSubMenus( int flags, CMenuContainer *pAfter ) -{ - if (s_MenuMode==MODE_JUMPLIST && !(flags&CLOSE_KEEP_MODE)) - { - if (pAfter && !pAfter->m_bSubMenu) - { - pAfter->SetMenuMode(MODE_NORMAL); - } - } - for (int i=(int)s_Menus.size()-((flags&CLOSE_SKIP_LAST)?2:1);i>=0 && s_Menus[i]!=pAfter;i--) - if (!s_Menus[i]->m_bDestroyed) - { - if ((flags&CLOSE_SKIP_SEARCH) && (s_Menus[i]->m_Options&CONTAINER_SEARCH)) - continue; - if ((flags&CLOSE_ONLY_SEARCH) && !(s_Menus[i]->m_Options&CONTAINER_SEARCH)) - continue; - if (flags&CLOSE_POST) - { - s_Menus[i]->ShowWindow(SW_HIDE); - s_Menus[i]->PostMessage(WM_CLOSE); - s_Menus[i]->m_bClosing=true; - } - else - s_Menus[i]->DestroyWindow(); - } -} - -void CMenuContainer::OpenSubMenu( int index, TActivateType type, bool bShift ) -{ - const MenuItem &item=m_Items[index]; - if (m_bTwoColumns && s_bWin7Style) - { - if (item.bHasJumpList) - { - SetActiveWindow(); - CloseSubMenus(CLOSE_KEEP_MODE,this); - OpenJumpList(index,type==ACTIVATE_OPEN_KBD); - return; - } - if (item.id==MENU_SEARCH_BOX) - { - SetActiveWindow(); - CloseSubMenus(CLOSE_KEEP_MODE,this); - OpenSearchList(); - return; - } - if (item.id==MENU_PROGRAMS && GetSettingInt(L"ProgramsStyle")==PROGRAMS_INLINE) - { - SetActiveWindow(); - CloseSubMenus(CLOSE_KEEP_MODE,this); - SetMenuMode(s_MenuMode==MODE_PROGRAMS?MODE_NORMAL:MODE_PROGRAMS); - if (s_MenuMode==MODE_NORMAL) - SetHotItem(m_ProgramButtonIndex); - return; - } - } - // open a submenu - create a new menu object - const StdMenuItem *pSubMenu=item.pStdItem?item.pStdItem->submenu:NULL; - bool bOpenUp=false; - - int options=(type==ACTIVATE_OPEN_SEARCH)?CONTAINER_DRAG|CONTAINER_SEARCH:CONTAINER_DRAG|CONTAINER_DROP; - if (item.id==MENU_CONTROLPANEL) - options|=CONTAINER_CONTROLPANEL; - if (item.id==MENU_DOCUMENTS) - options|=CONTAINER_DOCUMENTS; - if (item.id==MENU_APPS) - options|=CONTAINER_APPS; - if (item.bPrograms) - options|=CONTAINER_PROGRAMS; - if (item.bLink || (m_Options&CONTAINER_LINK)) - options|=CONTAINER_LINK; - if ((m_Options&CONTAINER_TRACK) || item.id==MENU_PROGRAMS || item.id==MENU_APPS) - options|=CONTAINER_TRACK; - - if (item.id==MENU_PROGRAMS && GetSettingInt(L"PinnedPrograms")==PINNED_PROGRAMS_PINNED) - options|=CONTAINER_ALLPROGRAMS; - - if (item.id==MENU_RECENT_PROGRAMS) - options|=CONTAINER_RECENT; - - if (m_Options&CONTAINER_OPENUP_REC) - { - options|=CONTAINER_OPENUP_REC; - bOpenUp=true; - } - if (m_Options&CONTAINER_SORTZA_REC) - options|=CONTAINER_SORTZA|CONTAINER_SORTZA_REC; - - if (item.pStdItem) - { - if (item.pStdItem->settings&StdMenuItem::MENU_OPENUP) - bOpenUp=true; - if (item.pStdItem->settings&StdMenuItem::MENU_OPENUP_REC) - options|=CONTAINER_OPENUP_REC; - if (item.pStdItem->settings&StdMenuItem::MENU_SORTZA) - options|=CONTAINER_SORTZA; - if (item.pStdItem->settings&StdMenuItem::MENU_SORTZA_REC) - options|=CONTAINER_SORTZA_REC; - if (item.pStdItem->settings&StdMenuItem::MENU_SORTONCE) - options|=CONTAINER_SORTONCE; - if (item.pStdItem->settings&StdMenuItem::MENU_ITEMS_FIRST) - options|=CONTAINER_ITEMS_FIRST; - if (item.pStdItem->settings&StdMenuItem::MENU_TRACK) - options|=CONTAINER_TRACK; - if (item.pStdItem->settings&StdMenuItem::MENU_NOTRACK) - options&=~CONTAINER_TRACK; - if (item.pStdItem->settings&StdMenuItem::MENU_MULTICOLUMN) - options|=CONTAINER_MULTICOL_REC; - if (item.pStdItem->settings&StdMenuItem::MENU_NOEXTENSIONS) - options|=CONTAINER_NOEXTENSIONS; - if (item.pStdItem->settings&StdMenuItem::MENU_SINGLE_EXPAND) - options|=CONTAINER_NOSUBFOLDERS; - } - - if (item.id==MENU_NETWORK) - options|=CONTAINER_NOPATH; - - if (item.bHasJumpList) - options=CONTAINER_JUMPLIST|CONTAINER_DRAG|CONTAINER_DROP; - else if (item.id==MENU_COMPUTER && !s_bWin7Style) - { - if (GetSettingInt(L"Computer")==3) - options|=CONTAINER_NOSUBFOLDERS; - } - else if (item.pItem1 && item.pItemInfo) - { - CString PATH; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (item.bLink) - PATH=item.pItemInfo->GetTargetPATH(); - if (PATH.IsEmpty()) - PATH=item.pItemInfo->PATH; - } - if (!PATH.IsEmpty()) - { - for (int i=0;g_SpecialFolders[i].folder;i++) - { - if (PATH==g_SpecialFolders[i].PATH) - { - if (g_SpecialFolders[i].settings&SpecialFolder::FOLDER_NOSUBFOLDERS) - options|=CONTAINER_NOSUBFOLDERS; - if (g_SpecialFolders[i].settings&SpecialFolder::FOLDER_NONEWFOLDER) - options|=CONTAINER_NONEWFOLDER; - if (g_SpecialFolders[i].settings&SpecialFolder::FOLDER_NOPATH) - options|=CONTAINER_NOPATH; - if (g_SpecialFolders[i].settings&SpecialFolder::FOLDER_NODROP) - options&=~CONTAINER_DROP; - break; - } - } - } - } - - if (m_Options&CONTAINER_NOEXTENSIONS) - options|=CONTAINER_NOEXTENSIONS; - - if (item.id==MENU_PROGRAMS || item.id==MENU_APPS || (m_Options&CONTAINER_MULTICOL_REC)) - options|=CONTAINER_MULTICOL_REC; - if ((options&CONTAINER_MULTICOL_REC) && !bShift) - options|=CONTAINER_MULTICOLUMN; - if (options&CONTAINER_SEARCH) - options&=~(CONTAINER_MULTICOL_REC|CONTAINER_MULTICOLUMN); - - CMenuContainer *pMenu=new CSubMenuContainer(this,index,options,pSubMenu,item.pItem1,item.pItem2); - if (type==ACTIVATE_OPEN_SEARCH) - { - pMenu->InitSearchItems(); - } - else - { - s_JumpAppInfo=item.bHasJumpList?item.pItemInfo:NULL; - pMenu->InitItems(); - } - - RECT itemRect; - GetItemRect(index,itemRect); - MapWindowPoints(NULL,&itemRect); - RECT border={-s_Skin.Submenu_padding.left+s_Skin.Submenu_offset,-s_Skin.Submenu_padding.top,s_Skin.Submenu_padding.right-s_Skin.Submenu_offset,s_Skin.Submenu_padding.bottom}; - if (s_bRTL) - { - // swap and change signs - int q=border.left; border.left=-border.right; border.right=-q; - } - AdjustWindowRect(&border,s_SubmenuStyle,FALSE); - - if (m_bSubMenu) - pMenu->m_MaxWidth=s_MenuLimits.right-s_MenuLimits.left; - else if (s_bExpandRight) - pMenu->m_MaxWidth=s_MenuLimits.right-itemRect.right-border.left; - else - pMenu->m_MaxWidth=itemRect.left+border.right-s_MenuLimits.left; - - DWORD animFlags=AW_TOPMOST; - { - bool bDef; - int anim=GetSettingInt(L"SubMenuAnimation",bDef); - if (bDef) - { - DWORD fade; - SystemParametersInfo(SPI_GETMENUFADE,NULL,&fade,0); - anim=fade?1:2; - } - if (anim==3) animFlags|=((rand()=0 && !GetSettingBool(L"SubMenuAnimationAlways"))) - animate=FALSE; - else - SystemParametersInfo(SPI_GETMENUANIMATION,NULL,&animate,0); - - // destroy old submenus - SetActiveWindow(); - CloseSubMenus(CLOSE_SKIP_LAST,this); - - // open submenu - HWND parent=GetParent(); - pMenu->Create(parent,NULL,s_SubmenuStyle,WS_EX_TOOLWINDOW|WS_EX_TOPMOST|(s_bRTL?WS_EX_LAYOUTRTL:0)); - - if (GetSettingBool(L"MenuShadow") && s_Skin.Submenu_shadow==MenuSkin::SHADOW_ON) - SetClassLongPtr(pMenu->m_hWnd,GCL_STYLE,GetClassLongPtr(pMenu->m_hWnd,GCL_STYLE)|CS_DROPSHADOW); - else - SetClassLongPtr(pMenu->m_hWnd,GCL_STYLE,GetClassLongPtr(pMenu->m_hWnd,GCL_STYLE)&~CS_DROPSHADOW); - - if (!parent && s_TaskBar) - { - // place sub-menus in front of the taskbar - if (type==ACTIVATE_OPEN_SEARCH) - pMenu->SetWindowPos(s_TaskBar,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE); - else - pMenu->SetWindowPos(s_TaskBar,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE); - } - RECT rc2; - pMenu->GetWindowRect(&rc2); - - // position new menu - int w=rc2.right-rc2.left; - int h=rc2.bottom-rc2.top; - - if (s_bExpandRight) - { - if (itemRect.right+border.left+w<=s_MenuLimits.right) - { - // right - rc2.left=itemRect.right+border.left; - rc2.right=rc2.left+w; - animFlags|=AW_HOR_POSITIVE; - pMenu->m_Options|=CONTAINER_LEFT; - } - else if (itemRect.left+border.right-w>=s_MenuLimits.left) - { - // left - rc2.right=itemRect.left+border.right; - rc2.left=rc2.right-w; - animFlags|=AW_HOR_NEGATIVE; - } - else - { - // right again - rc2.right=s_MenuLimits.right; - rc2.left=rc2.right-w; - if (!s_bRTL) - { - int minx=m_bSubMenu?s_MenuLimits.left:(itemRect.right+border.left); - if (rc2.leftm_Options|=CONTAINER_LEFT; - } - } - else - { - if (itemRect.left+border.right-w>=s_MenuLimits.left) - { - // left - rc2.right=itemRect.left+border.right; - rc2.left=rc2.right-w; - animFlags|=AW_HOR_NEGATIVE; - } - else if (itemRect.right+border.left+w<=s_MenuLimits.right) - { - // right - rc2.left=itemRect.right+border.left; - rc2.right=rc2.left+w; - animFlags|=AW_HOR_POSITIVE; - pMenu->m_Options|=CONTAINER_LEFT; - } - else - { - // left again - rc2.left=s_MenuLimits.left; - rc2.right=rc2.left+w; - if (s_bRTL) - { - int maxx=m_bSubMenu?s_MenuLimits.right:(itemRect.left+border.right); - if (rc2.right>maxx) - { - rc2.left=maxx-w; - rc2.right=maxx; - } - } - animFlags|=AW_HOR_NEGATIVE; - } - } - - if (s_bRTL) - animFlags^=(AW_HOR_POSITIVE|AW_HOR_NEGATIVE); // RTL flips the animation - - if (bOpenUp) - { - if (itemRect.bottom+border.bottom-h>=s_MenuLimits.top) - { - // up - rc2.bottom=itemRect.bottom+border.bottom; - rc2.top=rc2.bottom-h; - } - else if (itemRect.top+border.top+h<=s_MenuLimits.bottom) - { - // down - rc2.top=itemRect.top+border.top; - rc2.bottom=rc2.top+h; - pMenu->m_Options|=CONTAINER_TOP; - } - else - { - // up again - rc2.top=s_MenuLimits.top-pMenu->m_ExtraBorder; - rc2.bottom=rc2.top+h; - } - } - else - { - if (itemRect.top+border.top+h<=s_MenuLimits.bottom) - { - // down - rc2.top=itemRect.top+border.top; - rc2.bottom=rc2.top+h; - pMenu->m_Options|=CONTAINER_TOP; - } - else if (itemRect.bottom+border.bottom-h>=s_MenuLimits.top) - { - // up - rc2.bottom=itemRect.bottom+border.bottom; - rc2.top=rc2.bottom-h; - } - else - { - // down again - rc2.bottom=s_MenuLimits.bottom+pMenu->m_ExtraBorder; - rc2.top=rc2.bottom-h; - pMenu->m_Options|=CONTAINER_TOP; - } - } - - SetSubmenu(index); - m_SubShowTime=0; - InvalidateItem(index); - if (type!=ACTIVATE_OPEN_SEARCH) - SetHotItem(index); - UpdateWindow(); - - if (type!=ACTIVATE_OPEN_SEARCH) - { - pMenu->SetFocus(); - - int hotItem=-1; - if (type==ACTIVATE_OPEN_KBD) - { - bool bLast=item.id==MENU_SHUTDOWN_BUTTON && GetSettingBool(L"SelectLastShutdown"); - for (int i=0;i<(int)pMenu->m_Items.size();i++) - if (pMenu->CanSelectItem(i)) - { - hotItem=i; - if (!bLast) - break; - } - } - pMenu->SetHotItem(hotItem); - } - - int speed=0; - if (animate) - { - speed=GetSettingInt(L"SubMenuAnimationSpeed"); - if (speed<=0) speed=MENU_ANIM_SPEED_SUBMENU; - else if (speed>=10000) speed=10000; - } - pMenu->AnimateMenu(animFlags,speed,rc2); - - if (s_Tooltip.m_hWnd) - s_Tooltip.SetWindowPos(HWND_TOP,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE); -} - -class ExitGuard -{ -public: - ExitGuard( void ) { m_bArmed=true; } - ~ExitGuard( void ) { Assert(!m_bArmed); } - void Disarm( void ) { m_bArmed=false; } -private: - bool m_bArmed; -}; - -#ifndef EWX_HYBRID_SHUTDOWN -#define EWX_HYBRID_SHUTDOWN 0x00400000 -#endif -#define EWX_INSTALL_UPDATES 0x00100000 // undocumented switch to install updates on shutdown - -static bool ExecuteSysCommand( TMenuID menuCommand ) -{ - CComPtr pShellDisp; - HRESULT hr; - switch (menuCommand) - { - case MENU_TASKBAR: // show taskbar properties - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp); - if (SUCCEEDED(hr)) - { - hr=pShellDisp->TrayProperties(); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to TrayProperties, 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - return true; - - case MENU_FEATURES: - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp); - if (SUCCEEDED(hr)) - { - hr=pShellDisp->ControlPanelItem(CComBSTR(L"appwiz.cpl")); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to ControlPanelItem(appwiz.cpl), 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - return true; - - case MENU_SECURITY: - { - CComPtr pShellDisp4; - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch4,(void**)&pShellDisp4); - if (SUCCEEDED(hr)) - { - hr=pShellDisp4->WindowsSecurity(); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to WindowsSecurity, 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - } - return true; - - case MENU_SEARCH_FILES: // show the search UI - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp); - if (SUCCEEDED(hr)) - { - hr=pShellDisp->FindFiles(); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to FindFiles, 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - return true; - - case MENU_SEARCH_PRINTER: // search for network printers - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp); - if (SUCCEEDED(hr)) - { - hr=pShellDisp->FindPrinter(CComBSTR(L""),CComBSTR(L""),CComBSTR(L"")); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to FindPrinter, 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - return true; - - case MENU_SEARCH_COMPUTERS: // search for computers - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp); - if (SUCCEEDED(hr)) - { - hr=pShellDisp->FindComputer(); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to FindComputer, 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - return true; - - case MENU_SEARCH_PEOPLE: // search for people using Windows Mail - { - SHELLEXECUTEINFO execute={sizeof(execute),SEE_MASK_DOENVSUBST,NULL,L"open"}; - execute.lpFile=L"%ProgramFiles%\\Windows Mail\\wab.exe"; - execute.lpParameters=L"/find"; - execute.lpDirectory=L"%ProgramFiles%\\Windows Mail"; - execute.nShow=SW_SHOWNORMAL; - ShellExecuteEx(&execute); - } - return true; - - case MENU_HELP: // show Windows help - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp); - if (SUCCEEDED(hr)) - { - hr=pShellDisp->Help(); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to Help, 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - return true; - - case MENU_RUN: // show the Run box - if (GetWinVersion()>=WIN_VER_WIN10) - { - ShellExecute(NULL,NULL,L"shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}",NULL,NULL,SW_SHOWNORMAL); - } - else - { - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp); - if (SUCCEEDED(hr)) - { - hr=pShellDisp->FileRun(); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to FileRun, 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - } - return true; - - case MENU_LOGOFF: // log off - ExitWindowsEx(EWX_LOGOFF,0); - return true; - - case MENU_LOGOFF_CONFIRM: - { - HMODULE hShell32=GetModuleHandle(L"Shell32.dll"); - HICON icon=LoadIcon(hShell32,MAKEINTRESOURCE(45)); - INT_PTR res=DialogBoxParam(g_Instance,MAKEINTRESOURCE(IsLanguageRTL()?IDD_LOGOFFR:IDD_LOGOFF),NULL,LogOffDlgProc,(LPARAM)icon); - DestroyIcon(icon); - if (res) - ExitWindowsEx(EWX_LOGOFF,0); - } - return true; - - case MENU_RESTART: // restart - case MENU_RESTART_NOUPDATE: - SetShutdownPrivileges(); - ExitWindowsEx(EWX_REBOOT,SHTDN_REASON_FLAG_PLANNED); - return true; - - case MENU_RESTART_ADVANCED: // advanced restart - if (GetWinVersion()>=WIN_VER_WIN8) - { - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - wchar_t exe[_MAX_PATH]=L"%windir%\\system32\\shutdown.exe"; - DoEnvironmentSubst(exe,_countof(exe)); - if (CreateProcess(exe,(LPWSTR)L"shutdown.exe /r /o /t 0",NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - CloseHandle(processInfo.hProcess); - } - } - else - ExitWindowsEx(EWX_REBOOT,SHTDN_REASON_FLAG_PLANNED); - return true; - - case MENU_RESTART_UPDATE: // update and restart - { - UINT flags=EWX_REBOOT; - if (GetWinVersion()>=WIN_VER_WIN8) - flags|=EWX_INSTALL_UPDATES; - SetShutdownPrivileges(); - ExitWindowsEx(flags,SHTDN_REASON_FLAG_PLANNED); - } - return true; - - case MENU_SWITCHUSER: // switch_user - if (GetWinVersion()>=WIN_VER_WIN10) - { - // on Windows 10 this value must be set to 1. For some reason non-admin code has permissions to do so - CRegKey regSwitch; - if (regSwitch.Create(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows\\CurrentVersion\\Authentication\\LogonUI\\UserSwitch",NULL,0,KEY_SET_VALUE)==ERROR_SUCCESS) - regSwitch.SetDWORDValue(L"Enabled",1); - } - WTSDisconnectSession(WTS_CURRENT_SERVER_HANDLE,WTS_CURRENT_SESSION,FALSE); // same as "disconnect" - return true; - - case MENU_LOCK: // lock - LockWorkStation(); - return true; - - case MENU_SHUTDOWN: // shutdown - case MENU_SHUTDOWN_NOUPDATE: - SetShutdownPrivileges(); - ExitWindowsEx(EWX_SHUTDOWN,SHTDN_REASON_FLAG_PLANNED); - return true; - - case MENU_SHUTDOWN_UPDATE: // update and shutdown - SetShutdownPrivileges(); - ExitWindowsEx(EWX_SHUTDOWN|EWX_INSTALL_UPDATES,SHTDN_REASON_FLAG_PLANNED); - return true; - - case MENU_SHUTDOWN_HYBRID: // hybrid shutdown - SetShutdownPrivileges(); - { - UINT flags=EWX_SHUTDOWN; - if (GetWinVersion()>=WIN_VER_WIN8) - { - CRegKey regPower; - if (regPower.Open(HKEY_LOCAL_MACHINE,L"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Power",KEY_READ)==ERROR_SUCCESS) - { - DWORD val; - if (regPower.QueryDWORDValue(L"HiberbootEnabled",val)==ERROR_SUCCESS && val==1) - flags|=EWX_HYBRID_SHUTDOWN; - } - } - ExitWindowsEx(flags,SHTDN_REASON_FLAG_PLANNED); - } - return true; - - case MENU_SLEEP: - if (GetSystemMetrics(SM_REMOTESESSION)) - { - WTSDisconnectSession(WTS_CURRENT_SERVER_HANDLE,WTS_CURRENT_SESSION,FALSE); - Sleep(250); - } - CreateThread(NULL,0,SleepThread,(void*)FALSE,0,NULL); - return true; - - case MENU_HIBERNATE: - if (GetSystemMetrics(SM_REMOTESESSION)) - { - WTSDisconnectSession(WTS_CURRENT_SERVER_HANDLE,WTS_CURRENT_SESSION,FALSE); - Sleep(250); - } - CreateThread(NULL,0,SleepThread,(void*)TRUE,0,NULL); - return true; - - case MENU_DISCONNECT: // disconnect the current Terminal Services session (remote desktop) - WTSDisconnectSession(WTS_CURRENT_SERVER_HANDLE,WTS_CURRENT_SESSION,FALSE); - return true; - - case MENU_UNDOCK: // undock the PC - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp); - if (SUCCEEDED(hr)) - { - hr=pShellDisp->EjectPC(); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to EjectPC, 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - return true; - - case MENU_MONITOROFF: - ::SendMessage(g_TaskBar,WM_SYSCOMMAND,SC_MONITORPOWER,2); - return true; - - case MENU_SHUTDOWN_BOX: // shutdown - ask to shutdown, log off, sleep, etc - hr=CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp); - if (SUCCEEDED(hr)) - { - hr=pShellDisp->ShutdownWindows(); - if (FAILED(hr)) - LOG_MENU(LOG_EXECUTE,L"Failed to ShutdownWindows, 0x08%x",hr); - } - else - LOG_MENU(LOG_EXECUTE,L"Failed to create dispatch, 0x08%x",hr); - return true; - - case MENU_PCSETTINGS: - if (GetWinVersion()>=WIN_VER_WIN8) - { - ShellExecute(NULL,NULL,L"shell:appsfolder\\windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel",NULL,NULL,SW_SHOWNORMAL); - } - return true; - - default: - return false; - } -} - -STARTMENUAPI bool DllExecuteNamedCommand( const wchar_t *command ) -{ - static struct NamedCommand - { - const wchar_t *name; - TMenuID command; - } s_NamedCommands[]= - { - {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"windows_security",MENU_SECURITY}, - {L"taskbar_settings",MENU_TASKBAR}, - {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"shutdown",MENU_SHUTDOWN}, - {L"switch_user",MENU_SWITCHUSER}, - {L"lock",MENU_LOCK}, - {L"programs_features",MENU_FEATURES}, - - {L"confirm_logoff",MENU_LOGOFF_CONFIRM}, - {L"advanced_boot",MENU_RESTART_ADVANCED}, - {L"update_restart",MENU_RESTART_UPDATE}, - {L"update_shutdown",MENU_SHUTDOWN_UPDATE}, - {L"hybrid_shutdown",MENU_SHUTDOWN_HYBRID}, - }; - - TMenuID menuCommand=MENU_NO; - for (int i=0;i<_countof(s_NamedCommands);i++) - { - if (wcscmp(command,s_NamedCommands[i].name)==0) - { - menuCommand=s_NamedCommands[i].command; - break; - } - } - - switch (menuCommand) - { - case MENU_NO: - return false; - - case MENU_HELP: - if (SHRestricted(REST_NOSMHELP)) return false; - break; - - case MENU_RUN: - if (SHRestricted(REST_NORUN)) return false; - break; - - case MENU_LOGOFF: - case MENU_LOGOFF_CONFIRM: - if (SHRestricted(REST_STARTMENULOGOFF)==1) return false; - break; - - case MENU_DISCONNECT: - if (SHRestricted(REST_NODISCONNECT)) return false; - break; - - case MENU_UNDOCK: - if (SHRestricted(REST_NOSMEJECTPC)) return false; - break; - - case MENU_SEARCH_COMPUTERS: - if (SHRestricted(REST_HASFINDCOMPUTERS)) return false; - break; - - case MENU_SWITCHUSER: - { - CComPtr pShellDisp; - if (SUCCEEDED(CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp))) - { - long val; - if (SUCCEEDED(pShellDisp->IsRestricted(CComBSTR(L"System"),CComBSTR(L"HideFastUserSwitching"),&val)) && val) - return false; - } - } - break; - - case MENU_TASKBAR: - if (SHRestricted(REST_NOSETTASKBAR)) return false; - break; - - case MENU_FEATURES: - if (SHRestricted(REST_NOSETFOLDERS) || SHRestricted(REST_NOCONTROLPANEL)) return false; - break; - - case MENU_RESTART: - case MENU_SHUTDOWN: - case MENU_RESTART_ADVANCED: - case MENU_RESTART_UPDATE: - case MENU_SHUTDOWN_UPDATE: - case MENU_SHUTDOWN_HYBRID: - if (SHRestricted(REST_NOCLOSE)) return false; - break; - } - - ExecuteSysCommand(menuCommand); - return true; -} - -static HRESULT CreatePinLink( PCIDLIST_ABSOLUTE sourcePidl, const wchar_t *name, const wchar_t *iconPath, int iconIndex ) -{ - wchar_t path[_MAX_PATH]; - Sprintf(path,_countof(path),L"%s\\%s.lnk",CMenuContainer::s_PinFolder,name); - wchar_t finalPath[_MAX_PATH]; - PathYetAnotherMakeUniqueName(finalPath,path,NULL,PathFindFileName(path)); - - HRESULT hr; - { - CComPtr pLink; - hr=pLink.CoCreateInstance(CLSID_ShellLink); - if (FAILED(hr)) return hr; - - hr=pLink->SetIDList(sourcePidl); - if (FAILED(hr)) return hr; - - if (iconPath) - { - hr=pLink->SetIconLocation(iconPath,iconIndex); - if (FAILED(hr)) return hr; - } - - CComQIPtr pFile(pLink); - if (!pFile) return E_FAIL; - hr=pFile->Save(finalPath,TRUE); - } - { - // reopen the link and set the "no new" property. without reopening the original properties are lost - CComPtr pLink; - hr=pLink.CoCreateInstance(CLSID_ShellLink); - CComQIPtr pFile(pLink); - hr=pFile->Load(finalPath,STGM_READWRITE); - CComQIPtr pStore(pLink); - if (pStore) - { - PROPVARIANT val; - InitPropVariantFromBoolean(TRUE,&val); - pStore->SetValue(PKEY_AppUserModel_ExcludeFromShowInNewInstall,val); - PropVariantClear(&val); - pStore->Commit(); - } - hr=pFile->Save(finalPath,TRUE); - } - HANDLE h=CreateFile(finalPath,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; -} - -// This function "activates" an item. The item can be activated in multiple ways: -// ACTIVATE_SELECT - select the item, make sure it is visible -// ACTIVATE_OPEN - if the item is a submenu, it is opened. otherwise the item is just selected (but all submenus are closed first) -// ACTIVATE_OPEN_KBD - same as above, but when done with a keyboard -// ACTIVATE_OPEN_SEARCH - opens the search results submenu -// ACTIVATE_EXECUTE - executes the item. it can be a shell item or a command item -// ACTIVATE_MENU - shows the context menu for the item -// ACTIVATE_RENAME - renames the item -// ACTIVATE_DELETE - deletes the item -// ACTIVATE_PROPERTIES - shows the properties of the item -void CMenuContainer::ActivateItem( int index, TActivateType type, const POINT *pPt, ActivateData *pData ) -{ - LOG_MENU(LOG_EXECUTE,L"Activate Item, ptr=%p, index=%d, type=%d",this,index,type); - if (index<0) - { - if (type==ACTIVATE_SELECT) - { - if (!(m_Options&CONTAINER_SEARCH)) - SetFocus(); - SetHotItem(-1); - return; - } - else if (type==ACTIVATE_MENU) - { - index=0; - type=ACTIVATE_MENU_BACKGROUND; - } - else - return; - } - - // make a const copy of the item and use it instead. the m_Items array can be reallocated at any time - const MenuItem item=m_Items[index]; - CAbsolutePidl pItemPidl1, pItemPidl2; - pItemPidl1.Clone(item.pItem1); - pItemPidl2.Clone(item.pItem2); - ((MenuItem&)item).pItem1=NULL; // hack to ensure the pidls are not used anywhere here - ((MenuItem&)item).pItem2=NULL; - - if (type==ACTIVATE_SELECT) - { - // set the hot item - if (item.id==MENU_SEARCH_BOX) - { - m_SearchBox.SetFocus(); - SetHotItem(-1); - } - else - { - if (item.id==MENU_PROGRAMS_TREE && m_pProgramsTree && m_pProgramsTree->m_hWnd) - m_pProgramsTree->SetFocus(); - else if (!(m_Options&CONTAINER_SEARCH) && (m_bSubMenu || s_MenuMode!=MODE_SEARCH)) - SetFocus(); - SetHotItem(index,false,true); - } - if (m_ScrollHeight>0 && indexrc.top-m_ScrollButtonSize) - pos=rc.top-m_ScrollButtonSize; - else if (postotal) pos=total; - if (m_ScrollOffset!=pos) - { - m_ScrollOffset=pos; - UpdateScroll(); - Invalidate(); - } - } - if (m_SearchScrollCount>m_SearchScrollHeight && index>=m_OriginalCount) - { - // scroll the search results to make this item visible - int idx=index-m_OriginalCount; - int pos=m_SearchScrollPos; - if (pos>idx) pos=idx; - if (pos+m_SearchScrollHeightbNoModifiers) && GetKeyState(VK_SHIFT)<0; - bool bCtrl=(!pData || !pData->bNoModifiers) && GetKeyState(VK_CONTROL)<0; - - if (type==ACTIVATE_OPEN || type==ACTIVATE_OPEN_KBD || type==ACTIVATE_OPEN_SEARCH) - { - if (item.id==MENU_SEARCH_BOX && type!=ACTIVATE_OPEN_SEARCH) - return; - s_HotPos=GetMessagePos(); - if (!item.bFolder && item.id!=MENU_SEARCH_BOX) - { - SetActiveWindow(); - // destroy old submenus - CloseSubMenus(0,this); - - // just select the item - ActivateItem(index,ACTIVATE_SELECT,NULL); - return; - } - - OpenSubMenu(index,type,bShift); - return; - } - - bool bKeepOpen=(type==ACTIVATE_EXECUTE) && bShift && !bCtrl && (!item.bMetroLink || GetWinVersion()>=WIN_VER_WIN10); - bool bTrackRecent=false; - if (s_RecentPrograms!=RECENT_PROGRAMS_NONE) - { - if (item.id==MENU_RECENT) - bTrackRecent=true; - else if (!m_bSubMenu || (m_Options&CONTAINER_TRACK)) - bTrackRecent=item.id==MENU_NO && (!item.bFolder || item.bHasJumpList) && !item.pStdItem && (item.categoryHash&15)<=CSearchManager::CATEGORY_SETTING; - } - - CString searchText; - for (CMenuContainer *pSearchMenu=this;pSearchMenu;pSearchMenu=pSearchMenu->m_pParent) - if (pSearchMenu->m_SearchBox.m_hWnd) - { - pSearchMenu->m_SearchBox.GetWindowText(searchText); - break; - } - - if (type==ACTIVATE_EXECUTE) - { - if (item.id==MENU_EMPTY || item.id==MENU_EMPTY_TOP) return; - if (item.bFolder && pItemPidl1 && !item.bSplit && !GetSettingBool(L"EnableExplorer")) - return; - if (item.id==MENU_SEARCH_BOX) - { - // the search button was pressed - m_SearchBox.SetFocus(); - CloseSubMenus(CLOSE_POST,this); - m_SearchBox.SetWindowText(L""); - return; - } - if (item.id==MENU_SEARCH_CATEGORY) - { - if (bCtrl || (pData && pData->bArrow)) - { - for (std::list::const_iterator it=s_SearchResults.indexed.begin();it!=s_SearchResults.indexed.end();++it) - { - if (item.categoryHash==it->categoryHash) - { - if (bKeepOpen) - LockSetForegroundWindow(LSFW_LOCK); - else - { - LockSetForegroundWindow(LSFW_UNLOCK); - FadeOutItem(index); - CloseSubMenus(CLOSE_POST,NULL); - } - PlayMenuSound(SOUND_COMMAND); - g_SearchManager.LaunchExternalSearch(it->search,it->categoryHash,searchText); - break; - } - } - } - else - { - m_SearchCategoryHash=(m_SearchCategoryHash==item.categoryHash)?CSearchManager::CATEGORY_INVALID:item.categoryHash; - RefreshSearch(); - } - return; - } - - if (item.jumpIndex>=0) - { - if (item.id==MENU_NO) - { - if (bKeepOpen) - LockSetForegroundWindow(LSFW_LOCK); - else - { - LockSetForegroundWindow(LSFW_UNLOCK); - FadeOutItem(index); - CloseSubMenus(CLOSE_POST,NULL); - } - PlayMenuSound(SOUND_COMMAND); - ExecuteJumpItem(s_JumpAppInfo,s_JumpList.groups[LOWORD(item.jumpIndex)].items[HIWORD(item.jumpIndex)],g_OwnerWindow); - } - return; - } - if (g_LogCategories&LOG_ITEMS) - { - LOG_MENU(LOG_EXECUTE,L"item.bLink: %d",item.bLink?1:0); - LOG_MENU(LOG_EXECUTE,L"item.bMetroLink: %d",item.bMetroLink?1:0); - LOG_MENU(LOG_EXECUTE,L"item.bMetroApp: %d",item.bMetroApp?1:0); - if (!item.pItemInfo) - { - LOG_MENU(LOG_EXECUTE,L"No pItemInfo"); - } - else - { - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - LOG_MENU(LOG_EXECUTE,L"bLink: %d",item.pItemInfo->IsLink()?1:0); - LOG_MENU(LOG_EXECUTE,L"bMetroLink: %d",item.pItemInfo->IsMetroLink()?1:0); - LOG_MENU(LOG_EXECUTE,L"bMetroApp: %d",item.pItemInfo->IsMetroApp()?1:0); - LOG_MENU(LOG_EXECUTE,L"bProtectedLink: %d",item.pItemInfo->IsProtectedLink()?1:0); - LOG_MENU(LOG_EXECUTE,L"bNoPin: %d",item.pItemInfo->IsNoPin()?1:0); - LOG_MENU(LOG_EXECUTE,L"bNoNew: %d",item.pItemInfo->IsNoNew()?1:0); - LOG_MENU(LOG_EXECUTE,L"path: %s",item.pItemInfo->GetPath()); - LOG_MENU(LOG_EXECUTE,L"PATH: %s",item.pItemInfo->PATH); - LOG_MENU(LOG_EXECUTE,L"targetPATH: %s",item.pItemInfo->GetTargetPATH()); - LOG_MENU(LOG_EXECUTE,L"appid: %s",item.pItemInfo->GetAppid()); - LOG_MENU(LOG_EXECUTE,L"metroName: %s",item.pItemInfo->GetMetroName()); - LOG_MENU(LOG_EXECUTE,L"iconPath: %s",item.pItemInfo->GetIconPath()); - } - if (item.pItemInfo->smallIcon) - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ICONS); - LOG_MENU(LOG_EXECUTE,L"smallIcon: %s",item.pItemInfo->smallIcon->GetPath()); - } - if (item.pItemInfo->largeIcon) - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ICONS); - LOG_MENU(LOG_EXECUTE,L"largeIcon: %s",item.pItemInfo->largeIcon->GetPath()); - } - } - } - if (item.bMetroLink) - { - LockSetForegroundWindow(LSFW_UNLOCK); - FadeOutItem(index); - PlayMenuSound(SOUND_COMMAND); - ExecuteMetroLink(item.pItemInfo); - if (bTrackRecent) - { - CString path; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - path=item.pItemInfo->GetPath(); - } - AddMRUShortcut(path); - } - g_ItemManager.RemoveNewItem(pItemPidl1,NULL,false); - if (!(m_Options&CONTAINER_LINK)) - g_SearchManager.AddItemRank(item.nameHash); - // close all menus when launching Metro apps - CloseSubMenus(CLOSE_POST,NULL); - return; - } - if (!pItemPidl1) - { - if (item.idsubmenu && !item.pStdItem->command && item.id!=MENU_SHUTDOWN_BUTTON) - return; // non-executable item - } - - // when executing an item close the whole menu - if (!bKeepOpen) - { - if (g_TopWin7Menu && s_bAllPrograms) - { - // send, don't post. the top menu must be closed immediately. otherwise its closing may interfere with launching the command - ::SendMessage(g_TopWin7Menu,WM_CLOSE,0,0); - } - else - { - s_bPreventClosing=true; // hack: prevents any other closing behavior to occur while the item is being executed - CloseSubMenus(CLOSE_POST,NULL); - s_bPreventClosing=false; - } - } - } - - if (type==ACTIVATE_MENU || type==ACTIVATE_MENU_BACKGROUND) - { - // when showing the context menu close all submenus - if (!(m_Options&CONTAINER_SEARCH)) - SetActiveWindow(); - if (s_MenuMode==MODE_NORMAL) - CloseSubMenus(0,this); - if (m_bTwoColumns && s_MenuMode==MODE_JUMPLIST && indexcommand && *item.pStdItem->command) || item.id==MENU_SEARCH_EXECUTE || item.bStartScreen || !pItemPidl1; // this is a special executable command - - if (type==ACTIVATE_EXECUTE && bCommand) - { - if (item.bStartScreen) - { - g_WSMHMonitor=MonitorFromWindow(m_hWnd,MONITOR_DEFAULTTONULL); - ::PostMessage(g_ProgWin,WM_SYSCOMMAND,SC_TASKLIST,'WSMH'); - return; - } - - if (bKeepOpen) - LockSetForegroundWindow(LSFW_LOCK); - else - { - LockSetForegroundWindow(LSFW_UNLOCK); - if (item.id!=MENU_SLEEP && item.id!=MENU_HIBERNATE) - FadeOutItem(index); - // flush all messages to close the menus - // m_hWnd is not valid after this point - MSG msg; - while (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - PlayMenuSound(SOUND_COMMAND); - - // special handling for command items - TMenuID menuCommand=(item.id==MENU_SHUTDOWN_BUTTON)?s_ShutdownCommand:item.id; - - // translate command - switch (menuCommand) - { - case MENU_SEARCH_FILES: - if (!GetSettingString(L"SearchFilesCommand").IsEmpty()) - menuCommand=MENU_SEARCH_FILES_CUSTOM; - break; - case MENU_LOGOFF: // log off - if (GetSettingBool(L"ConfirmLogOff")) - menuCommand=MENU_LOGOFF_CONFIRM; - break; - case MENU_RESTART: - if (GetWinVersion()>=WIN_VER_WIN8 && bShift) - menuCommand=MENU_RESTART_ADVANCED; - else if (s_bHasUpdates && GetWinVersion()>=WIN_VER_WIN8) - menuCommand=MENU_RESTART_UPDATE; - else - menuCommand=MENU_RESTART_NOUPDATE; - break; - case MENU_SHUTDOWN: - if (s_bHasUpdates) - menuCommand=MENU_SHUTDOWN_UPDATE; - else if (GetWinVersion()>=WIN_VER_WIN8 && !bShift && GetSettingBool(L"HybridShutdown")) - menuCommand=MENU_SHUTDOWN_HYBRID; - else - menuCommand=MENU_SHUTDOWN_NOUPDATE; - break; - } - - switch (menuCommand) - { - case MENU_CLASSIC_SETTINGS: // show our settings -#ifdef PREVENT_CLOSING - EditSettings(true,0); -#else - EditSettings(false,0); -#endif - break; - case MENU_MORE_RESULTS: - g_SearchManager.LaunchExternalSearch(NULL,CSearchManager::CATEGORY_INVALID,searchText); - break; - case MENU_SEARCH_INTERNET: - g_SearchManager.LaunchInternetSearch(searchText); - break; - case MENU_SEARCH_EXECUTE: - ExecuteCommand(item.name,bShift && bCtrl,true); - break; - case MENU_SEARCH_FILES_CUSTOM: - ExecuteCommand(GetSettingString(L"SearchFilesCommand"),bShift && bCtrl,true); - break; - - default: - if (!ExecuteSysCommand(menuCommand) && item.pStdItem && item.pStdItem->command && *item.pStdItem->command) - { - wchar_t buf[1024]; - Strcpy(buf,_countof(buf),item.pStdItem->command); - DoEnvironmentSubst(buf,_countof(buf)); - if (!searchText.IsEmpty() && (wcswcs(buf,L"%1") || wcswcs(buf,L"%2"))) - DoSearchSubst(buf,_countof(buf),searchText); - ExecuteCommand(buf,bShift && bCtrl,false); - } - } - return; - } - - bool bHasMenu=false; - if (pItemPidl1) - bHasMenu=true; - else if (type==ACTIVATE_MENU && (item.id==MENU_EMPTY || item.id==MENU_EMPTY_TOP || item.id==MENU_SEARCH_CATEGORY)) - bHasMenu=true; - else if (type==ACTIVATE_MENU && item.id==MENU_APPS && (g_ItemManager.HasNewApps(true) || (pData && pData->bProgramsTree))) - bHasMenu=true; - if (!bHasMenu) - return; - - bool bUninstallPolicy=GetUninstallPolicy(); - - bool _bProtectedLink=false; - bool _bMetroApp=false; - bool _bExplicitAppId=false; - bool _bIsLink=false; - CString _path; - CItemManager::TLocation _location=CItemManager::LOCATION_UNKNOWN; - CString _appId; - if (item.pItemInfo && item.id!=MENU_APPS) - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - _bProtectedLink=item.pItemInfo->IsProtectedLink(); - _bMetroApp=item.pItemInfo->IsMetroApp(); - _path=item.pItemInfo->GetPath(); - _location=item.pItemInfo->GetLocation(); - _appId=item.pItemInfo->GetAppid(); - _bIsLink=item.pItemInfo->IsLink(); - _bExplicitAppId=item.pItemInfo->IsExplicitAppId(); - } - - // create a context menu for the selected item. the context menu can be shown (ACTIVATE_MENU) or its default - // item can be executed automatically (ACTIVATE_EXECUTE) - CComPtr pMenu; - HMENU menu=CreatePopupMenu(); - CComPtr pSecondaryMenu; - int secondaryCmd=CMD_LAST; - - CComPtr pItem; - int insertBefore=-1, insertSecondary=-1; - if (item.id==MENU_APPS) - { - insertBefore=0; - if (g_ItemManager.HasNewApps(true)) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_MARKOLD,FindTranslation(L"Menu.RemoveHighlight",L"Remove highlight")); - else if (!pData || !pData->bProgramsTree) - return; - } - else if (item.id==MENU_EMPTY || item.id==MENU_EMPTY_TOP || item.id==MENU_SEARCH_CATEGORY || type==ACTIVATE_MENU_BACKGROUND) - { - insertBefore=0; - } - else - { - bool bQueryMenu=true; - if (item.jumpIndex>=0) - { - const CJumpItem &jumpItem=s_JumpList.groups[LOWORD(item.jumpIndex)].items[HIWORD(item.jumpIndex)]; - // only items or links with no arguments can have a context menu - bQueryMenu=((type==ACTIVATE_MENU || type==ACTIVATE_PROPERTIES) && (jumpItem.type==CJumpItem::TYPE_ITEM || (jumpItem.type==CJumpItem::TYPE_LINK && !jumpItem.bHasArguments)) && !_path.IsEmpty()); - } - if (bQueryMenu) - { - SHCreateItemFromIDList(pItemPidl1,IID_IShellItem,(void**)&pItem); - CComQIPtr pItem2(pItem); - if (pItem2 && - ((item.categoryHash&CSearchManager::CATEGORY_MASK)!=CSearchManager::CATEGORY_ITEM || - (GetSettingInt(L"CompatibilityFixes")&COMPATIBILITY_UPDATE_ITEMS))) // don't update search items because we don't have the right bind context for them - pItem2->Update(NULL); - if (!pItem || FAILED(pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IContextMenu,(void**)&pMenu))) - { - DestroyMenu(menu); - return; - } - - UINT flags=CMF_DEFAULTONLY; - if (type==ACTIVATE_MENU) - { - flags=CMF_NORMAL|CMF_CANRENAME; - if (bShift) flags|=CMF_EXTENDEDVERBS; - } - if (type==ACTIVATE_DELETE || type==ACTIVATE_PROPERTIES) - flags=CMF_NORMAL; - if (type==ACTIVATE_RENAME) - flags=CMF_NORMAL|CMF_CANRENAME; - if (type==ACTIVATE_EXECUTE && bShift && bCtrl) - flags|=CMF_EXTENDEDVERBS; - HRESULT hr=pMenu->QueryContextMenu(menu,0,CMD_LAST,CMD_MAX,flags); - if (FAILED(hr)) - { - DestroyMenu(menu); - return; - } - secondaryCmd=CMD_LAST+LOWORD(hr)+10; - } - - if (item.bFolder && pItemPidl2) - { - // context menu for a double folder - remove most commands, add Open All Users - int n=GetMenuItemCount(menu); - for (int i=0;iCMD_MAX || FAILED(pMenu->GetCommandString(id-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - command[0]=0; - if (_stricmp(command,"open")==0) - { - if (GetSettingBool(L"EnableExplorer")) - { - if (!s_bNoCommonFolders) - InsertMenu(menu,i+1,MF_BYPOSITION|MF_STRING,CMD_OPEN_ALL,FindTranslation(L"Menu.OpenAll",L"O&pen All Users")); - InsertMenu(menu,i+2,MF_BYPOSITION|MF_SEPARATOR,0,0); - i+=2; - n+=2; - continue; - } - } - else if (_stricmp(command,"rename")==0 || _stricmp(command,"delete")==0) - { - if (item.id!=MENU_PROGRAMS) continue; - } - else if (_stricmp(command,"properties")==0) - { - insertBefore=i; - continue; - } - DeleteMenu(menu,i,MF_BYPOSITION); - i--; - n--; - } - } - else if (type==ACTIVATE_MENU && item.id==MENU_RECENT) - { - // context menu for a recent item - leave just open and runas - bool bHasUninstall=false; - int n=GetMenuItemCount(menu); - for (int i=0;iCMD_MAX || FAILED(pMenu->GetCommandString(id-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - command[0]=0; - if (_stricmp(command,"properties")==0) - { - insertBefore=i; - continue; - } - if (item.bMetroLink) - { - if (_stricmp(command,"pin_classic")==0 || _stricmp(command,"properties")==0) - continue; - } - else - { - if (bShift) - { - if (_stricmp(command,"delete")!=0 && _stricmp(command,"rename")!=0) - continue; - } - else - { - if (_stricmp(command,"open")==0 || _stricmp(command,"opencontaining")==0 || _stricmp(command,"runas")==0 || _stricmp(command,"runasuser")==0 - || _stricmp(command,"taskbarpin")==0 || _stricmp(command,"taskbarunpin")==0 || _stricmp(command,"pin_classic")==0 || _stricmp(command,"properties")==0) - continue; - if (_stricmp(command,"uninstall")==0) - { - bHasUninstall=true; - if (item.bMetroApp && bUninstallPolicy && !IsProtectedApp(_appId)) - continue; - } - } - } - DeleteMenu(menu,i,MF_BYPOSITION); - i--; - n--; - } - if (insertBefore==-1) - insertBefore=n; - - if (item.bMetroLink) - { - InsertMenu(menu,0,MF_BYPOSITION|MF_STRING,CMD_OPEN,FindTranslation(L"Menu.Open",L"&Open")); - SetMenuDefaultItem(menu,0,TRUE); - insertBefore++; - if (GetWinVersion()0) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_SEPARATOR,0,0); - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_DELETEMRU,FindTranslation(L"Menu.RemoveList",L"Remove &from this list")); - if (s_RecentPrograms==RECENT_PROGRAMS_RECENT) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_DELETEALL,FindTranslation(L"Menu.RemoveAll",L"C&lear recent items list")); - if (pItemPidl1 && GetSettingBool(L"EnableExplorer")) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_EXPLORE,FindTranslation(L"Menu.Explore",L"&Explore")); - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_SEPARATOR,0,0); - } - else if (type==ACTIVATE_MENU && item.bMetroLink && (_bProtectedLink || (m_Options&(CONTAINER_APPS|CONTAINER_SEARCH)))) - { - // context menu for a Metro link - just open, properties and Explore - int n=GetMenuItemCount(menu); - for (int i=0;iCMD_MAX || FAILED(pMenu->GetCommandString(id-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - command[0]=0; - if (_stricmp(command,"properties")==0 || _stricmp(command,"pin_classic")==0) - { - insertBefore=i; - continue; - } - DeleteMenu(menu,i,MF_BYPOSITION); - i--; - n--; - } - InsertMenu(menu,0,MF_BYPOSITION|MF_STRING,CMD_OPEN,FindTranslation(L"Menu.Open",L"&Open")); - SetMenuDefaultItem(menu,0,TRUE); - insertBefore++; - if (GetWinVersion()m_OriginalCount))) - { - // context menu for a search item - remove delete, rename and link - int n=GetMenuItemCount(menu); - for (int i=0;iCMD_MAX || FAILED(pMenu->GetCommandString(id-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - command[0]=0; - if (_stricmp(command,"properties")==0) - { - insertBefore=i; - continue; - } - if (_stricmp(command,"delete")!=0 && _stricmp(command,"rename")!=0) - continue; - DeleteMenu(menu,i,MF_BYPOSITION); - i--; - n--; - } - bool last=insertBefore==-1; - if (last) - insertBefore=n; - - CSearchManager::TItemCategory cat=(CSearchManager::TItemCategory)(item.categoryHash&CSearchManager::CATEGORY_MASK); - if (pItemPidl1 && (cat<=CSearchManager::CATEGORY_FILE || cat==CSearchManager::CATEGORY_AUTOCOMPLETE)) - { - bool bExplore=GetSettingBool(L"EnableExplorer"); - bool bPin=!s_PinFolder.IsEmpty() && (cat==CSearchManager::CATEGORY_SETTING || cat==CSearchManager::CATEGORY_METROSETTING); - if (bExplore || bPin) - { - if (n>0) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_SEPARATOR,0,0); - if (bPin) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_PINSETTING,FindTranslation(L"Menu.PinStartCs",L"Pin to Start menu (Open-Shell)")); - if (bExplore) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_EXPLORE,FindTranslation(L"Menu.Explore",L"&Explore")); - if (!last) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_SEPARATOR,0,0); - } - } - } - else if (item.jumpIndex>=0) - { - // context menu for a jumplist item - just properties - int n=GetMenuItemCount(menu); - for (int i=0;iCMD_MAX || FAILED(pMenu->GetCommandString(id-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - command[0]=0; - if (_stricmp(command,"properties")==0) - continue; - DeleteMenu(menu,i,MF_BYPOSITION); - i--; - n--; - } - insertBefore=0; - const CJumpGroup &group=s_JumpList.groups[LOWORD(item.jumpIndex)]; - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_OPEN,FindTranslation(L"Menu.Open",L"&Open")); - SetMenuDefaultItem(menu,0,TRUE); - if (group.type!=CJumpGroup::TYPE_TASKS) - { - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_SEPARATOR,0,0); - if (group.type==CJumpGroup::TYPE_PINNED) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_PIN,FindTranslation(L"JumpList.Unpin",L"&Unpin from this list")); - else - { - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_PIN,FindTranslation(L"JumpList.Pin",L"P&in to this list")); - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_DELETEMRU,FindTranslation(L"JumpList.Remove",L"Remove &from this list")); - } - if (n>0) - { - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_SEPARATOR,0,0); - if (GetSettingBool(L"EnableExplorer")) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_EXPLORE,FindTranslation(L"Menu.Explore",L"&Explore")); - } - } - } - else - { - bool bHasUninstall=false; - int n=GetMenuItemCount(menu); - for (int i=0;iCMD_MAX || FAILED(pMenu->GetCommandString(id-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - command[0]=0; - if (_stricmp(command,"properties")==0) - { - insertBefore=i; - continue; - } - bool bDelete=false; - if (item.pStdItem && (_stricmp(command,"rename")==0 || _stricmp(command,"delete")==0)) - bDelete=true; - else if (item.bMetroLink && _stricmp(command,"rename")==0) - bDelete=true; - else if (_stricmp(command,"uninstall")==0) - { - bHasUninstall=true; - if ((!item.bMetroApp && !item.bMetroLink) || !bUninstallPolicy || IsProtectedApp(_appId)) - bDelete=true; - } - else if (item.bStartScreen) - { - if (_stricmp(command,"rename")==0 || _stricmp(command,"delete")==0) - EnableMenuItem(menu,i,MF_GRAYED|MF_BYPOSITION); - else if (_stricmp(command,"pin_classic")==0 && IsSettingLocked(L"StartScreenShortcut")) - EnableMenuItem(menu,i,MF_GRAYED|MF_BYPOSITION); - else if (_stricmp(command,"open")==0 || _stricmp(command,"opencontaining")==0 || _stricmp(command,"runas")==0) - bDelete=true; - } - if (bDelete) - { - DeleteMenu(menu,i,MF_BYPOSITION); - i--; - n--; - } - } - if (insertBefore==-1) - insertBefore=n; - if (item.bMetroLink) - { - InsertMenu(menu,0,MF_BYPOSITION|MF_STRING,CMD_OPEN,FindTranslation(L"Menu.Open",L"&Open")); - SetMenuDefaultItem(menu,0,TRUE); - insertBefore++; - if (GetWinVersion()=0) - { - pSecondaryMenu=GetMetroPinMenu(_appId); - if (pSecondaryMenu) - { - pSecondaryMenu->QueryContextMenu(menu,insertSecondary,secondaryCmd,CMD_MAX,CMF_NORMAL); - } - } - - s_HotPos=GetMessagePos(); - int res=0; - if (type==ACTIVATE_EXECUTE) - { - // just pick the default item - res=GetMenuDefaultItem(menu,FALSE,0); - if (bShift && bCtrl) - { - // find the runas verb if available - res=-1; - char command[256]; - int n=GetMenuItemCount(menu); - for (int i=0;i=CMD_LAST && id<=CMD_MAX && SUCCEEDED(pMenu->GetCommandString(id-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - { - if (_stricmp(command,"runas")==0) - { - res=id; - break; - } - } - } - if (res==-1) - { - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName))) - { - ExecuteCommand(pName,true,false); - DestroyMenu(menu); - s_HotPos=GetMessagePos(); - return; - } - res=0; - } - } - if (res<0) res=0; - } - else if (type==ACTIVATE_RENAME || type==ACTIVATE_DELETE || type==ACTIVATE_PROPERTIES) - { - if ((type==ACTIVATE_RENAME || type==ACTIVATE_DELETE) && item.bStartScreen) - res=0; - else if (type==ACTIVATE_DELETE && item.id==MENU_RECENT) - res=CMD_DELETEMRU; - else if ((type==ACTIVATE_RENAME || type==ACTIVATE_DELETE) && item.bMetroLink && (_bProtectedLink || (m_Options&(CONTAINER_APPS|CONTAINER_SEARCH)))) - res=0; - else - { - const char *name; - switch (type) - { - case ACTIVATE_RENAME: name="rename"; break; - case ACTIVATE_DELETE: name="delete"; break; - case ACTIVATE_PROPERTIES: name="properties"; break; - } - char command[256]; - int n=GetMenuItemCount(menu); - for (int i=0;i=CMD_LAST && id<=CMD_MAX && SUCCEEDED(pMenu->GetCommandString(id-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - { - if (_stricmp(command,name)==0) - { - res=id; - break; - } - } - } - if (res<0) res=0; - } - } - else - { - if (!GetSettingBool(L"EnableExplorer")) - { - // disable the Open verb - char command[256]; - int n=GetMenuItemCount(menu); - for (int i=0;i=CMD_LAST && id<=CMD_MAX && SUCCEEDED(pMenu->GetCommandString(id-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - { - if ((item.bFolder && !item.bSplit && pItemPidl1 && _stricmp(command,"open")==0) || _stricmp(command,"opencontaining")==0) - { - EnableMenuItem(menu,i,MF_BYPOSITION|MF_GRAYED); - } - } - } - } - - // show the context menu - m_pMenu2=pMenu; - m_pMenu3=pMenu; - HBITMAP shellBmp=NULL; - HBITMAP newFolderBmp=NULL; - HBITMAP newShortcutBmp=NULL; - if ((item.id==MENU_NO || item.id==MENU_EMPTY || type==ACTIVATE_MENU_BACKGROUND || (item.id==MENU_APPS && pData && pData->bProgramsTree)) && item.jumpIndex<0 && index0) - { - if (GetSettingBool(L"CascadingMenu")) - { - menu2=CreatePopupMenu(); - subMenuIdx=insertBefore; - insertBefore=0; - } - } - bool bSort=false, bAutoSort=false, bNew=false, bMarkOld=false; - if (pData && pData->bProgramsTree) - { - bNew=!(item.pItemInfo && _location==CItemManager::LOCATION_METRO) && !pData->bApps && GetSettingBool(L"ShowNewFolder"); - bSort=true; - bAutoSort=pData->bAutoSort; - } - else - { - int n=0; - for (std::vector::const_iterator it=m_Items.begin();it!=m_Items.end();++it) - if (it->id==MENU_NO) - n++; - if (n>1) - bSort=true; // more than 1 movable items - wchar_t path[_MAX_PATH]; - if (!(m_Options&CONTAINER_APPS) && !(item.pItemInfo && _location==CItemManager::LOCATION_METRO) && !(m_Options&CONTAINER_NONEWFOLDER) && GetSettingBool(L"ShowNewFolder") && SHGetPathFromIDList(m_Path1[item.priority==2?1:0],path)) - bNew=true; - bAutoSort=(m_Options&CONTAINER_AUTOSORT)!=0; - } - bMarkOld=item.bNew && pItemPidl1; - - if (bSort) - InsertMenu(menu2,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_SORT,FindTranslation(L"Menu.SortByName",L"Sort &by Name")); - - if (m_FolderHash[0]) - InsertMenu(menu2,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_AUTOSORT,FindTranslation(L"Menu.AutoArrange",L"&Auto Arrange")); - if (bAutoSort) - { - EnableMenuItem(menu2,CMD_SORT,MF_BYCOMMAND|MF_GRAYED); - CheckMenuItem(menu2,CMD_AUTOSORT,MF_BYCOMMAND|MF_CHECKED); - } - if (bNew) - { - InsertMenu(menu2,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_NEWFOLDER,FindTranslation(L"Menu.NewFolder",L"New Folder")); - InsertMenu(menu2,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_NEWSHORTCUT,FindTranslation(L"Menu.NewShortcut",L"New Shortcut")); - } - if (bMarkOld) - InsertMenu(menu2,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_MARKOLD,FindTranslation(L"Menu.RemoveHighlight",L"Remove highlight")); - if (menu!=menu2 && GetMenuItemCount(menu2)==0) - { - DestroyMenu(menu2); - menu2=menu; - } - else - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_SEPARATOR,0,0); - - if (bNew || menu!=menu2) - { - int size=GetSystemMetrics(SM_CXSMICON); - if (bNew) - { - HMODULE hShell32=GetModuleHandle(L"shell32.dll"); - HICON hIcon=(HICON)LoadImage(hShell32,MAKEINTRESOURCE(319),IMAGE_ICON,size,size,LR_DEFAULTCOLOR); - if (hIcon) - { - newFolderBmp=BitmapFromIcon(hIcon,size,NULL,true); - MENUITEMINFO mii={sizeof(mii)}; - mii.fMask=MIIM_BITMAP; - mii.hbmpItem=newFolderBmp; - SetMenuItemInfo(menu2,CMD_NEWFOLDER,FALSE,&mii); - } - hIcon=(HICON)LoadImage(hShell32,MAKEINTRESOURCE(16769),IMAGE_ICON,size,size,LR_DEFAULTCOLOR); - if (hIcon) - { - newShortcutBmp=BitmapFromIcon(hIcon,size,NULL,true); - MENUITEMINFO mii={sizeof(mii)}; - mii.fMask=MIIM_BITMAP; - mii.hbmpItem=newShortcutBmp; - SetMenuItemInfo(menu2,CMD_NEWSHORTCUT,FALSE,&mii); - } - } - if (menu!=menu2) - { - InsertMenu(menu,subMenuIdx,MF_BYPOSITION|MF_POPUP,(UINT_PTR)menu2,FindTranslation(L"Menu.Organize",L"Organize Start menu")); - HICON hIcon=(HICON)LoadImage(g_Instance,MAKEINTRESOURCE(IDI_APPICON),IMAGE_ICON,size,size,LR_DEFAULTCOLOR); - if (hIcon) - { - shellBmp=BitmapFromIcon(hIcon,size,NULL,true); - MENUITEMINFO mii={sizeof(mii)}; - mii.fMask=MIIM_BITMAP; - mii.hbmpItem=shellBmp; - SetMenuItemInfo(menu,subMenuIdx,TRUE,&mii); - } - } - } - } - if (item.id==MENU_SEARCH_CATEGORY) - { - InsertMenu(menu,0,MF_BYPOSITION|MF_STRING,CMD_TOGGLE,item.categoryHash==m_SearchCategoryHash?FindTranslation(L"Menu.Collapse",L"Coll&apse"):FindTranslation(L"Menu.Expand",L"Exp&and")); - if (item.categoryHash>=CSearchManager::CATEGORY_FILE) - { - wchar_t text[256]; - Sprintf(text,_countof(text),L"%s\t(Ctrl+Enter)",FindTranslation(L"Menu.MoreResults",L"See more results")); - InsertMenu(menu,1,MF_BYPOSITION|MF_STRING,CMD_EXPLORE,text); - } - SetMenuDefaultItem(menu,(pData && pData->bArrow)?1:0,TRUE); - } - - if (item.id==MENU_PROGRAMS) - { - bool bNew; - if (s_bWin7Style && GetWinVersion()>=WIN_VER_WIN8 && GetSettingBool(L"AllProgramsMetro")) - bNew=g_ItemManager.HasNewPrograms(true) || g_ItemManager.HasNewApps(true); - else - bNew=g_ItemManager.HasNewPrograms(true); - if (bNew) - InsertMenu(menu,insertBefore++,MF_BYPOSITION|MF_STRING,CMD_MARKOLD,FindTranslation(L"Menu.RemoveHighlight",L"Remove highlight")); - } - if (pData && pData->bProgramsTree && item.bFolder && type==ACTIVATE_MENU) - { - InsertMenu(menu,0,MF_BYPOSITION|MF_STRING,CMD_TOGGLE,pData->bExpanded?FindTranslation(L"Menu.Collapse",L"Coll&apse"):FindTranslation(L"Menu.Expand",L"Exp&and")); - SetMenuDefaultItem(menu,0,TRUE); - InsertMenu(menu,1,MF_BYPOSITION|MF_SEPARATOR,0,0); - } - - // remove multiple separators - { - bool bSeparator=true; - int n=GetMenuItemCount(menu); - for (int i=0;i0 && bSeparator) - DeleteMenu(menu,n-1,MF_BYPOSITION); - } - - TPMPARAMS params={sizeof(params)}, *pParams=NULL; - POINT pt2; - if (pPt) - pt2=*pPt; - else - { - GetItemRect(index,params.rcExclude); - MapWindowPoints(NULL,¶ms.rcExclude); - pt2.x=params.rcExclude.left; - pt2.y=params.rcExclude.top; - pParams=¶ms; - } - SetContextItem(index); - InvalidateItem(index); - KillTimer(TIMER_HOVER); - res=0; - if (GetMenuItemCount(menu)>0) - { - LOG_MENU(LOG_EXECUTE,L"Open context menu, ptr=%p",this); - res=TrackPopupMenuEx(menu,TPM_RIGHTBUTTON|TPM_RETURNCMD|TPM_VERTICAL|(IsLanguageRTL()?TPM_LAYOUTRTL:0),pt2.x,pt2.y,m_hWnd,pParams); - LOG_MENU(LOG_EXECUTE,L"Select context menu, ptr=%p, index=%d",this,res); - } - SetContextItem(-1); - if (m_HotItem<0 && !m_bDestroyed) SetHotItem(index); - if (m_pMenu2) m_pMenu2.Release(); - if (m_pMenu3) m_pMenu3.Release(); - if (newFolderBmp) DeleteObject(newFolderBmp); - if (newShortcutBmp) DeleteObject(newShortcutBmp); - if (shellBmp) DeleteObject(shellBmp); - } - - ExitGuard guard; // no returns are allowed until the end cleanup - if (pData) pData->command=res; - - - if (type==ACTIVATE_EXECUTE) - { - if (bKeepOpen) - LockSetForegroundWindow(LSFW_LOCK); - else - { - LockSetForegroundWindow(LSFW_UNLOCK); - FadeOutItem(index); - } - PlayMenuSound(SOUND_COMMAND); - } - - if (res==CMD_PINSETTING) - { - CSearchManager::TItemCategory cat=(CSearchManager::TItemCategory)(item.categoryHash&CSearchManager::CATEGORY_MASK); - if (cat==CSearchManager::CATEGORY_SETTING) - CreatePinLink(pItemPidl1,item.name,NULL,0); - else if (cat==CSearchManager::CATEGORY_METROSETTING) - CreatePinLink(pItemPidl1,item.name,L"%windir%\\ImmersiveControlPanel\\systemsettings.exe",0); - m_bRefreshItems=true; - } - - // handle our standard commands - if (item.jumpIndex>=0 && res!=CMD_EXPLORE && resbProgramsTree && m_pProgramsTree) - { - m_pProgramsTree->OrderElements(pData->hTreeItem,TreeView_GetParent(m_pProgramsTree->m_hWnd,pData->hTreeItem),std::vector(),false,true); - } - else - { - std::vector items; - for (int i=0;i=WIN_VER_WIN8 && GetSettingBool(L"AllProgramsMetro")); - if (m_pProgramsTree) - m_pProgramsTree->ClearAllNew(); - } - else - g_ItemManager.RemoveNewItem(pItemPidl1,pItemPidl2,item.bFolder); - PostRefreshMessage(); - } - if (res==CMD_AUTOSORT) - { - if (pData && pData->bProgramsTree) - { - m_pProgramsTree->OrderElements(pData->hTreeItem,TreeView_GetParent(m_pProgramsTree->m_hWnd,pData->hTreeItem),std::vector(),!pData->bAutoSort,true); - } - else - { - if (m_FolderHash[0]) - { - CRegKey regOrder; - if (regOrder.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order")!=ERROR_SUCCESS) - regOrder.Create(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order"); - wchar_t name[100]; - Sprintf(name,_countof(name),L"%08X",m_FolderHash[0]); - if (m_Options&CONTAINER_AUTOSORT) - regOrder.SetBinaryValue(name,NULL,0); - else - { - DWORD cAuto='AUTO'; - regOrder.SetBinaryValue(name,&cAuto,4); - } - if (m_FolderHash[1]) - { - Sprintf(name,_countof(name),L"%08X",m_FolderHash[1]); - if (m_Options&CONTAINER_AUTOSORT) - regOrder.SetBinaryValue(name,NULL,0); - else - { - DWORD cAuto='AUTO'; - regOrder.SetBinaryValue(name,&cAuto,4); - } - } - } - PostRefreshMessage(); - } - res=0; - } - - if (res==CMD_NEWFOLDER) - { - g_RenameText=item.name; - if (pPt) - g_RenamePos=*pPt; - else - { - g_RenamePos.x=item.itemRect.left; - g_RenamePos.y=item.itemRect.top; - ClientToScreen(&g_RenamePos); - } - bool bAllPrograms=s_bAllPrograms; - for (std::vector::iterator it=s_Menus.begin();it!=s_Menus.end();++it) - (*it)->EnableWindow(FALSE); // disable all menus - if (bAllPrograms) ::EnableWindow(g_TopWin7Menu,FALSE); - - CComPtr pFolder; // have to use IShellFolder for renaming because it's the only one that supports changing the display name - if (pItemPidl1) - { - PCUITEMID_CHILD pidl; - SHBindToParent(pItemPidl1,IID_IShellFolder,(void**)&pFolder,&pidl); - } - else if (pData && pData->bProgramsTree) - { - CComPtr pDesktop; - if (SUCCEEDED(SHGetDesktopFolder(&pDesktop))) - pDesktop->BindToObject(pData->parent,NULL,IID_IShellFolder,(void**)&pFolder); - } - else - { - CComPtr pDesktop; - if (SUCCEEDED(SHGetDesktopFolder(&pDesktop))) - pDesktop->BindToObject(m_Path1[0],NULL,IID_IShellFolder,(void**)&pFolder); - } - - if (pFolder) - { - CComPtr pMenu2; - HMENU menu2=CreatePopupMenu(); - - std::vector items; - { - CComPtr pEnum; - if (pFolder->EnumObjects(NULL,SHCONTF_FOLDERS,&pEnum)!=S_OK) pEnum=NULL; - - PITEMID_CHILD child; - while (pEnum && pEnum->Next(1,&child,NULL)==S_OK) - { - STRRET str; - if (SUCCEEDED(pFolder->GetDisplayNameOf(child,SHGDN_INFOLDER|SHGDN_FORPARSING,&str))) - { - CComString pName; - StrRetToStr(&str,child,&pName); - items.push_back(CalcFNVHash(pName)); - } - ILFree(child); - } - } - - s_bPreventClosing=true; - if (SUCCEEDED(pFolder->CreateViewObject(g_OwnerWindow,IID_IContextMenu,(void**)&pMenu2))) - { - if (SUCCEEDED(pMenu2->QueryContextMenu(menu2,0,1,32767,CMF_NORMAL))) - { - CMINVOKECOMMANDINFOEX info={sizeof(info),CMIC_MASK_UNICODE}; - info.lpVerb="NewFolder"; - info.lpVerbW=L"NewFolder"; - info.nShow=SW_SHOWNORMAL; - info.fMask|=CMIC_MASK_NOASYNC; - info.hwnd=g_OwnerWindow; - pMenu2->InvokeCommand((CMINVOKECOMMANDINFO*)&info); - } - } - DestroyMenu(menu2); - HideTemp(false); - s_bPreventClosing=false; - - PITEMID_CHILD newPidl=NULL; - unsigned int newHash=0; - { - CComPtr pEnum; - if (pFolder->EnumObjects(NULL,SHCONTF_FOLDERS,&pEnum)!=S_OK) pEnum=NULL; - - PITEMID_CHILD child; - while (pEnum && pEnum->Next(1,&child,NULL)==S_OK) - { - STRRET str; - if (SUCCEEDED(pFolder->GetDisplayNameOf(child,SHGDN_INFOLDER|SHGDN_FORPARSING,&str))) - { - CComString pName; - StrRetToStr(&str,child,&pName); - unsigned int hash=CalcFNVHash(pName); - if (std::find(items.begin(),items.end(),hash)==items.end()) - { - if (SUCCEEDED(pFolder->GetDisplayNameOf(child,SHGDN_INFOLDER|SHGDN_FOREDITING,&str))) - { - CComString pName2; - StrRetToStr(&str,child,&pName2); - g_RenameText=pName2; - } - else - g_RenameText=pName; - pName.MakeUpper(); - newHash=CalcFNVHash(pName,item.priority==2?CalcFNVHash(L"\\"):FNV_HASH0); - newPidl=child; - break; - } - } - ILFree(child); - } - } - - if (!pData || !pData->bProgramsTree) - { - PostRefreshMessage(); - if (!m_bDestroyed) - PostMessage(MCM_SETCONTEXTITEM,newHash); - } - // show the Rename dialog box - s_bPreventClosing=true; - if (newPidl && DialogBox(g_Instance,MAKEINTRESOURCE(s_bRTL?IDD_RENAMER:IDD_RENAME),g_OwnerWindow,RenameDlgProc)) - { - PITEMID_CHILD newPidl2=NULL; - if (SUCCEEDED(pFolder->SetNameOf(g_OwnerWindow,newPidl,g_RenameText,SHGDN_INFOLDER,&newPidl2))) - { - ILFree(newPidl); - newPidl=newPidl2; - if (!pData || !pData->bProgramsTree) - { - PostRefreshMessage(); - StringUpper(g_RenameText); - newHash=CalcFNVHash(g_RenameText,item.priority==2?CalcFNVHash(L"\\"):FNV_HASH0); - if (!m_bDestroyed) - PostMessage(MCM_SETCONTEXTITEM,newHash); - } - } - } - if (newPidl && pData && pData->bProgramsTree) - { - CComPtr pNewItem; - if (SUCCEEDED(SHCreateItemWithParent(NULL,pFolder,newPidl,IID_IShellItem,(void**)&pNewItem))) - { - CAbsolutePidl newAbsPidl; - if (SUCCEEDED(SHGetIDListFromObject(pNewItem,&newAbsPidl))) - pData->pNewItemInfo=g_ItemManager.GetItemInfo(pNewItem,newAbsPidl,0); - } - } - if (newPidl) ILFree(newPidl); - for (std::vector::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); - if (!m_bDestroyed) - { - SetForegroundWindow(m_hWnd); - SetActiveWindow(); - if (pData && pData->bProgramsTree) - m_pProgramsTree->SetFocus(); - else - SetFocus(); - Invalidate(); - if (m_HotItem<0) SetHotItem(index); - } - HideTemp(false); - s_bPreventClosing=false; - } - SetContextItem(-1); - res=0; - } - - if (res==CMD_NEWSHORTCUT) - { - wchar_t target[_MAX_PATH+1]; - if (pData && pData->bProgramsTree) - SHGetPathFromIDList(pData->parent,target); - else - SHGetPathFromIDList(m_Path1[0],target); - target[Strlen(target)+1]=0; - wchar_t fname[_MAX_PATH+1]; - - // first try in the original folder - PathMakeUniqueName(fname,_countof(fname)-1,L"scut.lnk",L"New Shortcut.lnk",target); - HANDLE hFile=CreateFile(fname,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); - if (hFile!=INVALID_HANDLE_VALUE) - { - CloseHandle(hFile); - - // just run the shortcut wizard - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"rundll32.exe appwiz.cpl,NewLinkHere %s",fname); - - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - wchar_t exe[_MAX_PATH]=L"%windir%\\system32\\rundll32.exe"; - DoEnvironmentSubst(exe,_countof(exe)); - if (CreateProcess(exe,cmdLine,NULL,NULL,FALSE,0,NULL,target,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - CloseHandle(processInfo.hProcess); - } - } - else if (GetLastError()==ERROR_ACCESS_DENIED) - { - // there was a problem, most likely UAC didn't let us create a folder - - // create a temp folder just for us - wchar_t temp[_MAX_PATH]; - GetTempPath(_countof(temp),temp); - Strcat(temp,_countof(temp),L"OpenShell"); - CreateDirectory(temp,NULL); - - // make a unique link file and keep a handle to the file - PathMakeUniqueName(fname,_countof(fname)-1,L"scut.lnk",L"New Shortcut.lnk",temp); - - HANDLE hFile=CreateFile(fname,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); - if (hFile!=INVALID_HANDLE_VALUE) - { - CloseHandle(hFile); - // wait for the wizard to finish in a separate thread and close the menu - // otherwise it appears behind the menu - ShortcutParams *pParams=new ShortcutParams; - memcpy(pParams->target,target,sizeof(target)); - memcpy(pParams->temp,temp,sizeof(temp)); - memcpy(pParams->fname,fname,sizeof(fname)); - CreateThread(NULL,0,NewShortcutThread,pParams,0,NULL); - } - } - res=0; - } - - if (res==CMD_DELETEMRU && item.id==MENU_RECENT && s_RecentPrograms!=RECENT_PROGRAMS_NONE) - { - if (s_RecentPrograms==RECENT_PROGRAMS_RECENT) - { - CComString pName; - if (_bMetroApp) - DeleteMRUAppId(_appId); - else if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName))) - DeleteMRUShortcut(pName); - } - else if (s_RecentPrograms==RECENT_PROGRAMS_FREQUENT) - { - RemoveMFUShortcut(item.mfuHash,_bMetroApp); - } - PostRefreshMessage(); - res=0; - } - if (res==CMD_DELETEALL && item.id==MENU_RECENT && s_RecentPrograms==RECENT_PROGRAMS_RECENT) - { - DeleteMRUShortcut(NULL); - PostRefreshMessage(); - res=0; - } - - if (res==CMD_EXPLORE) - { - if (item.id==MENU_SEARCH_CATEGORY) - { - for (std::list::const_iterator it=s_SearchResults.indexed.begin();it!=s_SearchResults.indexed.end();++it) - { - if (item.categoryHash==it->categoryHash) - { - FadeOutItem(index); - PlayMenuSound(SOUND_COMMAND); - g_SearchManager.LaunchExternalSearch(it->search,it->categoryHash,searchText); - break; - } - } - } - else - { - SHOpenFolderAndSelectItems(pItemPidl1,0,NULL,0); - } - res=0; - } - - if (res==CMD_UNINSTALL) - { - UninstallMetroApp(g_OwnerWindow,item.name,_appId); - res=0; - } - - if (item.id==MENU_SEARCH_CATEGORY && res==CMD_TOGGLE) - { - m_SearchCategoryHash=(m_SearchCategoryHash==item.categoryHash)?CSearchManager::CATEGORY_INVALID:item.categoryHash; - RefreshSearch(); - res=0; - } - - // handle the shell commands - if (res>=CMD_LAST) - { - // handle special verbs - char command[256]; - if (FAILED(pMenu->GetCommandString(res-CMD_LAST,GCS_VERBA,NULL,command,_countof(command)))) - command[0]=0; - if (_stricmp(command,"rename")==0) - { - // show the Rename dialog box - CComPtr pFolder; // have to use IShellFolder for renaming because it's the only one that supports changing the display name - PCUITEMID_CHILD pidl; - s_bPreventClosing=true; - STRRET str; - if (SUCCEEDED(SHBindToParent(pItemPidl1,IID_IShellFolder,(void**)&pFolder,&pidl)) && SUCCEEDED(pFolder->GetDisplayNameOf(pidl,SHGDN_FOREDITING,&str))) - { - CComString pName; - StrRetToStr(&str,pidl,&pName); - g_RenameText=pName; - } - else - g_RenameText=item.name; - if (pPt) - g_RenamePos=*pPt; - else - { - g_RenamePos.x=item.itemRect.left; - g_RenamePos.y=item.itemRect.top; - ClientToScreen(&g_RenamePos); - } - for (std::vector::iterator it=s_Menus.begin();it!=s_Menus.end();++it) - (*it)->EnableWindow(FALSE); // disable all menus - bool bAllPrograms=s_bAllPrograms; - if (bAllPrograms) ::EnableWindow(g_TopWin7Menu,FALSE); - - SetContextItem(index); - InvalidateItem(index); - bool bRenamed=DialogBox(g_Instance,MAKEINTRESOURCE(s_bRTL?IDD_RENAMER:IDD_RENAME),g_OwnerWindow,RenameDlgProc)!=0; - SetContextItem(-1); - if (m_HotItem<0) SetHotItem(index); - - if (bRenamed) - { - if (GetWinVersion()>=WIN_VER_WIN8) - { - SetForegroundWindow(m_hWnd); - SetActiveWindow(); - if (pData && pData->bProgramsTree) - m_pProgramsTree->SetFocus(); - else - SetFocus(); - } - // perform the rename operation - PITEMID_CHILD newPidl; - if (SUCCEEDED(pFolder->SetNameOf(g_OwnerWindow,pidl,g_RenameText,SHGDN_INFOLDER,&newPidl))) - { - STRRET str; - if (SUCCEEDED(pFolder->GetDisplayNameOf(newPidl,SHGDN_INFOLDER|SHGDN_FORPARSING,&str))) - { - CComString pName; - StrRetToStr(&str,newPidl,&pName); - pName.MakeUpper(); - m_Items[index].name=g_RenameText; - m_Items[index].nameHash=CalcFNVHash(pName); - - if (!(m_Options&CONTAINER_AUTOSORT) && (!pData || !pData->bProgramsTree)) - { - std::vector items; - for (int i=0;iGetDisplayNameOf(newPidl,SHGDN_FORPARSING,&str))) - { - CComString pPath; - StrRetToStr(&str,newPidl,&pPath); - CComPtr pLink; - pLink.CoCreateInstance(CLSID_ShellLink); - CComQIPtr pFile(pLink); - if (pFile && SUCCEEDED(pFile->Load(pPath,STGM_READWRITE))) - { - CComQIPtr pStore(pLink); - if (pStore) - { - PROPVARIANT val; - InitPropVariantFromString(_appId,&val); - if (SUCCEEDED(pStore->SetValue(PKEY_AppUserModel_ID,val)) && SUCCEEDED(pStore->Commit())) - pFile->Save(pPath,TRUE); - PropVariantClear(&val); - } - } - } - - if (pData) - { - CComPtr pNewItem; - if (SUCCEEDED(SHCreateItemWithParent(NULL,pFolder,newPidl,IID_IShellItem,(void**)&pNewItem))) - { - CAbsolutePidl newAbsPidl; - if (SUCCEEDED(SHGetIDListFromObject(pNewItem,&newAbsPidl))) - pData->pNewItemInfo=g_ItemManager.GetItemInfo(pNewItem,newAbsPidl,0); - } - } - } - ILFree(newPidl); - } - if (!pData || !pData->bProgramsTree) - PostRefreshMessage(); - } - for (std::vector::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); - if (!m_bDestroyed) - { - SetForegroundWindow(m_hWnd); - SetActiveWindow(); - if (pData && pData->bProgramsTree) - m_pProgramsTree->SetFocus(); - else - SetFocus(); - } - HideTemp(false); - s_bPreventClosing=false; - s_HotPos=GetMessagePos(); - res=CMD_RENAME; - } - else if (_stricmp(command,"uninstall")==0 && _bMetroApp && !_appId.IsEmpty()) - { - UninstallMetroApp(g_OwnerWindow,item.name,_appId); - } - else - { - bool bRefreshMain=_stricmp(command,"pin_classic")==0; - bool bRefresh=(_stricmp(command,"delete")==0 || _stricmp(command,"link")==0); - - if (item.bStartScreen && _stricmp(command,"pin_classic")==0) - { - { - CSettingsLockWrite lock; - CSetting *pSetting=FindSetting(L"StartScreenShortcut"); - if (!pSetting->IsLocked()) - { - pSetting->value=CComVariant(0); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - } - } - SaveSettings(); - } - - IContextMenu *pInvokeMenu=pMenu; - int verbOffset=CMD_LAST; - if (pSecondaryMenu && res>=secondaryCmd) - { - pInvokeMenu=pSecondaryMenu; - verbOffset=secondaryCmd; - } - CMINVOKECOMMANDINFOEX info={sizeof(info),CMIC_MASK_UNICODE|CMIC_MASK_FLAG_LOG_USAGE}; - info.lpVerb=MAKEINTRESOURCEA(res-verbOffset); - info.lpVerbW=MAKEINTRESOURCEW(res-verbOffset); - info.nShow=SW_SHOWNORMAL; - wchar_t dir[_MAX_PATH]; - if (SHGetPathFromIDList(pItemPidl1,dir)) - { - PathRemoveFileSpec(dir); - if (GetFileAttributes(dir)!=INVALID_FILE_ATTRIBUTES) - info.lpDirectoryW=dir; - } - if (pPt) - { - info.fMask|=CMIC_MASK_PTINVOKE; - info.ptInvoke=*pPt; - } - if (type==ACTIVATE_MENU) - { - if (bCtrl) info.fMask|=CMIC_MASK_CONTROL_DOWN; - if (bShift) info.fMask|=CMIC_MASK_SHIFT_DOWN; - } - - if (bRefresh || bRefreshMain) - info.fMask|=CMIC_MASK_NOASYNC; // wait for delete/link commands to finish so we can refresh the menu - - if ((type!=ACTIVATE_MENU && type!=ACTIVATE_DELETE) || GetWinVersion()::iterator it=s_Menus.begin();it!=s_Menus.end();++it) - (*it)->EnableWindow(FALSE); // disable all menus - bool bAllPrograms=s_bAllPrograms; - if (bAllPrograms) ::EnableWindow(g_TopWin7Menu,FALSE); - info.hwnd=g_OwnerWindow; - - RECT rc; - GetWindowRect(&rc); - ::SetForegroundWindow(g_OwnerWindow); - ::SetWindowPos(g_OwnerWindow,HWND_TOPMOST,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top,0); - LOG_MENU(LOG_EXECUTE,L"Invoke command, ptr=%p, command='%S'",this,command); - HRESULT hr=pInvokeMenu->InvokeCommand((LPCMINVOKECOMMANDINFO)&info); - LOG_MENU(LOG_EXECUTE,L"Invoke command, ptr=%p, res=%d",this,hr); - if (type==ACTIVATE_EXECUTE && SUCCEEDED(hr)) - { - if (bTrackRecent) - { - if (_bMetroApp) - AddMRUAppId(_appId); - else if (_path.IsEmpty()) - { - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName))) - AddMRUShortcut(pName); - } - else - AddMRUShortcut(_path); - } - g_ItemManager.RemoveNewItem(pItemPidl1,NULL,false); - if (!(m_Options&CONTAINER_LINK)) - { - // update item ranks - CComString pName; - if (_bMetroApp) - { - CString APPID=_appId; - APPID.MakeUpper(); - g_SearchManager.AddItemRank(CalcFNVHash(APPID)); - } - else if (SUCCEEDED(pItem->GetDisplayName(SIGDN_PARENTRELATIVEPARSING,&pName))) // can't use item.name because the extension may be removed - { - pName.MakeUpper(); - g_SearchManager.AddItemRank(CalcFNVHash(pName)); - } - } - } - for (std::vector::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); - if (bRefreshMain && m_bSubMenu) - { - CMenuContainer *pMain=s_Menus[0]; - if (!pMain->m_bSubMenu && !pMain->m_bDestroyed) - { - SetForegroundWindow(pMain->m_hWnd); - pMain->SetActiveWindow(); - pMain->SetFocus(); - CloseSubMenus(CLOSE_POST,pMain); - pMain->PostRefreshMessage(); - } - } - else if ((bRefresh || bKeepOpen || bRefreshMain) && !m_bDestroyed) - { - SetForegroundWindow(m_hWnd); - SetActiveWindow(); - if (m_Options&CONTAINER_SEARCH) - { - m_pParent->m_SearchBox.SetFocus(); - SetWindowPos(HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE); - } - else if (pData && pData->bProgramsTree) - m_pProgramsTree->SetFocus(); - else - SetFocus(); - } - HideTemp(false); - s_bPreventClosing=false; - - if (!bKeepOpen && !bRefresh && !bRefreshMain) - { - HWND active=GetActiveWindow(); - if (active!=m_hWnd && active!=g_OwnerWindow) - { - // if after all the window is not active, then another application was launched - close all menus - CloseSubMenus(CLOSE_POST,NULL); - if (g_TopWin7Menu && s_bAllPrograms) ::PostMessage(g_TopWin7Menu,WM_CLOSE,0,0); - } - } - if (_stricmp(command,"delete")==0) - res=CMD_DELETE; - - if ((bRefresh && (!pData || !pData->bProgramsTree)) || (bRefreshMain && !m_bSubMenu)) - { - if (bRefreshMain && !m_bSubMenu && (s_MenuMode==MODE_SEARCH || s_MenuMode==MODE_JUMPLIST)) - m_bRefreshItems=true; - else - PostRefreshMessage(); // refresh the menu after an item was deleted or created - } - } - } - DestroyMenu(menu); - s_HotPos=GetMessagePos(); - if (pData && res) pData->command=res; - LOG_MENU(LOG_EXECUTE,L"Exit activate, ptr=%p",this); - guard.Disarm(); -} - -void CMenuContainer::ActivateTreeItem( const void *treeItem, RECT &itemRect, TActivateType type, const POINT *pPt, ActivateData *pData ) -{ - AddRef(); // prevent the menu from being deleted while processing the operation - Assert(pData && pData->bProgramsTree); - const CProgramsTree::CTreeItem *pTreeItem=(CProgramsTree::CTreeItem*)treeItem; - MenuItem &item=m_Items[m_ProgramTreeIndex]; - item.id=MENU_NO; - if (pTreeItem->bApps) - item.id=MENU_APPS; - else if (pTreeItem->bEmpty) - item.id=MENU_EMPTY; - item.name=pTreeItem->name; - item.pItemInfo=pTreeItem->pItemInfo1; - RECT rc=item.itemRect; - item.itemRect=itemRect; - item.pItem1=pTreeItem->pItemInfo1?(PIDLIST_ABSOLUTE)pTreeItem->pItemInfo1->GetPidl():NULL; - item.pItem2=pTreeItem->pItemInfo2?(PIDLIST_ABSOLUTE)pTreeItem->pItemInfo2->GetPidl():NULL; - item.bFolder=pTreeItem->bFolder; - item.bMetroLink=false; - item.bMetroApp=false; - item.bNew=pTreeItem->bNew; - if (pTreeItem->pItemInfo1) - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - item.bMetroLink=pTreeItem->pItemInfo1->IsMetroLink(); - item.bMetroApp=pTreeItem->pItemInfo1->IsMetroApp(); - } - pData->bApps=pTreeItem->bApps; - ActivateItem(m_ProgramTreeIndex,type,pPt,pData); - item.id=MENU_PROGRAMS_TREE; - item.itemRect=rc; - item.name.Empty(); - item.pItemInfo=NULL; - item.pItem1=NULL; - item.pItem2=NULL; - Release(); -} - -void CMenuContainer::DragTreeItem( const void *treeItem, bool bApp ) -{ - const CProgramsTree::CTreeItem *pTreeItem=(CProgramsTree::CTreeItem*)treeItem; - MenuItem &item=m_Items[m_ProgramTreeIndex]; - item.id=MENU_NO; - item.name=pTreeItem->name; - item.pItemInfo=pTreeItem->pItemInfo1; - item.pItem2=pTreeItem->pItemInfo2?(PIDLIST_ABSOLUTE)pTreeItem->pItemInfo2->GetPidl():NULL; - item.bFolder=pTreeItem->bFolder; - item.bMetroLink=false; - item.bMetroApp=false; - if(item.pItemInfo) - { - item.pItem1=pTreeItem->pItemInfo1->GetPidl(); - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - item.bMetroLink=item.pItemInfo->IsMetroLink(); - item.bMetroApp=item.pItemInfo->IsMetroApp(); - } - DragOut(m_ProgramTreeIndex,bApp); - item.id=MENU_PROGRAMS_TREE; - item.name.Empty(); - item.pItemInfo=NULL; - item.pItem1=NULL; - item.pItem2=NULL; -} - -void CMenuContainer::RunUserCommand( bool bPicture ) -{ - CString command=GetSettingString(bPicture?L"UserPictureCommand":L"UserNameCommand"); - if (!command.IsEmpty()) - ExecuteCommand(command,false,true); -} - -static DWORD WINAPI FaderThreadProc( void *param ) -{ - ((CMenuFader*)param)->Create(); - MSG msg; - while (GetMessage(&msg,NULL,0,0)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - return 0; -} - -void CMenuContainer::FadeOutItem( int index ) -{ - int speed=GetSettingInt(L"MenuFadeSpeed"); - if (speed<=0) return; - - RECT rc; - - HBITMAP bmp=NULL; - HRGN region=NULL; - if (index==m_ProgramTreeIndex) - { - HWND tree=m_pProgramsTree->m_hWnd; - HTREEITEM hItem=TreeView_GetSelection(tree); - TreeView_GetItemRect(tree,hItem,&rc,FALSE); - - BITMAPINFO dib={sizeof(dib)}; - dib.bmiHeader.biWidth=rc.right-rc.left; - dib.bmiHeader.biHeight=rc.top-rc.bottom; - dib.bmiHeader.biPlanes=1; - dib.bmiHeader.biBitCount=32; - dib.bmiHeader.biCompression=BI_RGB; - - HDC hdc=CreateCompatibleDC(NULL); - if (s_bRTL) SetLayout(hdc,LAYOUT_RTL); - unsigned int *bits; - bmp=CreateDIBSection(hdc,&dib,DIB_RGB_COLORS,(void**)&bits,NULL,0); - HGDIOBJ bmp0=SelectObject(hdc,bmp); - SetViewportOrgEx(hdc,-rc.left,-rc.top,NULL); - m_pProgramsTree->SendMessage(WM_PRINTCLIENT,(WPARAM)hdc,PRF_CLIENT); - SelectObject(hdc,bmp0); - DeleteDC(hdc); - m_pProgramsTree->MapWindowPoints(NULL,&rc); - } - else - { - GetItemRect(index,rc); - BITMAPINFO dib={sizeof(dib)}; - dib.bmiHeader.biWidth=rc.right-rc.left; - dib.bmiHeader.biHeight=rc.top-rc.bottom; - dib.bmiHeader.biPlanes=1; - dib.bmiHeader.biBitCount=32; - dib.bmiHeader.biCompression=BI_RGB; - - HDC hdc=CreateCompatibleDC(NULL); - if (s_bRTL) SetLayout(hdc,LAYOUT_RTL); - unsigned int *bits; - bmp=CreateDIBSection(hdc,&dib,DIB_RGB_COLORS,(void**)&bits,NULL,0); - HGDIOBJ bmp0=SelectObject(hdc,bmp); - SetViewportOrgEx(hdc,-rc.left,-rc.top,NULL); - - // create a region from the opaque pixels of the selection bitmap - MenuSkin::TItemDrawType drawType=m_Items[index].drawType; - if (drawType==MenuSkin::COLUMN1_NEW) - drawType=MenuSkin::COLUMN1_ITEM; - else if (drawType==MenuSkin::COLUMN2_NEW) - drawType=MenuSkin::COLUMN2_ITEM; - else if (drawType==MenuSkin::SUBMENU_NEW) - drawType=MenuSkin::SUBMENU_ITEM; - const MenuSkin::ItemDrawSettings &settings=s_Skin.ItemSettings[drawType]; - if (settings.bmpSelection.GetBitmap() && settings.bmpSelection.bIs32) - { - HDC hdc2=CreateCompatibleDC(hdc); - SetLayout(hdc2,0); - HGDIOBJ bmp02=SelectObject(hdc2,settings.bmpSelection.GetBitmap()); - FillRect(hdc,&rc,(HBRUSH)GetStockObject(WHITE_BRUSH)); - RECT rSrc={0,0,settings.selSlicesX[0]+settings.selSlicesX[1]+settings.selSlicesX[2],settings.selSlicesY[0]+settings.selSlicesY[1]+settings.selSlicesY[2]}; - RECT rMargins={settings.selSlicesX[0],settings.selSlicesY[0],settings.selSlicesX[2],settings.selSlicesY[2]}; - if (m_Items[index].id==MENU_SHUTDOWN_BUTTON) - { - rSrc.right+=settings.selSlicesX[3]+settings.selSlicesX[4]+settings.selSlicesX[5]; - rMargins.right=settings.selSlicesX[5]; - } - int w=dib.bmiHeader.biWidth; - int h=-dib.bmiHeader.biHeight; - if (rMargins.left>w) rMargins.left=w; - if (rMargins.right>w) rMargins.right=w; - if (rMargins.top>h) rMargins.top=h; - if (rMargins.bottom>h) rMargins.bottom=h; - MarginsBlit(hdc2,hdc,rSrc,rc,rMargins,false); - SelectObject(hdc2,bmp02); - DeleteDC(hdc2); - SelectObject(hdc,bmp0); - - for (int y=0;y>24)>=32) - { - if (minx==-1) minx=x; // first non-transparent pixel - if (maxx=0) - { - maxx++; - HRGN r=CreateRectRgn(minx,y,maxx,y+1); - AddTrackedObject(r); - if (!region) - region=r; - else - { - CombineRgn(region,region,r,RGN_OR); - DeleteObject(r); - } - } - } - - SelectObject(hdc,bmp); - } - - DrawBackground(hdc,rc); - - SelectObject(hdc,bmp0); - DeleteDC(hdc); - MapWindowPoints(NULL,&rc); - } - - if (bmp) - { - CMenuFader *pFader=new CMenuFader(bmp,region,speed,rc); - CreateThread(NULL,0,FaderThreadProc,pFader,0,NULL); - } -} - -/////////////////////////////////////////////////////////////////////////////// - -CMenuFader::CMenuFader( HBITMAP bmp, HRGN region, int duration, RECT &rect ) -{ - m_Bitmap=bmp; - m_Region=region; - m_Duration=duration; - m_Rect=rect; - s_Faders.push_back(this); -} - -CMenuFader::~CMenuFader( void ) -{ - if (m_Bitmap) DeleteObject(m_Bitmap); - if (m_Region) DeleteObject(m_Region); - s_Faders.erase(std::find(s_Faders.begin(),s_Faders.end(),this)); -} - -void CMenuFader::Create( void ) -{ - bool bRtl=false; - if (m_Rect.left>m_Rect.right) - { - bRtl=true; - int q=m_Rect.left; m_Rect.left=m_Rect.right; m_Rect.right=q; - } - CWindowImpl::Create(NULL,&m_Rect,NULL,WS_POPUP,WS_EX_TOOLWINDOW|WS_EX_TOPMOST|WS_EX_LAYERED|(bRtl?WS_EX_LAYOUTRTL:0)); - ShowWindow(SW_SHOWNOACTIVATE); - if (m_Region) - { - SetWindowRgn(m_Region); - m_Region=NULL; - } - SetTimer(1,20); - m_Time0=0; - m_LastTime=0; - PostMessage(WM_TIMER,0,0); - SetLayeredWindowAttributes(m_hWnd,0,255,LWA_ALPHA); -} - -LRESULT CMenuFader::OnEraseBkgnd( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - RECT rc; - GetClientRect(&rc); - HDC hdc=(HDC)wParam; - - // draw the background - HDC hdc2=CreateCompatibleDC(hdc); - HGDIOBJ bmp0=SelectObject(hdc2,m_Bitmap); - BitBlt(hdc,0,0,rc.right,rc.bottom,hdc2,0,0,SRCCOPY); - SelectObject(hdc2,bmp0); - DeleteDC(hdc2); - return 1; -} - -LRESULT CMenuFader::OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_Time0==0) - m_Time0=GetMessageTime(); - int t=GetMessageTime()-m_Time0; - const int MAX_DELTA=80; // allow at most 80ms between redraws. if more, slow down time - if (t>MAX_DELTA+m_LastTime) - { - m_Time0+=t-MAX_DELTA-m_LastTime; - t=MAX_DELTA+m_LastTime; - } - m_LastTime=t; - if (tSendMessage(WM_CLOSE); -} diff --git a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp b/Src/StartMenu/StartMenuDLL/MenuContainer.cpp deleted file mode 100644 index 61a9dbb..0000000 --- a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp +++ /dev/null @@ -1,9170 +0,0 @@ -// 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 - -// MenuContainer.cpp - contains the main logic of CMenuContainer - -#include "stdafx.h" -#include "MenuContainer.h" -#include "Accessibility.h" -#include "StartMenuDLL.h" -#include "StartButton.h" -#include "Settings.h" -#include "Translations.h" -#include "CustomMenu.h" -#include "LogManager.h" -#include "FNVHash.h" -#include "ResourceHelper.h" -#include "SettingsUIHelper.h" -#include "DownloadHelper.h" -#include "SettingsUI.h" -#include "MetroLinkManager.h" -#include "ProgramsTree.h" -#include "dllmain.h" -#include "resource.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#define SECURITY_WIN32 -#include -#include -#include - -struct StdMenuOption -{ - TMenuID id; - int options; -}; - -// Options for special menu items -enum -{ - MENU_NONE = 0, - MENU_ENABLED = 1, // the item shows in the menu - MENU_EXPANDED = 2, // the item is expanded -}; - -static StdMenuOption g_StdOptions[]= -{ - {MENU_COMPUTER,MENU_NONE}, // MENU_ENABLED|MENU_EXPANDED from settings - {MENU_FAVORITES,MENU_NONE}, // MENU_ENABLED|MENU_EXPANDED from settings, check policy - {MENU_DOCUMENTS,MENU_NONE}, // MENU_ENABLED|MENU_EXPANDED from settings, check policy - {MENU_HELP,MENU_ENABLED}, // check policy - {MENU_RUN,MENU_ENABLED}, // check policy - {MENU_LOGOFF,MENU_ENABLED}, // MENU_ENABLED from settings, check policy - {MENU_RESTART,MENU_ENABLED}, // MENU_ENABLED - {MENU_RESTART_NOUPDATE,MENU_ENABLED}, // only available when there are updates - {MENU_DISCONNECT,MENU_NONE}, // MENU_ENABLED if in a remote session, check policy - {MENU_SHUTDOWN_BOX,MENU_ENABLED}, // MENU_NONE if in a remote session, check policy - {MENU_SHUTDOWN_BUTTON,MENU_ENABLED|MENU_EXPANDED}, // MENU_ENABLED|MENU_EXPANDED from the settings - {MENU_SHUTDOWN,MENU_ENABLED}, // MENU_NONE if in a remote session, check policy - {MENU_SHUTDOWN_NOUPDATE,MENU_ENABLED}, // only available when there are updates - {MENU_UNDOCK,MENU_ENABLED}, // from settings, check policy - {MENU_CONTROLPANEL,MENU_ENABLED|MENU_EXPANDED}, // MENU_EXPANDED from settings, check policy - {MENU_NETWORK,MENU_ENABLED}, // MENU_EXPANDED from settings, check policy - {MENU_SECURITY,MENU_ENABLED}, // MENU_ENABLED if in a remote session - {MENU_PRINTERS,MENU_ENABLED}, // MENU_EXPANDED from settings, check policy - {MENU_TASKBAR,MENU_ENABLED}, // check policy - {MENU_FEATURES,MENU_ENABLED}, // no setting (prevents the Programs and Features from expanding), check policy (for control panel) - {MENU_CLASSIC_SETTINGS,MENU_ENABLED}, // MENU_ENABLED from ini file - {MENU_SEARCH,MENU_ENABLED}, // check policy - {MENU_SEARCH_BOX,MENU_NONE}, // check settings - {MENU_SEARCH_PRINTER,MENU_NONE}, // MENU_ENABLED if Active Directory is available - {MENU_SEARCH_COMPUTERS,MENU_NONE}, // MENU_ENABLED if Active Directory is available, check policy - {MENU_SEARCH_PEOPLE,MENU_NONE}, // MENU_ENABLED if %ProgramFiles%\Windows Mail\wab.exe exists - {MENU_USERFILES,MENU_ENABLED}, // check policy - {MENU_USERDOCUMENTS,MENU_ENABLED}, // check policy - {MENU_USERPICTURES,MENU_ENABLED}, // check policy - {MENU_SLEEP,MENU_ENABLED}, // check power caps - {MENU_HIBERNATE,MENU_ENABLED}, // check power caps - {MENU_SWITCHUSER,MENU_ENABLED}, // check group policy - {MENU_APPS,MENU_ENABLED}, // enable on Win8+ - {MENU_PCSETTINGS,MENU_ENABLED}, // enable on Win8+ -}; - -/////////////////////////////////////////////////////////////////////////////// - -void CUserWindow::Init( CMenuContainer *pOwner ) -{ - const MenuSkin &skin=CMenuContainer::s_Skin; - m_pOwner=pOwner; - m_Size=skin.User_bitmapSize; - 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_Bitmap=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,(void**)&m_Bits,NULL,0); - DeleteDC(hdc); - memset(m_Bits,0,m_Size.cx*m_Size.cy*4); - m_Source.resize(m_Size.cx*m_Size.cy*2); - m_bUserBitmapMask=(skin.User_mask.bIsBitmap && skin.User_mask.bIs32 && skin.User_maskSize.cx==skin.User_image_size && skin.User_maskSize.cy==skin.User_image_size); - if (m_bUserBitmapMask) - m_UserBitmap=CMenuContainer::LoadUserImage(skin.User_image_size,skin.User_mask.GetBitmap()); - else - m_UserBitmap=CMenuContainer::LoadUserImage(skin.User_image_size,NULL); - m_TimerBitmap=(HBITMAP)1; - SetImage(NULL,false); -} - -void CUserWindow::StartImageTimer( HBITMAP bmp ) -{ - if (m_TimerBitmap==bmp) return; - m_TimerBitmap=bmp; - DWORD time; - SystemParametersInfo(SPI_GETMOUSEHOVERTIME,NULL,&time,0); - SetTimer(TIMER_SET,time); -} - -void CUserWindow::SetImage( HBITMAP bmp, bool bAnimate ) -{ - m_bDefaultImage=!bmp; - EnableWindow(m_bDefaultImage); - int size=m_Size.cx*m_Size.cy; - memcpy(&m_Source[0],m_Bits,size*4); - - HDC hdst=CreateCompatibleDC(NULL); - RECT rc={0,0,m_Size.cx,m_Size.cy}; - HGDIOBJ bmp0=SelectObject(hdst,m_Bitmap); - FillRect(hdst,&rc,(HBRUSH)GetStockObject(BLACK_BRUSH)); - HDC hsrc=CreateCompatibleDC(NULL); - HGDIOBJ bmp01=GetCurrentObject(hsrc,OBJ_BITMAP); - int iconSize=bmp?CItemManager::EXTRA_LARGE_ICON_SIZE:CMenuContainer::s_Skin.User_image_size; - if (bmp) - { - SelectObject(hsrc,bmp); - BitBlt(hdst,(m_Size.cx-iconSize)/2,(m_Size.cy-iconSize)/2,iconSize,iconSize,hsrc,0,0,SRCCOPY); - } - else - { - if (m_UserBitmap) - { - SelectObject(hsrc,m_UserBitmap); - BitBlt(hdst,CMenuContainer::s_Skin.User_image_offset.x,CMenuContainer::s_Skin.User_image_offset.y,iconSize,iconSize,hsrc,0,0,SRCCOPY); - } - if (CMenuContainer::s_Skin.User_bitmap.GetBitmap()) - { - SelectObject(hsrc,CMenuContainer::s_Skin.User_bitmap.GetBitmap()); - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdst,0,0,m_Size.cx,m_Size.cy,hsrc,0,0,m_Size.cx,m_Size.cy,func); - } - } - SelectObject(hsrc,bmp01); - DeleteDC(hsrc); - SelectObject(hdst,bmp0); - DeleteDC(hdst); - - memcpy(&m_Source[size],m_Bits,size*4); - if (!bmp && !m_bUserBitmapMask) - { - int dx=CMenuContainer::s_Skin.User_image_offset.x; - int dy=m_Size.cy-CMenuContainer::s_Skin.User_image_offset.y-1; - for (int y=0;yleft) - { - int dx=pClipRect->left-pos.x; - pos.x+=dx; - size.cx-=dx; - srcPos.x+=dx; - } - if (pos.x+size.cx>pClipRect->right) - size.cx=pClipRect->right-pos.x; - - if (pos.ytop) - { - int dy=pClipRect->top-pos.y; - pos.y+=dy; - size.cy-=dy; - srcPos.y+=dy; - } - if (pos.y+size.cy>pClipRect->bottom) - size.cy=pClipRect->bottom-pos.y; - } - if (size.cx<0) size.cx=0; - if (size.cy<0) size.cy=0; - - HDC hSrc=CreateCompatibleDC(NULL); - HGDIOBJ bmp0=SelectObject(hSrc,m_Bitmap); - UpdateLayeredWindow(m_hWnd,NULL,&pos,&size,hSrc,&srcPos,0,&func,ULW_ALPHA); - SelectObject(hSrc,bmp0); - DeleteDC(hSrc); -} - -LRESULT CUserWindow::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_Bitmap) DeleteObject(m_Bitmap); - m_Bitmap=NULL; - if (m_UserBitmap) DeleteObject(m_UserBitmap); - m_UserBitmap=NULL; - return 0; -} - -LRESULT CUserWindow::OnLButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_bDefaultImage) - m_pOwner->RunUserCommand(true); - return 0; -} - -LRESULT CUserWindow::OnSetCursor( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_bDefaultImage) - SetCursor(LoadCursor(NULL,IDC_HAND)); - else - bHandled=FALSE; - return TRUE; -} - -LRESULT CUserWindow::OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - const int BLEND_STEP=5; - if (wParam==TIMER_BLEND) - { - m_Timer+=BLEND_STEP; - if (m_Timer>100) m_Timer=100; - - // blend the two images - int n=m_Size.cx*m_Size.cy; - for (int i=0;i>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)*m_Timer/100; - int r=r1+(r2-r1)*m_Timer/100; - int g=g1+(g2-g1)*m_Timer/100; - int b=b1+(b2-b1)*m_Timer/100; - m_Bits[i]=(a<<24)|(r<<16)|(g<<8)|b; - } - - Update(); - if (m_Timer==100) - KillTimer(TIMER_BLEND); - } - if (wParam==TIMER_SET) - { - SetImage(m_TimerBitmap,true); - m_TimerBitmap=(HBITMAP)1; - KillTimer(TIMER_SET); - } - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -int CMenuContainer::s_MaxRecentDocuments=15; -int CMenuContainer::s_ScrollMenus=0; -bool CMenuContainer::s_bRTL=false; -bool CMenuContainer::s_bKeyboardCues=false; -bool CMenuContainer::s_bOverrideFirstDown=false; -bool CMenuContainer::s_bExpandRight=true; -TRecentPrograms CMenuContainer::s_RecentPrograms=RECENT_PROGRAMS_NONE; -bool CMenuContainer::s_bBehindTaskbar=true; -bool CMenuContainer::s_bShowTopEmpty=false; -bool CMenuContainer::s_bNoDragDrop=false; -bool CMenuContainer::s_bNoContextMenu=false; -bool CMenuContainer::s_bExpandLinks=false; -bool CMenuContainer::s_bLogicalSort=false; -bool CMenuContainer::s_bExtensionSort=false; -bool CMenuContainer::s_bAllPrograms=false; -bool CMenuContainer::s_bNoCommonFolders=false; -bool CMenuContainer::s_bNoRun=false; -bool CMenuContainer::s_bNoClose=false; -bool CMenuContainer::s_bHasTouch=false; -char CMenuContainer::s_bActiveDirectory=-1; -bool CMenuContainer::s_bPreventClosing=false; -bool CMenuContainer::s_bDragClosed=false; -bool CMenuContainer::s_bTempHidden=false; -bool CMenuContainer::s_bDisableHover=false; -bool CMenuContainer::s_bHasUpdates=false; -CMenuContainer *CMenuContainer::s_pDragSource=NULL; -bool CMenuContainer::s_bDragFromTree; -bool CMenuContainer::s_bDragMovable; -bool CMenuContainer::s_bRightDrag; -bool CMenuContainer::s_bLockWorkArea; -bool CMenuContainer::s_bPendingSearchEnter; -std::vector CMenuContainer::s_Menus; -volatile HWND CMenuContainer::s_FirstMenu, CMenuContainer::s_SearchMenu; -CSearchManager::SearchResults CMenuContainer::s_SearchResults; -std::map CMenuContainer::s_MenuScrolls; -CString CMenuContainer::s_MRUShortcuts[MRU_PROGRAMS_COUNT]; -bool CMenuContainer::s_bMRULoaded=false; -const CItemManager::ItemInfo *CMenuContainer::s_JumpAppInfo; -CJumpList CMenuContainer::s_JumpList; -int CMenuContainer::s_TaskBarId; -HWND CMenuContainer::s_TaskBar, CMenuContainer::s_StartButton; -UINT CMenuContainer::s_TaskBarEdge; -RECT CMenuContainer::s_StartRect; -HWND CMenuContainer::s_LastFGWindow; -HTHEME CMenuContainer::s_Theme; -HTHEME CMenuContainer::s_PagerTheme; -CWindow CMenuContainer::s_Tooltip; -CWindow CMenuContainer::s_TooltipBalloon; -int CMenuContainer::s_TipShowTime; -int CMenuContainer::s_TipHideTime; -int CMenuContainer::s_TipShowTimeFolder; -int CMenuContainer::s_TipHideTimeFolder; -DWORD CMenuContainer::s_HotPos; -int CMenuContainer::s_HotItem; -CMenuContainer *CMenuContainer::s_pHotMenu; -int CMenuContainer::s_TipItem; -CMenuContainer *CMenuContainer::s_pTipMenu; -RECT CMenuContainer::s_MenuLimits; -RECT CMenuContainer::s_MainMenuLimits; -DWORD CMenuContainer::s_TaskbarState; -DWORD CMenuContainer::s_HoverTime; -DWORD CMenuContainer::s_SplitHoverTime; -DWORD CMenuContainer::s_ProgramsHoverTime; -DWORD CMenuContainer::s_XMouse; -DWORD CMenuContainer::s_SubmenuStyle; -CLIPFORMAT CMenuContainer::s_ShellFormat; -CLIPFORMAT CMenuContainer::s_ShellUrlFormat; -CLIPFORMAT CMenuContainer::s_DescriptorFormat; -CLIPFORMAT CMenuContainer::s_ContentsFormat; -CLIPFORMAT CMenuContainer::s_MetroLinkFormat; -CLIPFORMAT CMenuContainer::s_PreferredEffectFormat; -CLIPFORMAT CMenuContainer::s_DropDescriptionFormat; -MenuSkin CMenuContainer::s_Skin; -CMenuContainer::StartMenuParams CMenuContainer::s_StartMenuParams; -UINT CMenuContainer::s_StartMenuMsg; -std::vector CMenuFader::s_Faders; -bool CMenuContainer::s_bWin7Style; -CMenuContainer::TMenuMode CMenuContainer::s_MenuMode; -CMenuContainer::TMenuMode CMenuContainer::s_PreSearchMenuMode; -TMenuID CMenuContainer::s_ShutdownCommand; -int CMenuContainer::s_MenuHeight; -int CMenuContainer::s_MenuMaxHeight[2]; -int CMenuContainer::s_MenuWidthNormal; -int CMenuContainer::s_MenuWidthJump; -int CMenuContainer::s_MenuWidthMax; -int CMenuContainer::s_BackgroundW1, CMenuContainer::s_BackgroundW2, CMenuContainer::s_BackgroundH1, CMenuContainer::s_BackgroundH2; -CMenuContainer::OldMenuState CMenuContainer::s_OldMenuState; -CUserWindow CMenuContainer::s_UserPicture; -RECT CMenuContainer::s_UserPictureRect; -int CMenuContainer::s_ProgramsScrollPos; -HBITMAP CMenuContainer::s_ArrowsBitmap; -unsigned int CMenuContainer::s_LastArrowColor; -char CMenuContainer::s_HasMoreResults; -int CMenuContainer::s_ProgramsWidth, CMenuContainer::s_JumplistWidth; -CComPtr CMenuContainer::s_pFrameworkInputPane; -CString CMenuContainer::s_PinFolder; - -LRESULT CALLBACK CMenuContainer::SubclassSearchBox( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - CMenuContainer *pParent=(CMenuContainer*)uIdSubclass; - CWindow box(hWnd); - if (uMsg==WM_PAINT && !pParent->m_bNoSearchDraw) - { - // use buffered paint to allow the edit box to appear on a glass background - pParent->m_bNoSearchDraw=true; - - PAINTSTRUCT ps; - HDC hdc=box.BeginPaint(&ps); - - BP_PAINTPARAMS paintParams={sizeof(paintParams)}; - HDC hdcPaint=NULL; - HPAINTBUFFER hBufferedPaint=BeginBufferedPaint(hdc,&ps.rcPaint,BPBF_TOPDOWNDIB,&paintParams,&hdcPaint); - if (hdcPaint) - { - SendMessage(hWnd,WM_PRINTCLIENT,(WPARAM)hdcPaint,PRF_CLIENT); - BufferedPaintSetAlpha(hBufferedPaint,&ps.rcPaint,255); - EndBufferedPaint(hBufferedPaint,TRUE); - } - box.EndPaint(&ps); - - pParent->m_bSearchDrawn=true; - pParent->m_bNoSearchDraw=false; - return 0; - } - if (uMsg==WM_PRINTCLIENT) - { - LRESULT res=DefSubclassProc(hWnd,uMsg,wParam,lParam); - HDC hdc=(HDC)wParam; - if ((lParam&PRF_CLIENT) && ::GetWindowTextLength(hWnd)==0 && ((GetSettingInt(L"SearchBox")==SEARCHBOX_NORMAL && GetSettingBool(L"SearchSelect")) || GetFocus()!=hWnd) && pParent->m_SearchIndex>=0) - { - RECT rc; - ::SendMessage(hWnd,EM_GETRECT,0,(LPARAM)&rc); - if (s_bRTL) - rc.right-=3; - else - rc.left+=3; - HGDIOBJ font0=SelectObject(hdc,s_Skin.Search_hint_font); - SetBkColor(hdc,GetSysColor(COLOR_WINDOW)); - SetBkMode(hdc,TRANSPARENT); - SetTextColor(hdc,s_Skin.Search_text_colors[1]); - DrawText(hdc,pParent->m_Items[pParent->m_SearchIndex].name,-1,&rc,DT_SINGLELINE|DT_EDITCONTROL|(s_bRTL?DT_RIGHT:DT_LEFT)); - SelectObject(hdc,font0); - } - return res; - } - if (uMsg==WM_KEYDOWN) - { - if (wParam==VK_TAB) - { - s_bPendingSearchEnter=false; - // forward Tabs to the parent - return pParent->SendMessage(uMsg,wParam,lParam); - } - if (wParam==VK_UP || wParam==VK_DOWN) - { - s_bPendingSearchEnter=false; - // forward up/down keys - CMenuContainer *pSearchMenu=s_Menus[s_Menus.size()-1]; - if (pSearchMenu->m_Options&CONTAINER_SEARCH) - return pSearchMenu->SendMessage(uMsg,wParam,lParam); // forward to the search menu - else - return pParent->SendMessage(uMsg,wParam,lParam); // forward to the parent - } - if (wParam==VK_PRIOR || wParam==VK_NEXT) - { - s_bPendingSearchEnter=false; - // forward page keys - CMenuContainer *pSearchMenu=s_Menus[s_Menus.size()-1]; - if (pSearchMenu->m_Options&CONTAINER_SEARCH) - return pSearchMenu->SendMessage(uMsg,wParam,lParam); // forward to the search menu - else - return pParent->SendMessage(uMsg,wParam,lParam); // forward to the parent - } - if (wParam==VK_LEFT || wParam==VK_RIGHT) - { - // forward left/right keys - if (::GetWindowTextLength(hWnd)==0) - return pParent->SendMessage(uMsg,wParam,lParam); // forward to the parent - } - if (wParam==VK_RETURN) - { - // forward Enter to the submenu, or execute the current string - CMenuContainer *pSearchMenu=s_Menus[s_Menus.size()-1]; - bool bShift=GetKeyState(VK_SHIFT)<0; - bool bCtrl=GetKeyState(VK_CONTROL)<0; - if ((pSearchMenu->m_Options&CONTAINER_SEARCH) || (!pSearchMenu->m_bSubMenu && s_MenuMode==MODE_SEARCH)) - { - if (pSearchMenu->m_HotItem>=0 && pSearchMenu->m_HotItem<(int)pSearchMenu->m_Items.size() && - pSearchMenu->m_Items[pSearchMenu->m_HotItem].id!=MENU_EMPTY && pSearchMenu->m_Items[pSearchMenu->m_HotItem].id!=MENU_SEARCH_EMPTY) - { - pSearchMenu->SendMessage(WM_KEYDOWN,VK_RETURN); - } - else if (!s_bNoRun && (!s_SearchResults.bSearching || s_SearchResults.bResults)) - { - CString command; - CWindow(hWnd).GetWindowText(command); - if (!command.IsEmpty()) - pSearchMenu->ExecuteCommand(command,bShift && bCtrl,true); - } - else if (s_SearchResults.bSearching && !s_SearchResults.bResults) - { - s_bPendingSearchEnter=true; - } - } - return 0; - } - if (wParam==VK_ESCAPE) - { - s_bPendingSearchEnter=false; - // forward Esc to the parent or clear the string - if (box.GetWindowTextLength()==0) - pParent->PostMessage(WM_KEYDOWN,VK_ESCAPE); - else - box.SetWindowText(L""); - return 0; - } - if (wParam==VK_BACK && GetKeyState(VK_CONTROL)<0) - { - wchar_t text[1024]; - ::GetWindowText(hWnd,text,_countof(text)); - int len=Strlen(text); - int pos=(int)::SendMessage(hWnd,EM_GETSEL,0,0); - if (LOWORD(pos)==HIWORD(pos)) - { - pos=LOWORD(pos); - if (pos>len) pos=len; - int start=0; - for (int i=0;i0 && (text[i-1]==' ' || text[i-1]=='\\') && text[i]!=text[i-1]) - start=i; - } - pos=MAKELONG(start,pos); - } - int start=LOWORD(pos); - int end=HIWORD(pos); - if (start>len) start=len; - if (end>len) end=len; - memmove(text+start,text+end,(len-end+1)*2); - ::SetWindowText(hWnd,text); - ::SendMessage(hWnd,EM_SETSEL,start,start); - return 0; - } - } - if (uMsg==WM_SYSCHAR) - { - CMenuContainer *pSearchMenu=s_Menus[s_Menus.size()-1]; - if (pSearchMenu->m_Options&CONTAINER_SEARCH) - { - if (!pSearchMenu->SendMessage(WM_CHAR,wParam,lParam)) - return 0; - } - pParent->SendMessage(WM_CHAR,wParam,lParam); - } - if (uMsg==WM_SYSKEYDOWN) - { - if (s_bWin7Style) - { - pParent->SendMessage(WM_SYSKEYDOWN,wParam,lParam); - if (wParam==VK_MENU) - pParent->ShowKeyboardCues(); - } - else - { - CMenuContainer *pSearchMenu=s_Menus[s_Menus.size()-1]; - if (pSearchMenu->m_Options&CONTAINER_SEARCH) - pSearchMenu->SendMessage(WM_SYSKEYDOWN,wParam,lParam); - } - } - if (uMsg==WM_CHAR && (wParam==VK_RETURN || wParam==10 || wParam==VK_ESCAPE || wParam==VK_TAB || wParam==127)) - { - // prevent a beep when Enter, Esc or Tab is pressed - return 0; - } - if (uMsg==WM_MOUSEACTIVATE) - { - pParent->ActivateItem(pParent->m_SearchIndex,ACTIVATE_SELECT,NULL); - s_bDisableHover=!s_bWin7Style; - // close all sub-menus - CloseSubMenus(CLOSE_SKIP_SEARCH,pParent); - ::SetFocus(hWnd); - if (s_bBehindTaskbar && s_TaskBar) - pParent->SetWindowPos(s_TaskBar,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE); - return MA_NOACTIVATE; - } - if (uMsg==WM_SETFOCUS) - { - pParent->SetSearchState(::GetWindowTextLength(hWnd)>0?SEARCH_TEXT:SEARCH_BLANK); - } - if (uMsg==WM_KILLFOCUS) - { - s_bPendingSearchEnter=false; - if (!s_bPreventClosing) - { -#ifndef PREVENT_CLOSING - box.SetWindowText(L""); - pParent->SetSearchState(SEARCH_NONE); -#endif - } - } - if (uMsg==WM_CONTEXTMENU && (lParam&0xFFFFFFFF)==0xFFFFFFFF) - { - if (s_bWin7Style) - return pParent->SendMessage(WM_CONTEXTMENU,wParam,lParam); - else - { - CMenuContainer *pSearchMenu=s_Menus[s_Menus.size()-1]; - if (pSearchMenu->m_Options&CONTAINER_SEARCH) - return pSearchMenu->SendMessage(WM_CONTEXTMENU,wParam,lParam); - } - } - if (uMsg==WM_MOUSEWHEEL) - { - if (s_bWin7Style) - return pParent->SendMessage(WM_MOUSEWHEEL,wParam,lParam); - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CALLBACK CMenuContainer::SubclassScrollbar( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - CMenuContainer *pParent=(CMenuContainer*)uIdSubclass; - if (!pParent->m_ScrollTheme) - { - return DefSubclassProc(hWnd,uMsg,wParam,lParam); - } - DWORD oldThread=g_CustomScrollbarThread; - g_CustomScrollbarThread=GetCurrentThreadId(); - g_CustomScrollbarTheme=pParent->m_ScrollTheme; - LRESULT res=DefSubclassProc(hWnd,uMsg,wParam,lParam); - g_CustomScrollbarThread=oldThread; - if (!oldThread) - g_CustomScrollbarTheme=NULL; - return res; -} - -int CMenuContainer::CompareMenuString( const wchar_t *str1, const wchar_t *str2 ) -{ - if (s_bExtensionSort) - { - const wchar_t *ext1=PathFindExtension(str1); - const wchar_t *ext2=PathFindExtension(str2); - int cmp=CompareString(LOCALE_USER_DEFAULT,LINGUISTIC_IGNORECASE,ext1,-1,ext2,-1)-CSTR_EQUAL; - if (cmp) return cmp; - } - if (s_bLogicalSort) - return StrCmpLogicalW(str1,str2); - else - return CompareString(LOCALE_USER_DEFAULT,LINGUISTIC_IGNORECASE,str1,-1,str2,-1)-CSTR_EQUAL; -} - -CMenuContainer::CMenuContainer( CMenuContainer *pParent, int index, int options, const StdMenuItem *pStdItem, PIDLIST_ABSOLUTE path1, PIDLIST_ABSOLUTE path2 ) -{ - m_RefCount=1; - m_bSubMenu=(index>=0); // this may be true even if pParent is NULL (in case you want to show only sub-menus somewhere, use index=0 and pParent=NULL) - m_HoverItem=m_ContextItem=m_HotItem=m_InsertMark=-1; - m_DragHoverItem=m_DragIndex=-1; - m_ClickIndex=GetKeyState(VK_LBUTTON)<0?-2:-1; - m_bHoverArrow=m_bClickArrow=false; - m_pParent=pParent; - m_ParentIndex=pParent?index:-1; - m_Options=options; - m_pStdItem=pStdItem; - m_Bitmap=NULL; - m_BitmapOffset=0; - m_Region=NULL; - m_PaintOffset.x=m_PaintOffset.y=0; - m_Path1[0].Clone(path1); - if (!s_bNoCommonFolders) - m_Path2[0].Clone(path2); - - if (options&CONTAINER_ALLPROGRAMS) - { - ShGetKnownFolderIDList(FOLDERID_Programs,&m_Path1[1]); - if (!s_bNoCommonFolders) - ShGetKnownFolderIDList(FOLDERID_CommonPrograms,&m_Path2[1]); - } - - Assert(path1 || !path2); - - m_FolderHash[0]=m_FolderHash[1]=0; - if (m_Options&CONTAINER_APPS) - m_FolderHash[0]=CalcFNVHash(L"apps"); - - InitializeSpecialFolders(); - - m_bDestroyed=false; - s_Menus.push_back(this); - m_Submenu=-1; - m_SubJumpItem=-1; - m_bTrackMouse=false; - m_RefreshPosted=0; - - m_SubShowTime=0; - m_bInsertAfter=false; - m_bHotArrow=false; - - m_DragHoverTime=0; - - m_MaxWidth=0; - m_bTwoColumns=false; - memset(&m_rMenu,0,sizeof(m_rMenu)); - memset(&m_rContent,0,sizeof(m_rContent)); - memset(&m_rContent2,0,sizeof(m_rContent2)); - memset(&m_rUser1,0,sizeof(m_rUser1)); - memset(&m_rUser2,0,sizeof(m_rUser2)); - memset(&m_rPadding,0,sizeof(m_rPadding)); - - m_ExtraTop=m_ExtraBottom=m_ExtraBorder=0; - m_MouseWheel=0; - m_ScrollCount=m_ScrollHeight=m_ScrollOffset=m_ScrollButtonSize=0; - m_bScrollUp=m_bScrollDown=m_bScrollUpHot=m_bScrollDownHot=false; - m_SearchIndex=-1; - m_SearchItemCount=0; - m_SearchProvidersCount=0; - m_bScrollTimerMouse=false; - m_bScrollTimerTouch=false; - m_bNoSearchDraw=false; - m_bSearchDrawn=false; - m_bInSearchUpdate=false; - m_bDisableProgHover=false; - m_bClosing=false; - m_bRefreshItems=false; - m_bWorkAreaPosted=false; - m_SearchIcons=NULL; - m_SearchState=SEARCH_NONE; - m_SearchCategoryHash=CSearchManager::CATEGORY_INVALID; - m_pProgramsTree=NULL; - m_ProgramButtonIndex=m_ProgramTreeIndex=-1; - m_OriginalCount=0; - m_OriginalScrollCount=-1; - m_SearchScrollCount=m_SearchScrollHeight=m_SearchScrollPos=0; - m_SearchHash=0; - m_pDropTargetInfo=NULL; - m_DropTargetIndex=-1; - m_PanPosY=m_Overpan=m_PointerId=0; - m_InputCookie=0; - m_ScrollTheme=NULL; - - CoCreateInstance(CLSID_DragDropHelper,NULL,CLSCTX_INPROC_SERVER,IID_IDropTargetHelper,(void**)&m_pDropTargetHelper); - m_pDragSourceHelper=CComQIPtr(m_pDropTargetHelper); - LOG_MENU(LOG_OPEN,L"Open Menu, ptr=%p, index=%d, options=%08X",this,index,options); -} - -CMenuContainer::~CMenuContainer( void ) -{ - ClearItems(m_Items.begin(),m_Items.end()); - if (std::find(s_Menus.begin(),s_Menus.end(),m_pParent)!=s_Menus.end()) // check if the parent is still alive - { - if (m_pParent->m_Submenu==m_ParentIndex) - { - if (!m_pParent->m_bDestroyed) - { - m_pParent->InvalidateItem(m_ParentIndex); - if (m_pParent->m_HotItem<0 && !(m_Options&CONTAINER_SEARCH) && (!m_pParent->m_pProgramsTree || !m_pParent->m_pProgramsTree->m_hWnd || m_pParent->m_pProgramsTree->m_hWnd!=GetFocus())) - m_pParent->SetHotItem(m_ParentIndex); - } - m_pParent->SetSubmenu(-1); - } - } - if (m_Bitmap) DeleteObject(m_Bitmap); - if (m_Region) DeleteObject(m_Region); - - // must be here and not in OnDestroy because during drag/drop a menu can close while still processing messages - s_Menus.erase(std::find(s_Menus.begin(),s_Menus.end(),this)); - if (m_SearchIcons) - DeleteObject(m_SearchIcons); - if (m_pProgramsTree) m_pProgramsTree->Release(); -} - -void CMenuContainer::AddFirstFolder( IShellItem *pFolder, std::vector &items, int options ) -{ - CAbsolutePidl ignore; - if (!m_pParent || (m_Options&CONTAINER_ALLPROGRAMS)) - { - // remove the Programs subfolder from the main menu. it will be added separately - ShGetKnownFolderIDList(FOLDERID_Programs,&ignore); - } - - CShellItemEnumerator enumerator(pFolder); - if (!enumerator.IsValid()) return; - - CComPtr pChild; - CAbsolutePidl childPidl; - int refreshFlags=CItemManager::INFO_SMALL_ICON; - if (!m_bSubMenu) - { - if (s_Skin.Main_icon_size==MenuSkin::ICON_SIZE_LARGE) - refreshFlags=CItemManager::INFO_LARGE_ICON; - else if (s_Skin.Main_icon_size==MenuSkin::ICON_SIZE_NONE) - refreshFlags=0; - } - if (options&CONTAINER_PROGRAMS) - refreshFlags|=CItemManager::INFO_LINK|CItemManager::INFO_METRO; - if (options&CONTAINER_NOPATH) - refreshFlags|=CItemManager::INFO_NO_PATH; - while (enumerator.GetNext(pChild,childPidl)) - { - SFGAOF flags=0; - HRESULT hrFlags=pChild->GetAttributes(SFGAO_FOLDER|SFGAO_STREAM|SFGAO_LINK|SFGAO_HIDDEN,&flags); - if (FAILED(hrFlags)) // check if the item is a folder, archive or a link - flags=0; - if (flags&SFGAO_HIDDEN) - continue; - CComString pName; - if (SUCCEEDED(pChild->GetDisplayName(SIGDN_PARENTRELATIVEPARSING,&pName))) - { - LOG_MENU(LOG_OPEN,L"%s, 0x%08X, 0x%08X",(const wchar_t*)pName,flags,hrFlags); - MenuItem item(MENU_NO); - if (ignore && ILIsEqual(childPidl,ignore)) - continue; - item.pItemInfo=g_ItemManager.GetItemInfo(pChild,childPidl,refreshFlags); - bool bLibrary=_wcsicmp(PathFindExtension(pName),L".library-ms")==0; - bool bStartScreen=( -#ifndef STARTSCREEN_WIN7 - GetWinVersion()>=WIN_VER_WIN8 && -#endif - wcscmp(pName,STARTSCREEN_COMMAND)==0); - const wchar_t *pStr=pName; - if (!(pStr[0]&0xFF00) && isalpha(pStr[0]) && pStr[1]==':' && Strlen(pStr)<=3) - item.drive=(char)toupper(pStr[0]); - if (bStartScreen) - { - if (GetWinVersion()>=WIN_VER_WIN10) - item.name=FindTranslation(L"Menu.StartMenu",L"Start Menu"); - else - item.name=FindTranslation(L"Menu.StartScreen",L"Start Screen"); - pName.MakeUpper(); - item.nameHash=CalcFNVHash(pName); - } - else - { - CComString pName2; - if (SUCCEEDED(pChild->GetDisplayName(SIGDN_NORMALDISPLAY,&pName2))) - { - if ((options&CONTAINER_CONTROLPANEL) && (_wcsnicmp(pName2,L"::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0",42)==0 || Strlen(pName2)==0)) - continue; // if the display name starts with the control panel GUID, something's wrong (like the Intel crap) - pName.MakeUpper(); - item.nameHash=CalcFNVHash(pName); - pName.Clear(); - item.SetName(pName2,(options&CONTAINER_NOEXTENSIONS)!=0); - } - else - { - if (options&CONTAINER_CONTROLPANEL) - continue; // control panel items should have a normal name - item.SetName(pName,(options&CONTAINER_NOEXTENSIONS)!=0); - pName.MakeUpper(); - item.nameHash=CalcFNVHash(pName); - } - - if (bLibrary) flags&=~SFGAO_STREAM; - item.bLink=(flags&SFGAO_LINK)!=0; - item.bFolder=(!(options&CONTAINER_CONTROLPANEL) && !(options&CONTAINER_NOSUBFOLDERS) && (flags&SFGAO_FOLDER) && (!(flags&(SFGAO_STREAM|SFGAO_LINK)) || (s_bExpandLinks && item.bLink))); - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (item.pItemInfo->IsMetroLink()) - { - if ((m_bSubMenu && GetSettingBool(L"HideProgramsMetro")) || _wcsicmp(item.pItemInfo->GetAppid(),DESKTOP_APP_ID)==0) - continue; - item.bLink=item.bMetroLink=true; - if (!item.pItemInfo->GetMetroName().IsEmpty()) - item.name=item.pItemInfo->GetMetroName(); - } - item.bMetroApp=item.pItemInfo->IsMetroApp(); - } - } - item.pItem1=childPidl.Detach(); - item.bStartScreen=bStartScreen; - item.bPrograms=(options&CONTAINER_PROGRAMS)!=0; - items.push_back(item); -#ifdef REPEAT_ITEMS - for (int i=0;i &items, int options ) -{ - CAbsolutePidl ignore; - if (!m_pParent || (m_Options&CONTAINER_ALLPROGRAMS)) - { - // remove the Programs subfolder from the main menu. it will be added separately - ShGetKnownFolderIDList(FOLDERID_CommonPrograms,&ignore); - } - - CShellItemEnumerator enumerator(pFolder); - if (!enumerator.IsValid()) return; - - CComPtr pChild; - CAbsolutePidl childPidl; - int refreshFlags=CItemManager::INFO_SMALL_ICON; - if (!m_bSubMenu) - { - if (s_Skin.Main_icon_size==MenuSkin::ICON_SIZE_LARGE) - refreshFlags=CItemManager::INFO_LARGE_ICON; - else if (s_Skin.Main_icon_size==MenuSkin::ICON_SIZE_NONE) - refreshFlags=0; - } - if (options&CONTAINER_PROGRAMS) - refreshFlags|=CItemManager::INFO_LINK|CItemManager::INFO_METRO; - while (enumerator.GetNext(pChild,childPidl)) - { - SFGAOF flags=0; - HRESULT hrFlags=pChild->GetAttributes(SFGAO_FOLDER|SFGAO_STREAM|SFGAO_LINK|SFGAO_HIDDEN,&flags); - if (FAILED(hrFlags)) // check if the item is a folder, archive or a link - flags=0; - if (flags&SFGAO_HIDDEN) - continue; - CComString pName; - if (SUCCEEDED(pChild->GetDisplayName(SIGDN_PARENTRELATIVEPARSING,&pName))) - { - LOG_MENU(LOG_OPEN,L"%s, 0x%08X, 0x%08X",(const wchar_t*)pName,flags,hrFlags); - bool bLibrary=_wcsicmp(PathFindExtension(pName),L".library-ms")==0; - bool bStartScreen=( -#ifndef STARTSCREEN_WIN7 - GetWinVersion()>=WIN_VER_WIN8 && -#endif - wcscmp(pName,STARTSCREEN_COMMAND)==0); - MenuItem item(MENU_NO); - if (bStartScreen) - { - if (GetWinVersion()>=WIN_VER_WIN10) - item.name=FindTranslation(L"Menu.StartMenu",L"Start Menu"); - else - item.name=FindTranslation(L"Menu.StartScreen",L"Start Screen"); - pName.MakeUpper(); - item.nameHash=CalcFNVHash(pName); - } - else - { - CComString pName2; - if (SUCCEEDED(pChild->GetDisplayName(SIGDN_NORMALDISPLAY,&pName2))) - { - pName.MakeUpper(); - item.nameHash=CalcFNVHash(pName); - pName.Clear(); - item.SetName(pName2,(options&CONTAINER_NOEXTENSIONS)!=0); - } - else - { - item.SetName(pName,(options&CONTAINER_NOEXTENSIONS)!=0); - pName.MakeUpper(); - item.nameHash=CalcFNVHash(pName); - } - } - pName.Clear(); - - if (ignore && ILIsEqual(childPidl,ignore)) - continue; - - // look for another item with the same name - bool bFound=false; - for (std::vector::iterator it=items.begin();it!=items.end();++it) - { - if (item.nameHash==it->nameHash) - { - it->pItem2=childPidl.Detach(); - bFound=true; - break; - } - } - - if (!bFound) - { - // new item - if (!bStartScreen) - { - item.pItemInfo=g_ItemManager.GetItemInfo(pChild,childPidl,refreshFlags); - - if (bLibrary) flags&=~SFGAO_STREAM; - item.bLink=(flags&SFGAO_LINK)!=0; - item.bFolder=(!(options&CONTAINER_CONTROLPANEL) && !(options&CONTAINER_NOSUBFOLDERS) && (flags&SFGAO_FOLDER) && (!(flags&(SFGAO_STREAM|SFGAO_LINK)) || (s_bExpandLinks && item.bLink))); - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (item.pItemInfo->IsMetroLink()) - { - if ((m_bSubMenu && GetSettingBool(L"HideProgramsMetro")) || _wcsicmp(item.pItemInfo->GetAppid(),DESKTOP_APP_ID)==0) - continue; - item.bLink=item.bMetroLink=true; - if (!item.pItemInfo->GetMetroName().IsEmpty()) - item.name=item.pItemInfo->GetMetroName(); - item.bMetroApp=item.pItemInfo->IsMetroApp(); - } - } - } - item.pItem1=childPidl.Detach(); - item.bStartScreen=bStartScreen; - item.bPrograms=(options&CONTAINER_PROGRAMS)!=0; - items.push_back(item); -#ifdef REPEAT_ITEMS - for (int i=0;i pItem; - if (pidl && SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pItem))) - return g_ItemManager.GetItemInfo(pItem,pidl,CItemManager::INFO_SMALL_ICON); - } - return g_ItemManager.GetCustomIcon(L"shell32.dll,14",CItemManager::ICON_SIZE_TYPE_SMALL); -} - -void CMenuContainer::AddInternetSearch( size_t index ) -{ - MenuItem item(MENU_SEARCH_INTERNET); - item.name=FindTranslation(L"Menu.SearchInternet",L"Search the Internet"); - item.pItemInfo=GetInternetIcon(false); - m_Items.insert(m_Items.begin()+index,1,item); -} - -void CMenuContainer::AddStandardItems( void ) -{ - if (m_pStdItem && m_pStdItem->id!=MENU_NO) - { - bool bItemsFirst=(m_Options&(CONTAINER_ITEMS_FIRST|CONTAINER_SEARCH))==CONTAINER_ITEMS_FIRST; - if (!m_Items.empty() && !(s_bWin7Style && !m_bSubMenu && GetSettingInt(L"ProgramsStyle")==PROGRAMS_HIDDEN)) - { - MenuItem item(MENU_SEPARATOR); - if (m_pStdItem->id==MENU_COLUMN_PADDING) - item.bAlignBottom=true; - if (bItemsFirst) - m_Items.insert(m_Items.begin(),item); - else - m_Items.push_back(item); - } - size_t menuIdx=bItemsFirst?0:m_Items.size(); - bool bBreak=false, bAlignBottom=false, bInlineFirst=false; - const StdMenuItem *pInlineParent=NULL; - int searchProviderIndex=-1; - m_SearchProvidersCount=0; - MenuSkin::TIconSize mainIconSize=s_Skin.Main_icon_size; - for (const StdMenuItem *pStdItem=m_pStdItem;;pStdItem++) - { - if (pStdItem->id==MENU_LAST) - { - if (pInlineParent) - { - pStdItem=pInlineParent; - pInlineParent=NULL; - continue; - } - break; - } - if (pStdItem->id==MENU_IGNORE) - continue; - if (m_bSubMenu && pStdItem->id==s_ShutdownCommand) - continue; - - if (pStdItem->id==MENU_COLUMN_BREAK && m_bTwoColumns) - mainIconSize=s_Skin.Main2_icon_size; - - int stdOptions=GetStdOptions(pStdItem->id); - if (!(stdOptions&MENU_ENABLED)) continue; - - if (s_bWin7Style && m_bSubMenu && pStdItem->command && (pStdItem->id==MENU_SWITCHUSER || pStdItem->id==MENU_SECURITY || pStdItem->id==MENU_LOGOFF || pStdItem->id==MENU_LOCK || pStdItem->id==MENU_DISCONNECT - || pStdItem->id==MENU_UNDOCK || pStdItem->id==MENU_RESTART || pStdItem->id==MENU_SLEEP || pStdItem->id==MENU_HIBERNATE || pStdItem->id==MENU_SHUTDOWN - || pStdItem->id==MENU_RESTART_NOUPDATE || pStdItem->id==MENU_SHUTDOWN_NOUPDATE)) - { - CString commands=GetSettingString(L"ShutdownW7"); - const wchar_t *str=commands; - bool bFound=false, bEmpty=true; - const wchar_t *commandName=pStdItem->command; - if (pStdItem->id==MENU_SHUTDOWN_NOUPDATE) - commandName=L"shutdown"; - else if (pStdItem->id==MENU_RESTART_NOUPDATE) - commandName=L"restart"; - while (*str) - { - wchar_t token[100]; - str=GetToken(str,token,_countof(token),L" \t;,"); - if (*token) bEmpty=false; - if (_wcsicmp(commandName,token)==0) - { - bFound=true; - break; - } - } - if (!bFound && !bEmpty) continue; - } - - if (pStdItem->id==MENU_SEPARATOR && menuIdx>0 && m_Items[menuIdx-1].id==MENU_SEPARATOR) - { - // prevent double separators unless that's exactly what is requested - if (pStdItem>m_pStdItem && pStdItem[-1].id!=MENU_SEPARATOR) - continue; - } - if (pStdItem->id==MENU_COLUMN_BREAK) - { - bBreak=true; - continue; - } - if (pStdItem->id==MENU_COLUMN_PADDING) - { - bAlignBottom=true; - continue; - } - - if (!pInlineParent && pStdItem->submenu && (pStdItem->settings&StdMenuItem::MENU_INLINE)) - { - pInlineParent=pStdItem; - pStdItem=pInlineParent->submenu-1; - bInlineFirst=true; - continue; - } - if (s_bWin7Style && pStdItem->id==MENU_SEARCH_BOX) - { - MenuItem item(MENU_EMPTY); - m_Items.insert(m_Items.begin()+menuIdx,1,item); - menuIdx++; - searchProviderIndex=(int)menuIdx; - if (GetSettingBool(L"SearchInternet")) - { - AddInternetSearch(menuIdx); - menuIdx++; - m_SearchProvidersCount++; - } - } - - bool bSearchProvider7=false; - if (s_bWin7Style && !m_bSubMenu && pStdItem->command) - { - // if after environment substitution there are %1 or %2 left, this is likely a search provider - wchar_t buf[1024]; - Strcpy(buf,_countof(buf),pStdItem->command); - DoEnvironmentSubst(buf,_countof(buf)); - const wchar_t *ptr=wcsstr(buf,L"%1"); - if (ptr && !isalnum(ptr[2])) - bSearchProvider7=true; - else - { - ptr=wcsstr(buf,L"%2"); - if (ptr && !isalnum(ptr[2])) - bSearchProvider7=true; - } - } - - MenuItem item(pStdItem->id); - item.pStdItem=pStdItem; - if (pInlineParent) - item.bInline=true; - - if (!bSearchProvider7) - { - item.bBreak=bBreak; - bBreak=false; - } - item.bAlignBottom=bAlignBottom; - item.bInlineFirst=bInlineFirst; - bAlignBottom=bInlineFirst=false; - TNetworkType networkType=NETWORK_NONE; - - Assert(pStdItem->folder1 || !pStdItem->folder2); - if (pStdItem->id==MENU_APPS) - { - wchar_t path[_MAX_PATH]=METRO_APP_ROOT; - DoEnvironmentSubst(path,_countof(path)); - item.pItem1=ILCreateFromPath(path); - item.bFolder=true; - item.name=FindTranslation(L"Menu.Apps",L"Apps"); - } - else if (pStdItem->id==MENU_PROGRAMS && GetSettingInt(L"PinnedPrograms")==PINNED_PROGRAMS_PINNED) - { - ShGetKnownFolderIDList(FOLDERID_StartMenu,&item.pItem1); - if (!s_bNoCommonFolders) - ShGetKnownFolderIDList(FOLDERID_CommonStartMenu,&item.pItem2); - item.bFolder=true; - } - else if (pStdItem->folder1) - { - ShGetKnownFolderIDList(*pStdItem->folder1,&item.pItem1); - if (pStdItem->folder2) - ShGetKnownFolderIDList(*pStdItem->folder2,&item.pItem2); - if (!item.pItem1 && item.pItem2) - { - item.pItem1=item.pItem2; - item.pItem2=NULL; - } - item.bFolder=(stdOptions&MENU_EXPANDED) && !(item.pStdItem->settings&StdMenuItem::MENU_NOEXPAND); - } - else if (pStdItem->link) - { - SFGAOF flags=0; - wchar_t buf[1024]; - Strcpy(buf,_countof(buf),item.pStdItem->link); - DoEnvironmentSubst(buf,_countof(buf)); - bool bLibrary=_wcsicmp(PathFindExtension(buf),L".library-ms")==0; - wchar_t *second=wcschr(buf,';'); - if (!bLibrary && second && !(item.pStdItem->settings&StdMenuItem::MENU_NOEXPAND)) - { - wchar_t *end= second; - while (end>buf) - { - *end=0; - end--; - if (*end!=' ') - break; - } - MenuParseDisplayName(buf,&item.pItem1,&flags,&networkType); - second++; - while (*second==' ') - second++; - SFGAOF flags2=0; - TNetworkType networkType2; - MenuParseDisplayName(second,&item.pItem2,&flags2,&networkType2); - if (!item.pItem1 && item.pItem2) - { - item.pItem1=item.pItem2; - item.pItem2=NULL; - flags=flags2; - networkType=networkType2; - } - if (item.pItem1) - { - item.bLink=(flags&SFGAO_LINK)!=0; - item.bFolder=((flags&SFGAO_FOLDER) && (!(flags&(SFGAO_STREAM|SFGAO_LINK)) || (s_bExpandLinks && item.bLink))); - } - } - else if (SUCCEEDED(MenuParseDisplayName(buf,&item.pItem1,&flags,&networkType))) - { - if (bLibrary) flags&=~SFGAO_STREAM; - item.bLink=(flags&SFGAO_LINK)!=0; - item.bFolder=((flags&SFGAO_FOLDER) && !(item.pStdItem->settings&StdMenuItem::MENU_NOEXPAND) && (!(flags&(SFGAO_STREAM|SFGAO_LINK)) || (s_bExpandLinks && item.bLink))); - } - } - if ((pStdItem->submenu && pStdItem->id!=MENU_SEARCH_BOX && (stdOptions&MENU_EXPANDED)) || pStdItem->id==MENU_RECENT_PROGRAMS) - item.bFolder=true; - - item.bSplit=item.bFolder && (item.pStdItem->settings&StdMenuItem::MENU_SPLIT_BUTTON)!=0; - - // get icon - CItemManager::TIconSizeType iconSizeType; - int refreshFlags; - if (bSearchProvider7 || m_bSubMenu) - { - iconSizeType=CItemManager::ICON_SIZE_TYPE_SMALL; - refreshFlags=CItemManager::INFO_SMALL_ICON; - } - else if (s_bWin7Style) - { - iconSizeType=CItemManager::ICON_SIZE_TYPE_EXTRA_LARGE; - refreshFlags=CItemManager::INFO_EXTRA_LARGE_ICON; - } - else if (mainIconSize==MenuSkin::ICON_SIZE_LARGE) - { - iconSizeType=CItemManager::ICON_SIZE_TYPE_LARGE; - refreshFlags=CItemManager::INFO_LARGE_ICON; - } - else if (mainIconSize==MenuSkin::ICON_SIZE_SMALL) - { - iconSizeType=CItemManager::ICON_SIZE_TYPE_SMALL; - refreshFlags=CItemManager::INFO_SMALL_ICON; - } - else - { - iconSizeType=CItemManager::ICON_SIZE_TYPE_SMALL; - refreshFlags=0; - } - if (pStdItem->link) - refreshFlags|=CItemManager::INFO_LINK|CItemManager::INFO_METRO; - if ((refreshFlags&CItemManager::INFO_ICON)==0) - item.pItemInfo=NULL; - else if (pStdItem->iconPath) - { - if (_wcsicmp(pStdItem->iconPath,L"none")==0) - item.pItemInfo=NULL; - else - item.pItemInfo=g_ItemManager.GetCustomIcon(pStdItem->iconPath,iconSizeType); - } - else if (networkType!=NETWORK_NONE && networkType!=NETWORK_FILE) - { - item.pItemInfo=g_ItemManager.GetCustomIcon(GetDefaultNetworkIcon(networkType),iconSizeType); - } - else if (item.pItem1) - { - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(item.pItem1,IID_IShellItem,(void**)&pItem))) - { - item.pItemInfo=g_ItemManager.GetItemInfo(pItem,item.pItem1,refreshFlags); - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - item.bLink=item.bMetroLink=item.pItemInfo->IsMetroLink(); - item.bMetroApp=item.pItemInfo->IsMetroApp(); - } - } - else - item.pItemInfo=g_ItemManager.GetCustomIcon(NULL,iconSizeType); - - // get name - if (pStdItem->label && _wcsicmp(pStdItem->label,L"none")==0) - { - item.name.Empty(); - } - else if (pStdItem->label) - { - if (item.id==MENU_LOGOFF) - { - // construct the text Log Off ... - wchar_t user[256]={0}; - ULONG size=_countof(user); - if (!GetUserNameEx(NameDisplay,user,&size)) - { - // GetUserNameEx may fail (for example on Home editions). use the login name - size=_countof(user); - GetUserName(user,&size); - } - item.name.Format(pStdItem->label,user); - } - else if (item.id==MENU_SHUTDOWN_BUTTON) - { - s_ShutdownCommand=MENU_NO; - int shutdown=GetSettingInt(L"ShutdownCommand"); - if (shutdown<0) shutdown=0; - if (shutdown>=SHUTDOWN_TYPE_COUNT) shutdown=SHUTDOWN_TYPE_COUNT-1; - - bool enabled[SHUTDOWN_TYPE_COUNT]={0}; - enabled[SHUTDOWN_TYPE_SHUTDOWN]=(GetStdOptions(MENU_SHUTDOWN)&MENU_ENABLED)!=0; - enabled[SHUTDOWN_TYPE_RESTART]=(GetStdOptions(MENU_RESTART)&MENU_ENABLED)!=0; - enabled[SHUTDOWN_TYPE_LOGOFF]=(GetStdOptions(MENU_LOGOFF)&MENU_ENABLED)!=0; - enabled[SHUTDOWN_TYPE_SLEEP]=(GetStdOptions(MENU_SLEEP)&MENU_ENABLED)!=0; - enabled[SHUTDOWN_TYPE_HIBERNATE]=(GetStdOptions(MENU_HIBERNATE)&MENU_ENABLED)!=0; - enabled[SHUTDOWN_TYPE_LOCK]=(GetStdOptions(MENU_LOCK)&MENU_ENABLED)!=0; - enabled[SHUTDOWN_TYPE_SWITCHUSER]=(GetStdOptions(MENU_SWITCHUSER)&MENU_ENABLED)!=0; - enabled[SHUTDOWN_TYPE_SHUTDOWN_BOX]=(GetStdOptions(MENU_SHUTDOWN_BOX)&MENU_ENABLED)!=0; - if (!enabled[shutdown]) - { - for (int i=1;i(item.pStdItem)->tip=FindTranslation(L"Menu.ShutdownUpdate",L"Update and shut down"); - else - const_cast(item.pStdItem)->tip=FindTranslation(L"Menu.ShutdownTip",L""); - s_ShutdownCommand=MENU_SHUTDOWN; - } - if (shutdown==SHUTDOWN_TYPE_RESTART) - { - item.name=FindTranslation(L"Menu.Restart",L"&Restart"); - if (s_bHasUpdates && GetWinVersion()>=WIN_VER_WIN8) - const_cast(item.pStdItem)->tip=FindTranslation(L"Menu.RestartUpdate",L"Update and restart"); - else - const_cast(item.pStdItem)->tip=FindTranslation(L"Menu.RestartTip",L""); - s_ShutdownCommand=MENU_RESTART; - } - if (shutdown==SHUTDOWN_TYPE_LOGOFF) - { - item.name=FindTranslation(L"Menu.LogOffShort",L"Log off"); - const_cast(item.pStdItem)->tip=FindTranslation(L"Menu.LogOffTip",L""); - s_ShutdownCommand=MENU_LOGOFF; - } - if (shutdown==SHUTDOWN_TYPE_SLEEP) - { - item.name=FindTranslation(L"Menu.Sleep",L"&Sleep"); - const_cast(item.pStdItem)->tip=FindTranslation(L"Menu.SleepTip",L""); - s_ShutdownCommand=MENU_SLEEP; - } - if (shutdown==SHUTDOWN_TYPE_HIBERNATE) - { - item.name=FindTranslation(L"Menu.Hibernate",L"&Hibernate"); - const_cast(item.pStdItem)->tip=FindTranslation(L"Menu.HibernateTip",L""); - s_ShutdownCommand=MENU_HIBERNATE; - } - if (shutdown==SHUTDOWN_TYPE_SHUTDOWN_BOX) - { - item.name=FindTranslation(L"Menu.ShutdownBox",L"Sh&ut Down..."); - const_cast(item.pStdItem)->tip=L""; - s_ShutdownCommand=MENU_SHUTDOWN_BOX; - } - if (shutdown==SHUTDOWN_TYPE_LOCK) - { - item.name=FindTranslation(L"Menu.Lock",L"Lock"); - const_cast(item.pStdItem)->tip=FindTranslation(L"Menu.LockTip",L""); - s_ShutdownCommand=MENU_LOCK; - } - if (shutdown==SHUTDOWN_TYPE_SWITCHUSER) - { - item.name=FindTranslation(L"Menu.SwitchUser",L"Switch User"); - const_cast(item.pStdItem)->tip=FindTranslation(L"Menu.SwitchUserTip",L""); - s_ShutdownCommand=MENU_SWITCHUSER; - } - } - else if (s_bHasUpdates && m_bSubMenu && item.id==MENU_SHUTDOWN) - item.name=FindTranslation(L"Menu.ShutdownUpdate",L"Update and shut down"); - else if (s_bHasUpdates && m_bSubMenu && item.id==MENU_RESTART && GetWinVersion()>=WIN_VER_WIN8) - item.name=FindTranslation(L"Menu.RestartUpdate",L"Update and restart"); - else - item.name=pStdItem->label; - } - else if (item.pItem1) - { - if (item.pItemInfo) - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (item.pItemInfo->IsMetroLink()) - item.name=item.pItemInfo->GetMetroName(); - } - if (item.name.IsEmpty()) - { - SHFILEINFO info={0}; - SHGetFileInfo((LPCWSTR)item.pItem1,0,&info,sizeof(info),SHGFI_PIDL|SHGFI_DISPLAYNAME); - item.name=info.szDisplayName; - } - if (wcschr(item.name,'&')) - item.name.Replace(L"&",L"&&"); - } - else if (item.name.IsEmpty() && item.id!=MENU_SEPARATOR && item.id!=MENU_SEARCH_BOX && !item.bInline) - { - if ((pStdItem->command && wcscmp(pStdItem->command,L"")!=0) || pStdItem->link || pStdItem->folder1 || pStdItem->submenu || pStdItem->id!=MENU_CUSTOM) - item.name=LoadStringEx(IDS_NO_TEXT); - else - { - item.id=MENU_SEPARATOR; - item.bBlankSeparator=true; - } - } - - item.bPrograms=(item.id==MENU_PROGRAMS || item.id==MENU_FAVORITES); - if (item.bInline) - item.bFolder=false; - - if (bSearchProvider7) - { - item.bInline=false; - item.bFolder=false; - item.id=MENU_SEARCH_PROVIDER; - if (searchProviderIndex>=0) - { - m_Items.insert(m_Items.begin()+searchProviderIndex,1,item); - searchProviderIndex++; - menuIdx++; - m_SearchProvidersCount++; - } - } - else - { - m_Items.insert(m_Items.begin()+menuIdx,1,item); - menuIdx++; - } - } - } -} - -void CMenuContainer::UpdateAccelerators( int first, int last ) -{ - TRecentKeys recentKeys=(TRecentKeys)GetSettingInt(L"RecentProgKeys"); - - for (int i=first;iitem.rank) || (rank==item.rank && CompareFileTime(×tamp,&item.timestamp)>0); } -}; - -static const wchar_t *g_MfuIgnoreWords[]={ - L"DOCUMENTATION", - L"HELP", - L"INSTALL", - L"MORE INFO", - L"READ ME", - L"READ FIRST", - L"README", - L"REMOVE", - L"SETUP", - L"SUPPORT", - L"WHAT'S NEW", -}; - -static const wchar_t *g_MfuIgnoreExes[]={ - L"APPLAUNCH.EXE", - L"CONTROL.EXE", - L"DFSVC.EXE", - L"DLLHOST.EXE", - L"GUESTMODEMSG.EXE", - L"HH.EXE", - L"INSTALL.EXE", - L"ISUNINST.EXE", - L"LNKSTUB.EXE", - L"MMC.EXE", - L"MSHTA.EXE", - L"MSIEXEC.EXE", - L"MSOOBE.EXE", - L"RUNDLL32.EXE", - L"SETUP.EXE", - L"ST5UNST.EXE", - L"UNWISE.EXE", - L"UNWISE32.EXE", - L"WERFAULT.EXE", - L"WINHLP32.EXE", - L"WLRMDR.EXE", - L"WUAPP.EXE", -}; - -void CMenuContainer::GetRecentPrograms( std::vector &items, int maxCount ) -{ - bool bShowMetro=GetSettingBool(L"RecentMetroApps"); - const std::vector &mainItems=s_Menus[0]->m_Items; - - int iconSizeFlag=(!m_bSubMenu && s_Skin.Main_icon_size==MenuSkin::ICON_SIZE_LARGE)?CItemManager::INFO_LARGE_ICON:CItemManager::INFO_SMALL_ICON; - if (s_RecentPrograms==RECENT_PROGRAMS_RECENT) - { - for (int i=0;i pItem; - CAbsolutePidl pidl; - bool bApp=(wcsncmp(s_MRUShortcuts[i],L"APP:",4)==0); - if (bApp) - { - if (SUCCEEDED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,(const wchar_t*)s_MRUShortcuts[i]+4,IID_IShellItem,(void**)&pItem)) && FAILED(SHGetIDListFromObject(pItem,&pidl))) - pItem=NULL; - } - else if (SUCCEEDED(MenuParseDisplayName(s_MRUShortcuts[i],&pidl,NULL,NULL))) - SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pItem); - if (pItem) - { - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - { - if (bApp && wcsncmp(pName,L"@{",2)==0) - continue; - // new item - MenuItem item(MENU_RECENT); - item.bLink=true; - int refreshFlags=CItemManager::INFO_LINK|CItemManager::INFO_LINK_APPID|CItemManager::INFO_METRO|iconSizeFlag; - item.pItemInfo=g_ItemManager.GetItemInfo(pItem,pidl,refreshFlags); - - // see if it is already in the main menu - bool bFound=false; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - for (std::vector::const_iterator it=mainItems.begin();it!=mainItems.end();++it) - { - if (!it->pItemInfo) continue; - if (it->pItemInfo==item.pItemInfo) - { - bFound=true; - break; - } - if (!it->pItemInfo->IsLink() && !it->pItemInfo->IsMetroApp()) - continue; - // if the item is an app, check if the link has the same target pidl - // if the item has appid, compare by appid. otherwise compare by target path (shouldn't happen) - if (bApp && it->pItemInfo->IsLink()) - { - // for apps compare by pidl - if (ILIsEqual(pidl,it->pItemInfo->GetTargetPidl())) - { - bFound=true; - break; - } - } - else if (!item.pItemInfo->GetAppid().IsEmpty()) - { - if (_wcsicmp(item.pItemInfo->GetAppid(),it->pItemInfo->GetAppid())==0) - { - bFound=true; - break; - } - } - else - { - if (!item.pItemInfo->GetTargetPATH().IsEmpty() && wcscmp(item.pItemInfo->GetTargetPATH(),it->pItemInfo->GetTargetPATH())==0) - { - bFound=true; - break; - } - } - } - } - if (bFound) continue; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (item.pItemInfo->IsMetroApp() && !bShowMetro) - continue; - if (item.pItemInfo->IsMetroLink()) - { - if (!bShowMetro) continue; - item.bMetroLink=true; - if (_wcsicmp(item.pItemInfo->GetAppid(),DESKTOP_APP_ID)==0) - continue; - if (item.pItemInfo->GetMetroName().IsEmpty()) - item.SetName(pName,(m_Options&CONTAINER_NOEXTENSIONS)!=0); - else - item.SetName(item.pItemInfo->GetMetroName(),false); - } - else - item.SetName(pName,(m_Options&CONTAINER_NOEXTENSIONS)!=0); - item.bMetroApp=item.pItemInfo->IsMetroApp(); - } - item.pItem1=pidl.Detach(); - - items.push_back(item); - } - } - if ((int)items.size()==maxCount) - break; - } - } - else if (s_RecentPrograms==RECENT_PROGRAMS_FREQUENT) - { - ULONGLONG curTime; - GetSystemTimeAsFileTime((FILETIME*)&curTime); - std::vector uaItems; - CRegKey regKeyApp, regKeyLink; - if (regKeyApp.Open(HKEY_CURRENT_USER,USERASSIST_APPIDS_KEY,KEY_READ)!=ERROR_SUCCESS || - regKeyLink.Open(HKEY_CURRENT_USER,USERASSIST_LINKS_KEY,KEY_READ)!=ERROR_SUCCESS) - { - LOG_MENU(LOG_MFU,L"Failed to open UserAssist registry key"); - return; - } - - // collect links with positive rank from regKeyLink - for (int idx=0;;idx++) - { - UserAssistItem uaItem; - memset(&uaItem,0,sizeof(uaItem)); - DWORD len=_countof(uaItem.name); - UserAssistData data; - memset(&data,0,sizeof(data)); - DWORD size=sizeof(data); - DWORD type; - LONG res=RegEnumValue(regKeyLink,idx,uaItem.name,&len,NULL,&type,(BYTE*)&data,&size); - if (res==ERROR_NO_MORE_ITEMS) - break; - if (!*uaItem.name) - continue; - if (type!=REG_BINARY) - { - LOG_MENU(LOG_MFU,L"Not binary: '%s'",uaItem.name); - continue; - } - if (size!=sizeof(data)) - { - LOG_MENU(LOG_MFU,L"Wrong size (%d): '%s'",size,uaItem.name); - continue; - } - uaItem.mfuHash=CalcFNVHash(uaItem.name); - EncodeRot13(uaItem.name); - if (data.timestamp.dwLowDateTime==0 && data.timestamp.dwHighDateTime==0) - { - LOG_MENU(LOG_MFU,L"Zero timestamp: '%s'",uaItem.name); - continue; - } - // determine rank - uaItem.rank=data.count/10.f; - float weight=0.95f; - for (int i=0, idx=data.last;i<_countof(data.history);i++,idx=(idx+9)%10,weight-=0.07f) - { - float h=data.history[idx]; - if (h<0 || h>1) break; - uaItem.rank+=h*weight; - } - if (uaItem.rank==0) - { - LOG_MENU(LOG_MFU,L"Zero rank: '%s'",uaItem.name); - continue; - } - - // decode name - const wchar_t *ext=PathFindExtension(uaItem.name); - if (uaItem.name[0]=='{') - { - wchar_t *end=wcschr(uaItem.name+1,'}'); - if (end && end[1]=='\\') - { - end[1]=0; - GUID guid; - HRESULT hr=CLSIDFromString(uaItem.name,&guid); - end[1]='\\'; - if (SUCCEEDED(hr)) - { - CComString pPath; - if (SUCCEEDED(SHGetKnownFolderPath(guid,KF_FLAG_DONT_VERIFY,NULL,&pPath))) - { - wchar_t path[_MAX_PATH]; - Sprintf(path,_countof(path),L"%s%s",(const wchar_t*)pPath,end+1); - Strcpy(uaItem.name,_countof(uaItem.name),path); - } - } - } - } - LOG_MENU(LOG_MFU,L"UserAssist: '%s', %d, %.3f",uaItem.name,data.count,uaItem.rank); - bool bIgnore=false; - wchar_t NAME[_MAX_PATH]; - Strcpy(NAME,_countof(NAME),uaItem.name); - CharUpper(NAME); - uaItem.nameHash=CalcFNVHash(NAME); - for (std::vector::const_iterator it=uaItems.begin();it!=uaItems.end();++it) - { - if (uaItem.nameHash==it->nameHash) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: Already in list"); - bIgnore=true; - break; - } - } - if (bIgnore) continue; - const wchar_t *fname=PathFindFileName(NAME); - for (int i=0;i<_countof(g_MfuIgnoreWords);i++) - if (wcswcs(fname,g_MfuIgnoreWords[i])) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: Contains bad word"); - bIgnore=true; - break; - } - if (bIgnore) continue; - - uaItem.pLinkInfo=g_ItemManager.GetItemInfo(uaItem.name,CItemManager::INFO_LINK|CItemManager::INFO_LINK_APPID|CItemManager::INFO_METRO|CItemManager::INFO_VALIDATE_FILE); - if (!uaItem.pLinkInfo) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: File missing"); - continue; - } - wchar_t appid[_MAX_PATH]; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (uaItem.pLinkInfo->GetLocation()!=CItemManager::LOCATION_START_MENU && uaItem.pLinkInfo->GetLocation()!=CItemManager::LOCATION_METRO && uaItem.pLinkInfo->GetLocation()!=CItemManager::LOCATION_GAMES) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: Not from start menu"); - continue; - } - if (uaItem.pLinkInfo->IsNoPin()) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: No pin"); - continue; - } - if (uaItem.pLinkInfo->GetAppid().IsEmpty()) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: No AppId"); - continue; - } - if (!uaItem.pLinkInfo->GetTargetPATH().IsEmpty()) - { - const wchar_t *fname=PathFindFileName(uaItem.pLinkInfo->GetTargetPATH()); - for (int i=0;i<_countof(g_MfuIgnoreExes);i++) - if (wcswcs(fname,g_MfuIgnoreExes[i])) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: Target contains bad word: '%s'",uaItem.pLinkInfo->GetTargetPATH()); - bIgnore=true; - break; - } - } - if (uaItem.pLinkInfo->IsMetroLink()) - { - if (!bShowMetro) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: No show metro"); - continue; - } - if (_wcsicmp(uaItem.pLinkInfo->GetAppid(),DESKTOP_APP_ID)==0) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: Ignore desktop"); - continue; - } - if (uaItem.pLinkInfo->GetMetroName().IsEmpty()) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: No Metro name"); - continue; - } - } - if (bIgnore) continue; - Strcpy(appid,_countof(appid),uaItem.pLinkInfo->GetAppid()); - } - - uaItem.timestamp=data.timestamp; - size=sizeof(data); - EncodeRot13(appid); - if (regKeyApp.QueryBinaryValue(appid,&data,&size)!=ERROR_SUCCESS) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: Missing appid entry: '%s'",appid); - continue; - } - if (CompareFileTime(&uaItem.timestamp,&data.timestamp)<0) - uaItem.timestamp=data.timestamp; - - { - float rank=data.count/10.f; - float weight=0.95f; - for (int i=0, idx=data.last;i<_countof(data.history);i++,idx=(idx+9)%10,weight-=0.07f) - { - float h=data.history[idx]; - if (h<0 || h>1) break; - rank+=h*weight; - } - if (uaItem.rank=WIN_VER_WIN10 && bShowMetro) - { - // collect apps with positive rank from regKeyApp - for (int idx=0;;idx++) - { - UserAssistItem uaItem; - memset(&uaItem,0,sizeof(uaItem)); - DWORD len=_countof(uaItem.name); - UserAssistData data; - memset(&data,0,sizeof(data)); - DWORD size=sizeof(data); - DWORD type; - LONG res=RegEnumValue(regKeyApp,idx,uaItem.name,&len,NULL,&type,(BYTE*)&data,&size); - if (res==ERROR_NO_MORE_ITEMS) - break; - if (!*uaItem.name) - continue; - if (type!=REG_BINARY) - { - LOG_MENU(LOG_MFU,L"Not binary: '%s'",uaItem.name); - continue; - } - if (size!=sizeof(data)) - { - LOG_MENU(LOG_MFU,L"Wrong size (%d): '%s'",size,uaItem.name); - continue; - } - uaItem.mfuHash=CalcFNVHash(uaItem.name); - EncodeRot13(uaItem.name); - if (data.timestamp.dwLowDateTime==0 && data.timestamp.dwHighDateTime==0) - { - LOG_MENU(LOG_MFU,L"Zero timestamp: '%s'",uaItem.name); - continue; - } - - // determine rank - uaItem.rank=data.count/10.f; - float weight=0.95f; - for (int i=0, idx=data.last;i<_countof(data.history);i++,idx=(idx+9)%10,weight-=0.07f) - { - float h=data.history[idx]; - if (h<0 || h>1) break; - uaItem.rank+=h*weight; - } - if (uaItem.rank==0) - { - LOG_MENU(LOG_MFU,L"Zero rank: '%s'",uaItem.name); - continue; - } - - if (_wcsicmp(uaItem.name,DESKTOP_APP_ID)==0) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: Ignore desktop"); - continue; - } - - { - CComPtr pAppItem; - if (FAILED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,uaItem.name,IID_IShellItem,(void**)&pAppItem))) - continue; - CComString pName; - if (FAILED(pAppItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName)) || wcsncmp(pName,L"@{",2)==0) - continue; - } - - uaItem.pLinkInfo=g_ItemManager.GetMetroAppInfo10(uaItem.name); - if (!uaItem.pLinkInfo) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping '%s': Not a valid app",uaItem.name); - continue; - } - - LOG_MENU(LOG_MFU,L"UserAssist: '%s', %d, %.3f",uaItem.name,data.count,uaItem.rank); - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (uaItem.pLinkInfo->IsNoPin()) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: No pin"); - continue; - } - if (uaItem.pLinkInfo->GetPackagePath().IsEmpty() || GetFileAttributes(uaItem.pLinkInfo->GetPackagePath())==INVALID_FILE_ATTRIBUTES) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping: Missing package path"); - continue; - } - - CAbsolutePidl pidl=uaItem.pLinkInfo->GetPidl(); - - // see if it is already in the main menu - bool bFound=false; - for (std::vector::const_iterator it=mainItems.begin();it!=mainItems.end();++it) - { - if (!it->pItemInfo) continue; - if (!it->pItemInfo->IsLink()) continue; - if (ILIsEqual(pidl,it->pItemInfo->GetTargetPidl())) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping '%s', already in main menu",uaItem.name); - bFound=true; - break; - } - } - if (bFound) continue; - } - - uaItem.timestamp=data.timestamp; - uaItems.push_back(uaItem); - } - } - - // sort by rank - std::sort(uaItems.begin(),uaItems.end()); - - g_ItemManager.WaitForShortcuts(CPoint((s_StartRect.left+s_StartRect.right)/2,(s_StartRect.top+s_StartRect.bottom)/2)); - - // create a menu item for each program - for (int i=0;i<(int)uaItems.size();i++) - { - UserAssistItem &uaItem=uaItems[i]; - if (!uaItem.pLinkInfo) continue; - - bool bMetroLink, bExplicitAppId, bMetroApp; - CString appid, targetPATH, metroName; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - bMetroLink=uaItem.pLinkInfo->IsMetroLink(); - bMetroApp=uaItem.pLinkInfo->IsMetroApp(); - bExplicitAppId=uaItem.pLinkInfo->IsExplicitAppId(); - appid=uaItem.pLinkInfo->GetAppid(); - targetPATH=uaItem.pLinkInfo->GetTargetPATH(); - if (bMetroLink) - metroName=uaItem.pLinkInfo->GetMetroName(); - // clear all other items with the same link target - for (int j=i+1;j<(int)uaItems.size();j++) - { - UserAssistItem &uaItem2=uaItems[j]; - if (!uaItem2.pLinkInfo) continue; - if (_wcsicmp(appid,uaItem2.pLinkInfo->GetAppid())==0) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping '%s', duplicate appid '%s'",uaItem2.name,appid); - uaItem2.pLinkInfo=NULL; - } - } - } - - if (bExplicitAppId) - { - CRegKey keyPin; - if (keyPin.Open(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileAssociation\\NoStartPageAppUserModelIDs",KEY_READ)==ERROR_SUCCESS) - { - if (keyPin.QueryValue(appid,NULL,NULL,NULL)==ERROR_SUCCESS) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping '%s', NoStartPageAppUserModelIDs",uaItem.name); - continue; - } - } - } - else - { - wchar_t text[1024]; - { - Sprintf(text,_countof(text),L"Applications\\%s",PathFindFileName(targetPATH)); - CRegKey keyPin; - if (keyPin.Open(HKEY_CLASSES_ROOT,text,KEY_READ)==ERROR_SUCCESS) - { - if (keyPin.QueryValue(L"NoStartPage",NULL,NULL,NULL)==ERROR_SUCCESS) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping '%s', NoStartPage",uaItem.name); - continue; - } - } - } - if (wcschr(appid,'\\')) - { - Sprintf(text,_countof(text),L"Applications\\%s",PathFindFileName(appid)); - CRegKey keyPin; - if (keyPin.Open(HKEY_CLASSES_ROOT,text,KEY_READ)==ERROR_SUCCESS) - { - if (keyPin.QueryValue(L"NoStartPage",NULL,NULL,NULL)==ERROR_SUCCESS) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping '%s', NoStartPage",uaItem.name); - continue; - } - } - } - } - - // see if it is in the taskbar - if (!bMetroLink && g_ItemManager.IsTaskbarPinned(appid)) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping '%s', pinned to taskbar",uaItem.name); - continue; - } - // see if it is already in the main menu - bool bFound=false; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - for (std::vector::const_iterator it=mainItems.begin();it!=mainItems.end();++it) - { - if (!it->pItemInfo) continue; - if (it->pItemInfo==uaItem.pLinkInfo) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping '%s', already in main menu",uaItem.name); - bFound=true; - break; - } - if (!it->pItemInfo->IsLink() && !it->pItemInfo->IsMetroApp()) - continue; - if (_wcsicmp(appid,it->pItemInfo->GetAppid())==0) - { - LOG_MENU(LOG_MFU,L"UserAssist: Dropping '%s', already in main menu",uaItem.name); - bFound=true; - break; - } - } - } - if (bFound) continue; - - MenuItem item(MENU_RECENT); - item.bLink=true; - item.pItemInfo=uaItem.pLinkInfo; - item.mfuHash=uaItem.mfuHash; - item.bMetroLink=bMetroLink; - item.bMetroApp=bMetroApp; - g_ItemManager.UpdateItemInfo(uaItem.pLinkInfo,iconSizeFlag); - CComPtr pItem; - if (bMetroLink) - { - item.SetName(metroName,false); - item.pItem1=ILCloneFull(uaItem.pLinkInfo->GetPidl()); - items.push_back(item); - } - else if (item.name.IsEmpty() && SUCCEEDED(SHCreateItemFromIDList(uaItem.pLinkInfo->GetPidl(),IID_IShellItem,(void**)&pItem))) - { - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - { - item.SetName(pName,(m_Options&CONTAINER_NOEXTENSIONS)!=0); - item.pItem1=ILCloneFull(uaItem.pLinkInfo->GetPidl()); - items.push_back(item); - } - } - - if ((int)items.size()==maxCount) - break; - } - } - - TRecentKeys recentKeys=(TRecentKeys)GetSettingInt(L"RecentProgKeys"); - for (int idx=0;idx<(int)items.size();idx++) - { - MenuItem &item=items[idx]; - item.mruOrder=idx; - if (recentKeys==RECENT_KEYS_DIGITS) - item.name.Replace(L"&",L"&&"); - if (idx<10) - { - if (recentKeys>=RECENT_KEYS_DIGITS) - { - item.accelerator=((idx+1)%10)+'0'; - item.bCustomAccelerator=true; - } - if (recentKeys==RECENT_KEYS_DIGITS) - { - CString str=item.name; - item.name.Format(L"&%d %s",(idx+1)%10,str); - item.nameOffset=item.name.GetLength()-str.GetLength(); - } - } - } -} - -void CMenuContainer::ClearItems( const std::vector::iterator &begin, const std::vector::iterator &end ) -{ - for (std::vector::iterator it=begin;it!=end;++it) - { - if (it->pItem1) ILFree(it->pItem1); - if (it->pItem2) ILFree(it->pItem2); - } - if (s_pDragSource==this && m_Items.begin()+m_DragIndex>=begin) - s_pDragSource=NULL; // freeing the dragged item - m_Items.erase(begin,end); -} - -void CMenuContainer::AddJumpListItems( std::vector &items ) -{ - s_JumpList.Clear(); - g_ItemManager.UpdateItemInfo(s_JumpAppInfo,CItemManager::INFO_LINK_APPID); - CString appid; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - appid=s_JumpAppInfo->GetAppid(); - } - if (!appid.IsEmpty()) - { - int maxHeight=65536, sepHeight=0, itemHeight=0; - if (s_bWin7Style) - { - itemHeight=s_Skin.ItemSettings[MenuSkin::LIST_ITEM].itemHeight; - sepHeight=s_Skin.ItemSettings[MenuSkin::LIST_SEPARATOR].itemHeight; - maxHeight=m_Items[m_OriginalCount-1].itemRect.top-s_Skin.Main_jump_padding.top; - } - GetJumplist(appid,s_JumpList,GetSettingInt(L"MaxJumplists"),maxHeight,sepHeight,itemHeight); - } - - for (int g=0;g<(int)s_JumpList.groups.size();g++) - { - const CJumpGroup &group=s_JumpList.groups[g]; - if (group.bHidden) continue; - { - MenuItem item(MENU_SEPARATOR); - item.SetName(group.name,false); - items.push_back(item); - } - for (int i=0;i<(int)group.items.size();i++) - { - const CJumpItem &jumpItem=group.items[i]; - if (jumpItem.bHidden) continue; - - MenuItem item(MENU_NO); - if (jumpItem.type==CJumpItem::TYPE_LINK) - { - item.SetName(jumpItem.name,false); - CComQIPtr pLink(jumpItem.pItem); - if (pLink) - { - pLink->GetIDList(&item.pItem1); - wchar_t location[_MAX_PATH]; - int index; - if (pLink->GetIconLocation(location,_countof(location),&index)==S_OK && location[0]) - item.pItemInfo=g_ItemManager.GetCustomIcon(location,index,CItemManager::ICON_SIZE_TYPE_SMALL,(index==0)); // assuming that if index!=0 the icon comes from a permanent location like a dll or exe - } - } - else if (jumpItem.type==CJumpItem::TYPE_ITEM) - { - item.SetName(jumpItem.name,false); - CComQIPtr pItem(jumpItem.pItem); - if (pItem) - SHGetIDListFromObject(pItem,&item.pItem1); - } - else if (jumpItem.type==CJumpItem::TYPE_SEPARATOR) - { - item.id=MENU_SEPARATOR; - } - item.bSplit=(jumpItem.type!=CJumpItem::TYPE_SEPARATOR && group.type!=CJumpGroup::TYPE_TASKS); - if (item.pItem1 && !item.pItemInfo) - { - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(item.pItem1,IID_IShellItem,(void**)&pItem))) - { - // do some pidl laundering. sometimes the pidls from the jumplists may contain weird hidden data, which affects the icon - // so do a round-trip convertion of the pidl to a display name - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName))) - { - CComPtr pItem2; - CAbsolutePidl pidl2; - if (SUCCEEDED(MenuParseDisplayName(pName,&pidl2,NULL,NULL)) && SUCCEEDED(SHCreateItemFromIDList(pidl2,IID_IShellItem,(void**)&pItem2))) - { - int order; - if (SUCCEEDED(pItem->Compare(pItem2,SICHINT_CANONICAL,&order)) && order==0) - { - ILFree(item.pItem1); - item.pItem1=pidl2.Detach(); - pItem=pItem2; - } - } - } - item.pItemInfo=g_ItemManager.GetItemInfo(pItem,item.pItem1,CItemManager::INFO_SMALL_ICON); - } - } - item.jumpIndex=MAKELONG(g,i); - items.push_back(item); -#ifdef REPEAT_JUMPLIST_ITEMS - for (int i=0;i0 && m_Items[0].id!=MENU_EMPTY) - m_ScrollCount=(int)m_Items.size(); - m_OriginalScrollCount=m_ScrollCount; - UpdateAccelerators(0,(int)m_Items.size()); - return; - } - - if ((m_Options&CONTAINER_DOCUMENTS) && s_MaxRecentDocuments>0) // create the recent documents list - { - Assert(m_Path1[0] && !m_Path2[0]); - - // find all documents - - // with many recent files it takes a long time to go through the IShellFolder enumeration - // so use FindFirstFile directly - wchar_t recentPath[_MAX_PATH]; - SHGetPathFromIDList(m_Path1[0],recentPath); - wchar_t find[_MAX_PATH]; - Sprintf(find,_countof(find),L"%s\\*.lnk",recentPath); - - std::vector docs; - - WIN32_FIND_DATA data; - HANDLE h=FindFirstFile(find,&data); - while (h!=INVALID_HANDLE_VALUE) - { - Document doc; - doc.name.Format(L"%s\\%s",recentPath,data.cFileName); - doc.time=data.ftLastWriteTime; - docs.push_back(doc); - if (!FindNextFile(h,&data)) - { - FindClose(h); - break; - } - } - - // sort by time - std::sort(docs.begin(),docs.end()); - - size_t count=0; - CComPtr pLink; - if (SUCCEEDED(pLink.CoCreateInstance(CLSID_ShellLink))) - { - CComQIPtr pFile(pLink); - if (pFile) - { - // go through the items until we find s_MaxRecentDocuments documents - for (std::vector::const_iterator it=docs.begin();it!=docs.end();++it) - { - wchar_t path[_MAX_PATH]; - // find the target of the lnk file - if (SUCCEEDED(pFile->Load(it->name,STGM_READ)) && SUCCEEDED(pLink->GetPath(path,_countof(path),&data,0))) - { - // check if it is link to a file or directory - if (path[0] && !(data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)) - { - CAbsolutePidl pidl; - MenuParseDisplayName(it->name,&pidl,NULL,NULL); - CComPtr pItem; - CComString pName; - if (pidl && SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pItem)) && SUCCEEDED(pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - { - if (_wcsicmp(PathFindExtension(pName),L".lnk")==0) - continue; - MenuItem item(MENU_NO); - item.pItem1=pidl.Detach(); - item.pItemInfo=g_ItemManager.GetItemInfo(pItem,item.pItem1,CItemManager::INFO_SMALL_ICON); - item.SetName(pName,(m_Options&CONTAINER_NOEXTENSIONS)!=0); - - m_Items.push_back(item); - count++; - if ((int)count>=s_MaxRecentDocuments) break; - } - } - } - } - } - } - } - - if ((m_Options&CONTAINER_APPS) && GetWinVersion()>=WIN_VER_WIN8) - { - std::vector links; - GetMetroLinks(links,true); - - for (std::vector::iterator it=links.begin();it!=links.end();++it) - { - const CItemManager::ItemInfo *pInfo=g_ItemManager.GetItemInfo(it->pItem,it->pidl,CItemManager::INFO_METRO|CItemManager::INFO_SMALL_ICON); - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (_wcsicmp(pInfo->GetAppid(),DESKTOP_APP_ID)==0) - continue; - CString name; - if (pInfo->IsMetroLink()) - name=pInfo->GetMetroName(); - else - { - CComString pName; - if (FAILED(it->pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - continue; - if (wcsncmp(pName,L"@{",2)==0) - continue; // bad name - name=pName; - } - MenuItem item(MENU_NO); - item.SetName(name,false); - StringUpper(name); - item.nameHash=CalcFNVHash(name); - item.pItemInfo=pInfo; - item.pItem1=it->pidl.Detach(); - item.bMetroLink=pInfo->IsMetroLink(); - item.bMetroApp=item.pItemInfo->IsMetroApp(); - m_Items.push_back(item); - } - } - - // add first folder - if (!(m_Options&CONTAINER_DOCUMENTS) && !(m_Options&CONTAINER_APPS)) - { - if (m_Path1[0]) - { - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(m_Path1[0],IID_IShellItem,(void**)&pItem))) - { - pItem->BindToHandler(NULL,BHID_SFViewObject,IID_IShellView,(void**)&m_pShellView); - m_pDropFolder[0]=pItem; - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName))) - { - pName.MakeUpper(); - m_FolderHash[0]=CalcFNVHash(pName); - } - AddFirstFolder(pItem,m_Items,m_Options); - } - } - - // add second folder - if (m_Path2[0]) - { - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(m_Path2[0],IID_IShellItem,(void**)&pItem))) - { - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName))) - { - pName.MakeUpper(); - m_FolderHash[0]=CalcFNVHash(pName,m_FolderHash[0]); - } - AddSecondFolder(pItem,m_Items,m_Options); - } - } - } - - if (m_Options&CONTAINER_ALLPROGRAMS) - { - std::vector items; - if (m_Path1[1]) - { - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(m_Path1[1],IID_IShellItem,(void**)&pItem))) - { - m_pDropFolder[1]=pItem; - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName))) - { - pName.MakeUpper(); - m_FolderHash[1]=CalcFNVHash(pName); - } - AddFirstFolder(pItem,items,m_Options); - } - } - - // add second folder - if (m_Path2[1]) - { - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(m_Path2[1],IID_IShellItem,(void**)&pItem))) - { - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName))) - { - pName.MakeUpper(); - m_FolderHash[1]=CalcFNVHash(pName,m_FolderHash[1]); - } - AddSecondFolder(pItem,items,m_Options); - } - } - if (!items.empty()) - { - if (!m_Items.empty()) - { - MenuItem item(MENU_SEPARATOR); - item.priority=1; - m_Items.push_back(item); - } - for (std::vector::iterator it=items.begin();it!=items.end();++it) - it->priority=2; - m_Items.insert(m_Items.end(),items.begin(),items.end()); - } - } - - // sort m_Items or read order from the registry - LoadItemOrder(); - - if (m_Items.size()>MAX_MENU_ITEMS) - { - for (size_t i=MAX_MENU_ITEMS;i::iterator it=m_Items.begin();it!=m_Items.end();++it) - if (it->nameHash==AdminToolsHash) - { - it->bFolder=true; - break; - } - } - - if (m_Items.empty() && m_Path1[0] && m_pDropFolder[0]) - { - // add (Empty) item to the empty submenus - MenuItem item(m_bSubMenu?MENU_EMPTY:MENU_EMPTY_TOP); - item.name=FindTranslation(L"Menu.Empty",L"(Empty)"); - m_Items.push_back(item); - } - - if (!m_bSubMenu) - { - for (std::vector::iterator it=m_Items.begin();it!=m_Items.end();++it) - { - MenuItem &item=*it; - if (item.bLink && !item.bFolder && item.pItem1) - g_ItemManager.UpdateItemInfo(item.pItemInfo,CItemManager::INFO_LINK_APPID); - } - } - - if (m_Options&CONTAINER_RECENT) - { - int nRecent=GetSettingInt(L"MaxRecentPrograms"); - if (nRecent<0) - nRecent=-nRecent; - if (nRecent>MRU_PROGRAMS_COUNT) nRecent=MRU_PROGRAMS_COUNT; - if (nRecent>0) - { - // prepend recent programs - std::vector items; - GetRecentPrograms(items,nRecent); - if (!items.empty()) - { - MenuItem item(MENU_SEPARATOR); - if (GetSettingBool(L"RecentProgsTop")) - { - items.push_back(item); - m_Items.insert(m_Items.begin(),items.begin(),items.end()); - } - else - { - m_Items.push_back(item); - m_Items.insert(m_Items.end(),items.begin(),items.end()); - } - } - } - } - - if (!m_bSubMenu && GetSettingBool(L"EnableJumplists")) - { - for (std::vector::iterator it=m_Items.begin();it!=m_Items.end();++it) - { - MenuItem &item=*it; - if (item.bLink && !item.bFolder && item.pItem1) - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - item.bFolder=(!item.pItemInfo->GetAppid().IsEmpty() && HasJumplist(item.pItemInfo->GetAppid())); - item.bHasJumpList=item.bFolder; - item.bSplit=item.bFolder; - } - } - } - - m_ScrollCount=(int)m_Items.size(); - if (m_ScrollCount>0 && m_Items[m_ScrollCount-1].id==MENU_PROGRAMS_TREE) - m_ScrollCount--; - - if (s_bWin7Style && !m_bSubMenu && GetSettingInt(L"ProgramsStyle")!=PROGRAMS_HIDDEN) - { - MenuItem item(MENU_PROGRAMS_TREE); - m_Items.push_back(item); - } - AddStandardItems(); - - // remove trailing separators - while (!m_Items.empty() && m_Items[m_Items.size()-1].id==MENU_SEPARATOR && !m_Items[m_Items.size()-1].bInline) - m_Items.pop_back(); - - if (m_Items.empty()) - { - // add (Empty) item to the empty submenus - MenuItem item(MENU_EMPTY); - item.name=FindTranslation(L"Menu.Empty",L"(Empty)"); - m_Items.push_back(item); - } - - if (m_bSubMenu) - { - m_ScrollCount=(int)m_Items.size(); - m_SearchIndex=-1; - for (int i=0;i<(int)m_Items.size();i++) - { - if (m_Items[i].id==MENU_SEARCH_BOX) - m_SearchIndex=i; - } - } - else - { - m_ProgramButtonIndex=m_ProgramTreeIndex=-1; - m_SearchIndex=-1; - for (int i=0;i<(int)m_Items.size();i++) - { - if (m_Items[i].id==MENU_PROGRAMS_TREE) - m_ProgramTreeIndex=i; - if (m_Items[i].id==MENU_PROGRAMS) - m_ProgramButtonIndex=i; - if (m_Items[i].id==MENU_SEARCH_BOX) - m_SearchIndex=i; - } - m_SearchItemCount=1; - if (s_bWin7Style) - m_SearchItemCount=m_SearchProvidersCount+2; - } - - m_OriginalCount=(int)m_Items.size(); - m_OriginalScrollCount=m_ScrollCount; - UpdateAccelerators(0,m_OriginalCount); -} - -int CMenuContainer::AddSearchItems( const std::vector &items, const CString &categoryName, unsigned int categoryHash, int originalCount ) -{ - if (m_Items.size()>MAX_MENU_ITEMS-2) - return 0; - bool bFirst=true; - int count=0; - for (std::vector::const_iterator it=items.begin();it!=items.end();++it) - { - CComPtr pItem; - if (FAILED(SHCreateItemFromIDList(it->info->GetPidl(),IID_IShellItem,(void**)&pItem))) - continue; - - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(categoryHash==CSearchManager::CATEGORY_AUTOCOMPLETE?SIGDN_PARENTRELATIVEEDITING:SIGDN_NORMALDISPLAY,&pName))) - { - if (bFirst) - { - bFirst=false; - if (!categoryName.IsEmpty()) - { - MenuItem item(MENU_SEARCH_CATEGORY); - if (categoryHash==CSearchManager::CATEGORY_PROGRAM || categoryHash==CSearchManager::CATEGORY_SETTING) - { - item.name.Format(L"%s (%d)",categoryName,originalCount); - } - else - { - item.name=categoryName; - item.bSplit=(s_Skin.More_bitmap_Size.cx>0); - } - item.nameHash=CalcFNVHash(categoryName); - item.categoryHash=categoryHash; - m_Items.push_back(item); - } - } - - MenuItem item(MENU_NO); - item.categoryHash=categoryHash; - item.pItemInfo=it->info; - g_ItemManager.UpdateItemInfo(it->info,CItemManager::INFO_SMALL_ICON); - bool bMetroLink, bMetroApp; - CString metroName; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - bMetroLink=item.pItemInfo->IsMetroLink(); - bMetroApp=item.pItemInfo->IsMetroApp(); - if (bMetroLink) - metroName=item.pItemInfo->GetMetroName(); - } - if (!it->name.IsEmpty()) - item.SetName(it->name,false); - else if (bMetroLink && !metroName.IsEmpty()) - item.SetName(metroName,false); - else - item.SetName(pName,(m_Options&CONTAINER_NOEXTENSIONS)!=0); - item.bMetroLink=bMetroLink; - item.bMetroApp=bMetroApp; - item.pItem1=ILCloneFull(it->info->GetPidl()); - wchar_t name[_MAX_PATH]; - Strcpy(name,_countof(name),item.name); - CharUpper(name); - item.nameHash=CalcFNVHash(name,categoryHash); - m_Items.push_back(item); - count++; - } - } - return count; -} - -// Initialize the m_Items list with the search results -bool CMenuContainer::InitSearchItems( void ) -{ - if (m_bSubMenu) - ClearItems(m_Items.begin(),m_Items.end()); - else - ClearItems(m_Items.begin()+m_OriginalCount,m_Items.end()); - m_RefreshPosted=0; - SetSubmenu(-1); - SetContextItem(-1); - s_HotPos=GetMessagePos(); - m_ScrollCount=0; - g_SearchManager.GetSearchResults(s_SearchResults); - bool bAutoComlpete=!s_SearchResults.autoCompletePath.IsEmpty(); - m_SearchScrollCount=0; - m_SearchScrollHeight=0; - m_SearchScrollPos=0; - unsigned int runCategoryHash=0; - CString runCommand; - CComString runExe; - if (!bAutoComlpete && !s_bNoRun && s_SearchResults.programs.empty() && s_SearchResults.settings.empty()) - { - if (s_bWin7Style) - m_SearchBox.GetWindowText(runCommand); - else - m_pParent->m_SearchBox.GetWindowText(runCommand); - - // validate execute item - if (_wcsnicmp(runCommand,L"www.",4)==0 || _wcsnicmp(runCommand,L"http:",5)==0) - runCategoryHash=CSearchManager::CATEGORY_INTERNET; - else if (_wcsnicmp(runCommand,L"shell:",6)==0) - { - CAbsolutePidl pidl; - if (SUCCEEDED(SHParseDisplayName(runCommand,NULL,&pidl,0,NULL))) - runCategoryHash=CSearchManager::CATEGORY_PROGRAM; - } - else if (wcsncmp(runCommand,L"\\\\",2)!=0 && SUCCEEDED(SHEvaluateSystemCommandTemplate(runCommand,&runExe,NULL,NULL))) - runCategoryHash=CSearchManager::CATEGORY_PROGRAM; - if (runCategoryHash) - s_SearchResults.programs.push_back(NULL); - } - std::vector items; - std::vector counts; - int sepHeight=0, itemHeight=0, maxHeight=0, reservedHeight=0; - int maxCount=0; - if (s_bWin7Style) - { - sepHeight=s_Skin.ItemSettings[s_Skin.More_bitmap_Size.cx?MenuSkin::LIST_SEPARATOR_SPLIT:MenuSkin::LIST_SEPARATOR].itemHeight; - itemHeight=s_Skin.ItemSettings[MenuSkin::LIST_ITEM].itemHeight; - // total height minus the search box and the "more results"/"search internet" - maxHeight=m_Items[m_SearchIndex].itemRect.top-s_Skin.Main_search_padding.top-s_Skin.Search_padding.top; - maxHeight-=itemHeight*(m_SearchItemCount-1); - if (!s_SearchResults.bSearching && !HasMoreResults()) - maxHeight+=itemHeight; - } - if (bAutoComlpete) - { - items.reserve(s_SearchResults.autocomplete.size()); - for (std::vector::const_iterator it=s_SearchResults.autocomplete.begin();it!=s_SearchResults.autocomplete.end() && (int)items.size()::const_iterator it=s_SearchResults.indexed.begin();it!=s_SearchResults.indexed.end();++it) - { - if (!it->items.empty()) - { - counts.push_back((int)it->items.size()); - if (m_SearchCategoryHash==it->categoryHash) - selectedCount=(int)it->items.size(); - } - } - - int n=(int)counts.size(); - if (n>0) - { - int totalCount=(maxHeight-n*sepHeight)/itemHeight; - maxCount=1; - if (totalCount>n) - { - std::sort(counts.begin(),counts.end()); - for (int i=0;i0?(sepHeight+selectedCount*itemHeight):0; - if (reservedHeight>maxHeight) reservedHeight=maxHeight; - maxHeight-=reservedHeight; - } - } - - // add categories - std::list::const_iterator it=s_SearchResults.indexed.begin(); - for (size_t idx=0;idxcategoryHash; - - int count=0; - if (s_bWin7Style) - { - int h=(categoryHash==m_SearchCategoryHash?reservedHeight:maxHeight); - count=(h-sepHeight)/itemHeight; - if (categoryHash!=m_SearchCategoryHash && count>maxCount) - count=maxCount; - } - else - { - count=GetSettingInt(categoryHash==m_SearchCategoryHash?L"SearchResultsMax":L"SearchResults"); - } - if (count<=0) - { - if (idx>=2) ++it; - continue; - } - - const wchar_t *name; - int originalCount=0; - if (idx==0) - { - originalCount=(int)s_SearchResults.programs.size(); - if (count>originalCount) - count=originalCount; - items.reserve(count); - for (std::vector::const_iterator it=s_SearchResults.programs.begin();it!=s_SearchResults.programs.end() && (int)items.size()originalCount) - count=originalCount; - items.reserve(count); - for (std::vector::const_iterator it=s_SearchResults.settings.begin();it!=s_SearchResults.settings.end() && (int)items.size()items.size(); - if (count>originalCount) - count=originalCount; - items.reserve(count); - for (int i=0;iitems[i].pidl; - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pItem))) - items.push_back(SearchItem(it->items[i].name,g_ItemManager.GetItemInfo(pItem,pidl,0))); - } - name=it->name; - ++it; - } - if (items.empty()) - continue; - if (idx==0 && runCategoryHash) - { - MenuItem item1(MENU_SEARCH_CATEGORY); - item1.categoryHash=runCategoryHash; - item1.name=runCategoryHash==CSearchManager::CATEGORY_INTERNET?FindTranslation(L"Search.CategoryInternet",L"Internet"):FindTranslation(L"Search.CategoryPrograms",L"Programs"); - item1.nameHash=CalcFNVHash(item1.name); - m_Items.push_back(item1); - - MenuItem item2(MENU_SEARCH_EXECUTE); - item2.name=runCommand; - if (runCategoryHash==CSearchManager::CATEGORY_INTERNET) - item2.pItemInfo=GetInternetIcon(true); - else if (runExe) - { - item2.pItemInfo=g_ItemManager.GetItemInfo(CString(runExe),CItemManager::INFO_SMALL_ICON); - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - item2.pItem1=ILCloneFull(item2.pItemInfo->GetPidl()); - } - else - item2.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,100",CItemManager::ICON_SIZE_TYPE_SMALL); - m_Items.push_back(item2); - count=1; - } - else - { - count=AddSearchItems(items,name,categoryHash,originalCount); - } - if (s_bWin7Style && categoryHash!=m_SearchCategoryHash && count>0) - maxHeight-=sepHeight+count*itemHeight; - } - if (s_bWin7Style) - { - UpdateAccelerators(m_OriginalCount,(int)m_Items.size()); - MenuItem &item=m_Items[m_SearchIndex-m_SearchItemCount+1]; - if (s_SearchResults.bSearching) - { - item.id=MENU_SEARCH_EMPTY; - item.name=FindTranslation(L"Menu.Searching",L"Searching..."); - item.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,8",CItemManager::ICON_SIZE_TYPE_SMALL); - } - else - { - item.id=MENU_MORE_RESULTS; - item.name=FindTranslation(L"Menu.MoreResults",L"See more results"); - item.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,177",CItemManager::ICON_SIZE_TYPE_SMALL); - } - } - else - { - m_ScrollCount=(int)m_Items.size(); - bool bInternet=GetSettingBool(L"SearchInternet"); - if (s_SearchResults.bSearching) - { - MenuItem item(MENU_SEARCH_EMPTY); - item.name=FindTranslation(L"Menu.Searching",L"Searching..."); - item.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,8",CItemManager::ICON_SIZE_TYPE_SMALL); - m_Items.push_back(item); - } - else - { - if (m_Items.empty()) - { - MenuItem item(MENU_SEARCH_EMPTY); - item.name=FindTranslation(L"Menu.NoMatch",L"No items match your search."); - m_Items.push_back(item); - } - if (HasMoreResults()) - { - { - MenuItem item(MENU_SEPARATOR); - m_Items.push_back(item); - } - MenuItem item(MENU_MORE_RESULTS); - item.name=FindTranslation(L"Menu.MoreResults",L"See more results"); - item.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,177",CItemManager::ICON_SIZE_TYPE_SMALL); - m_Items.push_back(item); - } - else if (bInternet) - { - MenuItem item(MENU_SEPARATOR); - m_Items.push_back(item); - } - if (bInternet) - AddInternetSearch(m_Items.size()); - } - AddStandardItems(); - UpdateAccelerators(m_ScrollCount,(int)m_Items.size()); - } - - if (!s_SearchResults.bSearching && (m_Items.empty() || (m_bTwoColumns && m_Items.size()==m_OriginalCount))) - { - MenuItem item(MENU_SEARCH_EMPTY); - item.name=FindTranslation(L"Menu.NoMatch",L"No items match your search."); - m_Items.push_back(item); - } - return s_SearchResults.bSearching; -} - -HBITMAP CMenuContainer::GetArrowsBitmap( unsigned int color ) -{ - if (!s_ArrowsBitmap) - { - int id=s_Skin.Dpi>=144?IDB_ARROWS150:IDB_ARROWS; - s_ArrowsBitmap=(HBITMAP)LoadImage(g_Instance,MAKEINTRESOURCE(id),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - s_LastArrowColor=0xFFFFFF; - } - if (s_LastArrowColor!=color) - { - s_LastArrowColor=color; - color=0xFF000000|(color<<16)|(color&0xFF00)|((color>>16)&0xFF); - BITMAP info; - GetObject(s_ArrowsBitmap,sizeof(info),&info); - int n=info.bmWidth*info.bmHeight; - for (int p=0;p>24)*0x01010101)&color; - } - } - return s_ArrowsBitmap; -} - -// Calculate the size and create the background bitmaps -void CMenuContainer::InitWindow( bool bDontShrink ) -{ - POINT corner; - RECT rc; - GetWindowRect(&rc); - corner.x=(m_Options&CONTAINER_LEFT)?rc.left:rc.right; - corner.y=(m_Options&CONTAINER_TOP)?rc.top:rc.bottom; - RECT menuRect; - InitWindowInternal(bDontShrink,corner,menuRect); - InitWindowFinalize(menuRect); -} - -void CMenuContainer::InitWindowInternal( bool bDontShrink, const POINT &corner, RECT &menuRect ) -{ - bool bRecentReverse=GetSettingInt(L"MaxRecentPrograms")<0; - bool bRecentByName=GetSettingBool(L"RecentSortName"); - - int firstRecent=-1, lastRecent=-1; - if ((bRecentReverse || bRecentByName) && (!m_bSubMenu || (m_Options&CONTAINER_RECENT))) - { - for (int i=0;i<(int)m_Items.size();i++) - { - if (m_Items[i].id==MENU_RECENT) - { - if (firstRecent==-1) firstRecent=i; - lastRecent=i+1; - } - else if (firstRecent!=-1) - break; - } - if (firstRecent>=0) - std::sort(m_Items.begin()+firstRecent,m_Items.begin()+lastRecent,MenuItem::MruOrderComparator()); - } - - m_bTwoColumns=(!m_bSubMenu && s_Skin.TwoColumns); - if (!m_pParent && !s_Theme && IsAppThemed()) - { - s_Theme=OpenThemeData(m_hWnd,L"toolbar"); - s_PagerTheme=OpenThemeData(m_hWnd,L"scrollbar"); - } - if (!m_pParent && !s_Tooltip.m_hWnd) - { - s_Tooltip=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|WS_EX_TRANSPARENT|(s_bRTL?WS_EX_LAYOUTRTL:0),TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_NOPREFIX|TTS_ALWAYSTIP,0,0,0,0,NULL,NULL,g_Instance,NULL); - s_Tooltip.SendMessage(TTM_SETMAXTIPWIDTH,0,500); - TOOLINFO tool={sizeof(tool),TTF_ABSOLUTE|TTF_TRACK|TTF_TRANSPARENT|(s_bRTL?TTF_RTLREADING:0U)}; - tool.uId=1; - s_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - } - RECT menuPadding[2]; - if (m_bSubMenu) - { - menuPadding[0]=s_Skin.Submenu_padding; - memset(&menuPadding[1],0,sizeof(menuPadding[1])); - } - else if (s_MenuMode==MODE_SEARCH) - { - menuPadding[0]=s_Skin.Main_search_padding; - memset(&menuPadding[1],0,sizeof(menuPadding[1])); - } - else if (s_MenuMode==MODE_JUMPLIST) - { - menuPadding[0]=s_Skin.Main_padding; - menuPadding[1]=s_Skin.Main_jump_padding; - } - else - { - menuPadding[0]=s_Skin.Main_padding; - menuPadding[1]=s_Skin.Main2_padding; - } - - // calculate maximum height - int maxHeight[2]; // excluding padding - int maxWidth=m_MaxWidth; - int borderHeight=0; - { - const RECT &mainRect=m_bSubMenu?s_MenuLimits:s_MainMenuLimits; - maxHeight[0]=maxHeight[1]=(mainRect.bottom-mainRect.top); - // adjust for padding - RECT rc={0,0,0,0}; - AdjustWindowRect(&rc,GetWindowLong(GWL_STYLE),FALSE); - maxWidth-=rc.right-rc.left; - maxWidth-=menuPadding[0].left+menuPadding[0].right; - if (m_bSubMenu) - { - borderHeight=rc.bottom; - maxHeight[0]-=menuPadding[0].top+menuPadding[0].bottom; - } - else - { - if (m_Options&CONTAINER_TOP) - maxHeight[0]=maxHeight[1]=mainRect.bottom-corner.y; - else - maxHeight[0]=maxHeight[1]=corner.y-mainRect.top; - maxHeight[0]-=rc.bottom-rc.top; - maxHeight[1]-=rc.bottom-rc.top; - maxHeight[0]-=menuPadding[0].top+menuPadding[0].bottom; - maxHeight[1]-=menuPadding[1].top+menuPadding[1].bottom; - if (s_UserPicture.m_hWnd && !(m_Options&CONTAINER_TOP) && s_Skin.User_bitmap_outside) - { - maxHeight[0]-=s_Skin.User_bitmapSize.cy-s_Skin.User_frame_position.x; - maxHeight[1]-=s_Skin.User_bitmapSize.cy-s_Skin.User_frame_position.x; - } - } - } -#ifdef _DEBUG -// maxHeight[0]/=3; maxHeight[1]/=3; // uncomment to test for smaller screen -#endif - - HDC hdc=CreateCompatibleDC(NULL); - int arrowSize[2]; - if (m_bSubMenu) - { - const MenuSkin::ItemDrawSettings &settings=s_Skin.ItemSettings[MenuSkin::SUBMENU_ITEM]; - arrowSize[0]=settings.arrPadding.cx+settings.arrPadding.cy; - if (m_Options&CONTAINER_JUMPLIST) - arrowSize[0]+=s_Skin.Pin_bitmap_Size.cx; - else - arrowSize[0]+=settings.arrSize.cx; - } - else - { - const MenuSkin::ItemDrawSettings &settings=s_Skin.ItemSettings[MenuSkin::COLUMN1_ITEM]; - arrowSize[0]=settings.arrPadding.cx+settings.arrPadding.cy+settings.arrSize.cx; - } - { - const MenuSkin::ItemDrawSettings &settings=s_Skin.ItemSettings[MenuSkin::COLUMN2_ITEM]; - arrowSize[1]=settings.arrPadding.cx+settings.arrPadding.cy+settings.arrSize.cx; - } - int expandoSize=s_Skin.GetArrowsBitmapSizes()[6].y; - - HGDIOBJ font0=GetCurrentObject(hdc,OBJ_FONT); - int fixedWidth[2]={-1,-1}; - int maxItemWidth[2]={65536,65536}; - if (m_bSubMenu) - { - int numChar=GetSettingInt(L"MaxMenuWidth"); - maxItemWidth[0]=numChar?s_Skin.ItemSettings[MenuSkin::SUBMENU_ITEM].textMetrics.tmAveCharWidth*numChar:65536; - } - else - { - int numChar=GetSettingInt(L"MaxMainMenuWidth"); - int width=s_Skin.ItemSettings[MenuSkin::COLUMN1_ITEM].textMetrics.tmAveCharWidth; - maxItemWidth[0]=numChar?width*numChar:65536; - maxItemWidth[1]=numChar?s_Skin.ItemSettings[MenuSkin::COLUMN2_ITEM].textMetrics.tmAveCharWidth*numChar:65536; - if (s_bWin7Style) - { - if (s_MenuMode==MODE_SEARCH) - { - fixedWidth[0]=s_MenuWidthNormal-s_Skin.Main_search_padding.left-s_Skin.Main_search_padding.right; - fixedWidth[1]=0; - maxItemWidth[0]=65536; - } - else if (s_MenuMode==MODE_JUMPLIST) - { - fixedWidth[0]=width*s_ProgramsWidth; - fixedWidth[1]=width*s_JumplistWidth; - maxItemWidth[0]=65536; - maxItemWidth[1]=65536; - } - else - { - fixedWidth[0]=width*s_ProgramsWidth; - maxItemWidth[0]=65536; - maxItemWidth[1]=65536; - } - } - s_MenuWidthJump=width*(s_ProgramsWidth+s_JumplistWidth)+s_Skin.Main_padding.left+s_Skin.Main_padding.right+s_Skin.Main_jump_padding.left+s_Skin.Main_jump_padding.right; - } - m_ScrollButtonSize=s_Skin.ItemSettings[m_bSubMenu?MenuSkin::SUBMENU_ITEM:MenuSkin::COLUMN1_ITEM].itemHeight; - if (!s_bHasTouch) - m_ScrollButtonSize/=2; - if (m_ScrollButtonSize columnWidths; - columnWidths.push_back(0); - - bool bMultiColumn=s_ScrollMenus!=0 && (m_Options&CONTAINER_MULTICOLUMN); - int shutdownIndex=-1; - - { - int row=0, column=0, subColumn=0; - int y=0; - int maxw=0; - int index=0; - for (int i=0;i<(int)m_Items.size();i++) - { - MenuItem &item=m_Items[i]; - - if (m_bTwoColumns && column==0 && i>0 && item.bBreak) - { - // start a new column - column++; - columnWidths.push_back(0); - row=0; - y=0; - if (s_UserPicture.m_hWnd) - { - if (!s_Skin.User_bitmap_outside || (m_Options&CONTAINER_TOP)) - y=s_Skin.User_bitmapSize.cy+s_Skin.User_image_padding.x+s_Skin.User_image_padding.y; - else - y=s_Skin.User_frame_position.x+s_Skin.User_image_padding.y-menuPadding[0].top; - } - index=1; - } - item.bNew=false; - if (m_bTwoColumns && im_SearchIndex) && item.id!=MENU_SHUTDOWN_BUTTON) - { - // hide original items based on mode - if (s_MenuMode==MODE_JUMPLIST) - { - if (column==1) - { - item.itemRect.top=item.itemRect.bottom=0; - continue; - } - } - if (s_MenuMode==MODE_SEARCH) - { - item.itemRect.top=item.itemRect.bottom=0; - continue; - } - } - if (i==m_OriginalCount) - { - y=0; - row=0; - column=index=(s_MenuMode==MODE_JUMPLIST)?1:0; - if (column==1 && columnWidths.size()==1) - columnWidths.push_back(0); - } - if (item.id!=MENU_RECENT && !(m_Options&CONTAINER_SEARCH) && s_Skin.bHasNewItem && i=WIN_VER_WIN8 && GetSettingBool(L"AllProgramsMetro")) - item.bNew=g_ItemManager.HasNewPrograms(false) || g_ItemManager.HasNewApps(false); - else - item.bNew=g_ItemManager.HasNewPrograms(false); - } - else if (item.id==MENU_APPS) - item.bNew=g_ItemManager.HasNewApps(false); - else if (item.bFolder) - item.bNew=(item.pItem1 && g_ItemManager.IsNewProgram(item.pItem1,true,false)) || (item.pItem2 && g_ItemManager.IsNewProgram(item.pItem2,true,false)); - else if (item.pItemInfo) - item.bNew=(item.pItem1 && g_ItemManager.IsNewProgram(item.pItem1,false,item.bMetroApp)); - } - if (item.id==MENU_SHUTDOWN_BUTTON) - { - if (s_MenuMode==MODE_SEARCH) - item.drawType=MenuSkin::SHUTDOWN_BUTTON_SEARCH; - else if (s_MenuMode==MODE_JUMPLIST) - item.drawType=MenuSkin::SHUTDOWN_BUTTON_JUMP; - else - item.drawType=MenuSkin::SHUTDOWN_BUTTON; - } - else if (s_bWin7Style && item.id==MENU_SEARCH_CATEGORY) - { - item.drawType=(item.bSplit)?MenuSkin::LIST_SEPARATOR_SPLIT:MenuSkin::LIST_SEPARATOR; - } - else if (s_bWin7Style && item.id==MENU_PROGRAMS) - { - if (GetSettingInt(L"ProgramsStyle")==PROGRAMS_INLINE) - item.drawType=item.bNew?MenuSkin::PROGRAMS_BUTTON_NEW:MenuSkin::PROGRAMS_BUTTON; - else - item.drawType=item.bNew?MenuSkin::PROGRAMS_CASCADING_NEW:MenuSkin::PROGRAMS_CASCADING; - } - else if (s_bWin7Style && m_bTwoColumns && (s_MenuMode==MODE_SEARCH || s_MenuMode==MODE_JUMPLIST) && i>=m_OriginalCount) - { - if (item.id==MENU_SEPARATOR) - item.drawType=MenuSkin::LIST_SEPARATOR; - else if (item.jumpIndex<0) - item.drawType=MenuSkin::LIST_ITEM; - else - item.drawType=(s_JumpList.groups[LOWORD(item.jumpIndex)].type==CJumpGroup::TYPE_TASKS)?MenuSkin::LIST_ITEM:MenuSkin::LIST_SPLIT; - } - else if (s_bWin7Style && (i>m_SearchIndex-m_SearchItemCount && i1 && (m_Items[i].id==MENU_EMPTY_TOP || (i>0 && m_Items[i-1].id==MENU_EMPTY_TOP))) - h=0; // this is the first (Empty) item in the top menu. hide it for now - else if (item.bInline) - { - h=iconSize+settings.iconPadding.top+settings.iconPadding.bottom; - w=iconSize+settings.iconPadding.left+settings.iconPadding.right; - } - else if ((item.id==MENU_SEPARATOR || item.id==MENU_SEARCH_CATEGORY) && !item.bBlankSeparator) - { - if (!item.name.IsEmpty()) - { - h=settings.itemHeight; - RECT rcText={0,0,0,0}; - DrawText(hdc,item.name,-1,&rcText,DT_CALCRECT|DT_SINGLELINE|DT_HIDEPREFIX); - w=rcText.right; - if (w>maxItemWidth[index]) w=maxItemWidth[index]; - int textEnd=w; - w+=settings.textPadding.left+settings.textPadding.right+arrowSize[index]; - int textStart=settings.textPadding.left; - if (item.id==MENU_SEARCH_CATEGORY) - { - w+=settings.iconPadding.left+settings.iconPadding.right+expandoSize; - textStart+=settings.iconPadding.left+settings.iconPadding.right+expandoSize; - if (item.bSplit) - w+=settings.arrPadding.cx+settings.arrPadding.cy+s_Skin.More_bitmap_Size.cx+1; - } - textEnd+=textStart; - item.textStart=(short)textStart; - item.textEnd=(short)textEnd; - } - else if (y>0 || (i>0 && i==m_ProgramTreeIndex+1)) - h=settings.sepHeight; - else - h=0; // ignore separators at the top of the column - } - else if (item.id==MENU_SEARCH_BOX) - { - h=settings.textMetrics.tmHeight*12/8+s_Skin.Search_padding.top+s_Skin.Search_padding.bottom; // 12 DLUs - w=settings.textMetrics.tmAveCharWidth*25; - } - else if (s_bWin7Style && i>m_SearchIndex-m_SearchItemCount && imaxItemWidth[index]) w=maxItemWidth[index]; - w+=settings.iconPadding.left+settings.iconPadding.right+settings.textPadding.left+settings.textPadding.right+arrowSize[index]+iconSize; - } - if (bMultiColumn && y>0 && y+h>maxHeight[0]) - { - if (item.id==MENU_SEPARATOR && !item.bBlankSeparator && !item.bInline) - h=0; // ignore separators at the bottom of the column - else - { - // start a new column - column++; - columnWidths.push_back(0); - row=0; - y=0; - } - } - else if (item.id==MENU_SEPARATOR && !item.bBlankSeparator && !item.bInline && m_bTwoColumns && column==0 && i+1<(int)m_Items.size() && m_Items[i+1].bBreak) - h=0; - item.row=row; - item.column=column; - item.itemRect.top=y; - item.itemRect.bottom=y+h; - item.itemRect.left=0; - if (item.bInline) - { - if (item.bInlineFirst) - { - subColumn=0; - } - else - { - item.row=row=row-1; - item.itemRect.top-=h; - item.itemRect.bottom-=h; - h=0; - } - item.itemRect.left=w*subColumn; - if (item.id==MENU_SEPARATOR) - { - w=0; - subColumn--; - } - subColumn++; - } - item.itemRect.right=item.itemRect.left+w; - if (columnWidths[column]=0) - columnWidths[0]=fixedWidth[0]; - if (fixedWidth[1]>=0) - columnWidths[1]=fixedWidth[1]; - } - - if (s_ScrollMenus==2 && columnWidths.size()>1 && m_bSubMenu) - { - // auto - determine if we should have 1 column or many - int width=0; - for (size_t i=0;i0) width+=s_Skin.Submenu_separatorWidth; - width+=columnWidths[i]; - } - if (width>maxWidth) - { - bMultiColumn=false; - // the columns don't fit on screen, switch to one scrollable column - int y=0; - columnWidths.resize(1); - columnWidths[0]=0; - for (size_t i=0;i0) maxw+=m_bSubMenu?s_Skin.Submenu_separatorWidth:s_Skin.Main_separatorWidth; - m_ColumnOffsets[i]=maxw; - maxw+=columnWidths[i]; - } - columnWidths.push_back(maxw); - bool bInline=false; - for (int i=0;i<(int)m_Items.size();i++) - { - MenuItem &item=m_Items[i]; - if (item.bInline) - { - item.itemRect.left+=m_ColumnOffsets[item.column]; - item.itemRect.right+=m_ColumnOffsets[item.column]; - bInline=true; - } - else if (item.id==MENU_SHUTDOWN_BUTTON) - { - int x=s_Skin.ItemSettings[MenuSkin::COLUMN1_ITEM].textMetrics.tmAveCharWidth*s_ProgramsWidth; - x+=s_Skin.Main_padding.left+s_Skin.Main_padding.right+s_Skin.Main2_padding.left; - item.itemRect.right+=x-item.itemRect.left; - item.itemRect.left=x; - } - else if (s_bWin7Style && item.id==MENU_SEARCH_BOX) - { - item.itemRect.left=0; - item.itemRect.right=s_Skin.ItemSettings[MenuSkin::COLUMN1_ITEM].textMetrics.tmAveCharWidth*s_ProgramsWidth; - } - else - { - item.itemRect.left=m_ColumnOffsets[item.column]; - item.itemRect.right=item.itemRect.left+columnWidths[item.column]; - if (s_MenuMode==MODE_SEARCH && !m_bSubMenu && (item.id==MENU_NO || item.id==MENU_SEARCH_EXECUTE) && i>=m_OriginalCount) - { - if ((item.categoryHash&CSearchManager::CATEGORY_MASK)!=CSearchManager::CATEGORY_AUTOCOMPLETE) - item.itemRect.left+=s_Skin.Main_search_indent; - else if (s_bWin7Style) - item.itemRect.right-=scrollWidth; - } - } - if (m_bTwoColumns) - { - if (maxh[item.column]=0) - { - m_Items[first].bInlineFirst=true; - m_Items[last].bInlineLast=true; - } - } - } - } - } - - if (m_Bitmap) - { - DeleteObject(m_Bitmap); - m_Bitmap=NULL; - } - if (m_Region) - { - DeleteObject(m_Region); - m_Region=NULL; - } - - m_ExtraTop=m_ExtraBottom=m_ExtraBorder=0; - if (!bMultiColumn && maxh[0]>maxHeight[0] && m_ScrollCount>0 && m_bSubMenu) - { - int d=menuPadding[0].top+menuPadding[0].bottom+maxh[0]-maxHeight[1]; - if (d<=menuPadding[0].top) - m_ExtraTop=d; - else - { - m_ExtraTop=menuPadding[0].top; - d-=menuPadding[0].top; - if (d<=menuPadding[0].bottom) - m_ExtraBottom=d; - else - m_ExtraBottom=menuPadding[0].bottom; - } - m_ExtraBorder=borderHeight; - maxHeight[0]=maxHeight[1]; - } - - int totalWidth, totalHeight; - memset(&m_rContent2,0,sizeof(m_rContent2)); - bool bSetMenuSize=(s_MenuHeight==-1); - if (!m_bSubMenu) - { - if (s_MenuMaxHeight[0]==-1) - { - s_MenuMaxHeight[0]=maxh[0]; - s_MenuMaxHeight[1]=maxh[1]; - } - else if (bSetMenuSize) - { - maxh[0]=s_MenuMaxHeight[0]; - maxh[1]=s_MenuMaxHeight[1]; - } - } - { - int w1=maxw, w2=0; - int h1=(maxh[0]2) - { - w1=columnWidths[0]; - w2=columnWidths[1]; - - if (s_bWin7Style) - { - if (bSetMenuSize) - { - int minh=s_Skin.ItemSettings[MenuSkin::LIST_ITEM].itemHeight*GetSettingInt(L"MinMainHeight"); - if (h1q) - s_MenuHeight=q; - } - h1=s_MenuHeight-menuPadding[0].top-menuPadding[0].bottom; - h2=s_MenuHeight-menuPadding[1].top-menuPadding[1].bottom; - } - } - if (!m_bSubMenu) - { - if (s_bWin7Style) - { - s_BackgroundW1=w1; - s_BackgroundW2=w2; - s_BackgroundH1=h1; - s_BackgroundH2=h2; - if (s_OldMenuState.mode==MODE_UNKNOWN) - CreateBackground(w1,w2,h1,h2,totalWidth,totalHeight,true); - else - CreateContentRects(w1,w2,h1,h2,totalWidth,totalHeight); - } - else if (s_Skin.Main_bitmap.GetBitmap() || s_Skin.User_image_size || m_bTwoColumns || s_Skin.User_name_position.left!=s_Skin.User_name_position.right) - { - CreateBackground(w1,w2,h1,h2,totalWidth,totalHeight,true); - } - else - { - m_rContent.left=menuPadding[0].left; - m_rContent.top=menuPadding[0].top; - m_rContent.right=menuPadding[0].left+w1; - m_rContent.bottom=menuPadding[0].top+h1; - totalWidth=menuPadding[0].left+menuPadding[0].right+w1; - totalHeight=menuPadding[0].top+menuPadding[0].bottom+h1; - } - if (bSetMenuSize) - { - s_MenuWidthMax=s_MenuWidthJump; - if (s_MenuWidthMax2) - { - int dh1=0, dh2=0; - for (int i=0;i0) - { - // remove extra programs - std::vector::reverse_iterator pBegin=m_Items.rend(), pEnd=m_Items.rend(); // pinned - std::vector::reverse_iterator rBegin=m_Items.rend(), rEnd=m_Items.rend(); // recent - for (std::vector::reverse_iterator it=m_Items.rbegin();it!=m_Items.rend();++it) - { - if (it->id==MENU_NO && it->column==0) - { - if (pBegin==m_Items.rend()) - pBegin=it; - } - else - { - if (pEnd==m_Items.rend() && pBegin!=m_Items.rend()) - pEnd=it; - } - - if (it->id==MENU_RECENT && it->column==0) - { - if (rBegin==m_Items.rend()) - rBegin=it; - } - else - { - if (rEnd==m_Items.rend() && rBegin!=m_Items.rend()) - rEnd=it; - } - } - - // remove recent - int dy=0; - for (std::vector::reverse_iterator it=rBegin;it!=rEnd;++it) - { - int h=it->itemRect.bottom-it->itemRect.top; - it->itemRect.bottom=it->itemRect.top; - extra-=h; - dy+=h; - if (it+1==rEnd && pBegin!=pEnd) - { - // removing the last recent, remove the separator between recent and pinned - if (GetSettingBool(L"RecentProgsTop")) - it=pEnd; - else - it=rEnd; - Assert(it->id==MENU_SEPARATOR); - h=it->itemRect.bottom-it->itemRect.top; - it->itemRect.bottom=it->itemRect.top; - extra-=h; - dy+=h; - break; - } - if (extra<=0) break; - } - - if (dy>0 && GetSettingBool(L"RecentProgsTop") && pBegin!=pEnd) - { - // move pinned and the separator - for (std::vector::reverse_iterator it=pBegin;it!=rBegin;++it) - { - it->itemRect.top-=dy; - it->itemRect.bottom-=dy; - } - } - - // remove pinned - for (std::vector::reverse_iterator it=pBegin;it!=pEnd && extra>0;++it) - { - int h=it->itemRect.bottom-it->itemRect.top; - it->itemRect.bottom=it->itemRect.top; - extra-=h; - if (extra<=0) break; - } - } - } - if (s_MenuMode==MODE_NORMAL || s_MenuMode==MODE_PROGRAMS) - { - int extra=-dh2; - if (extra>0) - { - // remove extra items - for (std::vector::reverse_iterator it=m_Items.rbegin();it!=m_Items.rend();++it) - { - if (it->id==MENU_SHUTDOWN_BUTTON) continue; - if (it->column==0) break; - int h=it->itemRect.bottom-it->itemRect.top; - it->itemRect.bottom=it->itemRect.top; - extra-=h; - if (extra<=0) break; - } - } - } - } - - if (firstRecent>=0) - { - // reorder recent items - int top=m_Items[firstRecent].itemRect.top; - int firstRow=m_Items[firstRecent].row; - if (bRecentByName) - std::sort(m_Items.begin()+firstRecent,m_Items.begin()+lastRecent,MenuItem::MruNameComparator()); - - TRecentKeys recentKeys=(TRecentKeys)GetSettingInt(L"RecentProgKeys"); - if (recentKeys>=RECENT_KEYS_DIGITS) - { - // reassign accelerators - int num=0; - for (int idx=firstRecent;idx0) - str=(const wchar_t*)item.name+item.nameOffset; - else - str=item.name; - if (num<10) - item.name.Format(L"&%d %s",(num+1)%10,str); - else - item.name=str; - item.nameOffset=item.name.GetLength()-str.GetLength(); - } - if (item.itemRect.bottom>item.itemRect.top) - num++; - } - } - - if (bRecentReverse) - std::reverse(m_Items.begin()+firstRecent,m_Items.begin()+lastRecent); - for (int i=firstRecent;imaxHeight[0] && m_ScrollCount>0 && (m_bSubMenu || !s_bWin7Style)) - { - int d=maxh[0]-maxHeight[0]; - m_ScrollHeight=m_Items[m_ScrollCount-1].itemRect.bottom-d-m_rContent.top; - if (m_ScrollHeight<=0) - { - if (m_ScrollCount<(int)m_Items.size()) - d=m_Items[m_ScrollCount].itemRect.bottom-m_rContent.top; - m_ScrollOffset=m_ScrollHeight=0; - for (int i=0;i::iterator it=s_MenuScrolls.find(m_FolderHash[0]); - if (it!=s_MenuScrolls.end()) - { - m_ScrollOffset=it->second; // restore the scroll position if the same menu has been opened before - if (m_ScrollOffset>d) m_ScrollOffset=d; - } - else if ((m_Options&CONTAINER_SEARCH) && !bDontShrink) - { - // fit current category - if (m_SearchCategoryHash!=CSearchManager::CATEGORY_INVALID) - { - for (int i=0;itop) - m_ScrollOffset=top; - break; - } - } - } - else - m_ScrollOffset=0; - } - else - m_ScrollOffset=m_ScrollHeight=0; - UpdateScroll(); - m_bScrollUpHot=m_bScrollDownHot=false; - - // hide items that didn't fit - if (!m_bSubMenu) - { - for (int i=m_ScrollCount;ibottom) - m_Items[i].itemRect.bottom=m_Items[i].itemRect.top; - } - } - - m_rMenu.left=m_rMenu.top=0; - m_rMenu.right=totalWidth; - m_rMenu.bottom=totalHeight; - int oldOffset=m_BitmapOffset; - if (!m_bSubMenu) - { - m_BitmapOffset=0; - if (s_bWin7Style && s_Skin.Main_opacity!=MenuSkin::OPACITY_SOLID) - { - if (!(m_Options&CONTAINER_LEFT) && !s_bRTL) - m_BitmapOffset=s_MenuWidthMax-totalWidth; - if ((m_Options&CONTAINER_LEFT) && s_bRTL) - m_BitmapOffset=s_MenuWidthMax-totalWidth; - totalWidth=s_MenuWidthMax; - } - } - if (m_BitmapOffset>0) - { - OffsetRect(&m_rMenu,m_BitmapOffset,0); - OffsetRect(&m_rContent,m_BitmapOffset,0); - OffsetRect(&m_rContent2,m_BitmapOffset,0); - if (m_Region && !s_bRTL) - OffsetRgn(m_Region,m_BitmapOffset,0); - for (std::vector::iterator it=m_Items.begin();it!=m_Items.end();++it) - OffsetRect(&it->itemRect,m_BitmapOffset,0); - } - if (m_SearchIndex>=0) - { - m_Items[m_SearchIndex].itemRect.left+=s_Skin.Search_padding.left; - m_Items[m_SearchIndex].itemRect.top+=s_Skin.Search_padding.top; - m_Items[m_SearchIndex].itemRect.bottom-=s_Skin.Search_padding.bottom; - m_Items[m_SearchIndex].itemRect.right-=s_Skin.Search_padding.right; - RECT itemRect; - GetItemRect(m_SearchIndex,itemRect); - itemRect.right-=(itemRect.bottom-itemRect.top); - if (!s_Skin.Search_frame) - InflateRect(&itemRect,-1,-3); - if (m_SearchBox.m_hWnd) - { - if (oldOffset==m_BitmapOffset) - m_SearchBox.SetWindowPos(NULL,&itemRect,SWP_NOZORDER); - } - else - { - m_SearchBox.Create(L"EDIT",m_hWnd,itemRect,NULL,WS_CHILD|(s_Skin.Search_frame?WS_BORDER:0)|ES_AUTOHSCROLL|ES_WANTRETURN); - SetWindowSubclass(m_SearchBox,SubclassSearchBox,(UINT_PTR)this,0); - int index=(m_bTwoColumns && m_Items[m_SearchIndex].column==1)?1:0; - if (index==1 && (m_SearchIndex==0 || m_Items[m_SearchIndex-1].column==0)) - m_SearchBox.SetFont(s_Skin.ItemSettings[MenuSkin::COLUMN2_ITEM].font); - else - m_SearchBox.SetFont(s_Skin.ItemSettings[MenuSkin::COLUMN1_ITEM].font); - m_SearchIcons=(HBITMAP)LoadImage(g_Instance,MAKEINTRESOURCE(IDB_SEARCH_ICONS),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - PremultiplyBitmap(m_SearchIcons,0xFFFFFF); - } - } - - if (m_bTwoColumns && s_MenuMode==MODE_JUMPLIST) - { - // trim jumplist items after creating the search box - int maxH=m_rContent2.bottom; - if (m_SearchIndex>=0) - { - int h=m_Items[m_SearchIndex].itemRect.top-s_Skin.Search_padding.top-s_Skin.Search_background_jump_padding.top; - if (maxH>h) maxH=h; - } - if (shutdownIndex>=0) - { - int h=m_Items[shutdownIndex].itemRect.top; - if (maxH>h) maxH=h; - } - - for (std::vector::iterator it=m_Items.begin()+m_OriginalCount;it!=m_Items.end();++it) - { - if (it->itemRect.bottom>maxH) - it->itemRect.bottom=it->itemRect.top; - } - } - - // calculate padding rect - if (m_bSubMenu) - { - m_rPadding.top=-1; - m_rPadding.left=m_rPadding.right=m_rPadding.bottom=0; - int padColumn=-1; - for (size_t i=0;i=0 && m_rPadding.bottom==-1) - { - m_rPadding.bottom=totalHeight-(m_bSubMenu?menuPadding[0].bottom:menuPadding[0].bottom); - } - } - menuRect.top=menuRect.left=0; - menuRect.right=totalWidth; - menuRect.bottom=totalHeight; - if ((m_bSubMenu?s_Skin.Submenu_opacity:s_Skin.Main_opacity)==MenuSkin::OPACITY_SOLID) - AdjustWindowRect(&menuRect,GetWindowLong(GWL_STYLE),FALSE); - int dx=corner.x-((m_Options&CONTAINER_LEFT)?menuRect.left:menuRect.right); - int dy; - if (m_Options&CONTAINER_SEARCH) - { - RECT itemRect; - m_pParent->GetItemRect(m_ParentIndex,itemRect); - m_pParent->MapWindowPoints(NULL,&itemRect); - dy=(m_Options&CONTAINER_TOP)?(itemRect.top-menuPadding[0].top-menuRect.top):(itemRect.bottom+menuPadding[0].bottom-menuRect.bottom); - } - else - { - dy=corner.y-((m_Options&CONTAINER_TOP)?menuRect.top:menuRect.bottom); - } - OffsetRect(&menuRect,dx,dy); - if (m_bSubMenu) - { - // make the menu fit on screen - int dy2=0; - if (menuRect.bottom>s_MenuLimits.bottom) - dy2=s_MenuLimits.bottom-menuRect.bottom; - if (menuRect.top+dy22 && columnWidths[1]==0) - { - s_UserPicture.DestroyWindow(); - s_UserPictureRect.top=s_UserPictureRect.bottom=0; - } - if (s_UserPicture.m_hWnd) - { - s_UserPictureRect.bottom=s_Skin.User_frame_position.x; - if (!s_Skin.User_bitmap_outside || (m_Options&CONTAINER_TOP)) - s_UserPictureRect.bottom=m_rContent2.top+s_Skin.User_bitmapSize.cy+s_Skin.User_image_padding.x; - s_UserPictureRect.bottom+=menuRect.top; - s_UserPictureRect.top=s_UserPictureRect.bottom-s_Skin.User_bitmapSize.cy; - if (s_bRTL) - s_UserPictureRect.left=menuRect.right-(m_rContent2.left+m_rContent2.right+s_Skin.User_bitmapSize.cx)/2; - else - s_UserPictureRect.left=menuRect.left+(m_rContent2.left+m_rContent2.right-s_Skin.User_bitmapSize.cx)/2; - s_UserPictureRect.right=s_UserPictureRect.left+s_Skin.User_bitmapSize.cx; - } - - // create scrollbar - if (m_SearchScrollCount>m_SearchScrollHeight) - { - if (!m_Scrollbar.m_hWnd) - { - m_Scrollbar.Create(WC_SCROLLBAR,m_hWnd,NULL,NULL,WS_CHILD|SBS_VERT); - SetWindowSubclass(m_Scrollbar,SubclassScrollbar,(UINT_PTR)this,0); - if (s_Skin.BHasScrollbar) - m_ScrollTheme=OpenThemeData(m_Scrollbar,L"scrollbar"); - } - RECT rcScroll=m_rContent; - rcScroll.bottom=rcScroll.top+m_SearchScrollHeight*s_Skin.ItemSettings[MenuSkin::LIST_ITEM].itemHeight; - rcScroll.left=rcScroll.right-scrollWidth; - SCROLLINFO info={sizeof(info),SIF_ALL,0,m_SearchScrollCount-1,(UINT)m_SearchScrollHeight}; - m_Scrollbar.SetScrollInfo(SB_CTL,&info,FALSE); - m_Scrollbar.SetWindowPos(NULL,&rcScroll,SWP_NOZORDER|SWP_SHOWWINDOW); - } - else if (m_Scrollbar.m_hWnd) - m_Scrollbar.ShowWindow(SW_HIDE); - - m_bTrackMouse=false; - m_bScrollTimerMouse=false; - m_bScrollTimerTouch=false; - m_InsertMark=-1; - m_HotItem=-1; - m_bHotArrow=false; - SetSubmenu(-1); - m_MouseWheel=0; - - if (!m_bSubMenu) - { - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_TRANSPARENT|(s_bRTL?TTF_RTLREADING:0U)}; - tool.hwnd=m_hWnd; - tool.uId=2; - s_Tooltip.SendMessage(TTM_DELTOOL,0,(LPARAM)&tool); - tool.uId=3; - s_Tooltip.SendMessage(TTM_DELTOOL,0,(LPARAM)&tool); - tool.uId=(UINT_PTR)s_UserPicture.m_hWnd; - s_Tooltip.SendMessage(TTM_DELTOOL,0,(LPARAM)&tool); - - if (m_rUser1.left... - wchar_t user[256]={0}; - ULONG size=_countof(user); - if (!GetUserNameEx(NameDisplay,user,&size)) - { - // GetUserNameEx may fail (for example on Home editions). use the login name - DWORD size=_countof(user); - GetUserName(user,&size); - } - tool.lpszText=user; - - if (m_rUser1.leftm_Items[m_ParentIndex].id==MENU_PROGRAMS || m_pParent->m_Items[m_ParentIndex].id==MENU_APPS)) - { - ULONGLONG curTime; - GetSystemTimeAsFileTime((FILETIME*)&curTime); - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu",KEY_WRITE)!=ERROR_SUCCESS) - regKey.Create(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu"); - - if (m_pParent->m_Items[m_ParentIndex].id==MENU_PROGRAMS) - regKey.SetQWORDValue(L"LastProgramsTime",curTime); - else if (m_pParent->m_Items[m_ParentIndex].id==MENU_APPS) - regKey.SetQWORDValue(L"LastAppsTime",curTime); - } -} - -void CMenuContainer::InitWindowFinalize( const RECT &menuRect ) -{ - SetWindowPos(NULL,&menuRect,SWP_NOZORDER|SWP_NOACTIVATE|SWP_DEFERERASE); - // for some reason the region must be set after the call to SetWindowPos. otherwise it doesn't work for RTL windows - if (m_bSubMenu || !s_bWin7Style || s_OldMenuState.mode==MODE_UNKNOWN) - ApplyRegion(TRUE); - Invalidate(); -} - -void CMenuContainer::ApplyRegion( BOOL bRedraw ) -{ - if (m_Region) - { - int size=GetRegionData(m_Region,0,NULL); - std::vector buf(size); - GetRegionData(m_Region,size,(RGNDATA*)&buf[0]); - XFORM xform={1,0,0,1}; - if (s_bRTL) - { - // mirror the region (again) - xform.eM11=-1; - xform.eDx=(float)(m_rMenu.right+m_rMenu.left-m_BitmapOffset); - } - HRGN rgn=ExtCreateRegion(&xform,size,(RGNDATA*)&buf[0]); - - if (!SetWindowRgn(rgn,bRedraw)) - DeleteObject(rgn); // otherwise the OS takes ownership of the region, no need to free - } - else - SetWindowRgn(NULL,bRedraw); -} - -void CMenuContainer::UpdateScroll( void ) -{ - if (m_ScrollHeight==0) - m_bScrollUp=m_bScrollDown=false; - else - { - m_bScrollUp=(m_ScrollOffset>0); - m_bScrollDown=(m_ScrollOffset+m_ScrollHeight=WIN_VER_WIN10) - { - tSetWindowCompositionAttribute SetWindowCompositionAttribute=(tSetWindowCompositionAttribute)GetProcAddress(GetModuleHandle(L"user32.dll"),"SetWindowCompositionAttribute"); - if (SetWindowCompositionAttribute) - { - int a=((GetSettingInt(L"GlassOpacity")*255)/100)<<24; - int data[4]={3,0x13}; - bool bDef=true; - if (GetSettingBool(L"GlassOverride")) - data[2]=(GetSettingInt(L"GlassColor",bDef)&0xFFFFFF)|a; - if (bDef) - { - int dr, dg, db; - GetMetroGlassColor(dr,dg,db); - data[2]=dr|(dg<<8)|(db<<16)|a; - } - WINCOMPATTRDATA attrData={0x13,&data,sizeof(data)}; - SetWindowCompositionAttribute(m_hWnd,&attrData); - } - } - - if (!m_pParent) - BufferedPaintInit(); - if (this==s_Menus[0]) - s_FirstMenu=m_hWnd; - else - InitWindow(); - if (m_Options&CONTAINER_SEARCH) - s_SearchMenu=m_hWnd; - s_HotPos=GetMessagePos(); - m_pAccessible=NULL; - if (GetSettingBool(L"EnableAccessibility")) - { - if (SUCCEEDED(m_pAccessibleContext.CoCreateInstance(CLSID_ContextSwitcher))) - { - CreateAccessibleData createData={this}; - ComCallData callData={}; - callData.pUserDefined=&createData; - if (SUCCEEDED(m_pAccessibleContext->ContextCallback(CreateAccessible,&callData,IID_IAccessible,4,NULL))) - { - if (FAILED(CoGetInterfaceAndReleaseStream(createData.pStream,IID_IAccessible,(void**)&m_pAccessible))) - { - m_pAccessibleContext=NULL; - } - } - else - { - m_pAccessibleContext=NULL; - } - } - NotifyWinEvent(EVENT_SYSTEM_MENUPOPUPSTART,m_hWnd,OBJID_CLIENT,CHILDID_SELF); - } - m_pDropTargetProxy=new CDropTargetProxy(this); - RegisterDragDrop(m_hWnd,m_pDropTargetProxy); - if (!m_bSubMenu && s_pFrameworkInputPane) - s_pFrameworkInputPane->AdviseWithHWND(m_hWnd,this,&m_InputCookie); - PlayMenuSound(m_bSubMenu?SOUND_POPUP:SOUND_MAIN); - return 0; -} - -HRESULT __stdcall CMenuContainer::CreateAccessible( ComCallData *pData ) -{ - CreateAccessibleData *pCreateData=(CreateAccessibleData*)pData->pUserDefined; - CComPtr pAccessible=new CMenuAccessible(pCreateData->pMenu); - HRESULT hr=CoMarshalInterThreadInterfaceInStream(IID_IAccessible,pAccessible,&pCreateData->pStream); - if (FAILED(hr)) - { - pAccessible->Reset(); - } - return hr; -} - -HRESULT __stdcall CMenuContainer::ReleaseAccessible( ComCallData *pData ) -{ - return CoDisconnectContext(INFINITE); -} - -bool CMenuContainer::GetItemRect( int index, RECT &rc ) -{ - if (index>=0 && index<(int)m_Items.size()) - { - rc=m_Items[index].itemRect; - if (m_ScrollHeight>0 && index=m_rContent.top+m_ScrollHeight-m_ScrollButtonSize) - return false; - } - if (m_SearchScrollCount>m_SearchScrollHeight && index>=m_OriginalCount) - { - OffsetRect(&rc,0,-m_SearchScrollPos*(rc.bottom-rc.top)); - } - } - return true; -} - -int CMenuContainer::HitTest( const POINT &pt, bool *bArrow, bool bDrop ) -{ - if (m_bScrollUp && pt.y=m_rContent.top+m_ScrollHeight-m_ScrollButtonSize) - start=m_ScrollCount; - int n=(int)m_Items.size(); - for (int i=start;i0 && im_SearchScrollHeight && i>=m_OriginalCount) - { - OffsetRect(&rc,0,-m_SearchScrollPos*(rc.bottom-rc.top)); - } - else if (bDrop && m_bTwoColumns && i=0) - arrWidth+=s_Skin.Pin_bitmap_Size.cx; - else if (item.id==MENU_SEARCH_CATEGORY) - arrWidth+=s_Skin.More_bitmap_Size.cx; - else - arrWidth+=settings.arrSize.cx; - *bArrow=(pt.x>=item.itemRect.right-arrWidth); - } - else if (item.id==MENU_SEARCH_CATEGORY && item.categoryHash>=CSearchManager::CATEGORY_FILE) - { - int x=pt.x-rc.left; - *bArrow=(x>=item.textStart && x=0) - { - RECT rc; - GetItemRect(index,rc); - InvalidateRect(&rc); - } -} - -void CMenuContainer::SetHotItem( int index, bool bArrow, bool bShowTip ) -{ - if (index<0 && (m_Options&CONTAINER_SEARCH)) - return; - if (index>=0) - s_bOverrideFirstDown=false; - if (index==m_HotItem && bArrow==m_bHotArrow) return; - if ((index>=0)!=(m_HotItem>=0)) - { - InvalidateItem(m_Submenu); - InvalidateItem(m_ContextItem); - } - if (m_HotItem>=0 && m_HotItem==m_ProgramTreeIndex && s_MenuMode==MODE_PROGRAMS) - m_pProgramsTree->Invalidate(); - else - InvalidateItem(m_HotItem); - if (index>=0 && index==m_ProgramTreeIndex && s_MenuMode==MODE_PROGRAMS) - m_pProgramsTree->Invalidate(); - else - { - InvalidateItem(index); - if (index>=0 && m_pProgramsTree && m_pProgramsTree->m_hWnd && m_pProgramsTree->m_hWnd==GetFocus()) - SetFocus(); - } - m_HotItem=index; - m_bHotArrow=bArrow; - s_pTipMenu=NULL; - s_TipItem=-1; - UpdateUserPicture(); - if (index>=0) - { - s_pHotMenu=this; - s_HotItem=index; - } - else if (s_pHotMenu==this) - { - s_pHotMenu=NULL; - s_HotItem=-1; - if (s_Tooltip.m_hWnd) - { - TOOLINFO tool={sizeof(tool),TTF_ABSOLUTE|TTF_TRACK|TTF_TRANSPARENT}; - tool.uId=1; - s_Tooltip.SendMessage(TTM_TRACKACTIVATE,FALSE,(LPARAM)&tool); - } - } - else - return; - if (index>=0 && index<(int)m_Items.size()) - { - if (bShowTip) - { - int show, hide; - if (m_Items[index].bFolder && m_Items[index].id!=MENU_SHUTDOWN_BUTTON) - show=s_TipShowTimeFolder, hide=s_TipHideTimeFolder; - else - show=s_TipShowTime, hide=s_TipHideTime; - if (s_Tooltip.m_hWnd) - { - TOOLINFO tool={sizeof(tool),TTF_ABSOLUTE|TTF_TRACK|TTF_TRANSPARENT}; - tool.uId=1; - s_Tooltip.SendMessage(TTM_TRACKACTIVATE,FALSE,(LPARAM)&tool); - if (!s_Menus[0]->m_bDestroyed && hide>0) - { - s_pTipMenu=s_pHotMenu; - s_TipItem=s_HotItem; - s_Menus[0]->SetTimer(TIMER_TOOLTIP_SHOW,show); - } - } - } - NotifyWinEvent(EVENT_OBJECT_FOCUS,m_hWnd,OBJID_CLIENT,index+1); - } -} - -void CMenuContainer::SetSubmenu( int index ) -{ - if (m_Submenu==index) return; - m_Submenu=index; - UpdateUserPicture(); -} - -void CMenuContainer::SetContextItem( int index ) -{ - if (m_ContextItem==index) return; - m_ContextItem=index; - UpdateUserPicture(); -} - -void CMenuContainer::SetClickItem( int index ) -{ - if (m_ClickIndex==index) return; - m_ClickIndex=index; - InvalidateItem(m_ClickIndex); -} - -void CMenuContainer::UpdateUserPicture( void ) -{ - if (m_bTwoColumns && s_UserPicture.m_hWnd && s_UserPicture.IsWindowVisible()) - { - HBITMAP bmp=NULL; - int bmpIndex=m_HotItem>=0?m_HotItem:(m_ContextItem>=0?m_ContextItem:m_Submenu); - if (bmpIndex>=0 && bmpIndexextraLargeIcon) - bmp=m_Items[bmpIndex].pItemInfo->extraLargeIcon->bitmap; - s_UserPicture.StartImageTimer(bmp); - } -} - -void CMenuContainer::SetInsertMark( int index, bool bAfter ) -{ - if (index==m_InsertMark && bAfter==m_bInsertAfter) return; - RECT rc; - if (GetInsertRect(rc)) - InvalidateRect(&rc); - m_InsertMark=index; - m_bInsertAfter=bAfter; - if (GetInsertRect(rc)) - InvalidateRect(&rc); -} - -bool CMenuContainer::GetInsertRect( RECT &rc ) -{ - if (m_InsertMark<0 || m_InsertMark>=(int)m_Items.size()) - return false; - const MenuItem &item=m_Items[m_InsertMark]; - rc=item.itemRect; - if (m_bInsertAfter) - rc.top=rc.bottom; - if (m_ScrollHeight>0 && m_InsertMark=0) - { - SetActiveWindow(); - CloseSubMenus(0,this); - } - if (info.dwFlags&GF_BEGIN) - { - m_PanPosY=info.ptsLocation.y; - BeginPanningFeedback(m_hWnd); - m_Overpan=0; - } - else if (info.dwFlags&GF_END) - { - EndPanningFeedback(m_hWnd,TRUE); - m_Overpan=0; - s_HotPos=GetMessagePos(); - } - else - { - int dy=info.ptsLocation.y-m_PanPosY; - m_Overpan+=dy; - if (dy!=0 && (m_ScrollHeight>0 || m_SearchScrollCount>0)) - { - bool bOverpan=false; - if (m_SearchScrollCount>0) - { - int height=s_Skin.ItemSettings[MenuSkin::LIST_ITEM].itemHeight; - int count=dy/height; - m_PanPosY+=count*height; - int pos0=m_SearchScrollPos; - int pos=m_SearchScrollPos-count; - m_SearchScrollPos=m_Scrollbar.SetScrollPos(SB_CTL,pos); - if (m_SearchScrollPos!=pos0) - InvalidateRect(&m_rContent); - bOverpan=(m_SearchScrollPos!=pos); - } - else - { - m_PanPosY=info.ptsLocation.y; - int scroll=m_ScrollOffset; - scroll-=dy; - if (scroll<0) - { - scroll=0; - bOverpan=true; - } - int total=m_Items[m_ScrollCount-1].itemRect.bottom-m_rContent.top-m_ScrollHeight; - if (scroll>total) - { - scroll=total; - bOverpan=true; - } - if (m_ScrollOffset!=scroll) - { - m_ScrollOffset=scroll; - UpdateScroll(); - Invalidate(); - s_HotPos=-1; - } - } - if (bOverpan) - UpdatePanningFeedback(m_hWnd,0,m_Overpan,info.dwFlags&GF_INERTIA); - else - m_Overpan=0; - } - } - CloseGestureInfoHandle((HGESTUREINFO)lParam); - return 0; - } - bHandled=FALSE; - return 0; -} - -LRESULT CMenuContainer::OnGestureNotify( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (!s_bHasTouch) - { - bHandled=FALSE; - return 0; - } - GESTURENOTIFYSTRUCT *pNotify=(GESTURENOTIFYSTRUCT*)lParam; - if (pNotify->hwndTarget==m_hWnd) - { - // if clicked on a scrollable item - bool bScrollable=false; - POINT pt={pNotify->ptsLocation.x,pNotify->ptsLocation.y}; - ScreenToClient(&pt); - int idx=HitTest(pt,NULL); - if (idx>=0) - { - if (idx0) - bScrollable=true; - else if (idx>=m_OriginalCount && m_SearchScrollCount>0) - bScrollable=true; - } - if (bScrollable) - { - GESTURECONFIG config={GID_PAN,GC_PAN_WITH_SINGLE_FINGER_VERTICALLY|GC_PAN_WITH_INERTIA,GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY}; - SetGestureConfig(pNotify->hwndTarget,0,1,&config,sizeof(config)); - } - else - { - GESTURECONFIG config={0,0,GC_ALLGESTURES}; - SetGestureConfig(pNotify->hwndTarget,0,1,&config,sizeof(config)); - } - } - else if (m_pProgramsTree && pNotify->hwndTarget==m_pProgramsTree->m_hWnd) - { - GESTURECONFIG config={0,GC_ALLGESTURES,0}; - SetGestureConfig(pNotify->hwndTarget,0,1,&config,sizeof(config)); - } - else if (pNotify->hwndTarget==m_Scrollbar.m_hWnd) - { - GESTURECONFIG config={0,0,GC_ALLGESTURES}; - SetGestureConfig(pNotify->hwndTarget,0,1,&config,sizeof(config)); - } - bHandled=FALSE; - return 0; -} - -LRESULT CMenuContainer::OnPointerDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_PointerId=0; - if (s_bHasTouch && IS_POINTER_INCONTACT_WPARAM(wParam) && IS_POINTER_PRIMARY_WPARAM(wParam) && IS_POINTER_FIRSTBUTTON_WPARAM(wParam)) - { - CPoint pt(lParam); - ScreenToClient(&pt); - UpdateScroll(&pt,true); - if (m_bScrollTimerTouch) - { - m_PointerId=GET_POINTERID_WPARAM(wParam); - return 0; - } - } - bHandled=FALSE; - return 0; -} - -LRESULT CMenuContainer::OnPointerUpdate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (s_bHasTouch && m_PointerId==GET_POINTERID_WPARAM(wParam)) - { - if (IS_POINTER_INCONTACT_WPARAM(wParam) && IS_POINTER_FIRSTBUTTON_WPARAM(wParam)) - { - CPoint pt(lParam); - ScreenToClient(&pt); - UpdateScroll(&pt,true); - } - else - { - KillTimer(TIMER_SCROLL_TOUCH); - m_bScrollTimerTouch=false; - if (m_bScrollUpHot || m_bScrollDownHot) - { - m_bScrollUpHot=m_bScrollDownHot=false; - Invalidate(); - } - m_PointerId=0; - } - return 0; - } - bHandled=FALSE; - return 0; -} - -LRESULT CMenuContainer::OnPointerUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (s_bHasTouch && m_PointerId==GET_POINTERID_WPARAM(wParam)) - { - KillTimer(TIMER_SCROLL_TOUCH); - m_bScrollTimerTouch=false; - if (m_bScrollUpHot || m_bScrollDownHot) - { - m_bScrollUpHot=m_bScrollDownHot=false; - Invalidate(); - } - m_PointerId=0; - return 0; - } - bHandled=FALSE; - return 0; -} - -STDMETHODIMP CMenuContainer::QueryInterface( REFIID riid, void **ppvObject ) -{ - if (riid==IID_IUnknown || riid==IID_IDropTarget) - { - *ppvObject=static_cast(this); - AddRef(); - return S_OK; - } - if (riid==__uuidof(IFrameworkInputPaneHandler)) - { - *ppvObject=static_cast(this); - AddRef(); - return S_OK; - } - *ppvObject=NULL; - return E_FAIL; -} - -HRESULT STDMETHODCALLTYPE CMenuContainer::Showing( RECT *prcInputPaneScreenLocation, BOOL fEnsureFocusedElementInView ) -{ - NotifyDisplayChange(); - return S_OK; -} - -HRESULT STDMETHODCALLTYPE CMenuContainer::Hiding( BOOL fEnsureFocusedElementInView ) -{ - NotifyDisplayChange(); - return S_OK; -} - -LRESULT CMenuContainer::OnRedrawEdit( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_SearchBox.RedrawWindow(); - return 0; -} - -LRESULT CMenuContainer::OnRefreshIcons( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - for (std::vector::iterator it=s_Menus.begin();it!=s_Menus.end();++it) - if (!(*it)->m_bDestroyed) - { - (*it)->Invalidate(); - if (m_pProgramsTree && m_pProgramsTree->m_hWnd) - m_pProgramsTree->Invalidate(); - } - return 0; -} - -void CMenuContainer::RefreshIcons( void ) -{ - // this is called from the background thread - HWND first=s_FirstMenu; // must copy into a temp variable because we don't want the value to change in the middle of the next two lines - if (first) - ::PostMessage(first,MCM_REFRESHICONS,0,0); -} - -void CMenuContainer::RefreshSearch( void ) -{ - // this is called from the background thread - HWND search=s_SearchMenu; // must copy into a temp variable because we don't want the value to change in the middle of the next two lines - if (search) - ::PostMessage(search,MCM_REFRESH,0,0); -} - -LRESULT CMenuContainer::OnSetHotItem( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - int index=(int)wParam; - while (index<(int)m_Items.size() && !CanSelectItem(index,false)) - index++; - if (index<(int)m_Items.size()) - SetHotItem(index,false,true); - return 0; -} - -LRESULT CMenuContainer::OnStartMenuMsg( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (lParam) - s_StartMenuParams=*(StartMenuParams*)lParam; - return 0; -} - -void CMenuContainer::SetSearchState( TSearchState state ) -{ - if (m_SearchState==state) - return; - if (m_Submenu!=-1) - { - InvalidateRect(&m_Items[m_Submenu].itemRect); - SetSubmenu(-1); - } - InvalidateRect(&m_Items[m_SearchIndex].itemRect); - if (m_SearchState==SEARCH_TEXT && state!=SEARCH_TEXT) - { - // close the search menu - m_SearchScrollCount=0; - if (s_MenuMode==MODE_SEARCH) - SetMenuMode(s_PreSearchMenuMode); - else - CloseSubMenus(CLOSE_ONLY_SEARCH,this); // can't use CLOSE_POST here because the menu needs to be closed while m_bInSearchUpdate is set - g_SearchManager.BeginSearch(CString()); - } - m_SearchState=state; - if (m_SearchState==SEARCH_NONE) - s_bDisableHover=false; -} - -LRESULT CMenuContainer::OnEditChange( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - s_bPendingSearchEnter=false; - m_SearchBox.RedrawWindow(); - wchar_t text[256]; - m_SearchBox.GetWindowText(text,_countof(text)); - DoEnvironmentSubst(text,_countof(text)); - unsigned int hash=CalcFNVHash(text); - if (m_SearchHash!=hash && !m_bInSearchUpdate) - SetTimer(TIMER_SEARCH,100); - m_SearchHash=hash; - return 0; -} - -void CMenuContainer::UpdateSearchResults( bool bForceShowAll ) -{ - if (m_bInSearchUpdate) - return; - m_bInSearchUpdate=true; - wchar_t text[256]; - m_SearchBox.GetWindowText(text,_countof(text)); - DoEnvironmentSubst(text,_countof(text)); - wchar_t *pText=text; - while (*pText==' ' || *pText=='\t') - pText++; - TSearchState state=SEARCH_NONE; - if (*pText) - { - int len=Strlen(pText); - while (len>0 && (pText[len-1]==' ' || pText[len-1]=='\t')) - len--; - pText[len]=0; - CharUpper(pText); - s_SearchResults.currentString=pText; - g_SearchManager.BeginSearch(s_SearchResults.currentString); - s_SearchResults.bSearching=true; - s_bPendingSearchEnter=false; - if (s_bWin7Style) - { - MenuItem &item=m_Items[m_SearchIndex-m_SearchItemCount+1]; - item.id=MENU_SEARCH_EMPTY; - item.name=FindTranslation(L"Menu.Searching",L"Searching..."); - item.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,8",CItemManager::ICON_SIZE_TYPE_SMALL); - } - if (m_Submenu!=m_SearchIndex && s_MenuMode!=MODE_SEARCH) - { - ActivateData data; - data.bNoModifiers=true; - ActivateItem(m_SearchIndex,ACTIVATE_OPEN_SEARCH,NULL,&data); - } - Assert(s_SearchMenu); - RefreshSearch(); - state=SEARCH_TEXT; - } - else if (GetFocus()==m_SearchBox.m_hWnd) - { - state=SEARCH_BLANK; - } - SetSearchState(state); - m_bInSearchUpdate=false; -} - -// Turn on the keyboard cues from now on. This is done when a keyboard action is detected -void CMenuContainer::ShowKeyboardCues( void ) -{ - if (!s_bKeyboardCues) - { - s_bKeyboardCues=true; - for (std::vector::const_iterator it=s_Menus.begin();it!=s_Menus.end();++it) - (*it)->Invalidate(); - } -} - -void CMenuContainer::SetActiveWindow( void ) -{ - HWND active=GetActiveWindow(); - if (active!=m_hWnd && active!=m_SearchBox.m_hWnd) - ::SetActiveWindow(m_hWnd); - if (!m_bSubMenu && s_bBehindTaskbar && s_TaskBar) - SetWindowPos(s_TaskBar,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE); // make sure the top menu stays behind the taskbar -} - -void CMenuContainer::PostRefreshMessage( void ) -{ - if (!m_bDestroyed) - { - if (!InterlockedExchange(&m_RefreshPosted,1)) - PostMessage(MCM_REFRESH); - } -} - -LRESULT CMenuContainer::OnSysCommand( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if ((wParam&0xFFF0)==SC_KEYMENU) - { - // stops Alt from activating the window menu - ShowKeyboardCues(); - s_bOverrideFirstDown=false; - } - else - bHandled=FALSE; - return 0; -} - -LRESULT CMenuContainer::OnSettingChange( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==SPI_SETWORKAREA) - NotifyDisplayChange(); - bHandled=FALSE; - return 0; -} - -void CMenuContainer::NotifyDisplayChange( void ) -{ - if (!m_bSubMenu && !m_bWorkAreaPosted && !s_bLockWorkArea) - { - m_bWorkAreaPosted=true; - PostMessage(MCM_WORKAREACHANGED); - } -} - -LRESULT CMenuContainer::OnDisplayChange( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - NotifyDisplayChange(); - bHandled=FALSE; - return 0; -} - -LRESULT CMenuContainer::OnWorkAreaChanged( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - Assert(!m_bSubMenu); - Assert(!s_bLockWorkArea); - - // resize main menu - RECT taskbarRect; - UINT uEdge=GetTaskbarPosition(s_TaskBar,NULL,NULL,&taskbarRect); - if (uEdge==s_TaskBarEdge) - { - RECT area=CalculateWorkArea(taskbarRect); - if (memcmp(&area,&s_MainMenuLimits,sizeof(RECT))!=0) - { - s_MainMenuLimits=area; - s_MenuHeight=-1; - POINT corner=CalculateCorner(); - RECT menuRect; - InitWindowInternal(false,corner,menuRect); - if (s_MenuMode==MODE_PROGRAMS) - { - // resize programs tree - MenuItem &item=m_Items[m_ProgramTreeIndex]; - item.itemRect=m_rContent; - item.itemRect.bottom=m_Items[m_ProgramTreeIndex+1].itemRect.top; - RECT rc; - m_pProgramsTree->GetWindowRect(&rc); - int dh=rc.bottom-rc.top; - m_pProgramsTree->GetClientRect(&rc); - dh-=rc.bottom; - int itemHeight=TreeView_GetItemHeight(m_pProgramsTree->m_hWnd); - rc=item.itemRect; - int h=rc.bottom-rc.top; - int n=(h-dh)/itemHeight; - rc.bottom=rc.top+n*itemHeight+dh; - m_pProgramsTree->SetWindowPos(NULL,&rc,SWP_NOZORDER|SWP_NOACTIVATE); - } - else if (s_MenuMode==MODE_SEARCH) - { - // HACK: before initializing the search items we need to know the size of the menu, so InitWindow needs to be called twice - InitSearchItems(); - InitWindowInternal(false,corner,menuRect); - } - - if (s_UserPicture.m_hWnd && s_UserPictureRect.top=0) - { - if (m_HoverItem!=m_Submenu && m_HoverItem!=m_SubJumpItem && m_HoverItem==m_HotItem && m_bHoverArrow==m_bHotArrow && !s_bDisableHover && m_SearchState<=SEARCH_BLANK) - { - if (m_HoverItem==m_ProgramTreeIndex) - m_pProgramsTree->SetFocus(); - ActivateItem(m_HoverItem,ACTIVATE_OPEN,NULL); - m_SubShowTime=GetTickCount(); - } - if (m_HoverItem==m_ProgramButtonIndex) - m_bDisableProgHover=true; - m_HoverItem=-1; - KillTimer(TIMER_HOVER); - } - return 0; - } - if (wParam==TIMER_SCROLL_MOUSE || wParam==TIMER_SCROLL_TOUCH) - { - if (wParam==TIMER_SCROLL_MOUSE && s_bHasTouch && GetKeyState(VK_LBUTTON)>=0) - return 0; - int speed=GetSettingInt(m_bSubMenu?L"SubMenuScrollSpeed":L"MainMenuScrollSpeed"); - if (speed<1) speed=1; - if (speed>20) speed=20; - int scroll=m_ScrollOffset; - if (m_bScrollUp && m_bScrollUpHot) - { - scroll-=s_Skin.ItemSettings[m_bSubMenu?MenuSkin::SUBMENU_ITEM:MenuSkin::COLUMN1_ITEM].itemHeight*speed/6; - if (scroll<0) scroll=0; - } - else if (m_bScrollDown && m_bScrollDownHot) - { - scroll+=s_Skin.ItemSettings[m_bSubMenu?MenuSkin::SUBMENU_ITEM:MenuSkin::COLUMN1_ITEM].itemHeight*speed/6; - int total=m_Items[m_ScrollCount-1].itemRect.bottom-m_rContent.top-m_ScrollHeight; - if (scroll>total) scroll=total; - } - if (m_ScrollOffset!=scroll) - { - m_ScrollOffset=scroll; - UpdateScroll(); - if (!m_bScrollUp && !m_bScrollDown) - KillTimer(wParam); - Invalidate(); - } - } - if (wParam==TIMER_TOOLTIP_SHOW) - { - KillTimer(TIMER_TOOLTIP_SHOW); - - if (!s_pHotMenu || s_pHotMenu->m_bDestroyed) - return 0; - if (s_pHotMenu!=s_pTipMenu || s_HotItem!=s_TipItem) - return 0; - - if (std::find(s_Menus.begin(),s_Menus.end(),s_pHotMenu)==s_Menus.end()) - return 0; - - if (s_HotItem>=(int)s_pHotMenu->m_Items.size()) - return 0; - - if (!m_bSubMenu && s_MenuMode==MODE_SEARCH && s_SearchResults.bSearching) - return 0; - - TOOLINFO tool={sizeof(tool),TTF_ABSOLUTE|TTF_TRACK|TTF_TRANSPARENT|(s_bRTL?TTF_RTLREADING:0U)}; - tool.uId=1; - - wchar_t text[1024]; - if (!s_pHotMenu->GetDescription(s_HotItem,text,_countof(text))) - return 0; - - RECT rc; - s_pHotMenu->GetItemRect(s_HotItem,rc); - s_pHotMenu->MapWindowPoints(NULL,&rc); - DWORD pos=GetMessagePos(); - POINT pt={(short)LOWORD(pos),(short)HIWORD(pos)}; - if (PtInRect(&rc,pt)) - { - pt.x+=8; - pt.y+=16; - } - else if (!(s_pHotMenu->m_Options&CONTAINER_SEARCH)) - { - pt.x=(rc.left+rc.right)/2; - pt.y=rc.bottom; - } - else - return 0; - - tool.lpszText=text; - s_Tooltip.SendMessage(TTM_UPDATETIPTEXT,0,(LPARAM)&tool); - s_Tooltip.SendMessage(TTM_TRACKPOSITION,0,MAKELONG(pt.x,pt.y)); - s_Tooltip.SendMessage(TTM_TRACKACTIVATE,TRUE,(LPARAM)&tool); - - // make sure the tooltip is inside the monitor - s_Tooltip.GetWindowRect(&rc); - int dx=0, dy=0; - if (rc.lefts_MenuLimits.right) dx-=rc.right-s_MenuLimits.right; - if (rc.tops_MenuLimits.bottom) dy-=rc.bottom-s_MenuLimits.bottom; - if (dx || dy) - s_Tooltip.SendMessage(TTM_TRACKPOSITION,0,MAKELONG(pt.x+dx,pt.y+dy)); - - if (s_pHotMenu->m_Items[s_HotItem].bFolder && s_pHotMenu->m_Items[s_HotItem].id!=MENU_SHUTDOWN_BUTTON) - SetTimer(TIMER_TOOLTIP_HIDE,s_TipHideTimeFolder); - else - SetTimer(TIMER_TOOLTIP_HIDE,s_TipHideTime); - return 0; - } - if (wParam==TIMER_TOOLTIP_HIDE) - { - TOOLINFO tool={sizeof(tool),TTF_ABSOLUTE|TTF_TRACK|TTF_TRANSPARENT}; - tool.uId=1; - s_Tooltip.SendMessage(TTM_TRACKACTIVATE,FALSE,(LPARAM)&tool); - KillTimer(TIMER_TOOLTIP_HIDE); - return 0; - } - if (wParam==TIMER_BALLOON_HIDE) - { - TOOLINFO tool={sizeof(tool)}; - tool.uId=1; - if (s_TooltipBalloon.m_hWnd) - s_TooltipBalloon.SendMessage(TTM_TRACKACTIVATE,FALSE,(LPARAM)&tool); - KillTimer(TIMER_BALLOON_HIDE); - } - if (wParam==TIMER_SEARCH) - { - UpdateSearchResults(false); - KillTimer(TIMER_SEARCH); - } - if (wParam==TIMER_DRAG) - { - if (!s_bDragClosed) - { - // if the mouse is outside of the menu for more than 4 seconds close the menu - DWORD pos=GetMessagePos(); - POINT pt={(short)LOWORD(pos),(short)HIWORD(pos)}; - HWND hWnd=WindowFromPoint(pt); - if (hWnd) hWnd=GetAncestor(hWnd,GA_ROOT); - wchar_t name[256]; - if (hWnd) - GetClassName(hWnd,name,_countof(name)); - else - name[0]=0; - - if (_wcsicmp(name,L"OpenShell.CMenuContainer")!=0) - { - int dt=GetMessageTime()-m_DragTime; - if (dt>GetSettingInt(L"DragHideDelay")) - { - HideStartMenu(); - KillTimer(TIMER_DRAG); - s_bDragClosed=true; - } - } - else - { - m_DragTime=GetMessageTime(); - } - } - } - return 0; -} - -// Handle right-click and the menu keyboard button -LRESULT CMenuContainer::OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (s_bNoContextMenu) return 0; - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - int index; - BOOL bPad=FALSE; - if (pt.x!=-1 || pt.y!=-1) - { - POINT pt2=pt; - ScreenToClient(&pt2); - index=HitTest(pt2,NULL); - if (index<0) - bPad=PtInRect(&m_rPadding,pt2); - if (index<0 && !bPad) return 0; - ActivateItem(index,ACTIVATE_MENU,&pt); - } - else - { - index=m_HotItem; - if (index<0 && !bPad) return 0; - ActivateItem(index,ACTIVATE_MENU,NULL); - } - return 0; -} - -LRESULT CMenuContainer::OnVScroll( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - int pos0=m_SearchScrollPos; - int pos=pos0; - switch (LOWORD(wParam)) - { - case SB_TOP: - pos=0; - break; - case SB_BOTTOM: - pos=m_SearchScrollCount; - break; - case SB_LINEUP: - pos--; - break; - case SB_LINEDOWN: - pos++; - break; - case SB_PAGEUP: - pos-=m_SearchScrollHeight; - break; - case SB_PAGEDOWN: - pos+=m_SearchScrollHeight; - break; - case SB_THUMBTRACK: - pos=HIWORD(wParam); - break; - default: - return 0; - } - m_SearchScrollPos=m_Scrollbar.SetScrollPos(SB_CTL,pos); - if (m_SearchScrollPos!=pos0) - InvalidateRect(&m_rContent); - return 0; -} - -bool CMenuContainer::CanSelectItem( int index, bool bKeyboard ) -{ - if (!m_bSubMenu) - { - if (s_MenuMode==MODE_PROGRAMS && indexm_hWnd && m_pProgramsTree->m_hWnd==GetFocus()) - tab=0; - else if (m_HotItem>=0) - { - const MenuItem &item=m_Items[m_HotItem]; - if (item.id==MENU_PROGRAMS) - tab=1; - else if (item.id==MENU_SEARCH_BOX) - tab=2; - else if (item.id==MENU_SHUTDOWN_BUTTON) - tab=4; - else - tab=(item.column==0?0:3); - } - if (GetKeyState(VK_SHIFT)<0) - { - tab=(tab+4)%5; - if (tab==2 && m_SearchIndex==-1) - tab=1; - if (tab==4 && GetSettingInt(L"ShutdownCommand")==SHUTDOWN_TYPE_NONE) - tab=3; - } - else - { - tab=(tab+1)%5; - if (tab==2 && m_SearchIndex==-1) - tab=3; - if (tab==4 && GetSettingInt(L"ShutdownCommand")==SHUTDOWN_TYPE_NONE) - tab=0; - } - int index=-1; - if (tab==0 || tab==3) - { - int column=(tab==0)?0:1; - int miny=32768; - for (int i=0;i<(int)m_Items.size();i++) - if (m_Items[i].column==column && m_Items[i].itemRect.top=0) - { - CloseSubMenus(CLOSE_KEEP_MODE,this); - ActivateItem(index,ACTIVATE_SELECT,NULL); - } - return 0; - } - else if (m_SearchBox.m_hWnd && m_SearchState==SEARCH_NONE) - { - // destroy old submenus - CloseSubMenus(0,this); - ActivateItem(m_SearchIndex,ACTIVATE_SELECT,NULL); - return 0; - } - } - - int index=m_HotItem; - - if (index>=0 && m_SearchState==SEARCH_NONE) - { - if (wParam==VK_F2) - { - if (m_Items[index].id==MENU_NO && m_Items[index].pItem1 && !m_Items[index].pItem2) - { - ActivateItem(index,ACTIVATE_RENAME,NULL); - if (IsWindow()) PostMessage(MCM_SETHOTITEM,index); - } - return 0; - } - if (wParam==VK_DELETE) - { - if ((m_Items[index].id==MENU_NO || m_Items[index].id==MENU_RECENT) && m_Items[index].pItem1 && !m_Items[index].pItem2) - { - ActivateItem(index,ACTIVATE_DELETE,NULL); - if (IsWindow()) PostMessage(MCM_SETHOTITEM,index); - } - return 0; - } - } - if (!m_bSubMenu && m_SearchIndex>=0 && wParam=='F' && GetKeyState(VK_CONTROL)<0) - { - ActivateItem(m_SearchIndex,ACTIVATE_SELECT,NULL); - return 0; - } - - if (wParam==VK_HOME || wParam==VK_END) - { - // select first or last in the given column - int column=-1; - if (s_bWin7Style && m_bTwoColumns && m_HotItem>=0) - column=m_Items[m_HotItem].column; - int index=-1; - for (int i=0;i<(int)m_Items.size();i++) - { - const MenuItem &item=m_Items[i]; - if ((column==-1 || item.column==column) && CanSelectItem(i) && item.id!=MENU_SEARCH_BOX) - { - if (s_bWin7Style && m_bTwoColumns && (item.id==MENU_PROGRAMS || item.id==MENU_MORE_RESULTS || item.id==MENU_SEARCH_INTERNET || item.id==MENU_SEARCH_PROVIDER || item.id==MENU_SHUTDOWN_BUTTON)) - continue; - index=i; - if (wParam==VK_HOME) break; - } - } - if (index>=0) - { - CloseSubMenus(CLOSE_KEEP_MODE,this); - ActivateItem(index,ACTIVATE_SELECT,NULL); - } - return 0; - } - - if (wParam==VK_PRIOR || wParam==VK_NEXT) - { - int index=m_HotItem<0?0:m_HotItem; - if (m_ScrollHeight>0) - { - // scrolling menu - if (index>=m_ScrollCount) return 0; - int count=m_ScrollHeight/s_Skin.ItemSettings[m_bSubMenu?MenuSkin::SUBMENU_ITEM:MenuSkin::COLUMN1_ITEM].itemHeight-1; - int newIndex=index; - for (int i=0;i=m_ScrollCount) break; - } - if (CanSelectItem(newIndex)) - index=newIndex; - } - } - else if (m_SearchScrollCount>m_SearchScrollHeight) - { - int index0=index; - if (wParam==VK_PRIOR) - { - if (indexlast) index=last; - } - } - if (index0==index) return 0; - if (m_Items[index].pItemInfo) - { - CString path; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - path=m_Items[index].pItemInfo->GetPath(); - } - if (!path.IsEmpty()) - UpdateAutoComplete(path); - } - } - else - { - // multiple columns - if (!m_bSubMenu) return 0; - if (wParam==VK_PRIOR) - { - int column=m_Items[index].column; - if (index>0 && m_Items.rbegin()->column>0 && m_Items[index-1].column!=column) - column--; - for (int i=0;icolumn>0 && m_Items[index+1].column!=column) - column++; - for (int i=index;i<(int)m_Items.size();i++) - if (CanSelectItem(i) && m_Items[i].column==column) - index=i; - } - } - if (index>=0) - { - CloseSubMenus(0,this); - ActivateItem(index,ACTIVATE_SELECT,NULL); - } - } - - if (wParam!=VK_UP && wParam!=VK_DOWN && wParam!=VK_LEFT && wParam!=VK_RIGHT && wParam!=VK_ESCAPE && wParam!=VK_RETURN) - return TRUE; - - if (index<0 && m_SearchState!=SEARCH_NONE) - index=m_SearchIndex; - if (index<0) index=-1; - bool bProgramsTree=(!m_bSubMenu && s_MenuMode==MODE_PROGRAMS && GetFocus()==m_pProgramsTree->m_hWnd); - if (bProgramsTree) - index=m_ProgramTreeIndex; - - int n=(int)m_Items.size(); - - if (wParam==VK_UP) - { - // previous item - int best=-1; - if (index<0) - { - // no item is selected - find the first selectable item in the last column then go up - int col=(m_bTwoColumns?1:0); - index=0; - for (int i=0;i0 && index==m_SearchIndex-m_SearchItemCount+1) - { - best=m_OriginalCount+m_SearchScrollCount-1; - } - else if (m_SearchScrollCount>0 && index>m_OriginalCount) - { - best=index-1; - } - else - { - int col=m_Items[index].column; - int x0=m_Items[index].itemRect.left; - int y0=m_Items[index].itemRect.top; - int scrollOffset=0; - if (m_ScrollCount>0) - scrollOffset=m_Items[m_ScrollCount-1].itemRect.bottom-m_rContent.top-m_ScrollHeight; - if (index0 && i>=m_OriginalCount) - continue; - if (item.column==col && bottom<=y0) - { - d=((y0-bottom)<<16)+abs(item.itemRect.left-x0); - } - else if (item.bInline && !item.bInlineFirst) - continue; - else if (s_MenuMode==MODE_SEARCH && item.id==MENU_SHUTDOWN_BUTTON) - continue; - } - if (d=0) - { - ActivateItem(best,ACTIVATE_SELECT,NULL); - if ((m_Items[best].categoryHash&CSearchManager::CATEGORY_MASK)==CSearchManager::CATEGORY_AUTOCOMPLETE && m_Items[best].pItemInfo) - { - CString path; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - path=m_Items[best].pItemInfo->GetPath(); - } - if (!path.IsEmpty()) - { - if (m_Options&CONTAINER_SEARCH) - m_pParent->UpdateAutoComplete(path); - else - UpdateAutoComplete(path); - } - } - if (!m_bSubMenu && s_MenuMode==MODE_PROGRAMS && best==m_ProgramTreeIndex) - m_pProgramsTree->SelectLast(); - } - } - if (wParam==VK_DOWN) - { - // next item - if (bOldOverride) - index=-1; - int best=-1; - if (index<0) - { - // no item is selected - find the last selectable item then go down - index=0; - for (int i=n-1;i>=0;i--) - { - const MenuItem &item=m_Items[i]; - if (CanSelectItem(i) && (!item.bInline || item.bInlineFirst) && (s_MenuMode!=MODE_SEARCH || item.id!=MENU_SHUTDOWN_BUTTON)) - { - index=i; - break; - } - } - best=index; - } - if (m_SearchScrollCount>0 && index==m_SearchIndex) - { - best=m_OriginalCount; - } - else if (m_SearchScrollCount>0 && index>=m_OriginalCount && index0) - scrollOffset=m_Items[m_ScrollCount-1].itemRect.bottom-m_rContent.top-m_ScrollHeight; - if (index0 && i>=m_OriginalCount) - continue; - if (item.column==col && top>=y0) - { - d=((top-y0)<<16)+abs(item.itemRect.left-x0); - } - else if (item.bInline && !item.bInlineFirst) - continue; - else if (s_MenuMode==MODE_SEARCH && item.id==MENU_SHUTDOWN_BUTTON) - continue; - } - if (d=0) - { - ActivateItem(best,ACTIVATE_SELECT,NULL); - if ((m_Items[best].categoryHash&CSearchManager::CATEGORY_MASK)==CSearchManager::CATEGORY_AUTOCOMPLETE && m_Items[best].pItemInfo) - { - CString path; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - path=m_Items[best].pItemInfo->GetPath(); - } - if (!path.IsEmpty()) - { - if (m_Options&CONTAINER_SEARCH) - m_pParent->UpdateAutoComplete(path); - else - UpdateAutoComplete(path); - } - } - if (!m_bSubMenu && s_MenuMode==MODE_PROGRAMS && best==m_ProgramTreeIndex) - m_pProgramsTree->SelectFirst(); - } - } - if (wParam==VK_ESCAPE && s_MenuMode==MODE_JUMPLIST) - { - SetMenuMode(MODE_NORMAL,true); - return 0; - } - bool bBack=((wParam==VK_LEFT && !s_bRTL) || (wParam==VK_RIGHT && s_bRTL)); - if (wParam==VK_ESCAPE || (bBack && GetKeyState(VK_CONTROL)>=0 && (s_Menus.size()>1 || (s_Menus.size()==1 && m_bSubMenu)))) - { - // close top menu - if (!s_Menus[s_Menus.size()-1]->m_bDestroyed) - s_Menus[s_Menus.size()-1]->PostMessage(WM_CLOSE); - if (s_Menus.size()>=2 && !s_Menus[s_Menus.size()-2]->m_bDestroyed) - s_Menus[s_Menus.size()-2]->SetActiveWindow(); - if (s_Menus.size()==1) - { - if (m_bSubMenu) - { - ::SetFocus(g_ProgramsButton); - } - else - { - // HACK: stops the call to SetActiveWindow(NULL). The correct behavior is to not close the taskbar when Esc is pressed - s_TaskbarState&=~ABS_AUTOHIDE; - } - } - } - else if (bBack && index>=0) - { - if (m_Items[index].bInline && !m_Items[index].bInlineFirst) - { - index--; - while (!CanSelectItem(index)) - index--; - if (index>=0) - ActivateItem(index,ACTIVATE_SELECT,NULL); - } - else - { - if (s_MenuMode==MODE_JUMPLIST && m_Items[index].jumpIndex>=0) - { - SetMenuMode(MODE_NORMAL,true); - return 0; - } - int column=(m_Items[index].column+(int)m_ColumnOffsets.size()-1)%(int)m_ColumnOffsets.size(); - int y0=(m_Items[index].itemRect.top+m_Items[index].itemRect.bottom)/2; - if (indexm_hWnd); - RECT rc={0}; - if (hItem) - TreeView_GetItemRect(m_pProgramsTree->m_hWnd,hItem,&rc,TRUE); - m_pProgramsTree->MapWindowPoints(m_hWnd,&rc); - y0=(rc.top+rc.bottom)/2; - } - int dist=INT_MAX; - index=-1; - for (int i=0;id) - { - index=i; - dist=d; - } - } - } - if (index>=0) - { - ActivateItem(index,ACTIVATE_SELECT,NULL); - if (s_MenuMode==MODE_PROGRAMS && index==m_ProgramTreeIndex) - { - POINT pt={0,y0}; - MapWindowPoints(m_pProgramsTree->m_hWnd,&pt,1); - m_pProgramsTree->SelectItem(pt.y); - } - } - } - } - - bool bForward=((wParam==VK_RIGHT && !s_bRTL) || (wParam==VK_LEFT && s_bRTL)); - if (wParam==VK_RETURN || bForward) - { - // open submenu - if (index>=0) - { - if (m_Items[index].bFolder && (bForward || !m_Items[index].bSplit) && (wParam==VK_RETURN || GetKeyState(VK_CONTROL)>=0)) - ActivateItem(index,ACTIVATE_OPEN_KBD,NULL); - else if (wParam==VK_RETURN) - ActivateItem(index,ACTIVATE_EXECUTE,NULL); - else if (bForward) - { - if (m_Items[index].bInline && !m_Items[index].bInlineLast) - { - index++; - while (!CanSelectItem(index)) - index++; - if (index>=0) - ActivateItem(index,ACTIVATE_SELECT,NULL); - } - else - { - int column=(m_Items[index].column+1)%(int)m_ColumnOffsets.size(); - int y0=(m_Items[index].itemRect.top+m_Items[index].itemRect.bottom)/2; - if (indexm_hWnd); - RECT rc={0}; - if (hItem) - TreeView_GetItemRect(m_pProgramsTree->m_hWnd,hItem,&rc,TRUE); - m_pProgramsTree->MapWindowPoints(m_hWnd,&rc); - y0=(rc.top+rc.bottom)/2; - } - int dist=INT_MAX; - index=-1; - for (int i=0;id) - { - index=i; - dist=d; - } - } - } - if (index>=0) - { - ActivateItem(index,ACTIVATE_SELECT,NULL); - if (s_MenuMode==MODE_PROGRAMS && index==m_ProgramTreeIndex) - { - POINT pt={y0,0}; - MapWindowPoints(m_pProgramsTree->m_hWnd,&pt,1); - m_pProgramsTree->SelectItem(pt.y); - } - } - } - } - } - else if (bForward) - { - for (int i=n-1;i>=0;i--) - { - if (CanSelectItem(i) && (!m_Items[i].bInline || m_Items[i].bInlineFirst)) - { - ActivateItem(i,ACTIVATE_SELECT,NULL); - break; - } - } - } - } - return 0; -} - -LRESULT CMenuContainer::OnSysKeyDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==VK_RETURN && m_HotItem>=0) - { - int index=m_HotItem; - if (m_Items[index].pItem1 && !m_Items[index].pItem2) - { - POINT pt={0,0}; - ActivateItem(index,ACTIVATE_PROPERTIES,&pt); - PostMessage(MCM_SETHOTITEM,index); - } - } - else - bHandled=FALSE; - return 0; -} - -LRESULT CMenuContainer::OnChar( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam>=0xD800 && wParam<=0xDBFF) - return TRUE; // don't support supplementary characters - - // find the current menu item - int index=m_HotItem; - if (index<0) index=-1; - - // find the next item with that accelerator - wchar_t buf[2]={(wchar_t)wParam,0}; - CharUpper(buf); - - int n=(int)m_Items.size(); - - int first=-1, count=0, firstCustom=-1, countCustom=0; - for (int i=1;i<=n;i++) - { - int idx=(index+2*n+i)%n; - if (m_Items[idx].accelerator==buf[0] && CanSelectItem(idx)) - { - if (first==-1) - first=idx; - count++; - if (m_Items[idx].bCustomAccelerator) - { - if (firstCustom==-1) - firstCustom=idx; - countCustom++; - } - } - } - - if (count==0) - return TRUE; // no item was found - - if (countCustom>1 || (countCustom==0 && count>1)) - { - // multiple items have the same accelerator. select the next one - ActivateItem(first,ACTIVATE_SELECT,NULL); - return 0; - } - - if (countCustom==1) - first=firstCustom; - - // exactly 1 item has that accelerator - if (m_Items[first].bHasJumpList && GetSettingInt(L"JumplistKeys")==0) - { - ActivateItem(first,ACTIVATE_SELECT,NULL); - return 0; - } - ActivateData data; - data.bNoModifiers=true; - if (!m_Items[first].bFolder || (!m_Items[first].bHasJumpList && m_Items[first].bSplit) || (m_Items[first].bHasJumpList && GetSettingInt(L"JumplistKeys")==1)) - { - ActivateItem(first,ACTIVATE_EXECUTE,NULL,&data); - return 0; - } - - // m_Items[first].bFolder - ActivateItem(first,ACTIVATE_OPEN_KBD,NULL,&data); - - return 0; -} - -LRESULT CMenuContainer::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - LOG_MENU(LOG_OPEN,L"Close Menu, ptr=%p",this); - if (m_pAccessible) - { - NotifyWinEvent(EVENT_SYSTEM_MENUPOPUPEND,m_hWnd,OBJID_CLIENT,CHILDID_SELF); - m_pAccessibleContext->ContextCallback(ReleaseAccessible,NULL,IID_IAccessible,4,NULL); - m_pAccessibleContext=NULL; - m_pAccessible=NULL; - } - if (m_pDropTargetHelper && m_pDragObject) - { - m_pDropTargetHelper->DragLeave(); - } - m_pDragObject=NULL; - m_pDropTargetHelper=NULL; - m_pDropTargetProxy->Reset(); - m_pDropTargetProxy=NULL; - RevokeDragDrop(m_hWnd); - // remember the scroll position - if (m_ScrollHeight>0 && m_FolderHash[0]) - s_MenuScrolls[m_FolderHash[0]]=m_ScrollOffset; - else - s_MenuScrolls.erase(m_FolderHash[0]); - - if (s_pHotMenu==this) - { - s_pHotMenu=NULL; - s_HotItem=-1; - } - if (s_pTipMenu==this) - { - s_pTipMenu=NULL; - TOOLINFO tool={sizeof(tool),TTF_ABSOLUTE|TTF_TRACK|TTF_TRANSPARENT}; - tool.uId=1; - s_Tooltip.SendMessage(TTM_TRACKACTIVATE,FALSE,(LPARAM)&tool); - } - if ((m_Options&CONTAINER_SEARCH) && !m_pParent->m_bDestroyed && !m_pParent->m_bInSearchUpdate) - { - m_pParent->m_SearchBox.SetWindowText(L""); - } - m_bDestroyed=true; - if (this==s_Menus[0]) - { - // cleanup when the last menu is closed - if (s_Theme) - CloseThemeData(s_Theme); - s_Theme=NULL; - if (s_PagerTheme) - CloseThemeData(s_PagerTheme); - s_PagerTheme=NULL; - if (s_Tooltip.m_hWnd) - s_Tooltip.DestroyWindow(); - s_Tooltip.m_hWnd=NULL; - s_TooltipBalloon.m_hWnd=NULL; // the balloon tooltip is owned, no need to be destroyed - if (s_UserPicture.m_hWnd) - s_UserPicture.DestroyWindow(); - s_UserPicture.m_hWnd=NULL; - s_pHotMenu=NULL; - s_HotItem=-1; - if (!m_bSubMenu) - EnableStartTooltip(true); - BufferedPaintUnInit(); - if (!m_bSubMenu && (s_TaskbarState&ABS_AUTOHIDE)) - { - HWND capture=GetCapture(); - if (!capture || !(capture==s_TaskBar || ::IsChild(s_TaskBar,capture))) - ::SetActiveWindow(NULL); // close the taskbar if it is auto-hide and doesn't have the mouse capture - } - if (s_XMouse) - SystemParametersInfo(SPI_SETACTIVEWINDOWTRACKING,NULL,(PVOID)TRUE,SPIF_SENDCHANGE); - g_SearchManager.CloseMenu(); - if (m_pProgramsTree && m_pProgramsTree->m_hWnd && s_MenuMode==MODE_PROGRAMS) - s_ProgramsScrollPos=m_pProgramsTree->GetScrollPos(SB_VERT); - s_bAllPrograms=false; - if ((m_Options&CONTAINER_ALLPROGRAMS) && g_TopWin7Menu && ::IsWindowVisible(g_TopWin7Menu)) - { - ::ShowWindow(g_UserPic,SW_SHOW); - ::SetFocus(g_ProgramsButton); - CPoint pt(GetMessagePos()); - RECT rc; - ::GetWindowRect(g_TopWin7Menu,&rc); - if (PtInRect(&rc,pt)) - { - ::ScreenToClient(g_TopWin7Menu,&pt); - ::PostMessage(g_TopWin7Menu,WM_MOUSEMOVE,0,MAKELONG(pt.x,pt.y)); - } - } - s_FirstMenu=NULL; - if (!(m_Options&CONTAINER_ALLPROGRAMS)) - { - g_CurrentCSMTaskbar=-1; - PressStartButton(s_TaskBarId,false); - } - s_TaskBar=s_StartButton=NULL; - s_TaskBarId=-1; - g_ItemManager.SaveCacheFile(); - if (s_ArrowsBitmap) DeleteObject(s_ArrowsBitmap); - s_ArrowsBitmap=NULL; - CloseLog(); - } - if (m_Options&CONTAINER_SEARCH) - s_SearchMenu=NULL; - if (m_ScrollTheme) - { - CloseThemeData(m_ScrollTheme); - m_ScrollTheme=NULL; - } - - if (s_pFrameworkInputPane && m_InputCookie) - s_pFrameworkInputPane->Unadvise(m_InputCookie); - - return 0; -} - -LRESULT CMenuContainer::OnShowWindow( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (!wParam && !m_bSubMenu && s_UserPicture) - s_UserPicture.ShowWindow(SW_HIDE); - bHandled=FALSE; - return 0; -} - -LRESULT CMenuContainer::OnRefresh( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_RefreshPosted=0; - if ((m_Options&CONTAINER_SEARCH) || (!m_bSubMenu && s_MenuMode==MODE_SEARCH)) - { - // update search results - unsigned int hash=0; - int index=m_ContextItem==-1?m_HotItem:m_ContextItem; - if (index>=0) - { - if (index>=m_OriginalCount && index<(int)m_Items.size()) - hash=m_Items[index].nameHash; - else if (s_bWin7Style && index>m_SearchIndex-m_SearchItemCount && index<=m_SearchIndex && m_Items[index].id!=MENU_SEARCH_EMPTY) - hash=m_SearchIndex-index+1; - } - bool bSearching=InitSearchItems(); - InitWindow(bSearching && s_MenuMode!=MODE_SEARCH); - Invalidate(); - int hotItem=-1; - if (s_bWin7Style && hash==1) - hotItem=m_SearchIndex; - else if (s_bWin7Style && hash==2) - hotItem=m_SearchIndex-1; - else if (s_bWin7Style && hash==3) - hotItem=m_SearchIndex-2; - else - { - for (int i=m_OriginalCount;i<(int)m_Items.size();i++) - { - if (hash && m_Items[i].nameHash==hash) - { - hotItem=i; - break; - } - } - } - if (m_ContextItem!=-1) - SetContextItem(hotItem); - if (hotItem==-1 && m_OriginalCount<(int)m_Items.size()) - { - if (s_SearchResults.autoCompletePath.IsEmpty() && wcsncmp(s_SearchResults.currentString,L"\\\\",2)!=0) - { - if (m_Items[m_OriginalCount].id==MENU_SEARCH_EMPTY) - { - if (!bSearching) - { - for (int i=0;i<(int)m_Items.size();i++) - { - if (m_Items[i].id==MENU_MORE_RESULTS) - { - hotItem=i; - break; - } - else if (m_Items[i].id==MENU_SEARCH_INTERNET || m_Items[i].id==MENU_SEARCH_PROVIDER) - { - hotItem=i; - break; - } - } - } - } - else if (m_Items[m_OriginalCount].id==MENU_SEARCH_CATEGORY) - hotItem=m_OriginalCount+1; - } - else - hotItem=-1; - } - if (hotItem>=0) - { - ActivateItem(hotItem,ACTIVATE_SELECT,NULL); - if (s_bPendingSearchEnter) - { - ActivateItem(hotItem,ACTIVATE_EXECUTE,NULL); - s_bPendingSearchEnter=false; - } - } - else - SetHotItem(-1); - } - else if (s_MenuMode==MODE_JUMPLIST) - { - OpenJumpList(m_SubJumpItem,false); - } - else - { - // updates the menu after drag/drop, delete, or rename operation - for (std::vector::reverse_iterator it=s_Menus.rbegin();*it!=this;++it) - if (!(*it)->m_bDestroyed) - (*it)->PostMessage(WM_CLOSE); - if (m_ScrollHeight>0 && m_FolderHash[0]) - s_MenuScrolls[m_FolderHash[0]]=m_ScrollOffset; - else - s_MenuScrolls.erase(m_FolderHash[0]); - if (!m_bSubMenu && !s_bWin7Style) - s_MenuMaxHeight[0]=-1; - InitItems(); - InitWindow(); - Invalidate(); - SetFocus(); - SetHotItem(-1); - } - return 0; -} - -void CMenuContainer::HideTemp( bool bHide ) -{ - ::PostMessage(g_OwnerWindow,WM_CLEAR,bHide,0); -} - -LRESULT CMenuContainer::OnActivate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (LOWORD(wParam)!=WA_INACTIVE) - { - if (s_Tooltip.m_hWnd) - s_Tooltip.SetWindowPos(HWND_TOP,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE); - return 0; - } -#ifndef PREVENT_CLOSING - if (lParam) - { - // check if another menu window is being activated - // if not, close all menus - for (std::vector::const_iterator it=s_Menus.begin();it!=s_Menus.end();++it) - if ((*it)->m_hWnd==(HWND)lParam || (*it)->m_SearchBox.m_hWnd==(HWND)lParam) - return 0; - - if ((HWND)lParam==g_OwnerWindow || (HWND)lParam==g_TopWin7Menu) - return 0; - - if (s_bPreventClosing && (::GetWindowLong((HWND)lParam,GWL_EXSTYLE)&WS_EX_TOPMOST)) - return 0; - } - - // a non-top-most window tries to activate while we are still here - if (s_bPreventClosing && (!g_TopWin7Menu || !s_bAllPrograms)) - HideTemp(true); - else - { - for (std::vector::reverse_iterator it=s_Menus.rbegin();it!=s_Menus.rend();++it) - if ((*it)->m_hWnd && !(*it)->m_bDestroyed) - { - (*it)->PostMessage(WM_CLOSE); - (*it)->m_bClosing=true; - } - if (g_TopWin7Menu && s_bAllPrograms) ::PostMessage(g_TopWin7Menu,WM_CLOSE,0,0); - } -#endif - - return 0; -} - -LRESULT CMenuContainer::OnMouseActivate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_Submenu>=0 || (m_Options&CONTAINER_SEARCH)) - return MA_NOACTIVATE; - bHandled=FALSE; - return 0; -} - -LRESULT CMenuContainer::OnMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (!m_bTrackMouse) - { - TRACKMOUSEEVENT track={sizeof(track),TME_LEAVE,m_hWnd,0}; - TrackMouseEvent(&track); - m_bTrackMouse=true; - } - if (!(wParam&MK_LBUTTON) && m_ClickIndex==-2) - SetClickItem(-1); - if (s_HotPos==GetMessagePos()) - return 0; // HACK - ignore the mouse if it hasn't moved since last time. otherwise the mouse can override the keyboard navigation - s_HotPos=GetMessagePos(); - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - bool bArrow=false; - int index=HitTest(pt,&bArrow); - if (index!=m_ProgramButtonIndex) - m_bDisableProgHover=false; - if (GetCapture()==m_hWnd) - { - if (m_ClickIndex!=index) - { - if (!DragOut(m_ClickIndex,(m_Options&CONTAINER_APPS)!=0)) - SetHotItem(-2); - } - else - SetHotItem(index,bArrow,true); - } - else - { - if (index>=0 && m_Items[index].id==MENU_SEPARATOR) - index=m_HotItem; - SetHotItem(index,bArrow,true); - - UpdateScroll(&pt,false); - - if (m_Submenu<0 && !(m_Options&CONTAINER_SEARCH) && m_SearchState==SEARCH_NONE) - SetFocus(); - if (index>=0) - { - if ((m_Submenu>=0 && index!=m_Submenu) || (m_Submenu<0 && m_Items[index].bFolder) || (s_MenuMode==MODE_JUMPLIST && m_SubJumpItem>=0 && index!=m_SubJumpItem && index=0) - SetTimer(TIMER_HOVER,time); - } - LOG_MENU(LOG_MOUSE,L"Start Hover, index=%d",index); - } - } - else - m_HoverItem=-1; - } - else - m_HoverItem=-1; - } - - return 0; -} - -LRESULT CMenuContainer::OnMouseLeave( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_bTrackMouse) // HACK - somehow after a context menu WM_MOUSELEAVE comes even if we are not tracking the mouse - { - UpdateScroll(NULL,false); - SetHotItem(-1); - m_bTrackMouse=false; - m_bDisableProgHover=false; - if (m_HoverItem!=-1) - { - KillTimer(TIMER_HOVER); - m_HoverItem=-1; - } - } - return 0; -} - -LRESULT CMenuContainer::OnMouseWheel( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - HWND hwnd=WindowFromPoint(pt); - if (hwnd!=m_hWnd) - { - for (std::vector::iterator it=s_Menus.begin();it!=s_Menus.end();++it) - { - if ((*it)->m_hWnd==hwnd) - { - (*it)->SendMessage(uMsg,wParam,lParam); - return 0; - } - } - } - if (m_ScrollCount<1 && m_SearchScrollCount<1) return 0; // nothing to scroll - UINT lines; - if (!SystemParametersInfo(SPI_GETWHEELSCROLLLINES,0,&lines,FALSE)) - lines=3; - if (lines<1) lines=1; - - m_MouseWheel+=lines*(short)HIWORD(wParam); - int n=m_MouseWheel/WHEEL_DELTA; - m_MouseWheel-=n*WHEEL_DELTA; - if (m_SearchScrollCount>0) - { - int pos=m_SearchScrollPos; - m_SearchScrollPos=m_Scrollbar.SetScrollPos(SB_CTL,m_SearchScrollPos-n); - if (m_SearchScrollPos!=pos) - { - Invalidate(); - s_HotPos=-1; - ScreenToClient(&pt); - OnMouseMove(WM_MOUSEMOVE,LOWORD(wParam),MAKELONG(pt.x,pt.y),bHandled); - } - } - else - { - int scroll=m_ScrollOffset; - scroll-=n*s_Skin.ItemSettings[m_bSubMenu?MenuSkin::SUBMENU_ITEM:MenuSkin::COLUMN1_ITEM].itemHeight; - if (scroll<0) scroll=0; - int total=m_Items[m_ScrollCount-1].itemRect.bottom-m_rContent.top-m_ScrollHeight; - if (scroll>total) scroll=total; - if (m_ScrollOffset!=scroll) - { - m_ScrollOffset=scroll; - UpdateScroll(); - Invalidate(); - s_HotPos=-1; - ScreenToClient(&pt); - OnMouseMove(WM_MOUSEMOVE,LOWORD(wParam),MAKELONG(pt.x,pt.y),bHandled); - } - } - return 0; -} - -bool CMenuContainer::GetDescription( int index, wchar_t *text, int size ) -{ - if (index<0 || index>=(int)m_Items.size()) - return false; - const MenuItem &item=m_Items[index]; - bool bLabel=false; - if (item.bStartScreen) - return false; - if (item.bInline) - { - int len=0; - for (const wchar_t *c=item.name;*c && len0; - text+=len; - size-=len; - } - if (item.id==MENU_PROGRAMS && s_MenuMode==MODE_PROGRAMS) - return false; - if (item.pStdItem && item.pStdItem->tip) - { - if (_wcsicmp(item.pStdItem->tip,L"none")==0) - return false; - // get the tip for the standard item - if (bLabel) - Sprintf(text,size,L"\r\n%s",item.pStdItem->tip); - else - Strcpy(text,size,item.pStdItem->tip); - return true; - } - - if (item.id==MENU_SEARCH_CATEGORY && item.categoryHash>=CSearchManager::CATEGORY_FILE && m_bHotArrow) - { - Sprintf(text,size,L"%s (Ctrl+Enter)",FindTranslation(L"Menu.MoreResults",L"See more results")); - return true; - } - if (item.id==MENU_NO && item.categoryHash==CSearchManager::CATEGORY_METROSETTING) - { - // try to get the description from the XML file. looks like it is always the same as the display name though - CComPtr pDoc; - if (SUCCEEDED(pDoc.CoCreateInstance(L"Msxml2.FreeThreadedDOMDocument"))) - { - pDoc->put_async(VARIANT_FALSE); - VARIANT_BOOL loaded; - if (pDoc->load(CComVariant(item.pItemInfo->PATH),&loaded)==S_OK && loaded==VARIANT_TRUE) - { - CComPtr pDescription; - HRESULT res=pDoc->selectSingleNode(CComBSTR(L"PCSettings/SearchableContent/SettingInformation/Description"),&pDescription); - if (res==S_OK) - { - CComBSTR desc; - if (pDescription->get_text(&desc)==S_OK) - { - if (SUCCEEDED(SHLoadIndirectString(desc,text,size,NULL))) - return true; - } - } - } - } - } - if (item.jumpIndex>=0 && item.id!=MENU_SEPARATOR && item.id!=MENU_EMPTY) - { - const CJumpGroup &group=s_JumpList.groups[LOWORD(item.jumpIndex)]; - const CJumpItem &jumpItem=group.items[HIWORD(item.jumpIndex)]; - if (m_bHotArrow) - { - if (group.type==CJumpGroup::TYPE_PINNED) - Strcpy(text,size,FindTranslation(L"Jumplist.UnpinTip",L"Unpin from this list")); - else - Strcpy(text,size,FindTranslation(L"Jumplist.PinTip",L"Pin to this list")); - return true; - } - if (jumpItem.type==CJumpItem::TYPE_ITEM) - { - CComQIPtr pItem(jumpItem.pItem); - if (pItem) - { - { - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEEDITING,&pName))) - { - Strcpy(text,size,pName); - return true; - } - } - CComPtr pQueryInfo; - if (SUCCEEDED(pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IQueryInfo,(void**)&pQueryInfo))) - { - CComString pTip; - if (FAILED(pQueryInfo->GetInfoTip(QITIPF_LINKNOTARGET,&pTip)) || !pTip) - return false; - - Strcpy(text,size,pTip); - return true; - } - } - } - else if (jumpItem.type==CJumpItem::TYPE_LINK) - { - CComQIPtr pLink(jumpItem.pItem); - if (pLink) - { - if (SUCCEEDED(pLink->GetDescription(text,size)) && text[0]) - return true; - wchar_t args[256]; - if (SUCCEEDED(pLink->GetArguments(args,_countof(args))) && args[0]) - { - // don't use default tip for items with arguments - Strcpy(text,size,item.name); - return true; - } - if (pLink->GetPath(text,size,NULL,0)==S_OK) - return true; - } - } - } - - if ((item.categoryHash&CSearchManager::CATEGORY_MASK)==CSearchManager::CATEGORY_FILE) - { - // for search files show the path - if (item.pItemInfo) - { - bool bShowPath; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - bShowPath=!item.pItemInfo->GetPath().IsEmpty(); - } - if (bShowPath) - { - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(item.pItemInfo->GetPidl(),IID_IShellItem,(void**)&pItem))) - { - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_FILESYSPATH,&pName))) - { - Strcpy(text,size,pName); - return true; - } - } - } - } - } - - if (item.pItem1) - { - if (item.pItemInfo) - { - CString path; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - path=item.pItemInfo->GetPath(); - } - if (!path.IsEmpty() && PathIsNetworkPath(path)) - { - Strcpy(text,size,path); - return true; - } - } - - // get the tip from the shell - CComPtr pItem; - if (FAILED(SHCreateItemFromIDList(item.pItem1,IID_IShellItem,(void**)&pItem))) - return bLabel; - - CComPtr pQueryInfo; - if (FAILED(pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IQueryInfo,(void**)&pQueryInfo))) - return bLabel; - - CComString pTip; - HRESULT hr=pQueryInfo->GetInfoTip(QITIPF_DEFAULT,&pTip); - if (FAILED(hr) || !pTip) - return bLabel; - - if (bLabel) - Sprintf(text,size,L"\r\n%s",(const wchar_t*)pTip); - else - Strcpy(text,size,pTip); - return true; - } - return bLabel; -} - -LRESULT CMenuContainer::OnLButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (!GetCapture()) - { - if (m_Submenu<0 && !(m_Options&CONTAINER_SEARCH) && m_SearchState==SEARCH_NONE) - SetFocus(); - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - SetClickItem(-1); - if (m_rUser1.left=0) - { - SetActiveWindow(); // must be done before the children are destroyed - // close all child menus - CloseSubMenus(0,this); - SetHotItem(-1); // must be done after the children are destroyed - } - return 0; - } - const MenuItem &item=m_Items[index]; - if (item.id==MENU_SEPARATOR) return 0; - if (index==m_ProgramButtonIndex && GetSettingInt(L"ProgramsStyle")==PROGRAMS_INLINE) - { - m_bDisableProgHover=true; - KillTimer(TIMER_HOVER); - } - SetClickItem(index); - m_bClickArrow=bArrow; - SetCapture(); - } - return 0; -} - -LRESULT CMenuContainer::OnLButtonDblClick( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - SetClickItem(-1); - // execute item under the mouse - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - bool bArrow; - int index=HitTest(pt,&bArrow); - if (index<0) return 0; - const MenuItem &item=m_Items[index]; - if (item.id==MENU_SEPARATOR) return 0; - ClientToScreen(&pt); - if (s_bWin7Style && item.id==MENU_PROGRAMS) // only single clicks for All Programs - OnLButtonDown(WM_LBUTTONDOWN,wParam,lParam,bHandled); - else if (!bArrow) // ignore double-click on the split arrow - ActivateItem(index,ACTIVATE_EXECUTE,&pt); - return 0; -} - -LRESULT CMenuContainer::OnLButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (GetCapture()==m_hWnd) - ReleaseCapture(); - else if (m_ClickIndex!=-2) - return 0; - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - bool bArrow=false; - int index=HitTest(pt,&bArrow); - if (m_ClickIndex!=-2 && (index!=m_ClickIndex || bArrow!=m_bClickArrow)) - { - InvalidateItem(m_ClickIndex); - SetHotItem(-1); - return 0; - } - if (index<0) return 0; - const MenuItem &item=m_Items[index]; - POINT pt2=pt; - ClientToScreen(&pt2); - if (!item.bFolder) - { - if (item.jumpIndex>=0 && m_bHotArrow) - { - const CJumpGroup &group=s_JumpList.groups[LOWORD(item.jumpIndex)]; - const CJumpItem &jumpItem=group.items[HIWORD(item.jumpIndex)]; - PinJumpItem(s_JumpAppInfo,s_JumpList,LOWORD(item.jumpIndex),HIWORD(item.jumpIndex),group.type!=CJumpGroup::TYPE_PINNED,-1); - PostRefreshMessage(); - } - else if (item.id==MENU_SEARCH_CATEGORY && item.categoryHash>=CSearchManager::CATEGORY_FILE && m_bHotArrow) - { - ActivateData data; - data.bArrow=true; - ActivateItem(index,ACTIVATE_EXECUTE,&pt2,&data); - } - else - ActivateItem(index,ACTIVATE_EXECUTE,&pt2); - } - else - { - const MenuItem &item=m_Items[index]; - if (item.bSplit) - { - if (!bArrow) - { - ActivateItem(index,ACTIVATE_EXECUTE,&pt2); - return 0; - } - if ((index==m_Submenu || index==m_SubJumpItem) && (!m_SubShowTime || (int)(GetTickCount()-m_SubShowTime)>500)) - { - // second click on the arrow closes the menus - SetActiveWindow(); - // destroy old submenus - CloseSubMenus(0,this); - SetHotItem(index,true,true); - KillTimer(TIMER_HOVER); - return 0; - } - } - else if (s_bWin7Style && item.id==MENU_PROGRAMS && GetSettingInt(L"ProgramsStyle")==PROGRAMS_INLINE && m_SubShowTime && (int)(GetTickCount()-m_SubShowTime)<500) - return 0; // ignore clicks soon after the programs open - if (index!=m_Submenu) - { - ActivateItem(index,ACTIVATE_OPEN,NULL); - } - } - return 0; -} - -LRESULT CMenuContainer::OnRButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (!GetCapture()) - { - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - SetClickItem(-1); - int index=HitTest(pt,NULL); - if (index>=0) - { - if (m_Items[index].id==MENU_SEPARATOR) return 0; - } - else if (!PtInRect(&m_rPadding,pt)) - return 0; - SetClickItem(index); - SetCapture(); - } - return 0; -} - -LRESULT CMenuContainer::OnRButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (GetCapture()!=m_hWnd) - return 0; - ReleaseCapture(); - if (s_bNoContextMenu) return 0; - POINT pt={(short)LOWORD(lParam),(short)HIWORD(lParam)}; - bool bArrow=false; - int index=HitTest(pt,&bArrow); - if (index>=0) - { - if (m_Items[index].id==MENU_SEPARATOR) return 0; - if (m_Items[index].id!=MENU_SEARCH_CATEGORY || m_Items[index].categoryHash &items ) -{ - if ((m_Options&CONTAINER_DROP) && m_FolderHash[0]) - { - // save item names in the registry - CRegKey regOrder; - wchar_t name[100]; - if (regOrder.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order")!=ERROR_SUCCESS) - regOrder.Create(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order"); - std::vector hashes[2]; - for (std::vector::const_iterator it=items.begin();it!=items.end();++it) - { - if (m_FolderHash[1] && it->priority==2) - hashes[1].push_back(it->nameHash); - else - hashes[0].push_back(it->nameHash); - } - - Sprintf(name,_countof(name),L"%08X",m_FolderHash[0]); - if (hashes[0].empty()) - regOrder.SetBinaryValue(name,NULL,0); - else - regOrder.SetBinaryValue(name,&hashes[0][0],(int)hashes[0].size()*4); - if (m_FolderHash[1]) - { - Sprintf(name,_countof(name),L"%08X",m_FolderHash[1]); - if (hashes[1].empty()) - regOrder.SetBinaryValue(name,NULL,0); - else - regOrder.SetBinaryValue(name,&hashes[1][0],(int)hashes[1].size()*4); - } - } -} - -void CMenuContainer::LoadItemOrder( void ) -{ - bool bLoaded=false; - if ((m_Options&CONTAINER_DROP) && m_FolderHash[0]) - { - // load item names from the registry - std::vector hashes[2]; - CRegKey regOrder; - if (regOrder.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order",KEY_READ)==ERROR_SUCCESS) - { - wchar_t name[100]; - { - ULONG size=0; - Sprintf(name,_countof(name),L"%08X",m_FolderHash[0]); - regOrder.QueryBinaryValue(name,NULL,&size); - if (size>0 && !(size&3)) - { - hashes[0].resize(size/4); - regOrder.QueryBinaryValue(name,&hashes[0][0],&size); - bLoaded=true; - } - } - if (m_FolderHash[1]) - { - ULONG size=0; - Sprintf(name,_countof(name),L"%08X",m_FolderHash[1]); - regOrder.QueryBinaryValue(name,NULL,&size); - if (size>0 && !(size&3)) - { - hashes[1].resize(size/4); - regOrder.QueryBinaryValue(name,&hashes[1][0],&size); - bLoaded=true; - } - } - } - if (hashes[0].size()==1 && hashes[0][0]=='AUTO') - { - m_Options|=CONTAINER_AUTOSORT; - for (std::vector::iterator it=m_Items.begin();it!=m_Items.end();++it) - it->row=0; - } - else - { - m_Options&=~CONTAINER_AUTOSORT; - - // assign each m_Item an index based on its position in items. store in row - // unknown items get the index of the blank item, or at the end - for (std::vector::iterator it=m_Items.begin();it!=m_Items.end();++it) - { - unsigned int hash=it->nameHash; - const std::vector &hashRef=(it->priority==0?hashes[0]:hashes[1]); - it->row=(int)hashRef.size(); - for (int i=0;i<(int)hashRef.size();i++) - { - if (hashRef[i]==hash) - { - it->row=i; - break; - } - else if (hashRef[i]==FNV_HASH0) - it->row=i; - } - if (m_Options&CONTAINER_SORTZA) - it->row=-it->row; - } - } - } - else - { - for (std::vector::iterator it=m_Items.begin();it!=m_Items.end();++it) - it->row=0; - } - - if (!(m_Options&CONTAINER_DOCUMENTS) || GetSettingInt(L"SortRecentDocuments")!=2) - { - // sort by row, then by bFolder, then by name - s_bExtensionSort=(m_Options&CONTAINER_DOCUMENTS) && GetSettingInt(L"SortRecentDocuments")==1; - std::sort(m_Items.begin(),m_Items.end()); - s_bExtensionSort=false; - } - if (m_Options&CONTAINER_SORTZA) - std::reverse(m_Items.begin(),m_Items.end()); - - if ((m_Options&CONTAINER_DROP) && (m_Options&CONTAINER_SORTONCE) && !bLoaded) - { - std::vector items; - for (std::vector::const_iterator it=m_Items.begin();it!=m_Items.end();++it) - { - if (it->id==MENU_NO) - { - SortMenuItem item(*it); - items.push_back(item); - } - } - SaveItemOrder(items); - } -} - -void CMenuContainer::AddMRUAppId( const wchar_t *appid ) -{ - wchar_t path[256]; - Sprintf(path,_countof(path),L"APP:%s",appid); - AddMRUShortcut(path); -} - -void CMenuContainer::AddMRUShortcut( const wchar_t *path ) -{ - if (!*path) return; - Assert(s_bMRULoaded); - bool bFound=false; - for (int i=0;i0) - { - CString str=s_MRUShortcuts[i]; - for (;i>0;i--) - s_MRUShortcuts[i]=s_MRUShortcuts[i-1]; - s_MRUShortcuts[0]=str; - } - bFound=true; - break; - } - } - - if (!bFound) - { - for (int i=MRU_PROGRAMS_COUNT-1;i>0;i--) - s_MRUShortcuts[i]=s_MRUShortcuts[i-1]; - s_MRUShortcuts[0]=path; - } - - SaveMRUShortcuts(); -} - -void CMenuContainer::DeleteMRUAppId( const wchar_t *appid ) -{ - wchar_t path[256]; - Sprintf(path,_countof(path),L"APP:%s",appid); - DeleteMRUShortcut(path); -} - -void CMenuContainer::DeleteMRUShortcut( const wchar_t *path ) -{ - Assert(s_bMRULoaded); - if (path) - { - for (int i=0;i::iterator it=s_Menus.begin();it!=s_Menus.end();++it) - if (!(*it)->m_bDestroyed) - (*it)->ShowWindow(SW_HIDE); -} - -bool CMenuContainer::IsMenuWindow( HWND hWnd ) -{ - for (std::vector::iterator it=s_Menus.begin();it!=s_Menus.end();++it) - if (hWnd==(*it)->m_hWnd || (*it)->IsChild(hWnd)) - return true; - return false; -} - -bool CMenuContainer::CloseProgramsMenu( void ) -{ - if (s_Menus.empty()) return false; - - for (std::vector::const_reverse_iterator it=s_Menus.rbegin();it!=s_Menus.rend();++it) - if (!(*it)->m_bDestroyed) - (*it)->PostMessage(WM_CLOSE); - - return true; -} - -static void NewVersionCallback( VersionData &data ) -{ - wchar_t path[_MAX_PATH]; - GetModuleFileName(g_Instance,path,_countof(path)); - PathRemoveFileSpec(path); - PathAppend(path,L"Update.exe"); - wchar_t cmdLine[1024]; - Sprintf(cmdLine,_countof(cmdLine),L"\"%s\" -popup",path); - STARTUPINFO startupInfo={sizeof(startupInfo)}; - PROCESS_INFORMATION processInfo; - memset(&processInfo,0,sizeof(processInfo)); - if (CreateProcess(path,cmdLine,NULL,NULL,TRUE,0,NULL,NULL,&startupInfo,&processInfo)) - { - CloseHandle(processInfo.hThread); - CloseHandle(processInfo.hProcess); - } -} - -static bool CheckForUpdates( void ) -{ - bool bHasUpdates=false; - if (GetWinVersion()0; - } - } - } - if (!bHasUpdates) - { - CComPtr pSysInfo; - pSysInfo.CoCreateInstance(CLSID_SystemInformation); - if (pSysInfo) - { - VARIANT_BOOL reboot; - if (SUCCEEDED(pSysInfo->get_RebootRequired(&reboot)) && reboot) - { - LOG_MENU(LOG_OPEN,L"WU: Reboot required"); - bHasUpdates=true; - } - } - } - if (!bHasUpdates && GetWinVersion()>=WIN_VER_WIN8) - { - typedef HRESULT (WINAPI *FGetAutoUpdateNotification)(DWORD,DWORD*,DWORD*,DWORD*); - HMODULE mod=LoadLibrary(L"wuaext.dll"); - if (mod) - { - FGetAutoUpdateNotification fun=(FGetAutoUpdateNotification)GetProcAddress(mod,"GetAutoUpdateNotification"); - if (fun) - { - DWORD a,b,c; - HRESULT hr=fun(0,&a,&b,&c); - bHasUpdates=(a==1 || a==2); - LOG_MENU(LOG_OPEN,L"WU: GetAutoUpdateNotification: %d, %d, %d, %d",hr,a,b,c); - } - FreeLibrary(mod); - } - } - return bHasUpdates; -} - -static void CreateStartScreenFile( const wchar_t *fname ) -{ - wchar_t link[_MAX_PATH]; - GetModuleFileName(g_Instance,link,_countof(link)); - PathRemoveFileSpec(link); - PathAppend(link,L"Start Screen.lnk"); - CopyFile(link,fname,TRUE); -} - -bool CMenuContainer::HasMoreResults( void ) -{ - if (s_HasMoreResults==-1) - s_HasMoreResults=(GetSettingBool(L"SearchFiles") && HasSearchService())?1:0; - return s_HasMoreResults!=0; -} - -RECT CMenuContainer::CalculateWorkArea( const RECT &taskbarRect ) -{ - RECT rc=s_MenuLimits; - if ((s_TaskBarEdge==ABE_LEFT || s_TaskBarEdge==ABE_RIGHT) && GetSettingBool(L"ShowNextToTaskbar")) - { - // when the taskbar is on the side and the menu is not on top of it - // the start button is assumed at the top - if (s_TaskBarEdge==ABE_LEFT) - rc.left=taskbarRect.right; - else - rc.right=taskbarRect.left; - } - else - { - if (s_TaskBarEdge==ABE_BOTTOM) - { - // taskbar is at the bottom - rc.bottom=taskbarRect.top; - } - else if (s_TaskBarEdge==ABE_TOP) - { - // taskbar is at the top - rc.top=taskbarRect.bottom; - } - else - { - // taskbar is on the side, start button must be at the top - rc.top=s_StartRect.bottom; - } - } - - if (!s_bLockWorkArea) - { - // exclude floating keyboard - if (s_pFrameworkInputPane) - { - RECT kbdRect; - if (SUCCEEDED(s_pFrameworkInputPane->Location(&kbdRect))) - { - if (rc.topkbdRect.top && rc.leftkbdRect.left) - { - HMONITOR monitor=MonitorFromWindow(m_hWnd,MONITOR_DEFAULTTONULL); - if (monitor) - { - MONITORINFO info={sizeof(info)}; - GetMonitorInfo(monitor,&info); - if (kbdRect.bottom==info.rcMonitor.bottom && kbdRect.left==info.rcMonitor.left && kbdRect.right==info.rcMonitor.right) - { - // the keyboard is docked at the bottom of the monitor - rc.bottom=kbdRect.top; - } - } - } - } - } - } - return rc; -} - -POINT CMenuContainer::CalculateCorner( void ) -{ - RECT margin={0,0,0,0}; - if (IsAppThemed()) - AdjustWindowRect(&margin,GetWindowLong(GWL_STYLE),FALSE); - - POINT corner; - if (m_Options&CONTAINER_LEFT) - corner.x=s_MainMenuLimits.left+margin.left; - else - corner.x=s_MainMenuLimits.right+margin.right; - - if (m_Options&CONTAINER_TOP) - { - if (s_bBehindTaskbar) - corner.y=s_MainMenuLimits.top+margin.top; - else - corner.y=s_MainMenuLimits.top; - } - else - corner.y=s_MainMenuLimits.bottom+margin.bottom; - - return corner; -} - -// Toggles the start menu -HWND CMenuContainer::ToggleStartMenu( int taskbarId, bool bKeyboard, bool bAllPrograms ) -{ - s_bAllPrograms=false; - if (bAllPrograms) - { - if (CloseProgramsMenu()) - { - return NULL; - } - - ::ShowWindow(g_UserPic,SW_HIDE); - } - else - { - if (!CanShowMenu()) - return NULL; - if (!bKeyboard) s_LastFGWindow=NULL; - bool bSameTaskbar=(s_TaskBarId==taskbarId); - if (CloseStartMenu()) - { - if (bSameTaskbar) - return NULL; - } - - s_LastFGWindow=GetForegroundWindow(); - SetForegroundWindow(GetTaskbarInfo(taskbarId)->startButton); - EnableStartTooltip(false); - } - - { - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,GetSettingsRegPath())!=ERROR_SUCCESS) - regKey.Create(HKEY_CURRENT_USER,GetSettingsRegPath()); - - DWORD val; - if (regKey.QueryDWORDValue(L"ShowedStyle2",val)!=ERROR_SUCCESS) - { - regKey.SetDWORDValue(L"ShowedStyle2",1); - if (GetSettingBool(L"EnableSettings") && !IsSettingLocked(L"MenuStyle") && !IsSettingForcedDefault(L"MenuStyle")) - { - if (regKey.QueryDWORDValue(L"ShowedStyle2",val)==ERROR_SUCCESS && val) - { - EditSettings(false,IDS_STYLE_SETTINGS); - return NULL; - } - } - } - } - - if (GetSettingInt(L"CompatibilityFixes")&COMPATIBILITY_CRASH_TEST) - *(int*)0=0; - g_ItemManager.RefreshInfos(); - s_bWin7Style=GetSettingInt(L"MenuStyle")==MENU_WIN7; - - if (!s_StartMenuMsg) - s_StartMenuMsg=RegisterWindowMessage(L"OpenShellMenu.StartMenuMsg"); - s_StartMenuParams.uEdge=0xFFFFFFFF; - s_TaskBarId=taskbarId; - TaskbarInfo *taskBar=GetTaskbarInfo(taskbarId); - s_TaskBar=taskBar->taskBar; - s_StartButton=taskBar->startButton; - s_bAllPrograms=bAllPrograms; - s_MenuMode=MODE_NORMAL; - s_PreSearchMenuMode=MODE_NORMAL; - s_MenuHeight=-1; - s_MenuMaxHeight[0]=-1; - s_MenuWidthJump=0; - s_MenuWidthMax=0; - s_MenuWidthNormal=-1; - s_ProgramsWidth=GetSettingInt(L"ProgramsWidth"); - s_JumplistWidth=GetSettingInt(L"JumplistWidth"); - s_BackgroundW1=s_BackgroundW2=s_BackgroundH1=s_BackgroundH2=0; - ClearOldState(); - int categories=0; - { - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Settings",KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS) - { - DWORD log; - if (regKey.QueryDWORDValue(L"LogCategories",log)==ERROR_SUCCESS) - categories=log; - } - } -#ifdef BUILD_BETA - categories=LOG_ALL; -#endif - if (categories!=0) - { - wchar_t path[_MAX_PATH]=L"%LOCALAPPDATA%\\OpenShell"; - DoEnvironmentSubst(path,_MAX_PATH); - SHCreateDirectory(NULL,path); - Strcat(path,_countof(path),L"\\StartMenuLog.txt"); - InitLog(categories,path); - } - - { - CSettingsLockWrite lock; - UpdateDefaultSettings(); - } - - // initialize all settings - bool bErr=false; - HMONITOR initialMonitor=MonitorFromWindow(s_TaskBar,MONITOR_DEFAULTTONEAREST); - int dpi=CItemManager::GetDPI(true); - if (!CItemManager::GetDPIOverride() && GetWinVersion()>=WIN_VER_WIN81) - { - HMODULE shModule=GetModuleHandle(L"Shcore.dll"); - if (shModule) - { - typedef HRESULT (WINAPI *tGetDpiForMonitor)( HMONITOR monitor, UINT dpiType, UINT *dpiX, UINT *dpiY ); - tGetDpiForMonitor GetDpiForMonitor=(tGetDpiForMonitor)GetProcAddress(shModule,"GetDpiForMonitor"); - if (GetDpiForMonitor) - { - UINT dpiX, dpiY; - if (SUCCEEDED(GetDpiForMonitor(initialMonitor,0,&dpiX,&dpiY))) - dpi=dpiY; - } - } - } - if (bAllPrograms) - { - bErr=!s_Skin.LoadMenuSkin(GetSettingString(L"SkinA"),GetSettingString(L"SkinVariationA"),GetSettingString(L"SkinOptionsA"),MenuSkin::SKIN_TYPE_ALL_PROGRAMS,LOADMENU_RESOURCES,dpi); - if (bErr) - s_Skin.LoadDefaultMenuSkin(MenuSkin::SKIN_TYPE_ALL_PROGRAMS,LOADMENU_RESOURCES,dpi); - } - else if (s_bWin7Style) - { - bErr=!s_Skin.LoadMenuSkin(GetSettingString(L"SkinW7"),GetSettingString(L"SkinVariationW7"),GetSettingString(L"SkinOptionsW7"),MenuSkin::SKIN_TYPE_WIN7,LOADMENU_RESOURCES,dpi); - if (bErr) - s_Skin.LoadDefaultMenuSkin(MenuSkin::SKIN_TYPE_WIN7,LOADMENU_RESOURCES,dpi); - } - else if (GetSettingInt(L"MenuStyle")==1) - { - bErr=!s_Skin.LoadMenuSkin(GetSettingString(L"SkinC2"),GetSettingString(L"SkinVariationC2"),GetSettingString(L"SkinOptionsC2"),MenuSkin::SKIN_TYPE_CLASSIC2,LOADMENU_RESOURCES,dpi); - if (bErr) - s_Skin.LoadDefaultMenuSkin(MenuSkin::SKIN_TYPE_CLASSIC2,LOADMENU_RESOURCES,dpi); - } - else - { - bErr=!s_Skin.LoadMenuSkin(GetSettingString(L"SkinC1"),GetSettingString(L"SkinVariationC1"),GetSettingString(L"SkinOptionsC1"),MenuSkin::SKIN_TYPE_CLASSIC1,LOADMENU_RESOURCES,dpi); - if (bErr) - s_Skin.LoadDefaultMenuSkin(MenuSkin::SKIN_TYPE_CLASSIC1,LOADMENU_RESOURCES,dpi); - } - - const MenuSkin &s_Skin=CMenuContainer::s_Skin; // shadow s_Skin with a const reference to catch any modifications to non-mutable members - g_CurrentCSMTaskbar=s_TaskBarId; - PressStartButton(s_TaskBarId,true); - g_ItemManager.ResetTempIcons(); - s_ScrollMenus=GetSettingInt(L"ScrollType"); - s_bExpandLinks=GetSettingBool(L"ExpandFolderLinks"); - s_bLogicalSort=GetSettingBool(L"NumericSort"); - s_MaxRecentDocuments=GetSettingInt(L"MaxRecentDocuments"); - s_ShellFormat=RegisterClipboardFormat(CFSTR_SHELLIDLIST); - s_ShellUrlFormat=RegisterClipboardFormat(CFSTR_INETURL); - s_DescriptorFormat=RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR); - s_ContentsFormat=RegisterClipboardFormat(CFSTR_FILECONTENTS); - s_MetroLinkFormat=RegisterClipboardFormat(L"OpenShell.MetroLink"); - s_PreferredEffectFormat=RegisterClipboardFormat(CFSTR_PREFERREDDROPEFFECT); - s_DropDescriptionFormat=RegisterClipboardFormat(CFSTR_DROPDESCRIPTION); - s_bNoCommonFolders=(SHRestricted(REST_NOCOMMONGROUPS)!=0); - s_bNoRun=(SHRestricted(REST_NORUN)!=0); - s_bNoClose=(SHRestricted(REST_NOCLOSE)!=0); - s_bHasTouch=GetWinVersion()>=WIN_VER_WIN8 && GetSettingBool(L"EnableTouch") && (GetSystemMetrics(SM_DIGITIZER)&NID_INTEGRATED_TOUCH)!=0; - s_HasMoreResults=-1; - s_bDisableHover=false; - s_bDragClosed=false; - s_bPendingSearchEnter=false; - InitTouchHelper(); - - bool bRemote=GetSystemMetrics(SM_REMOTESESSION)!=0; - wchar_t wabPath[_MAX_PATH]=L"%ProgramFiles%\\Windows Mail\\wab.exe"; - DoEnvironmentSubst(wabPath,_countof(wabPath)); - HANDLE hWab=CreateFile(wabPath,0,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); - bool bPeople=(hWab!=INVALID_HANDLE_VALUE); - if (bPeople) CloseHandle(hWab); - s_bRTL=s_Skin.ForceRTL || IsLanguageRTL(); - - { - APPBARDATA appbar={sizeof(appbar)}; - s_TaskbarState=(DWORD)SHAppBarMessage(ABM_GETSTATE,&appbar); - } - - // the taskbar on Windows 7 (and most likely later versions) is always on top even though it doesn't have the ABS_ALWAYSONTOP flag. - if (GetWinVersion()>=WIN_VER_WIN7) - { - // also check the WS_EX_TOPMOST style - maybe some tool like DisableTaskbarOnTop is messing with it - if (::GetWindowLong(s_TaskBar,GWL_EXSTYLE)&WS_EX_TOPMOST) - s_TaskbarState|=ABS_ALWAYSONTOP; - } - - if (!bAllPrograms && (s_TaskbarState&ABS_AUTOHIDE)) - { - ::SetActiveWindow(s_TaskBar); - } - if (!bAllPrograms) - { - // set the taskbar as the foreground window so all keyboard input is sent to the taskbar thread (and be later captured by the start menu) - SetForegroundWindow(s_TaskBar); - } - - if (s_bActiveDirectory==-1) - { - DOMAIN_CONTROLLER_INFO *info; - DWORD err=DsGetDcName(NULL,NULL,NULL,NULL,DS_RETURN_FLAT_NAME,&info); - if (err==ERROR_SUCCESS) - { - s_bActiveDirectory=1; - NetApiBufferFree(info); - } - else - s_bActiveDirectory=0; - } - - if (GetWinVersion()>=WIN_VER_WIN8 && !s_pFrameworkInputPane && !(GetSettingInt(L"CompatibilityFixes")&COMPATIBILITY_NO_TOUCH_KBD)) - { - s_pFrameworkInputPane.CoCreateInstance(CLSID_FrameworkInputPane); - } - - s_bHasUpdates=(!bRemote || GetSettingBool(L"RemoteShutdown")) && GetSettingBool(L"CheckWinUpdates") && CheckForUpdates(); - - SYSTEM_POWER_CAPABILITIES powerCaps; - GetPwrCapabilities(&powerCaps); - - bool bHibernate=false; - if (powerCaps.HiberFilePresent) - { - bHibernate=true; -/* disabled for now, use group policy to hide Hibernate - // disable hibernate if hybrid sleep (fast s4) is enabled - SYSTEM_POWER_STATUS status; - if (GetSystemPowerStatus(&status) && (status.ACLineStatus==0 || status.ACLineStatus==1)) - { - GUID *pScheme; - if (PowerGetActiveScheme(NULL,&pScheme)==ERROR_SUCCESS) - { - DWORD index; - if ((status.ACLineStatus==1?PowerReadACValueIndex:PowerReadDCValueIndex)(NULL,pScheme,&GUID_SLEEP_SUBGROUP,&GUID_HIBERNATE_FASTS4_POLICY,&index)==ERROR_SUCCESS && index) - bHibernate=false; - LocalFree(pScheme); - } - }*/ - } - - for (int i=0;i<_countof(g_StdOptions);i++) - { - switch (g_StdOptions[i].id) - { - case MENU_COMPUTER: - if (s_bWin7Style) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - else - { - g_StdOptions[i].options=0; - int show=GetSettingInt(L"Computer"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2 || show==3) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - case MENU_FAVORITES: - if (s_bWin7Style) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - else - { - g_StdOptions[i].options=0; - int show=GetSettingInt(L"Favorites"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - case MENU_DOCUMENTS: - if (s_bWin7Style) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - else - { - g_StdOptions[i].options=0; - int show=GetSettingInt(L"Documents"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - case MENU_LOGOFF: - if (s_bWin7Style) - g_StdOptions[i].options=SHRestricted(REST_STARTMENULOGOFF)!=1?MENU_ENABLED|MENU_EXPANDED:0; - else - g_StdOptions[i].options=GetSettingBool(L"LogOff")?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_DISCONNECT: - g_StdOptions[i].options=(bRemote && !SHRestricted(REST_NODISCONNECT))?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_SHUTDOWN: - case MENU_RESTART: - g_StdOptions[i].options=(!s_bNoClose && (!bRemote || GetSettingBool(L"RemoteShutdown")))?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_SHUTDOWN_NOUPDATE: - g_StdOptions[i].options=(s_bHasUpdates && !s_bNoClose && (!bRemote || GetSettingBool(L"RemoteShutdown")))?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_RESTART_NOUPDATE: - g_StdOptions[i].options=(s_bHasUpdates && GetWinVersion()>=WIN_VER_WIN8 && !s_bNoClose && (!bRemote || GetSettingBool(L"RemoteShutdown")))?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_SHUTDOWN_BOX: - g_StdOptions[i].options=0; - if (!bRemote || GetSettingBool(L"RemoteShutdown")) - { - int show=GetSettingInt(L"Shutdown"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - case MENU_SHUTDOWN_BUTTON: - g_StdOptions[i].options=GetSettingInt(L"ShutdownCommand")>SHUTDOWN_TYPE_NONE?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_UNDOCK: - { - HW_PROFILE_INFO info; - GetCurrentHwProfile(&info); - if ((info.dwDockInfo&(DOCKINFO_DOCKED|DOCKINFO_UNDOCKED))!=DOCKINFO_DOCKED) - g_StdOptions[i].options=0; - else if (s_bWin7Style) - g_StdOptions[i].options=SHRestricted(REST_NOSMEJECTPC)?0:MENU_ENABLED|MENU_EXPANDED; - else - g_StdOptions[i].options=GetSettingBool(L"Undock")?MENU_ENABLED|MENU_EXPANDED:0; - } - break; - case MENU_CONTROLPANEL: - if (s_bWin7Style) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - else - { - g_StdOptions[i].options=0; - int show=GetSettingInt(L"ControlPanel"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - case MENU_SECURITY: - g_StdOptions[i].options=bRemote?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_NETWORK: - if (s_bWin7Style) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - else - { - g_StdOptions[i].options=0; - int show=GetSettingInt(L"Network"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - case MENU_PRINTERS: - if (s_bWin7Style) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - else - { - g_StdOptions[i].options=0; - int show=GetSettingInt(L"Printers"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - - case MENU_SEARCH_PRINTER: - g_StdOptions[i].options=s_bActiveDirectory==1?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_SEARCH_COMPUTERS: - g_StdOptions[i].options=(s_bActiveDirectory==1 && !SHRestricted(REST_HASFINDCOMPUTERS))?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_SEARCH_PEOPLE: - g_StdOptions[i].options=bPeople?MENU_ENABLED|MENU_EXPANDED:0; - break; - - case MENU_HELP: - if (s_bWin7Style) - g_StdOptions[i].options=SHRestricted(REST_NOSMHELP)?0:MENU_ENABLED|MENU_EXPANDED; - else - g_StdOptions[i].options=GetSettingBool(L"Help")?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_RUN: - if (s_bWin7Style) - g_StdOptions[i].options=s_bNoRun?0:MENU_ENABLED|MENU_EXPANDED; - else - g_StdOptions[i].options=GetSettingBool(L"Run")?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_TASKBAR: - g_StdOptions[i].options=!SHRestricted(REST_NOSETTASKBAR)?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_FEATURES: - g_StdOptions[i].options=(!SHRestricted(REST_NOSETFOLDERS) && !SHRestricted(REST_NOCONTROLPANEL))?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_CLASSIC_SETTINGS: - g_StdOptions[i].options=GetSettingBool(L"EnableSettings")?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_SEARCH: - g_StdOptions[i].options=GetSettingBool(L"Search")?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_SEARCH_BOX: - g_StdOptions[i].options=GetSettingInt(L"SearchBox")!=SEARCHBOX_HIDDEN?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_USERFILES: - if (s_bWin7Style) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - else - { - g_StdOptions[i].options=0; - int show=GetSettingInt(L"UserFiles"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - case MENU_USERDOCUMENTS: - if (s_bWin7Style) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - else - { - g_StdOptions[i].options=0; - int show=GetSettingInt(L"UserDocuments"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - case MENU_USERPICTURES: - if (s_bWin7Style) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - else - { - g_StdOptions[i].options=0; - int show=GetSettingInt(L"UserPictures"); - if (show==1) - g_StdOptions[i].options=MENU_ENABLED; - else if (show==2) - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - } - break; - case MENU_SLEEP: - g_StdOptions[i].options=(!s_bNoClose && (powerCaps.SystemS1 || powerCaps.SystemS2 || powerCaps.SystemS3 || powerCaps.AoAc))?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_HIBERNATE: - g_StdOptions[i].options=(!s_bNoClose && bHibernate)?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_SWITCHUSER: - { - g_StdOptions[i].options=MENU_ENABLED|MENU_EXPANDED; - CComPtr pShellDisp; - if (SUCCEEDED(CoCreateInstance(CLSID_Shell,NULL,CLSCTX_SERVER,IID_IShellDispatch2,(void**)&pShellDisp))) - { - long val; - if (SUCCEEDED(pShellDisp->IsRestricted(CComBSTR(L"System"),CComBSTR(L"HideFastUserSwitching"),&val)) && val) - g_StdOptions[i].options=0; - } - } - break; - case MENU_APPS: - g_StdOptions[i].options=(s_bWin7Style || (GetWinVersion()>=WIN_VER_WIN8 && GetSettingBool(L"ShowAppsMenu")))?MENU_ENABLED|MENU_EXPANDED:0; - break; - case MENU_PCSETTINGS: - g_StdOptions[i].options=(GetWinVersion()>=WIN_VER_WIN8)?MENU_ENABLED|MENU_EXPANDED:0; - break; - } - LOG_MENU(LOG_OPEN,L"ItemOptions[%d]=%d",i,g_StdOptions[i].options); - } - - s_bNoDragDrop=!GetSettingBool(L"EnableDragDrop"); - s_bNoContextMenu=!GetSettingBool(L"EnableContextMenu"); - s_bKeyboardCues=bKeyboard; - s_RecentPrograms=(TRecentPrograms)GetSettingInt(L"RecentPrograms"); - if (s_RecentPrograms!=RECENT_PROGRAMS_NONE) - LoadMRUShortcuts(); - s_ShutdownCommand=MENU_NO; - - // create the top menu from the Start Menu folders - CAbsolutePidl path1; - CAbsolutePidl path2; - s_PinFolder.Empty(); - if (bAllPrograms || GetSettingInt(L"PinnedPrograms")==PINNED_PROGRAMS_FAST) - { - ShGetKnownFolderIDList(FOLDERID_StartMenu,&path1); - CComString pPath; - ShGetKnownFolderPath(FOLDERID_StartMenu,&pPath); - if (pPath) - s_PinFolder=pPath; - if (!s_bNoCommonFolders) - ShGetKnownFolderIDList(FOLDERID_CommonStartMenu,&path2); - } - else - { - wchar_t path[_MAX_PATH]=START_MENU_PINNED_ROOT; - DoEnvironmentSubst(path,_countof(path)); - SHCreateDirectory(NULL,path); - s_PinFolder=path; - SHParseDisplayName(path,NULL,&path1,0,NULL); - } -#ifndef STARTSCREEN_WIN7 - if (GetWinVersion()>=WIN_VER_WIN8) -#endif - { - bool bPinned=GetSettingInt(L"PinnedPrograms")==PINNED_PROGRAMS_PINNED; - bool bShortcut=GetSettingBool(L"StartScreenShortcut"); - wchar_t path[_MAX_PATH]=START_MENU_PINNED_ROOT L"\\" STARTSCREEN_COMMAND; - DoEnvironmentSubst(path,_countof(path)); - if (bPinned) - { - if (GetFileAttributes(path)==INVALID_FILE_ATTRIBUTES) - { - if (bShortcut) - CreateStartScreenFile(path); - } - else if (!bShortcut) - DeleteFile(path); - } - CComString pPath; - ShGetKnownFolderPath(FOLDERID_StartMenu,&pPath); - Sprintf(path,_countof(path),L"%s\\" STARTSCREEN_COMMAND,(const wchar_t*)pPath); - if (GetFileAttributes(path)==INVALID_FILE_ATTRIBUTES) - { - if (!bPinned && bShortcut) - CreateStartScreenFile(path); - } - else if (bPinned || !bShortcut) - DeleteFile(path); - } - - int options=CONTAINER_PROGRAMS|CONTAINER_DRAG|CONTAINER_DROP; - unsigned int rootSettings=0; - const StdMenuItem *pRoot=NULL; - if (bAllPrograms) - { - options|=CONTAINER_ALLPROGRAMS; - } - else - { - pRoot=ParseCustomMenu(rootSettings); - } - - bool bTopMost=(s_TaskbarState&ABS_ALWAYSONTOP)!=0 || bAllPrograms; - - SystemParametersInfo(SPI_GETACTIVEWINDOWTRACKING,NULL,&s_XMouse,0); - if (s_XMouse) - SystemParametersInfo(SPI_SETACTIVEWINDOWTRACKING,NULL,(PVOID)FALSE,SPIF_SENDCHANGE); - - s_bBehindTaskbar=!bAllPrograms; - s_bShowTopEmpty=false; - DWORD dwStyle=WS_POPUP|WS_CLIPCHILDREN; - s_SubmenuStyle=WS_POPUP; - - bool bTheme=IsAppThemed()!=FALSE; - if (bTheme) - { - if (s_Skin.Main_opacity==MenuSkin::OPACITY_SOLID) - dwStyle|=WS_BORDER; - if (s_Skin.Submenu_opacity==MenuSkin::OPACITY_SOLID) - s_SubmenuStyle|=WS_BORDER; - } - else - { - if (s_Skin.Main_opacity==MenuSkin::OPACITY_SOLID) - dwStyle|=s_Skin.Main_thin_frame?WS_BORDER:WS_DLGFRAME; - if (s_Skin.Submenu_opacity==MenuSkin::OPACITY_SOLID) - s_SubmenuStyle|=s_Skin.Submenu_thin_frame?WS_BORDER:WS_DLGFRAME; - } - - if (s_bWin7Style) - { - for (int i=MenuSkin::SHUTDOWN_BUTTON;i<=MenuSkin::SHUTDOWN_BUTTON_JUMP;i++) - { - const MenuSkin::ItemDrawSettings &settings=s_Skin.ItemSettings[i]; - int textHeight=settings.textMetrics.tmHeight+settings.textPadding.top+settings.textPadding.bottom; - int iconHeight=0; - if (s_bHasUpdates) - iconHeight=s_Skin.Shutdown_bitmap_Size.cy; - iconHeight+=settings.iconPadding.top+settings.iconPadding.bottom; - if (iconHeightCreate(owner,&rc,bAllPrograms?s_SubmenuStyle:dwStyle,WS_EX_TOOLWINDOW|((bTopMost || !s_bBehindTaskbar)?WS_EX_TOPMOST:0)|(s_bRTL?WS_EX_LAYOUTRTL:0))) - { - delete pStartMenu; - return NULL; - } - dummyRc=rc; - } - - if (GetSettingBool(L"MenuShadow") && s_Skin.Main_shadow==MenuSkin::SHADOW_ON) - SetClassLongPtr(pStartMenu->m_hWnd,GCL_STYLE,GetClassLongPtr(pStartMenu->m_hWnd,GCL_STYLE)|CS_DROPSHADOW); - else - SetClassLongPtr(pStartMenu->m_hWnd,GCL_STYLE,GetClassLongPtr(pStartMenu->m_hWnd,GCL_STYLE)&~CS_DROPSHADOW); - - if (s_bWin7Style && !s_bAllPrograms && s_Skin.User_bitmapSize.cx>0) - { - s_UserPicture.Create(pStartMenu->m_hWnd,NULL,NULL,WS_POPUP,WS_EX_TOOLWINDOW|WS_EX_LAYERED); - s_UserPicture.Init(pStartMenu); - } - dummyRc.right++; - pStartMenu->SetWindowPos(NULL,&dummyRc,SWP_NOZORDER); - - memset(&s_StartRect,0,sizeof(s_StartRect)); - - HMONITOR s_MenuMonitor=MonitorFromWindow(bAllPrograms?g_ProgramsButton:pStartMenu->m_hWnd,MONITOR_DEFAULTTONEAREST); - s_bLockWorkArea=true; - RECT taskbarRect; - if (initialMonitor!=s_MenuMonitor && s_StartMenuParams.uEdge==0xFFFFFFFF) - { - // somebody has moved the menu to another monitor. recalculate the working area and the taskbar orientation - MONITORINFO info={sizeof(info)}; - GetMonitorInfo(s_MenuMonitor,&info); - s_MenuLimits=info.rcMonitor; - s_StartButton=s_TaskBar=NULL; - if (bAllPrograms) - { - ::GetWindowRect(g_ProgramsButton,&s_StartRect); - } - else - { - RECT rc; - pStartMenu->GetWindowRect(&rc); - s_StartRect=rc; - taskbarRect=info.rcMonitor; - int dx=(rc.left+rc.right-info.rcMonitor.left-info.rcMonitor.right)/2; - int dy=(rc.top+rc.bottom-info.rcMonitor.top-info.rcMonitor.bottom)/2; - if (dx<0 && dy<0) - { - // top-left corner - s_StartRect.bottom=s_StartRect.top; - s_StartRect.right=s_StartRect.left; - if (rc.top-info.rcMonitor.top>rc.left-info.rcMonitor.left) - { - // top - taskbarRect.bottom=rc.top; - s_TaskBarEdge=ABE_TOP; - } - else - { - // left - taskbarRect.right=rc.left; - s_TaskBarEdge=ABE_LEFT; - } - } - else if (dx<0 && dy>=0) - { - // bottom-left corner - s_StartRect.top=s_StartRect.bottom; - s_StartRect.right=s_StartRect.left; - if (info.rcMonitor.bottom-rc.bottom>rc.left-info.rcMonitor.left) - { - // bottom - taskbarRect.top=rc.bottom; - s_TaskBarEdge=ABE_BOTTOM; - } - else - { - // left - taskbarRect.right=rc.left; - s_TaskBarEdge=ABE_LEFT; - } - } - else if (dx>=0 && dy<0) - { - // top-right corner - s_StartRect.bottom=s_StartRect.top; - s_StartRect.left=s_StartRect.right; - if (rc.top-info.rcMonitor.top>info.rcMonitor.right-rc.right) - { - // top - taskbarRect.bottom=rc.top; - s_TaskBarEdge=ABE_TOP; - } - else - { - // right - taskbarRect.left=rc.right; - s_TaskBarEdge=ABE_RIGHT; - } - } - else - { - // bottom-right corner - s_StartRect.top=s_StartRect.bottom; - s_StartRect.left=s_StartRect.right; - if (info.rcMonitor.bottom-rc.bottom>info.rcMonitor.right-rc.right) - { - // bottom - taskbarRect.top=rc.bottom; - s_TaskBarEdge=ABE_BOTTOM; - } - else - { - // right - taskbarRect.left=rc.right; - s_TaskBarEdge=ABE_RIGHT; - } - } - } - } - else if (s_StartMenuParams.uEdge!=0xFFFFFFFF) - { - s_StartButton=s_StartMenuParams.startButton; - s_TaskBar=s_StartMenuParams.taskbar; - s_TaskBarEdge=s_StartMenuParams.uEdge; - s_MenuLimits=s_StartMenuParams.monitorRect; - s_StartRect=s_StartMenuParams.startButtonRect; - taskbarRect=s_StartMenuParams.taskbarRect; - } - else - { - s_bLockWorkArea=false; - MONITORINFO info={sizeof(info)}; - GetMonitorInfo(s_MenuMonitor,&info); - s_TaskBarEdge=GetTaskbarPosition(s_TaskBar,NULL,NULL,&taskbarRect); - RECT rc=taskbarRect; - LOG_MENU(LOG_OPEN,L"Taskbar Rect: %d, %d, %d, %d",rc.left,rc.top,rc.right,rc.bottom); - { - RECT box; - if (::GetWindowRgnBox(s_TaskBar,&box)) - { - LOG_MENU(LOG_OPEN,L"Taskbar Region: %d, %d, %d, %d",box.left,box.top,box.right,box.bottom); - ::GetWindowRect(s_TaskBar,&rc); - OffsetRect(&box,rc.left,rc.top); - IntersectRect(&rc,&taskbarRect,&box); - } - } - switch (s_TaskBarEdge) - { - case ABE_LEFT: rc.right=info.rcWork.right; break; - case ABE_RIGHT: rc.left=info.rcWork.left; break; - case ABE_TOP: rc.bottom=info.rcWork.bottom; break; - case ABE_BOTTOM: rc.top=info.rcWork.top; break; - } - IntersectRect(&s_MenuLimits,&rc,&info.rcMonitor); - - if (s_StartButton) - { - ::GetWindowRect(s_StartButton,&s_StartRect); - } - else if (s_TaskBar) - { - // no start button. try to guess the rect - if (taskBar->oldButton) - { - ::GetWindowRect(taskBar->oldButton,&s_StartRect); - } - else - { - s_StartRect=taskbarRect; - if (s_TaskBarEdge==ABE_LEFT || s_TaskBarEdge==ABE_RIGHT) - { - ::GetWindowRect(taskBar->rebar,&rc); - s_StartRect.bottom=rc.top; - } - else if (::GetWindowLong(s_TaskBar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL) - s_StartRect.left=s_StartRect.right-(s_StartRect.bottom-s_StartRect.top); - else - s_StartRect.right=s_StartRect.left+(s_StartRect.bottom-s_StartRect.top); - } - } - } - LOG_MENU(LOG_OPEN,L"Main Rect: %d, %d, %d, %d",s_MenuLimits.left,s_MenuLimits.top,s_MenuLimits.right,s_MenuLimits.bottom); - LOG_MENU(LOG_OPEN,L"Start Rect: %d, %d, %d, %d",s_StartRect.left,s_StartRect.top,s_StartRect.right,s_StartRect.bottom); - LOG_MENU(LOG_OPEN,L"Start Button: %08X",s_StartButton); - - s_TipShowTime=400; - s_TipHideTime=4000; - CString delay=GetSettingString(L"InfotipDelay"); - if (!delay.IsEmpty()) - { - wchar_t token[256]; - const wchar_t *str=GetToken(delay,token,_countof(token),L", \t"); - int time=_wtol(token); - if (time>=0) s_TipShowTime=time; - str=GetToken(str,token,_countof(token),L", \t"); - time=_wtol(token); - if (time>=0) s_TipHideTime=time; - } - if (s_TipShowTime>30000) s_TipShowTime=30000; - if (s_TipHideTime>30000) s_TipHideTime=30000; - - s_TipHideTimeFolder=s_TipShowTimeFolder=0; - delay=GetSettingString(L"FolderInfotipDelay"); - if (!delay.IsEmpty()) - { - wchar_t token[256]; - const wchar_t *str=GetToken(delay,token,_countof(token),L", \t"); - int time=_wtol(token); - if (time>=0) s_TipShowTimeFolder=time; - str=GetToken(str,token,_countof(token),L", \t"); - time=_wtol(token); - if (time>=0) s_TipHideTimeFolder=time; - } - if (s_TipShowTimeFolder>30000) s_TipShowTimeFolder=30000; - if (s_TipHideTimeFolder>30000) s_TipHideTimeFolder=30000; - - DWORD animFlags=0; - { - int anim=GetSettingInt(bAllPrograms?L"SubMenuAnimation":L"MainMenuAnimation"); - if (anim==3) animFlags=((rand()m_Options=options; - s_MainMenuLimits=s_MenuLimits; - } - else - { - RECT margin={0,0,0,0}; - AdjustWindowRect(&margin,dwStyle,FALSE); - if (s_Skin.Main_bitmap_slices_X[1]>0) - { - s_Skin.Caption_padding.left+=margin.left; if (s_Skin.Caption_padding.left<0) s_Skin.Caption_padding.left=0; - s_Skin.Caption_padding.top+=margin.top; if (s_Skin.Caption_padding.top<0) s_Skin.Caption_padding.top=0; - s_Skin.Caption_padding.bottom-=margin.bottom; if (s_Skin.Caption_padding.bottom<0) s_Skin.Caption_padding.bottom=0; - } - else - { - // no caption - s_Skin.Main_padding.left+=margin.left; if (s_Skin.Main_padding.left<0) s_Skin.Main_padding.left=0; - if (s_Skin.Main2_padding.left>=0) - { - s_Skin.Main2_padding.left+=margin.left; if (s_Skin.Main2_padding.left<0) s_Skin.Main2_padding.left=0; - } - } - s_Skin.Main_padding.right-=margin.right; if (s_Skin.Main_padding.right<0) s_Skin.Main_padding.right=0; - s_Skin.Main_padding.top+=margin.top; if (s_Skin.Main_padding.top<0) s_Skin.Main_padding.top=0; - s_Skin.Main_padding.bottom-=margin.bottom; if (s_Skin.Main_padding.bottom<0) s_Skin.Main_padding.bottom=0; - if (s_Skin.Main2_padding.left>=0) - { - s_Skin.Main2_padding.right-=margin.right; if (s_Skin.Main2_padding.right<0) s_Skin.Main2_padding.right=0; - s_Skin.Main2_padding.top+=margin.top; if (s_Skin.Main2_padding.top<0) s_Skin.Main2_padding.top=0; - s_Skin.Main2_padding.bottom-=margin.bottom; if (s_Skin.Main2_padding.bottom<0) s_Skin.Main2_padding.bottom=0; - } - if (s_bWin7Style) - { - s_Skin.Main_search_padding.left+=margin.left; if (s_Skin.Main_search_padding.left<0) s_Skin.Main_search_padding.left=0; - s_Skin.Main_search_padding.right-=margin.right; if (s_Skin.Main_search_padding.right<0) s_Skin.Main_search_padding.right=0; - s_Skin.Main_search_padding.top+=margin.top; if (s_Skin.Main_search_padding.top<0) s_Skin.Main_search_padding.top=0; - s_Skin.Main_search_padding.bottom-=margin.bottom; if (s_Skin.Main_search_padding.bottom<0) s_Skin.Main_search_padding.bottom=0; - - s_Skin.Main_jump_padding.right-=margin.right; if (s_Skin.Main_jump_padding.right<0) s_Skin.Main_jump_padding.right=0; - s_Skin.Main_jump_padding.top+=margin.top; if (s_Skin.Main_jump_padding.top<0) s_Skin.Main_jump_padding.top=0; - s_Skin.Main_jump_padding.bottom-=margin.bottom; if (s_Skin.Main_jump_padding.bottom<0) s_Skin.Main_jump_padding.bottom=0; - } - - if (!bTheme) - memset(&margin,0,sizeof(margin)); // in Classic mode don't offset the main menu by the border size - - // determine options - if (s_TaskBarEdge==ABE_LEFT || s_TaskBarEdge==ABE_RIGHT || s_TaskBarEdge==ABE_TOP) - { - options|=CONTAINER_TOP; - animFlags|=AW_VER_POSITIVE; - } - else - { - animFlags|=AW_VER_NEGATIVE; - } - - if (s_StartRect.right+s_StartRect.leftm_Options=options; - - s_MainMenuLimits=pStartMenu->CalculateWorkArea(taskbarRect); - corner=pStartMenu->CalculateCorner(); - } - - // reposition start menu - if (bTopMost || !s_bBehindTaskbar) - animFlags|=AW_TOPMOST; - pStartMenu->SetWindowPos((animFlags&AW_TOPMOST)?HWND_TOPMOST:HWND_TOP,corner.x,corner.y,0,0,(initialMonitor!=s_MenuMonitor && !bAllPrograms)?SWP_NOMOVE|SWP_NOSIZE:0); - - pStartMenu->InitItems(); - pStartMenu->m_MaxWidth=s_MainMenuLimits.right-s_MainMenuLimits.left; - g_ItemManager.UpdateNewPrograms(CPoint((s_StartRect.left+s_StartRect.right)/2,(s_StartRect.top+s_StartRect.bottom)/2)); - - pStartMenu->InitWindow(); - pStartMenu->SetHotItem((bKeyboard && bAllPrograms)?0:-1); - bool bTreeSelected=false; - if (s_bWin7Style && GetSettingInt(L"ProgramsStyle")==PROGRAMS_INLINE && GetSettingBool(L"OpenPrograms")) - { - pStartMenu->SetMenuMode(MODE_PROGRAMS); - if (pStartMenu->m_SearchIndex<0 || GetSettingInt(L"SearchBox")!=SEARCHBOX_NORMAL || !GetSettingBool(L"SearchSelect")) - { - bTreeSelected=true; - pStartMenu->SetHotItem(pStartMenu->m_ProgramTreeIndex,false,false); - } - } - - if (bAllPrograms) - { - ::InvalidateRect(g_ProgramsButton,NULL,TRUE); - ::UpdateWindow(g_ProgramsButton); - } - - BOOL animate; - if ((animFlags&(AW_BLEND|AW_SLIDE))==0) - animate=FALSE; - else - SystemParametersInfo(SPI_GETMENUANIMATION,NULL,&animate,0); - - if (s_TaskBar && s_bBehindTaskbar) - ::SetWindowPos(s_TaskBar,bTopMost?HWND_TOPMOST:HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE); // bring the start button on top - - int speed=0; - if (animate) - { - speed=GetSettingInt(bAllPrograms?L"SubMenuAnimationSpeed":L"MainMenuAnimationSpeed"); - if (speed<=0) speed=MENU_ANIM_SPEED; - else if (speed>=10000) speed=10000; - } - { - RECT rc; - pStartMenu->GetWindowRect(&rc); - pStartMenu->AnimateMenu(animFlags,speed,rc); - } - - s_bOverrideFirstDown=false; - if (pStartMenu->m_SearchIndex>=0 && GetSettingInt(L"SearchBox")==SEARCHBOX_NORMAL && GetSettingBool(L"SearchSelect")) - { - pStartMenu->ActivateItem(pStartMenu->m_SearchIndex,ACTIVATE_SELECT,NULL); - if (pStartMenu->m_bTwoColumns && pStartMenu->m_Items[pStartMenu->m_SearchIndex].column==0 && pStartMenu->m_SearchIndex+1<(int)pStartMenu->m_Items.size() && pStartMenu->m_Items[pStartMenu->m_SearchIndex+1].column==1) - s_bOverrideFirstDown=true; - } - else if (!bTreeSelected) - { - pStartMenu->SetFocus(); - if (!bAllPrograms) - pStartMenu->SetHotItem(-1); - } - SetForegroundWindow(pStartMenu->m_hWnd); - SwitchToThisWindow(pStartMenu->m_hWnd,FALSE); // just in case - if (s_TaskBar && s_bBehindTaskbar) - { - // position the start button on top - if (s_StartButton) - ::SetWindowPos(s_StartButton,bTopMost?HWND_TOPMOST:HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE); - // position the start menu behind the taskbar - pStartMenu->SetWindowPos(s_TaskBar,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE); - } - if (bErr && GetSettingBool(L"ReportSkinErrors") && !*MenuSkin::s_SkinError) - { - Strcpy(MenuSkin::s_SkinError,_countof(MenuSkin::s_SkinError),LoadStringEx(IDS_SKIN_ERR_UNKNOWN)); - } - if (*MenuSkin::s_SkinError && GetSettingBool(L"ReportSkinErrors") && s_StartButton) - { - Strcat(MenuSkin::s_SkinError,_countof(MenuSkin::s_SkinError),LoadStringEx(IDS_SKIN_ERR_DISABLE)); - s_TooltipBalloon=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|(s_bRTL?WS_EX_LAYOUTRTL:0),TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_BALLOON|TTS_CLOSE|TTS_NOPREFIX,0,0,0,0,pStartMenu->m_hWnd,NULL,g_Instance,NULL); - s_TooltipBalloon.SendMessage(TTM_SETMAXTIPWIDTH,0,500); - TOOLINFO tool={sizeof(tool),TTF_TRANSPARENT|TTF_TRACK|(s_bRTL?TTF_RTLREADING:0U)}; - tool.uId=1; - tool.lpszText=MenuSkin::s_SkinError; - s_TooltipBalloon.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - if (bErr) - { - s_TooltipBalloon.SendMessage(TTM_SETTITLE,TTI_ERROR,(LPARAM)(const wchar_t*)LoadStringEx(IDS_SKIN_ERR)); - } - else - { - s_TooltipBalloon.SendMessage(TTM_SETTITLE,TTI_WARNING,(LPARAM)(const wchar_t*)LoadStringEx(IDS_SKIN_WARN)); - } - RECT rc; - ::GetWindowRect(s_StartButton,&rc); - s_TooltipBalloon.SendMessage(TTM_TRACKPOSITION,0,MAKELONG((rc.left+rc.right)/2,(rc.top+rc.bottom)/2)); - s_TooltipBalloon.SendMessage(TTM_TRACKACTIVATE,TRUE,(LPARAM)&tool); - pStartMenu->SetTimer(TIMER_BALLOON_HIDE,10000); - } - CheckForNewVersion(NULL,COMPONENT_MENU,CHECK_AUTO,NewVersionCallback); - - return pStartMenu->m_hWnd; -} - -bool CMenuContainer::ProcessMouseMessage( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) -{ - if (uMsg==WM_MOUSEMOVE) - { - if (!s_bAllPrograms) - return false; - if (hwnd && hwnd==g_ProgramsButton) - return true; - for (std::vector::const_iterator it=s_Menus.begin();it!=s_Menus.end();++it) - if ((*it)->m_hWnd==hwnd && (*it)->m_ContextItem<0) - { - (*it)->SendMessage(WM_MOUSEMOVE,wParam,lParam); - return true; - } - } - if (uMsg==WM_MOUSEHOVER) - { - if (hwnd && hwnd==g_ProgramsButton && GetSettingBool(L"CascadeAll")) - return true; - if (!s_bAllPrograms) - return false; - for (std::vector::const_iterator it=s_Menus.begin();it!=s_Menus.end();++it) - if ((*it)->m_hWnd==hwnd) - return false; - // if the mouse hovers over some window, close the menus - CloseSubMenus(0,NULL); - ::ShowWindow(g_UserPic,SW_SHOW); - CPoint pt(GetMessagePos()); - RECT rc; - ::GetWindowRect(g_TopWin7Menu,&rc); - if (PtInRect(&rc,pt)) - { - ::ScreenToClient(g_TopWin7Menu,&pt); - ::PostMessage(g_TopWin7Menu,WM_MOUSEMOVE,0,MAKELONG(pt.x,pt.y)); - } - return false; - } - return false; -} - -// Win7 stuff -void CMenuContainer::SetMenuMode( TMenuMode mode, bool bKeyboard ) -{ - if (mode==s_MenuMode) return; - InitializeOldState(); - - if (mode==MODE_SEARCH) - { - // switch to search - delete all additional items - ClearItems(m_Items.begin()+m_OriginalCount,m_Items.end()); - } - if (s_MenuMode==MODE_SEARCH) - { - // switch from search - restore scroll count - m_ScrollCount=m_OriginalScrollCount; - } - - s_MenuMode=mode; - - s_bOverrideFirstDown=false; - if (s_OldMenuState.mode==MODE_PROGRAMS) - { - // hide programs tree - m_pProgramsTree->ShowWindow(SW_HIDE); - s_ProgramsScrollPos=m_pProgramsTree->GetScrollPos(SB_VERT); - } - - if (s_MenuMode==MODE_JUMPLIST) - { - // from any to jumplist - InitWindow(); - if (bKeyboard) - { - for (int i=m_OriginalCount;i<(int)m_Items.size();i++) - { - if (m_Items[i].jumpIndex>=0) - { - SetHotItem(i); - break; - } - } - } - else - SetHotItem(-1); - } - else if (s_MenuMode==MODE_SEARCH) - { - // from any to search - InitWindow(); - s_SearchMenu=m_hWnd; - } - else if (s_OldMenuState.mode==MODE_JUMPLIST || s_OldMenuState.mode==MODE_SEARCH) - { - // from search and jumplist to program or normal - if (m_bRefreshItems) - InitItems(); - else - ClearItems(m_Items.begin()+m_OriginalCount,m_Items.end()); - s_JumpAppInfo=NULL; - int hotItem=m_HotItem; - InitWindow(); - if (s_UserPicture.m_hWnd && s_UserPictureRect.top=m_OriginalCount) - { - s_OldMenuState.hotItem=m_SubJumpItem; - s_OldMenuState.bHotArrow=true; - SetHotItem(m_SubJumpItem); - } - else - SetHotItem(hotItem); - } - m_SubJumpItem=-1; - s_SearchMenu=NULL; - } - else - { - InvalidateRect(&m_rContent); - } - - if (s_MenuMode==MODE_PROGRAMS) - { - for (std::vector::reverse_iterator it=s_Menus.rbegin();*it!=this;++it) - if (!(*it)->m_bDestroyed) - (*it)->PostMessage(WM_CLOSE); - - // initialize programs tree - MenuItem &item=m_Items[m_ProgramTreeIndex]; - item.itemRect=m_rContent; - item.itemRect.bottom=m_Items[m_ProgramTreeIndex+1].itemRect.top; - bool bNewTree=!m_pProgramsTree; - if (bNewTree) - { - m_pProgramsTree=new CProgramsTree(); - m_pProgramsTree->Create(this); - m_pProgramsTree->CreateItems(); - } - SetHotItem(m_ProgramTreeIndex); - RECT rc; - m_pProgramsTree->GetWindowRect(&rc); - int dh=rc.bottom-rc.top; - m_pProgramsTree->GetClientRect(&rc); - dh-=rc.bottom; - int itemHeight=TreeView_GetItemHeight(m_pProgramsTree->m_hWnd); - rc=item.itemRect; - int h=rc.bottom-rc.top; - int n=(h-dh)/itemHeight; - rc.bottom=rc.top+n*itemHeight+dh; - m_pProgramsTree->SetWindowPos(NULL,&rc,SWP_NOZORDER|SWP_NOACTIVATE); - if (bNewTree) - { - for (int i=0;iSendMessage(WM_VSCROLL,SB_LINEDOWN); // using SetSrollPos doesn't quite work because the contents are not scrolled during WM_PRINT - } - - ULONGLONG curTime; - GetSystemTimeAsFileTime((FILETIME*)&curTime); - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StarMenu",KEY_WRITE)!=ERROR_SUCCESS) - regKey.Create(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu"); - regKey.SetQWORDValue(L"LastProgramsTime",curTime); - if (s_OldMenuState.mode!=MODE_SEARCH) - m_pProgramsTree->SetFocus(); - TreeView_SelectItem(m_pProgramsTree->m_hWnd,NULL); - } - - if (m_Bitmap) - { - DeleteObject(m_Bitmap); - m_Bitmap=NULL; - } - if (s_UserPicture.m_hWnd && s_MenuMode!=MODE_NORMAL && s_MenuMode!=MODE_PROGRAMS) - s_UserPicture.SetWindowPos(NULL,0,0,0,0,SWP_NOZORDER|SWP_NOSIZE|SWP_NOMOVE|SWP_HIDEWINDOW|SWP_NOACTIVATE); - if (!m_bClosing && s_Skin.Main_opacity!=MenuSkin::OPACITY_SOLID && GetSettingBool(L"MainMenuAnimate") && IsWindowVisible()) - AnimateBackground(); - else - { - int tw, th; - CreateBackground(s_BackgroundW1,s_BackgroundW2,s_BackgroundH1,s_BackgroundH2,tw,th,true); - OffsetRect(&m_rContent,m_BitmapOffset,0); - OffsetRect(&m_rContent2,m_BitmapOffset,0); - if (m_Region && !s_bRTL) - OffsetRgn(m_Region,m_BitmapOffset,0); - if (m_SearchBox.m_hWnd && m_SearchIndex>=0) - { - RECT itemRect; - GetItemRect(m_SearchIndex,itemRect); - itemRect.right-=(itemRect.bottom-itemRect.top); - if (!s_Skin.Search_frame) - InflateRect(&itemRect,-1,-3); - m_SearchBox.SetWindowPos(NULL,&itemRect,SWP_NOZORDER); - } - Invalidate(); - ApplyRegion(TRUE); - } - - if (s_MenuMode==MODE_PROGRAMS) - { - // show programs tree - m_pProgramsTree->ShowWindow(SW_SHOW); - if (s_OldMenuState.mode!=MODE_SEARCH) - m_pProgramsTree->SetFocus(); - m_pProgramsTree->RedrawWindow(); - } - if (s_UserPicture.m_hWnd && (s_MenuMode==MODE_NORMAL || s_MenuMode==MODE_PROGRAMS) && !m_bClosing && IsWindowVisible()) - s_UserPicture.SetWindowPos(NULL,0,0,0,0,SWP_NOZORDER|SWP_NOSIZE|SWP_NOMOVE|SWP_SHOWWINDOW|SWP_NOACTIVATE); - ClearOldState(); -} - -void CMenuContainer::AnimateBackground( void ) -{ - TMenuMode newMode=s_MenuMode; - int newHotItem=m_HotItem; - bool bNewHotArrow=m_bHotArrow; - int width1=s_OldMenuState.mode==MODE_JUMPLIST?s_MenuWidthJump:s_MenuWidthNormal; - int width2=s_MenuMode==MODE_JUMPLIST?s_MenuWidthJump:s_MenuWidthNormal; - - int totalDW=width2-width1; - int totalDX=m_BitmapOffset-s_OldMenuState.bitmapOffset; - m_BitmapOffset=s_OldMenuState.bitmapOffset; - m_rMenu.left=m_BitmapOffset; - m_rMenu.right=m_rMenu.left+width1; - - for (std::vector::iterator it=m_Items.begin();it!=m_Items.end();++it) - { - if (it->column==1 && it->id!=MENU_SHUTDOWN_BUTTON) - it->itemRect.right-=totalDW; - OffsetRect(&it->itemRect,-totalDX,0); - } - - LARGE_INTEGER time0; - QueryPerformanceCounter(&time0); - LARGE_INTEGER freq; - QueryPerformanceFrequency(&freq); - - unsigned int *bits1=NULL, *bits2=NULL; - HBITMAP bitmap1=NULL, bitmap2=NULL; - - int oldDW=0, oldDX=0; - HDC hDst=CreateCompatibleDC(NULL); - if (s_bRTL) SetLayout(hDst,LAYOUT_RTL); - HGDIOBJ bmp0=GetCurrentObject(hDst,OBJ_BITMAP); - int step=25; - for (s_OldMenuState.blend=step;s_OldMenuState.blend<100;s_OldMenuState.blend+=step) - { - int dx=(totalDX*s_OldMenuState.blend)/100; - int dw=(totalDW*s_OldMenuState.blend)/100; - - int ddw=dw-oldDW; oldDW=dw; - int ddx=dx-oldDX; oldDX=dx; - - for (std::vector::iterator it=m_Items.begin();it!=m_Items.end();++it) - { - if (it->column==1 && it->id!=MENU_SHUTDOWN_BUTTON) - it->itemRect.right+=ddw; - OffsetRect(&it->itemRect,ddx,0); - } - - for (std::vector::iterator it=s_OldMenuState.items.begin();it!=s_OldMenuState.items.end();++it) - { - if (it->column==1 && it->id!=MENU_SHUTDOWN_BUTTON) - it->itemRect.right+=ddw; - OffsetRect(&it->itemRect,ddx,0); - } - - if (ddx && s_MenuMode==MODE_PROGRAMS) - { - RECT rc; - m_pProgramsTree->GetWindowRect(&rc); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&rc,2); - m_pProgramsTree->SetWindowPos(NULL,rc.left+ddx,rc.top,0,0,SWP_NOZORDER|SWP_NOSIZE); - } - if (m_SearchBox.m_hWnd && m_SearchIndex>=0) - { - RECT itemRect; - GetItemRect(m_SearchIndex,itemRect); - itemRect.right-=(itemRect.bottom-itemRect.top); - if (!s_Skin.Search_frame) - InflateRect(&itemRect,-1,-3); - m_SearchBox.SetWindowPos(NULL,&itemRect,SWP_NOZORDER); - } - - m_BitmapOffset+=ddx; - m_rMenu.left=m_BitmapOffset; - m_rMenu.right=m_rMenu.left+width1+dw; - - BITMAPINFO dib={sizeof(dib)}; - dib.bmiHeader.biWidth=(m_rMenu.right-m_rMenu.left); - dib.bmiHeader.biHeight=-(m_rMenu.bottom-m_rMenu.top); - dib.bmiHeader.biPlanes=1; - dib.bmiHeader.biBitCount=32; - dib.bmiHeader.biCompression=BI_RGB; - - // draw old menu - s_MenuMode=s_OldMenuState.mode; - m_HotItem=s_OldMenuState.hotItem; - m_bHotArrow=s_OldMenuState.bHotArrow; - m_Items.swap(s_OldMenuState.items); - - int tw, th; - HBITMAP bmp1=bitmap1; - RECT rContentA1, rContentB1; - if (!bmp1) - { - Assert(!m_Bitmap); - CreateBackground(s_OldMenuState.w1,s_OldMenuState.w2+dw,s_OldMenuState.h1,s_OldMenuState.h2,tw,th,false); - Assert(tw==m_rMenu.right-m_rMenu.left && th==m_rMenu.bottom-m_rMenu.top); - rContentA1=m_rContent; - rContentB1=m_rContent2; - OffsetRect(&m_rContent,m_BitmapOffset,0); - OffsetRect(&m_rContent2,m_BitmapOffset,0); - - bmp1=CreateDIBSection(hDst,&dib,DIB_RGB_COLORS,(void**)&bits1,NULL,0); - SelectObject(hDst,bmp1); - SetViewportOrgEx(hDst,-m_BitmapOffset,0,NULL); - DrawBackground(hDst,m_rMenu); - if (s_MenuMode==MODE_PROGRAMS) - { - RECT rc; - m_pProgramsTree->GetWindowRect(&rc); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&rc,2); - SetViewportOrgEx(hDst,rc.left-m_BitmapOffset,rc.top,NULL); - m_pProgramsTree->GetClientRect(&rc); - m_pProgramsTree->DrawTree(hDst,rc); - m_pProgramsTree->Print(hDst,PRF_NONCLIENT); - } - if (m_Bitmap) - DeleteObject(m_Bitmap); - m_Bitmap=NULL; - SetViewportOrgEx(hDst,0,0,NULL); - SelectObject(hDst,bmp0); - if (totalDW==0) - bitmap1=bmp1; - } - else - { - CreateContentRects(s_OldMenuState.w1,s_OldMenuState.w2+dw,s_OldMenuState.h1,s_OldMenuState.h2,tw,th); - rContentA1=m_rContent; - rContentB1=m_rContent2; - OffsetRect(&m_rContent,m_BitmapOffset,0); - OffsetRect(&m_rContent2,m_BitmapOffset,0); - } - bool bOpaqueA1=(s_Skin.Main_opacity==MenuSkin::OPACITY_GLASS || s_Skin.Main_opacity==MenuSkin::OPACITY_ALPHA); - bool bOpaqueB1=(s_Skin.Main2_opacity==MenuSkin::OPACITY_GLASS || s_Skin.Main2_opacity==MenuSkin::OPACITY_ALPHA); - if (s_MenuMode==MODE_JUMPLIST) - bOpaqueB1=(s_Skin.Jumplist_opacity==MenuSkin::OPACITY_GLASS || s_Skin.Jumplist_opacity==MenuSkin::OPACITY_ALPHA); - - // draw new menu - s_MenuMode=newMode; - m_HotItem=newHotItem; - m_bHotArrow=bNewHotArrow; - m_Items.swap(s_OldMenuState.items); - - HBITMAP bmp2=bitmap2; - RECT rContentA2, rContentB2; - if (!bmp2) - { - if (s_BackgroundW2>0) - CreateBackground(s_BackgroundW1,s_BackgroundW2+dw-totalDW,s_BackgroundH1,s_BackgroundH2,tw,th,true); - else - CreateBackground(s_BackgroundW1+dw-totalDW,s_BackgroundW2,s_BackgroundH1,s_BackgroundH2,tw,th,true); - Assert(tw==m_rMenu.right-m_rMenu.left && th==m_rMenu.bottom-m_rMenu.top); - rContentA2=m_rContent; - rContentB2=m_rContent2; - OffsetRect(&m_rContent,m_BitmapOffset,0); - OffsetRect(&m_rContent2,m_BitmapOffset,0); - - bmp2=CreateDIBSection(hDst,&dib,DIB_RGB_COLORS,(void**)&bits2,NULL,0); - SelectObject(hDst,bmp2); - SetViewportOrgEx(hDst,-m_BitmapOffset,0,NULL); - DrawBackground(hDst,m_rMenu); - if (s_MenuMode==MODE_PROGRAMS) - { - RECT rc; - m_pProgramsTree->GetWindowRect(&rc); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&rc,2); - SetViewportOrgEx(hDst,rc.left-m_BitmapOffset,rc.top,NULL); - m_pProgramsTree->GetClientRect(&rc); - m_pProgramsTree->DrawTree(hDst,rc); - m_pProgramsTree->Print(hDst,PRF_NONCLIENT); - } - if (m_Bitmap) - DeleteObject(m_Bitmap); - m_Bitmap=NULL; - SetViewportOrgEx(hDst,0,0,NULL); - SelectObject(hDst,bmp0); - if (totalDW==0) - bitmap2=bmp2; - - if (m_Region && !s_bRTL) - OffsetRgn(m_Region,m_BitmapOffset,0); - } - else - { - if (s_BackgroundW2>0) - CreateContentRects(s_BackgroundW1,s_BackgroundW2+dw-totalDW,s_BackgroundH1,s_BackgroundH2,tw,th); - else - CreateContentRects(s_BackgroundW1+dw-totalDW,s_BackgroundW2,s_BackgroundH1,s_BackgroundH2,tw,th); - rContentA2=m_rContent; - rContentB2=m_rContent2; - OffsetRect(&m_rContent,m_BitmapOffset,0); - OffsetRect(&m_rContent2,m_BitmapOffset,0); - } - - bool bOpaqueA2=(s_Skin.Main_opacity==MenuSkin::OPACITY_GLASS || s_Skin.Main_opacity==MenuSkin::OPACITY_ALPHA); - bool bOpaqueB2=(s_Skin.Main2_opacity==MenuSkin::OPACITY_GLASS || s_Skin.Main2_opacity==MenuSkin::OPACITY_ALPHA); - if (s_MenuMode==MODE_JUMPLIST) - bOpaqueB2=(s_Skin.Jumplist_opacity==MenuSkin::OPACITY_GLASS || s_Skin.Jumplist_opacity==MenuSkin::OPACITY_ALPHA); - - if (s_bRTL) - { - int q; - q=rContentA1.right; - rContentA1.right=dib.bmiHeader.biWidth-rContentA1.left; - rContentA1.left=dib.bmiHeader.biWidth-q; - q=rContentB1.right; - rContentB1.right=dib.bmiHeader.biWidth-rContentB1.left; - rContentB1.left=dib.bmiHeader.biWidth-q; - q=rContentA2.right; - rContentA2.right=dib.bmiHeader.biWidth-rContentA2.left; - rContentA2.left=dib.bmiHeader.biWidth-q; - q=rContentB2.right; - rContentB2.right=dib.bmiHeader.biWidth-rContentB2.left; - rContentB2.left=dib.bmiHeader.biWidth-q; - } - - Assert(!m_Bitmap); - unsigned int *bits3; - m_Bitmap=CreateDIBSection(hDst,&dib,DIB_RGB_COLORS,(void**)&bits3,NULL,0); - - // blend - int blend2=s_OldMenuState.blend; - int blend1=100-blend2; - for (int y=0,i=0;y<-dib.bmiHeader.biHeight;y++) - { - for (int x=0;x>8)&255; - int b1=(pixel1>>16)&255; - int a1=pixel1>>24; - if ((bOpaqueA1 && x>=rContentA1.left && x=rContentA1.top && y=rContentB1.left && x=rContentB1.top && y>8)&255; - int b2=(pixel2>>16)&255; - int a2=pixel2>>24; - if ((bOpaqueA2 && x>=rContentA2.left && x=rContentA2.top && y=rContentB2.left && x=rContentB2.top && y::iterator it=m_Items.begin();it!=m_Items.end();++it) - { - if (it->column==1 && it->id!=MENU_SHUTDOWN_BUTTON) - it->itemRect.right+=ddw; - OffsetRect(&it->itemRect,ddx,0); - } - if (ddx && s_MenuMode==MODE_PROGRAMS) - { - RECT rc; - m_pProgramsTree->GetWindowRect(&rc); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&rc,2); - m_pProgramsTree->SetWindowPos(NULL,rc.left+ddx,rc.top,0,0,SWP_NOZORDER|SWP_NOSIZE); - } - if (m_SearchBox.m_hWnd && m_SearchIndex>=0) - { - RECT itemRect; - GetItemRect(m_SearchIndex,itemRect); - itemRect.right-=(itemRect.bottom-itemRect.top); - if (!s_Skin.Search_frame) - InflateRect(&itemRect,-1,-3); - m_SearchBox.SetWindowPos(NULL,&itemRect,SWP_NOZORDER); - } - - m_BitmapOffset+=ddx; - m_rMenu.left=m_BitmapOffset; - m_rMenu.right=m_rMenu.left+width2; - int tw, th; - CreateBackground(s_BackgroundW1,s_BackgroundW2,s_BackgroundH1,s_BackgroundH2,tw,th,true); - OffsetRect(&m_rContent,m_BitmapOffset,0); - OffsetRect(&m_rContent2,m_BitmapOffset,0); - if (m_Region && !s_bRTL) - OffsetRgn(m_Region,m_BitmapOffset,0); - - Invalidate(); - ApplyRegion(TRUE); -} - -void CMenuContainer::InitializeOldState( void ) -{ - s_OldMenuState.mode=s_MenuMode; - s_OldMenuState.w1=s_BackgroundW1; - s_OldMenuState.w2=s_BackgroundW2; - s_OldMenuState.h1=s_BackgroundH1; - s_OldMenuState.h2=s_BackgroundH2; - s_OldMenuState.bitmapOffset=m_BitmapOffset; - s_OldMenuState.hotItem=m_HotItem; - s_OldMenuState.bHotArrow=m_bHotArrow; - s_OldMenuState.items.resize(m_Items.size()); - for (size_t i=0;i=0) - { - SetHotItem(i); - break; - } - } - } - else - SetHotItem(-1); - } - else - SetMenuMode(MODE_JUMPLIST,bKeyboard); -} - -void CMenuContainer::OpenSearchList( void ) -{ - s_PreSearchMenuMode=s_MenuMode==MODE_PROGRAMS?MODE_PROGRAMS:MODE_NORMAL; - SetMenuMode(MODE_SEARCH); -} diff --git a/Src/StartMenu/StartMenuDLL/MenuContainer.h b/Src/StartMenu/StartMenuDLL/MenuContainer.h deleted file mode 100644 index 3fcb048..0000000 --- a/Src/StartMenu/StartMenuDLL/MenuContainer.h +++ /dev/null @@ -1,1143 +0,0 @@ -// 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 "SkinManager.h" -#include "JumpLists.h" -#include "ItemManager.h" -#include "SearchManager.h" -#include "DragDrop.h" -#include "TouchHelper.h" -#include -#include -#include - -//#define PREVENT_CLOSING // define this to prevent the menu from closing when it is deactivated (useful for debugging) -//#define REPEAT_ITEMS 10 // define this to repeat each menu item (useful to simulate large menus) -//#define REPEAT_JUMPLIST_ITEMS 2 // define this to repeat jumplist items (useful to simulate large menus) - -#ifdef BUILD_SETUP -#undef PREVENT_CLOSING // make sure it is defined in Setup -#undef REPEAT_ITEMS -#undef REPEAT_JUMPLIST_ITEMS -#endif - -enum TRecentPrograms; - -enum TMenuID -{ - MENU_NO=0, - MENU_LAST=0, - MENU_SEPARATOR, - MENU_EMPTY, - MENU_EMPTY_TOP, - MENU_RECENT, - MENU_JUMPITEM, - MENU_COLUMN_PADDING, - MENU_COLUMN_BREAK, - MENU_PROGRAMS_TREE, - - // standard menu items - MENU_PROGRAMS, - MENU_APPS, - MENU_COMPUTER, - MENU_FAVORITES, - MENU_DOCUMENTS, - MENU_USERFILES, - MENU_USERDOCUMENTS, - MENU_USERPICTURES, - MENU_SETTINGS, - MENU_CONTROLPANEL, - MENU_PCSETTINGS, - MENU_NETWORK, - MENU_SECURITY, - MENU_PRINTERS, - MENU_TASKBAR, - MENU_FEATURES, - MENU_CLASSIC_SETTINGS, - MENU_SEARCH, - MENU_SEARCH_FILES, - MENU_SEARCH_PRINTER, - MENU_SEARCH_COMPUTERS, - MENU_SEARCH_PEOPLE, - MENU_HELP, - MENU_RUN, - MENU_LOGOFF, - MENU_DISCONNECT, - MENU_UNDOCK, - MENU_MONITOROFF, - MENU_SHUTDOWN_BOX, - MENU_SHUTDOWN_BUTTON, - - // additional commands - MENU_CUSTOM, // used for any custom item - MENU_SLEEP, - MENU_HIBERNATE, - MENU_RESTART, - MENU_SHUTDOWN, - MENU_SWITCHUSER, - MENU_LOCK, - MENU_RECENT_PROGRAMS, - MENU_SEARCH_BOX, - MENU_SEARCH_CATEGORY, - MENU_SEARCH_EXECUTE, - MENU_SEARCH_EMPTY, - MENU_MORE_RESULTS, - MENU_SEARCH_INTERNET, - MENU_SEARCH_PROVIDER, - - // internal commands - MENU_SEARCH_FILES_CUSTOM, - MENU_LOGOFF_CONFIRM, - MENU_RESTART_ADVANCED, - MENU_RESTART_UPDATE, - MENU_SHUTDOWN_UPDATE, - MENU_RESTART_NOUPDATE, - MENU_SHUTDOWN_NOUPDATE, - MENU_SHUTDOWN_HYBRID, - - MENU_IGNORE=1024, // ignore this item -}; - -struct StdMenuItem -{ - const wchar_t *command; - TMenuID id; - const KNOWNFOLDERID *folder1; // NULL if not used - const KNOWNFOLDERID *folder2; // NULL if not used - - const wchar_t *label; // localization key - const wchar_t *tip; // default tooltip - const wchar_t *iconPath; - const wchar_t *link; - unsigned int settings; - const StdMenuItem *submenu; - CString labelString, tipString; // additional storage for the strings - - // user settings - enum - { - MENU_OPENUP = 0x000001, // prefer to open up - MENU_OPENUP_REC = 0x000002, // children prefer to open up - MENU_SORTZA = 0x000004, // sort backwards - MENU_SORTZA_REC = 0x000008, // children sort backwards - MENU_SORTONCE = 0x000010, // save the sort order the first time the menu is opened - MENU_ITEMS_FIRST = 0x000020, // place the custom items before the folder items - MENU_TRACK = 0x000040, // track shortcuts from this menu - MENU_NOTRACK = 0x000080, // don't track shortcuts from this menu - MENU_NOEXPAND = 0x000100, // don't expand this link item - MENU_SINGLE_EXPAND = 0x000200, // expand only one level - MENU_MULTICOLUMN = 0x000400, // make this item a multi-column item - MENU_NOEXTENSIONS = 0x000800, // hide extensions - MENU_INLINE = 0x001000, // inline sub-items in the parent menu - MENU_SPLIT_BUTTON = 0x002000, // the item is drawn as a split button - MENU_ITEM_DISABLED = 0x004000, // the item is disabled - MENU_NORECENT = 0x008000, // don't show recent items in the root menu (because a sub-menu uses MENU_RECENT_ITEMS) - - // style - MENU_STYLE_CLASSIC1 = 0x100000, - MENU_STYLE_CLASSIC2 = 0x200000, - MENU_STYLE_MASK = MENU_STYLE_CLASSIC1|MENU_STYLE_CLASSIC2, - }; -}; - -struct SpecialFolder -{ - const KNOWNFOLDERID *folder; - unsigned int settings; - wchar_t PATH[_MAX_PATH]; - - enum - { - FOLDER_NOSUBFOLDERS=1, // don't show the subfolders of this folder - FOLDER_NONEWFOLDER=2, // don't show the "New Folder" command - FOLDER_NODROP=4, // don't allow reordering, don't show "Sort" and "Auto Arrange" (also implies FOLDER_NONEWFOLDER) - FOLDER_NOPATH=8, // don't trust the child parsing names - }; -}; - -extern SpecialFolder g_SpecialFolders[]; -void InitializeSpecialFolders( void ); - -class CMenuAccessible; -class CProgramsTree; -class CMenuContainer; - -#ifndef __IFrameworkInputPane_INTERFACE_DEFINED__ - -MIDL_INTERFACE("226C537B-1E76-4D9E-A760-33DB29922F18") -IFrameworkInputPaneHandler : public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Showing( RECT *prcInputPaneScreenLocation, BOOL fEnsureFocusedElementInView ) = 0; - virtual HRESULT STDMETHODCALLTYPE Hiding( BOOL fEnsureFocusedElementInView ) = 0; -}; - -MIDL_INTERFACE("5752238B-24F0-495A-82F1-2FD593056796") -IFrameworkInputPane: public IUnknown -{ -public: - virtual HRESULT STDMETHODCALLTYPE Advise( IUnknown *pWindow, IFrameworkInputPaneHandler *pHandler, DWORD *pdwCookie ) = 0; - virtual HRESULT STDMETHODCALLTYPE AdviseWithHWND( HWND hwnd, IFrameworkInputPaneHandler *pHandler, DWORD *pdwCookie ) = 0; - virtual HRESULT STDMETHODCALLTYPE Unadvise( DWORD dwCookie ) = 0; - virtual HRESULT STDMETHODCALLTYPE Location( RECT *prcInputPaneScreenLocation ) = 0; -}; - -#endif - -// CUserWindow - implementation for the user picture window -class CUserWindow: public CWindowImpl -{ -public: - CUserWindow( void ) { m_pOwner=NULL; m_Bits=NULL; m_bDefaultImage=true; m_Bitmap=m_UserBitmap=m_TimerBitmap=NULL; m_Timer=0; m_Size.cx=m_Size.cy=0; } - DECLARE_WND_CLASS_EX(L"OpenShell.CUserWindow",0,COLOR_MENU) - - // message handlers - BEGIN_MSG_MAP( CUserWindow ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_MOUSEACTIVATE, OnMouseActivate ) - MESSAGE_HANDLER( WM_NCHITTEST, OnNcHitTest ) - MESSAGE_HANDLER( WM_LBUTTONDOWN, OnLButtonDown ) - MESSAGE_HANDLER( WM_SETCURSOR, OnSetCursor ) - MESSAGE_HANDLER( WM_TIMER, OnTimer ) - END_MSG_MAP() - - void Init( CMenuContainer *pOwner ); - void Update( int alpha=255 ); - void UpdatePartial( POINT pos, const RECT *pClipRect ); - void SetImage( HBITMAP bmp, bool bAnimate ); - void StartImageTimer( HBITMAP bmp ); - -protected: - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnMouseActivate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { return MA_NOACTIVATE; } - LRESULT OnNcHitTest( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { return HTCLIENT; } - LRESULT OnLButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSetCursor( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnEraseBkgnd( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { return 1; } - LRESULT OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - -private: - CMenuContainer *m_pOwner; - std::vector m_Source; - unsigned int *m_Bits; - bool m_bDefaultImage; - HBITMAP m_UserBitmap; - HBITMAP m_Bitmap; - SIZE m_Size; - int m_Timer; - HBITMAP m_TimerBitmap; - bool m_bUserBitmapMask; - - enum - { - TIMER_BLEND=1, - TIMER_SET=2, - }; -}; - -// sound events -enum TMenuSound -{ - SOUND_MAIN, - SOUND_POPUP, - SOUND_COMMAND, - SOUND_DROP, - SOUND_BUTTON_HOVER, -}; - -// CMenuContainer - implementation of a single menu box. -class CMenuContainer: public IDropTarget, public IFrameworkInputPaneHandler, public CWindowImplBaseT -{ -public: - virtual ATL::CWndClassInfo &GetWndClassInfo( void ) - { - static ATL::CWndClassInfo wc = - { - {sizeof(WNDCLASSEX),CS_DROPSHADOW|CS_DBLCLKS,StartWindowProc,0,0,NULL,NULL,NULL,(HBRUSH)(COLOR_MENU+1),NULL,L"OpenShell.CMenuContainer",NULL}, - NULL,NULL,IDC_ARROW,TRUE,0,_T("") - }; - return wc; - } - - HWND Create( HWND hWndParent, RECT *pRect, DWORD dwStyle, DWORD dwExStyle ) - { - ATOM atom=GetWndClassInfo().Register(&m_pfnSuperWindowProc); - return CWindowImplBaseT::Create(hWndParent,pRect,NULL,dwStyle,dwExStyle,0u,atom,NULL); - } - - // message handlers - BEGIN_MSG_MAP( CMenuContainer ) - // forward all messages to m_pMenu2 and m_pMenu3 to ensure the context menu functions properly - if (m_pMenu3) - { - if (m_pMenu3->HandleMenuMsg2(uMsg,wParam,lParam,&lResult)==S_OK) - return TRUE; - } - else if (m_pMenu2) - { - m_pMenu2->HandleMenuMsg(uMsg,wParam,lParam); - } - MESSAGE_HANDLER( WM_CREATE, OnCreate ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_SHOWWINDOW, OnShowWindow ) - MESSAGE_HANDLER( WM_PAINT, OnPaint ) - MESSAGE_HANDLER( WM_PRINTCLIENT, OnPaint ) - MESSAGE_HANDLER( WM_ERASEBKGND, OnEraseBkgnd ) - MESSAGE_HANDLER( WM_ACTIVATE, OnActivate ) - MESSAGE_HANDLER( WM_MOUSEACTIVATE, OnMouseActivate ) - MESSAGE_HANDLER( WM_MOUSEMOVE, OnMouseMove ) - MESSAGE_HANDLER( WM_MOUSELEAVE, OnMouseLeave ) - MESSAGE_HANDLER( WM_MOUSEWHEEL, OnMouseWheel ) - MESSAGE_HANDLER( WM_LBUTTONDOWN, OnLButtonDown ) - MESSAGE_HANDLER( WM_LBUTTONDBLCLK, OnLButtonDblClick ) - MESSAGE_HANDLER( WM_LBUTTONUP, OnLButtonUp ) - MESSAGE_HANDLER( WM_RBUTTONDOWN, OnRButtonDown ) - MESSAGE_HANDLER( WM_RBUTTONUP, OnRButtonUp ) - MESSAGE_HANDLER( WM_SETCURSOR, OnSetCursor ) - MESSAGE_HANDLER( WM_CONTEXTMENU, OnContextMenu ) - MESSAGE_HANDLER( WM_VSCROLL, OnVScroll ) - MESSAGE_HANDLER( WM_KEYDOWN, OnKeyDown ) - MESSAGE_HANDLER( WM_SYSKEYDOWN, OnSysKeyDown ) - MESSAGE_HANDLER( WM_CHAR, OnChar ) - MESSAGE_HANDLER( WM_SYSCHAR, OnChar ) - MESSAGE_HANDLER( WM_TIMER, OnTimer ) - MESSAGE_HANDLER( WM_SYSCOMMAND, OnSysCommand ) - MESSAGE_HANDLER( WM_SETTINGCHANGE, OnSettingChange ) - MESSAGE_HANDLER( WM_DISPLAYCHANGE, OnDisplayChange ) - MESSAGE_HANDLER( WM_GETOBJECT, OnGetAccObject ) - MESSAGE_HANDLER( WM_CTLCOLOREDIT, OnColorEdit ) - MESSAGE_HANDLER( WM_GESTURE, OnGesture ) - MESSAGE_HANDLER( WM_GESTURENOTIFY, OnGestureNotify ) - MESSAGE_HANDLER( MCM_REFRESH, OnRefresh ) - MESSAGE_HANDLER( MCM_SETCONTEXTITEM, OnSetContextItem ) - MESSAGE_HANDLER( MCM_REDRAWEDIT, OnRedrawEdit ) - MESSAGE_HANDLER( MCM_REFRESHICONS, OnRefreshIcons ) - MESSAGE_HANDLER( MCM_SETHOTITEM, OnSetHotItem ) - MESSAGE_HANDLER( MCM_WORKAREACHANGED, OnWorkAreaChanged ) - MESSAGE_HANDLER( s_StartMenuMsg, OnStartMenuMsg ) - MESSAGE_HANDLER( WM_POINTERDOWN, OnPointerDown ) - MESSAGE_HANDLER( WM_POINTERUPDATE, OnPointerUpdate ) - MESSAGE_HANDLER( WM_POINTERUP, OnPointerUp ) - COMMAND_CODE_HANDLER( EN_CHANGE, OnEditChange ) - REFLECT_NOTIFICATIONS() - END_MSG_MAP() - - static bool CloseStartMenu( void ); - static bool IsMenuOpened( void ) { return !s_Menus.empty(); } - static bool HasInputHandler( void ) { return s_pFrameworkInputPane!=NULL; } - static bool CanShowMenu( void ) { return s_Menus.empty() || !s_bPreventClosing; } - static bool IsMenuWindow( HWND hWnd ); - static bool IgnoreTaskbarTimers( void ) { return !s_Menus.empty() && (s_TaskbarState&ABS_AUTOHIDE); } - static HWND ToggleStartMenu( int taskbarId, bool bKeyboard, bool bAllPrograms ); - static bool ProcessMouseMessage( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); - static void RefreshIcons( void ); - static void RefreshSearch( void ); - static void PlayMenuSound( TMenuSound sound ); - -protected: - // IUnknown - virtual STDMETHODIMP QueryInterface( REFIID riid, void **ppvObject ); - - 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 ); - - // IFrameworkInputPaneHandler - virtual HRESULT STDMETHODCALLTYPE Showing( RECT *prcInputPaneScreenLocation, BOOL fEnsureFocusedElementInView ); - virtual HRESULT STDMETHODCALLTYPE Hiding( BOOL fEnsureFocusedElementInView ); - - LRESULT OnCreate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnShowWindow( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnRefresh( 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 OnActivate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnMouseActivate( 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 OnMouseWheel( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnLButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnLButtonDblClick( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnLButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnRButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnRButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSetCursor( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnVScroll( 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 OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSysCommand( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSettingChange( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnDisplayChange( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnWorkAreaChanged( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnGetAccObject( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSetContextItem( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnColorEdit( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnGesture( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnGestureNotify( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnPointerDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnPointerUpdate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnPointerUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnRedrawEdit( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnRefreshIcons( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSetHotItem( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnStartMenuMsg( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnEditChange( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - virtual void OnFinalMessage( HWND ) { Release(); } - -protected: - CMenuContainer( CMenuContainer *pParent, int index, int options, const StdMenuItem *pStdItem, PIDLIST_ABSOLUTE path1, PIDLIST_ABSOLUTE path2 ); - ~CMenuContainer( void ); - -private: - // options when creating a container - enum - { - CONTAINER_MULTICOLUMN = 0x0000001, // use multiple columns instead of a single scrolling column - CONTAINER_MULTICOL_REC = 0x0000002, // the children will be multi-column - CONTAINER_CONTROLPANEL = 0x0000004, // this is the control panel, don't go into subfolders - CONTAINER_PROGRAMS = 0x0000008, // this is a folder from the Start Menu hierarchy (drop operations prefer link over move) - CONTAINER_DOCUMENTS = 0x0000010, // sort by time, limit the count (for recent documents) - CONTAINER_ALLPROGRAMS = 0x0000020, // this is the main menu of All Programs (combines the Start Menu and Programs folders) - CONTAINER_RECENT = 0x0000040, // insert recent programs (sorted by time) - CONTAINER_LINK = 0x0000080, // this is an expanded link to a folder (always scrolling) - CONTAINER_ITEMS_FIRST = 0x0000100, // put standard items at the top - CONTAINER_DRAG = 0x0000200, // allow items to be dragged out - CONTAINER_DROP = 0x0000400, // allow dropping of items - CONTAINER_LEFT = 0x0000800, // the window is aligned on the left - CONTAINER_TOP = 0x0001000, // the window is aligned on the top - CONTAINER_AUTOSORT = 0x0002000, // the menu is always in alphabetical order - CONTAINER_OPENUP_REC = 0x0004000, // the container's children will prefer to open up instead of down - CONTAINER_SORTZA = 0x0008000, // the container will sort backwards by default - CONTAINER_SORTZA_REC = 0x0010000, // the container's children will sort backwards by default - CONTAINER_SORTONCE = 0x0020000, // the container will save the sort order the first time the menu is opened - CONTAINER_TRACK = 0x0040000, // track shortcuts from this menu - CONTAINER_NOSUBFOLDERS = 0x0080000, // don't go into subfolders - CONTAINER_NONEWFOLDER = 0x0100000, // don't show the "New Folder" command - CONTAINER_NOPATH = 0x0200000, // don't trust the child parsing names - CONTAINER_SEARCH = 0x0400000, // this is he search results submenu - CONTAINER_NOEXTENSIONS = 0x0800000, // hide extensions - CONTAINER_JUMPLIST = 0x1000000, // this is a jumplist menu - CONTAINER_APPS = 0x2000000, // this is the folder for Metro apps - }; - - // description of a menu item - struct MenuItem - { - MenuItem( TMenuID _id=MENU_NO ) - { - id=_id; - pStdItem=NULL; - nameHash=0; - pItemInfo=NULL; - drawType=MenuSkin::COLUMN1_ITEM; - column=row=0; - memset(&itemRect,0,sizeof(itemRect)); - bFolder=bLink=bPrograms=bAlignBottom=bBreak=bInline=bInlineFirst=bInlineLast=bSplit=bHasJumpList=bMetroLink=bMetroApp=bBlankSeparator=bNew=bStartScreen=bCustomAccelerator=false; - priority=0; - pItem1=pItem2=NULL; - mfuHash=0; - categoryHash=0; - jumpIndex=-1; - accelerator=0; - drive=0; - textStart=textEnd=0; - mruOrder=-1; - nameOffset=0; - } - - TMenuID id; // if pStdItem!=NULL, this is pStdItem->id. otherwise it can only be MENU_NO, MENU_SEPARATOR, MENU_EMPTY or MENU_EMPTY_TOP - const StdMenuItem *pStdItem; // NULL if not a standard menu item - CString name; - unsigned int nameHash; - const CItemManager::ItemInfo *pItemInfo; - MenuSkin::TItemDrawType drawType; - int column; - int row; - RECT itemRect; - bool bFolder:1; // this is a folder - draw arrow - bool bLink:1; // this is a link (if a link to a folder is expanded it is always single-column) - bool bPrograms:1; // this item is part of the Start Menu folder hierarchy - bool bAlignBottom:1; // two-column menu: this item is aligned to the bottom - bool bBreak:1; // two-column menu: this item starts the second column - bool bInline:1; // this item is inlined in the parent menu - bool bInlineFirst:1; // this item is the first from the inlined group - bool bInlineLast:1; // this item is the last from the inlined group - bool bSplit:1; // split button item - bool bHasJumpList:1; // this item has a jump list - bool bMetroLink:1; // this is a Windows 8 Metro shortcut - bool bMetroApp:1; // this is a Windows 10 Metro app item - bool bBlankSeparator:1; // this is a blank separator that is the same size as normal items - bool bNew:1; // this is a highlighted new item - bool bStartScreen:1; // this is the start screen shortcut item - bool bCustomAccelerator:1; // the accelerator is specified explicitly - char priority; // used for sorting of the All Programs menu (0 for Start Menu, 1 for the separator, 2 for the Programs) - char drive; - wchar_t accelerator; // accelerator character, 0 if none - - // pair of shell items. 2 items are used to combine a user folder with a common folder (I.E. user programs/common programs) - PIDLIST_ABSOLUTE pItem1; - PIDLIST_ABSOLUTE pItem2; - - unsigned int mfuHash; // MENU_RECENT - short mruOrder; // MENU_RECENT - short nameOffset; // MENU_RECENT - unsigned int categoryHash; // search item (lower 4 bits correspond to category) - short textStart, textEnd; // start and end horizontal offset of the text - int jumpIndex; // MENU_JUMPITEM: MAKELONG(group,item) - - bool operator<( const MenuItem &item ) const - { - if (priorityitem.priority) return false; - if (rowitem.row) return false; - if ((bFolder && !bHasJumpList) && !(item.bFolder && !item.bHasJumpList)) return true; - if (!(bFolder && !bHasJumpList) && (item.bFolder && !item.bHasJumpList)) return false; - if (drive && !item.drive) return true; - if (!drive && item.drive) return false; - if (drive && item.drive) return drivex.priority) return false; - if ((bFolder && !bHasJumpList) && !(x.bFolder && !x.bHasJumpList)) return true; - if (!(bFolder && !bHasJumpList) && (x.bFolder && !x.bHasJumpList)) return false; - if (drive && !x.drive) return true; - if (!drive && x.drive) return false; - if (drive && x.drive) return drive0; } - }; - - LONG m_RefCount; - bool m_bSubMenu; - bool m_bDestroyed; // the menu is destroyed but not yet deleted - bool m_bTrackMouse; - bool m_bRefreshItems; - bool m_bWorkAreaPosted; - volatile DWORD m_RefreshPosted; - int m_Options; - const StdMenuItem *m_pStdItem; // the first item - CMenuContainer *m_pParent; // parent menu - int m_ParentIndex; // the index of this menu in the parent (usually matches m_pParent->m_Submenu) - int m_Submenu; // the item index of the opened submenu - int m_SubShowTime; // the time when the submenu was shown - int m_HotItem; - int m_InsertMark; - bool m_bInsertAfter; - bool m_bHotArrow; - unsigned int m_FolderHash[2]; // hash of the path to use for per-menu settings - CAbsolutePidl m_Path1[2]; - CAbsolutePidl m_Path2[2]; - CComPtr m_pDropFolder[2]; // the primary folder (used only as a drop target) - CComPtr m_pShellView; // keep the view alive because some buggy namespace extensions clean up if there is no view - CComPtr m_pAccessibleContext; - CComPtr m_pAccessible; - CComPtr m_pDropTargetProxy; - DWORD m_InputCookie; - std::vector m_ColumnOffsets; - - std::vector m_Items; // all items in the menu (including separators) - CComQIPtr m_pMenu2; // additional interfaces used when a context menu is displayed - CComQIPtr m_pMenu3; - - int m_DragHoverTime; - int m_DragHoverItem; - int m_DragIndex; // the index of the item being dragged - CComPtr m_pDropTargetHelper; // to show images while dragging - CComPtr m_pDragSourceHelper; - CComPtr m_pDragObject; - CComPtr m_pDropTarget; - const CItemManager::ItemInfo *m_pDropTargetInfo; - int m_DropTargetIndex; - int m_DragTime; - - int m_ClickIndex; // the index of the last clicked item (-2 until the mouse enters the menu for the first time) - bool m_bClickArrow; - int m_HoverItem; // item under the mouse (used for opening a submenu when the mouse hovers over an item) - bool m_bHoverArrow; - int m_ContextItem; // force this to be the hot item while a context menu is up - HBITMAP m_Bitmap; // the background bitmap - int m_BitmapOffset; // the horizontal offset of the main menu background from the window - HRGN m_Region; // the outline region - POINT m_PaintOffset; - int m_MaxWidth; - bool m_bTwoColumns; - RECT m_rMenu; - RECT m_rContent; - RECT m_rContent2; - RECT m_rUser1; // the user image (0,0,0,0 if the user image is not shown) - RECT m_rUser2; // the user name (0,0,0,0 if the user name is not shown) - RECT m_rPadding; // padding in the menu where right-click is possible - int m_ExtraTop, m_ExtraBottom; // amount of padding that the menu background virtually extends beyond the screen (not actually drawn) - int m_ExtraBorder; // hight of the border by which the menu extends beyond the screen (solid background with window border) - - int m_ScrollCount; // number of items to scroll in the pager - int m_ScrollHeight; // 0 - don't scroll - int m_ScrollOffset; - int m_ScrollButtonSize; - int m_MouseWheel; - bool m_bScrollUp, m_bScrollDown; - bool m_bScrollUpHot, m_bScrollDownHot; - bool m_bScrollTimerMouse; - bool m_bScrollTimerTouch; - bool m_bNoSearchDraw; - bool m_bSearchDrawn; - bool m_bInSearchUpdate; - bool m_bDisableProgHover; - bool m_bClosing; - int m_SearchIndex; - int m_SearchProvidersCount; - int m_SearchItemCount; - CWindow m_SearchBox; - unsigned int m_SearchHash; - HBITMAP m_SearchIcons; - - struct SearchItem - { - SearchItem( const CString &_name, const CItemManager::ItemInfo *_info ) { name=_name; info=_info; } - SearchItem( const CItemManager::ItemInfo *_info ) { info=_info; } - CString name; - const CItemManager::ItemInfo *info; - }; - - int AddSearchItems( const std::vector &items, const CString &categoryName, unsigned int categoryHash, int originalCount ); - void GetRecentPrograms( std::vector &items, int maxCount ); - - // additional commands for the context menu - enum - { - CMD_OPEN=1, - CMD_OPEN_ALL, - CMD_SORT, - CMD_AUTOSORT, - CMD_NEWFOLDER, - CMD_NEWSHORTCUT, - CMD_DELETEMRU, - CMD_DELETEALL, - CMD_EXPLORE, - CMD_PIN, - CMD_PINSETTING, - CMD_TOGGLE, - CMD_DELETE, - CMD_RENAME, - CMD_MARKOLD, - CMD_UNINSTALL, - - CMD_LAST, - CMD_MAX=32767 - }; - - // ways to activate a menu item - enum TActivateType - { - ACTIVATE_SELECT, // just selects the item - ACTIVATE_OPEN, // opens the submenu or selects if not a menu - ACTIVATE_OPEN_KBD, // same as above, but when done with a keyboard - ACTIVATE_OPEN_SEARCH, // opens the search results submenu - ACTIVATE_EXECUTE, // executes the item - ACTIVATE_MENU, // shows context menu - ACTIVATE_MENU_BACKGROUND, // shows context menu for the menu itself - ACTIVATE_RENAME, // renames the item - ACTIVATE_DELETE, // deletes the item - ACTIVATE_PROPERTIES, // shows the properties of the item - }; - - // search state - enum TSearchState - { - SEARCH_NONE, // the search is inactive - SEARCH_BLANK, // the search box has the focus but is blank - SEARCH_TEXT, // the search box has the focus and is not blank - }; - - TSearchState m_SearchState; - unsigned int m_SearchCategoryHash; - - enum - { - // timer ID - TIMER_HOVER=1, - TIMER_SCROLL_MOUSE=2, - TIMER_SCROLL_TOUCH=3, - TIMER_TOOLTIP_SHOW=4, - TIMER_TOOLTIP_HIDE=5, - TIMER_BALLOON_HIDE=6, - TIMER_SEARCH=7, - TIMER_DRAG=8, - - MCM_REFRESH=WM_USER+10, // posted to force the container to refresh its contents - MCM_SETCONTEXTITEM=WM_USER+11, // sets the item for the context menu. wParam is the nameHash of the item - MCM_REDRAWEDIT=WM_USER+12, // redraw the search edit box - MCM_REFRESHICONS=WM_USER+13, // refreshes the icon list and redraws all menus - MCM_SETHOTITEM=WM_USER+14, // sets the hot item - MCM_WORKAREACHANGED=WM_USER+15, // when the working area is changed - - // some constants - MIN_SCROLL_HEIGHT=13, // the scroll buttons are at least this tall - MAX_MENU_ITEMS=2000, - MENU_ANIM_SPEED=200, - MENU_ANIM_SPEED_SUBMENU=100, - MENU_FADE_SPEED=400, - MRU_PROGRAMS_COUNT=40, - }; - - void AddFirstFolder( IShellItem *pFolder, std::vector &items, int options ); - void AddSecondFolder( IShellItem *pFolder, std::vector &items, int options ); - - struct ActivateData - { - ActivateData( void ) { bNoModifiers=bProgramsTree=bExpanded=bArrow=bAutoSort=bApps=false; command=0; pNewItemInfo=NULL; hTreeItem=NULL; } - bool bNoModifiers; - bool bProgramsTree; // this is an item from the tree - bool bExpanded; // for tree items - bool bArrow; // the arrow was clicked - bool bAutoSort; // the programs folder is auto-sort - bool bApps; - HTREEITEM hTreeItem; - CAbsolutePidl parent; // parent folder - int command; // menu command - const CItemManager::ItemInfo *pNewItemInfo; // returns the new item created by a rename or new folder - }; - - void InitItems( void ); - bool InitSearchItems( void ); - void InitWindow( bool bDontShrink=false ); - void InitWindowInternal( bool bDontShrink, const POINT &corner, RECT &menuRect ); - void InitWindowFinalize( const RECT &menuRect ); - - // pPt - optional point in screen space (used only by ACTIVATE_EXECUTE and ACTIVATE_MENU) - void ActivateItem( int index, TActivateType type, const POINT *pPt, ActivateData *pData=NULL ); - void ActivateTreeItem( const void *treeItem, RECT &itemRect, TActivateType type, const POINT *pPt, ActivateData *pData=NULL ); - void DragTreeItem( const void *treeItem, bool bApps ); - void ShowKeyboardCues( void ); - void SetActiveWindow( void ); - void CreateBackground( int width1, int width2, int height1, int height2, int &totalWidth, int &totalHeight, bool bCreateRegion ); // width1/2, height1/2 - the first and second content area - void BlendPatterns( unsigned int *bits, int width, int height ); - void CreateContentRects( int width1, int width2, int height1, int height2, int &totalWidth, int &totalHeight ); - void CreateSubmenuRegion( int width, int height ); // width, height - the content area - void ApplyRegion( BOOL bRedraw ); - void PostRefreshMessage( void ); - void SaveItemOrder( const std::vector &items ); - void LoadItemOrder( void ); - void RemoveMFUShortcut( unsigned int hash, bool bAppId ); - void FadeOutItem( int index ); - bool GetItemRect( int index, RECT &rc ); - int HitTest( const POINT &pt, bool *bArrow, bool bDrop=false ); - bool DragOut( int index, bool bApp ); - bool DragOutApps( const CItemManager::ItemInfo *pInfo ); - CComPtr CreateMetroDataObject( const CItemManager::ItemInfo *pInfo ); - void GetDragEffect( DWORD &grfKeyState, DWORD *pdwEffect ); - void InvalidateItem( int index ); - void SetHotItem( int index, bool bArrow=false, bool bShowTip=false ); - void SetSubmenu( int index ); - void SetContextItem( int index ); - void SetClickItem( int index ); - void UpdateUserPicture( void ); - void SetInsertMark( int index, bool bAfter ); - bool GetInsertRect( RECT &rc ); - void DrawBackground( HDC hdc, const RECT &drawRect ); - bool GetDescription( int index, wchar_t *text, int size ); - void UpdateScroll( void ); - void UpdateScroll( const POINT *pt, bool bTouch ); - bool CanSelectItem( int index, bool bKeyboard=true ); - void SetSearchState( TSearchState state ); - void UpdateSearchResults( bool bForceShowAll ); - void AddInternetSearch( size_t index ); - void AddStandardItems( void ); - void UpdateAccelerators( int first, int last ); - void ExecuteCommand( const wchar_t *command, bool bElevated, bool bEnvSubst ); - void RunUserCommand( bool bPicture ); - void OpenSubMenu( int index, TActivateType type, bool bShift ); - void UpdateAutoComplete( const wchar_t *text ); - bool HasMoreResults( void ); - RECT CalculateWorkArea( const RECT &taskbarRect ); - POINT CalculateCorner( void ); - void NotifyDisplayChange( void ); - -#define AW_TOPMOST 0x00100000 - void AnimateMenu( int flags, int speed, const RECT &rect ); - - enum - { - COLLECT_RECURSIVE = 1, // go into subfolders - COLLECT_PROGRAMS = 2, // only collect programs (.exe, .com, etc) - COLLECT_FOLDERS = 4, // include folder items - COLLECT_METRO = 8, // check for metro links (non-recursive) - COLLECT_KEYWORDS =16, // include the keywords - }; - - static int s_MaxRecentDocuments; // limit for the number of recent documents - static int s_ScrollMenus; // global scroll menus setting - static bool s_bRTL; // RTL layout - static bool s_bKeyboardCues; // show keyboard cues - static bool s_bOverrideFirstDown; // the first down key from the search box will select the top item - static bool s_bExpandRight; // prefer expanding submenus to the right - static bool s_bBehindTaskbar; // the main menu is behind the taskbar (when the taskbar is horizontal) - static bool s_bShowTopEmpty; // shows the empty item on the top menu so the user can drag items there - static bool s_bNoDragDrop; // disables drag/drop - static bool s_bNoContextMenu; // disables the context menu - static bool s_bExpandLinks; // expand links to folders - static bool s_bLogicalSort; // use StrCmpLogical instead of CompareString - static bool s_bExtensionSort; // sort file names by extension - static bool s_bAllPrograms; // this is the All Programs menu of the Windows start menu - static bool s_bNoCommonFolders; // don't show the common folders (start menu and programs) - static bool s_bNoRun; // don't show run, disable autocomplete - static bool s_bNoClose; // don't show shutdown, restart, sleep and hibernate - static bool s_bHasTouch; // the device has integrated touch digitizer - static char s_bActiveDirectory; // the Active Directory services are available (-1 - uninitialized) - static bool s_bPreventClosing; // prevents the menus from closing even if they lose focus - static bool s_bDragClosed; // the menu was closed during a drag operation - static bool s_bTempHidden; // the menu windows are temporarily hidden - static bool s_bDisableHover; // disable hovering while the search box has the focus - static bool s_bHasUpdates; // the OS wants to install updates - static CMenuContainer *s_pDragSource; // the source of the current drag operation - static bool s_bDragFromTree; // the source is the programs tree - static bool s_bDragMovable; // the dragged item is normal original item - static bool s_bRightDrag; // dragging with the right mouse button - static bool s_bLockWorkArea; // changes to the work area are ignored - static bool s_bPendingSearchEnter; // Enter was pressed before the search results were ready - static RECT s_MenuLimits; // area of the main monitor accessible to all menus - static RECT s_MainMenuLimits; // area of the main monitor accessible by the main menu - static DWORD s_TaskbarState; // the state of the taskbar (ABS_AUTOHIDE and ABS_ALWAYSONTOP) - static DWORD s_HoverTime; - static DWORD s_SplitHoverTime; - static DWORD s_ProgramsHoverTime; - static DWORD s_XMouse; - static DWORD s_SubmenuStyle; - static int s_TaskBarId; - static HWND s_TaskBar, s_StartButton; // the current taskbar and start button - static UINT s_TaskBarEdge; - static RECT s_StartRect; // the bounds of the start button - static HWND s_LastFGWindow; // stores the foreground window to restore later when the menu closes - static HMONITOR s_MenuMonitor; - static HTHEME s_Theme; - static HTHEME s_PagerTheme; - static CWindow s_Tooltip; - static CWindow s_TooltipBalloon; - static int s_TipShowTime; - static int s_TipHideTime; - static int s_TipShowTimeFolder; - static int s_TipHideTimeFolder; - static DWORD s_HotPos; // last mouse position over a hot item (used to ignore WM_MOUSEMOVE when the mouse didn't really move) - static int s_HotItem; - static CMenuContainer *s_pHotMenu; // the menu with the hot item - static int s_TipItem; // the item that needs a tooltip - static CMenuContainer *s_pTipMenu; - static HBITMAP s_ArrowsBitmap; - static unsigned int s_LastArrowColor; - static CComPtr s_pFrameworkInputPane; - static CString s_PinFolder; - static CLIPFORMAT s_ShellFormat; // CFSTR_SHELLIDLIST - static CLIPFORMAT s_ShellUrlFormat; // CFSTR_INETURL - static CLIPFORMAT s_DescriptorFormat; // CFSTR_FILEDESCRIPTOR - static CLIPFORMAT s_ContentsFormat; // CFSTR_FILECONTENTS - static CLIPFORMAT s_PreferredEffectFormat; - static CLIPFORMAT s_MetroLinkFormat; - static CLIPFORMAT s_DropDescriptionFormat; - - static TRecentPrograms s_RecentPrograms; // show and track recent items - - static std::vector s_Menus; // all menus, in cascading order - static volatile HWND s_FirstMenu, s_SearchMenu; - static CSearchManager::SearchResults s_SearchResults; - static std::map s_MenuScrolls; // scroll offset for each sub menu - static char s_HasMoreResults; // -1 - uninitialized - static int s_ProgramsWidth, s_JumplistWidth; - - static CString s_MRUShortcuts[MRU_PROGRAMS_COUNT]; - static bool s_bMRULoaded; - - static const CItemManager::ItemInfo *s_JumpAppInfo; - static CJumpList s_JumpList; - - static MenuSkin s_Skin; - - friend class CMetroDataObject; - friend class COwnerWindow; - friend class CMenuAccessible; - friend LRESULT CALLBACK SubclassTopMenuProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - friend HRESULT CreatePinLink( PCIDLIST_ABSOLUTE sourcePidl, const wchar_t *name, const wchar_t *iconPath, int iconIndex ); - - static void HideTemp( bool bHide ); - static void AddMRUShortcut( const wchar_t *path ); - static void AddMRUAppId( const wchar_t *appid ); - static void DeleteMRUShortcut( const wchar_t *path ); - static void DeleteMRUAppId( const wchar_t *appid ); - static void SaveMRUShortcuts( void ); - static void LoadMRUShortcuts( void ); - static HBITMAP LoadUserImage( int size, HBITMAP hMask ); - static int CompareMenuString( const wchar_t *str1, const wchar_t *str2 ); - static LRESULT CALLBACK SubclassSearchBox( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - static LRESULT CALLBACK SubclassScrollbar( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - void ClearItems( const std::vector::iterator &begin, const std::vector::iterator &end ); - void AddJumpListItems( std::vector &items ); - static HBITMAP GetArrowsBitmap( unsigned int color ); - static bool CloseProgramsMenu( void ); - static void HideStartMenu( void ); - static void SetDropTip( IDataObject *pDataObj, bool bPin ); - - enum - { - CLOSE_POST =1, - CLOSE_SKIP_LAST =2, - CLOSE_SKIP_SEARCH =4, - CLOSE_ONLY_SEARCH =8, - CLOSE_KEEP_MODE =16, - }; - static void CloseSubMenus( int flags, CMenuContainer *pAfter ); - - struct CreateAccessibleData - { - CMenuContainer *pMenu; - IStream *pStream; - }; - static HRESULT __stdcall CreateAccessible( ComCallData *pData ); - static HRESULT __stdcall ReleaseAccessible( ComCallData *pData ); - - // To control the placement of the start menu, send OpenShellMenu.StartMenuMsg message right after the start menu is created but before it is displayed - // The lParam must point to StartMenuParams - // monitorRect - the entire area available to the start menu (sub-menus will use it). It is usually the monitor area but can be less if the Desktop app is docked in Win8 - // uEdge - the location of the taskbar - ABE_BOTTOM, ABE_LEFT, etc - // taskbarRect - the bounding box of the taskbar. When the taskbar is at the top or bottom, the main menu will try to not overlap that rect. When the taskbar is on the side the behavior depends on the ShowNextToTaskbar setting - // startButtonRect - the bounding box of the start button. When the taskbar is on the side the main menu will appear below that box if ShowNextToTaskbar is not set - // taskbar - the taskbar window (optional). The main menu will try to stay in front of that window - // startButton - the start button window (optional). The main menu will try to stay behind that window - struct StartMenuParams - { - HWND startButton; - HWND taskbar; - RECT startButtonRect; - RECT taskbarRect; - RECT monitorRect; - DWORD uEdge; - }; - - static StartMenuParams s_StartMenuParams; - static UINT s_StartMenuMsg; - - // Win7 stuff - enum TMenuMode - { - MODE_UNKNOWN=-1, - MODE_NORMAL, - MODE_PROGRAMS, // the programs tree is shown - MODE_SEARCH, // the search results are shown - MODE_JUMPLIST, // a jumplist is shown - }; - - void SetMenuMode( TMenuMode mode, bool bKeyboard=false ); - void OpenJumpList( int index, bool bKeyboard ); - void OpenSearchList( void ); - void AnimateBackground( void ); - - CProgramsTree *m_pProgramsTree; - int m_ProgramButtonIndex; - int m_ProgramTreeIndex; - int m_SubJumpItem; // the currently expanded embedded jumplist - int m_OriginalCount; // the number of orginal items in the main menu - int m_OriginalScrollCount; // the initial number of scrolled items - int m_SearchScrollCount; - int m_SearchScrollHeight; // in items - int m_SearchScrollPos; // in items - CWindow m_Scrollbar; - HTHEME m_ScrollTheme; - - static bool s_bWin7Style; - static TMenuMode s_MenuMode; // always MODE_NORMAL if s_bWin7Style is false - static TMenuMode s_PreSearchMenuMode; - static TMenuID s_ShutdownCommand; - static int s_MenuHeight; // main menu height in normal mode - static int s_MenuMaxHeight[2]; // main menu max height in normal mode - static CUserWindow s_UserPicture; - static RECT s_UserPictureRect; - static int s_ProgramsScrollPos; - - // main menu animation - static int s_MenuWidthNormal; // main menu width in normal modes - static int s_MenuWidthJump; // main menu width in jumplist mode - static int s_MenuWidthMax; // the larger of the two widths - static int s_BackgroundW1, s_BackgroundW2, s_BackgroundH1, s_BackgroundH2; - struct OldMenuState - { - TMenuMode mode; - int w1, w2, h1, h2; - int bitmapOffset; - int hotItem; - bool bHotArrow; - std::vector items; - int blend; // from 0 to 100 - }; - static OldMenuState s_OldMenuState; - - void InitializeOldState( void ); - static void ClearOldState( void ); - - friend class CProgramsTree; - friend class CUserWindow; - friend void CloseSkinManager( bool bCloseIat ); - - // Gestures - int m_PanPosY; - int m_Overpan; - int m_PointerId; -}; - -class CSubMenuContainer: public CMenuContainer -{ -public: - virtual ATL::CWndClassInfo &GetWndClassInfo( void ) - { - static ATL::CWndClassInfo wc = - { - {sizeof(WNDCLASSEX),CS_DROPSHADOW|CS_DBLCLKS,StartWindowProc,0,0,NULL,NULL,NULL,(HBRUSH)(COLOR_MENU+1),NULL,L"OpenShell.CMenuContainer",NULL}, - NULL,NULL,IDC_ARROW,TRUE,0,_T("") - }; - return wc; - } - - CSubMenuContainer( CMenuContainer *pParent, int index, int options, const StdMenuItem *pStdItem, PIDLIST_ABSOLUTE path1, PIDLIST_ABSOLUTE path2 ) - : CMenuContainer(pParent,index,options,pStdItem,path1,path2) - {} -}; - -class CMenuFader: public CWindowImpl -{ -public: - CMenuFader( HBITMAP bmp, HRGN region, int duration, RECT &rect ); - ~CMenuFader( void ); - DECLARE_WND_CLASS_EX(L"OpenShell.CMenuFader",0,COLOR_MENU) - - // message handlers - BEGIN_MSG_MAP( CMenuFader ) - MESSAGE_HANDLER( WM_ERASEBKGND, OnEraseBkgnd ) - MESSAGE_HANDLER( WM_TIMER, OnTimer ) - END_MSG_MAP() - - void Create( void ); - - static void ClearAll( void ); - -protected: - LRESULT OnEraseBkgnd( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - virtual void OnFinalMessage( HWND ) { PostQuitMessage(0); delete this; } - -private: - int m_Time0; - int m_Duration; - int m_LastTime; - HBITMAP m_Bitmap; - HRGN m_Region; - RECT m_Rect; - - static std::vector s_Faders; -}; - -struct WINCOMPATTRDATA -{ - DWORD attribute; - PVOID pData; - ULONG dataSize; -}; -typedef BOOL (WINAPI *tSetWindowCompositionAttribute)( HWND hwnd, WINCOMPATTRDATA *pAttrData ); - -void MarginsBlit( HDC hSrc, HDC hDst, const RECT &rSrc, const RECT &rDst, const RECT &rMargins, bool bAlpha ); diff --git a/Src/StartMenu/StartMenuDLL/MenuPaint.cpp b/Src/StartMenu/StartMenuDLL/MenuPaint.cpp deleted file mode 100644 index 4917dd8..0000000 --- a/Src/StartMenu/StartMenuDLL/MenuPaint.cpp +++ /dev/null @@ -1,3163 +0,0 @@ -// ## 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 - -// MenuPaint.cpp - handles the painting functionality of CMenuContainer - -#include "stdafx.h" -#include "ItemManager.h" -#include "MenuContainer.h" -#include "StartMenuDLL.h" -#include "Settings.h" -#include "Translations.h" -#include "ResourceHelper.h" -#include "LogManager.h" -#include "ProgramsTree.h" -#include "SettingsUI.h" -#include -#include -#include -#include - -static BLENDFUNCTION g_AlphaFunc={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - -MIDL_INTERFACE("4BEDE6E0-A125-46A7-A3BF-4187165E09A5") -IUserTileStore8 : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE SaveUserTileToStream( IStream*, int ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetUserTileFromStream( int, IStream* ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLargePath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetSmallPath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDynamicPath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetSmallPicture( const wchar_t *userSid, HBITMAP *pBitmap ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLargePicture( const wchar_t *userSid, HBITMAP *pBitmap ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetUserTilePathBySize( const wchar_t *userSid, unsigned int size, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDynamicPathBySize( const wchar_t *userSid, unsigned int size, wchar_t **pPath ) = 0; -}; - -MIDL_INTERFACE("A1BA55E7-0F4E-454D-89A4-2376347D504A") -IUserTileStore81 : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE SaveUserTileToStream( IStream*, int ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetUserTileFromStream( int, IStream* ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLargePath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetSmallPath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDynamicPath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetSmallPicture( const wchar_t *userSid, HBITMAP *pBitmap ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLargePicture( const wchar_t *userSid, HBITMAP *pBitmap ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetUserTilePathBySize( const wchar_t *userSid, unsigned int size, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDynamicPathBySize( const wchar_t *userSid, unsigned int size, wchar_t **pPath ) = 0; -}; - -MIDL_INTERFACE("A76E31A3-DED8-4119-ADD8-BF818F05965C") -IUserTileStore10 : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE SaveUserTileToStream( IStream*, int ) = 0; - virtual HRESULT STDMETHODCALLTYPE SetUserTileFromStream( int, IStream* ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLargePath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetSmallPath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetExtraSmallPath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDynamicPath( const wchar_t *userSid, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetSmallPicture( const wchar_t *userSid, HBITMAP *pBitmap ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetLargePicture( const wchar_t *userSid, HBITMAP *pBitmap ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetUserTilePathBySize( const wchar_t *userSid, unsigned int size, wchar_t **pPath ) = 0; - virtual HRESULT STDMETHODCALLTYPE GetDynamicPathBySize( const wchar_t *userSid, unsigned int size, wchar_t **pPath ) = 0; -}; - -static CLSID CLSID_UserTileStore={0x09c5dd34, 0x009d, 0x40fa, {0xbc, 0xb9, 0x01, 0x65, 0xad, 0x0c, 0x15, 0xd4}}; - -static void StretchBlt2( HDC hdcDest, int xDest, int yDest, int wDest, int hDest, HDC hdcSrc, int xSrc, int ySrc, int wSrc, int hSrc, bool bAlpha ) -{ - if (wDest>0 && hDest>0 && wSrc>0 && hSrc>0) - { - if (bAlpha) - AlphaBlend(hdcDest,xDest,yDest,wDest,hDest,hdcSrc,xSrc,ySrc,wSrc,hSrc,g_AlphaFunc); - else if (wDest==wSrc && hDest==hSrc) - { - // HACK: when blitting RTL image with no stretching, StretchBlt adds 1 pixel offset. use BitBlt instead - BitBlt(hdcDest,xDest,yDest,wDest,hDest,hdcSrc,xSrc,ySrc,SRCCOPY); - } - else - StretchBlt(hdcDest,xDest,yDest,wDest,hDest,hdcSrc,xSrc,ySrc,wSrc,hSrc,SRCCOPY); - } -} - -HBITMAP CMenuContainer::LoadUserImage( int size, HBITMAP hMask ) -{ - wchar_t path[_MAX_PATH]; - path[0]=0; - CString str=GetSettingString(L"UserPicturePath"); - if (str.IsEmpty()) - { - if (GetWinVersion()==WIN_VER_WIN8) - { - CComPtr pStore; - pStore.CoCreateInstance(CLSID_UserTileStore); - if (pStore) - { - CComString pPath; - if (SUCCEEDED(pStore->GetDynamicPathBySize(NULL,size,&pPath)) || SUCCEEDED(pStore->GetUserTilePathBySize(NULL,size,&pPath))) - Strcpy(path,_countof(path),pPath); - } - } - else if (GetWinVersion()==WIN_VER_WIN81) - { - CComPtr pStore; - pStore.CoCreateInstance(CLSID_UserTileStore); - if (pStore) - { - CComString pPath; - if (SUCCEEDED(pStore->GetDynamicPathBySize(NULL,size,&pPath)) || SUCCEEDED(pStore->GetUserTilePathBySize(NULL,size,&pPath))) - Strcpy(path,_countof(path),pPath); - } - } - else if (GetWinVersion()>=WIN_VER_WIN10) - { - CComPtr pStore; - pStore.CoCreateInstance(CLSID_UserTileStore); - if (pStore) - { - CComString pPath; - if (SUCCEEDED(pStore->GetDynamicPathBySize(NULL,size,&pPath)) || SUCCEEDED(pStore->GetUserTilePathBySize(NULL,size,&pPath))) - Strcpy(path,_countof(path),pPath); - } - } - if (!path[0]) - { - HMODULE hShell32=GetModuleHandle(L"shell32.dll"); - typedef HRESULT (__stdcall*tSHGetUserPicturePath)(LPCWSTR, UINT, LPWSTR, ULONG); - tSHGetUserPicturePath SHGetUserPicturePath=(tSHGetUserPicturePath)GetProcAddress(hShell32,MAKEINTRESOURCEA(261)); - if (SHGetUserPicturePath) - SHGetUserPicturePath(NULL,0x80000000,path,_countof(path)); - } - } - else - { - Strcpy(path,_countof(path),str); - DoEnvironmentSubst(path,_countof(path)); - } - HBITMAP hBitmap=NULL; - if (path[0]) - { - LOG_MENU(LOG_OPEN,L"Loading user image: '%s'",path); - SIZE s={size,size}; - if (str.IsEmpty()) - hBitmap=LoadImageFile(path,&s,false,false,NULL); - else - hBitmap=LoadImageFile(path,&s,true,true,NULL); - } - if (hBitmap && hMask) - { - BITMAP info1, info2; - GetObject(hBitmap,sizeof(info1),&info1); - GetObject(hMask,sizeof(info2),&info2); - if (info1.bmBits && info2.bmBits && info1.bmWidth==info2.bmWidth && info1.bmHeight==info2.bmHeight && info1.bmBitsPixel==32 && info2.bmBitsPixel==32) - { - unsigned char *pixels1=(unsigned char*)info1.bmBits; - const unsigned char *pixels2=(const unsigned char*)info2.bmBits; - int n=info1.bmWidth*info1.bmHeight; - bool bHasAlpha=false; - pixels1+=3; - for (int i=0;irDst.right) x1a=rDst.right; - int x2a=rDst.right-rMargins.right; - if (x2ax2a) x1a=x2a=(x1a+x2a)/2; - int x3a=rDst.right; - int x0b=rSrc.left; - int x1b=rSrc.left+rMargins.left; - int x2b=rSrc.right-rMargins.right; - int x3b=rSrc.right; - - int y0a=rDst.top; - int y1a=rDst.top+rMargins.top; - if (y1a>rDst.bottom) y1a=rDst.bottom; - int y2a=rDst.bottom-rMargins.bottom; - if (y2ay2a) y1a=y2a=(y1a+y2a)/2; - int y3a=rDst.bottom; - int y0b=rSrc.top; - int y1b=rSrc.top+rMargins.top; - int y2b=rSrc.bottom-rMargins.bottom; - int y3b=rSrc.bottom; - - SetStretchBltMode(hDst,COLORONCOLOR); - StretchBlt2(hDst,x0a,y0a,x1a-x0a,y1a-y0a,hSrc,x0b,y0b,x1b-x0b,y1b-y0b,bAlpha); - StretchBlt2(hDst,x1a,y0a,x2a-x1a,y1a-y0a,hSrc,x1b,y0b,x2b-x1b,y1b-y0b,bAlpha); - StretchBlt2(hDst,x2a,y0a,x3a-x2a,y1a-y0a,hSrc,x2b,y0b,x3b-x2b,y1b-y0b,bAlpha); - - StretchBlt2(hDst,x0a,y1a,x1a-x0a,y2a-y1a,hSrc,x0b,y1b,x1b-x0b,y2b-y1b,bAlpha); - StretchBlt2(hDst,x1a,y1a,x2a-x1a,y2a-y1a,hSrc,x1b,y1b,x2b-x1b,y2b-y1b,bAlpha); - StretchBlt2(hDst,x2a,y1a,x3a-x2a,y2a-y1a,hSrc,x2b,y1b,x3b-x2b,y2b-y1b,bAlpha); - - StretchBlt2(hDst,x0a,y2a,x1a-x0a,y3a-y2a,hSrc,x0b,y2b,x1b-x0b,y3b-y2b,bAlpha); - StretchBlt2(hDst,x1a,y2a,x2a-x1a,y3a-y2a,hSrc,x1b,y2b,x2b-x1b,y3b-y2b,bAlpha); - StretchBlt2(hDst,x2a,y2a,x3a-x2a,y3a-y2a,hSrc,x2b,y2b,x3b-x2b,y3b-y2b,bAlpha); -} - -struct PatternInfo -{ - int index; - SIZE size; - int offsetX; - int maskShift; - unsigned int otherMask; - const std::vector *bits; - const unsigned int *bitsY; - int stride; -}; - -static HBITMAP CreateMaskedEmblem( HBITMAP bmpEmblem, RECT &rcEmblem, const unsigned int *EMaskBits, int maskWidth, int maskHeight, int channel ) -{ - if (channel<3) channel=2-channel; - int minx=rcEmblem.left<0?0:rcEmblem.left; - int maxx=rcEmblem.right>maskWidth?maskWidth:rcEmblem.right; - int miny=rcEmblem.top<0?0:rcEmblem.top; - int maxy=rcEmblem.bottom>maskHeight?maskHeight:rcEmblem.bottom; - Assert(minx=0 && start+(maxx-minx)*4<=info.bmHeight*info.bmWidthBytes); - for (int x=minx;x=0 && start+(maxx-minx)*3<=info.bmHeight*info.bmWidthBytes); - for (int x=minx;xsize()/pattern.size.cy; - } - } - - for (int y=0;y>pattern.maskShift)&255; - if (mask==0) continue; - - unsigned int pat=pattern.bitsY[x]; - if ((pixel&pattern.otherMask)==0) - { - // fast path if only one channel is set - int pa=pat>>24; - if (pa) - { - if (mask==255) - { - // even faster path for straight copy - pixel=pat; - } - else - { - mask++; // a cheat to make the mask from 1 to 256, so we can use >>8 instead of /255 - a=(pa*mask)>>8; - if (a==0) - { - pixel=0; - } - else - { - r=(((pat>>16)&255)*mask)>>8; - g=(((pat>>8)&255)*mask)>>8; - b=((pat&255)*mask)>>8; - pixel=(a<<24)|(r<<16)|(g<<8)|b; - } - } - } - else - pixel=0; - goto end; - } - int pa=pat>>24; - if (pa) - { - a+=pa*mask; - r+=((pat>>16)&255)*mask; - g+=((pat>>8)&255)*mask; - b+=(pat&255)*mask; - } - } - a/=255; - if (a==0) - { - pixel=0; - } - else - { - if (a>255) a=255; - r/=255; if (r>255) r=255; - g/=255; if (g>255) g=255; - b/=255; if (b>255) b=255; - pixel=(a<<24)|(r<<16)|(g<<8)|b; - } -end:; - } - } - - LARGE_INTEGER time; - QueryPerformanceCounter(&time); - LONGLONG dt=(time.QuadPart-time0.QuadPart)*1000000/freq.QuadPart; -// Trace("BlendPatterns: %.3f ms",(int)dt/1000.f); -} - -// Creates the bitmap for the background -void CMenuContainer::CreateBackground( int width1, int width2, int height1, int height2, int &totalWidth, int &totalHeight, bool bCreateRegion ) -{ - // get the text from the ini file or from the registry - wchar_t caption[256]; - Strcpy(caption,_countof(caption),GetSettingString(L"MenuCaption")); - DoEnvironmentSubst(caption,_countof(caption)); - - MenuBitmap bmpSkin; - MenuBitmap bmpSkinPattern; - MenuBitmap bmpSkinEmblem; - const int *slicesX, *slicesY; - if (s_MenuMode==MODE_SEARCH) - { - bmpSkin=s_Skin.Main_bitmap_search; - slicesX=s_Skin.Main_bitmap_search_slices_X; - slicesY=s_Skin.Main_bitmap_search_slices_Y; - bmpSkinPattern=s_Skin.Main_pattern_search_mask; - bmpSkinEmblem=s_Skin.Main_emblem_search_mask; - } - else if (s_MenuMode==MODE_JUMPLIST) - { - bmpSkin=s_Skin.Main_bitmap_jump; - slicesX=s_Skin.Main_bitmap_jump_slices_X; - slicesY=s_Skin.Main_bitmap_jump_slices_Y; - bmpSkinPattern=s_Skin.Main_pattern_jump_mask; - bmpSkinEmblem=s_Skin.Main_emblem_jump_mask; - } - else - { - bmpSkin=s_Skin.Main_bitmap; - slicesX=s_Skin.Main_bitmap_slices_X; - slicesY=s_Skin.Main_bitmap_slices_Y; - bmpSkinPattern=s_Skin.Main_pattern_mask; - bmpSkinEmblem=s_Skin.Main_emblem_mask; - } - bool bCaption=(slicesX[1]>0); - MenuSkin::TOpacity opacity=s_Skin.Main_opacity; - - HDC hdcTemp=CreateCompatibleDC(NULL); - - HFONT font0=NULL; - if (bCaption) - font0=(HFONT)SelectObject(hdcTemp,s_Skin.Caption_font); - - RECT rc={0,0,0,0}; - DTTOPTS opts={sizeof(opts),DTT_COMPOSITED|DTT_CALCRECT}; - if (bCaption) - { - if (s_Theme) - DrawThemeTextEx(s_Theme,hdcTemp,0,0,caption,-1,DT_NOPREFIX|DT_SINGLELINE|DT_CALCRECT,&rc,&opts); - else - DrawText(hdcTemp,caption,-1,&rc,DT_NOPREFIX|DT_SINGLELINE|DT_CALCRECT); - } - int textWidth=rc.right+s_Skin.Caption_padding.top+s_Skin.Caption_padding.bottom; - int textHeight=rc.bottom+s_Skin.Caption_padding.left+s_Skin.Caption_padding.right; - - int total=slicesX[0]+slicesX[2]; - if (textHeight=0 && s_bWin7Style) - total+=slicesY[3]+slicesY[5]; - if (totalHeighttotalHeight) textWidth=totalHeight; - - m_rContent.left=menuPadding[0].left+textHeight; - m_rContent.right=totalWidth1-menuPadding[0].right; - m_rContent.top=menuPadding[0].top; - m_rContent.bottom=m_rContent.top+height1; - if (totalWidth2>0) - { - m_rContent2.left=m_rContent.right+menuPadding[0].right+menuPadding[1].left; - m_rContent2.right=totalWidth-menuPadding[1].right; - m_rContent2.top=menuPadding[1].top; - m_rContent2.bottom=m_rContent2.top+height2; - } - - MenuBitmap bmpSearch; - MenuBitmap bmpSearchPattern; - MenuBitmap bmpSearchEmblem; - int *searchSlicesX, *searchSlicesY; - RECT searchPadding; - int searchX[4], searchY[4]; - if (m_SearchIndex>=0 && s_bWin7Style) - { - if (s_MenuMode==MODE_SEARCH) - { - bmpSearch=s_Skin.Search_background_search; - bmpSearchPattern=s_Skin.Search_pattern_search_mask; - bmpSearchEmblem=s_Skin.Search_emblem_search_mask; - searchSlicesX=s_Skin.Search_background_search_slices_X; - searchSlicesY=s_Skin.Search_background_search_slices_Y; - searchPadding=s_Skin.Search_background_search_padding; - } - else if (s_MenuMode==MODE_JUMPLIST) - { - bmpSearch=s_Skin.Search_background_jump; - bmpSearchPattern=s_Skin.Search_pattern_jump_mask; - bmpSearchEmblem=s_Skin.Search_emblem_jump_mask; - searchSlicesX=s_Skin.Search_background_jump_slices_X; - searchSlicesY=s_Skin.Search_background_jump_slices_Y; - searchPadding=s_Skin.Search_background_jump_padding; - } - else - { - bmpSearch=s_Skin.Search_background; - bmpSearchPattern=s_Skin.Search_pattern_mask; - bmpSearchEmblem=s_Skin.Search_emblem_mask; - searchSlicesX=s_Skin.Search_background_slices_X; - searchSlicesY=s_Skin.Search_background_slices_Y; - searchPadding=s_Skin.Search_background_padding; - } - - const MenuSkin::ItemDrawSettings &settings=s_Skin.ItemSettings[MenuSkin::COLUMN1_ITEM]; - int searchH=settings.textMetrics.tmHeight*12/8+s_Skin.Search_padding.top+s_Skin.Search_padding.bottom; // 12 DLUs - int searchW=settings.textMetrics.tmAveCharWidth*25; - - RECT searchRect; - searchRect.left=m_rContent.left+s_Skin.Search_padding.left; - searchRect.top=m_rContent.bottom-searchH+s_Skin.Search_padding.top; - searchRect.bottom=m_rContent.bottom-s_Skin.Search_padding.bottom; - searchRect.right=m_rContent.right-s_Skin.Search_padding.right; - - RECT editRect; - if (m_SearchBox.m_hWnd) - { - m_SearchBox.GetWindowRect(&editRect); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&editRect,2); - OffsetRect(&editRect,-m_BitmapOffset,0); - searchRect.right=editRect.right+(editRect.bottom-editRect.top); - if (!s_Skin.Search_frame) - searchRect.right+=7; - } - else - { - editRect=searchRect; - editRect.right-=(editRect.bottom-editRect.top); - if (!s_Skin.Search_frame) - InflateRect(&editRect,-1,-3); - } - - searchX[0]=m_rContent.left-searchPadding.left; - searchX[1]=editRect.left; - searchX[2]=searchRect.right+s_Skin.Search_padding.right; - searchX[3]=((s_MenuMode==MODE_JUMPLIST)?m_rContent2.right:m_rContent.right)+searchPadding.right; - searchY[0]=searchRect.top-s_Skin.Search_padding.top-searchPadding.top; - searchY[1]=editRect.top-2; - searchY[2]=editRect.bottom+2; - searchY[3]=m_rContent.bottom+searchPadding.bottom; - } - - BITMAPINFO dib={sizeof(dib)}; - dib.bmiHeader.biWidth=totalWidth; - dib.bmiHeader.biHeight=-totalHeight; - dib.bmiHeader.biPlanes=1; - dib.bmiHeader.biBitCount=32; - dib.bmiHeader.biCompression=BI_RGB; - - HDC hdc=CreateCompatibleDC(NULL); - unsigned int *bits; - m_Bitmap=CreateDIBSection(hdc,&dib,DIB_RGB_COLORS,(void**)&bits,NULL,0); - HGDIOBJ bmp0=SelectObject(hdc,m_Bitmap); - - if (opacity==MenuSkin::OPACITY_SOLID) - { - RECT rc={0,0,totalWidth,totalHeight}; - SetDCBrushColor(hdc,s_Skin.Main_background); - FillRect(hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - - bool bHasPattern=false; - if (s_Skin.Patterns[0].GetBitmap() || s_Skin.Patterns[1].GetBitmap() || s_Skin.Patterns[2].GetBitmap() || s_Skin.Patterns[3].GetBitmap()) - { - bHasPattern=(bmpSkinPattern.GetBitmap() || bmpSkinPattern.GetColor() || bmpSearchPattern.GetBitmap() || bmpSearchPattern.GetColor()); - } - - bool bHasEmblemMask=false; - if (s_Skin.Main_emblems[0].GetBitmap() || s_Skin.Main_emblems[1].GetBitmap() || s_Skin.Main_emblems[2].GetBitmap() || s_Skin.Main_emblems[3].GetBitmap()) - { - bHasEmblemMask=(bmpSkinEmblem.GetBitmap() || bmpSkinEmblem.GetColor() || bmpSearchEmblem.GetBitmap() || bmpSearchEmblem.GetColor()); - } - - HBITMAP PMaskBmp=NULL, EMaskBmp=NULL; - unsigned int *PMaskBits=NULL, *EMaskBits=NULL; - HGDIOBJ bmp02=GetCurrentObject(hdcTemp,OBJ_BITMAP); - - HDC hdcPMask=NULL, hdcEMask=NULL; - HDC hdcPMaskTemp=NULL, hdcEMaskTemp=NULL; - HGDIOBJ PMaskBmp0=NULL, PMaskBmp02=NULL, EMaskBmp0=NULL, EMaskBmp02=NULL; - if (bHasPattern) - { - hdcPMask=CreateCompatibleDC(NULL); - PMaskBmp=CreateDIBSection(hdcPMask,&dib,DIB_RGB_COLORS,(void**)&PMaskBits,NULL,0); - PMaskBmp0=SelectObject(hdcPMask,PMaskBmp); - hdcPMaskTemp=CreateCompatibleDC(NULL); - PMaskBmp02=GetCurrentObject(hdcPMaskTemp,OBJ_BITMAP); - } - if (bHasEmblemMask) - { - hdcEMask=CreateCompatibleDC(NULL); - EMaskBmp=CreateDIBSection(hdcEMask,&dib,DIB_RGB_COLORS,(void**)&EMaskBits,NULL,0); - EMaskBmp0=SelectObject(hdcEMask,EMaskBmp); - hdcEMaskTemp=CreateCompatibleDC(NULL); - EMaskBmp02=GetCurrentObject(hdcEMaskTemp,OBJ_BITMAP); - } - - if (bmpSkin.GetBitmap()) - { - // draw the skinned background - SelectObject(hdcTemp,bmpSkin.GetBitmap()); - - if (bHasPattern) - { - if (bmpSkinPattern.GetBitmap()) - { - SelectObject(hdcPMaskTemp,bmpSkinPattern.GetBitmap()); - } - else - { - RECT rc={0,0,totalWidth,totalHeight}; - SetDCBrushColor(hdcPMask,bmpSkinPattern.GetColor()); - FillRect(hdcPMask,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - } - - if (bHasEmblemMask) - { - if (bmpSkinEmblem.GetBitmap()) - { - SelectObject(hdcEMaskTemp,bmpSkinEmblem.GetBitmap()); - } - else - { - RECT rc={0,0,totalWidth,totalHeight}; - SetDCBrushColor(hdcEMask,bmpSkinEmblem.GetColor()); - FillRect(hdcEMask,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - } - - int searchHeight=0; - if (m_SearchIndex>=0 && s_bWin7Style && slicesY[3]+slicesY[4]+slicesY[5]>0) - searchHeight=m_Items[m_SearchIndex].itemRect.top-s_Skin.Search_padding.top-searchPadding.top; - - RECT rSrc={0,0,slicesX[0]+slicesX[1]+slicesX[2],slicesY[0]+slicesY[1]+slicesY[2]}; - RECT rDst={0,0,textHeight,searchHeight?searchHeight:totalHeight}; - RECT rMargins={slicesX[0],slicesY[0],slicesX[2],slicesY[2]}; - MarginsBlit(hdcTemp,hdc,rSrc,rDst,rMargins,(opacity==MenuSkin::OPACITY_SOLID && bmpSkin.bIs32)); - if (bmpSkinPattern.GetBitmap()) - MarginsBlit(hdcPMaskTemp,hdcPMask,rSrc,rDst,rMargins,false); - if (bmpSkinEmblem.GetBitmap()) - MarginsBlit(hdcEMaskTemp,hdcEMask,rSrc,rDst,rMargins,false); - - rSrc.left=rSrc.right; - rSrc.right+=slicesX[3]+slicesX[4]+slicesX[5]; - rDst.left=rDst.right; - rDst.right=totalWidth1; - rMargins.left=slicesX[3]; - rMargins.right=slicesX[5]; - MarginsBlit(hdcTemp,hdc,rSrc,rDst,rMargins,(opacity==MenuSkin::OPACITY_SOLID && bmpSkin.bIs32)); - if (bmpSkinPattern.GetBitmap()) - MarginsBlit(hdcPMaskTemp,hdcPMask,rSrc,rDst,rMargins,false); - if (bmpSkinEmblem.GetBitmap()) - MarginsBlit(hdcEMaskTemp,hdcEMask,rSrc,rDst,rMargins,false); - - if (searchHeight>0) - { - RECT rSrc2=rSrc, rDst2=rDst, rMargins2=rMargins; - rSrc2.top=rSrc.bottom; - rSrc2.bottom+=slicesY[3]+slicesY[4]+slicesY[5]; - rDst2.top=rDst.bottom; - rDst2.bottom=totalHeight; - rMargins2.top=slicesY[3]; - rMargins2.bottom=slicesY[5]; - MarginsBlit(hdcTemp,hdc,rSrc2,rDst2,rMargins2,(opacity==MenuSkin::OPACITY_SOLID && bmpSkin.bIs32)); - if (bmpSkinPattern.GetBitmap()) - MarginsBlit(hdcPMaskTemp,hdcPMask,rSrc2,rDst2,rMargins2,false); - if (bmpSkinEmblem.GetBitmap()) - MarginsBlit(hdcEMaskTemp,hdcEMask,rSrc2,rDst2,rMargins2,false); - } - - if (totalWidth2>0) - { - rSrc.left=rSrc.right; - rSrc.right+=slicesX[6]+slicesX[7]+slicesX[8]; - rDst.left=rDst.right; - rDst.right+=totalWidth2; - rMargins.left=slicesX[6]; - rMargins.right=slicesX[8]; - MarginsBlit(hdcTemp,hdc,rSrc,rDst,rMargins,(opacity==MenuSkin::OPACITY_SOLID && bmpSkin.bIs32)); - if (bmpSkinPattern.GetBitmap()) - MarginsBlit(hdcPMaskTemp,hdcPMask,rSrc,rDst,rMargins,false); - if (bmpSkinEmblem.GetBitmap()) - MarginsBlit(hdcEMaskTemp,hdcEMask,rSrc,rDst,rMargins,false); - - if (searchHeight>0) - { - RECT rSrc2=rSrc, rDst2=rDst, rMargins2=rMargins; - rSrc2.top=rSrc.bottom; - rSrc2.bottom+=slicesY[3]+slicesY[4]+slicesY[5]; - rDst2.top=rDst.bottom; - rDst2.bottom=totalHeight; - rMargins2.top=slicesY[3]; - rMargins2.bottom=slicesY[5]; - MarginsBlit(hdcTemp,hdc,rSrc2,rDst2,rMargins2,(opacity==MenuSkin::OPACITY_SOLID && bmpSkin.bIs32)); - if (bmpSkinPattern.GetBitmap()) - MarginsBlit(hdcPMaskTemp,hdcPMask,rSrc2,rDst2,rMargins2,false); - if (bmpSkinEmblem.GetBitmap()) - MarginsBlit(hdcEMaskTemp,hdcEMask,rSrc2,rDst2,rMargins2,false); - } - } - } - else - { - RECT rc={0,0,totalWidth,totalHeight}; - SetDCBrushColor(hdc,s_Skin.Main_background); - FillRect(hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - - if (bHasPattern) - { - SetDCBrushColor(hdcPMask,bmpSkinPattern.GetColor()); - FillRect(hdcPMask,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - if (bHasEmblemMask) - { - SetDCBrushColor(hdcEMask,bmpSkinEmblem.GetColor()); - FillRect(hdcEMask,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - } - - if (m_SearchIndex>=0 && s_bWin7Style) - { - // draw the search background - if (bmpSearch.GetBitmap()) - { - if (bHasPattern) - { - if (bmpSearchPattern.GetBitmap()) - { - SelectObject(hdcPMaskTemp,bmpSearchPattern.GetBitmap()); - } - else if (!bmpSearchPattern.bIsBitmap) - { - RECT rc={searchX[0],searchY[0],searchX[3],searchY[3]}; - SetDCBrushColor(hdcPMask,bmpSearchPattern.GetColor()); - FillRect(hdcPMask,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - } - if (bHasEmblemMask) - { - if (bmpSearchEmblem.GetBitmap()) - { - SelectObject(hdcEMaskTemp,bmpSearchEmblem.GetBitmap()); - } - else if (!bmpSearchEmblem.bIsBitmap) - { - RECT rc={searchX[0],searchY[0],searchX[3],searchY[3]}; - SetDCBrushColor(hdcEMask,bmpSearchEmblem.GetColor()); - FillRect(hdcEMask,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - } - - int u[4], v[4]; - u[0]=0; - u[1]=searchSlicesX[0]+searchSlicesX[1]+searchSlicesX[2]; - u[2]=u[1]+searchSlicesX[3]+searchSlicesX[4]+searchSlicesX[5]; - u[3]=u[2]+searchSlicesX[6]+searchSlicesX[7]+searchSlicesX[8]; - v[0]=0; - v[1]=searchSlicesY[0]+searchSlicesY[1]+searchSlicesY[2]; - v[2]=v[1]+searchSlicesY[3]+searchSlicesY[4]+searchSlicesY[5]; - v[3]=v[2]+searchSlicesY[6]+searchSlicesY[7]+searchSlicesY[8]; - SelectObject(hdcTemp,bmpSearch.GetBitmap()); - for (int y=0;y<3;y++) - { - for (int x=0;x<3;x++) - { - RECT rDst={searchX[x],searchY[y],searchX[x+1],searchY[y+1]}; - RECT rSrc={u[x],v[y],u[x+1],v[y+1]}; - RECT rMargins={searchSlicesX[x*3],searchSlicesY[y*3],searchSlicesX[x*3+2],searchSlicesY[y*3+2]}; - MarginsBlit(hdcTemp,hdc,rSrc,rDst,rMargins,bmpSearch.bIs32); - if (bmpSearchPattern.GetBitmap()) - MarginsBlit(hdcPMaskTemp,hdcPMask,rSrc,rDst,rMargins,bmpSearchPattern.bIs32); - if (bmpSearchEmblem.GetBitmap()) - MarginsBlit(hdcEMaskTemp,hdcEMask,rSrc,rDst,rMargins,bmpSearchPattern.bIs32); - } - } - } - else if (!bmpSearch.bIsBitmap) - { - RECT rDst={searchX[0],searchY[0],searchX[3],searchY[3]}; - SetDCBrushColor(hdc,bmpSearch.GetColor()); - FillRect(hdc,&rDst,(HBRUSH)GetStockObject(DC_BRUSH)); - if (bHasPattern && !bmpSearchPattern.bIsBitmap) - { - SetDCBrushColor(hdcPMask,bmpSkinPattern.GetColor()); - FillRect(hdcPMask,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - if (bHasEmblemMask && !bmpSearchEmblem.bIsBitmap) - { - SetDCBrushColor(hdcEMask,bmpSkinEmblem.GetColor()); - FillRect(hdcEMask,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - } - } - - if (bHasPattern) - { - if (PMaskBmp02) - SelectObject(hdcPMaskTemp,PMaskBmp02); - if (PMaskBmp0) - SelectObject(hdcPMask,PMaskBmp0); - if (hdcPMask) - DeleteDC(hdcPMask); - if (hdcPMaskTemp) - DeleteDC(hdcPMaskTemp); - - // apply pattern - BlendPatterns(PMaskBits,totalWidth,totalHeight); - SelectObject(hdcTemp,PMaskBmp); - AlphaBlend(hdc,0,0,totalWidth,totalHeight,hdcTemp,0,0,totalWidth,totalHeight,g_AlphaFunc); - SelectObject(hdcTemp,bmp02); - DeleteObject(PMaskBmp); - } - - // draw vertical separator - if (width2) - { - if (s_Skin.Main_separatorV.GetBitmap()) - { - SelectObject(hdcTemp,s_Skin.Main_separatorV.GetBitmap()); - RECT rSrc2={0,0,s_Skin.Main_separatorWidth,s_Skin.Main_separator_slices_Y[0]+s_Skin.Main_separator_slices_Y[1]+s_Skin.Main_separator_slices_Y[2]}; - RECT rDst2={totalWidth1,menuPadding[0].top,totalWidth1+s_Skin.Main_separatorWidth,totalHeight-menuPadding[0].bottom}; - if (s_bRTL) - { - rDst2.left=totalWidth-rDst2.right; - rDst2.right=totalWidth-totalWidth1; - } - RECT rMargins2={0,s_Skin.Main_separator_slices_Y[0],0,s_Skin.Main_separator_slices_Y[2]}; - MarginsBlit(hdcTemp,hdc,rSrc2,rDst2,rMargins2,s_Skin.Main_separatorV.bIs32); - } - else if (!bmpSkin.GetBitmap()) // only when there is no main bitmap (it may have a built-in separator) - { - rc.left=rc.right=s_bRTL?(totalWidth-totalWidth1-2):totalWidth1; - rc.top=menuPadding[0].top; - rc.bottom=totalHeight-menuPadding[0].bottom; - DrawEdge(hdc,&rc,EDGE_ETCHED,BF_LEFT); - } - } - - SelectObject(hdcTemp,bmp02); - - for (int i=0;i<_countof(s_Skin.Main_emblems);i++) - { - if (s_Skin.Main_emblems[i].GetBitmap()) - { - const SIZE &emblemSize=s_Skin.Main_emblem_sizes[i]; - const RECT &emblemPadding=s_Skin.Main_emblem_paddings[i]; - MenuSkin::THAlign alignH=s_Skin.Main_emblem_alignH1[i]; - if (width2==0 && (alignH==MenuSkin::HALIGN_LEFT2 || alignH==MenuSkin::HALIGN_RIGHT2 || alignH==MenuSkin::HALIGN_CENTER2)) - alignH=s_Skin.Main_emblem_alignH2[i]; - if (alignH==MenuSkin::HALIGN_CORNER) - alignH=(m_Options&CONTAINER_LEFT)?MenuSkin::HALIGN_LEFT:MenuSkin::HALIGN_RIGHT; - MenuSkin::TVAlign alignV=s_Skin.Main_emblem_alignV[i]; - if (alignV==MenuSkin::VALIGN_CORNER) - alignV=(m_Options&CONTAINER_TOP)?MenuSkin::VALIGN_TOP:MenuSkin::VALIGN_BOTTOM; - if (alignH==MenuSkin::HALIGN_NONE || alignV==MenuSkin::VALIGN_NONE) - continue; - - int w=emblemSize.cx+emblemPadding.left+emblemPadding.right; - int h=emblemSize.cy+emblemPadding.top+emblemPadding.bottom; - int x0=0, x1=totalWidth; - int y0=0, y1=totalHeight; - - if (alignH==MenuSkin::HALIGN_CENTER1 || alignH==MenuSkin::HALIGN_LEFT1 || alignH==MenuSkin::HALIGN_RIGHT1) - x1=totalWidth1; - else if (alignH==MenuSkin::HALIGN_CENTER2 || alignH==MenuSkin::HALIGN_LEFT2 || alignH==MenuSkin::HALIGN_RIGHT2) - x0=totalWidth1; - if (alignH==MenuSkin::HALIGN_LEFT || alignH==MenuSkin::HALIGN_LEFT1 || alignH==MenuSkin::HALIGN_LEFT2) - x1=x0+w; - else if (alignH==MenuSkin::HALIGN_RIGHT || alignH==MenuSkin::HALIGN_RIGHT1 || alignH==MenuSkin::HALIGN_RIGHT2) - x0=x1-w; - else if (alignH==MenuSkin::HALIGN_CENTER || alignH==MenuSkin::HALIGN_CENTER1 || alignH==MenuSkin::HALIGN_CENTER2) - x0=(x0+x1-w)/2, x1=x0+w; - - if (alignV==MenuSkin::VALIGN_TOP) - y1=y0+h; - else if (alignV==MenuSkin::VALIGN_BOTTOM) - y0=y1-h; - else if (alignV==MenuSkin::VALIGN_CENTER) - y0=(y0+y1-h)/2, y1=y0+h; - - x0+=emblemPadding.left; - y0+=emblemPadding.top; - - RECT rcEmblem={x0,y0,x0+emblemSize.cx,y0+emblemSize.cy}; - if (rcEmblem.left>=totalWidth || rcEmblem.right<0 || rcEmblem.top>=totalHeight || rcEmblem.bottom<0) - continue; - - HBITMAP maskedEmblem=NULL; - if (bHasEmblemMask && i<4) - maskedEmblem=CreateMaskedEmblem(s_Skin.Main_emblems[i].GetBitmap(),rcEmblem,EMaskBits,totalWidth,totalHeight,i); - - if (maskedEmblem) - SelectObject(hdcTemp,maskedEmblem); - else - SelectObject(hdcTemp,s_Skin.Main_emblems[i].GetBitmap()); - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - w=rcEmblem.right-rcEmblem.left; - h=rcEmblem.bottom-rcEmblem.top; - AlphaBlend(hdc,rcEmblem.left,rcEmblem.top,w,h,hdcTemp,0,0,w,h,func); - SelectObject(hdcTemp,bmp02); - if (maskedEmblem) - DeleteObject(maskedEmblem); - } - } - - if (bHasEmblemMask) - { - if (EMaskBmp02) - SelectObject(hdcEMaskTemp,EMaskBmp02); - if (EMaskBmp0) - SelectObject(hdcEMask,EMaskBmp0); - if (hdcEMask) - DeleteDC(hdcEMask); - if (hdcEMaskTemp) - DeleteDC(hdcEMaskTemp); - DeleteObject(EMaskBmp); - } - - if (s_bRTL) - { - SelectObject(hdc,bmp0); // deselect m_Bitmap so all the GDI operations get flushed - // mirror the background image for RTL windows - for (int y=0;y0) - { - // draw the glow - opts.dwFlags=DTT_COMPOSITED|DTT_TEXTCOLOR|DTT_GLOWSIZE; - opts.crText=0xFFFFFF; - opts.iGlowSize=s_Skin.Caption_glow_size; - DrawThemeTextEx(s_Theme,hdcTemp,0,0,caption,-1,DT_VCENTER|DT_NOPREFIX|DT_SINGLELINE,&rc,&opts); - SelectObject(hdcTemp,bmp02); // deselect bmpText so all the GDI operations get flushed - - // change the glow color - int gr=(s_Skin.Caption_glow_color)&255; - int gg=(s_Skin.Caption_glow_color>>8)&255; - int gb=(s_Skin.Caption_glow_color>>16)&255; - for (int y=0;y>24); - int r1=(pixel>>16)&255; - int g1=(pixel>>8)&255; - int b1=(pixel)&255; - r1=(r1*gr)/255; - g1=(g1*gg)/255; - b1=(b1*gb)/255; - pixel=(a1<<24)|(r1<<16)|(g1<<8)|b1; - } - - SelectObject(hdcTemp,bmpText); - } - - // draw the text - int offset=0; - if (s_bRTL) - offset=totalWidth-textHeight; - - if (s_Theme) - { - opts.dwFlags=DTT_COMPOSITED|DTT_TEXTCOLOR; - opts.crText=s_Skin.Caption_text_color; - DrawThemeTextEx(s_Theme,hdcTemp,0,0,caption,-1,DT_VCENTER|DT_NOPREFIX|DT_SINGLELINE,&rc,&opts); - SelectObject(hdcTemp,bmp02); - - // rotate and copy the text onto the final bitmap. Combine the alpha channels - for (int y=0;y>24); - int r1=(src>>16)&255; - int g1=(src>>8)&255; - int b1=(src)&255; - - unsigned int &dst=bits[(totalHeight-1-x)*totalWidth+y+offset]; - - int a2=(dst>>24); - int r2=(dst>>16)&255; - int g2=(dst>>8)&255; - int b2=(dst)&255; - - r2=(r2*(255-a1))/255+r1; - g2=(g2*(255-a1))/255+g1; - b2=(b2*(255-a1))/255+b1; - a2=a1+a2-(a1*a2)/255; - - dst=(a2<<24)|(r2<<16)|(g2<<8)|b2; - } - } - else - { - // draw white text on black background - SetTextColor(hdcTemp,0xFFFFFF); - SetBkMode(hdcTemp,TRANSPARENT); - DrawText(hdcTemp,caption,-1,&rc,DT_VCENTER|DT_NOPREFIX|DT_SINGLELINE); - SelectObject(hdcTemp,bmp02); - - // rotate and copy the text onto the final bitmap - // change the text color - int tr=(s_Skin.Caption_text_color>>16)&255; - int tg=(s_Skin.Caption_text_color>>8)&255; - int tb=(s_Skin.Caption_text_color)&255; - for (int y=0;y>24); - int r2=(dst>>16)&255; - int g2=(dst>>8)&255; - int b2=(dst)&255; - - r2=(r2*(255-a1)+tr*a1)/255; - g2=(g2*(255-a1)+tg*a1)/255; - b2=(b2*(255-a1)+tb*a1)/255; - a2=a1+a2-(a1*a2)/255; - - dst=(a2<<24)|(r2<<16)|(g2<<8)|b2; - } - } - - DeleteObject(bmpText); - SelectObject(hdcTemp,font0); - } - - if (s_Skin.User_image_size && !s_bWin7Style) - { - // draw user image - HBITMAP userPicture; - bool bMask=(s_Skin.User_mask.bIsBitmap && s_Skin.User_mask.bIs32 && s_Skin.User_maskSize.cx==s_Skin.User_image_size && s_Skin.User_maskSize.cy==s_Skin.User_image_size); - if (bMask) - userPicture=LoadUserImage(s_Skin.User_image_size,s_Skin.User_mask.GetBitmap()); - else - userPicture=LoadUserImage(s_Skin.User_image_size,NULL); - if (userPicture) - { - // draw user picture - SIZE frameSize; - if (s_Skin.User_bitmap.GetBitmap()) - { - BITMAP info; - GetObject(s_Skin.User_bitmap.GetBitmap(),sizeof(info),&info); - frameSize.cx=info.bmWidth; - frameSize.cy=info.bmHeight; - } - else - { - frameSize.cx=s_Skin.User_image_size+s_Skin.User_image_offset.x*2; - frameSize.cy=s_Skin.User_image_size+s_Skin.User_image_offset.y*2; - } - POINT pos=s_Skin.User_frame_position; - if (pos.x==MenuSkin::USER_CENTER) - pos.x=(totalWidth-frameSize.cx)/2; - else if (pos.x==MenuSkin::USER_CENTER1) - pos.x=(totalWidth1+textHeight-frameSize.cx)/2; - else if (pos.x==MenuSkin::USER_CENTER2) - { - if (totalWidth2>0) - pos.x=totalWidth1+(totalWidth2-frameSize.cx)/2; - else - pos.x=(totalWidth-frameSize.cx)/2; - } - - if (pos.x<0) pos.x+=totalWidth-frameSize.cx; - if (pos.y<0) pos.y+=totalHeight-frameSize.cy; - - if (s_bRTL) - pos.x=totalWidth-frameSize.cx-pos.x; - pos.x+=s_Skin.User_image_offset.x; - pos.y+=s_Skin.User_image_offset.y; - HGDIOBJ bmp02=SelectObject(hdcTemp,userPicture); - unsigned int alpha=s_Skin.User_image_alpha; - if (alpha==255 && !bMask) - { - BitBlt(hdc,pos.x,pos.y,s_Skin.User_image_size,s_Skin.User_image_size,hdcTemp,0,0,SRCCOPY); - } - else - { - BLENDFUNCTION func={AC_SRC_OVER,0U,bMask?255U:(BYTE)alpha,bMask?AC_SRC_ALPHA:0U}; - AlphaBlend(hdc,pos.x,pos.y,s_Skin.User_image_size,s_Skin.User_image_size,hdcTemp,0,0,s_Skin.User_image_size,s_Skin.User_image_size,func); - } - - if (s_bRTL) - m_rUser1.left=totalWidth-pos.x-s_Skin.User_image_size; - else - m_rUser1.left=pos.x; - m_rUser1.right=m_rUser1.left+s_Skin.User_image_size; - m_rUser1.top=pos.y; - m_rUser1.bottom=pos.y+s_Skin.User_image_size; - - if (opacity!=MenuSkin::OPACITY_SOLID && !bMask) - { - // set to opaque - SelectObject(hdc,bmp0); // deselect m_Bitmap so all the GDI operations get flushed - unsigned int *bits2=bits+pos.y*totalWidth+pos.x; - alpha<<=24; - for (int y=0;y0) - { - int nameWidth=rc0.right-rc0.left; - int nameHeight=rc0.bottom-rc0.top; - RECT rc={0,0,nameWidth,nameHeight}; - - // draw the title - BITMAPINFO dib={sizeof(dib)}; - dib.bmiHeader.biWidth=nameWidth; - dib.bmiHeader.biHeight=-nameHeight; - dib.bmiHeader.biPlanes=1; - dib.bmiHeader.biBitCount=32; - dib.bmiHeader.biCompression=BI_RGB; - - font0=(HFONT)SelectObject(hdcTemp,s_Skin.User_font); - - unsigned int *bits2; - HBITMAP bmpText=CreateDIBSection(hdcTemp,&dib,DIB_RGB_COLORS,(void**)&bits2,NULL,0); - HGDIOBJ bmp02=SelectObject(hdcTemp,bmpText); - FillRect(hdcTemp,&rc,(HBRUSH)GetStockObject(BLACK_BRUSH)); - - DWORD align=DT_CENTER; - if (s_Skin.User_name_align==MenuSkin::HALIGN_LEFT || s_Skin.User_name_align==MenuSkin::HALIGN_LEFT1 || s_Skin.User_name_align==MenuSkin::HALIGN_LEFT2) - align=s_bRTL?DT_RIGHT:DT_LEFT; - else if (s_Skin.User_name_align==MenuSkin::HALIGN_RIGHT || s_Skin.User_name_align==MenuSkin::HALIGN_RIGHT1 || s_Skin.User_name_align==MenuSkin::HALIGN_RIGHT2) - align=s_bRTL?DT_LEFT:DT_RIGHT; - if (s_Theme && s_Skin.User_glow_size>0) - { - InflateRect(&rc,-s_Skin.User_glow_size,-s_Skin.User_glow_size); - // draw the glow - opts.dwFlags=DTT_COMPOSITED|DTT_TEXTCOLOR|DTT_GLOWSIZE; - opts.crText=0xFFFFFF; - opts.iGlowSize=s_Skin.User_glow_size; - DrawThemeTextEx(s_Theme,hdcTemp,0,0,name,-1,align|DT_VCENTER|DT_NOPREFIX|DT_SINGLELINE|DT_END_ELLIPSIS|DT_NOCLIP,&rc,&opts); - SelectObject(hdcTemp,bmp02); // deselect bmpText so all the GDI operations get flushed - - // change the glow color - int gr=(s_Skin.User_glow_color)&255; - int gg=(s_Skin.User_glow_color>>8)&255; - int gb=(s_Skin.User_glow_color>>16)&255; - for (int y=0;y>24); - int r1=(pixel>>16)&255; - int g1=(pixel>>8)&255; - int b1=(pixel)&255; - r1=(r1*gr)/255; - g1=(g1*gg)/255; - b1=(b1*gb)/255; - pixel=(a1<<24)|(r1<<16)|(g1<<8)|b1; - } - - SelectObject(hdcTemp,bmpText); - } - - // draw the text - int offset=rc0.top*totalWidth+rc0.left; - if (s_bRTL) - offset=rc0.top*totalWidth+totalWidth-rc0.right; - - if (s_Theme) - { - opts.dwFlags=DTT_COMPOSITED|DTT_TEXTCOLOR; - opts.crText=s_Skin.User_text_color; - DrawThemeTextEx(s_Theme,hdcTemp,0,0,name,-1,align|DT_VCENTER|DT_NOPREFIX|DT_SINGLELINE|DT_END_ELLIPSIS|DT_NOCLIP,&rc,&opts); - SelectObject(hdcTemp,bmp02); - - // copy the text onto the final bitmap. Combine the alpha channels - for (int y=0;y>24); - int r1=(src>>16)&255; - int g1=(src>>8)&255; - int b1=(src)&255; - - unsigned int &dst=bits[y*totalWidth+x+offset]; - - int a2=(dst>>24); - int r2=(dst>>16)&255; - int g2=(dst>>8)&255; - int b2=(dst)&255; - - r2=(r2*(255-a1))/255+r1; - g2=(g2*(255-a1))/255+g1; - b2=(b2*(255-a1))/255+b1; - a2=a1+a2-(a1*a2)/255; - - dst=(a2<<24)|(r2<<16)|(g2<<8)|b2; - } - } - else - { - // draw white text on black background - SetTextColor(hdcTemp,0xFFFFFF); - SetBkMode(hdcTemp,TRANSPARENT); - DrawText(hdcTemp,name,-1,&rc,align|DT_VCENTER|DT_NOPREFIX|DT_SINGLELINE|DT_END_ELLIPSIS|DT_NOCLIP); - SelectObject(hdcTemp,bmp02); - - // copy the text onto the final bitmap - // change the text color - int tr=(s_Skin.User_text_color>>16)&255; - int tg=(s_Skin.User_text_color>>8)&255; - int tb=(s_Skin.User_text_color)&255; - for (int y=0;y>24); - int r2=(dst>>16)&255; - int g2=(dst>>8)&255; - int b2=(dst)&255; - - r2=(r2*(255-a1)+tr*a1)/255; - g2=(g2*(255-a1)+tg*a1)/255; - b2=(b2*(255-a1)+tb*a1)/255; - a2=a1+a2-(a1*a2)/255; - - dst=(a2<<24)|(r2<<16)|(g2<<8)|b2; - } - } - - DeleteObject(bmpText); - SelectObject(hdcTemp,font0); - } - } - - DeleteDC(hdcTemp); - - SelectObject(hdc,bmp0); - DeleteDC(hdc); - - // calculate the window region - if (bCreateRegion) - { - if (m_Region) DeleteObject(m_Region); - m_Region=NULL; - if (opacity==MenuSkin::OPACITY_REGION || opacity==MenuSkin::OPACITY_GLASS || opacity==MenuSkin::OPACITY_FULLGLASS) - { - for (int y=0;y=0) - { - maxx++; - HRGN r=CreateRectRgn(minx,y,maxx,y+1); - AddTrackedObject(r); - if (!m_Region) - m_Region=r; - else - { - CombineRgn(m_Region,m_Region,r,RGN_OR); - DeleteObject(r); - } - } - } - } - else if (opacity==MenuSkin::OPACITY_ALPHA || opacity==MenuSkin::OPACITY_FULLALPHA) - m_Region=CreateRectRgn(0,0,totalWidth,totalHeight); - } -} - -void CMenuContainer::CreateContentRects( int width1, int width2, int height1, int height2, int &totalWidth, int &totalHeight ) -{ - const int *slicesY; - RECT menuPadding[2]; - if (s_MenuMode==MODE_SEARCH) - { - slicesY=s_Skin.Main_bitmap_search_slices_Y; - menuPadding[0]=s_Skin.Main_search_padding; - memset(&menuPadding[1],0,sizeof(menuPadding[1])); - } - else if (s_MenuMode==MODE_JUMPLIST) - { - slicesY=s_Skin.Main_bitmap_jump_slices_Y; - menuPadding[0]=s_Skin.Main_padding; - menuPadding[1]=s_Skin.Main_jump_padding; - } - else - { - slicesY=s_Skin.Main_bitmap_slices_Y; - menuPadding[0]=s_Skin.Main_padding; - menuPadding[1]=s_Skin.Main2_padding; - } - - int totalWidth1=width1+menuPadding[0].left+menuPadding[0].right; - int totalWidth2=width2+menuPadding[1].left+menuPadding[1].right; - totalWidth=totalWidth1+totalWidth2; - - totalHeight=height1+menuPadding[0].top+menuPadding[0].bottom; - int totalHeight2=height2+menuPadding[1].top+menuPadding[1].bottom; - if (totalHeight0) - { - m_rContent2.left=m_rContent.right+menuPadding[0].right+menuPadding[1].left; - m_rContent2.right=totalWidth-menuPadding[1].right; - m_rContent2.top=menuPadding[1].top; - m_rContent2.bottom=m_rContent2.top+height2; - } -} - -void CMenuContainer::CreateSubmenuRegion( int width, int height ) -{ - int totalWidth=s_Skin.Submenu_padding.left+s_Skin.Submenu_padding.right+width; - int totalHeight=s_Skin.Submenu_padding.top+s_Skin.Submenu_padding.bottom+height; - if (m_Region) DeleteObject(m_Region); - m_Region=NULL; - if (s_Skin.Submenu_opacity==MenuSkin::OPACITY_SOLID) - return; - if (!s_Skin.Submenu_bitmap.GetBitmap() || !s_Skin.Submenu_bitmap.bIs32) - return; - if (s_Skin.Submenu_opacity==MenuSkin::OPACITY_ALPHA || s_Skin.Submenu_opacity==MenuSkin::OPACITY_FULLALPHA) - { - m_Region=CreateRectRgn(0,0,totalWidth,totalHeight-m_ExtraTop-m_ExtraBottom); - return; - } - BITMAP info; - GetObject(s_Skin.Submenu_bitmap.GetBitmap(),sizeof(info),&info); - const int *slicesX=s_Skin.Submenu_bitmap_slices_X+3; - const int *slicesY=s_Skin.Submenu_bitmap_slices_Y; - int slicesX0=slicesX[s_bRTL?2:0]; - int slicesX2=slicesX[s_bRTL?0:2]; - int bmpWidth=slicesX0+slicesX[1]+slicesX2; - int bmpHeight=slicesY[0]+slicesY[1]+slicesY[2]; - unsigned int *bits=(unsigned int*)info.bmBits; - { - for (int y=m_ExtraTop;y=totalHeight-slicesY[2]) - yy=bmpHeight-totalHeight+y; - else - yy=slicesY[0]+((y-slicesY[0])*slicesY[1])/(totalHeight-slicesY[0]-slicesY[2]); - if (info.bmHeight>0) - yy=info.bmHeight-yy-1; - int yw=yy*info.bmWidth; - int minx=-1, maxx=-1; - for (int x=0;x=0) - { - if (minx>=bmpWidth-slicesX2) - minx+=totalWidth-bmpWidth; - else if (minx>slicesX0) - minx=slicesX0+((minx-slicesX0)*(totalWidth-slicesX0-slicesX2))/slicesX[1]; - - if (maxx>=bmpWidth-slicesX2) - maxx+=totalWidth-bmpWidth; - else if (minx>slicesX0) - maxx=slicesX0+((maxx-slicesX0)*(totalWidth-slicesX0-slicesX2))/slicesX[1]; - - maxx++; - HRGN r=CreateRectRgn(minx,y-m_ExtraTop,maxx,y-m_ExtraTop+1); - AddTrackedObject(r); - if (!m_Region) - m_Region=r; - else - { - CombineRgn(m_Region,m_Region,r,RGN_OR); - DeleteObject(r); - } - } - } - } -} - -void CMenuContainer::DrawBackground( HDC hdc, const RECT &drawRect ) -{ - HDC hdc2=CreateCompatibleDC(hdc); - - // draw the background (bitmap or solid color) - HBITMAP bmpMain=NULL; - RECT rMarginsMain, rSrcMain; - bool bAlphaMain; - if (m_Bitmap) - { - HGDIOBJ bmp0=SelectObject(hdc2,m_Bitmap); - BitBlt(hdc,m_BitmapOffset,0,m_rMenu.right,m_rMenu.bottom,hdc2,0,0,SRCCOPY); - SelectObject(hdc2,bmp0); - bmpMain=m_Bitmap; - { RECT rc={m_rMenu.right-m_rMenu.left,m_rMenu.bottom,0,0}; rMarginsMain=rc; } - { RECT rc={0,0,m_rMenu.right-m_rMenu.left,m_rMenu.bottom}; rSrcMain=rc; } - bAlphaMain=false; - } - else if (m_bSubMenu && s_Skin.Submenu_bitmap.GetBitmap()) - { - bAlphaMain=(s_Skin.Submenu_opacity==MenuSkin::OPACITY_SOLID && s_Skin.Submenu_bitmap.bIs32); - if (bAlphaMain) - { - SetDCBrushColor(hdc,s_Skin.Submenu_background); - FillRect(hdc,&drawRect,(HBRUSH)GetStockObject(DC_BRUSH)); - } - HGDIOBJ bmp0=SelectObject(hdc2,s_Skin.Submenu_bitmap.GetBitmap()); - const int *slicesX=s_Skin.Submenu_bitmap_slices_X; - const int *slicesY=s_Skin.Submenu_bitmap_slices_Y; - RECT rSrc={0,0,slicesX[3]+slicesX[4]+slicesX[5],slicesY[0]+slicesY[1]+slicesY[2]}; - RECT rMargins={slicesX[3],slicesY[0],slicesX[5],slicesY[2]}; - RECT rDst=m_rMenu; - rDst.top-=m_ExtraTop; - rDst.bottom+=m_ExtraBottom; - MarginsBlit(hdc2,hdc,rSrc,rDst,rMargins,bAlphaMain); - SelectObject(hdc2,bmp0); - bmpMain=s_Skin.Submenu_bitmap.GetBitmap(); - rMarginsMain=rMargins; - rSrcMain=rSrc; - } - else - { - SetDCBrushColor(hdc,m_bSubMenu?s_Skin.Submenu_background:s_Skin.Main_background); - FillRect(hdc,&m_rMenu,(HBRUSH)GetStockObject(DC_BRUSH)); - } - - MenuBitmap bmpSeparatorV; - int sepWidth=0; - const int *sepSlicesY=NULL; - MenuBitmap bmpPager; - const int *pagSlicesX=NULL; - const int *pagSlicesY=NULL; - MenuBitmap bmpPagerArrows; - SIZE pagArrowSize; - MenuSkin::TOpacity opacity=m_bSubMenu?s_Skin.Submenu_opacity:s_Skin.Main_opacity; - int glow=s_Skin.ItemSettings[m_bSubMenu?MenuSkin::SUBMENU_ITEM:MenuSkin::COLUMN1_ITEM].glowSize; - if (!s_Theme) glow=0; - TRecentKeys recentType=(TRecentKeys)GetSettingInt(L"RecentProgKeys"); - - if (m_bSubMenu) - { - bmpSeparatorV=s_Skin.Submenu_separatorV; - sepWidth=s_Skin.Submenu_separatorWidth; - sepSlicesY=s_Skin.Submenu_separator_slices_Y; - - bmpPager=s_Skin.Submenu_pager; - pagSlicesX=s_Skin.Submenu_pager_slices_X; - pagSlicesY=s_Skin.Submenu_pager_slices_Y; - bmpPagerArrows=s_Skin.Submenu_pager_arrows; - pagArrowSize=s_Skin.Submenu_pager_arrow_Size; - } - else - { - bmpSeparatorV=s_Skin.Main_separatorV; - sepWidth=s_Skin.Main_separatorWidth; - sepSlicesY=s_Skin.Main_separator_slices_Y; - - bmpPager=s_Skin.Main_pager; - pagSlicesX=s_Skin.Main_pager_slices_X; - pagSlicesY=s_Skin.Main_pager_slices_Y; - bmpPagerArrows=s_Skin.Main_pager_arrows; - pagArrowSize=s_Skin.Main_pager_arrow_Size; - } - - HGDIOBJ font0=GetCurrentObject(hdc,OBJ_FONT); - SetBkMode(hdc,TRANSPARENT); - - // set clip rectangle for the scrollable items - int clipTop=m_rContent.top; - int clipBottom=m_rContent.bottom; - if (m_bScrollUp) - clipTop=m_rContent.top+m_ScrollButtonSize; - if (m_bScrollDown) - clipBottom=m_rContent.top+m_ScrollHeight-m_ScrollButtonSize; - if (m_ScrollHeight>0) - IntersectClipRect(hdc,0,clipTop,m_rMenu.right,clipBottom); - - // draw items - for (int index=0;;index++) - { - if (!m_bSubMenu) - { - if (index==m_ProgramTreeIndex) continue; - if (s_MenuMode==MODE_PROGRAMS) - { - if (index0 && index==m_ScrollCount) - { - // clean up after the scrollable items - SelectClipRgn(hdc,NULL); - if (m_bScrollUp) - { - if (glow || opacity==MenuSkin::OPACITY_FULLALPHA || opacity==MenuSkin::OPACITY_FULLGLASS) - { - // fix background behind the up button (DrawThemeTextEx may spill onto the tablecloth) - RECT rc={m_rContent.left,0,m_rContent.right,clipTop}; - if (bAlphaMain || !bmpMain) - { - SetDCBrushColor(hdc,m_bSubMenu?s_Skin.Submenu_background:s_Skin.Main_background); - FillRect(hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - if (bmpMain) - { - HGDIOBJ bmp0=SelectObject(hdc2,bmpMain); - IntersectClipRect(hdc,m_rContent.left,0,m_rContent.right,clipTop); - MarginsBlit(hdc2,hdc,rSrcMain,m_rMenu,rMarginsMain,bAlphaMain); - SelectObject(hdc2,bmp0); - SelectClipRgn(hdc,NULL); - } - } - - // draw up button - RECT rc=m_rContent; - rc.bottom=clipTop; - if (bmpPager.GetBitmap() && bmpPagerArrows.GetBitmap()) - { - // background - HGDIOBJ bmp0=SelectObject(hdc2,bmpPager.GetBitmap()); - RECT rSrc={0,0,pagSlicesX[0]+pagSlicesX[1]+pagSlicesX[2],pagSlicesY[0]+pagSlicesY[1]+pagSlicesY[2]}; - if (m_bScrollUpHot) - OffsetRect(&rSrc,0,rSrc.bottom); - RECT rMargins={pagSlicesX[0],pagSlicesY[0],pagSlicesX[2],pagSlicesY[2]}; - MarginsBlit(hdc2,hdc,rSrc,rc,rMargins,bmpPager.bIs32); - - // arrow - SelectObject(hdc2,bmpPagerArrows.GetBitmap()); - int x=(rc.left+rc.right-pagArrowSize.cx)/2; - int y=(rc.top+rc.bottom-pagArrowSize.cy)/2; - if (bmpPagerArrows.bIs32) - { - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,x,y,pagArrowSize.cx,pagArrowSize.cy,hdc2,m_bScrollUpHot?pagArrowSize.cx:0,0,pagArrowSize.cx,pagArrowSize.cy,func); - } - else - BitBlt(hdc,x,y,pagArrowSize.cx,pagArrowSize.cy,hdc2,m_bScrollUpHot?pagArrowSize.cx:0,0,SRCCOPY); - SelectObject(hdc2,bmp0); - } - else - { - if (s_PagerTheme) - DrawThemeBackground(s_PagerTheme,hdc,SBP_ARROWBTN,(m_bScrollUpHot?ABS_UPHOT:ABS_UPHOVER),&rc,NULL); - else - DrawFrameControl(hdc,&rc,DFC_SCROLL,DFCS_SCROLLUP|DFCS_FLAT|(m_bScrollUpHot?DFCS_PUSHED:0)); - } - } - if (m_bScrollDown) - { - int bottom=clipBottom+s_Skin.ItemSettings[m_bSubMenu?MenuSkin::SUBMENU_ITEM:MenuSkin::COLUMN1_ITEM].itemHeight; - if (bottom>=m_rMenu.bottom) bottom=m_rMenu.bottom; - if (bottom>clipBottom && (glow || opacity==MenuSkin::OPACITY_FULLALPHA || opacity==MenuSkin::OPACITY_FULLGLASS)) - { - // fix background behind the up button (DrawThemeTextEx may spill onto the tablecloth) - RECT rc={m_rContent.left,clipBottom,m_rContent.right,bottom}; - if (bAlphaMain || !bmpMain) - { - SetDCBrushColor(hdc,m_bSubMenu?s_Skin.Submenu_background:s_Skin.Main_background); - FillRect(hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - if (bmpMain) - { - HGDIOBJ bmp0=SelectObject(hdc2,bmpMain); - IntersectClipRect(hdc,m_rContent.left,clipBottom,m_rContent.right,bottom); - MarginsBlit(hdc2,hdc,rSrcMain,m_rMenu,rMarginsMain,bAlphaMain); - SelectObject(hdc2,bmp0); - SelectClipRgn(hdc,NULL); - } - } - - // draw down button - RECT rc=m_rContent; - rc.bottom=m_rContent.top+m_ScrollHeight; - rc.top=clipBottom; - if (bmpPager.GetBitmap() && bmpPagerArrows.GetBitmap()) - { - // background - HGDIOBJ bmp0=SelectObject(hdc2,bmpPager.GetBitmap()); - RECT rSrc={0,0,pagSlicesX[0]+pagSlicesX[1]+pagSlicesX[2],pagSlicesY[0]+pagSlicesY[1]+pagSlicesY[2]}; - if (m_bScrollDownHot) - OffsetRect(&rSrc,0,rSrc.bottom); - RECT rMargins={pagSlicesX[0],pagSlicesY[0],pagSlicesX[2],pagSlicesY[2]}; - MarginsBlit(hdc2,hdc,rSrc,rc,rMargins,bmpPager.bIs32); - - // arrow - SelectObject(hdc2,bmpPagerArrows.GetBitmap()); - int x=(rc.left+rc.right-pagArrowSize.cx)/2; - int y=(rc.top+rc.bottom-pagArrowSize.cy)/2; - if (bmpPagerArrows.bIs32) - { - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,x,y,pagArrowSize.cx,pagArrowSize.cy,hdc2,m_bScrollDownHot?pagArrowSize.cx:0,pagArrowSize.cy,pagArrowSize.cx,pagArrowSize.cy,func); - } - else - BitBlt(hdc,x,y,pagArrowSize.cx,pagArrowSize.cy,hdc2,m_bScrollDownHot?pagArrowSize.cx:0,pagArrowSize.cy,SRCCOPY); - SelectObject(hdc2,bmp0); - } - else - { - if (s_PagerTheme) - DrawThemeBackground(s_PagerTheme,hdc,SBP_ARROWBTN,(m_bScrollDownHot?ABS_DOWNHOT:ABS_DOWNHOVER),&rc,NULL); - else - DrawFrameControl(hdc,&rc,DFC_SCROLL,DFCS_SCROLLDOWN|DFCS_FLAT|(m_bScrollDownHot?DFCS_PUSHED:0)); - } - } - } - - if (index>=(int)m_Items.size()) break; - const MenuItem &item=m_Items[index]; - - RECT itemRect=item.itemRect; - // ignore offscreen items - if (m_ScrollHeight>0 && index=clipBottom) continue; - } - else if (m_SearchScrollCount>m_SearchScrollHeight && index>=m_OriginalCount) - { - if (index-m_OriginalCount=m_SearchScrollPos+m_SearchScrollHeight) - continue; - OffsetRect(&itemRect,0,-m_SearchScrollPos*(itemRect.bottom-itemRect.top)); - } - { - RECT q; - if (!IntersectRect(&q,&drawRect,&itemRect)) - continue; - } - - bool bHot=(index==m_HotItem || index==m_SubJumpItem || (m_HotItem==-1 && (index==m_Submenu || index==m_ContextItem))); - bool bSplit=false; - int stateLeft=0, stateRight=0; - bool bNew=!bHot && item.bNew && !(s_bWin7Style && item.id==MENU_PROGRAMS && s_MenuMode==MODE_PROGRAMS); - MenuSkin::TItemDrawType drawType=item.drawType; - if (!bNew) - { - if (drawType==MenuSkin::COLUMN1_NEW) - drawType=MenuSkin::COLUMN1_ITEM; - else if (drawType==MenuSkin::COLUMN2_NEW) - drawType=MenuSkin::COLUMN2_ITEM; - else if (drawType==MenuSkin::PROGRAMS_BUTTON_NEW) - drawType=MenuSkin::PROGRAMS_BUTTON; - else if (drawType==MenuSkin::PROGRAMS_CASCADING_NEW) - drawType=MenuSkin::PROGRAMS_CASCADING; - else if (drawType==MenuSkin::SUBMENU_NEW) - drawType=MenuSkin::SUBMENU_ITEM; - - if (!bHot && index==m_DropTargetIndex) - { - if (drawType==MenuSkin::COLUMN1_SPLIT) - drawType=MenuSkin::COLUMN1_ITEM; - if (drawType==MenuSkin::COLUMN2_SPLIT) - drawType=MenuSkin::COLUMN2_ITEM; - } - } - - if (item.id==MENU_SEARCH_BOX) - { - itemRect.left=itemRect.right-(itemRect.bottom-itemRect.top); - bHot=(index==m_HotItem && m_SearchState>=SEARCH_TEXT); - } - if (item.id==MENU_PROGRAMS_TREE) - bHot=false; - int splitX=itemRect.right; - const MenuSkin::ItemDrawSettings &settings=s_Skin.ItemSettings[drawType]; - int glowSize=s_Theme?settings.glowSize:0; - - if (bHot || bNew || item.id==MENU_SHUTDOWN_BUTTON || index==m_DropTargetIndex) - { - if (bHot || item.id==MENU_SHUTDOWN_BUTTON) - { - bSplit=(item.bSplit && (item.bFolder || item.jumpIndex>=0 || item.id==MENU_SEARCH_CATEGORY || item.id==MENU_SHUTDOWN_BUTTON)); - if (item.id==MENU_SHUTDOWN_BUTTON) - { - if (GetCapture()==m_hWnd) - { - if (index==m_ClickIndex && !m_bClickArrow && index==m_HotItem && !m_bHotArrow) - stateLeft=2; - else if (index==m_ClickIndex || index==m_Submenu || index==m_SubJumpItem) - stateLeft=1; - } - else if (index==m_HotItem || index==m_Submenu || index==m_SubJumpItem) - stateLeft=1; - - if (index==m_Submenu || index==m_SubJumpItem) - stateRight=2; - else if (GetCapture()==m_hWnd) - { - if (index==m_ClickIndex && m_bClickArrow && index==m_HotItem && m_bHotArrow) - stateRight=2; - } - else if (index==m_HotItem) - stateRight=1; - } - else - { - if ((index==m_HotItem && !m_bHotArrow) || index==m_ContextItem) - stateLeft=1; - if ((index==m_HotItem && m_bHotArrow) || index==m_Submenu || index==m_SubJumpItem || index==m_ContextItem) - stateRight=1; - } - splitX=itemRect.right-settings.arrPadding.cx-settings.arrPadding.cy-1; - if (item.jumpIndex>=0) - splitX-=s_Skin.Pin_bitmap_Size.cx; - else if (item.id==MENU_SEARCH_CATEGORY) - splitX-=s_Skin.More_bitmap_Size.cx; - else - splitX-=settings.arrSize.cx; - } - // draw selection background - if (bSplit && settings.bmpSelection.GetBitmap()) - { - int srcHeight=settings.selSlicesY[0]+settings.selSlicesY[1]+settings.selSlicesY[2]; - HGDIOBJ bmp0=SelectObject(hdc2,settings.bmpSelection.GetBitmap()); - { - // draw left half - RECT rSrc={0,0,settings.selSlicesX[0]+settings.selSlicesX[1]+settings.selSlicesX[2],srcHeight}; - OffsetRect(&rSrc,0,srcHeight*stateLeft); - RECT rMargins={settings.selSlicesX[0],settings.selSlicesY[0],settings.selSlicesX[2],settings.selSlicesY[2]}; - RECT itemRect2=itemRect; - itemRect2.right=splitX; - int w=itemRect2.right-itemRect2.left; - int h=itemRect2.bottom-itemRect2.top; - if (rMargins.left>w) rMargins.left=w; - if (rMargins.right>w) rMargins.right=w; - if (rMargins.top>h) rMargins.top=h; - if (rMargins.bottom>h) rMargins.bottom=h; - MarginsBlit(hdc2,hdc,rSrc,itemRect2,rMargins,settings.bmpSelection.bIs32); - } - { - // draw right half - RECT rSrc={settings.selSlicesX[0]+settings.selSlicesX[1]+settings.selSlicesX[2],0,0,srcHeight}; - OffsetRect(&rSrc,0,srcHeight*stateRight); - rSrc.right=rSrc.left+settings.selSlicesX[3]+settings.selSlicesX[4]+settings.selSlicesX[5]; - RECT rMargins={settings.selSlicesX[3],settings.selSlicesY[0],settings.selSlicesX[5],settings.selSlicesY[2]}; - RECT itemRect2=itemRect; - itemRect2.left=splitX; - int w=itemRect2.right-itemRect2.left; - int h=itemRect2.bottom-itemRect2.top; - if (rMargins.left>w) rMargins.left=w; - if (rMargins.right>w) rMargins.right=w; - if (rMargins.top>h) rMargins.top=h; - if (rMargins.bottom>h) rMargins.bottom=h; - MarginsBlit(hdc2,hdc,rSrc,itemRect2,rMargins,settings.bmpSelection.bIs32); - } - SelectObject(hdc2,bmp0); - } - else if (settings.bmpSelection.GetBitmap()) - { - HGDIOBJ bmp0=SelectObject(hdc2,settings.bmpSelection.GetBitmap()); - RECT rSrc={0,0,settings.selSlicesX[0]+settings.selSlicesX[1]+settings.selSlicesX[2],settings.selSlicesY[0]+settings.selSlicesY[1]+settings.selSlicesY[2]}; - { - RECT rMargins={settings.selSlicesX[0],settings.selSlicesY[0],settings.selSlicesX[2],settings.selSlicesY[2]}; - RECT itemRect2=itemRect; - if (bSplit) itemRect2.right=splitX; - int w=itemRect2.right-itemRect2.left; - int h=itemRect2.bottom-itemRect2.top; - if (rMargins.left>w) rMargins.left=w; - if (rMargins.right>w) rMargins.right=w; - if (rMargins.top>h) rMargins.top=h; - if (rMargins.bottom>h) rMargins.bottom=h; - MarginsBlit(hdc2,hdc,rSrc,itemRect2,rMargins,settings.bmpSelection.bIs32); - } - if (bSplit) - { - RECT rMargins={settings.selSlicesX[0],settings.selSlicesY[0],settings.selSlicesX[2],settings.selSlicesY[2]}; - RECT itemRect2=itemRect; - itemRect2.left=splitX; - int w=itemRect2.right-itemRect2.left; - int h=itemRect2.bottom-itemRect2.top; - if (rMargins.left>w) rMargins.left=w; - if (rMargins.right>w) rMargins.right=w; - if (rMargins.top>h) rMargins.top=h; - if (rMargins.bottom>h) rMargins.bottom=h; - MarginsBlit(hdc2,hdc,rSrc,itemRect2,rMargins,settings.bmpSelection.bIs32); - } - SelectObject(hdc2,bmp0); - } - else if (item.id==MENU_SHUTDOWN_BUTTON) - { - RECT itemRect2=itemRect; - itemRect2.right=splitX; - DrawEdge(hdc,&itemRect2,stateLeft==2?BDR_SUNKENOUTER:BDR_RAISEDINNER,BF_RECT|BF_MIDDLE); - if (bHot && m_Submenu==-1 && s_bKeyboardCues) - { - RECT focus=itemRect2; - if (s_Skin.Dpi>=144) - InflateRect(&focus,-3,-3); - else - InflateRect(&focus,-2,-2); - SetBkColor(hdc,0); - SetTextColor(hdc,0xFFFFFF); - DrawFocusRect(hdc,&focus); - } - itemRect2.left=itemRect2.right; - itemRect2.right=itemRect.right; - DrawEdge(hdc,&itemRect2,stateRight==2?BDR_SUNKENOUTER:BDR_RAISEDINNER,BF_RECT|BF_MIDDLE); - } - else - { - SetDCBrushColor(hdc,settings.bmpSelection.GetColor()); - SetDCPenColor(hdc,settings.bmpSelection.GetColor()); - if (bSplit) - { - if (stateLeft>0) - { - RECT itemRect2=itemRect; - itemRect2.right=splitX; - FillRect(hdc,&itemRect2,(HBRUSH)GetStockObject(DC_BRUSH)); - } - else - { - SelectObject(hdc,GetStockObject(DC_PEN)); - SelectObject(hdc,GetStockObject(NULL_BRUSH)); - Rectangle(hdc,itemRect.left,itemRect.top,splitX+1,itemRect.bottom); - } - if (stateRight>0) - { - RECT itemRect2=itemRect; - itemRect2.left=splitX+1; - FillRect(hdc,&itemRect2,(HBRUSH)GetStockObject(DC_BRUSH)); - } - else - { - SelectObject(hdc,GetStockObject(DC_PEN)); - SelectObject(hdc,GetStockObject(NULL_BRUSH)); - Rectangle(hdc,splitX-1,itemRect.top,itemRect.right,itemRect.bottom); - } - } - else - { - FillRect(hdc,&itemRect,(HBRUSH)GetStockObject(DC_BRUSH)); - } - } - } - - if (item.id==MENU_SEPARATOR || item.id==MENU_SEARCH_CATEGORY) - { - // draw separator - if (!item.bBlankSeparator && itemRect.bottom>itemRect.top) - { - RECT itemRect2=itemRect; - if (item.id==MENU_SEARCH_CATEGORY) - { - itemRect2.left+=settings.iconPadding.left; - if (item.bSplit) - itemRect2.right=splitX; - if (s_Skin.Search_arrow.GetBitmap()) - { - int x=itemRect2.left; - int y=(itemRect2.top+itemRect2.bottom-s_Skin.Search_arrow_size.cy)/2; - int v=(m_SearchCategoryHash==item.categoryHash?s_Skin.Search_arrow_size.cy:0); - HGDIOBJ bmp0=SelectObject(hdc2,s_Skin.Search_arrow.GetBitmap()); - if (s_Skin.Search_arrow.bIs32) - { - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,x,y,s_Skin.Search_arrow_size.cx,s_Skin.Search_arrow_size.cy,hdc2,0,v,s_Skin.Search_arrow_size.cx,s_Skin.Search_arrow_size.cy,func); - } - else - BitBlt(hdc,x,y,s_Skin.Search_arrow_size.cx,s_Skin.Search_arrow_size.cy,hdc2,0,v,SRCCOPY); - SelectObject(hdc2,bmp0); - itemRect2.left+=settings.iconPadding.right+s_Skin.Search_arrow_size.cx; - } - else - { - const POINT *sizes=s_Skin.GetArrowsBitmapSizes(); - int x=itemRect2.left; - int y=(itemRect2.top+itemRect2.bottom-sizes[6].y)/2; - HGDIOBJ bmp0=SelectObject(hdc2,GetArrowsBitmap(settings.arrColors[((bHot && (!bSplit || stateLeft>0))?1:0)])); - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - if (m_SearchCategoryHash==item.categoryHash) - { - SIZE s={sizes[5].y-sizes[5].x,sizes[6].y}; - AlphaBlend(hdc,x,y,s.cx,s.cy,hdc2,s_bRTL?sizes[6].x-sizes[5].y:sizes[5].x,0,s.cx,s.cy,func); - } - else - { - SIZE s={sizes[3].y-sizes[3].x,sizes[6].y}; - int dx=(sizes[5].y-sizes[5].x-s.cx+1)/2; - AlphaBlend(hdc,x+dx,y,s.cx,s.cy,hdc2,s_bRTL?sizes[6].x-sizes[4].y:sizes[3].x,0,s.cx,s.cy,func); - } - SelectObject(hdc2,bmp0); - itemRect2.left+=settings.iconPadding.right+sizes[5].y-sizes[5].x+1; - } - } - if (!item.name.IsEmpty()) - { - if (item.id==MENU_SEARCH_CATEGORY && !item.bSplit && item.categoryHash>=CSearchManager::CATEGORY_FILE && index==m_HotItem && m_bHotArrow) - SelectObject(hdc,s_Skin.Search_underline_font); - else - SelectObject(hdc,settings.font); - - COLORREF color=settings.textColors[(bHot && (!bSplit || stateLeft>0))?1:0]; - COLORREF shadowColor=settings.textShadowColors[(bHot && (!bSplit || stateLeft>0))?1:0]; - RECT rc={itemRect2.left+settings.textPadding.left,itemRect2.top+settings.textTopOffset+settings.textPadding.top-settings.textPadding.bottom, - itemRect2.right-settings.arrSize.cx-settings.arrPadding.cx-settings.arrPadding.cy-settings.textPadding.right,itemRect2.bottom-settings.textTopOffset}; - DWORD flags=DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS|DT_NOPREFIX; - if (s_Theme) - { - DTTOPTS opts={sizeof(opts),DTT_TEXTCOLOR}; - if (glowSize || settings.opacity==MenuSkin::OPACITY_FULLALPHA || settings.opacity==MenuSkin::OPACITY_FULLGLASS) - opts.dwFlags|=DTT_COMPOSITED; - if (glowSize) - { - opts.dwFlags|=DTT_GLOWSIZE; - opts.iGlowSize=glowSize; - } - if (shadowColor!=0xFFFFFFFF) - { - opts.crText=shadowColor; - RECT rc2=rc; - OffsetRect(&rc2,1,1); - DrawThemeTextEx(s_Theme,hdc,0,0,item.name,item.name.GetLength(),flags,&rc2,&opts); - } - opts.crText=color; - DrawThemeTextEx(s_Theme,hdc,0,0,item.name,item.name.GetLength(),flags,&rc,&opts); - } - else - { - if (shadowColor!=0xFFFFFFFF) - { - RECT rc2=rc; - OffsetRect(&rc2,1,1); - SetTextColor(hdc,shadowColor); - DrawText(hdc,item.name,item.name.GetLength(),&rc,flags); - } - - SetTextColor(hdc,color); - DrawText(hdc,item.name,item.name.GetLength(),&rc,flags); - } - SIZE size; - GetTextExtentPoint32(hdc,item.name,item.name.GetLength(),&size); - itemRect2.left=rc.left+size.cx+settings.textPadding.right; - } - if (itemRect2.left=30) - { - iconSize=20; - iconY=16; - if (s_bRTL) - icon--; - } - HGDIOBJ bmp0=SelectObject(hdc2,searchIcons.GetBitmap()); - RECT rSrc={0,0,iconSize,iconSize}; - RECT rDst=rSrc; - OffsetRect(&rSrc,iconSize*icon,iconY); - OffsetRect(&rDst,(itemRect.right+itemRect.left-iconSize)/2,(itemRect.bottom+itemRect.top-iconSize)/2); - RECT rMargins={0,0,0,0}; - MarginsBlit(hdc2,hdc,rSrc,rDst,rMargins,searchIcons.bIs32); - SelectObject(hdc2,bmp0); - continue; - } - - bool bNoIcon=!item.bInline && settings.iconSize==MenuSkin::ICON_SIZE_NONE; - SIZE iconSize; - if (settings.iconSize==MenuSkin::ICON_SIZE_SMALL) - iconSize.cx=iconSize.cy=g_ItemManager.SMALL_ICON_SIZE; - else if (settings.iconSize==MenuSkin::ICON_SIZE_LARGE) - iconSize.cx=iconSize.cy=g_ItemManager.LARGE_ICON_SIZE; - else if (settings.iconSize==MenuSkin::ICON_SIZE_PROGRAMS) - { - if (s_Skin.Programs_icon.GetBitmap()) - iconSize=s_Skin.Programs_icon_size; - else - { - iconSize.cx=s_Skin.ItemSettings[MenuSkin::COLUMN1_ITEM].iconSize==MenuSkin::ICON_SIZE_SMALL?g_ItemManager.SMALL_ICON_SIZE:g_ItemManager.LARGE_ICON_SIZE; - iconSize.cy=7; - } - } - else - iconSize.cx=iconSize.cy=0; - - // draw icon - if (drawType==MenuSkin::PROGRAMS_BUTTON || drawType==MenuSkin::PROGRAMS_BUTTON_NEW) - { - if (s_Skin.Programs_icon.GetBitmap()) - { - int iconX=itemRect.left+settings.iconPadding.left; - int iconY=itemRect.top+settings.iconPadding.top+settings.iconTopOffset; - const MenuBitmap &icon=bHot?s_Skin.Programs_icon_selected:s_Skin.Programs_icon; - HGDIOBJ bmp0=SelectObject(hdc2,icon.GetBitmap()); - if (icon.bIs32) - { - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,iconX,iconY,s_Skin.Programs_icon_size.cx,s_Skin.Programs_icon_size.cy,hdc2,0,s_MenuMode==MODE_PROGRAMS?s_Skin.Programs_icon_size.cy:0,s_Skin.Programs_icon_size.cx,s_Skin.Programs_icon_size.cy,func); - } - else - BitBlt(hdc,iconX,iconY,s_Skin.Programs_icon_size.cx,s_Skin.Programs_icon_size.cy,hdc2,0,s_MenuMode==MODE_PROGRAMS?s_Skin.Programs_icon_size.cy:0,SRCCOPY); - SelectObject(hdc2,bmp0); - } - else - { - const POINT *sizes=s_Skin.GetArrowsBitmapSizes(); - SIZE s={sizes[4].y-sizes[4].x,sizes[6].y}; - int x=itemRect.left+settings.arrPadding.cx; - int y=(itemRect.top+itemRect.bottom-s.cy)/2; - HGDIOBJ bmp0=SelectObject(hdc2,GetArrowsBitmap(settings.arrColors[bHot?1:0])); - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - if (s_MenuMode==MODE_PROGRAMS) - { - AlphaBlend(hdc,x,y,s.cx,s.cy,hdc2,s_bRTL?sizes[6].x-sizes[3].y:sizes[4].x,0,s.cx,s.cy,func); - } - else - { - AlphaBlend(hdc,x,y,s.cx,s.cy,hdc2,s_bRTL?sizes[6].x-sizes[4].y:sizes[3].x,0,s.cx,s.cy,func); - } - SelectObject(hdc2,bmp0); - } - } - else if (item.pItemInfo && !bNoIcon) - { - int iconX=itemRect.left+settings.iconPadding.left; - int iconY=itemRect.top+settings.iconPadding.top+settings.iconTopOffset; - if (settings.bmpIconFrame.GetBitmap()) - { - HGDIOBJ bmp0=SelectObject(hdc2,settings.bmpIconFrame.GetBitmap()); - RECT rSrc={0,0,settings.frameSlicesX[0]+settings.frameSlicesX[1]+settings.frameSlicesX[2],settings.frameSlicesY[0]+settings.frameSlicesY[1]+settings.frameSlicesY[2]}; - if (bHot) - OffsetRect(&rSrc,rSrc.right,0); - RECT rDst={iconX,iconY,iconX+iconSize.cx,iconY+iconSize.cy}; - InflateRect(&rDst,settings.iconFrameOffset.x,settings.iconFrameOffset.y); - RECT rMargins={settings.frameSlicesX[0],settings.frameSlicesY[0],settings.frameSlicesX[2],settings.frameSlicesY[2]}; - MarginsBlit(hdc2,hdc,rSrc,rDst,rMargins,settings.bmpIconFrame.bIs32); - SelectObject(hdc2,bmp0); - } - const CItemManager::IconInfo *pIcon=(settings.iconSize==MenuSkin::ICON_SIZE_LARGE)?item.pItemInfo->largeIcon:item.pItemInfo->smallIcon; - if (pIcon && pIcon->bitmap) - { - BITMAP info; - GetObject(pIcon->bitmap,sizeof(info),&info); - HGDIOBJ bmp0=SelectObject(hdc2,pIcon->bitmap); - if (bmp0) - { - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,iconX,iconY,iconSize.cx,iconSize.cy,hdc2,0,0,info.bmWidth,info.bmHeight,func); - SelectObject(hdc2,bmp0); - } - } - } - else if (item.id==MENU_SHUTDOWN_BUTTON && s_bHasUpdates && s_Skin.Shutdown_bitmap.GetBitmap()) - { - int iconX=itemRect.left+settings.iconPadding.left; - int iconY=itemRect.top+settings.iconPadding.top+settings.iconTopOffset; - if (stateLeft==2 && !settings.bmpSelection.GetBitmap()) - iconX++, iconY++; - HGDIOBJ bmp0=SelectObject(hdc2,s_Skin.Shutdown_bitmap.GetBitmap()); - if (s_Skin.Shutdown_bitmap.bIs32) - { - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,iconX,iconY,s_Skin.Shutdown_bitmap_Size.cx,s_Skin.Shutdown_bitmap_Size.cy,hdc2,0,0,s_Skin.Shutdown_bitmap_Size.cx,s_Skin.Shutdown_bitmap_Size.cy,func); - } - else - BitBlt(hdc,iconX,iconY,s_Skin.Shutdown_bitmap_Size.cx,s_Skin.Shutdown_bitmap_Size.cy,hdc2,0,0,SRCCOPY); - SelectObject(hdc2,bmp0); - } - - - // draw text - SelectObject(hdc,settings.font); - COLORREF color, shadowColor; - bool bHotColor=(bHot && !bSplit) || stateLeft>0; - if (item.id==MENU_EMPTY || item.id==MENU_EMPTY_TOP) - { - color=settings.textColors[bHotColor?3:2]; - shadowColor=settings.textShadowColors[bHotColor?3:2]; - } - else - { - color=settings.textColors[bHotColor?1:0]; - shadowColor=settings.textShadowColors[bHotColor?1:0]; - } - RECT rc={itemRect.left+settings.iconPadding.left+settings.iconPadding.right+settings.textPadding.left,itemRect.top+settings.textPadding.top, - itemRect.right-settings.arrPadding.cx-settings.arrPadding.cy-settings.textPadding.right,itemRect.bottom-settings.textPadding.bottom}; - if (item.id==MENU_SHUTDOWN_BUTTON) - { - if (s_bHasUpdates && s_Skin.Shutdown_bitmap.GetBitmap()) - rc.left+=s_Skin.Shutdown_bitmap_Size.cx-settings.iconPadding.left-settings.iconPadding.right; - if (stateLeft==2 && !settings.bmpSelection.GetBitmap()) - OffsetRect(&rc,1,1); - } - if (s_MenuMode==MODE_SEARCH && !m_bSubMenu && item.id==MENU_NO && index>=m_OriginalCount) - rc.right+=settings.arrPadding.cx+settings.arrPadding.cy; - else - rc.right-=(item.jumpIndex>=0)?s_Skin.Pin_bitmap_Size.cx:settings.arrSize.cx; - if (!bNoIcon) - rc.left+=iconSize.cx; - - DWORD flags=DT_END_ELLIPSIS; - if (item.id==MENU_NO || (item.id==MENU_RECENT && recentType!=RECENT_KEYS_DIGITS)) - flags|=DT_NOPREFIX; - else if (!s_bKeyboardCues) - flags|=DT_HIDEPREFIX; - - CString name; - if (drawType==MenuSkin::PROGRAMS_BUTTON || drawType==MenuSkin::PROGRAMS_BUTTON_NEW || drawType==MenuSkin::PROGRAMS_CASCADING || drawType==MenuSkin::PROGRAMS_CASCADING_NEW) - name=s_MenuMode==MODE_PROGRAMS?FindTranslation(L"Menu.Back",L"Back"):FindTranslation(L"Menu.AllPrograms",L"All Programs"); - else - name=item.name; - - if (settings.textMetrics.tmHeight*2<=rc.bottom-rc.top) - { - // if the height can fit two lines, see if we can make use of them - RECT rc2={0,0,rc.right-rc.left,0}; - DrawText(hdc,name,name.GetLength(),&rc2,flags|DT_WORDBREAK|DT_CALCRECT); - if (2*rc2.bottom>settings.textMetrics.tmHeight*3) - { - flags|=DT_EDITCONTROL|DT_WORDBREAK; - int d=rc.bottom-rc.top-settings.textMetrics.tmHeight*2; - rc.top+=d/2; - } - } - if (!(flags&DT_WORDBREAK)) - flags|=DT_VCENTER|DT_SINGLELINE; - - if (s_Theme) - { - DTTOPTS opts={sizeof(opts),DTT_TEXTCOLOR}; - if (glowSize || settings.opacity==MenuSkin::OPACITY_FULLALPHA || settings.opacity==MenuSkin::OPACITY_FULLGLASS) - opts.dwFlags|=DTT_COMPOSITED; - if (glowSize) - { - opts.dwFlags|=DTT_GLOWSIZE; - opts.iGlowSize=glowSize; - } - if (shadowColor!=0xFFFFFFFF) - { - opts.crText=shadowColor; - RECT rc2=rc; - OffsetRect(&rc2,1,1); - DrawThemeTextEx(s_Theme,hdc,0,0,name,name.GetLength(),flags,&rc2,&opts); - } - opts.crText=color; - DrawThemeTextEx(s_Theme,hdc,0,0,name,name.GetLength(),flags,&rc,&opts); - } - else - { - if (shadowColor!=0xFFFFFFFF) - { - RECT rc2=rc; - OffsetRect(&rc2,1,1); - SetTextColor(hdc,shadowColor); - DrawText(hdc,item.name,item.name.GetLength(),&rc,flags); - } - - SetTextColor(hdc,color); - DrawText(hdc,name,name.GetLength(),&rc,flags); - } - - if (item.bFolder && drawType!=MenuSkin::PROGRAMS_BUTTON && drawType!=MenuSkin::PROGRAMS_BUTTON_NEW) - { - // draw the sub-menu arrows - bool bHotArrow=(bHot && !bSplit) || stateRight>0; - if (settings.bmpArrow.GetBitmap()) - { - int x=itemRect.right-settings.arrPadding.cy-settings.arrSize.cx; - int y=(itemRect.top+itemRect.bottom-settings.arrSize.cy)/2; - if (stateRight==2 && !settings.bmpSelection.GetBitmap()) - x++, y++; - HGDIOBJ bmp0=SelectObject(hdc2,settings.bmpArrow.GetBitmap()); - if (settings.bmpArrow.bIs32) - { - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,x,y,settings.arrSize.cx,settings.arrSize.cy,hdc2,0,bHotArrow?settings.arrSize.cy:0,settings.arrSize.cx,settings.arrSize.cy,func); - } - else - { - BitBlt(hdc,x,y,settings.arrSize.cx,settings.arrSize.cy,hdc2,0,bHotArrow?settings.arrSize.cy:0,SRCCOPY); - } - SelectObject(hdc2,bmp0); - } - else - { - const POINT *sizes=s_Skin.GetArrowsBitmapSizes(); - SIZE s={sizes[3].y-sizes[3].x,sizes[6].y}; - int x=itemRect.right-settings.arrPadding.cy-s.cx; - int y=(itemRect.top+itemRect.bottom-s.cy)/2; - if (stateRight==2 && !settings.bmpSelection.GetBitmap()) - x++, y++; - HGDIOBJ bmp0=SelectObject(hdc2,GetArrowsBitmap(settings.arrColors[bHotArrow?1:0])); - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,x,y,s.cx,s.cy,hdc2,s_bRTL?sizes[6].x-sizes[4].y:sizes[3].x,0,s.cx,s.cy,func); - SelectObject(hdc2,bmp0); - } - } - else if (bHot && item.bSplit && item.jumpIndex>=0) - { - int x=itemRect.right-settings.arrPadding.cy-s_Skin.Pin_bitmap_Size.cx; - int y=(itemRect.top+itemRect.bottom-s_Skin.Pin_bitmap_Size.cy)/2; - HGDIOBJ bmp0=SelectObject(hdc2,s_Skin.Pin_bitmap.GetBitmap()); - bool bPinned=s_JumpList.groups[LOWORD(item.jumpIndex)].type==CJumpGroup::TYPE_PINNED; - if (s_Skin.Pin_bitmap.bIs32) - { - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,x,y,s_Skin.Pin_bitmap_Size.cx,s_Skin.Pin_bitmap_Size.cy,hdc2,bPinned?s_Skin.Pin_bitmap_Size.cx:0,stateRight==0?s_Skin.Pin_bitmap_Size.cy:0,s_Skin.Pin_bitmap_Size.cx,s_Skin.Pin_bitmap_Size.cy,func); - } - else - { - BitBlt(hdc,x,y,s_Skin.Pin_bitmap_Size.cx,s_Skin.Pin_bitmap_Size.cy,hdc2,bPinned?s_Skin.Pin_bitmap_Size.cx:0,stateRight==0?s_Skin.Pin_bitmap_Size.cy:0,SRCCOPY); - } - SelectObject(hdc2,bmp0); - } - } - - // draw vertical separators - if (m_bSubMenu && m_ColumnOffsets.size()>1) - { - if (bmpSeparatorV.GetBitmap()) - { - HGDIOBJ bmp0=SelectObject(hdc2,bmpSeparatorV.GetBitmap()); - RECT rSrc={0,0,sepWidth,sepSlicesY[0]+sepSlicesY[1]+sepSlicesY[2]}; - RECT rMargins={0,sepSlicesY[0],0,sepSlicesY[2]}; - for (size_t i=1;i>24; - a=remapAlpha[a]; - pixel=(a<<24)|(pixel&0xFFFFFF); - } - } - SelectObject(hdcPaint,bmp); - DeleteObject(bmp0); - } - if (m_SearchBox.m_hWnd && ((uMsg==WM_PRINTCLIENT && (lParam&PRF_CHILDREN)) || (uMsg==WM_PAINT && !m_bSearchDrawn))) - { - RECT rc; - GetWindowRect(&rc); - m_SearchBox.GetWindowRect(&rc); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&rc,2); - - // print the editbox to a new bitmap, and then blit to hdcPaint. printing directly into hdcPaint doesn't quite work with RTL - HDC hdcSearch=CreateCompatibleDC(hdcPaint); - HBITMAP bmpSearch=CreateCompatibleBitmap(hdcPaint,rc.right-rc.left,rc.bottom-rc.top); - HGDIOBJ bmp0=SelectObject(hdcSearch,bmpSearch); - - if (s_bRTL) SetLayout(hdcSearch,0); - m_SearchBox.SendMessage(WM_PRINTCLIENT,(WPARAM)hdcSearch,PRF_CLIENT); - if (s_bRTL) SetLayout(hdcSearch,LAYOUT_RTL); - BitBlt(hdcPaint,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top,hdcSearch,0,0,SRCCOPY); - BufferedPaintSetAlpha(hBufferedPaint,&rc,255); - SelectObject(hdcSearch,bmp0); - DeleteDC(hdcSearch); - DeleteObject(bmpSearch); - } - if (m_pProgramsTree && s_MenuMode==MODE_PROGRAMS) - { - bool bDrawTree=(uMsg==WM_PAINT && (m_PaintOffset.x!=0 || m_PaintOffset.y!=0)) || (uMsg==WM_PRINTCLIENT && (lParam&PRF_CHILDREN)); - if (bDrawTree) - { - RECT rc; - m_pProgramsTree->GetWindowRect(&rc); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&rc,2); - SetViewportOrgEx(hdcPaint,rc.left,rc.top,NULL); - m_pProgramsTree->GetClientRect(&rc); - m_pProgramsTree->DrawTree(hdcPaint,rc); - m_pProgramsTree->Print(hdcPaint,PRF_NONCLIENT); - SetViewportOrgEx(hdcPaint,0,0,NULL); - } - } - if (opacity==MenuSkin::OPACITY_REGION && uMsg==WM_PRINTCLIENT && m_bSubMenu && s_Skin.Submenu_bitmap.bIsBitmap && !s_Skin.Submenu_bitmap.bIs32) - { - // if the bitmap is 24-bit, the alpha channel may be undefined - BufferedPaintSetAlpha(hBufferedPaint,&ps.rcPaint,255); - } - else - { - if (s_OldMenuState.mode==MODE_UNKNOWN) - { - if (opacity==MenuSkin::OPACITY_GLASS || opacity==MenuSkin::OPACITY_ALPHA || (opacity==MenuSkin::OPACITY_REGION && uMsg==WM_PRINTCLIENT)) - { - RECT rc; - IntersectRect(&rc,&ps.rcPaint,&m_rContent); - BufferedPaintSetAlpha(hBufferedPaint,&rc,255); - } - if (m_bTwoColumns && (opacity2==MenuSkin::OPACITY_GLASS || opacity2==MenuSkin::OPACITY_ALPHA || (opacity2==MenuSkin::OPACITY_REGION && uMsg==WM_PRINTCLIENT))) - { - RECT rc; - IntersectRect(&rc,&ps.rcPaint,&m_rContent2); - BufferedPaintSetAlpha(hBufferedPaint,&rc,255); - } - } - if (m_SearchIndex>=0 && s_bWin7Style && ((s_Skin.Search_background_jump.GetBitmap() && !s_Skin.Search_background_jump.bIs32) || !s_Skin.Search_background_jump.bIsBitmap)) - { - RECT padding; - if (s_MenuMode==MODE_SEARCH) - padding=s_Skin.Search_background_search_padding; - else if (s_MenuMode==MODE_JUMPLIST) - padding=s_Skin.Search_background_jump_padding; - else - padding=s_Skin.Search_background_padding; - RECT rcSearch; - rcSearch.left=m_rContent.right-padding.left; - rcSearch.right=m_rContent2.left+padding.right; - rcSearch.top=m_Items[m_SearchIndex].itemRect.top-s_Skin.Search_padding.top-padding.top; - rcSearch.bottom=m_rContent.bottom+padding.bottom; - RECT rc; - IntersectRect(&rc,&ps.rcPaint,&rcSearch); - BufferedPaintSetAlpha(hBufferedPaint,&rc,255); - } - } - EndBufferedPaint(hBufferedPaint,TRUE); - } - - if (uMsg!=WM_PRINTCLIENT) - EndPaint(&ps); - - return 0; -} - -static void FillSolidGlassRect( HDC hdc, LPCRECT pRect, COLORREF color ) -{ - BP_PAINTPARAMS paintParams={sizeof(paintParams)}; - paintParams.dwFlags=0; - HDC hdcPaint=NULL; - HPAINTBUFFER hBufferedPaint=BeginBufferedPaint(hdc,pRect,BPBF_TOPDOWNDIB,&paintParams,&hdcPaint); - if (hdcPaint) - { - SetDCBrushColor(hdcPaint,color); - FillRect(hdcPaint,pRect,(HBRUSH)GetStockObject(DC_BRUSH)); - BufferedPaintSetAlpha(hBufferedPaint,pRect,255); - EndBufferedPaint(hBufferedPaint,TRUE); - } -} - -void CProgramsTree::DrawTree( HDC hdc, const RECT &drawRect ) -{ - RECT rcClient; - GetClientRect(&rcClient); - { - RECT rc; - TreeView_GetItemRect(m_hWnd,TreeView_GetRoot(m_hWnd),&rc,TRUE); - m_MinX=rc.left-m_RootX; // detect when the tree auto-scrolls - - // find the widest of the visible elements - m_MaxX=rcClient.right; - int maxy=rcClient.bottom; - for (HTREEITEM hItem=TreeView_GetFirstVisible(m_hWnd);hItem;hItem=TreeView_GetNextVisible(m_hWnd,hItem)) - { - TreeView_GetItemRect(m_hWnd,hItem,&rc,TRUE); - if (m_MaxX=maxy) - break; - } - } - - BP_PAINTPARAMS paintParams={sizeof(paintParams)}; - HDC hdcPaint=NULL; - HPAINTBUFFER hBufferedPaint=BeginBufferedPaint(hdc,&drawRect,BPBF_TOPDOWNDIB,&paintParams,&hdcPaint); - if (hdcPaint) - { - HDC hsrc=CreateCompatibleDC(hdcPaint); - const MenuSkin &skin=CMenuContainer::s_Skin; - int alpha; - if (skin.Programs_background==0) - { - RECT bmpRect=drawRect; - ::MapWindowPoints(m_hWnd,m_pOwner->m_hWnd,(POINT*)&bmpRect,2); - HGDIOBJ bmp0=SelectObject(hsrc,m_pOwner->m_Bitmap); - BitBlt(hdcPaint,drawRect.left,drawRect.top,drawRect.right-drawRect.left,drawRect.bottom-drawRect.top,hsrc,bmpRect.left,bmpRect.top,SRCCOPY); - SelectObject(hsrc,bmp0); - alpha=(skin.Main_opacity==MenuSkin::OPACITY_ALPHA || skin.Main_opacity==MenuSkin::OPACITY_GLASS)?255:0; - } - else - { - SetDCBrushColor(hdcPaint,skin.Programs_background&0xFFFFFF); - FillRect(hdcPaint,&drawRect,(HBRUSH)GetStockObject(DC_BRUSH)); - alpha=skin.Programs_background>>24; - if (alpha<255) - { - if (skin.Main_FakeGlass) - alpha=(unsigned char)(255*pow(alpha/255.f,0.2f)); - BufferedPaintSetAlpha(hBufferedPaint,&drawRect,alpha); - } - } - - SelectObject(hdcPaint,GetFont()); - HTREEITEM hSelection=TreeView_GetSelection(m_hWnd); - HTREEITEM hHilight=TreeView_GetDropHilight(m_hWnd); - HWND focus=GetFocus(); - for (HTREEITEM hItem=TreeView_GetFirstVisible(m_hWnd);hItem;hItem=TreeView_GetNextVisible(m_hWnd,hItem)) - { - RECT itemRect; - TreeView_GetItemRect(m_hWnd,hItem,&itemRect,TRUE); - if (itemRect.top>=drawRect.bottom) - break; - bool bHot=((hItem==hSelection && m_DropLocation==DROP_NOWHERE) || hItem==hHilight) && (m_pOwner->m_HotItem==m_pOwner->m_ProgramTreeIndex || focus==m_hWnd); - if (itemRect.bottom>drawRect.top) - DrawTreeItem(hdcPaint,hsrc,hItem,itemRect,bHot); - } - RECT rc; - if (GetInsertRect(rc)) - { - const POINT *sizes=skin.GetArrowsBitmapSizes(); - HGDIOBJ bmp0=SelectObject(hsrc,CMenuContainer::GetArrowsBitmap(CMenuContainer::s_Skin.ItemSettings[MenuSkin::PROGRAMS_TREE_ITEM].textColors[0])); - RECT rSrc={CMenuContainer::s_bRTL?sizes[6].x-sizes[2].y:sizes[0].x,0,CMenuContainer::s_bRTL?sizes[6].x-sizes[0].x:sizes[2].y,sizes[1].y}; - RECT rMargins={sizes[0].y-sizes[0].x,0,sizes[2].y-sizes[2].x,0}; - MarginsBlit(hsrc,hdcPaint,rSrc,rc,rMargins,true); - SelectObject(hsrc,bmp0); - } - DeleteDC(hsrc); - - if (alpha==255) - BufferedPaintSetAlpha(hBufferedPaint,&drawRect,alpha); - EndBufferedPaint(hBufferedPaint,TRUE); - } -} - -void CProgramsTree::DrawTreeItem( HDC hdc, HDC hsrc, HTREEITEM hItem, const RECT &itemRect, bool bHot ) const -{ - TVITEM item={TVIF_PARAM|TVIF_STATE,hItem,0,TVIS_SELECTED}; - TreeView_GetItem(m_hWnd,&item); - - const MenuSkin &skin=CMenuContainer::s_Skin; - const CTreeItem *pItem=(CTreeItem*)item.lParam; - COLORREF textColor; - COLORREF shadowColor; - MenuBitmap bmp; - const int *slicesX, *slicesY; - RECT iconPadding; - int iconTopOffset, textTopOffset; - int glowSize; - if (bHot) - { - // selected - const MenuSkin::ItemDrawSettings &settings=skin.ItemSettings[MenuSkin::PROGRAMS_TREE_ITEM]; - bmp=settings.bmpSelection; - slicesX=settings.selSlicesX; - slicesY=settings.selSlicesY; - iconPadding=settings.iconPadding; - iconTopOffset=settings.iconTopOffset+settings.iconPadding.top; - textTopOffset=settings.textTopOffset+settings.textPadding.top; - textColor=settings.textColors[pItem->bEmpty?3:1]; - shadowColor=settings.textShadowColors[bHot?1:0]; - glowSize=settings.glowSize; - } - else if (pItem->bNew) - { - // highlighted - const MenuSkin::ItemDrawSettings &settings=skin.ItemSettings[MenuSkin::PROGRAMS_TREE_NEW]; - bmp=settings.bmpSelection; - slicesX=settings.selSlicesX; - slicesY=settings.selSlicesY; - iconPadding=settings.iconPadding; - iconTopOffset=settings.iconTopOffset+settings.iconPadding.top; - textTopOffset=settings.textTopOffset+settings.textPadding.top; - textColor=settings.textColors[pItem->bEmpty?2:0]; - shadowColor=settings.textShadowColors[bHot?1:0]; - glowSize=settings.glowSize; - } - else - { - // not selected - bmp=skin.Programs_background; - const MenuSkin::ItemDrawSettings &settings=skin.ItemSettings[MenuSkin::PROGRAMS_TREE_ITEM]; - iconPadding=settings.iconPadding; - iconTopOffset=settings.iconTopOffset+settings.iconPadding.top; - textTopOffset=settings.textTopOffset+settings.textPadding.top; - textColor=settings.textColors[pItem->bEmpty?2:0]; - shadowColor=settings.textShadowColors[bHot?1:0]; - glowSize=settings.glowSize; - } - - RECT rc=itemRect; - int left=rc.left; - rc.left=m_MinX; - rc.right=m_MaxX; - - if (bHot || pItem->bNew) - { - // draw background - if (bmp.bIsBitmap) - { - HGDIOBJ bmp0=SelectObject(hsrc,bmp.GetBitmap()); - RECT rSrc={0,0,slicesX[0]+slicesX[1]+slicesX[2],slicesY[0]+slicesY[1]+slicesY[2]}; - RECT rMargins={slicesX[0],slicesY[0],slicesX[2],slicesY[2]}; - MarginsBlit(hsrc,hdc,rSrc,rc,rMargins,bmp.bIs32); - SelectObject(hsrc,bmp0); - } - else - { - SetDCBrushColor(hdc,bmp.GetColor()); - FillRect(hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH)); - } - } - - // draw icon - rc.left=left; - int iconSize=CItemManager::SMALL_ICON_SIZE; - int x=rc.left-iconSize-3-iconPadding.right; - int y=rc.top+iconTopOffset; - - if (pItem->pItemInfo1 && pItem->pItemInfo1->smallIcon) - { - HGDIOBJ bmp0=SelectObject(hsrc,pItem->pItemInfo1->smallIcon->bitmap); - BLENDFUNCTION func={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; - AlphaBlend(hdc,x,y,iconSize,iconSize,hsrc,0,0,iconSize,iconSize,func); - SelectObject(hsrc,bmp0); - } - - // draw text - rc.top+=textTopOffset; - - if (m_TreeTheme) - { - DTTOPTS opts={sizeof(opts),DTT_TEXTCOLOR}; - if (glowSize || skin.ItemSettings[MenuSkin::PROGRAMS_TREE_ITEM].opacity==MenuSkin::OPACITY_FULLALPHA || skin.ItemSettings[MenuSkin::PROGRAMS_TREE_ITEM].opacity==MenuSkin::OPACITY_FULLGLASS) - opts.dwFlags|=DTT_COMPOSITED; - if (glowSize) - { - opts.dwFlags|=DTT_GLOWSIZE; - opts.iGlowSize=glowSize; - } - if (shadowColor!=0xFFFFFFFF) - { - opts.crText=shadowColor; - RECT rc2=rc; - OffsetRect(&rc2,1,1); - DrawThemeTextEx(m_TreeTheme,hdc,0,0,pItem->name,pItem->name.GetLength(),DT_SINGLELINE|DT_NOPREFIX,&rc2,&opts); - } - opts.crText=textColor; - DrawThemeTextEx(m_TreeTheme,hdc,0,0,pItem->name,pItem->name.GetLength(),DT_SINGLELINE|DT_NOPREFIX,&rc,&opts); - } - else - { - SetBkMode(hdc,TRANSPARENT); - if (shadowColor!=0xFFFFFFFF) - { - RECT rc2=rc; - OffsetRect(&rc2,1,1); - SetTextColor(hdc,shadowColor); - DrawText(hdc,pItem->name,pItem->name.GetLength(),&rc,DT_SINGLELINE|DT_NOPREFIX); - } - - SetTextColor(hdc,textColor); - DrawText(hdc,pItem->name,pItem->name.GetLength(),&rc,DT_SINGLELINE|DT_NOPREFIX); - } -} - -void CProgramsTree::DrawScrollbarBackground( HDC hdc, int iPartId, int iStateId, LPCRECT pRect ) -{ - const MenuSkin &skin=CMenuContainer::s_Skin; - HDC hSrc=CreateCompatibleDC(hdc); - if (iPartId==SBP_ARROWBTN) - { - // draw arrows - int state=0; - if (iStateId==ABS_UPHOT || iStateId==ABS_DOWNHOT) - state=1; - else if (iStateId==ABS_UPPRESSED || iStateId==ABS_DOWNPRESSED) - state=2; - - HGDIOBJ bmp0=GetCurrentObject(hSrc,OBJ_BITMAP); - if (skin.Scrollbar_button.bIsBitmap) - { - SelectObject(hSrc,skin.Scrollbar_button.GetBitmap()); - int w=skin.Scrollbar_button_slices_X[0]+skin.Scrollbar_button_slices_X[1]+skin.Scrollbar_button_slices_X[2]; - int h=skin.Scrollbar_button_slices_Y[0]+skin.Scrollbar_button_slices_Y[1]+skin.Scrollbar_button_slices_Y[2]; - RECT rSrc={0,h*state,w,h*(state+1)}; - RECT rMargins={skin.Scrollbar_button_slices_X[0],skin.Scrollbar_button_slices_Y[0],skin.Scrollbar_button_slices_X[2],skin.Scrollbar_button_slices_Y[2]}; - MarginsBlit(hSrc,hdc,rSrc,*pRect,rMargins,false); - } - else - { - FillSolidGlassRect(hdc,pRect,skin.Scrollbar_button.GetColor()); - } - - int arrowOffset=0; - if ((iStateId>=ABS_DOWNNORMAL && iStateId<=ABS_DOWNDISABLED) || iStateId==ABS_DOWNHOVER) - arrowOffset=skin.Scrollbar_arrows_size.cx; - - SelectObject(hSrc,skin.Scrollbar_arrows.GetBitmap()); - int x=(pRect->right+pRect->left-skin.Scrollbar_arrows_size.cx)/2; - int y=(pRect->bottom+pRect->top-skin.Scrollbar_arrows_size.cy)/2; - StretchBlt2(hdc,x,y,skin.Scrollbar_arrows_size.cx,skin.Scrollbar_arrows_size.cy,hSrc,arrowOffset,skin.Scrollbar_arrows_size.cy*state,skin.Scrollbar_arrows_size.cx,skin.Scrollbar_arrows_size.cy,true); - SelectObject(hSrc,bmp0); - } - else if (iPartId==SBP_LOWERTRACKVERT || iPartId==SBP_UPPERTRACKVERT) - { - // draw background - if (skin.Scrollbar_background.bIsBitmap) - { - int state=0; - if (iStateId==SCRBS_HOT) - state=1; - else if (iStateId==SCRBS_PRESSED) - state=2; - - HGDIOBJ bmp0=SelectObject(hSrc,skin.Scrollbar_background.GetBitmap()); - int w=skin.Scrollbar_background_slices_X[0]+skin.Scrollbar_background_slices_X[1]+skin.Scrollbar_background_slices_X[2]; - int h=skin.Scrollbar_background_slices_Y[0]+skin.Scrollbar_background_slices_Y[1]+skin.Scrollbar_background_slices_Y[2]; - RECT rSrc={0,h*state,w,h*(state+1)}; - RECT rMargins={skin.Scrollbar_background_slices_X[0],skin.Scrollbar_background_slices_Y[0],skin.Scrollbar_background_slices_X[2],skin.Scrollbar_background_slices_Y[2]}; - MarginsBlit(hSrc,hdc,rSrc,*pRect,rMargins,false); - SelectObject(hSrc,bmp0); - } - else - { - FillSolidGlassRect(hdc,pRect,skin.Scrollbar_background.GetColor()); - } - } - else if (iPartId==SBP_THUMBBTNVERT) - { - // draw thumb - if (skin.Scrollbar_thumb.bIsBitmap) - { - int state=0; - if (iStateId==SCRBS_HOT) - state=1; - else if (iStateId==SCRBS_PRESSED) - state=2; - - HGDIOBJ bmp0=SelectObject(hSrc,skin.Scrollbar_thumb.GetBitmap()); - int w=skin.Scrollbar_thumb_slices_X[0]+skin.Scrollbar_thumb_slices_X[1]+skin.Scrollbar_thumb_slices_X[2]; - int h=skin.Scrollbar_thumb_slices_Y[0]+skin.Scrollbar_thumb_slices_Y[1]+skin.Scrollbar_thumb_slices_Y[2]; - RECT rSrc={0,h*state,w,h*(state+1)}; - RECT rMargins={skin.Scrollbar_thumb_slices_X[0],skin.Scrollbar_thumb_slices_Y[0],skin.Scrollbar_thumb_slices_X[2],skin.Scrollbar_thumb_slices_Y[2]}; - MarginsBlit(hSrc,hdc,rSrc,*pRect,rMargins,false); - } - else - { - FillSolidGlassRect(hdc,pRect,skin.Scrollbar_thumb.GetColor()); - } - } - else if (iPartId==SBP_GRIPPERVERT) - { - // draw gripper - if (skin.Scrollbar_gripper.GetBitmap()) - { - int state=0; - if (iStateId==SCRBS_HOT) - state=1; - else if (iStateId==SCRBS_PRESSED) - state=2; - - HGDIOBJ bmp0=SelectObject(hSrc,skin.Scrollbar_gripper.GetBitmap()); - int x=(pRect->right+pRect->left-skin.Scrollbar_gripper_size.cx)/2; - int y=(pRect->bottom+pRect->top-skin.Scrollbar_gripper_size.cy)/2; - StretchBlt2(hdc,x,y,skin.Scrollbar_gripper_size.cx,skin.Scrollbar_gripper_size.cy,hSrc,0,skin.Scrollbar_gripper_size.cy*state,skin.Scrollbar_gripper_size.cx,skin.Scrollbar_gripper_size.cy,true); - SelectObject(hSrc,bmp0); - } - } - DeleteDC(hSrc); -} - -void CMenuContainer::AnimateMenu( int flags, int speed, const RECT &rect ) -{ - RECT clipRect=m_bSubMenu?s_MenuLimits:s_MainMenuLimits; - - bool bUserPic=(!m_bSubMenu && s_bWin7Style && s_UserPicture.m_hWnd && s_UserPictureRect.top0) - { - // fade in - SetWindowLong(GWL_EXSTYLE,GetWindowLong(GWL_EXSTYLE)|WS_EX_LAYERED); - SetWindowPos((flags&AW_TOPMOST)?HWND_TOPMOST:HWND_TOP,&rect,SWP_SHOWWINDOW|((flags&AW_ACTIVATE)?0:SWP_NOACTIVATE)); - if (!m_bSubMenu && s_TaskBar && s_bBehindTaskbar) - { - // position the start button on top - if (s_StartButton) - ::SetWindowPos(s_StartButton,(flags&AW_TOPMOST)?HWND_TOPMOST:HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE); - // position the start menu behind the taskbar - SetWindowPos(s_TaskBar,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE); - } - if (bUserPic) - { - s_UserPicture.Update(0); - s_UserPicture.SetWindowPos(NULL,&s_UserPictureRect,SWP_NOZORDER|SWP_NOACTIVATE|SWP_SHOWWINDOW); - } - - // animate - int time0=GetTickCount(); - while (true) - { - int dt=GetTickCount()-time0; - if (dt>speed) break; - float f=dt/(float)speed; - int alpha=(int)(f*255); - SetLayeredWindowAttributes(m_hWnd,0,(BYTE)alpha,LWA_ALPHA); - RedrawWindow(); - if (bUserPic) - s_UserPicture.Update(alpha); - } - - SetWindowLong(GWL_EXSTYLE,GetWindowLong(GWL_EXSTYLE)&~WS_EX_LAYERED); - RedrawWindow(); - } - else if ((flags&AW_SLIDE) && speed>0) - { - // slide in - HRGN rgn=CreateRectRgn(0,0,0,0); - if (!SetWindowRgn(rgn,FALSE)) // set empty region - DeleteObject(rgn); - SetWindowPos((flags&AW_TOPMOST)?HWND_TOPMOST:HWND_TOP,&rect,SWP_SHOWWINDOW|((flags&AW_ACTIVATE)?0:SWP_NOACTIVATE)); - if (!m_bSubMenu && s_TaskBar && s_bBehindTaskbar) - { - // position the start button on top - if (s_StartButton) - ::SetWindowPos(s_StartButton,(flags&AW_TOPMOST)?HWND_TOPMOST:HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE); - // position the start menu behind the taskbar - SetWindowPos(s_TaskBar,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE); - } - if (bUserPic) - { - s_UserPicture.Update(0); - s_UserPicture.SetWindowPos(NULL,&s_UserPictureRect,SWP_NOZORDER|SWP_NOACTIVATE|SWP_SHOWWINDOW); - } - if (m_pProgramsTree && s_MenuMode==MODE_PROGRAMS) - m_pProgramsTree->ShowWindow(SW_HIDE); - HRGN rgn0=NULL; - if (m_Region) - { - int rgnSize=GetRegionData(m_Region,0,NULL); - std::vector buf(rgnSize); - GetRegionData(m_Region,rgnSize,(RGNDATA*)&buf[0]); - XFORM xform={1,0,0,1}; - if (s_bRTL) - { - // mirror the region (again) - xform.eM11=-1; - xform.eDx=(float)(m_rMenu.right+m_rMenu.left-m_BitmapOffset); - } - rgn0=ExtCreateRegion(&xform,rgnSize,(RGNDATA*)&buf[0]); - } - - // animate - int time0=GetTickCount(); - int movex=0, movey=0; - if (flags&AW_HOR_POSITIVE) - { - movex=rect.right-rect.left; - clipRect.left=rect.left; - } - else if (flags&AW_HOR_NEGATIVE) - { - movex=rect.left-rect.right; - clipRect.right=rect.right; - } - else if (flags&AW_VER_POSITIVE) - { - movey=rect.bottom-rect.top; - clipRect.top=rect.top; - } - else - { - movey=rect.top-rect.bottom; - clipRect.bottom=rect.bottom; - } - - HRGN clipRgn=CreateRectRgn(clipRect.left-rect.left,clipRect.top-rect.top,clipRect.right-rect.left,clipRect.bottom-rect.top); // clip region in window space - while (true) - { - int dt=GetTickCount()-time0; - if (dt>speed) break; - float f=1-dt/(float)speed; - f=powf(f,5); - int dx=(int)(movex*f); - int dy=(int)(movey*f); - if (dx==0 && dy==0) break; - m_PaintOffset.x=-dx; - m_PaintOffset.y=-dy; - - // calculate region - HRGN wndRgn=CreateRectRgn(0,0,rect.right-rect.left,rect.bottom-rect.top); // window region - if (rgn0) - CombineRgn(wndRgn,rgn0,NULL,RGN_COPY); - OffsetRgn(wndRgn,-dx,-dy); - HRGN rgn=CreateRectRgn(0,0,0,0); - CombineRgn(rgn,clipRgn,wndRgn,RGN_AND); // clipped window region - if (!SetWindowRgn(rgn,FALSE)) - DeleteObject(rgn); - DeleteObject(wndRgn); - RedrawWindow(NULL,NULL,RDW_INVALIDATE|RDW_FRAME|RDW_UPDATENOW); - - // move user pic - if (bUserPic) - { - POINT pos={s_UserPictureRect.left-dx,s_UserPictureRect.top-dy}; - s_UserPicture.UpdatePartial(pos,&clipRect); - } - } - DeleteObject(clipRgn); - - m_PaintOffset.x=m_PaintOffset.y=0; - if (!SetWindowRgn(rgn0,FALSE) && rgn0) - DeleteObject(rgn0); - if (m_pProgramsTree && s_MenuMode==MODE_PROGRAMS) - m_pProgramsTree->ShowWindow(SW_SHOW); - RedrawWindow(NULL,NULL,RDW_INVALIDATE|RDW_FRAME|RDW_UPDATENOW); - } - else - { - // no animation - SetWindowPos((flags&AW_TOPMOST)?HWND_TOPMOST:HWND_TOP,&rect,SWP_SHOWWINDOW|((flags&AW_ACTIVATE)?0:SWP_NOACTIVATE)); - RedrawWindow(NULL,NULL,RDW_INVALIDATE|RDW_FRAME|RDW_UPDATENOW); - if (bUserPic) - { - s_UserPicture.Update(255); - s_UserPicture.SetWindowPos(NULL,&s_UserPictureRect,SWP_NOZORDER|SWP_NOACTIVATE|SWP_SHOWWINDOW); - } - } - - if (m_SearchBox.m_hWnd) - m_SearchBox.ShowWindow(SW_SHOW); - - if (bUserPic) - { - POINT pos={s_UserPictureRect.left,s_UserPictureRect.top}; - s_UserPicture.UpdatePartial(pos,NULL); - } -} diff --git a/Src/StartMenu/StartMenuDLL/MetroLinkManager.cpp b/Src/StartMenu/StartMenuDLL/MetroLinkManager.cpp deleted file mode 100644 index 3aac7e2..0000000 --- a/Src/StartMenu/StartMenuDLL/MetroLinkManager.cpp +++ /dev/null @@ -1,383 +0,0 @@ -// 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 -#include - -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 &links, bool bLog, std::vector *pNonApps10 ) -{ - LOG_MENU(LOG_APPS,L"Collect Metro Links (start)"); - if (bLog && !(g_LogCategories&LOG_APPS)) - bLog=false; - CComPtr pApps; - if (FAILED(ShGetKnownFolderItem(FOLDERID_AppsFolder2,&pApps))) - return; - CComPtr pEnum; - pApps->BindToHandler(NULL,BHID_EnumItems,IID_IEnumShellItems,(void**)&pEnum); - - CComPtr 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 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 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 GetMetroPinMenu( const wchar_t *appid ) -{ - if (GetWinVersion() pAppFolder; - { - CAbsolutePidl pidl; - if (SUCCEEDED(SHGetKnownFolderIDList(FOLDERID_AppsFolder2,KF_FLAG_DEFAULT,NULL,&pidl))) - SHBindToObject(NULL,pidl,NULL,IID_IShellFolder,(void **)&pAppFolder); - } - CComPtr pPinMenu; - if (pAppFolder) - { - PIDLIST_RELATIVE child; - if (SUCCEEDED(pAppFolder->ParseDisplayName(NULL,NULL,(LPWSTR)appid,NULL,&child,NULL))) - { - CComPtr 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 pInit; - pInit.CoCreateInstance(CLSID_PinExt); - if (pInit && SUCCEEDED(pInit->Initialize(NULL,pDataObject,regKey))) - pPinMenu=CComQIPtr(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() pAppItem; - if (FAILED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,appid,IID_IShellItem2,(void**)&pAppItem))) - return false; - - CComPtr 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 pAppItem; - if (SUCCEEDED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder2,0,appid,IID_IShellItem,(void**)&pAppItem))) - { - CComPtr 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 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() -#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 pItem; -}; - -// Returns a list of links for all metro apps -void GetMetroLinks( std::vector &links, bool bLog, std::vector *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 GetMetroPinMenu( const wchar_t *appid ); - -// Determines if Edge is the default browser -bool IsEdgeDefaultBrowser( void ); diff --git a/Src/StartMenu/StartMenuDLL/ProgramsTree.cpp b/Src/StartMenu/StartMenuDLL/ProgramsTree.cpp deleted file mode 100644 index 9906aae..0000000 --- a/Src/StartMenu/StartMenuDLL/ProgramsTree.cpp +++ /dev/null @@ -1,1771 +0,0 @@ -// 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 - -// ProgramsTree.cpp - contains the implementation of the programs tree for the Win7 style - -#include "stdafx.h" -#include "ProgramsTree.h" -#include "MenuContainer.h" -#include "MetroLinkManager.h" -#include "Translations.h" -#include "Settings.h" -#include "ResourceHelper.h" -#include "FNVHash.h" -#include "LogManager.h" -#include "StartMenuDLL.h" -#include "SettingsUI.h" -#include -#include - -bool CProgramsTree::s_bFoldersFirst; - -const wchar_t *ORDER_PREFIX=L"#"; - -CProgramsTree::CProgramsTree( void ) -{ - m_RefCount=1; - m_pOwner=NULL; - m_ImageList=NULL; - m_bHoverTimer=m_bTrackMouse=m_bRefreshPosted=m_bAutoSort=m_bDragApps=m_bInsertAfter=false; - m_LastMousePos.x=m_LastMousePos.y=0; - m_MinX=m_MaxX=m_RootX=0; - m_DropLocation=DROP_NOWHERE; - m_DragItem=m_DropTarget=m_HoverItem=NULL; - m_TreeTheme=m_ScrollTheme=NULL; - m_InsertMark=NULL; -} - -// Subclass the tooltip to delay the tip when the mouse moves from one tree item to the next -static LRESULT CALLBACK SubclassInfoTipProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==TTM_UPDATE) - { - int time=(int)SendMessage(hWnd,TTM_GETDELAYTIME,TTDT_RESHOW,0); - SetTimer(hWnd,'CLSH',time,NULL); - return 0; - } - if (uMsg==WM_TIMER && wParam=='CLSH') - { - KillTimer(hWnd,wParam); - DefSubclassProc(hWnd,TTM_UPDATE,0,0); - return 0; - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -void CProgramsTree::Create( CMenuContainer *pOwner ) -{ - m_pOwner=pOwner; - HWND hWnd=CreateWindowEx(0,WC_TREEVIEW,NULL,WS_CHILD|TVS_EDITLABELS|TVS_FULLROWSELECT|(CMenuContainer::s_TipHideTime?TVS_INFOTIP:0)|TVS_NOHSCROLL|TVS_SHOWSELALWAYS|TVS_NONEVENHEIGHT,0,0,0,0,pOwner->m_hWnd,NULL,g_Instance,NULL); - TreeView_SetExtendedStyle(hWnd,TVS_EX_AUTOHSCROLL,TVS_EX_AUTOHSCROLL); - const MenuSkin &skin=CMenuContainer::s_Skin; - m_TreeTheme=OpenThemeData(m_hWnd,L"treeview"); - if (skin.BHasScrollbar) - m_ScrollTheme=OpenThemeData(m_hWnd,L"scrollbar"); - - const MenuSkin::ItemDrawSettings &settings=skin.ItemSettings[MenuSkin::PROGRAMS_TREE_ITEM]; - - SendMessage(hWnd,WM_SETFONT,(LPARAM)settings.font,FALSE); - - TreeView_SetItemHeight(hWnd,settings.itemHeight); - - SubclassWindow(hWnd); - m_ImageList=ImageList_Create(CItemManager::SMALL_ICON_SIZE+settings.iconPadding.left+settings.iconPadding.right,CItemManager::SMALL_ICON_SIZE,ILC_COLOR32|ILC_MASK|ILC_MIRROR,1,16); - TreeView_SetImageList(hWnd,m_ImageList,TVSIL_NORMAL); - TreeView_SetIndent(hWnd,TreeView_GetIndent(hWnd)+skin.Programs_indent); - m_DragItem=NULL; - m_DropLocation=DROP_NOWHERE; - m_DropTarget=NULL; - m_bRefreshPosted=false; - m_pDropTargetProxy=new CDropTargetProxy(this); - RegisterDragDrop(hWnd,m_pDropTargetProxy); - m_LastMousePos.x=m_LastMousePos.y=-1; - s_bFoldersFirst=GetSettingBool(L"FoldersFirst"); - - HWND tooltip=TreeView_GetToolTips(m_hWnd); - SendMessage(tooltip,TTM_SETDELAYTIME,TTDT_AUTOPOP,CMenuContainer::s_TipHideTime); - SendMessage(tooltip,TTM_SETDELAYTIME,TTDT_INITIAL,CMenuContainer::s_TipShowTime); - SendMessage(tooltip,TTM_SETDELAYTIME,TTDT_RESHOW,CMenuContainer::s_TipShowTime); - SetWindowSubclass(tooltip,SubclassInfoTipProc,'CLSH',0); - - AddRef(); // this will be released in OnFinalMeessage -} - -LRESULT CALLBACK CProgramsTree::CustomWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) -{ - CProgramsTree *pThis=static_cast((CWindowImpl*)hWnd); - if (!pThis->m_ScrollTheme) - { - return WindowProc(hWnd,uMsg,wParam,lParam); - } - DWORD oldThread=g_CustomScrollbarThread; - g_CustomScrollbarThread=GetCurrentThreadId(); - g_CustomScrollbarTheme=pThis->m_ScrollTheme; - LRESULT res=WindowProc(hWnd,uMsg,wParam,lParam); - g_CustomScrollbarThread=oldThread; - if (!oldThread) - g_CustomScrollbarTheme=NULL; - return res; -} - -LRESULT CProgramsTree::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_pDropTargetProxy->Reset(); - m_pDropTargetProxy=NULL; - RevokeDragDrop(m_hWnd); - ImageList_Destroy(m_ImageList); - m_ImageList=NULL; - if (m_TreeTheme) - { - CloseThemeData(m_TreeTheme); - m_TreeTheme=NULL; - } - if (m_ScrollTheme) - { - CloseThemeData(m_ScrollTheme); - m_ScrollTheme=NULL; - } - return 0; -} - -LRESULT CProgramsTree::OnDeleteItem( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - // free data - NMTREEVIEW *pItem=(NMTREEVIEW*)pnmh; - delete (CTreeItem*)pItem->itemOld.lParam; - return 0; -} - -LRESULT CProgramsTree::OnItemExpanding( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - // generate child items - NMTREEVIEW *pView=(NMTREEVIEW*)pnmh; - if (pView->itemNew.state&TVIS_EXPANDEDONCE) - return 0; - CreateFolderItems(pView->itemNew.hItem); - HTREEITEM hChild=TreeView_GetChild(m_hWnd,pView->itemNew.hItem); - if (hChild && !TreeView_GetNextSibling(m_hWnd,hChild)) - PostMessage(TVM_EXPAND,TVE_EXPAND,(LPARAM)hChild); - return 0; -} - -LRESULT CProgramsTree::OnSingleExpand( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - return TVNRET_SKIPOLD; -} - -LRESULT CProgramsTree::OnBeginDrag( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTREEVIEW *pDrag=(NMTREEVIEW*)pnmh; - CTreeItem *pItem=(CTreeItem*)pDrag->itemNew.lParam; - if (!pItem) return 0; - m_DragItem=pDrag->itemNew.hItem; - m_bDragApps=pItem->bApps; - if (pItem->bApps) - { - m_pOwner->DragOutApps(pItem->pItemInfo1); - } - else - { - m_pOwner->DragTreeItem(pItem,pItem->bApp); - } - m_DropLocation=DROP_NOWHERE; - m_DragItem=NULL; - return 0; -} - -LRESULT CProgramsTree::OnKeyDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==VK_RETURN) - { - HTREEITEM hItem; - const CTreeItem *pItem=GetSelectedItem(hItem); - if (!pItem) return 0; - if (pItem->bFolder) - TreeView_Expand(m_hWnd,hItem,TVE_TOGGLE); - else if (pItem->pItemInfo1) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,hItem,&rc,FALSE); - MapWindowPoints(m_pOwner->m_hWnd,&rc); - CMenuContainer::ActivateData data; - data.bProgramsTree=true; - m_pOwner->ActivateTreeItem(pItem,rc,CMenuContainer::ACTIVATE_EXECUTE,NULL,&data); - } - return 0; - } - if (wParam==VK_TAB) - { - m_pOwner->SendMessage(WM_KEYDOWN,wParam,lParam); - return 0; - } - - // Del to delete, F2 to rename - if (wParam==VK_DELETE || wParam==VK_F2) - { - HTREEITEM hItem; - const CTreeItem *pItem=GetSelectedItem(hItem); - if (!pItem) return 0; - if (pItem->pItemInfo1) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,hItem,&rc,FALSE); - MapWindowPoints(m_pOwner->m_hWnd,&rc); - CMenuContainer::ActivateData data; - data.bProgramsTree=true; - m_pOwner->ActivateTreeItem(pItem,rc,wParam==VK_F2?CMenuContainer::ACTIVATE_RENAME:CMenuContainer::ACTIVATE_DELETE,NULL,&data); - if (data.command==CMenuContainer::CMD_DELETE) - { - HTREEITEM hParent=TreeView_GetParent(m_hWnd,hItem); - if (hParent) - { - TVITEM item={TVIF_PARAM,hParent}; - TreeView_GetItem(m_hWnd,&item); - const CTreeItem *pParent=(CTreeItem*)item.lParam; - PostRefreshMessage(pParent->pItemInfo1); - } - else - PostRefreshMessage(); - } - else if (data.command==CMenuContainer::CMD_RENAME) - { - if (data.pNewItemInfo) - SaveRenamedOrder(hItem,data.pNewItemInfo); - PostRefreshMessage(data.pNewItemInfo); - } - } - return 0; - } - - if (wParam==VK_ESCAPE) - { - m_pOwner->SetMenuMode(CMenuContainer::MODE_NORMAL); - m_pOwner->SetHotItem(m_pOwner->m_ProgramButtonIndex); - return 0; - } - - HTREEITEM hSelect1=TreeView_GetSelection(m_hWnd); - DWORD state1=hSelect1?TreeView_GetItemState(m_hWnd,hSelect1,TVIS_EXPANDED)&TVIS_EXPANDED:0; - - LRESULT res=DefWindowProc(uMsg,wParam,lParam); - - HTREEITEM hSelect2=TreeView_GetSelection(m_hWnd); - DWORD state2=hSelect2?TreeView_GetItemState(m_hWnd,hSelect2,TVIS_EXPANDED)&TVIS_EXPANDED:0; - - if (hSelect1==hSelect2 && state1==state2) - { - if (wParam==VK_UP || wParam==VK_DOWN || wParam==VK_LEFT || wParam==VK_RIGHT) - { - m_pOwner->SendMessage(uMsg,wParam,lParam); - } - } - return res; -} - -LRESULT CProgramsTree::OnSysKeyDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==VK_RETURN) - { - HTREEITEM hItem; - const CTreeItem *pItem=GetSelectedItem(hItem); - if (!pItem) return 0; - if (pItem->pItemInfo1) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,hItem,&rc,FALSE); - MapWindowPoints(m_pOwner->m_hWnd,&rc); - CMenuContainer::ActivateData data; - data.bProgramsTree=true; - m_pOwner->ActivateTreeItem(pItem,rc,CMenuContainer::ACTIVATE_PROPERTIES,NULL,&data); - } - } - else - bHandled=FALSE; - return 0; -} - -LRESULT CProgramsTree::OnChar( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - bHandled=(wParam==VK_TAB || wParam==VK_RETURN || wParam==VK_ESCAPE); - return 0; -} - -LRESULT CProgramsTree::OnSetFocus( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - for (std::vector::reverse_iterator it=CMenuContainer::s_Menus.rbegin();*it!=m_pOwner;++it) - if (!(*it)->m_bDestroyed) - (*it)->PostMessage(WM_CLOSE); - bHandled=FALSE; - return 0; -} - -LRESULT CProgramsTree::OnMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - TVHITTESTINFO test={{(short)LOWORD(lParam),(short)HIWORD(lParam)}}; - if (m_LastMousePos.x!=-1 && (m_LastMousePos.x!=test.pt.x || m_LastMousePos.y!=test.pt.y) && TreeView_HitTest(m_hWnd,&test)) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,test.hItem,&rc,FALSE); - int bottom=rc.bottom; - GetClientRect(&rc); - if (bottom<=rc.bottom) - TreeView_SelectItem(m_hWnd,test.hItem); - - if (!m_bHoverTimer) - { - SetTimer(TIMER_HOVER,CMenuContainer::s_HoverTime); - m_bHoverTimer=true; - } - if (m_pOwner->m_Submenu<0) - SetFocus(); - m_pOwner->SetHotItem(m_pOwner->m_ProgramTreeIndex); - } - m_LastMousePos=test.pt; - - if (!m_bTrackMouse) - { - TRACKMOUSEEVENT track={sizeof(track),TME_LEAVE,m_hWnd,0}; - TrackMouseEvent(&track); - m_bTrackMouse=true; - } - - bHandled=FALSE; - return 0; -} - -LRESULT CProgramsTree::OnMouseLeave( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_pOwner->SetHotItem(-1); - m_bTrackMouse=false; - if (m_bHoverTimer) - { - KillTimer(TIMER_HOVER); - m_bHoverTimer=false; - } - return 0; -} - -LRESULT CProgramsTree::OnNcMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - TreeView_SelectItem(m_hWnd,NULL); - if (!m_bHoverTimer) - { - SetTimer(TIMER_HOVER,CMenuContainer::s_HoverTime); - m_bHoverTimer=true; - } - if (m_pOwner->m_Submenu<0) - SetFocus(); - m_pOwner->SetHotItem(m_pOwner->m_ProgramTreeIndex); - bHandled=FALSE; - return 0; -} - -LRESULT CProgramsTree::OnNcMouseLeave( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_bTrackMouse=false; - if (m_bHoverTimer) - { - KillTimer(TIMER_HOVER); - m_bHoverTimer=false; - } - bHandled=FALSE; - return 0; -} - -LRESULT CProgramsTree::OnNcLButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - SetFocus(); - TreeView_SelectItem(m_hWnd,NULL); - bHandled=FALSE; - return 0; -} - -LRESULT CProgramsTree::OnMouseActivate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - SetFocus(); - if (CMenuContainer::s_bBehindTaskbar && CMenuContainer::s_TaskBar) - m_pOwner->SetWindowPos(CMenuContainer::s_TaskBar,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE); - return MA_NOACTIVATE; -} - -LRESULT CProgramsTree::OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==TIMER_HOVER) - { - KillTimer(TIMER_HOVER); - m_bHoverTimer=false; - RECT rc; - GetWindowRect(&rc); - if (PtInRect(&rc,CPoint(GetMessagePos()))) - SetFocus(); - } - else - bHandled=FALSE; - return 0; -} - -LRESULT CProgramsTree::OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (CMenuContainer::s_bNoContextMenu) return 0; - HTREEITEM hItem; - const CTreeItem *pItem=GetSelectedItem(hItem); - if (pItem) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,hItem,&rc,FALSE); - MapWindowPoints(m_pOwner->m_hWnd,&rc); - CMenuContainer::ActivateData data; - data.bProgramsTree=true; - data.bExpanded=(TreeView_GetItemState(m_hWnd,hItem,TVIS_EXPANDED)&TVIS_EXPANDED)!=0; - HTREEITEM hParent=TreeView_GetParent(m_hWnd,hItem); - const CTreeItem *pParent=NULL; - if (hParent) - { - TVITEM item={TVIF_PARAM,hParent}; - TreeView_GetItem(m_hWnd,&item); - pParent=(CTreeItem*)item.lParam; - data.parent=pParent->pItemInfo1->GetPidl(); - data.bAutoSort=pParent->bAutoSort; - } - else - { - data.parent=m_pOwner->m_Path1[0]; - data.bAutoSort=m_bAutoSort; - } - data.hTreeItem=hItem; - m_pOwner->ActivateTreeItem(pItem,rc,CMenuContainer::ACTIVATE_MENU,NULL,&data); - if (data.command==CMenuContainer::CMD_RENAME && data.pNewItemInfo) - SaveRenamedOrder(hItem,data.pNewItemInfo); - if (data.command==CMenuContainer::CMD_TOGGLE) - TreeView_Expand(m_hWnd,hItem,TVE_TOGGLE); - else if (data.command==CMenuContainer::CMD_DELETE || data.command==CMenuContainer::CMD_MARKOLD) - PostRefreshMessage(pParent?pParent->pItemInfo1:NULL); - else if (data.command==CMenuContainer::CMD_RENAME || data.command==CMenuContainer::CMD_NEWFOLDER) - PostRefreshMessage(data.pNewItemInfo); - } - - return 0; -} - -LRESULT CProgramsTree::OnScroll( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (CMenuContainer::s_Skin.Programs_background==0) - Invalidate(); - bHandled=FALSE; - return 0; -} - -bool CProgramsTree::GetInsertRect( RECT &rc ) const -{ - if (!m_InsertMark) return false; - - RECT itemRect; - TreeView_GetItemRect(m_hWnd,m_InsertMark,&itemRect,TRUE); - - GetClientRect(&rc); - rc.left=itemRect.left-CItemManager::SMALL_ICON_SIZE-3-CMenuContainer::s_Skin.ItemSettings[MenuSkin::PROGRAMS_TREE_ITEM].iconPadding.right; - const POINT *sizes=CMenuContainer::s_Skin.GetArrowsBitmapSizes(); - int h=sizes[1].y; - rc.top=(m_bInsertAfter?itemRect.bottom:itemRect.top)-h/2; - rc.bottom=rc.top+h; - return true; -} - -LRESULT CProgramsTree::OnSetInsertMark( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - RECT rc; - if (GetInsertRect(rc)) - InvalidateRect(&rc); - m_InsertMark=(HTREEITEM)lParam; - m_bInsertAfter=wParam!=0; - if (GetInsertRect(rc)) - InvalidateRect(&rc); - bHandled=FALSE; - return 0; -} - -LRESULT CProgramsTree::OnRefresh( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_bRefreshPosted=false; - RefreshTree(NULL,(CItemManager::ItemInfo*)lParam); - return 0; -} - -// Subclass the renaming editbox to handle Esc and Enter -static LRESULT CALLBACK SubclassEditboxProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_GETDLGCODE) - return DLGC_WANTALLKEYS; - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CProgramsTree::OnBeginLabelEdit( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - SetWindowSubclass(TreeView_GetEditControl(m_hWnd),SubclassEditboxProc,'CLSH',0); -/* NMTVDISPINFO *pInfo=(NMTVDISPINFO*)pnmh; - if (!pInfo->item.lParam || ((CTreeItem*)pInfo->item.lParam)->bSeparator) - return TRUE;*/ - return FALSE; -} - -LRESULT CProgramsTree::OnEndLabelEdit( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ -/* NMTVDISPINFO *pInfo=(NMTVDISPINFO*)pnmh; - if (pInfo->item.pszText) - { - if (!*pInfo->item.pszText) - { - ::MessageBox(m_hWnd,LoadStringEx(IDS_ERROR_EMPTY),LoadStringEx(IDS_ERROR_TITLE),MB_OK|MB_ICONERROR); - return FALSE; - } - bool bValid=true; - for (const wchar_t *c=pInfo->item.pszText;*c;c++) - { - if ((*c>='a' && *c<='z') || (*c>='A' && *c<='Z') || (*c>='0' && *c<='9') || *c=='_') - continue; - ::MessageBox(m_hWnd,LoadStringEx(IDS_ERROR_ASCII),LoadStringEx(IDS_ERROR_TITLE),MB_OK|MB_ICONERROR); - return FALSE; - } - wchar_t text[1024]; - if (m_pOwner->IsSeparator(pInfo->item.pszText)) - { - Sprintf(text,_countof(text),LoadStringEx(IDS_ERROR_SEPARATOR),pInfo->item.pszText); - ::MessageBox(m_hWnd,text,LoadStringEx(IDS_ERROR_TITLE),MB_OK|MB_ICONERROR); - return FALSE; - } - if (FindItemByName(NULL,pInfo->item.pszText,pInfo->item.hItem)) - { - Sprintf(text,_countof(text),LoadStringEx(IDS_DUPLICATE_ITEM),pInfo->item.pszText); - ::MessageBox(m_hWnd,text,LoadStringEx(IDS_ERROR_TITLE),MB_OK|MB_ICONERROR); - return FALSE; - } - ((CTreeItem*)pInfo->item.lParam)->name=pInfo->item.pszText; - return TRUE; - }*/ - return FALSE; -} - -LRESULT CProgramsTree::OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVGETINFOTIP *pTip=(NMTVGETINFOTIP*)pnmh; - const CTreeItem *pTreeItem=(CTreeItem*)pTip->lParam; - if (pTreeItem && pTreeItem->pItemInfo1 && !pTreeItem->bFolder) - { - // get the tip from the shell - CComPtr pItem; - if (FAILED(SHCreateItemFromIDList(pTreeItem->pItemInfo1->GetPidl(),IID_IShellItem,(void**)&pItem))) - return 0; - - CComPtr pQueryInfo; - if (FAILED(pItem->BindToHandler(NULL,BHID_SFUIObject,IID_IQueryInfo,(void**)&pQueryInfo))) - return 0; - - CComString pText; - if (FAILED(pQueryInfo->GetInfoTip(QITIPF_LINKNOTARGET,&pText)) || !pText) - return 0; - - Strcpy(pTip->pszText,pTip->cchTextMax,pText); - } - return 0; -} - -LRESULT CProgramsTree::OnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - CPoint pt(GetMessagePos()); - ScreenToClient(&pt); - TVHITTESTINFO test={pt}; - TreeView_HitTest(m_hWnd,&test); - if (test.flags&TVHT_ONITEM|TVHT_ONITEMINDENT) - { - TreeView_SelectItem(m_hWnd,test.hItem); - TVITEM item={TVIF_PARAM,test.hItem}; - TreeView_GetItem(m_hWnd,&item); - const CTreeItem *pItem=(CTreeItem*)item.lParam; - if (!pItem) return TRUE; - if (pItem->bFolder) - TreeView_Expand(m_hWnd,test.hItem,TVE_TOGGLE); - else if (pItem->pItemInfo1) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,test.hItem,&rc,FALSE); - MapWindowPoints(m_pOwner->m_hWnd,&rc); - CMenuContainer::ActivateData data; - data.bProgramsTree=true; - m_pOwner->ActivateTreeItem(pItem,rc,CMenuContainer::ACTIVATE_EXECUTE,NULL,&data); - } - } - return TRUE; -} - -LRESULT CProgramsTree::OnRClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - if (CMenuContainer::s_bNoContextMenu) return 1; - CPoint pt(GetMessagePos()); - TVHITTESTINFO test={pt}; - ScreenToClient(&test.pt); - TreeView_HitTest(m_hWnd,&test); - if (test.flags&TVHT_ONITEM|TVHT_ONITEMINDENT) - { - TreeView_SelectItem(m_hWnd,test.hItem); - TVITEM item={TVIF_PARAM,test.hItem}; - TreeView_GetItem(m_hWnd,&item); - const CTreeItem *pItem=(CTreeItem*)item.lParam; - if (pItem) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,test.hItem,&rc,FALSE); - MapWindowPoints(m_pOwner->m_hWnd,&rc); - CMenuContainer::ActivateData data; - data.bProgramsTree=true; - data.bExpanded=(TreeView_GetItemState(m_hWnd,test.hItem,TVIS_EXPANDED)&TVIS_EXPANDED)!=0; - HTREEITEM hParent=TreeView_GetParent(m_hWnd,test.hItem); - const CTreeItem *pParent=NULL; - if (hParent) - { - TVITEM item={TVIF_PARAM,hParent}; - TreeView_GetItem(m_hWnd,&item); - pParent=(CTreeItem*)item.lParam; - data.parent=pParent->pItemInfo1->GetPidl(); - data.bAutoSort=pParent->bAutoSort; - } - else - { - data.parent=m_pOwner->m_Path1[0]; - data.bAutoSort=m_bAutoSort; - } - data.hTreeItem=test.hItem; - m_pOwner->ActivateTreeItem(pItem,rc,CMenuContainer::ACTIVATE_MENU,&pt,&data); - if (data.command==CMenuContainer::CMD_RENAME && data.pNewItemInfo) - SaveRenamedOrder(test.hItem,data.pNewItemInfo); - if (data.command==CMenuContainer::CMD_TOGGLE) - TreeView_Expand(m_hWnd,test.hItem,TVE_TOGGLE); - else if (data.command==CMenuContainer::CMD_DELETE || data.command==CMenuContainer::CMD_MARKOLD) - PostRefreshMessage(pParent?pParent->pItemInfo1:NULL); - else if (data.command==CMenuContainer::CMD_RENAME || data.command==CMenuContainer::CMD_NEWFOLDER) - PostRefreshMessage(data.pNewItemInfo); - } - } - return 1; -} - -LRESULT CProgramsTree::OnPaint( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - // use buffered paint to allow the tree control to appear on a transparent background - PAINTSTRUCT ps; - HDC hdc=BeginPaint(&ps); - DrawTree(hdc,ps.rcPaint); - EndPaint(&ps); - return 0; -} - -void CProgramsTree::DeleteAllItems( void ) -{ - TreeView_DeleteAllItems(m_hWnd); -} - -void CProgramsTree::ClearAllNewRec( HTREEITEM hParent ) -{ - for (HTREEITEM hItem=hParent?TreeView_GetChild(m_hWnd,hParent):TreeView_GetRoot(m_hWnd);hItem;hItem=TreeView_GetNextSibling(m_hWnd,hItem)) - { - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_hWnd,&item); - CTreeItem *pTreeItem=(CTreeItem*)item.lParam; - pTreeItem->bNew=false; - ClearAllNewRec(hItem); - } -} - -void CProgramsTree::ClearAllNew( void ) -{ - ClearAllNewRec(NULL); -} - -void CProgramsTree::AddFirstFolder( std::vector &items, IShellItem *pParent, bool bPrograms ) -{ - unsigned int hash0Prog=CalcFNVHash(L"\\",FNV_HASH0); - unsigned int hash0=FNV_HASH0; - CShellItemEnumerator enumerator(pParent); - if (!enumerator.IsValid()) return; - - CComPtr pChild; - CAbsolutePidl childPidl; - while (enumerator.GetNext(pChild,childPidl)) - { - SFGAOF itemFlags; - if (SUCCEEDED(pChild->GetAttributes(SFGAO_FOLDER|SFGAO_HIDDEN,&itemFlags))) - { - if (itemFlags&SFGAO_HIDDEN) - continue; - CTreeItem *pItem=new CTreeItem(); - pItem->bFolder=(itemFlags&SFGAO_FOLDER)!=0; - pItem->bEmpty=false; - pItem->pItemInfo1=g_ItemManager.GetItemInfo(pChild,childPidl,CItemManager::INFO_SMALL_ICON|CItemManager::INFO_LINK|CItemManager::INFO_METRO); - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (pItem->pItemInfo1->IsMetroLink()) - { - if (GetSettingBool(L"HideProgramsMetro") || _wcsicmp(pItem->pItemInfo1->GetAppid(),DESKTOP_APP_ID)==0) - continue; - CString name=pItem->pItemInfo1->GetMetroName(); - pItem->SetName(name,false); - name.MakeUpper(); - pItem->nameHash=CalcFNVHash(name,hash0); - pItem->nameHashProg=CalcFNVHash(name,hash0Prog); - } - } - if (pItem->name.IsEmpty()) - { - CComString pName; - if (FAILED(pChild->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - continue; - pItem->SetName(pName,false); - CComString pName2; - if (SUCCEEDED(pChild->GetDisplayName(SIGDN_PARENTRELATIVEPARSING,&pName2))) - { - pName2.MakeUpper(); - pItem->nameHash=CalcFNVHash(pName2,hash0); - pItem->nameHashProg=CalcFNVHash(pName2,hash0Prog); - } - else - { - pName.MakeUpper(); - pItem->nameHash=CalcFNVHash(pName,hash0); - pItem->nameHashProg=CalcFNVHash(pName2,hash0Prog); - } - } - if (pItem->bFolder) - pItem->folderHash=CalcFNVHash(pItem->pItemInfo1->PATH,CalcFNVHash(ORDER_PREFIX)); - pItem->pItemInfo2=NULL; - pItem->order=-1; - pItem->bPrograms=bPrograms; - pItem->bNew=g_ItemManager.IsNewProgram(pItem->pItemInfo1->GetPidl(),pItem->bFolder,false); - items.push_back(pItem); - } - } -} - -void CProgramsTree::AddSecondFolder( std::vector &items, IShellItem *pParent, bool bPrograms ) -{ - unsigned int hash0Prog=CalcFNVHash(L"\\",FNV_HASH0); - unsigned int hash0=FNV_HASH0; - CShellItemEnumerator enumerator(pParent); - if (!enumerator.IsValid()) return; - - CComPtr pChild; - CAbsolutePidl childPidl; - while (enumerator.GetNext(pChild,childPidl)) - { - SFGAOF itemFlags; - if (SUCCEEDED(pChild->GetAttributes(SFGAO_FOLDER|SFGAO_HIDDEN,&itemFlags))) - { - if (itemFlags&SFGAO_HIDDEN) - continue; - CTreeItem *pItem=new CTreeItem(); - pItem->bFolder=(itemFlags&SFGAO_FOLDER)!=0; - pItem->bEmpty=false; - pItem->pItemInfo1=g_ItemManager.GetItemInfo(pChild,childPidl,CItemManager::INFO_SMALL_ICON|CItemManager::INFO_LINK|CItemManager::INFO_METRO); - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (pItem->pItemInfo1->IsMetroLink()) - { - if (GetSettingBool(L"HideProgramsMetro") || _wcsicmp(pItem->pItemInfo1->GetAppid(),DESKTOP_APP_ID)==0) - continue; - CString name=pItem->pItemInfo1->GetMetroName(); - pItem->SetName(name,false); - name.MakeUpper(); - pItem->nameHash=CalcFNVHash(name,hash0); - pItem->nameHashProg=CalcFNVHash(name,hash0Prog); - } - } - if (pItem->name.IsEmpty()) - { - CComString pName; - if (FAILED(pChild->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - continue; - pItem->SetName(pName,false); - CComString pName2; - if (SUCCEEDED(pChild->GetDisplayName(SIGDN_PARENTRELATIVEPARSING,&pName2))) - { - pName2.MakeUpper(); - pItem->nameHash=CalcFNVHash(pName2,hash0); - pItem->nameHashProg=CalcFNVHash(pName2,hash0Prog); - } - else - { - pName.MakeUpper(); - pItem->nameHash=CalcFNVHash(pName,hash0); - pItem->nameHashProg=CalcFNVHash(pName2,hash0Prog); - } - } - if (pItem->bFolder) - pItem->folderHash=CalcFNVHash(pItem->pItemInfo1->PATH,CalcFNVHash(ORDER_PREFIX)); - pItem->pItemInfo2=NULL; - pItem->order=-1; - pItem->bPrograms=bPrograms; - pItem->bNew=g_ItemManager.IsNewProgram(pItem->pItemInfo1->GetPidl(),pItem->bFolder,false); - unsigned int nameHash=pItem->GetNameHash(); - for (std::vector::iterator it=items.begin();it!=items.end();++it) - { - if ((*it)->GetNameHash()==nameHash) - { - (*it)->pItemInfo2=pItem->pItemInfo1; - if (pItem->bNew) - (*it)->bNew=true; - delete pItem; - pItem=NULL; - break; - } - } - if (pItem) - items.push_back(pItem); - } - } -} - -void CProgramsTree::AddMetroApps( std::vector &items ) -{ - unsigned int hash0Prog=CalcFNVHash(L"\\",FNV_HASH0); - unsigned int hash0=FNV_HASH0; - std::vector links; - GetMetroLinks(links,true); - for (std::vector::const_iterator it=links.begin();it!=links.end();++it) - { - const CItemManager::ItemInfo *pItemInfo=g_ItemManager.GetItemInfo(it->pItem,it->pidl,CItemManager::INFO_SMALL_ICON|CItemManager::INFO_LINK|CItemManager::INFO_METRO); - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (_wcsicmp(pItemInfo->GetAppid(),DESKTOP_APP_ID)==0) - continue; - CString name; - if (pItemInfo->IsMetroLink()) - name=pItemInfo->GetMetroName(); - else - { - CComString pName; - if (FAILED(it->pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName)) || wcsncmp(pName,L"@{",2)==0) - continue; - name=pName; - } - CTreeItem *pItem=new CTreeItem(); - pItem->pItemInfo1=pItemInfo; - pItem->SetName(name,false); - name.MakeUpper(); - pItem->nameHash=CalcFNVHash(name,hash0); - pItem->nameHashProg=CalcFNVHash(name,hash0Prog); - pItem->bApp=true; - pItem->order=-1; - pItem->bNew=g_ItemManager.IsNewProgram(pItemInfo->GetPidl(),false,true); - items.push_back(pItem); - } - - ULONGLONG curTime; - GetSystemTimeAsFileTime((FILETIME*)&curTime); - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu",KEY_WRITE)!=ERROR_SUCCESS) - regKey.Create(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu"); - regKey.SetQWORDValue(L"LastAppsTime",curTime); -} - -void CProgramsTree::GetFolderItems( std::vector &items, HTREEITEM hParent ) -{ - CTreeItem *pTreeItem=NULL; - if (hParent) - { - TVITEM item={TVIF_PARAM,hParent}; - TreeView_GetItem(m_hWnd,&item); - pTreeItem=(CTreeItem*)item.lParam; - if (pTreeItem->bApps) - { - AddMetroApps(items); - } - else - { - CComPtr pFolder1, pFolder2; - SHCreateItemFromIDList(pTreeItem->pItemInfo1->GetPidl(),IID_IShellItem,(void**)&pFolder1); - if (!pFolder1) return; - - if (pTreeItem->pItemInfo2) - SHCreateItemFromIDList(pTreeItem->pItemInfo2->GetPidl(),IID_IShellItem,(void**)&pFolder2); - - AddFirstFolder(items,pFolder1,false); - - if (pFolder2) - AddSecondFolder(items,pFolder2,false); - if (items.empty()) - { - CTreeItem *pItem=new CTreeItem(); - pItem->bFolder=false; - pItem->bEmpty=true; - pItem->SetName(FindTranslation(L"Menu.Empty",L"(Empty)"),false); - pItem->nameHash=pItem->nameHashProg=0; - pItem->pItemInfo1=pItem->pItemInfo2=NULL; - items.push_back(pItem); - } - } - } - else - { - CComPtr pRoot; - CAbsolutePidl pidl; - if (GetSettingInt(L"PinnedPrograms")==PINNED_PROGRAMS_PINNED) - { - if (SUCCEEDED(ShGetKnownFolderIDList(FOLDERID_StartMenu,&pidl))) - { - SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pRoot); - if (pRoot) - { - AddFirstFolder(items,pRoot,false); - pRoot=NULL; - } - pidl.Clear(); - } - if (!CMenuContainer::s_bNoCommonFolders && SUCCEEDED(ShGetKnownFolderIDList(FOLDERID_CommonStartMenu,&pidl))) - { - SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pRoot); - if (pRoot) - { - AddSecondFolder(items,pRoot,false); - pRoot=NULL; - } - pidl.Clear(); - } - } - if (SUCCEEDED(ShGetKnownFolderIDList(FOLDERID_Programs,&pidl))) - { - SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pRoot); - if (pRoot) - { - AddFirstFolder(items,pRoot,true); - pRoot=NULL; - for (std::vector::iterator it=items.begin();it!=items.end();++it) - { - if (ILIsEqual((*it)->pItemInfo1->GetPidl(),pidl)) - { - items.erase(it); - break; - } - } - } - pidl.Clear(); - } - if (!CMenuContainer::s_bNoCommonFolders && SUCCEEDED(ShGetKnownFolderIDList(FOLDERID_CommonPrograms,&pidl))) - { - SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pRoot); - if (pRoot) - { - AddSecondFolder(items,pRoot,true); - pRoot=NULL; - for (std::vector::iterator it=items.begin();it!=items.end();++it) - { - if (ILIsEqual((*it)->pItemInfo1->GetPidl(),pidl)) - { - items.erase(it); - break; - } - } - } - pidl.Clear(); - } - if (GetSettingBool(L"AllProgramsMetro")) - { - CTreeItem *pItem=new CTreeItem(); - pItem->bFolder=true; - pItem->bApps=true; - pItem->SetName(FindTranslation(L"Menu.Apps",L"Apps"),false); - pItem->pItemInfo1=g_ItemManager.GetCustomIcon(L",2",CItemManager::ICON_SIZE_TYPE_SMALL); - if (pItem->bFolder) - pItem->folderHash=CalcFNVHash(L"?Apps",CalcFNVHash(ORDER_PREFIX)); - pItem->pItemInfo2=NULL; - pItem->order=-1; - pItem->bNew=g_ItemManager.HasNewApps(false); - items.push_back(pItem); - } - } - unsigned int folderHash=pTreeItem?pTreeItem->folderHash:CalcFNVHash(ORDER_PREFIX); - - // load item names from the registry - std::vector hashes; - CRegKey regOrder; - if (pTreeItem) - pTreeItem->bAutoSort=false; - else - m_bAutoSort=false; - if (regOrder.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order",KEY_READ)==ERROR_SUCCESS) - { - wchar_t name[100]; - { - ULONG size=0; - Sprintf(name,_countof(name),L"%08X",folderHash); - regOrder.QueryBinaryValue(name,NULL,&size); - if (size>0 && !(size&3)) - { - hashes.resize(size/4); - regOrder.QueryBinaryValue(name,&hashes[0],&size); - } - } - } - if (hashes.size()==1 && hashes[0]=='AUTO') - { - if (pTreeItem) - pTreeItem->bAutoSort=true; - else - m_bAutoSort=true; - } - else - { - // assign each item an index based on its position in items. store in order - for (std::vector::iterator it=items.begin();it!=items.end();++it) - { - unsigned int hash=(*it)->GetNameHash(); - (*it)->order=32768; - for (int i=0;i<(int)hashes.size();i++) - { - if (hashes[i]==hash) - { - (*it)->order=i; - break; - } - } - } - } - - std::sort(items.begin(),items.end(),CmpTreeItems); -} - -void CProgramsTree::CreateFolderItems( HTREEITEM hParent ) -{ - std::vector items; - GetFolderItems(items,hParent); - - HTREEITEM hAfter=NULL; - for (std::vector::const_iterator it=items.begin();it!=items.end();++it) - { - TVINSERTSTRUCT insert={hParent,hAfter?hAfter:TVI_FIRST,{TVIF_CHILDREN|TVIF_PARAM|TVIF_TEXT}}; - insert.itemex.pszText=(LPWSTR)(LPCWSTR)(*it)->name; - insert.itemex.cChildren=(*it)->bFolder?1:0; - insert.itemex.lParam=(LPARAM)*it; - hAfter=TreeView_InsertItem(m_hWnd,&insert); - } -} - -void CProgramsTree::CreateItems( void ) -{ - TreeView_DeleteAllItems(m_hWnd); - CreateFolderItems(NULL); - RECT rc; - TreeView_GetItemRect(m_hWnd,TreeView_GetRoot(m_hWnd),&rc,TRUE); - m_RootX=rc.left; -} - -void CProgramsTree::RefreshTree( HTREEITEM hParent, const CItemManager::ItemInfo *pSelectItem ) -{ - std::vector newItems; - GetFolderItems(newItems,hParent); - int index=0; - HTREEITEM hAfter=NULL; - for (HTREEITEM hItem=hParent?TreeView_GetChild(m_hWnd,hParent):TreeView_GetRoot(m_hWnd);hItem;) - { - TVITEM item={TVIF_PARAM|TVIF_STATE,hItem,0,TVIS_SELECTED}; - TreeView_GetItem(m_hWnd,&item); - CTreeItem *pOldItem=(CTreeItem*)item.lParam; - int nextIndex=-1; - for (int i=index;i<(int)newItems.size();i++) - { - if (*pOldItem==*newItems[i]) - { - pOldItem->bNew=newItems[i]->bNew; - nextIndex=i; - break; - } - } - HTREEITEM hNext=TreeView_GetNextSibling(m_hWnd,hItem); - if (nextIndex>=0) - { - for (int i=index;iname; - insert.itemex.cChildren=newItems[i]->bFolder?1:0; - insert.itemex.lParam=(LPARAM)newItems[i]; - hAfter=TreeView_InsertItem(m_hWnd,&insert); - } - delete newItems[nextIndex]; - index=nextIndex+1; - hAfter=hItem; - } - else - { - if (item.state&TVIS_SELECTED) - TreeView_SelectItem(m_hWnd,NULL); - TreeView_DeleteItem(m_hWnd,hItem); - } - hItem=hNext; - } - for (int i=index;i<(int)newItems.size();i++) - { - TVINSERTSTRUCT insert={hParent,hAfter?hAfter:TVI_FIRST,{TVIF_CHILDREN|TVIF_PARAM|TVIF_TEXT}}; - insert.itemex.pszText=(LPWSTR)(LPCWSTR)newItems[i]->name; - insert.itemex.cChildren=newItems[i]->bFolder?1:0; - insert.itemex.lParam=(LPARAM)newItems[i]; - hAfter=TreeView_InsertItem(m_hWnd,&insert); - } - size_t count=0; - for (HTREEITEM hItem=hParent?TreeView_GetChild(m_hWnd,hParent):TreeView_GetRoot(m_hWnd);hItem;hItem=TreeView_GetNextSibling(m_hWnd,hItem)) - { - TVITEM item={TVIF_STATE|TVIF_PARAM,hItem,0,TVIS_EXPANDEDONCE}; - TreeView_GetItem(m_hWnd,&item); - if (item.state&TVIS_EXPANDEDONCE) - RefreshTree(hItem,pSelectItem); - count++; - if (pSelectItem && ((CTreeItem*)item.lParam)->pItemInfo1==pSelectItem) - TreeView_SelectItem(m_hWnd,hItem); - } - Assert(count==newItems.size()); -} - -const CProgramsTree::CTreeItem *CProgramsTree::GetSelectedItem( HTREEITEM &hItem ) -{ - hItem=TreeView_GetSelection(m_hWnd); - if (!hItem) return NULL; - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_hWnd,&item); - return (CTreeItem*)item.lParam; -} - -bool CProgramsTree::CmpTreeItems( const CTreeItem *item1, const CTreeItem *item2 ) -{ - if (item1->order!=item2->order) return item1->orderorder; - if (!item1->bFolder && item2->bFolder) return !s_bFoldersFirst; - if (item1->bFolder && !item2->bFolder) return s_bFoldersFirst; - if (item1->bApps && !item2->bApps) return false; - if (!item1->bApps && item2->bApps) return true; - return CMenuContainer::CompareMenuString(item1->name,item2->name)<0; -} - -void CProgramsTree::SelectItem( int y ) -{ - SetFocus(); - RECT rcClient; - GetClientRect(&rcClient); - HTREEITEM hSelect=NULL, hLast=NULL; - for (HTREEITEM hItem=TreeView_GetFirstVisible(m_hWnd);hItem;hItem=TreeView_GetNextVisible(m_hWnd,hItem)) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,hItem,&rc,FALSE); - if (rc.toprcClient.bottom) - break; - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_hWnd,&item); - const CTreeItem *pItem=(CTreeItem*)item.lParam; - if (!hSelect) - hSelect=hItem; - else if (rc.top<=y && rc.bottom>y) - { - hSelect=hItem; - break; - } - hLast=hItem; - } - if (!hSelect) hSelect=hLast; - if (hSelect) - TreeView_SelectItem(m_hWnd,hSelect); -} - -void CProgramsTree::SelectFirst( void ) -{ - SetFocus(); - HTREEITEM hSelect=TreeView_GetRoot(m_hWnd); - if (hSelect) - TreeView_SelectItem(m_hWnd,hSelect); -} - -void CProgramsTree::SelectLast( void ) -{ - SetFocus(); - HTREEITEM hSelect=TreeView_GetRoot(m_hWnd); - if (!hSelect) return; - while (1) - { - for (HTREEITEM hItem=hSelect;hItem;hItem=TreeView_GetNextSibling(m_hWnd,hItem)) - hSelect=hItem; - if (!(TreeView_GetItemState(m_hWnd,hSelect,TVIS_EXPANDED)&TVIS_EXPANDED)) - break; - - HTREEITEM hChild=TreeView_GetChild(m_hWnd,hSelect); - if (!hChild) break; - hSelect=hChild; - } - TreeView_SelectItem(m_hWnd,hSelect); -} - -// IDropTarget -HRESULT CProgramsTree::DragEnter( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect ) -{ - CMenuContainer::s_bRightDrag=(grfKeyState&MK_RBUTTON)!=0; - if (m_pOwner->m_pDropTargetHelper) - { - POINT p={pt.x,pt.y}; - m_pOwner->m_pDropTargetHelper->DragEnter(m_hWnd,pDataObj,&p,*pdwEffect); - } - m_pOwner->m_DragHoverTime=GetMessageTime()-10000; - m_HoverItem=NULL; - m_pOwner->m_pDragObject=pDataObj; - return S_OK; -} - -void CProgramsTree::GetDragEffect( DWORD &grfKeyState, DWORD *pdwEffect ) -{ - grfKeyState&=MK_SHIFT|MK_CONTROL|MK_ALT; - if (CMenuContainer::s_bNoDragDrop) - { - *pdwEffect=DROPEFFECT_NONE; // can't drop here - return; - } - - if (m_bDragApps) - { - *pdwEffect&=DROPEFFECT_MOVE; - return; - } - - // only accept known data formats - FORMATETC format1={CMenuContainer::s_ShellFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL}; - FORMATETC format2={CMenuContainer::s_ShellUrlFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL}; - FORMATETC format3={CMenuContainer::s_MetroLinkFormat,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL}; - if (m_pOwner->m_pDragObject->QueryGetData(&format1)!=S_OK && m_pOwner->m_pDragObject->QueryGetData(&format2)!=S_OK && m_pOwner->m_pDragObject->QueryGetData(&format3)!=S_OK) - { - *pdwEffect=DROPEFFECT_NONE; - return; - } - - bool bDragApp=m_pOwner->m_pDragObject->QueryGetData(&format3)==S_OK; // dragging a wrapped metro link or the Apps folder - bool bDropApps=false; // dropping in the Apps folder - HTREEITEM hDropFolder=NULL; - if (m_DropTarget && (m_DropLocation==DROP_BEFORE || m_DropLocation==DROP_AFTER || m_DropLocation==DROP_LAST)) - hDropFolder=TreeView_GetParent(m_hWnd,m_DropTarget); - else - hDropFolder=m_DropTarget; - if (hDropFolder) - { - TVITEM item={TVIF_PARAM,hDropFolder}; - TreeView_GetItem(m_hWnd,&item); - const CTreeItem *pTreeItem=(CTreeItem*)item.lParam; - bDropApps=pTreeItem->bApps; - } - - if (CMenuContainer::s_pDragSource) - { - if (CMenuContainer::s_pDragSource->m_Items[CMenuContainer::s_pDragSource->m_DragIndex].id==MENU_RECENT) - *pdwEffect&=DROPEFFECT_LINK; // dragging a recent item (allow only link) - else if (!CMenuContainer::s_bRightDrag && grfKeyState==0 && CMenuContainer::s_bDragMovable) - *pdwEffect&=(bDragApp && !bDropApps)?DROPEFFECT_LINK:DROPEFFECT_MOVE; // dragging normal item - default to move - } - - if (bDragApp) - { - if (bDropApps) - *pdwEffect&=(m_DragItem && hDropFolder && TreeView_GetParent(m_hWnd,m_DragItem)==hDropFolder)?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 (!CMenuContainer::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; - } -} - -HRESULT CProgramsTree::DragOver( DWORD grfKeyState, POINTL pt, DWORD *pdwEffect ) -{ - CMenuContainer::s_bRightDrag=(grfKeyState&MK_RBUTTON)!=0; - POINT p={pt.x,pt.y}; - if (m_pOwner->m_pDropTargetHelper) - { - m_pOwner->m_pDropTargetHelper->DragOver(&p,*pdwEffect); - } - ScreenToClient(&p); - - if (m_bDragApps) - { - // scroll tree during dragging Apps - if ((GetMessageTime()-m_pOwner->m_DragHoverTime)>200) - { - m_pOwner->m_DragHoverTime=GetMessageTime(); - RECT rc; - GetClientRect(&rc); - int h=TreeView_GetItemHeight(m_hWnd); - if (p.yrc.bottom-h) - SendMessage(WM_VSCROLL,SB_LINEDOWN); - } - } - - TVHITTESTINFO test={p}; - if (TreeView_HitTest(m_hWnd,&test)) - { - m_DropTarget=test.hItem; - } - else - { - HTREEITEM hLast=TreeView_GetLastVisible(m_hWnd); - if (hLast) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,hLast,&rc,FALSE); - if (test.pt.y>=rc.bottom) - { - // after the last visible item - m_DropTarget=hLast; - } - } - } - - const CTreeItem *pTreeItem=NULL; - bool bAutoSort=false; - if (m_DropTarget) - { - TVITEM item={TVIF_PARAM,m_DropTarget}; - TreeView_GetItem(m_hWnd,&item); - pTreeItem=(CTreeItem*)item.lParam; - if (m_DragItem) - { - // can't drop inside itself - for (HTREEITEM hItem=TreeView_GetParent(m_hWnd,m_DropTarget);hItem;hItem=TreeView_GetParent(m_hWnd,hItem)) - { - if (hItem==m_DragItem) - { - m_DropTarget=NULL; - break; - } - } - if (m_DropTarget) - { - HTREEITEM hParent=TreeView_GetParent(m_hWnd,m_DropTarget); - if (hParent==TreeView_GetParent(m_hWnd,m_DragItem)) - { - if (hParent) - { - TVITEM parent={TVIF_PARAM,hParent}; - TreeView_GetItem(m_hWnd,&parent); - bAutoSort=((CTreeItem*)parent.lParam)->bAutoSort; - } - else - bAutoSort=m_bAutoSort; - } - } - } - } - if (m_DropTarget) - { - RECT rc; - TreeView_GetItemRect(m_hWnd,m_DropTarget,&rc,FALSE); - int dy=test.pt.y-rc.top; - if (bAutoSort) - { - if (pTreeItem->bFolder && !m_bDragApps) - m_DropLocation=DROP_INSIDE; - else - m_DropTarget=NULL; - } - else if (pTreeItem->bFolder && !m_bDragApps) - { - int h1=(rc.bottom-rc.top)/4; - int h2=(rc.bottom-rc.top)-h1; - if (dy=h2) - m_DropLocation=DROP_AFTER; - else - m_DropLocation=DROP_INSIDE; - } - else if (m_bDragApps && TreeView_GetParent(m_hWnd,m_DropTarget)) - m_DropTarget=NULL; - else - { - int h=(rc.bottom-rc.top)/2; - m_DropLocation=(dym_DragHoverTime)>(int)CMenuContainer::s_HoverTime*4) - { - TreeView_Expand(m_hWnd,m_HoverItem,TVE_EXPAND); - } - } - else - { - m_HoverItem=m_DropTarget; - m_pOwner->m_DragHoverTime=GetMessageTime(); - } - } - return S_OK; -} - -HRESULT CProgramsTree::DragLeave( void ) -{ - if (m_pOwner->m_pDropTargetHelper) - m_pOwner->m_pDropTargetHelper->DragLeave(); - m_pOwner->m_pDragObject.Release(); - TreeView_SelectDropTarget(m_hWnd,NULL); - TreeView_SetInsertMark(m_hWnd,NULL,FALSE); - m_DropLocation=DROP_NOWHERE; - return S_OK; -} - -HRESULT CProgramsTree::Drop( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect ) -{ - if (CMenuContainer::s_pDragSource) - { - if (!CMenuContainer::s_pDragSource->m_bDestroyed) - CMenuContainer::s_pDragSource->KillTimer(CMenuContainer::TIMER_DRAG); - } - GetDragEffect(grfKeyState,pdwEffect); - m_pOwner->m_pDragObject.Release(); - - if (m_pOwner->m_pDropTargetHelper) - { - POINT p={pt.x,pt.y}; - m_pOwner->m_pDropTargetHelper->Drop(pDataObj,&p,*pdwEffect); - } - - std::vector order; - if (m_DropTarget && (m_DropLocation==DROP_BEFORE || m_DropLocation==DROP_AFTER || m_DropLocation==DROP_LAST)) - { - // calculate new order - HTREEITEM hParent=TreeView_GetParent(m_hWnd,m_DropTarget); - size_t dropIndex=-1; - unsigned int dragHash=0; - if (m_DragItem) - { - TVITEM item={TVIF_PARAM,m_DragItem}; - TreeView_GetItem(m_hWnd,&item); - const CTreeItem *pTreeItem=(CTreeItem*)item.lParam; - dragHash=hParent?pTreeItem->nameHash:pTreeItem->nameHashProg; - } - else - { - // get name from dragged item - CString name; - if (CMenuContainer::s_pDragSource && CMenuContainer::s_pDragSource->m_Items[CMenuContainer::s_pDragSource->m_DragIndex].pItemInfo) - { - const CItemManager::ItemInfo *pInfo=CMenuContainer::s_pDragSource->m_Items[CMenuContainer::s_pDragSource->m_DragIndex].pItemInfo; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (pInfo->IsMetroLink()) - name=pInfo->GetMetroName(); - } - if (name.IsEmpty()) - { - CComPtr pItem; - SHCreateItemFromIDList(pInfo->GetPidl(),IID_IShellItem,(void**)&pItem); - CComString pName; - if (pItem && (SUCCEEDED(pItem->GetDisplayName(SIGDN_PARENTRELATIVEPARSING,&pName)) || SUCCEEDED(pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName)))) - name=pName; - } - } - else - { - // TODO: get name from data object - } - if (!name.IsEmpty()) - { - name.MakeUpper(); - unsigned int hash0=hParent?FNV_HASH0:CalcFNVHash(L"\\",FNV_HASH0); - dragHash=CalcFNVHash(name,hash0); - } - } - for (HTREEITEM hItem=hParent?TreeView_GetChild(m_hWnd,hParent):TreeView_GetRoot(m_hWnd);hItem;hItem=TreeView_GetNextSibling(m_hWnd,hItem)) - { - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_hWnd,&item); - const CTreeItem *pTreeItem=(CTreeItem*)item.lParam; - if (hItem==m_DropTarget && m_DropLocation==DROP_BEFORE) - dropIndex=order.size(); - if (hItem!=m_DragItem) - order.push_back(pTreeItem->GetNameHash()); - if (hItem==m_DropTarget && m_DropLocation==DROP_AFTER) - dropIndex=order.size(); - } - if (m_DropLocation==DROP_LAST) - dropIndex=order.size(); - order.insert(order.begin()+dropIndex,dragHash); - - if (m_DragItem && hParent==TreeView_GetParent(m_hWnd,m_DragItem)) - { - // dropped in the same folder, just reorder - OrderElements(m_DragItem,hParent,order,false,true); - CMenuContainer::PlayMenuSound(SOUND_DROP); - m_DropTarget=NULL; - } - } - - // clear the insert mark - TreeView_SelectDropTarget(m_hWnd,NULL); - TreeView_SetInsertMark(m_hWnd,NULL,FALSE); - TDropLocation dropLocation=m_DropLocation; - m_DropLocation=DROP_NOWHERE; - if (!m_DropTarget) return 0; - - // simulate dropping the object into the original folder - CMenuContainer::PlayMenuSound(SOUND_DROP); - - if (dropLocation!=DROP_INSIDE) - { - // drop in parent folder - m_DropTarget=TreeView_GetParent(m_hWnd,m_DropTarget); - dropLocation=DROP_INSIDE; - } - - CAbsolutePidl dropFolder; - if (m_DropTarget) - { - // drop inside a folder - TVITEM item={TVIF_PARAM,m_DropTarget}; - TreeView_GetItem(m_hWnd,&item); - const CTreeItem *pTreeItem=(CTreeItem*)item.lParam; - dropFolder=pTreeItem->pItemInfo1->GetPidl(); - } - else - { - // drop at top - ShGetKnownFolderIDList(FOLDERID_Programs,&dropFolder); - } - if (!dropFolder) return E_FAIL; - - // must use IShellFolder to get to the drop target because the BindToHandler doesn't support passing the parent window (easily) - CComPtr pDesktop; - SHGetDesktopFolder(&pDesktop); - CComPtr pFolder; - CComPtr pTarget; - if (!pDesktop || FAILED(pDesktop->BindToObject(dropFolder,NULL,IID_IShellFolder,(void**)&pFolder)) || FAILED(pFolder->CreateViewObject(g_OwnerWindow,IID_IDropTarget,(void**)&pTarget))) - return S_OK; - - DWORD dwEffect=*pdwEffect; - if (CMenuContainer::s_bRightDrag) - { - if (FAILED(pTarget->DragEnter(pDataObj,MK_RBUTTON|grfKeyState,pt,&dwEffect))) - return E_FAIL; - dwEffect=*pdwEffect; - pTarget->DragOver(MK_RBUTTON|grfKeyState,pt,&dwEffect); - } - else - { - if (FAILED(pTarget->DragEnter(pDataObj,MK_LBUTTON|grfKeyState,pt,&dwEffect))) - return E_FAIL; - dwEffect=*pdwEffect; - pTarget->DragOver(MK_LBUTTON|grfKeyState,pt,pdwEffect); - } - CComQIPtr pAsync=pDataObj; - if (pAsync) - pAsync->SetAsyncMode(FALSE); - for (std::vector::iterator it=CMenuContainer::s_Menus.begin();it!=CMenuContainer::s_Menus.end();++it) - if (!(*it)->m_bDestroyed) - (*it)->EnableWindow(FALSE); // disable all menus - bool bOld=CMenuContainer::s_bPreventClosing; - CMenuContainer::s_bPreventClosing=true; - m_pOwner->AddRef(); - pTarget->Drop(pDataObj,grfKeyState,pt,pdwEffect); - if (!bOld) - CMenuContainer::HideTemp(false); - CMenuContainer::s_bPreventClosing=bOld; - for (std::vector::iterator it=CMenuContainer::s_Menus.begin();it!=CMenuContainer::s_Menus.end();++it) - if (!(*it)->m_bDestroyed) - (*it)->EnableWindow(TRUE); // enable all menus - if (!m_pOwner->m_bDestroyed) - { - SetForegroundWindow(m_pOwner->m_hWnd); - m_pOwner->SetActiveWindow(); - m_pOwner->SetHotItem(m_pOwner->m_ProgramTreeIndex); - SetFocus(); - } - if (!order.empty()) - { - OrderElements(NULL,m_DropTarget,order,false,false); - } - PostRefreshMessage(); - m_pOwner->Release(); - - return S_OK; -} - -void CProgramsTree::PostRefreshMessage( const CItemManager::ItemInfo *pSelectItem ) -{ - if (!m_bRefreshPosted && !m_pOwner->m_bDestroyed) - { - m_bRefreshPosted=true; - PostMessage(TVM_REFRESH,0,(LPARAM)pSelectItem); - } -} - -int CALLBACK CProgramsTree::CmpTreeItemsCB( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort ) -{ - const CTreeItem *pTreeItem1=(CTreeItem*)lParam1; - const CTreeItem *pTreeItem2=(CTreeItem*)lParam2; - return pTreeItem1->order-pTreeItem2->order; -} - -// reorders the tree elements and saves the order in registry -// bResort - resort the tree with the given order -void CProgramsTree::OrderElements( HTREEITEM hChild, HTREEITEM hParent, const std::vector &order, bool bAutoSort, bool bResort ) -{ - CTreeItem *pParentItem=NULL; - unsigned int folderHash; - if (hParent) - { - TVITEM item={TVIF_PARAM,hParent}; - TreeView_GetItem(m_hWnd,&item); - pParentItem=(CTreeItem*)item.lParam; - folderHash=pParentItem->folderHash; - } - else - folderHash=CalcFNVHash(ORDER_PREFIX); - - if (order.empty()) - { - if (pParentItem) - pParentItem->bAutoSort=bAutoSort; - else - m_bAutoSort=bAutoSort; - - if (hChild) - { - TVITEM item={TVIF_PARAM,hChild}; - TreeView_GetItem(m_hWnd,&item); - PostMessage(TVM_REFRESH,0,item.lParam); - } - else - PostMessage(TVM_REFRESH); - } - else if (bResort) - { - // set item order - for (HTREEITEM hItem=hParent?TreeView_GetChild(m_hWnd,hParent):TreeView_GetRoot(m_hWnd);hItem;hItem=TreeView_GetNextSibling(m_hWnd,hItem)) - { - TVITEM item={TVIF_PARAM,hItem}; - TreeView_GetItem(m_hWnd,&item); - CTreeItem *pTreeItem=(CTreeItem*)item.lParam; - pTreeItem->order=32768; - unsigned int nameHash=pTreeItem->GetNameHash(); - for (int i=0;i<(int)order.size();i++) - { - if (nameHash==order[i]) - { - pTreeItem->order=i; - break; - } - } - } - // sort by order - TVSORTCB sort={hParent,CmpTreeItemsCB,0}; - TreeView_SortChildrenCB(m_hWnd,&sort,0); - } - - // save order - CRegKey regOrder; - wchar_t name[100]; - if (regOrder.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order")!=ERROR_SUCCESS) - regOrder.Create(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order"); - - Sprintf(name,_countof(name),L"%08X",folderHash); - if (bAutoSort) - { - DWORD cAuto='AUTO'; - regOrder.SetBinaryValue(name,&cAuto,4); - } - else if (order.empty()) - regOrder.SetBinaryValue(name,NULL,0); - else - regOrder.SetBinaryValue(name,&order[0],(int)order.size()*4); -} - -// saves the item order by replacing the item with the new info -void CProgramsTree::SaveRenamedOrder( HTREEITEM hItem, const CItemManager::ItemInfo *pNewInfo ) -{ - HTREEITEM hParent=TreeView_GetParent(m_hWnd,hItem); - CTreeItem *pParentItem=NULL; - unsigned int folderHash; - if (hParent) - { - TVITEM item={TVIF_PARAM,hParent}; - TreeView_GetItem(m_hWnd,&item); - pParentItem=(CTreeItem*)item.lParam; - if (pParentItem->bAutoSort) - return; - folderHash=pParentItem->folderHash; - } - else - { - if (m_bAutoSort) - return; - folderHash=CalcFNVHash(ORDER_PREFIX); - } - - std::vector order; - for (HTREEITEM hChild=hParent?TreeView_GetChild(m_hWnd,hParent):TreeView_GetRoot(m_hWnd);hChild;hChild=TreeView_GetNextSibling(m_hWnd,hChild)) - { - TVITEM item={TVIF_PARAM,hChild}; - TreeView_GetItem(m_hWnd,&item); - const CTreeItem *pTreeItem=(CTreeItem*)item.lParam; - if (hChild==hItem) - { - CComPtr pChild; - if (FAILED(SHCreateItemFromIDList(pNewInfo->GetPidl(),IID_IShellItem,(void**)&pChild))) - return; - CComString pName; - if (FAILED(pChild->GetDisplayName(SIGDN_PARENTRELATIVEPARSING,&pName)) && FAILED(pChild->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - return; - pName.MakeUpper(); - unsigned int hash0=pTreeItem->bPrograms?CalcFNVHash(L"\\",FNV_HASH0):FNV_HASH0; - order.push_back(CalcFNVHash(pName,hash0)); - } - else - order.push_back(pTreeItem->GetNameHash()); - } - if (order.empty()) - return; - - // save order - CRegKey regOrder; - wchar_t name[100]; - if (regOrder.Open(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order")!=ERROR_SUCCESS) - regOrder.Create(HKEY_CURRENT_USER,L"Software\\OpenShell\\StartMenu\\Order"); - - Sprintf(name,_countof(name),L"%08X",folderHash); - regOrder.SetBinaryValue(name,&order[0],(int)order.size()*4); -} diff --git a/Src/StartMenu/StartMenuDLL/ProgramsTree.h b/Src/StartMenu/StartMenuDLL/ProgramsTree.h deleted file mode 100644 index 6abb77b..0000000 --- a/Src/StartMenu/StartMenuDLL/ProgramsTree.h +++ /dev/null @@ -1,222 +0,0 @@ -// 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 -{ -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 &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 m_pDropTargetProxy; - - const CTreeItem *GetSelectedItem( HTREEITEM &hItem ); - void AddFirstFolder( std::vector &items, IShellItem *pParent, bool bPrograms ); - void AddSecondFolder( std::vector &items, IShellItem *pParent, bool bPrograms ); - void AddMetroApps( std::vector &items ); - void GetFolderItems( std::vector &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 ); -}; diff --git a/Src/StartMenu/StartMenuDLL/SearchManager.cpp b/Src/StartMenu/StartMenuDLL/SearchManager.cpp deleted file mode 100644 index a275a4e..0000000 --- a/Src/StartMenu/StartMenuDLL/SearchManager.cpp +++ /dev/null @@ -1,1677 +0,0 @@ -// 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 "SearchManager.h" -#include "MenuContainer.h" -#include "MetroLinkManager.h" -#include "Settings.h" -#include "SettingsUIHelper.h" -#include "SettingsUI.h" -#include "FNVHash.h" -#include "ResourceHelper.h" -#include "LogManager.h" -#include "Translations.h" -#include -#include -#include -#include - -// attempt to get more accurate PIDLs for the search results by laundering them through a search folder. -// this produces better search items for the CSC search connector (better icons and behavior) but is slow. -//#define LAUNDER_SEARCH_RESULTS - -CSearchManager g_SearchManager; -const CLSID CLSID_CSearchManager2={0x7D096C5F,0xAC08,0x4f1f,{0xBE,0xB7,0x5C,0x22,0xC5,0x17,0xCE,0x39}}; - -const int RANK_LIST_VERSION=1; -const int RANK_LIST_SIZE=256; - -CSearchManager::CSearchManager( void ) -{ - m_bInitialized=false; - m_bRanksLoaded=false; - memset(m_CriticalSections,0,sizeof(m_CriticalSections)); - memset(m_CriticalSectionOwners,0,sizeof(m_CriticalSectionOwners)); - m_SearchEvent=NULL; - m_ExitEvent=NULL; - memset(m_SearchThreads,0,sizeof(m_SearchThreads)); - m_MainThreadId=0; - m_LastRequestId=0; - m_LastCompletedId=0; - m_LastProgramsRequestId=0; - m_SearchThreadCount=0; - m_bProgramsFound=m_bSettingsFound=false; - m_ProgramsHash=m_ProgramsHashOld=m_SettingsHash=m_SettingsHashOld=FNV_HASH0; -} - -CSearchManager::~CSearchManager( void ) -{ - Close(); -} - -void CSearchManager::Init( void ) -{ - m_bInitialized=true; - for (int i=0;i='A' && str[0]<='Z' && str[1]==':') - { - const wchar_t *end=wcsrchr(str+2,'\\'); - if (end) - return searchText.Left((int)(end-str)); - return searchText; - } - if (str[0]=='\\' && str[1]=='\\') - { - const wchar_t *end=wcsrchr(str+2,'\\'); - if (end) - return searchText.Left((int)(end-str)); - } - if (str[0]=='%') - { - const wchar_t *end=wcsrchr(str+1,'\\'); - if (end) - return searchText.Left((int)(end-str)); - } - } - return CString(); -} - -void CSearchManager::BeginSearch( const CString &searchText ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - - { - Lock lock(this,LOCK_DATA); - m_SearchText=searchText; - - // initialize the request with unique ID - m_SearchRequest.requestId=++m_LastRequestId; - m_SearchRequest.bSearchPrograms=GetSettingBool(L"SearchPrograms"); - m_SearchRequest.bSearchPath=GetSettingBool(L"SearchPath"); - m_SearchRequest.bSearchMetroApps=GetSettingBool(L"SearchMetroApps"); - m_SearchRequest.bSearchMetroSettings=GetSettingBool(L"SearchMetroSettings"); - m_SearchRequest.bSearchSettings=m_SearchRequest.bSearchPrograms; //GetSettingBool(L"SearchSettings"); - m_SearchRequest.bSearchKeywords=GetSettingBool(L"SearchKeywords"); - m_SearchRequest.bSearchFiles=GetSettingBool(L"SearchFiles"); - m_SearchRequest.bSearchMetadata=GetSettingBool(L"SearchContents"); - m_SearchRequest.bSearchTypes=GetSettingBool(L"SearchCategories"); - m_SearchRequest.bSearchSubWord=GetSettingBool(L"SearchSubWord"); - m_SearchRequest.bUseRanks=GetSettingBool(L"SearchTrack"); - m_SearchRequest.bNoCommonFolders=(SHRestricted(REST_NOCOMMONGROUPS)!=0); - m_SearchRequest.bPinnedFolder=(GetSettingInt(L"PinnedPrograms")==PINNED_PROGRAMS_PINNED); - m_SearchRequest.searchText=searchText; - m_SearchRequest.autoCompletePath=ParseAutoCompletePath(searchText); - } - SetEvent(m_SearchEvent); -} - -void CSearchManager::CloseMenu( void ) -{ - Lock lock(this,LOCK_DATA); - m_LastRequestId++; - m_LastProgramsRequestId=m_LastRequestId; - if (g_LogCategories&LOG_SEARCH) - { - for (std::vector::const_iterator it=m_ProgramItems.begin();it!=m_ProgramItems.end();++it) - { - if (it->category==CATEGORY_PROGRAM) - LOG_MENU(LOG_SEARCH,L"Program: '%s', %d",it->name,it->rank); - } - std::sort(m_SettingsItems.begin(),m_SettingsItems.end()); - for (std::vector::const_iterator it=m_SettingsItems.begin();it!=m_SettingsItems.end();++it) - { - if (it->category==CATEGORY_SETTING) - LOG_MENU(LOG_SEARCH,L"Setting: '%s', %d",it->name,it->rank); - } - } - if (m_bProgramsFound) - { - m_ProgramItemsOld.swap(m_ProgramItems); - m_ProgramsHashOld=m_ProgramsHash; - } - m_ProgramItems.clear(); - m_ProgramsHash=FNV_HASH0; - m_bProgramsFound=false; - - if (m_bSettingsFound) - { - m_SettingsItemsOld.swap(m_SettingsItems); - m_SettingsHashOld=m_SettingsHash; - } - m_SettingsItems.clear(); - m_SettingsHash=FNV_HASH0; - m_bSettingsFound=false; - - m_IndexedItems.clear(); - m_AutoCompleteItems.clear(); - m_AutoCompletePath.Empty(); - m_LastAutoCompletePath.Empty(); -} - -bool CSearchManager::CmpRankTime( const CSearchManager::ItemRank &rank1, const CSearchManager::ItemRank &rank2 ) -{ - return rank1.lastTime>rank2.lastTime; -} - -unsigned int CSearchManager::CalcItemsHash( const std::vector &items ) -{ - unsigned int hash=FNV_HASH0; - for (std::vector::const_iterator it=items.begin();it!=items.end();++it) - { - hash=CalcFNVHash(&it->category,sizeof(TItemCategory),hash); - hash=CalcFNVHash(it->name,hash); - hash=CalcFNVHash(it->keywords,hash); - hash=CalcFNVHash(&it->pInfo,sizeof(void*),hash); - hash=CalcFNVHash(&it->rank,sizeof(int),hash); - hash=CalcFNVHash(&it->bMetroLink,sizeof(bool),hash); - } - return hash; -} - -void CSearchManager::LoadItemRanks( void ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - Lock lock(this,LOCK_RANKS); - m_ItemRanks.clear(); - if (GetSettingBool(L"SearchTrack")) - { - CRegKey regKey; - if (regKey.Open(HKEY_CURRENT_USER,GetSettingsRegPath(),KEY_READ)==ERROR_SUCCESS) - { - ULONG size=0; - regKey.QueryBinaryValue(L"ItemRanks",NULL,&size); - if (size>0 && (size%sizeof(ItemRank))==0) - { - m_ItemRanks.resize(size/sizeof(ItemRank)); - regKey.QueryBinaryValue(L"ItemRanks",&m_ItemRanks[0],&size); - if (m_ItemRanks[0].hash!='CLSH' || m_ItemRanks[0].rank!=RANK_LIST_VERSION) - m_ItemRanks.clear(); - else if (m_ItemRanks.size()>RANK_LIST_SIZE) - { - std::sort(m_ItemRanks.begin()+1,m_ItemRanks.end(),CmpRankTime); - m_ItemRanks.resize(RANK_LIST_SIZE); - } - } - } - if (m_ItemRanks.empty()) - { - ItemRank rank('CLSH',RANK_LIST_VERSION); - m_ItemRanks.push_back(rank); - } - std::sort(m_ItemRanks.begin()+1,m_ItemRanks.end()); - } - m_bRanksLoaded=true; -} - -void CSearchManager::AddItemRank( unsigned int hash ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - Assert(m_bRanksLoaded); - Lock lock(this,LOCK_RANKS); - if (GetSettingBool(L"SearchTrack")) - { - FILETIME curTime; - GetSystemTimeAsFileTime(&curTime); - ItemRank rank(hash,1,curTime.dwHighDateTime); - std::vector::iterator it=std::lower_bound(m_ItemRanks.begin()+1,m_ItemRanks.end(),rank); - if (it!=m_ItemRanks.end() && it->hash==rank.hash) - { - it->rank++; - it->lastTime=curTime.dwHighDateTime; - } - else - { - m_ItemRanks.push_back(rank); - std::sort(m_ItemRanks.begin()+1,m_ItemRanks.end()); - } - } - else - { - m_ItemRanks.clear(); - ItemRank rank('CLSH',RANK_LIST_VERSION); - m_ItemRanks.push_back(rank); - } - CRegKey reg; - if (reg.Open(HKEY_CURRENT_USER,GetSettingsRegPath())!=ERROR_SUCCESS) - reg.Create(HKEY_CURRENT_USER,GetSettingsRegPath()); - - reg.SetBinaryValue(L"ItemRanks",&m_ItemRanks[0],sizeof(ItemRank)*(int)m_ItemRanks.size()); -} - -// Extensions to look for in the PATH directories -static const wchar_t *g_pProgramExtensions[]= -{ - L".EXE", - L".COM", - L".BAT", - L".CMD", - L".MSC", - L".CPL", - L".SCR", -}; - -bool CSearchManager::AddSearchItem( IShellItem *pItem, const wchar_t *name, int flags, TItemCategory category, SearchRequest &searchRequest ) -{ - CAbsolutePidl pidl; - if (FAILED(SHGetIDListFromObject(pItem,&pidl))) - return false; - - SearchItem item; - item.category=CATEGORY_INVALID; - item.pInfo=g_ItemManager.GetItemInfo(pItem,pidl,CItemManager::INFO_LINK|((flags&COLLECT_METRO)?CItemManager::INFO_METRO:0)); - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - item.bMetroLink=item.pInfo->IsMetroLink(); - if ((flags&COLLECT_ONLY_METRO) && !item.bMetroLink) - return false; - if (item.bMetroLink && (!searchRequest.bSearchMetroApps || _wcsicmp(item.pInfo->GetAppid(),DESKTOP_APP_ID)==0)) - return false; - item.category=category; - if (item.bMetroLink) - { - item.name=item.pInfo->GetMetroName(); - StringUpper(item.name); - } - else - item.name=name; - } - if (flags&COLLECT_KEYWORDS) - { - CComQIPtr pItem2=pItem; - PROPVARIANT val; - PropVariantInit(&val); - pItem2->GetProperty(PKEY_Keywords,&val); - wchar_t keywords[1024]; - int len=0; - if (val.vt==VT_BSTR || val.vt==VT_LPWSTR) - { - len+=Strcpy(keywords+len,_countof(keywords)-len,L";"); - len+=Strcpy(keywords+len,_countof(keywords)-len,val.pwszVal); - } - else if (val.vt==(VT_VECTOR|VT_BSTR) || val.vt==(VT_VECTOR|VT_LPWSTR)) - { - for (ULONG i=0;i0) - { - CharUpper(keywords); - item.keywords+=keywords; - } - PropVariantClear(&val); - } - - Lock lock(this,LOCK_DATA); - if (category==CATEGORY_PROGRAM || category==CATEGORY_SETTING) - { - if (searchRequest.requestId &items=(category==CATEGORY_PROGRAM)?m_ProgramItems:m_SettingsItems; - if (category==CATEGORY_SETTING) - { - // remove duplicate settings - for (std::vector::const_iterator it=items.begin();it!=items.end();++it) - { - if (wcscmp(it->name,item.name)==0 && it->bMetroLink==item.bMetroLink) - { - item.category=CATEGORY_INVALID; - break; - } - } - } - - if (searchRequest.bUseRanks) - { - Lock lock(this,LOCK_RANKS); - Assert(m_bRanksLoaded); - unsigned int hash; - CComString pName; - if (SUCCEEDED(pItem->GetDisplayName(SIGDN_PARENTRELATIVEPARSING,&pName))) - { - pName.MakeUpper(); - hash=CalcFNVHash(pName); - } - else - hash=CalcFNVHash(item.name); - ItemRank rank(hash); - std::vector::const_iterator it=std::lower_bound(m_ItemRanks.begin()+1,m_ItemRanks.end(),rank); - if (it!=m_ItemRanks.end() && it->hash==rank.hash) - item.rank=it->rank*2; - } - - items.push_back(item); - } - else if (category==CATEGORY_AUTOCOMPLETE) - { - item.rank=(flags&COLLECT_IS_FOLDER)?1:0; - m_AutoCompleteItems.push_back(item); - } - if (!(flags&COLLECT_NOREFRESH)) - { - DWORD time=GetTickCount(); - int dt=(time-searchRequest.searchTime); - if (dt>1000) - { - CMenuContainer::RefreshSearch(); - searchRequest.searchTime=time; - } - } - return res; -} - -void CSearchManager::CollectSearchItems( IShellItem *pFolder, int flags, TItemCategory category, SearchRequest &searchRequest ) -{ - CComPtr pEnum; - pFolder->BindToHandler(NULL,BHID_EnumItems,IID_IEnumShellItems,(void**)&pEnum); - if (!pEnum) return; - - CComPtr pChild; - while (pChild=NULL,pEnum->Next(1,&pChild,NULL)==S_OK) - { - if (category==CATEGORY_PROGRAM || category==CATEGORY_SETTING) - { - if (searchRequest.requestIdGetAttributes(SFGAO_FOLDER|SFGAO_STREAM|SFGAO_LINK|SFGAO_HIDDEN,&itemFlags))) - { - if (itemFlags&SFGAO_HIDDEN) - continue; - if ((flags&COLLECT_RECURSIVE) && (itemFlags&(SFGAO_FOLDER|SFGAO_STREAM|SFGAO_LINK))==SFGAO_FOLDER) - { - // go into subfolders but not archives or links to folders - CollectSearchItems(pChild,flags,category,searchRequest); - if (category==CATEGORY_PROGRAM || category==CATEGORY_SETTING) - { - if (searchRequest.requestIdGetDisplayName((flags&COLLECT_PROGRAMS)?SIGDN_PARENTRELATIVEPARSING:SIGDN_PARENTRELATIVEEDITING,&pName))) - { - pName.MakeUpper(); - bool bSkip=false; - if (flags&COLLECT_PROGRAMS) - { - bSkip=true; - const wchar_t *ext=PathFindExtension(pName); - for (int i=0;i<_countof(g_pProgramExtensions);i++) - if (wcscmp(ext,g_pProgramExtensions[i])==0) - { - bSkip=false; - break; - } - } - if (!bSkip) - AddSearchItem(pChild,pName,flags|((itemFlags&SFGAO_FOLDER)?COLLECT_IS_FOLDER:0),category,searchRequest); - } - } - } - } -} - -bool CSearchManager::SearchScope::ParseSearchConnector( const wchar_t *fname ) -{ - CComPtr pDoc; - if (FAILED(pDoc.CoCreateInstance(L"Msxml2.FreeThreadedDOMDocument"))) - return false; - pDoc->put_async(VARIANT_FALSE); - VARIANT_BOOL loaded; - if (pDoc->load(CComVariant(fname),&loaded)!=S_OK || loaded!=VARIANT_TRUE) - return false; - - CComPtr pRoot; - HRESULT res=pDoc->selectSingleNode(CComBSTR(L"searchConnectorDescription"),&pRoot); - if (res!=S_OK) return false; - - CComPtr pScope; - res=pRoot->selectSingleNode(CComBSTR(L"scope"),&pScope); - if (res==S_OK) - { - CComPtr pScopeItem; - pScope->get_firstChild(&pScopeItem); - while (pScopeItem) - { - CComBSTR name; - pScopeItem->get_nodeName(&name); - if (_wcsicmp(name,L"scopeItem")==0) - { - CComPtr pUrl; - CComBSTR url; - if (pScopeItem->selectSingleNode(CComBSTR(L"url"),&pUrl)==S_OK && pUrl->get_text(&url)==S_OK) - { - if (_wcsnicmp(url,L"file:",5)==0) - return false; // ignore files - CComPtr pMode, pDepth; - CComBSTR mode, depth; - bool bExclude=(pScopeItem->selectSingleNode(CComBSTR(L"mode"),&pMode)==S_OK && pMode->get_text(&mode)==S_OK && _wcsicmp(mode,L"exclude")==0); - bool bShallow=(pScopeItem->selectSingleNode(CComBSTR(L"depth"),&pDepth)==S_OK && pDepth->get_text(&depth)==S_OK && _wcsicmp(depth,L"shallow")==0); - CString url2; - if (bExclude) - url2.Format(bShallow?L"-=%s":L"-%s",(const wchar_t*)url); - else - url2.Format(bShallow?L"=%s":L"%s",(const wchar_t*)url); - StringUpper(url2); - roots.push_back(url2); - } - } - - CComPtr pNext; - if (pScopeItem->get_nextSibling(&pNext)!=S_OK) - break; - pScopeItem=pNext; - } - return true; - } - - CComPtr pTemplate; - res=pRoot->selectSingleNode(CComBSTR(L"templateInfo"),&pTemplate); - if (res==S_OK) - { - CComPtr pType; - res=pTemplate->selectSingleNode(CComBSTR(L"folderType"),&pType); - if (res==S_OK) - { - CComBSTR type; - bCommunications=(pType->get_text(&type)==S_OK && _wcsicmp(type,L"{91475FE5-586B-4EBA-8D75-D17434B8CDF6}")==0); - } - } - - res=pRoot->selectSingleNode(CComBSTR(L"simpleLocation"),&pScope); - if (res==S_OK) - { - CComPtr pUrl; - res=pScope->selectSingleNode(CComBSTR(L"url"),&pUrl); - if (res!=S_OK) return false; - CComBSTR url; - if (pUrl->get_text(&url)!=S_OK) - return false; - if (_wcsnicmp(url,L"file:",5)==0) - return false; // ignore files - CString url2(url); - StringUpper(url2); - roots.push_back(url2); - return true; - } - return false; -} - -void CSearchManager::SearchThread( void ) -{ - HANDLE events[2]={m_SearchEvent,m_ExitEvent}; - SearchRequest searchRequest; - searchRequest.requestId=-1; - InterlockedIncrement(&m_SearchThreadCount); - while (1) - { - if (searchRequest.requestId==m_LastRequestId) - { - Lock lock(this,LOCK_DATA); - if (searchRequest.requestId==m_LastRequestId) - { - m_LastCompletedId=searchRequest.requestId; - CMenuContainer::RefreshSearch(); - } - } - long count=InterlockedDecrement(&m_SearchThreadCount); -// Trace(L"Search thread count: %d",count); - if (WaitForMultipleObjects(2,events,FALSE,INFINITE)!=WAIT_OBJECT_0) - break; - count=InterlockedIncrement(&m_SearchThreadCount); -// Trace(L"Search thread count: %d",count); - { - Lock lock(this,LOCK_DATA); - if (m_SearchRequest.requestId!=m_LastRequestId) - continue; - searchRequest=m_SearchRequest; - m_SearchRequest.requestId=0; - m_IndexedItems.clear(); - if (!searchRequest.autoCompletePath.IsEmpty() && searchRequest.autoCompletePath==m_LastAutoCompletePath) - continue; - m_AutoCompleteItems.clear(); - m_AutoCompletePath=searchRequest.autoCompletePath; - m_LastAutoCompletePath.Empty(); - } -// Trace(L"Search request: %d",searchRequest.requestId); - - searchRequest.searchTime=GetTickCount(); - - // find programs - if (searchRequest.autoCompletePath.IsEmpty()) - { - if (searchRequest.searchText.IsEmpty() || wcsncmp(searchRequest.searchText,L"\\\\",2)==0) - continue; - Lock lock(this,LOCK_PROGRAMS); - if (searchRequest.requestId pFolder; - if (SUCCEEDED(ShGetKnownFolderItem(FOLDERID_StartMenu,&pFolder))) - CollectSearchItems(pFolder,COLLECT_RECURSIVE|COLLECT_METRO|COLLECT_NOREFRESH,CATEGORY_PROGRAM,searchRequest); - if (searchRequest.requestId pFolder; - if (SUCCEEDED(ShGetKnownFolderItem(FOLDERID_CommonStartMenu,&pFolder))) - CollectSearchItems(pFolder,COLLECT_RECURSIVE|COLLECT_METRO|COLLECT_NOREFRESH,CATEGORY_PROGRAM,searchRequest); - if (searchRequest.requestId pFolder; - if (SUCCEEDED(SHCreateItemFromParsingName(path,NULL,IID_IShellItem,(void**)&pFolder))) - CollectSearchItems(pFolder,COLLECT_METRO|COLLECT_NOREFRESH,CATEGORY_PROGRAM,searchRequest); - if (searchRequest.requestId pFolder; - if (SUCCEEDED(ShGetKnownFolderItem(FOLDERID_Games,&pFolder))) - CollectSearchItems(pFolder,COLLECT_RECURSIVE|COLLECT_METRO|COLLECT_NOREFRESH,CATEGORY_PROGRAM,searchRequest); - if (searchRequest.requestId pFolder; - if (SUCCEEDED(SHCreateItemFromParsingName(token,NULL,IID_IShellItem,(void**)&pFolder))) - CollectSearchItems(pFolder,COLLECT_PROGRAMS|COLLECT_NOREFRESH,CATEGORY_PROGRAM,searchRequest); - if (searchRequest.requestId=WIN_VER_WIN8 && searchRequest.bSearchMetroApps) - { - std::vector links; - GetMetroLinks(links,false); - for (std::vector::const_iterator it=links.begin();it!=links.end();++it) - { - if (GetWinVersion()pItem,L"",COLLECT_PROGRAMS|COLLECT_METRO|COLLECT_ONLY_METRO,CATEGORY_PROGRAM,searchRequest); - else - { - CComString pName; - if (SUCCEEDED(it->pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - AddSearchItem(it->pItem,pName,COLLECT_PROGRAMS|COLLECT_METRO,CATEGORY_PROGRAM,searchRequest); - } - if (searchRequest.requestId pFolder; - if (SUCCEEDED(ShGetKnownFolderItem(FOLDERID_ControlPanelFolder,&pFolder))) - CollectSearchItems(pFolder,COLLECT_FOLDERS|COLLECT_NOREFRESH,CATEGORY_SETTING,searchRequest); - if (searchRequest.requestId pFolder; - if (SUCCEEDED(ShGetKnownFolderItem(FOLDERID_AdminTools,&pFolder))) - CollectSearchItems(pFolder,COLLECT_RECURSIVE|COLLECT_NOREFRESH,CATEGORY_SETTING,searchRequest); - if (searchRequest.requestId pFolder; - if (SUCCEEDED(ShGetKnownFolderItem(FOLDERID_CommonAdminTools,&pFolder))) - CollectSearchItems(pFolder,COLLECT_RECURSIVE|COLLECT_NOREFRESH,CATEGORY_SETTING,searchRequest); - if (searchRequest.requestId pFolder; - if (SUCCEEDED(SHCreateItemFromParsingName(L"shell:::{ED7BA470-8E54-465E-825C-99712043E01C}",NULL,IID_IShellItem,(void**)&pFolder))) - CollectSearchItems(pFolder,(searchRequest.bSearchKeywords?COLLECT_KEYWORDS:0)|COLLECT_NOREFRESH,CATEGORY_SETTING,searchRequest); - if (searchRequest.requestId pFolder; - wchar_t path[_MAX_PATH]; - Strcpy(path,_countof(path),searchRequest.autoCompletePath); - DoEnvironmentSubst(path,_countof(path)); - if (SUCCEEDED(SHCreateItemFromParsingName(path,NULL,IID_IShellItem,(void**)&pFolder))) - { - SFGAOF itemFlags; - if (SUCCEEDED(pFolder->GetAttributes(SFGAO_FOLDER|SFGAO_STREAM|SFGAO_LINK,&itemFlags)) && (itemFlags&(SFGAO_FOLDER|SFGAO_STREAM|SFGAO_LINK))==SFGAO_FOLDER) - CollectSearchItems(pFolder,COLLECT_FOLDERS,CATEGORY_AUTOCOMPLETE,searchRequest); - } - { - Lock lock(this,LOCK_DATA); - if (searchRequest.requestId==m_LastRequestId) - m_LastAutoCompletePath=searchRequest.autoCompletePath; - } - continue; - } - - if (searchRequest.requestId!=m_LastRequestId || (!searchRequest.bSearchFiles && !searchRequest.bSearchMetroSettings)) - continue; - CMenuContainer::RefreshSearch(); - searchRequest.searchTime=GetTickCount(); - - CDataSource dataSource; - CSession session; - if (SUCCEEDED(dataSource.OpenFromInitializationString(L"provider=Search.CollatorDSO.1;EXTENDED PROPERTIES=\"Application=Windows\"")) && SUCCEEDED(session.Open(dataSource))) - { - std::list scopeList; - - if (searchRequest.bSearchMetroSettings) - { - scopeList.push_back(SearchScope()); - SearchScope &scope=*scopeList.rbegin(); - scope.bFiles=true; - scope.name=FindTranslation(L"Search.CategoryPCSettings",L"Settings"); - scope.categoryHash=CATEGORY_METROSETTING; - scope.roots.push_back(L"FILE:"); - } - if (searchRequest.bSearchFiles) - { - // prepare roots - CComPtr pLibrary; - pLibrary.CoCreateInstance(CLSID_ShellLibrary); - if (searchRequest.bSearchTypes && pLibrary) - { - CComPtr pLibraries; - std::vector> libraries; - static KNOWNFOLDERID defaultLibraries[]= - { - FOLDERID_DocumentsLibrary, - FOLDERID_MusicLibrary, - FOLDERID_PicturesLibrary, - FOLDERID_VideosLibrary, - }; - { - for (int i=0;i<_countof(defaultLibraries);i++) - { - CComPtr pItem; - if (SUCCEEDED(ShGetKnownFolderItem(defaultLibraries[i],&pItem))) - libraries.push_back(pItem); - } - } - if (SUCCEEDED(ShGetKnownFolderItem(FOLDERID_Libraries,&pLibraries))) - { - CComPtr pEnum; - pLibraries->BindToHandler(NULL,BHID_EnumItems,IID_IEnumShellItems,(void**)&pEnum); - if (pEnum) - { - CComPtr pItem; - while (pItem=NULL,pEnum->Next(1,&pItem,NULL)==S_OK) - { - bool bFound=false; - for (size_t i=0;iCompare(pItem,SICHINT_CANONICAL,&order)) && order) - { - bFound=true; - break; - } - } - if (!bFound) - libraries.push_back(pItem); - } - } - } - for (std::vector>::const_iterator it=libraries.begin();it!=libraries.end();++it) - { - if (!*it) continue; - CComString pName; - if (SUCCEEDED(pLibrary->LoadLibraryFromItem(*it,STGM_READ)) && SUCCEEDED((*it)->GetDisplayName(SIGDN_NORMALDISPLAY,&pName))) - { - scopeList.push_back(SearchScope()); - SearchScope &scope=*scopeList.rbegin(); - scope.bFiles=true; - scope.name=pName; - LOG_MENU(LOG_SEARCH,L"Category: %s",scope.name); - SHGetIDListFromObject(*it,&scope.search); - scope.categoryHash=CATEGORY_FILE; - CComString pName2; - if (SUCCEEDED((*it)->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName2))) - scope.categoryHash|=(CalcFNVHash(pName)&~CATEGORY_MASK); - CComPtr pArray; - if (SUCCEEDED(pLibrary->GetFolders(LFF_FORCEFILESYSTEM,IID_IShellItemArray,(void**)&pArray)) && pArray) - { - CComPtr pEnum2; - if (SUCCEEDED(pArray->EnumItems(&pEnum2)) && pEnum2) - { - CComPtr pFolder; - while (pFolder=NULL,pEnum2->Next(1,&pFolder,NULL)==S_OK) - { - CComString pPath; - if (SUCCEEDED(pFolder->GetDisplayName(SIGDN_FILESYSPATH,&pPath)) && pPath) - { - pPath.MakeUpper(); - for (wchar_t *str=(wchar_t*)(const wchar_t*)pPath;*str;str++) - if (*str=='\\') - *str='/'; - CString path; - path.Format(L"FILE:%s/",(const wchar_t*)pPath); - path.Replace(L"'",L"''"); - scope.roots.push_back(path); - LOG_MENU(LOG_SEARCH,L" Scope: %s",path); - } - } - } - } - if (scope.roots.empty()) - scopeList.pop_back(); - } - } - } - else - { - // one for files - scopeList.push_back(SearchScope()); - SearchScope &scope=*scopeList.rbegin(); - scope.bFiles=true; - scope.name=FindTranslation(L"Search.CategoryFiles",L"Files"); - scope.categoryHash=CATEGORY_FILE; - scope.categoryHash|=(CalcFNVHash(L"Files")&~CATEGORY_MASK); - scope.roots.push_back(L"FILE:"); - } - { - // search connectors - CComPtr pSearches; - if (SUCCEEDED(ShGetKnownFolderItem(FOLDERID_SavedSearches,&pSearches))) - { - CComPtr pEnum; - pSearches->BindToHandler(NULL,BHID_EnumItems,IID_IEnumShellItems,(void**)&pEnum); - PROPERTYKEY keyStartMenu; - PSGetPropertyKeyFromName(L"System.StartMenu.IncludeInScope",&keyStartMenu); - if (pEnum) - { - CComPtr pItem; - while (pItem=NULL,pEnum->Next(1,&pItem,NULL)==S_OK) - { - CComString pName; - pItem->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING,&pName); - LOG_MENU(LOG_SEARCH,L"Search Root: %s",(const wchar_t*)pName); - if (_wcsicmp(PathFindExtension(pName),L".searchconnector-ms")!=0) - { - LOG_MENU(LOG_SEARCH,L"Ignoring: not a search connector"); - continue; - } - CComPtr pStore; - pItem->BindToHandler(NULL,BHID_PropertyStore,IID_IPropertyStore,(void**)&pStore); - if (!pStore) - { - LOG_MENU(LOG_SEARCH,L"Ignoring: no store"); - continue; - } - PROPVARIANT val; - PropVariantInit(&val); - if (FAILED(pStore->GetValue(keyStartMenu,&val))) - { - LOG_MENU(LOG_SEARCH,L"Ignoring: no start menu1"); - continue; - } - bool bStartMenu=(val.vt==VT_BOOL && val.boolVal); - PropVariantClear(&val); - if (!bStartMenu) - { - LOG_MENU(LOG_SEARCH,L"Ignoring: no start menu2"); - continue; - } - scopeList.push_back(SearchScope()); - SearchScope &scope=*scopeList.rbegin(); - if (!scope.ParseSearchConnector(pName)) - { - scopeList.pop_back(); - LOG_MENU(LOG_SEARCH,L"Ignoring: failed to parse searchconnector-ms"); - continue; - } - if (GetWinVersion()>=WIN_VER_WIN10) - { - // ignore search connector using the WINRT scope - looks like it just duplicates the last search - bool bWinRT=false; - for (std::vector::const_iterator it=scope.roots.begin();it!=scope.roots.end();++it) - { - if (wcsncmp(*it,L"WINRT://",8)==0) - { - bWinRT=true; - break; - } - } - if (bWinRT) - { - scopeList.pop_back(); - LOG_MENU(LOG_SEARCH,L"Ignoring: uses WINRT scope"); - continue; - } - } - scope.bFiles=false; - SHGetIDListFromObject(pItem,&scope.search); - scope.categoryHash=CATEGORY_ITEM; - scope.categoryHash|=(CalcFNVHash(pName)&~CATEGORY_MASK); - pName.Clear(); - pItem->GetDisplayName(SIGDN_NORMALDISPLAY,&pName); - scope.name=pName; - LOG_MENU(LOG_SEARCH,L"Category: %s",scope.name); - if (g_LogCategories&LOG_SEARCH) - { - for (std::vector::const_iterator it=scope.roots.begin();it!=scope.roots.end();++it) - LOG_MENU(LOG_SEARCH,L" Scope: %s",*it); - } - } - } - } - } - if (searchRequest.bSearchTypes && pLibrary) - { - // one for uncategorized files - scopeList.push_back(SearchScope()); - SearchScope &scope=*scopeList.rbegin(); - scope.bFiles=true; - scope.name=FindTranslation(L"Search.CategoryFiles",L"Files"); - scope.categoryHash=CATEGORY_FILE; - scope.roots.push_back(L"FILE:"); - } - } - - const wchar_t *columns=L"System.ItemUrl, System.ItemType, Path, System.ItemPathDisplay, System.ItemNameDisplay"; - const wchar_t *order=L"System.Search.Rank DESC, System.DateModified DESC, System.ItemNameDisplay ASC"; - const wchar_t *orderComm=L"System.Contact.FileAsName ASC, System.Message.DateReceived DESC, System.Search.Rank DESC"; - - CComPtr pStore; - pStore.CoCreateInstance(CLSID_InMemoryPropertyStore); - if (!pStore) continue; - CComPtr pBindCtx0; - CreateBindCtx(0,&pBindCtx0); - if (!pBindCtx0) continue; - pBindCtx0->RegisterObjectParam((LPOLESTR)STR_PARSE_WITH_PROPERTIES,pStore); - -#ifdef LAUNDER_SEARCH_RESULTS - CComPtr pSearchFactory; - pSearchFactory.CoCreateInstance(CLSID_SearchFolderItemFactory); - if (!pSearchFactory) continue; - CComPtr pConditionFactory; - pConditionFactory.CoCreateInstance(CLSID_ConditionFactory); - if (!pConditionFactory) continue; -#endif - - CCommand,CRowset> command0; - - { - CComPtr pSearchManager; - pSearchManager.CoCreateInstance(CLSID_CSearchManager2); - if (!pSearchManager) continue; - CComPtr pCatalogManager; - pSearchManager->GetCatalog(L"SystemIndex",&pCatalogManager); - if (!pCatalogManager) continue; - CComPtr pQueryHelper; - pCatalogManager->GetQueryHelper(&pQueryHelper); - if (!pQueryHelper) continue; - pQueryHelper->put_QuerySelectColumns(columns); - pQueryHelper->put_QuerySorting(order); - pQueryHelper->put_QueryWhereRestrictions(L"AND NOT System.Shell.SFGAOFlagsStrings = SOME ARRAY['superhidden'] AND System.Shell.OmitFromView!='true'"); - if (!searchRequest.bSearchMetadata) - pQueryHelper->put_QueryContentProperties(L"System.ItemNameDisplay"); - CComString pQuery; - pQueryHelper->GenerateSQLFromUserQuery(searchRequest.searchText,&pQuery); - if (g_LogCategories&LOG_SEARCH_SQL) - { - wchar_t *query=const_cast((const wchar_t*)pQuery); - int len=Strlen(query); - for (int i=0;i pInfo=command0.GetInterface(); - if (pInfo) - { - DBPROPID propids[1]={MSIDXSPROP_WHEREID}; - DBPROPIDSET propset={propids,1,DBPROPSET_MSIDXS_ROWSETEXT}; - ULONG csets; - DBPROPSET *props=NULL; - if (SUCCEEDED(pInfo->GetProperties(1,&propset,&csets,&props)) && props) - { - if (props->rgProperties) - { - if (props->rgProperties[0].vValue.vt==VT_UI4) - whereid=props->rgProperties[0].vValue.uintVal; - VariantClear(&props->rgProperties[0].vValue); - } - if (props->rgProperties) - CoTaskMemFree(props->rgProperties); - CoTaskMemFree(props); - } - } - if (whereid==0xFFFFFFFF) - { - command0.Close(); - continue; - } - for (std::list::iterator it=scopeList.begin();it!=scopeList.end();++it) - { - if (it->roots.empty()) - continue; - wchar_t query[8192]; - int len=Sprintf(query,_countof(query),L"SELECT TOP %d %s FROM SystemIndex WHERE REUSEWHERE(%u)",MAX_SEARCH_RESULTS,columns,whereid); - if (it->roots.size()==1 && it->roots[0]==L"FILE:") - { - if (it->categoryHash==CATEGORY_METROSETTING) - { - len+=Strcpy(query+len,_countof(query)-len,L" AND System.Search.Store='FILE' AND System.FileName NOT LIKE 'Classic_%' AND System.ItemType='.settingcontent-ms'"); - wchar_t userPath[_MAX_PATH]=L"%LOCALAPPDATA%\\Packages\\windows.immersivecontrolpanel_cw5n1h2txyewy\\LocalState\\Indexed\\Settings"; - DoEnvironmentSubst(userPath,_countof(userPath)); - len+=Sprintf(query+len,_countof(query)-len,L" AND SCOPE='%s'",userPath); - } - else - { - len+=Strcpy(query+len,_countof(query)-len,L" AND System.Search.Store='FILE' AND System.ItemType!='.settingcontent-ms'"); - for (std::list::iterator it2=scopeList.begin();it2!=it;++it2) - { - if (it2->categoryHash==CATEGORY_METROSETTING) - continue; - for (std::vector::iterator it3=it2->roots.begin();it3!=it2->roots.end();++it3) - { - if (wcsncmp(*it3,L"FILE:",5)==0) - len+=Sprintf(query+len,_countof(query)-len,L" AND NOT SCOPE='%s'",*it3); - } - } - if (searchRequest.bSearchPrograms) - { - // remove start menu/programs - { - CComString pPath; - if (SUCCEEDED(ShGetKnownFolderPath(FOLDERID_StartMenu,&pPath))) - len+=Sprintf(query+len,_countof(query)-len,L" AND NOT SCOPE='%s'",(const wchar_t*)pPath); - } - { - CComString pPath; - if (SUCCEEDED(ShGetKnownFolderPath(FOLDERID_Programs,&pPath))) - len+=Sprintf(query+len,_countof(query)-len,L" AND NOT SCOPE='%s'",(const wchar_t*)pPath); - } - } - if (searchRequest.bSearchPrograms || searchRequest.bNoCommonFolders) - { - // remove common start menu/programs - { - CComString pPath; - if (SUCCEEDED(ShGetKnownFolderPath(FOLDERID_CommonStartMenu,&pPath))) - len+=Sprintf(query+len,_countof(query)-len,L" AND NOT SCOPE='%s'",(const wchar_t*)pPath); - } - { - CComString pPath; - if (SUCCEEDED(ShGetKnownFolderPath(FOLDERID_CommonPrograms,&pPath))) - len+=Sprintf(query+len,_countof(query)-len,L" AND NOT SCOPE='%s'",(const wchar_t*)pPath); - } - } - } - } - else - { - for (std::vector::iterator it2=it->roots.begin();it2!=it->roots.end();++it2) - { - const wchar_t *scope=*it2; - if (scope[0]=='-') - { - bool bShallow=false; - scope++; - if (scope[0]=='=') - { - bShallow=true; - scope++; - } - if (bShallow) - len+=Sprintf(query+len,_countof(query)-len,L" AND NOT DIRECTORY='%s'",scope); - else - len+=Sprintf(query+len,_countof(query)-len,L" AND NOT SCOPE='%s'",scope); - } - } - len+=Sprintf(query+len,_countof(query)-len,L" AND ("); - bool bFirst=true; - for (std::vector::iterator it2=it->roots.begin();it2!=it->roots.end();++it2) - { - const wchar_t *scope=*it2; - bool bExclude=false, bShallow=false; - if (scope[0]=='-') - { - bExclude=true; - scope++; - } - if (scope[0]=='=') - { - bShallow=true; - scope++; - } - if (!bExclude) - { - if (bShallow) - len+=Sprintf(query+len,_countof(query)-len,bFirst?L"DIRECTORY='%s'":L" OR DIRECTORY='%s'",scope); - else - len+=Sprintf(query+len,_countof(query)-len,bFirst?L"SCOPE='%s'":L" OR SCOPE='%s'",scope); - bFirst=false; - } - } - len+=Strcpy(query+len,_countof(query)-len,L")"); - } - len+=Sprintf(query+len,_countof(query)-len,L" ORDER BY %s",it->bCommunications?orderComm:order); - - if (g_LogCategories&LOG_SEARCH_SQL) - { - for (int i=0;i,CRowset> command; - HRESULT hr=command.Open(session,query); - if (FAILED(hr)) - { - LOG_MENU(LOG_SEARCH_SQL,L"Query failed: 0x%08X",hr); - continue; - } - - CComQIPtr pInfo=command.GetInterface(); - DBPROPID propids[1]={MSIDXSPROP_RESULTS_FOUND}; - DBPROPIDSET propset={propids,1,DBPROPSET_MSIDXS_ROWSETEXT}; - ULONG csets; - DBPROPSET *props=NULL; - if (SUCCEEDED(pInfo->GetProperties(1,&propset,&csets,&props)) && props) - { - if (props->rgProperties) - { - if (props->rgProperties[0].vValue.vt==VT_I4) - it->resultCount=props->rgProperties[0].vValue.intVal; - VariantClear(&props->rgProperties[0].vValue); - } - if (props->rgProperties) - CoTaskMemFree(props->rgProperties); - CoTaskMemFree(props); - } - LOG_MENU(LOG_SEARCH_SQL,L"Query results: %d",it->resultCount); - if (it->resultCount>0) - { - SearchCategory *pCategory=NULL; - { - Lock lock(this,LOCK_DATA); - m_IndexedItems.push_back(SearchCategory()); - pCategory=&*m_IndexedItems.rbegin(); - pCategory->name.Format(L"%s (%d)",it->name,it->resultCount); - pCategory->categoryHash=it->categoryHash; - pCategory->search.Clone(it->search); - } - while (command.MoveNext()==S_OK) - { - LOG_MENU(LOG_SEARCH_SQL,L"Result: %s, %s, %s, %s, %s",command.itemUrl,command.itemType,command.parsingPath,command.displayPath,command.displayName); - SearchCategory::Item item; - if (it->bFiles) - { - const wchar_t *path=wcsrchr(command.itemUrl,'/'); - if (!path || _wcsicmp(path+1,command.displayName)!=0) - item.name=command.displayName; - } - if (command.itemUrl[0]) - { - if (!it->bFiles) - { -#ifdef LAUNDER_SEARCH_RESULTS - CComPtr pCondition; - hr=pConditionFactory->CreateStringLeaf(PKEY_ItemUrl,COP_EQUAL,command.itemUrl,NULL,CONDITION_CREATION_DEFAULT,IID_PPV_ARGS(&pCondition)); - if (pCondition) - { - pSearchFactory->SetCondition(pCondition); - - CAbsolutePidl pidl0; - hr=pSearchFactory->GetIDList(&pidl0); - CComPtr pFolder; - hr=SHBindToObject(NULL,pidl0,NULL,IID_IShellFolder,(void**)&pFolder); - if (SUCCEEDED(hr)) - { - CComPtr pEnum; - pFolder->EnumObjects(NULL,SHCONTF_FOLDERS|SHCONTF_NONFOLDERS,&pEnum); - PITEMID_CHILD child; - if (pEnum && pEnum->Next(1,&child,NULL)==S_OK) - { - item.pidl.Attach(ILCombine(pidl0,child)); - ILFree(child); - } - } - } -#else - PROPVARIANT val; - val.vt=VT_LPWSTR; - val.pwszVal=command.itemType; - pStore->SetValue(PKEY_ItemType,val); - val.pwszVal=command.parsingPath; - pStore->SetValue(PKEY_ParsingPath,val); - val.pwszVal=command.displayPath; - pStore->SetValue(PKEY_ItemPathDisplay,val); - val.pwszVal=command.displayName; - pStore->SetValue(PKEY_ItemNameDisplay,val); - item.name=command.displayName; - hr=SHParseDisplayName(command.itemUrl,pBindCtx0,&item.pidl,0,NULL); -#endif - } - else - { - hr=SHParseDisplayName(command.itemUrl,NULL,&item.pidl,0,NULL); - if (FAILED(hr) && _wcsnicmp(command.itemUrl,L"file:",5)==0) - { - for (wchar_t *str=command.itemUrl;*str;++str) - { - if (*str=='/') - *str='\\'; - } - hr=SHParseDisplayName(command.itemUrl+5,NULL,&item.pidl,0,NULL); - } - } - if (SUCCEEDED(hr)) - { - Lock lock(this,LOCK_DATA); - if (searchRequest.requestId!=m_LastRequestId) - break; - pCategory->items.push_back(item); - DWORD time=GetTickCount(); - int dt=(time-searchRequest.searchTime); - if (dt>1000) - { - CMenuContainer::RefreshSearch(); - searchRequest.searchTime=time; - } - } - } - } - } - command.Close(); - if (searchRequest.requestId!=m_LastRequestId) - break; - } - command0.Close(); - } - } -} - -DWORD CALLBACK CSearchManager::StaticSearchThread( void *param ) -{ -// SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_IDLE); - OleInitialize(NULL); - ((CSearchManager*)param)->SearchThread(); - OleUninitialize(); - return 0; -} - -void CSearchManager::GetSearchResults( SearchResults &results ) -{ - results.programs.clear(); - results.settings.clear(); - results.indexed.clear(); - results.autocomplete.clear(); - results.autoCompletePath.Empty(); - Lock lock(this,LOCK_DATA); - results.autoCompletePath=m_AutoCompletePath; - bool bSearchSubWord=GetSettingBool(L"SearchSubWord"); - if (m_AutoCompletePath.IsEmpty()) - { - { - std::vector &programs=m_bProgramsFound?m_ProgramItems:m_ProgramItemsOld; - std::sort(programs.begin(),programs.end()); - std::vector foundItems; - for (std::vector::const_iterator it=programs.begin();it!=programs.end();++it) - { - if (it->category==CATEGORY_PROGRAM && it->MatchText(m_SearchText,bSearchSubWord)) - { - bool bDuplicate=false; - bool bAppResolved=false; - for (std::vector::const_iterator it2=foundItems.begin();it2!=foundItems.end();++it2) - { - if (wcscmp(it->name,(*it2)->name)==0 && it->bMetroLink==(*it2)->bMetroLink) - { - if (!bAppResolved) - { - bAppResolved=true; - g_ItemManager.UpdateItemInfo(it->pInfo,CItemManager::INFO_LINK_APPID); - } - g_ItemManager.UpdateItemInfo((*it2)->pInfo,CItemManager::INFO_LINK_APPID); - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - if (it->pInfo->GetAppid()==(*it2)->pInfo->GetAppid()) - { - bDuplicate=true; - break; - } - } - } - if (!bDuplicate) - { - results.programs.push_back(it->pInfo); - foundItems.push_back(&*it); - } - } - } - } - - { - std::vector &settings=m_bSettingsFound?m_SettingsItems:m_SettingsItemsOld; - for (std::vector::iterator it=settings.begin();it!=settings.end();++it) - { - int match=(it->category==CATEGORY_SETTING)?it->MatchText(m_SearchText,bSearchSubWord):0; - it->rank=(it->rank&0xFFFFFFFE)|(match>>1); - } - std::sort(settings.begin(),settings.end()); - for (std::vector::const_iterator it=settings.begin();it!=settings.end();++it) - { - if (it->category==CATEGORY_SETTING && it->MatchText(m_SearchText,bSearchSubWord)) - results.settings.push_back(it->pInfo); - } - } - - results.indexed=m_IndexedItems; - } - else - { - std::sort(m_AutoCompleteItems.begin(),m_AutoCompleteItems.end()); - Assert(_wcsnicmp(m_SearchText,m_AutoCompletePath,m_AutoCompletePath.GetLength())==0); - CString filter=m_SearchText.Mid(m_AutoCompletePath.GetLength()+1); - if (!filter.IsEmpty()) - filter+='*'; - for (std::vector::const_iterator it=m_AutoCompleteItems.begin();it!=m_AutoCompleteItems.end();++it) - { - if (filter.IsEmpty() || PathMatchSpec(it->name,filter)) - results.autocomplete.push_back(it->pInfo); - } - } - results.bResults=(!results.programs.empty() || !results.settings.empty() || !results.indexed.empty() || !results.autocomplete.empty()); - results.bSearching=(m_LastCompletedId!=m_LastRequestId); -} - -bool CSearchManager::SearchItem::MatchTextInt( const wchar_t *search, const CString &text, bool bSearchSubWord ) -{ - if (text.IsEmpty()) return false; - if (bSearchSubWord) - { - // split search into tokens and see if all are found - for (const wchar_t *pSearch=search;*pSearch;) - { - wchar_t token[100]; - pSearch=GetToken(pSearch,token,_countof(token),L" "); - if (FindNLSStringEx(LOCALE_NAME_USER_DEFAULT,FIND_FROMSTART|LINGUISTIC_IGNORECASE|LINGUISTIC_IGNOREDIACRITIC,text,-1,token,-1,NULL,NULL,NULL,0)<0) - return false; - } - } - else - { - // split search into tokens, then see if any of the words start with those tokens - for (const wchar_t *pSearch=search;*pSearch;) - { - wchar_t token[100]; - pSearch=GetToken(pSearch,token,_countof(token),L" "); - bool bFound=false; - int len=Strlen(token); - for (const wchar_t *pName=text;*pName;) - { - while (*pName && wcschr(L" \t.,$&[]{}();|",*pName)) - pName++; - if (FindNLSStringEx(LOCALE_NAME_USER_DEFAULT,FIND_STARTSWITH|LINGUISTIC_IGNORECASE|LINGUISTIC_IGNOREDIACRITIC,pName,-1,token,len,NULL,NULL,NULL,0)>=0) - { - bFound=true; - break; - } - while (*pName && !wcschr(L" \t.,$&[]{}();|",*pName)) - pName++; - } - if (!bFound) - return false; - } - } - return true; -} - -void CSearchManager::LaunchExternalSearch( PIDLIST_ABSOLUTE root, unsigned int categoryHash, const CString &searchText ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - if (searchText.IsEmpty()) return; - - CComPtr pConditionFactory; - pConditionFactory.CoCreateInstance(CLSID_ConditionFactory); - if (!pConditionFactory) return; - - CComPtr pSearchFactory; - pSearchFactory.CoCreateInstance(CLSID_SearchFolderItemFactory); - if (!pSearchFactory) return; - - std::vector> conditions; - CComPtr pCondition; - - if (!root) - { - if (categoryHash==CATEGORY_FILE) - { - // uncategorized files - PROPERTYKEY keyGroup; - if (FAILED(PSGetPropertyKeyFromName(L"System.StartMenu.Group",&keyGroup))) - return; - if (FAILED(pConditionFactory->CreateStringLeaf(keyGroup,COP_EQUAL,L"files",NULL,CONDITION_CREATION_DEFAULT,IID_PPV_ARGS(&pCondition)))) - return; - conditions.push_back(pCondition); - } - else if ((categoryHash&CATEGORY_MASK)==CATEGORY_FILE) - { - // all files - if (FAILED(pConditionFactory->CreateStringLeaf(PKEY_Search_Store,COP_EQUAL,L"file",NULL,CONDITION_CREATION_DEFAULT,IID_PPV_ARGS(&pCondition)))) - return; - conditions.push_back(pCondition); - } - pCondition=NULL; - } - - PROPERTYKEY keyString; - if (!GetSettingBool(L"SearchContents")) - keyString=PKEY_ItemNameDisplay; - else if (FAILED(PSGetPropertyKeyFromName(L"System.Generic.String",&keyString))) - return; - - // create condition for each word - const wchar_t *str=searchText; - const wchar_t *str0=str; - while (*str) - { - while (*str==' ') - str++; - CONDITION_OPERATION oper=*str=='"'?COP_WORD_EQUAL:COP_WORD_STARTSWITH; - wchar_t token[100]; - str=GetToken(str,token,_countof(token),L" "); - if (SUCCEEDED(pConditionFactory->CreateStringLeaf(keyString,oper,token,NULL,CONDITION_CREATION_DEFAULT,IID_PPV_ARGS(&pCondition)))) - { - conditions.push_back(pCondition); - pCondition=NULL; - } - } - - if (root) - { - PCIDLIST_ABSOLUTE pidls[1]={root}; - CComPtr pArray; - if (SUCCEEDED(SHCreateShellItemArrayFromIDLists(1,pidls,&pArray))) - pSearchFactory->SetScope(pArray); - } - else if (categoryHash==CATEGORY_FILE) - { - CAbsolutePidl root2; - SHParseDisplayName(L"::{DAF95313-E44D-46AF-BE1B-CBACEA2C3065}",NULL,&root2,0,NULL); - PCIDLIST_ABSOLUTE pidls[1]={root2}; - CComPtr pArray; - if (SUCCEEDED(SHCreateShellItemArrayFromIDLists(1,pidls,&pArray))) - pSearchFactory->SetScope(pArray); - } - - if (conditions.size()==1) - pSearchFactory->SetCondition(conditions[0]); - else - { - CComPtr pConditionAnd; - if (SUCCEEDED(pConditionFactory->CreateCompoundFromArray(CT_AND_CONDITION,&conditions[0].p,(ULONG)conditions.size(),CONDITION_CREATION_DEFAULT,IID_PPV_ARGS(&pConditionAnd)))) - pSearchFactory->SetCondition(pConditionAnd); - } - - CComPtr pSearchItem; - if (FAILED(pSearchFactory->GetShellItem(IID_IShellItem,(void**)&pSearchItem))) - return; - - SHELLEXECUTEINFO execute={sizeof(execute)}; - execute.lpVerb=L"open"; - execute.nShow=SW_SHOWNORMAL; - execute.fMask=SEE_MASK_IDLIST; - CAbsolutePidl pidl; - if (SUCCEEDED(SHGetIDListFromObject(pSearchItem,&pidl))) - { -/* - // Unsucessful attempt to use some undocumented APIs to highlight the search term in Explorer. - // The seach box is populated with the text but the items are still not higlighted - - const GUID IID_IFilterCondition={0xFCA2857D,0x1760,0x4AD3,{0x8C,0x63,0xC9,0xB6,0x02,0xFC,0xBA,0xEA}}; - - interface IFilterCondition: public IPersistStream - { - }; - - const GUID IID_IShellFolder3={0x711B2CFD,0x93D1,0x422B,{0xBD,0xF4,0x69,0xBE,0x92,0x3F,0x24,0x49}}; - - typedef DWORD FILTERIDLISTTYPE; - - interface IShellFolder3: public IShellFolder2 - { - STDMETHOD(CreateFilteredIDList)(IFilterCondition *, FILTERIDLISTTYPE, IPropertyStore *, PITEMID_CHILD *)=0; - // STDMETHOD(GetFilteredIDListType)(PCITEMID_CHILD, FILTERIDLISTTYPE *); - // STDMETHOD(ModifyFilteredIDList)(PCITEMID_CHILD, IFilterCondition *, PITEMID_CHILD *); - // STDMETHOD(ReparentFilteredIDList)(PCIDLIST_RELATIVE, PIDLIST_RELATIVE *); - // STDMETHOD(CreateStackedIDList)(PROPERTYKEY const &, PIDLIST_ABSOLUTE *); - // STDMETHOD(GetStackedKey)(PROPERTYKEY *); - // STDMETHOD(EnumObjectsEx)(HWND, IBindCtx *, ULONG, IItemFilter *, IEnumIDList **); - // STDMETHOD(GetConditions)(PROPERTYKEY const &, IQueryUnit *, REFIID, PVOID *); - // STDMETHOD(GetAutoListFlags)(ULONG *); - }; - - typedef HRESULT (WINAPI*tSHCreateFilter)( PCWSTR Name, PCWSTR InFolder, PROPERTYKEY const &PropertyKey, INT Type, ICondition *Condition, REFIID riid, PVOID *ppv ); - - tSHCreateFilter SHCreateFilter=(tSHCreateFilter)GetProcAddress(GetModuleHandle(L"shell32.dll"),MAKEINTRESOURCEA(818)); - if (SHCreateFilter) - { - PROPERTYKEY wordWheel=PKEY_Kind; - wordWheel.pid=5; - CComPtr pFilter; - HRESULT hr=SHCreateFilter(searchText,NULL,wordWheel,7,pCondition,IID_IFilterCondition,(void**)&pFilter); - if (pFilter) - { - CComPtr pShellFolder3; - SHBindToObject(NULL,pidl,NULL,IID_IShellFolder3,(void**)&pShellFolder3); - if (pShellFolder3) - { - PITEMID_CHILD pChild; - hr=pShellFolder3->CreateFilteredIDList(pFilter,2,NULL,&pChild); - if (SUCCEEDED(hr)) - { - pSearchItem=NULL; - if (SUCCEEDED(SHCreateItemWithParent(NULL,pShellFolder3,pChild,IID_IShellItem,(void**)&pSearchItem))) - { - CAbsolutePidl pidl2; - if (SUCCEEDED(SHGetIDListFromObject(pSearchItem,&pidl2))) - pidl.Swap(pidl2); - } - ILFree(pChild); - } - } - } - }*/ - execute.lpIDList=pidl; - ShellExecuteEx(&execute); - } -} - -void CSearchManager::LaunchInternetSearch( const CString &searchText ) -{ - Assert(GetCurrentThreadId()==m_MainThreadId); - if (searchText.IsEmpty()) return; - - if (IsEdgeDefaultBrowser()) - { - wchar_t search[256]; - Sprintf(search,_countof(search),L"? %s",searchText); - ShellExecute(NULL,NULL,L"shell:appsfolder\\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge",search,NULL,SW_SHOWNORMAL); - } - else - { - wchar_t path[_MAX_PATH]; - DWORD size=_countof(path); - if (SUCCEEDED(AssocQueryString(0,ASSOCSTR_EXECUTABLE,L"http",L"open",path,&size))) - { - wchar_t search[256]; - Sprintf(search,_countof(search),L"\"? %s\"",searchText); - ShellExecute(NULL,NULL,path,search,NULL,SW_SHOWNORMAL); - } - } -} - -bool HasSearchService( void ) -{ - bool bWSearch=false; - SC_HANDLE hManager=OpenSCManager(NULL,NULL,SC_MANAGER_CONNECT); - if (hManager) - { - SC_HANDLE hService=OpenService(hManager,L"WSearch",SERVICE_QUERY_STATUS); - if(hService) - { - // service is installed - SERVICE_STATUS status; - if(QueryServiceStatus(hService,&status)) - { - bWSearch=(status.dwCurrentState==SERVICE_RUNNING); - } - CloseServiceHandle(hService); - } - CloseServiceHandle(hManager); - } - return bWSearch; -} diff --git a/Src/StartMenu/StartMenuDLL/SearchManager.h b/Src/StartMenu/StartMenuDLL/SearchManager.h deleted file mode 100644 index 3234127..0000000 --- a/Src/StartMenu/StartMenuDLL/SearchManager.h +++ /dev/null @@ -1,263 +0,0 @@ -// 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 -#include -#include - -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 items; - }; - - struct SearchResults - { - bool bSearching; - bool bResults; - CString currentString; - CString autoCompletePath; - std::vector programs; - std::vector settings; - std::vector autocomplete; - std::list 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 hashitem.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 m_ProgramItems; // also LOCK_PROGRAMS - std::vector m_SettingsItems; // also LOCK_PROGRAMS - std::vector m_ProgramItemsOld; - std::vector 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 m_AutoCompleteItems; - std::list m_IndexedItems; - std::vector 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 &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 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 ); diff --git a/Src/StartMenu/StartMenuDLL/SettingsUI.cpp b/Src/StartMenu/StartMenuDLL/SettingsUI.cpp deleted file mode 100644 index 2b334b3..0000000 --- a/Src/StartMenu/StartMenuDLL/SettingsUI.cpp +++ /dev/null @@ -1,5197 +0,0 @@ -// 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 "StartMenuDLL.h" -#include "StartButton.h" -#include "Settings.h" -#include "SkinManager.h" -#include "FNVHash.h" -#include "SettingsUIHelper.h" -#include "LanguageSettingsHelper.h" -#include "SettingsUI.h" -#include "ResourceHelper.h" -#include "MenuContainer.h" -#include "Translations.h" -#include "CustomMenu.h" -#include "dllmain.h" -#include -#include -#include -#define SECURITY_WIN32 -#include - -const int DEFAULT_GLASS_OPACITY=50; // 50% -const int DEFAULT_TASK_OPACITY7=25; // 25% -const int DEFAULT_TASK_OPACITY8=55; // 55% -const int DEFAULT_TASK_OPACITY10=85; // 85% - -/////////////////////////////////////////////////////////////////////////////// - -class CSkinSettingsDlg: public CResizeableDlg -{ -public: - enum { - IDC_EDITBOX=101, - IDC_BROWSEBTN=102, - WM_EDITKEY=WM_APP+11, - }; - - CSkinSettingsDlg( void ); - void Create( MenuSkin::TSkinType skinType, HWND hWndParent, DLGTEMPLATE *pTemplate ); - - BEGIN_MSG_MAP( CSkinSettingsDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - MESSAGE_HANDLER( WM_EDITKEY, OnEditKey ) - COMMAND_HANDLER( IDC_EDITBOX, EN_CHANGE, OnEditChange ) - COMMAND_HANDLER( IDC_EDITBOX, EN_KILLFOCUS, OnKillFocus ) - COMMAND_HANDLER( IDC_BROWSEBTN, BN_CLICKED, OnBrowse ) - COMMAND_HANDLER( IDC_BROWSEBTN, BN_KILLFOCUS, OnKillFocus ) - COMMAND_HANDLER( IDC_COMBOSKIN, CBN_SELENDOK, OnSelEndOK ) - COMMAND_HANDLER( IDC_ABOUT, BN_CLICKED, OnAbout ) - COMMAND_HANDLER( IDC_BUTTONRESET, BN_CLICKED, OnReset ) - NOTIFY_HANDLER( IDC_SKINOPTIONS, NM_CUSTOMDRAW, OnCustomDraw ) - NOTIFY_HANDLER( IDC_SKINOPTIONS, TVN_SELCHANGED, OnSelChanged ) - NOTIFY_HANDLER( IDC_SKINOPTIONS, TVN_ITEMEXPANDING, OnExpanding ) - NOTIFY_HANDLER( IDC_SKINOPTIONS, NM_CLICK, OnClick ) - NOTIFY_HANDLER( IDC_SKINOPTIONS, NM_DBLCLK, OnClick ) - NOTIFY_HANDLER( IDC_SKINOPTIONS, TVN_KEYDOWN, OnKeyDown ) - NOTIFY_HANDLER( IDC_SKINOPTIONS, TVN_GETINFOTIP, OnGetInfoTip ) - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_COMBOSKIN,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_ABOUT,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_BUTTONRESET,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_STATICVER,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_SKINOPTIONS,MOVE_SIZE_X|MOVE_SIZE_Y) - RESIZE_CONTROL(IDC_STATICALLPROGS,MOVE_SIZE_X|MOVE_MOVE_Y) - END_RESIZE_MAP - - void SetGroup( CSetting *pGroup ); - -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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSelEndOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnAbout( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnReset( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnSelChanged( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnExpanding( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) { return TRUE; } // prevent collapsing - LRESULT OnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnKeyDown( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnEditKey( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnEditChange( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnKillFocus( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowse( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - -private: - - MenuSkin::TSkinType m_SkinType; - MenuSkin m_CurrentSkin; - CWindow m_Tree; - CWindow m_EditBox; - CWindow m_BrowseButton; - TSkinOptionType m_EditMode; - HTREEITEM m_EditItem; - int m_EditItemIndex; - bool m_bLoadSuccess; - bool m_bIgnoreFocus; - CSetting *m_pSetting; - std::vector m_SkinNames; - int m_SkinIndex; - int m_VariationIndex; - - void InitSkinUI( void ); - void UpdateSkinSettings( void ); - void StoreSkinOptions( void ); - void ToggleItem( HTREEITEM hItem ); - void ItemSelected( HTREEITEM hItem, int index, bool bEnabled ); - void ApplyEditBox( void ); - void UpdateEditPosition( void ); -}; - -CSkinSettingsDlg::CSkinSettingsDlg( void ) -{ - m_SkinType=MenuSkin::SKIN_TYPE_COUNT; - m_pSetting=NULL; - m_SkinIndex=m_VariationIndex=0; - m_EditItem=NULL; - m_EditMode=SKIN_OPTION_NONE; - m_EditItemIndex=-1; - m_bIgnoreFocus=false; - m_bLoadSuccess=false; -} - -void CSkinSettingsDlg::Create( MenuSkin::TSkinType skinType, HWND hWndParent, DLGTEMPLATE *pTemplate ) -{ - m_SkinType=skinType; - CResizeableDlg::Create(hWndParent,pTemplate); -} - -// Subclass the edit control to forward some keyboard messages to the parent and to act as a hotkey control -static LRESULT CALLBACK SubclassEditProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_CHAR && wParam==VK_RETURN) - return 0; - if (uMsg==WM_GETDLGCODE && wParam==VK_RETURN) - return DLGC_WANTALLKEYS; - if (uMsg==WM_KEYDOWN) - { - if (wParam==VK_UP || wParam==VK_DOWN || wParam==VK_PRIOR || wParam==VK_NEXT || (wParam==VK_SPACE && GetKeyState(VK_CONTROL)<0)) - return SendMessage(GetParent(hWnd),uMsg,wParam,lParam); - if (wParam==VK_RETURN || wParam==VK_ESCAPE) - return SendMessage(GetParent(GetParent(hWnd)),CSkinSettingsDlg::WM_EDITKEY,wParam,0); - } - if (uMsg==WM_KILLFOCUS) - { - if (wParam && (HWND)wParam==GetDlgItem(GetParent(hWnd),CSkinSettingsDlg::IDC_BROWSEBTN)) - return 0; - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -// Subclass the tooltip to delay the tip when the mouse moves from one tree item to the next -static LRESULT CALLBACK SubclassInfoTipProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==TTM_UPDATE) - { - int time=(int)SendMessage(hWnd,TTM_GETDELAYTIME,TTDT_RESHOW,0); - SetTimer(hWnd,'CLSH',time,NULL); - return 0; - } - if (uMsg==WM_TIMER && wParam=='CLSH') - { - KillTimer(hWnd,wParam); - DefSubclassProc(hWnd,TTM_UPDATE,0,0); - return 0; - } - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -// Subclass the tree control to forward the command messages to the parent -static LRESULT CALLBACK SubclassTreeProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_COMMAND) - return SendMessage(GetParent(hWnd),uMsg,wParam,lParam); - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -LRESULT CSkinSettingsDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - InitResize(); - EnableThemeDialogTexture(m_hWnd,ETDT_ENABLETAB); - - m_Tree=GetDlgItem(IDC_SKINOPTIONS); - SetWindowSubclass(m_Tree,SubclassTreeProc,'CLSH',0); - TreeView_SetImageList(m_Tree,GetSettingsImageList(m_Tree),TVSIL_NORMAL); - m_Tree.SendMessage(TVM_SETEXTENDEDSTYLE,TVS_EX_DOUBLEBUFFER,TVS_EX_DOUBLEBUFFER); - m_Tree.SetWindowLong(GWL_STYLE,m_Tree.GetWindowLong(GWL_STYLE)|TVS_SHOWSELALWAYS); // should be in the dialog template, but I don't want to have to edit all language DLLs - if (IsAppThemed()) - { - m_Tree.SetWindowLong(GWL_STYLE,m_Tree.GetWindowLong(GWL_STYLE)|TVS_TRACKSELECT); - SetWindowTheme(m_Tree,L"Explorer",NULL); - } - - m_SkinNames.clear(); - m_SkinNames.push_back(LoadStringEx(IDS_DEFAULT_SKIN)); - wchar_t find[_MAX_PATH]; - GetSkinsPath(find); - Strcat(find,_countof(find),L"1.txt"); - if (GetFileAttributes(find)!=INVALID_FILE_ATTRIBUTES) - { - m_SkinNames.push_back(L"Custom"); - } - - *PathFindFileName(find)=0; - Strcat(find,_countof(find),m_SkinType==MenuSkin::SKIN_TYPE_WIN7?L"*.skin7":L"*.skin"); - WIN32_FIND_DATA data; - HANDLE h=FindFirstFile(find,&data); - while (h!=INVALID_HANDLE_VALUE) - { - if (!(data.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)) - { - *PathFindExtension(data.cFileName)=0; - m_SkinNames.push_back(data.cFileName); - } - if (!FindNextFile(h,&data)) - { - FindClose(h); - break; - } - } - - CWindow skins=GetDlgItem(IDC_COMBOSKIN); - for (std::vector::const_iterator it=m_SkinNames.begin();it!=m_SkinNames.end();++it) - skins.SendMessage(CB_ADDSTRING,0,(LPARAM)(const wchar_t *)*it); - - CWindow tooltip=TreeView_GetToolTips(m_Tree); - tooltip.SendMessage(TTM_SETDELAYTIME,TTDT_AUTOPOP,10000); - tooltip.SendMessage(TTM_SETDELAYTIME,TTDT_INITIAL,1000); - tooltip.SendMessage(TTM_SETDELAYTIME,TTDT_RESHOW,1000); - SetWindowSubclass(tooltip,SubclassInfoTipProc,'CLSH',0); - - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS,m_hWnd,'CLSH'}; - CString str=LoadStringEx(IDS_SETTING_LOCKED); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - skins.GetClientRect(&tool.rect); - skins.MapWindowPoints(m_hWnd,&tool.rect); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - GetDlgItem(IDC_STATICALLPROGS).ShowWindow(m_SkinType==MenuSkin::SKIN_TYPE_ALL_PROGRAMS?SW_SHOW:SW_HIDE); - - HINSTANCE hInstance=_AtlBaseModule.GetResourceInstance(); - HFONT font=m_Tree.GetFont(); - m_EditBox=CreateWindow(L"EDIT",NULL,WS_CHILD|WS_BORDER|ES_AUTOHSCROLL,0,0,0,0,m_Tree,(HMENU)IDC_EDITBOX,hInstance,NULL); - m_EditBox.SetFont(font); - SetWindowSubclass(m_EditBox,SubclassEditProc,'CLSH',0); - m_BrowseButton=CreateWindow(L"BUTTON",L"...",WS_CHILD|BS_PUSHBUTTON,0,0,0,0,m_Tree,(HMENU)IDC_BROWSEBTN,hInstance,NULL); - m_BrowseButton.SetFont(font); - m_EditMode=SKIN_OPTION_NONE; - m_EditItem=NULL; - m_EditItemIndex=-1; - m_bIgnoreFocus=false; - - return TRUE; -} - -LRESULT CSkinSettingsDlg::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_EditMode=SKIN_OPTION_NONE; - bHandled=FALSE; - return 0; -} - -// Fills the tree with the options for the current skin -void CSkinSettingsDlg::InitSkinUI( void ) -{ - m_Tree.SetRedraw(FALSE); - TreeView_DeleteAllItems(m_Tree); - m_VariationIndex=-1; - m_EditItemIndex=-1; - m_EditMode=SKIN_OPTION_NONE; - m_BrowseButton.ShowWindow(SW_HIDE); - m_EditBox.ShowWindow(SW_HIDE); - - m_bLoadSuccess=m_CurrentSkin.LoadMenuSkin(m_SkinNames[m_SkinIndex],NULL,L"",m_SkinType,0,96); - if (!m_bLoadSuccess) - m_CurrentSkin.Reset(); - - if (m_CurrentSkin.Version>MAX_SKIN_VERSION) - { - GetDlgItem(IDC_STATICVER).ShowWindow(SW_SHOW); - m_CurrentSkin.Variations.clear(); - m_CurrentSkin.Options.clear(); - } - else - GetDlgItem(IDC_STATICVER).ShowWindow(SW_HIDE); - - CWindow label=GetDlgItem(IDC_STATICOPT); - - if (m_CurrentSkin.Options.empty() && m_CurrentSkin.Variations.empty()) - { - label.ShowWindow(SW_HIDE); - m_Tree.SetRedraw(TRUE); - m_Tree.ShowWindow(SW_HIDE); - } - else - { - // init variations - if (!m_CurrentSkin.Variations.empty()) - { - const wchar_t *variaton=L""; - if (m_pSetting[1].value.vt==VT_BSTR) - variaton=m_pSetting[1].value.bstrVal; - - m_VariationIndex=0; - CString vars=LoadStringEx(IDC_SKINVARIATION); - TVINSERTSTRUCT insert={NULL,TVI_LAST,{TVIF_STATE|TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM,NULL,TVIS_EXPANDED,TVIS_EXPANDED|TVIS_OVERLAYMASK,(LPWSTR)(LPCWSTR)vars,0,SETTING_STATE_SETTING,SETTING_STATE_SETTING}}; - insert.item.lParam=(LPARAM)(m_pSetting+1); - if (m_pSetting[1].IsLocked()) - { - insert.item.state|=INDEXTOOVERLAYMASK(1); - insert.item.iImage=insert.item.iSelectedImage=SETTING_STATE_SETTING|SETTING_STATE_DISABLED; - } - HTREEITEM hVars=TreeView_InsertItem(m_Tree,&insert); - int n=(int)m_CurrentSkin.Variations.size(); - for (int i=0;i=0) - insert.hParent=hLastGroup; - insert.item.lParam=i; - if (m_pSetting[2].IsLocked()) - insert.item.state|=INDEXTOOVERLAYMASK(1); - HTREEITEM hItem=TreeView_InsertItem(m_Tree,&insert); - if (option.type==SKIN_OPTION_GROUP) - hLastGroup=hItem; - } - UpdateSkinSettings(); - label.ShowWindow(SW_SHOW); - m_Tree.SetRedraw(TRUE); - m_Tree.Invalidate(); - m_Tree.ShowWindow(SW_SHOW); - } -} - -void CSkinSettingsDlg::UpdateSkinSettings( void ) -{ - HTREEITEM hItem=TreeView_GetRoot(m_Tree); - if (!hItem) return; - TVITEM item={TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE,hItem}; - TreeView_GetItem(m_Tree,&item); - if (item.lParam==(LPARAM)(m_pSetting+1)) - { - // has variations - for (HTREEITEM hVar=TreeView_GetChild(m_Tree,hItem);hVar;hVar=TreeView_GetNextSibling(m_Tree,hVar)) - { - item.hItem=hVar; - TreeView_GetItem(m_Tree,&item); - int image=SETTING_STATE_RADIO; - if (-1-(int)item.lParam==m_VariationIndex) - image|=SETTING_STATE_CHECKED; - if (m_pSetting[1].IsLocked()) - image|=SETTING_STATE_DISABLED; - if (item.iImage!=image) - { - item.iImage=item.iSelectedImage=image; - TreeView_SetItem(m_Tree,&item); - RECT rc; - TreeView_GetItemRect(m_Tree,hVar,&rc,FALSE); - m_Tree.InvalidateRect(&rc); - } - } - hItem=TreeView_GetNextSibling(m_Tree,hItem); - } - - bool bLocked=m_pSetting[2].IsLocked(); - std::map options; - if (m_pSetting[2].value.vt==VT_BSTR) - m_CurrentSkin.ParseOptionsString(m_pSetting[2].value.bstrVal,options); - { - std::vector values; - m_CurrentSkin.ComputeOptionStates(options,values,false); - } - - HTREEITEM hLastGroup=NULL; - while (hItem) - { - wchar_t text[256]; - item.hItem=hItem; - item.pszText=text; - TreeView_GetItem(m_Tree,&item); - int idx=(int)item.lParam; - const MenuSkin::Option &option=m_CurrentSkin.Options[idx]; - if (option.type==SKIN_OPTION_GROUP) - { - hLastGroup=hItem; - hItem=TreeView_GetChild(m_Tree,hItem); - } - else - { - int image=option.groupId>=0?SETTING_STATE_RADIO:SETTING_STATE_CHECKBOX; - if (option.bValue) - image|=SETTING_STATE_CHECKED; - if (!option.bEnabled || bLocked) - image|=SETTING_STATE_DISABLED; - if (option.bValue && option.type>SKIN_OPTION_BOOL) - Sprintf(text,_countof(text),L"%s: %s",option.label,option.sValue); - else - Sprintf(text,_countof(text),L"%s",option.label); - - item.iImage=item.iSelectedImage=image; - item.mask|=TVIF_TEXT; - TreeView_SetItem(m_Tree,&item); - item.mask&=~TVIF_TEXT; - RECT rc; - TreeView_GetItemRect(m_Tree,hItem,&rc,FALSE); - m_Tree.InvalidateRect(&rc); - - hItem=TreeView_GetNextSibling(m_Tree,hItem); - if (!hItem && hLastGroup) - { - hItem=TreeView_GetNextSibling(m_Tree,hLastGroup); - hLastGroup=NULL; - } - } - } -} - -void CSkinSettingsDlg::StoreSkinOptions( void ) -{ - std::vector buffer; - m_CurrentSkin.SerializeOptionStates(buffer); - - CSettingsLockWrite lock; - const wchar_t *strNew=&buffer[0]; - const wchar_t *strOld=m_pSetting[2].value.vt==VT_BSTR?m_pSetting[2].value.bstrVal:L""; - if (wcscmp(strNew,strOld)!=0) - SetSettingsDirty(); - - m_pSetting[2].value=CComVariant(strNew); -} - -LRESULT CSkinSettingsDlg::OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVCUSTOMDRAW *pDraw=(NMTVCUSTOMDRAW*)pnmh; - if (pDraw->nmcd.dwDrawStage==CDDS_PREPAINT) - { - UpdateEditPosition(); - return CDRF_NOTIFYITEMDRAW; - } - else if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPREPAINT) - { - TVITEM item={TVIF_IMAGE|TVIF_STATE,(HTREEITEM)pDraw->nmcd.dwItemSpec,0,TVIS_SELECTED}; - TreeView_GetItem(m_Tree,&item); - if ((item.iImage&SETTING_STATE_DISABLED) && (!(item.state&TVIS_SELECTED) || IsAppThemed())) - pDraw->clrText=GetSysColor(COLOR_GRAYTEXT); - return CDRF_NOTIFYPOSTPAINT; - } - else if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPOSTPAINT) - { - if (IS_INTRESOURCE(pDraw->nmcd.lItemlParam) && m_CurrentSkin.Options[pDraw->nmcd.lItemlParam].bValue && m_CurrentSkin.Options[pDraw->nmcd.lItemlParam].type==SKIN_OPTION_COLOR) - { - RECT rc; - if (TreeView_GetItemRect(m_Tree,(HTREEITEM)pDraw->nmcd.dwItemSpec,&rc,TRUE)) - { - const wchar_t *str=m_CurrentSkin.Options[pDraw->nmcd.lItemlParam].sValue; - wchar_t *end; - COLORREF color=wcstoul(str,&end,16); - SetDCBrushColor(pDraw->nmcd.hdc,color&0xFFFFFF); - SelectObject(pDraw->nmcd.hdc,GetStockObject(DC_BRUSH)); - SelectObject(pDraw->nmcd.hdc,GetStockObject(BLACK_PEN)); - Rectangle(pDraw->nmcd.hdc,rc.right,rc.top,rc.right+rc.bottom-rc.top,rc.bottom-1); - } - } - } - return CDRF_DODEFAULT; -} - -LRESULT CSkinSettingsDlg::OnSelChanged( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - HTREEITEM hItem=TreeView_GetSelection(m_Tree); - if (hItem) - { - TVITEM item={TVIF_PARAM|TVIF_IMAGE,hItem}; - TreeView_GetItem(m_Tree,&item); - if (IS_INTRESOURCE(item.lParam)) - ItemSelected(item.hItem,(int)item.lParam,(item.iImage&SETTING_STATE_CHECKED)!=0); - else - ItemSelected(NULL,-1,false); - } - else - ItemSelected(NULL,-1,false); - return 0; -} - -void CSkinSettingsDlg::ToggleItem( HTREEITEM hItem ) -{ - if (!hItem) return; - TVITEM item={TVIF_PARAM|TVIF_IMAGE,hItem}; - TreeView_GetItem(m_Tree,&item); - if (item.iImage&SETTING_STATE_DISABLED) - return; - if (IS_INTRESOURCE(item.lParam)) - { - const MenuSkin::Option &option=m_CurrentSkin.Options[item.lParam]; - if (option.groupId>=0) - { - // radio button - if (item.iImage&SETTING_STATE_CHECKED) - return; - for (std::vector::const_iterator it=m_CurrentSkin.Options.begin();it!=m_CurrentSkin.Options.end();++it) - { - if (it->type==SKIN_OPTION_GROUP || it->groupId!=option.groupId) - continue; - it->bValue=&option==&*it; - } - } - else - { - option.bValue=!(item.iImage&SETTING_STATE_CHECKED); - } - StoreSkinOptions(); - } - else if (IS_INTRESOURCE(-item.lParam)) - { - // select variation - if (item.iImage&SETTING_STATE_CHECKED) - return; - m_VariationIndex=-1-(int)item.lParam; - CSettingsLockWrite lock; - const wchar_t *strNew=m_CurrentSkin.Variations[m_VariationIndex].second.labelEn; - const wchar_t *strOld=m_pSetting[1].value.vt==VT_BSTR?m_pSetting[1].value.bstrVal:L"???"; - if (wcscmp(strNew,strOld)!=0) - SetSettingsDirty(); - m_pSetting[1].value=CComVariant(strNew); - } - UpdateSkinSettings(); - if (IS_INTRESOURCE(item.lParam)) - ItemSelected(hItem,(int)item.lParam,m_CurrentSkin.Options[item.lParam].bValue); -} - -LRESULT CSkinSettingsDlg::OnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - DWORD pos=GetMessagePos(); - TVHITTESTINFO test={{(short)LOWORD(pos),(short)HIWORD(pos)}}; - m_Tree.ScreenToClient(&test.pt); - if (TreeView_HitTest(m_Tree,&test)) - { - if (test.flags&(TVHT_ONITEMICON|TVHT_ONITEMLABEL)) - { - if (test.flags&TVHT_ONITEMLABEL) - { - TVITEM item={TVIF_STATE|TVIF_PARAM,test.hItem}; - TreeView_GetItem(m_Tree,&item); - if (!(item.state&TVIS_SELECTED) && IS_INTRESOURCE(item.lParam)) - { - const MenuSkin::Option &option=m_CurrentSkin.Options[item.lParam]; - if (option.type>SKIN_OPTION_BOOL && option.bValue && option.groupId==-1) - return 0; - } - } - ToggleItem(test.hItem); - } - if (test.flags&TVHT_ONITEMRIGHT) - { - TVITEM item={TVIF_STATE|TVIF_PARAM,test.hItem}; - TreeView_GetItem(m_Tree,&item); - if (item.lParam!=m_EditItemIndex && IS_INTRESOURCE(item.lParam)) - { - const MenuSkin::Option &option=m_CurrentSkin.Options[item.lParam]; - if (option.type==SKIN_OPTION_COLOR && option.bValue) - { - RECT rc; - if (TreeView_GetItemRect(m_Tree,item.hItem,&rc,TRUE) && test.pt.x>=rc.right && test.pt.xwVKey==VK_SPACE) - { - ToggleItem(TreeView_GetSelection(m_Tree)); - return 1; - } - bHandled=FALSE; - return 0; -} - -LRESULT CSkinSettingsDlg::OnGetInfoTip( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMTVGETINFOTIP *pTip=(NMTVGETINFOTIP*)pnmh; - TVITEM item={TVIF_STATE|TVIF_IMAGE|TVIF_PARAM,pTip->hItem,0,TVIS_OVERLAYMASK}; - TreeView_GetItem(m_Tree,&item); - int len=0; - if (IS_INTRESOURCE(item.lParam)) - { - len=Strcpy(pTip->pszText,pTip->cchTextMax,m_CurrentSkin.Options[item.lParam].tip); - } - else if (IS_INTRESOURCE(-item.lParam)) - { - len=Strcpy(pTip->pszText,pTip->cchTextMax,m_CurrentSkin.Variations[-1-item.lParam].second.tip); - } - if (item.state&TVIS_OVERLAYMASK) - { - Sprintf(pTip->pszText+len,pTip->cchTextMax-len,L"\r\n%s",LoadStringEx(IDS_SETTING_LOCKED)); - } - return 0; -} - -LRESULT CSkinSettingsDlg::OnEditKey( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==VK_RETURN && !(m_EditBox.GetWindowLong(GWL_STYLE)&ES_READONLY)) - ItemSelected(m_EditItem,m_EditItemIndex,true); - return 0; -} - -LRESULT CSkinSettingsDlg::OnEditChange( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - UpdateEditPosition(); - return 0; -} - -LRESULT CSkinSettingsDlg::OnKillFocus( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (!m_bIgnoreFocus && m_EditItemIndex>=0) - { - ApplyEditBox(); - UpdateEditPosition(); - } - return 0; -} - -LRESULT CSkinSettingsDlg::OnBrowse( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (m_EditMode==SKIN_OPTION_IMAGE) - { - m_bIgnoreFocus=true; - CString str; - m_EditBox.GetWindowText(str); - str.TrimLeft(); str.TrimRight(); - wchar_t text[1024]; - if (_wcsicmp(PathFindExtension(str),L".bmp")==0 || _wcsicmp(PathFindExtension(str),L".png")==0 || _wcsicmp(PathFindExtension(str),L".jpg")==0) - { - Strcpy(text,_countof(text),str); - DoEnvironmentSubst(text,_countof(text)); - } - else - text[0]=0; - if (BrowseForBitmap(m_hWnd,text,true)) - { - m_EditBox.SetWindowText(text); - } - SendMessage(WM_NEXTDLGCTL,(LPARAM)m_EditBox.m_hWnd,TRUE); - m_EditBox.SetFocus(); - m_bIgnoreFocus=false; - } - else if (m_EditMode==SKIN_OPTION_COLOR) - { - m_bIgnoreFocus=true; - CString str; - m_EditBox.GetWindowText(str); - str.TrimLeft(); str.TrimRight(); - wchar_t *end; - COLORREF val=wcstol(str,&end,16)&0xFFFFFF; - static COLORREF customColors[16]; - CHOOSECOLOR choose={sizeof(choose),m_hWnd,NULL,val,customColors}; - choose.Flags=CC_ANYCOLOR|CC_FULLOPEN|CC_RGBINIT; - if (ChooseColor(&choose)) - { - wchar_t text[100]; - Sprintf(text,_countof(text),L"%06X",choose.rgbResult); - m_EditBox.SetWindowText(text); - ApplyEditBox(); - m_Tree.Invalidate(); - } - SendMessage(WM_NEXTDLGCTL,(LPARAM)m_EditBox.m_hWnd,TRUE); - m_EditBox.SetFocus(); - m_bIgnoreFocus=false; - } - return 0; -} - -void CSkinSettingsDlg::ApplyEditBox( void ) -{ - if (m_EditItemIndex>=0) - { - CString str; - m_EditBox.GetWindowText(str); - str.TrimLeft(); str.TrimRight(); - m_CurrentSkin.Options[m_EditItemIndex].sValue=str; - StoreSkinOptions(); - } -} - -void CSkinSettingsDlg::ItemSelected( HTREEITEM hItem, int index, bool bEnabled ) -{ - if (m_EditItemIndex>=0) - { - ApplyEditBox(); - const MenuSkin::Option &option=m_CurrentSkin.Options[m_EditItemIndex]; - wchar_t text[256]; - if (option.bValue && option.type>SKIN_OPTION_BOOL) - Sprintf(text,_countof(text),L"%s: %s",option.label,option.sValue); - else - Sprintf(text,_countof(text),L"%s",option.label); - TVITEM item={TVIF_TEXT,m_EditItem,0,0,text}; - TreeView_SetItem(m_Tree,&item); - m_EditItemIndex=-1; - } - m_EditItem=NULL; - TSkinOptionType mode=SKIN_OPTION_NONE; - CString text; - if (index>=0) - { - const MenuSkin::Option &option=m_CurrentSkin.Options[index]; - if (option.type>SKIN_OPTION_BOOL) - mode=option.type; - text=option.sValue; - } - - RECT rc; - m_EditMode=mode; - if (mode!=SKIN_OPTION_NONE) - { - CString str=m_CurrentSkin.Options[index].label; - TVITEM item={TVIF_TEXT,hItem,0,0,(LPWSTR)(LPCWSTR)str}; - TreeView_SetItem(m_Tree,&item); - m_Tree.GetClientRect(&rc); - int w=rc.right; - TreeView_GetItemRect(m_Tree,hItem,&rc,TRUE); - rc.left=rc.right; - rc.right=w; - if (bEnabled && mode>SKIN_OPTION_BOOL) - { - m_EditItem=hItem; - m_EditItemIndex=index; - } - } - - if (bEnabled && (mode==SKIN_OPTION_IMAGE || mode==SKIN_OPTION_COLOR)) - { - RECT rc2=rc; - int width=(rc2.bottom-rc2.top)*3/2; - rc2.left=rc2.right-width; - m_BrowseButton.SetWindowPos(NULL,&rc2,SWP_NOZORDER|SWP_SHOWWINDOW); - m_BrowseButton.EnableWindow(bEnabled); - rc.right=rc2.left; - } - else - m_BrowseButton.ShowWindow(SW_HIDE); - - if (bEnabled && mode>SKIN_OPTION_BOOL) - { - m_EditBox.SetWindowText(text); - m_EditBox.SendMessage(EM_SETREADONLY,!bEnabled,0); - m_EditBox.SetWindowPos(NULL,&rc,SWP_NOZORDER|SWP_SHOWWINDOW); - SendMessage(WM_NEXTDLGCTL,(LPARAM)m_EditBox.m_hWnd,TRUE); - } - else - m_EditBox.ShowWindow(SW_HIDE); -} - -void CSkinSettingsDlg::UpdateEditPosition( void ) -{ - if (m_EditMode==SKIN_OPTION_NONE) return; - - RECT rc; - m_Tree.GetClientRect(&rc); - int w=rc.right; - TreeView_GetItemRect(m_Tree,m_EditItem,&rc,TRUE); - rc.left=rc.right; - rc.right=w; - w-=rc.left; - int width=(rc.bottom-rc.top)*3/2; - - HDC hdc=CreateCompatibleDC(NULL); - HFONT font0=(HFONT)SelectObject(hdc,m_EditBox.GetFont()); - SIZE size; - CString str; - m_EditBox.GetWindowText(str); - GetTextExtentPoint(hdc,str,str.GetLength(),&size); - SelectObject(hdc,font0); - DeleteDC(hdc); - DWORD margins=(DWORD)m_EditBox.SendMessage(EM_GETMARGINS); - size.cx+=HIWORD(margins)+LOWORD(margins)+12; - if (m_EditMode==SKIN_OPTION_IMAGE || m_EditMode==SKIN_OPTION_COLOR) - size.cx+=width; - if (size.cx::OnSize(); - UpdateEditPosition(); - - CWindow skins=GetDlgItem(IDC_COMBOSKIN); - CWindow tooltip=TreeView_GetToolTips(m_Tree); - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS,m_hWnd,'CLSH'}; - skins.GetClientRect(&tool.rect); - skins.MapWindowPoints(m_hWnd,&tool.rect); - tooltip.SendMessage(TTM_NEWTOOLRECT,0,(LPARAM)&tool); - - return 0; -} - -LRESULT CSkinSettingsDlg::OnSelEndOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - m_SkinIndex=(int)SendDlgItemMessage(IDC_COMBOSKIN,CB_GETCURSEL); - { - CSettingsLockWrite lock; - const wchar_t *strNew=m_SkinIndex==0?L"":m_SkinNames[m_SkinIndex].GetString(); - const wchar_t *strOld=m_pSetting[0].value.vt==VT_BSTR?m_pSetting[0].value.bstrVal:L"???"; - if (wcscmp(strNew,strOld)!=0) - SetSettingsDirty(); - m_pSetting[0].value=CComBSTR(strNew); - } - InitSkinUI(); - return 0; -} - -static HRESULT CALLBACK TaskDialogCallbackProc( HWND hwnd, UINT uNotification, WPARAM wParam, LPARAM lParam, LONG_PTR dwRefData ) -{ - if (uNotification==TDN_HYPERLINK_CLICKED) - { - ShellExecute(hwnd,L"open",(const wchar_t*)lParam,NULL,NULL,SW_SHOWNORMAL); - } - return S_OK; -} - -LRESULT CSkinSettingsDlg::OnAbout( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - int idx=(int)SendDlgItemMessage(IDC_COMBOSKIN,CB_GETCURSEL,0,0); - const wchar_t *name=m_SkinNames[idx]; - wchar_t caption[256]; - Sprintf(caption,_countof(caption),LoadStringEx(IDS_SKIN_ABOUT),name); - if (!m_bLoadSuccess) - { - MessageBox(LoadStringEx(IDS_SKIN_FAIL),caption,MB_OK|MB_ICONERROR); - return TRUE; - } - TASKDIALOGCONFIG task={sizeof(task),m_hWnd,NULL,TDF_ENABLE_HYPERLINKS|TDF_ALLOW_DIALOG_CANCELLATION|TDF_USE_HICON_MAIN,TDCBF_OK_BUTTON}; - task.pszWindowTitle=caption; - task.pszContent=m_CurrentSkin.About; - task.hMainIcon=m_CurrentSkin.AboutIcon?m_CurrentSkin.AboutIcon:LoadIcon(NULL,IDI_INFORMATION); - task.pfCallback=TaskDialogCallbackProc; - TaskDialogIndirect(&task,NULL,NULL,NULL); - return TRUE; -} - -LRESULT CSkinSettingsDlg::OnReset( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - { - CSettingsLockWrite lock; - if (!m_pSetting[0].IsLocked()) - m_pSetting[0].value=m_pSetting[0].defValue; - if (!m_pSetting[1].IsLocked()) - m_pSetting[1].value=m_pSetting[1].defValue; - if (!m_pSetting[2].IsLocked()) - m_pSetting[2].value=m_pSetting[2].defValue; - SetSettingsDirty(); - } - SetGroup(m_pSetting-1); - return TRUE; -} - -void CSkinSettingsDlg::SetGroup( CSetting *pGroup ) -{ - m_pSetting=pGroup+1; - // the skin settings are never default - { - CSettingsLockWrite lock; - m_pSetting[0].flags&=~CSetting::FLAG_DEFAULT; - m_pSetting[1].flags&=~CSetting::FLAG_DEFAULT; - m_pSetting[2].flags&=~CSetting::FLAG_DEFAULT; - } - - const wchar_t *skin=L""; - if (m_pSetting[0].value.vt==VT_BSTR) - skin=m_pSetting[0].value.bstrVal; - - m_SkinIndex=-1; - if (!*skin) - SendDlgItemMessage(IDC_COMBOSKIN,CB_SETCURSEL,0); - else - { - int n=(int)m_SkinNames.size(); - for (int i=1;i &modules, int style, int mask ): CEditCustomItemDlg(pItem,modules) { m_Style=style; m_StyleMask=mask; } - - BEGIN_MSG_MAP( CEditMenuDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - COMMAND_ID_HANDLER( IDOK, OnOK ) - COMMAND_ID_HANDLER( IDCANCEL, OnCancel ) - COMMAND_HANDLER( IDC_COMBOCOMMAND, CBN_KILLFOCUS, OnCommandChanged ) - COMMAND_HANDLER( IDC_COMBOCOMMAND, CBN_SELENDOK, OnCommandChanged ) - COMMAND_HANDLER( IDC_BUTTONCOMMAND, BN_CLICKED, OnBrowseCommand ) - COMMAND_HANDLER( IDC_BUTTONLINK, BN_CLICKED, OnBrowseLink ) - COMMAND_HANDLER( IDC_BUTTONICON, BN_CLICKED, OnBrowseIcon ) - COMMAND_HANDLER( IDC_COMBOLINK, CBN_KILLFOCUS, OnLinkChanged ) - COMMAND_HANDLER( IDC_COMBOLINK, CBN_SELENDOK, OnLinkChanged ) - COMMAND_HANDLER( IDC_EDITICON, EN_KILLFOCUS, OnIconChanged ) - COMMAND_HANDLER( IDC_CHECKTRACK, BN_CLICKED, OnCheckTrack ) - COMMAND_HANDLER( IDC_CHECKNOTRACK, BN_CLICKED, OnCheckTrack ) - COMMAND_HANDLER( IDC_CHECKMULTICOLUMN, BN_CLICKED, OnCheckMulti ) - COMMAND_HANDLER( IDC_BUTTONRESET, BN_CLICKED, OnReset ) - CHAIN_MSG_MAP( CEditCustomItemDlg ) - END_MSG_MAP() - - virtual BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_COMBOCOMMAND,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_COMBOLINK,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_BUTTONCOMMAND,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_BUTTONLINK,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_EDITLABEL,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_EDITTIP,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_EDITICON,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_BUTTONICON,MOVE_MOVE_X) - RESIZE_CONTROL(IDOK,MOVE_MOVE_X) - RESIZE_CONTROL(IDCANCEL,MOVE_MOVE_X) - END_RESIZE_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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCommandChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnLinkChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnIconChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCheckTrack( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCheckMulti( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowseCommand( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowseLink( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowseIcon( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnReset( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - -private: - int m_Style, m_StyleMask; -}; - -LRESULT CEditMenuDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CWindow commands=GetDlgItem(IDC_COMBOCOMMAND); - CWindow links=GetDlgItem(IDC_COMBOLINK); - InitDialog(commands,g_StdCommands,m_Style,m_StyleMask,links,g_CommonLinks); - SetDlgItemText(IDC_EDITLABEL,m_pItem->label); - SetDlgItemText(IDC_EDITTIP,m_pItem->tip); - SetDlgItemText(IDC_EDITICON,m_pItem->icon); - - BOOL bEnable=!(m_pItem->pStdCommand && m_pItem->pStdCommand->knownFolder); - links.EnableWindow(bEnable); - GetDlgItem(IDC_BUTTONLINK).EnableWindow(bEnable); - GetDlgItem(IDC_BUTTONRESET).EnableWindow(m_pItem->pStdCommand && *m_pItem->pStdCommand->name); - - if (m_pItem->settings&StdMenuItem::MENU_TRACK) - m_pItem->settings&=~StdMenuItem::MENU_NOTRACK; - CheckDlgButton(IDC_CHECKSORTZA,(m_pItem->settings&StdMenuItem::MENU_SORTZA)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSORTZAREC,(m_pItem->settings&StdMenuItem::MENU_SORTZA_REC)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSORTONCE,(m_pItem->settings&StdMenuItem::MENU_SORTONCE)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKOPENUP,(m_pItem->settings&StdMenuItem::MENU_OPENUP)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKOPENUPREC,(m_pItem->settings&StdMenuItem::MENU_OPENUP_REC)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKNOEXPAND,(m_pItem->settings&StdMenuItem::MENU_NOEXPAND)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKNOTRACK,(m_pItem->settings&StdMenuItem::MENU_NOTRACK)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKITEMSFIRST,(m_pItem->settings&StdMenuItem::MENU_ITEMS_FIRST)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKINLINE,(m_pItem->settings&StdMenuItem::MENU_INLINE)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSPLIT,(m_pItem->settings&StdMenuItem::MENU_SPLIT_BUTTON)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKNOEXT,(m_pItem->settings&StdMenuItem::MENU_NOEXTENSIONS)?BST_CHECKED:BST_UNCHECKED); - if (m_pItem->pStdCommand && (wcscmp(m_pItem->pStdCommand->name,L"programs")==0 || wcscmp(m_pItem->pStdCommand->name,L"apps")==0)) - { - CheckDlgButton(IDC_CHECKMULTICOLUMN,BST_CHECKED); - GetDlgItem(IDC_CHECKMULTICOLUMN).EnableWindow(FALSE); - CheckDlgButton(IDC_CHECKTRACK,(m_pItem->settings&StdMenuItem::MENU_NOTRACK)?BST_UNCHECKED:BST_CHECKED); - } - else - { - CheckDlgButton(IDC_CHECKMULTICOLUMN,(m_pItem->settings&StdMenuItem::MENU_MULTICOLUMN)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKTRACK,(m_pItem->settings&StdMenuItem::MENU_TRACK)?BST_CHECKED:BST_UNCHECKED); - } - - UpdateIcons(IDC_ICONN,0); - SendDlgItemMessage(IDC_EDITLABEL,EM_SETCUEBANNER,TRUE,(LPARAM)(const wchar_t*)LoadStringEx(IDS_NO_TEXT)); - - CWindow tooltip=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|WS_EX_TRANSPARENT,TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_NOPREFIX|TTS_ALWAYSTIP,0,0,0,0,m_hWnd,NULL,g_Instance,NULL); - tooltip.SendMessage(TTM_SETMAXTIPWIDTH,0,GetSystemMetrics(SM_CXSCREEN)/2); - - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,(UINT_PTR)(HWND)commands}; - CString str=LoadStringEx(IDS_COMMAND_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - tool.uId=(UINT_PTR)(HWND)commands.GetWindow(GW_CHILD); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_LINK_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)links; - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - tool.uId=(UINT_PTR)(HWND)links.GetWindow(GW_CHILD); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_TEXT_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITLABEL); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_TIP_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITTIP); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_ICON_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITICON); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_SORTZA_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKSORTZA); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_SORTZAREC_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKSORTZAREC); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_SORTONCE_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKSORTONCE); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_OPENUP_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKOPENUP); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_OPENUPREC_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKOPENUPREC); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_NOEXPAND_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKNOEXPAND); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_MULTICOLUMN_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKMULTICOLUMN); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_TRACK_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKTRACK); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_NOTRACK_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKNOTRACK); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_ITEMSFIRST_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKITEMSFIRST); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_INLINE_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKINLINE); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_SPLIT_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKSPLIT); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_NOEXTENSIONS_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKNOEXT); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_RESTORE_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_BUTTONRESET); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - return TRUE; -} - -LRESULT CEditMenuDlg::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - GetDlgItemText(IDC_EDITLABEL,m_pItem->label); - m_pItem->label.TrimLeft(); - m_pItem->label.TrimRight(); - GetDlgItemText(IDC_EDITTIP,m_pItem->tip); - m_pItem->tip.TrimLeft(); - m_pItem->tip.TrimRight(); - - m_pItem->settings=0; - bool bForceMultiColumn=(m_pItem->pStdCommand && (wcscmp(m_pItem->pStdCommand->name,L"programs")==0 || wcscmp(m_pItem->pStdCommand->name,L"apps")==0)); - if (IsDlgButtonChecked(IDC_CHECKSORTZA)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_SORTZA; - if (IsDlgButtonChecked(IDC_CHECKSORTZAREC)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_SORTZA_REC; - if (IsDlgButtonChecked(IDC_CHECKSORTONCE)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_SORTONCE; - if (IsDlgButtonChecked(IDC_CHECKOPENUP)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_OPENUP; - if (IsDlgButtonChecked(IDC_CHECKOPENUPREC)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_OPENUP_REC; - if (IsDlgButtonChecked(IDC_CHECKNOEXPAND)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_NOEXPAND; - if (IsDlgButtonChecked(IDC_CHECKTRACK)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_TRACK; - if (IsDlgButtonChecked(IDC_CHECKNOTRACK)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_NOTRACK; - if (IsDlgButtonChecked(IDC_CHECKITEMSFIRST)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_ITEMS_FIRST; - if (IsDlgButtonChecked(IDC_CHECKINLINE)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_INLINE; - if (IsDlgButtonChecked(IDC_CHECKSPLIT)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_SPLIT_BUTTON; - if (IsDlgButtonChecked(IDC_CHECKNOEXT)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_NOEXTENSIONS; - if (bForceMultiColumn) - { - // special handling of the Programs menu - // it is always MULTICOLUMN - // it is always tracking, unless NOTRACK is set - m_pItem->settings&=~StdMenuItem::MENU_TRACK; - } - else - { - if (IsDlgButtonChecked(IDC_CHECKMULTICOLUMN)==BST_CHECKED) - m_pItem->settings|=StdMenuItem::MENU_MULTICOLUMN; - } - - return CEditCustomItemDlg::OnOK(wNotifyCode,wID,hWndCtl,bHandled); -} - -LRESULT CEditMenuDlg::OnCommandChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text=GetComboText(wNotifyCode,wID); - if (text==m_pItem->command) return 0; - m_pItem->SetCommand(text,g_StdCommands,m_Style,m_StyleMask); - BOOL bEnable=!(m_pItem->pStdCommand && m_pItem->pStdCommand->knownFolder); - GetDlgItem(IDC_COMBOLINK).EnableWindow(bEnable); - GetDlgItem(IDC_BUTTONLINK).EnableWindow(bEnable); - GetDlgItem(IDC_BUTTONRESET).EnableWindow(m_pItem->pStdCommand && *m_pItem->pStdCommand->name); - if (m_pItem->pStdCommand && (wcscmp(m_pItem->pStdCommand->name,L"programs")==0 || wcscmp(m_pItem->pStdCommand->name,L"apps")==0)) - { - CheckDlgButton(IDC_CHECKMULTICOLUMN,BST_CHECKED); - GetDlgItem(IDC_CHECKMULTICOLUMN).EnableWindow(FALSE); - } - else - { - CheckDlgButton(IDC_CHECKMULTICOLUMN,(m_pItem->settings&StdMenuItem::MENU_MULTICOLUMN)?BST_CHECKED:BST_UNCHECKED); - GetDlgItem(IDC_CHECKMULTICOLUMN).EnableWindow(TRUE); - } - UpdateIcons(IDC_ICONN,0); - return 0; -} - -LRESULT CEditMenuDlg::OnLinkChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text=GetComboText(wNotifyCode,wID); - if (text==m_pItem->link) return 0; - m_pItem->link=text; - UpdateIcons(IDC_ICONN,0); - return 0; -} - -LRESULT CEditMenuDlg::OnIconChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text; - GetDlgItemText(IDC_EDITICON,text); - text.TrimLeft(); - text.TrimRight(); - if (text==m_pItem->icon) return 0; - m_pItem->icon=text; - UpdateIcons(IDC_ICONN,0); - return 0; -} - -LRESULT CEditMenuDlg::OnCheckTrack( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (IsDlgButtonChecked(wID)==BST_CHECKED) - CheckDlgButton(IDC_CHECKTRACK+IDC_CHECKNOTRACK-wID,BST_UNCHECKED); - return 0; -} - -LRESULT CEditMenuDlg::OnCheckMulti( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (IsDlgButtonChecked(IDC_CHECKMULTICOLUMN)==BST_CHECKED) - m_pItem->settings|=StdMenuItem::MENU_MULTICOLUMN; - else - m_pItem->settings&=~StdMenuItem::MENU_MULTICOLUMN; - return 0; -} - -LRESULT CEditMenuDlg::OnBrowseCommand( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - wchar_t text[_MAX_PATH]; - GetDlgItemText(IDC_COMBOCOMMAND,text,_countof(text)); - if (BrowseCommandHelper(m_hWnd,text)) - { - SetDlgItemText(IDC_COMBOCOMMAND,text); - SendMessage(WM_COMMAND,MAKEWPARAM(IDC_COMBOCOMMAND,CBN_KILLFOCUS)); - } - return 0; -} - -LRESULT CEditMenuDlg::OnBrowseLink( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - wchar_t text[_MAX_PATH]; - GetDlgItemText(IDC_COMBOLINK,text,_countof(text)); - if (BrowseLinkHelper(m_hWnd,text)) - { - SetDlgItemText(IDC_COMBOLINK,text); - SendMessage(WM_COMMAND,MAKEWPARAM(IDC_COMBOLINK,CBN_KILLFOCUS)); - } - return 0; -} - -LRESULT CEditMenuDlg::OnBrowseIcon( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - wchar_t text[_MAX_PATH]; - GetDlgItemText(IDC_EDITICON,text,_countof(text)); - if (BrowseIconHelper(m_hWnd,text)) - { - SetDlgItemText(IDC_EDITICON,text); - SendMessage(WM_COMMAND,MAKEWPARAM(IDC_EDITICON,EN_KILLFOCUS)); - } - return 0; -} - -LRESULT CEditMenuDlg::OnReset( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (!m_pItem->pStdCommand || !*m_pItem->pStdCommand->name) - return 0; - m_pItem->link.Empty(); - m_pItem->label=m_pItem->pStdCommand->label; - m_pItem->tip=m_pItem->pStdCommand->tip; - m_pItem->icon=m_pItem->pStdCommand->icon; - m_pItem->iconD=m_pItem->pStdCommand->iconD; - m_pItem->settings=m_pItem->pStdCommand->settings&~m_StyleMask; - SendDlgItemMessage(IDC_COMBOLINK,CB_SETCURSEL,-1); - SetDlgItemText(IDC_EDITLABEL,m_pItem->label); - SetDlgItemText(IDC_EDITTIP,m_pItem->tip); - SetDlgItemText(IDC_EDITICON,m_pItem->icon); - CheckDlgButton(IDC_CHECKSORTZA,(m_pItem->settings&StdMenuItem::MENU_SORTZA)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSORTZAREC,(m_pItem->settings&StdMenuItem::MENU_SORTZA_REC)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSORTONCE,(m_pItem->settings&StdMenuItem::MENU_SORTONCE)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKOPENUP,(m_pItem->settings&StdMenuItem::MENU_OPENUP)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKOPENUPREC,(m_pItem->settings&StdMenuItem::MENU_OPENUP_REC)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKNOEXPAND,(m_pItem->settings&StdMenuItem::MENU_NOEXPAND)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKMULTICOLUMN,(m_pItem->settings&StdMenuItem::MENU_MULTICOLUMN)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKTRACK,(m_pItem->settings&StdMenuItem::MENU_TRACK)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKNOTRACK,(m_pItem->settings&StdMenuItem::MENU_NOTRACK)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKITEMSFIRST,(m_pItem->settings&StdMenuItem::MENU_ITEMS_FIRST)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKINLINE,(m_pItem->settings&StdMenuItem::MENU_INLINE)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSPLIT,(m_pItem->settings&StdMenuItem::MENU_SPLIT_BUTTON)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKNOEXT,(m_pItem->settings&StdMenuItem::MENU_NOEXTENSIONS)?BST_CHECKED:BST_UNCHECKED); - if (m_pItem->pStdCommand && (wcscmp(m_pItem->pStdCommand->name,L"programs")==0 || wcscmp(m_pItem->pStdCommand->name,L"apps")==0)) - { - CheckDlgButton(IDC_CHECKMULTICOLUMN,BST_CHECKED); - GetDlgItem(IDC_CHECKMULTICOLUMN).EnableWindow(FALSE); - } - else - GetDlgItem(IDC_CHECKMULTICOLUMN).EnableWindow(TRUE); - - UpdateIcons(IDC_ICONN,IDC_ICOND); - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -class CCustomMenuDlg: public CCustomTreeDlg -{ -public: - CCustomMenuDlg( int style, int mask ): CCustomTreeDlg(true,g_StdCommands,style,mask) {} - bool Validate( void ); - - static void UpdateWarnings( TMenuStyle menuStyle ); - -protected: - virtual void ParseTreeItemExtra( CTreeItem *pItem, CSettingsParser &parser ); - virtual void SerializeItemExtra( CTreeItem *pItem, std::vector &stringBuilder ); - virtual bool EditItem( CTreeItem *pItem, HWND tree, HTREEITEM hItem, std::vector &modules ); - virtual void ItemsChanged( void ) { UpdateWarnings(m_Style==StdMenuItem::MENU_STYLE_CLASSIC1?MENU_CLASSIC1:MENU_CLASSIC2); } -}; - -void CCustomMenuDlg::ParseTreeItemExtra( CTreeItem *pItem, CSettingsParser &parser ) -{ - pItem->settings=0; - wchar_t text[256]; - Sprintf(text,_countof(text),L"%s.Settings",pItem->name); - const wchar_t *str=parser.FindSetting(text); - if (!str) return; - - while (*str) - { - wchar_t token[256]; - str=GetToken(str,token,_countof(token),L", \t|;"); - if (_wcsicmp(token,L"OPEN_UP")==0) pItem->settings|=StdMenuItem::MENU_OPENUP; - if (_wcsicmp(token,L"OPEN_UP_CHILDREN")==0) pItem->settings|=StdMenuItem::MENU_OPENUP_REC; - if (_wcsicmp(token,L"SORT_ZA")==0) pItem->settings|=StdMenuItem::MENU_SORTZA; - if (_wcsicmp(token,L"SORT_ZA_CHILDREN")==0) pItem->settings|=StdMenuItem::MENU_SORTZA_REC; - if (_wcsicmp(token,L"SORT_ONCE")==0) pItem->settings|=StdMenuItem::MENU_SORTONCE; - if (_wcsicmp(token,L"ITEMS_FIRST")==0) pItem->settings|=StdMenuItem::MENU_ITEMS_FIRST; - if (_wcsicmp(token,L"TRACK_RECENT")==0) pItem->settings|=StdMenuItem::MENU_TRACK; - if (_wcsicmp(token,L"NOTRACK_RECENT")==0) pItem->settings|=StdMenuItem::MENU_NOTRACK; - if (_wcsicmp(token,L"NOEXPAND")==0) pItem->settings|=StdMenuItem::MENU_NOEXPAND; - if (_wcsicmp(token,L"MULTICOLUMN")==0) pItem->settings|=StdMenuItem::MENU_MULTICOLUMN; - if (_wcsicmp(token,L"INLINE")==0) pItem->settings|=StdMenuItem::MENU_INLINE; - if (_wcsicmp(token,L"SPLIT")==0) pItem->settings|=StdMenuItem::MENU_SPLIT_BUTTON; - if (_wcsicmp(token,L"NOEXTENSIONS")==0) pItem->settings|=StdMenuItem::MENU_NOEXTENSIONS; - } -} - -void CCustomMenuDlg::SerializeItemExtra( CTreeItem *pItem, std::vector &stringBuilder ) -{ - if (!pItem->settings) return; - wchar_t text[256]; - Sprintf(text,_countof(text),L"%s.Settings=",pItem->name); - AppendString(stringBuilder,text); - if (pItem->settings&StdMenuItem::MENU_OPENUP) AppendString(stringBuilder,L"OPEN_UP|"); - if (pItem->settings&StdMenuItem::MENU_OPENUP_REC) AppendString(stringBuilder,L"OPEN_UP_CHILDREN|"); - if (pItem->settings&StdMenuItem::MENU_SORTZA) AppendString(stringBuilder,L"SORT_ZA|"); - if (pItem->settings&StdMenuItem::MENU_SORTZA_REC) AppendString(stringBuilder,L"SORT_ZA_CHILDREN|"); - if (pItem->settings&StdMenuItem::MENU_SORTONCE) AppendString(stringBuilder,L"SORT_ONCE|"); - if (pItem->settings&StdMenuItem::MENU_ITEMS_FIRST) AppendString(stringBuilder,L"ITEMS_FIRST|"); - if (pItem->settings&StdMenuItem::MENU_TRACK) AppendString(stringBuilder,L"TRACK_RECENT|"); - if (pItem->settings&StdMenuItem::MENU_NOTRACK) AppendString(stringBuilder,L"NOTRACK_RECENT|"); - if (pItem->settings&StdMenuItem::MENU_NOEXPAND) AppendString(stringBuilder,L"NOEXPAND|"); - if (pItem->settings&StdMenuItem::MENU_MULTICOLUMN) AppendString(stringBuilder,L"MULTICOLUMN|"); - if (pItem->settings&StdMenuItem::MENU_INLINE) AppendString(stringBuilder,L"INLINE|"); - if (pItem->settings&StdMenuItem::MENU_SPLIT_BUTTON) AppendString(stringBuilder,L"SPLIT|"); - if (pItem->settings&StdMenuItem::MENU_NOEXTENSIONS) AppendString(stringBuilder,L"NOEXTENSIONS|"); - stringBuilder[stringBuilder.size()-1]='\n'; -} - -bool CCustomMenuDlg::EditItem( CTreeItem *pItem, HWND tree, HTREEITEM hItem, std::vector &modules ) -{ - return CEditMenuDlg(pItem,modules,m_Style,m_StyleMask).Run(m_hWnd,IDD_CUSTOMMENU); -} - -void CCustomMenuDlg::UpdateWarnings( TMenuStyle menuStyle ) -{ - const CSetting *pSetting=FindSetting(menuStyle==MENU_CLASSIC1?L"MenuItems1":L"MenuItems2"); - Assert(pSetting->value.vt==VT_BSTR); - CString items=pSetting->value.bstrVal; - - bool bWarning; - items.MakeLower(); - items.Replace('\r','\n'); - bWarning=!wcsstr(items,L".command=favorites\n"); - UpdateSettingText(L"Favorites",-1,bWarning?IDS_SHOW_FAVORITES_TIP2:IDS_SHOW_FAVORITES_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=recent_documents\n"); - UpdateSettingText(L"Documents",-1,bWarning?IDS_SHOW_DOCUMENTS_TIP2:IDS_SHOW_DOCUMENTS_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=computer\n"); - UpdateSettingText(L"Computer",-1,bWarning?IDS_SHOW_COMPUTER_TIP2:IDS_SHOW_COMPUTER_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=user_files\n"); - UpdateSettingText(L"UserFiles",-1,bWarning?IDS_SHOW_USERFILES_TIP2:IDS_SHOW_USERFILES_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=user_documents\n"); - UpdateSettingText(L"UserDocuments",-1,bWarning?IDS_SHOW_USERDOCS_TIP2:IDS_SHOW_USERDOCS_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=user_pictures\n"); - UpdateSettingText(L"UserPictures",-1,bWarning?IDS_SHOW_USERPICS_TIP2:IDS_SHOW_USERPICS_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=control_panel\n"); - UpdateSettingText(L"ControlPanel",-1,bWarning?IDS_SHOW_CP_TIP2:IDS_SHOW_CP_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=network_connections\n"); - UpdateSettingText(L"Network",-1,bWarning?IDS_SHOW_NETWORK_TIP2:IDS_SHOW_NETWORK_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=printers\n"); - UpdateSettingText(L"Printers",-1,bWarning?IDS_SHOW_PRINTERS_TIP2:IDS_SHOW_PRINTERS_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=shutdown_box\n"); - UpdateSettingText(L"Shutdown",-1,bWarning?IDS_SHOW_SHUTDOWN_TIP2:IDS_SHOW_SHUTDOWN_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=search_box\n"); - UpdateSettingText(L"SearchBox",-1,bWarning?IDS_SHOW_SEARCH_BOX_TIP2:IDS_SHOW_SEARCH_BOX_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=search\n"); - UpdateSettingText(L"Search",-1,bWarning?IDS_SHOW_SEARCH_TIP2:IDS_SHOW_SEARCH_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=apps\n"); - UpdateSettingText(L"ShowAppsMenu",-1,bWarning?IDS_SHOW_APPS_MENU_TIP2:IDS_SHOW_APPS_MENU_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=help\n"); - UpdateSettingText(L"Help",-1,bWarning?IDS_SHOW_HELP_TIP2:IDS_SHOW_HELP_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=run\n"); - UpdateSettingText(L"Run",-1,bWarning?IDS_SHOW_RUN_TIP2:IDS_SHOW_RUN_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=logoff\n"); - UpdateSettingText(L"LogOff",-1,bWarning?IDS_SHOW_LOGOFF_TIP2:IDS_SHOW_LOGOFF_TIP,bWarning); - - bWarning=!wcsstr(items,L".command=undock\n"); - UpdateSettingText(L"Undock",-1,bWarning?IDS_SHOW_UNDOCK_TIP2:IDS_SHOW_UNDOCK_TIP,bWarning); -} - -class CCustomMenuPanel: public ISettingsPanel -{ -public: - CCustomMenuPanel( int index ) { m_Index=index; } - virtual HWND Create( HWND parent ); - virtual HWND Activate( CSetting *pGroup, const RECT &rect, bool bReset ); - virtual bool Validate( HWND parent ) { return true; } - -private: - int m_Index; - static CCustomMenuDlg s_Dialogs[2]; -}; - -CCustomMenuDlg CCustomMenuPanel::s_Dialogs[2]={ - CCustomMenuDlg(StdMenuItem::MENU_STYLE_CLASSIC1,StdMenuItem::MENU_STYLE_MASK), - CCustomMenuDlg(StdMenuItem::MENU_STYLE_CLASSIC2,StdMenuItem::MENU_STYLE_MASK), -}; - -HWND CCustomMenuPanel::Create( HWND parent ) -{ - if (!s_Dialogs[m_Index].m_hWnd) - s_Dialogs[m_Index].Create(parent,LoadDialogEx(IDD_CUSTOMTREE)); - return s_Dialogs[m_Index].m_hWnd; -} - -HWND CCustomMenuPanel::Activate( CSetting *pGroup, const RECT &rect, bool bReset ) -{ - s_Dialogs[m_Index].SetGroup(pGroup,bReset); - s_Dialogs[m_Index].SetWindowPos(HWND_TOP,&rect,SWP_SHOWWINDOW); - return s_Dialogs[m_Index].m_hWnd; -} - -static CCustomMenuPanel g_CustomMenuPanel1(0); -static CCustomMenuPanel g_CustomMenuPanel2(1); - -/////////////////////////////////////////////////////////////////////////////// - -class CCustomMenuDlg7: public CResizeableDlg -{ -public: - CCustomMenuDlg7( void ) {} - ~CCustomMenuDlg7( void ) {} - - BEGIN_MSG_MAP( CCustomMenuDlg7 ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - MESSAGE_HANDLER( WM_CONTEXTMENU, OnContextMenu ) - REFLECT_NOTIFICATIONS() - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_LISTITEMS,MOVE_SIZE_X|MOVE_SIZE_Y) - RESIZE_CONTROL(IDC_STATICHINT,MOVE_SIZE_X|MOVE_MOVE_Y) - END_RESIZE_MAP - - void SetGroup( CSetting *pGroup, bool bReset ); - -protected: - LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - -private: - - struct MenuItem - { - CString command; - CString link; - CString label; - CString tip; - CString icon; - unsigned int settings; - int stdItemIndex; - }; - - class CItemList: public CWindowImpl - { - public: - CItemList( void ) { m_bDragging=m_bDisabled=false; m_Line=m_Column=-1; } - enum { - WM_RESIZE_COMBO=WM_USER+200, - WM_HANDLE_TAB, - TIMER_SCROLL_UP=1, - TIMER_SCROLL_DOWN=2, - }; - - BEGIN_MSG_MAP( CSettingsTree ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_LBUTTONDOWN, OnLButtonDown ) - MESSAGE_HANDLER( WM_LBUTTONDBLCLK, OnLButtonDblClick ) - MESSAGE_HANDLER( WM_LBUTTONUP, OnLButtonUp ) - MESSAGE_HANDLER( WM_MOUSEMOVE, OnMouseMove) - MESSAGE_HANDLER( WM_RBUTTONDOWN, OnRButtonDown ) - MESSAGE_HANDLER( WM_GETDLGCODE, OnGetDlgCode ) - MESSAGE_HANDLER( WM_KEYDOWN, OnKeyDown ) - MESSAGE_HANDLER( WM_CAPTURECHANGED, OnCaptureChanged ) - MESSAGE_HANDLER( WM_HSCROLL, OnScroll ) - MESSAGE_HANDLER( WM_VSCROLL, OnScroll ) - MESSAGE_HANDLER( WM_TIMER, OnTimer ) - MESSAGE_HANDLER( WM_RESIZE_COMBO, OnResizeCombo ) - MESSAGE_HANDLER( WM_HANDLE_TAB, OnHandleTab ) - COMMAND_CODE_HANDLER( CBN_SELENDOK, OnSelEndOk ) - NOTIFY_CODE_HANDLER( HDN_ENDTRACK, OnEndTrack ) - NOTIFY_CODE_HANDLER( HDN_DIVIDERDBLCLICK, OnEndTrack ) - NOTIFY_CODE_HANDLER( HDN_ITEMCLICK, OnEndTrack ) - REFLECTED_NOTIFY_CODE_HANDLER( NM_CUSTOMDRAW, OnCustomDraw ) - END_MSG_MAP() - - void SetDisabled( bool bDisabled ) { m_bDisabled=bDisabled; } - void SubclassWindow( HWND hWnd, CCustomMenuDlg7 *pOwner ); - - void UpdateItem( int index ); - - int LoadIcon( const MenuItem &item ); - unsigned int GetIconKey( const MenuItem &item ) const; - HICON LoadIcon( const MenuItem &item, bool bSmall ) const; - - void EditItem( int index ); - void DeleteItem( int index ); - void InsertItem( int index, int copy ); - void MoveItem( int from, int to ); - - protected: - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnLButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnLButtonDblClick( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnLButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnRButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) { return 0; } - LRESULT OnGetDlgCode( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnKeyDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnCaptureChanged( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnScroll( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnResizeCombo( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnHandleTab( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnEndTrack( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnSelEndOk( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - - private: - CCustomMenuDlg7 *m_pOwner; - CWindow m_Combo; - HIMAGELIST m_ImageList; - int m_Line; - int m_Column; - bool m_bDisabled; - bool m_bThemed; - bool m_bDragging; - int m_ClickedItem; - - mutable std::vector m_Modules; - std::map m_IconCache; - - friend class CCustomMenuDlg7; - - void CreateCombo( int line, int column ); - void DestroyCombo( void ); - static LRESULT CALLBACK SubclassGridCombo( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ); - }; - - CItemList m_List; - CSetting *m_pSetting; - - std::vector m_Items; - - void SerializeData( void ); - - friend class CEditMenuDlg7; -}; - -class CEditMenuDlg7: public CResizeableDlg -{ -public: - CEditMenuDlg7( CCustomMenuDlg7 *pOwner, CCustomMenuDlg7::MenuItem *pItem ) { m_pOwner=pOwner; m_pItem=pItem; } - - BEGIN_MSG_MAP( CEditMenuDlg7 ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - COMMAND_ID_HANDLER( IDOK, OnOK ) - COMMAND_ID_HANDLER( IDCANCEL, OnCancel ) - COMMAND_HANDLER( IDC_COMBOCOMMAND, CBN_KILLFOCUS, OnCommandChanged ) - COMMAND_HANDLER( IDC_COMBOCOMMAND, CBN_SELENDOK, OnCommandChanged ) - COMMAND_HANDLER( IDC_BUTTONCOMMAND, BN_CLICKED, OnBrowseCommand ) - COMMAND_HANDLER( IDC_BUTTONLINK, BN_CLICKED, OnBrowseLink ) - COMMAND_HANDLER( IDC_BUTTONICON, BN_CLICKED, OnBrowseIcon ) - COMMAND_HANDLER( IDC_EDITLINK2, EN_KILLFOCUS, OnLinkChanged ) - COMMAND_HANDLER( IDC_EDITICON, EN_KILLFOCUS, OnIconChanged ) - COMMAND_HANDLER( IDC_BUTTONRESET, BN_CLICKED, OnReset ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - MESSAGE_HANDLER( WM_GETMINMAXINFO, OnGetMinMaxInfo ) - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_COMBOCOMMAND,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_EDITLINK2,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_BUTTONCOMMAND,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_BUTTONLINK,MOVE_MOVE_X) - RESIZE_CONTROL(IDC_EDITLABEL,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_EDITTIP,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_EDITICON,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_BUTTONICON,MOVE_MOVE_X) - RESIZE_CONTROL(IDOK,MOVE_MOVE_X) - RESIZE_CONTROL(IDCANCEL,MOVE_MOVE_X) - END_RESIZE_MAP - - bool Run( void ); - - enum { SETTINGS_MASK=StdMenuItem::MENU_NOEXPAND|StdMenuItem::MENU_SINGLE_EXPAND|StdMenuItem::MENU_ITEM_DISABLED }; - -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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnCommandChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnLinkChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnIconChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowseCommand( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowseLink( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnBrowseIcon( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnReset( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - -private: - CCustomMenuDlg7 *m_pOwner; - CCustomMenuDlg7::MenuItem *m_pItem; - CCustomMenuDlg7::MenuItem m_StoredItem; - - bool m_bResult; - HICON m_hIcon; - unsigned int m_IconKey; - - CString GetComboText( WORD wNotifyCode, WORD wID ); - void UpdateIcon( void ); - void UpdateControls( void ); - void StorePlacement( void ); -}; - -void CEditMenuDlg7::UpdateControls( void ) -{ - BOOL bEnable=(m_pItem->stdItemIndex>0); - GetDlgItem(IDC_EDITLABEL).EnableWindow(bEnable); - GetDlgItem(IDC_STATICINFOTIP).EnableWindow(bEnable); - GetDlgItem(IDC_EDITTIP).EnableWindow(bEnable); - GetDlgItem(IDC_STATICICON).EnableWindow(bEnable); - GetDlgItem(IDC_EDITICON).EnableWindow(bEnable); - GetDlgItem(IDC_BUTTONICON).EnableWindow(bEnable); - - GetDlgItem(IDC_EDITLINK2).EnableWindow(bEnable && m_pItem->stdItemIndex==g_StdCommands7Count-1); - GetDlgItem(IDC_BUTTONLINK).EnableWindow(bEnable && m_pItem->stdItemIndex==g_StdCommands7Count-1); - GetDlgItem(IDC_BUTTONRESET).EnableWindow(bEnable && m_pItem->stdItemIndexstdItemIndex].flags&CStdCommand7::ITEM_SINGLE); - GetDlgItem(IDC_CHECKSORTZA).EnableWindow(bEnable); - GetDlgItem(IDC_CHECKSORTZAREC).EnableWindow(bEnable); - GetDlgItem(IDC_CHECKSORTONCE).EnableWindow(bEnable); - GetDlgItem(IDC_CHECKOPENUP).EnableWindow(bEnable); - GetDlgItem(IDC_CHECKOPENUPREC).EnableWindow(bEnable); - GetDlgItem(IDC_CHECKNOEXT).EnableWindow(bEnable); - GetDlgItem(IDC_CHECKTRACK).EnableWindow(bEnable); - GetDlgItem(IDC_CHECKMULTICOLUMN).EnableWindow(bEnable); - GetDlgItem(IDC_STATICTEXT).EnableWindow(bEnable); -} - -LRESULT CEditMenuDlg7::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - m_hIcon=NULL; - m_IconKey=0; - m_StoredItem=*m_pItem; - if (m_pItem->stdItemIndexstdItemIndex]; - if (m_pItem->label.IsEmpty()) - m_pItem->label=command.label; - if (m_pItem->tip.IsEmpty()) - m_pItem->tip=command.tip; - if (m_pItem->icon.IsEmpty()) - m_pItem->icon=command.icon; - } - - InitResize(MOVE_HORIZONTAL|MOVE_GRIPPER); - CWindow commands=GetDlgItem(IDC_COMBOCOMMAND); - for (int i=0;istdItemIndex) - { - commands.SendMessage(CB_SETCURSEL,i); - break; - } - } - commands.SetWindowText(m_pItem->command); - - COMBOBOXINFO info={sizeof(info)}; - commands.SendMessage(CB_GETCOMBOBOXINFO,0,(LPARAM)&info); - SHAutoComplete(info.hwndItem,SHACF_FILESYSTEM); - SendDlgItemMessage(IDC_EDITLINK2,CB_GETCOMBOBOXINFO,0,(LPARAM)&info); - SHAutoComplete(info.hwndItem,SHACF_FILESYSTEM); - - SetDlgItemText(IDC_EDITLINK2,m_pItem->link); - SetDlgItemText(IDC_EDITLABEL,m_pItem->label); - SetDlgItemText(IDC_EDITTIP,m_pItem->tip); - SetDlgItemText(IDC_EDITICON,m_pItem->icon); - - CheckDlgButton(IDC_CHECKSORTZA,(m_pItem->settings&StdMenuItem::MENU_SORTZA)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSORTZAREC,(m_pItem->settings&StdMenuItem::MENU_SORTZA_REC)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSORTONCE,(m_pItem->settings&StdMenuItem::MENU_SORTONCE)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKOPENUP,(m_pItem->settings&StdMenuItem::MENU_OPENUP)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKOPENUPREC,(m_pItem->settings&StdMenuItem::MENU_OPENUP_REC)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKNOEXT,(m_pItem->settings&StdMenuItem::MENU_NOEXTENSIONS)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKTRACK,(m_pItem->settings&StdMenuItem::MENU_TRACK)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKMULTICOLUMN,(m_pItem->settings&StdMenuItem::MENU_MULTICOLUMN)?BST_CHECKED:BST_UNCHECKED); - - UpdateControls(); - UpdateIcon(); - SendDlgItemMessage(IDC_EDITLABEL,EM_SETCUEBANNER,TRUE,(LPARAM)(const wchar_t*)LoadStringEx(IDS_NO_TEXT)); - - CWindow tooltip=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|WS_EX_TRANSPARENT,TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_NOPREFIX|TTS_ALWAYSTIP,0,0,0,0,m_hWnd,NULL,g_Instance,NULL); - tooltip.SendMessage(TTM_SETMAXTIPWIDTH,0,GetSystemMetrics(SM_CXSCREEN)/2); - - TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,(UINT_PTR)(HWND)commands}; - CString str=LoadStringEx(IDS_COMMAND_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - tool.uId=(UINT_PTR)(HWND)commands.GetWindow(GW_CHILD); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_LINK_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITLINK2); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_TEXT_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITLABEL); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_TIP_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITTIP); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_ICON_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_EDITICON); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_SORTZA_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKSORTZA); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_SORTZAREC_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKSORTZAREC); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_SORTONCE_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKSORTONCE); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_OPENUP_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKOPENUP); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_OPENUPREC_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKOPENUPREC); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_MULTICOLUMN_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKMULTICOLUMN); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_TRACK_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKTRACK); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_NOEXTENSIONS_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_CHECKNOEXT); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - str=LoadStringEx(IDS_RESTORE_TIP); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - tool.uId=(UINT_PTR)(HWND)GetDlgItem(IDC_BUTTONRESET); - tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - RECT rc; - CRegKey regSettings; - if (regSettings.Open(HKEY_CURRENT_USER,GetSettingsRegPath())==ERROR_SUCCESS) - { - ULONG size=sizeof(rc); - if (regSettings.QueryBinaryValue(L"CEditMenuDlg7",&rc,&size)==ERROR_SUCCESS && size==sizeof(rc)) - SetStoreRect(rc); - } - return TRUE; -} - -LRESULT CEditMenuDlg7::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - SetFocus(); - GetDlgItemText(IDC_EDITLABEL,m_pItem->label); - m_pItem->label.TrimLeft(); - m_pItem->label.TrimRight(); - GetDlgItemText(IDC_EDITTIP,m_pItem->tip); - m_pItem->tip.TrimLeft(); - m_pItem->tip.TrimRight(); - - m_pItem->settings&=SETTINGS_MASK; - if (IsDlgButtonChecked(IDC_CHECKSORTZA)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_SORTZA; - if (IsDlgButtonChecked(IDC_CHECKSORTZAREC)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_SORTZA_REC; - if (IsDlgButtonChecked(IDC_CHECKSORTONCE)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_SORTONCE; - if (IsDlgButtonChecked(IDC_CHECKOPENUP)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_OPENUP; - if (IsDlgButtonChecked(IDC_CHECKOPENUPREC)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_OPENUP_REC; - if (IsDlgButtonChecked(IDC_CHECKTRACK)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_TRACK; - if (IsDlgButtonChecked(IDC_CHECKNOEXT)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_NOEXTENSIONS; - if (IsDlgButtonChecked(IDC_CHECKMULTICOLUMN)==BST_CHECKED) m_pItem->settings|=StdMenuItem::MENU_MULTICOLUMN; - - m_pItem=NULL; - ::EnableWindow(GetAncestor(m_pOwner->m_hWnd,GA_ROOT),TRUE); - m_bResult=true; - StorePlacement(); - DestroyWindow(); - return 0; -} - -LRESULT CEditMenuDlg7::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - *m_pItem=m_StoredItem; - m_pItem=NULL; - ::EnableWindow(GetAncestor(m_pOwner->m_hWnd,GA_ROOT),TRUE); - m_bResult=false; - StorePlacement(); - DestroyWindow(); - return 0; -} - -LRESULT CEditMenuDlg7::OnCommandChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text=GetComboText(wNotifyCode,wID); - if (!m_pItem || text==m_pItem->command) return 0; - m_pItem->command=text; - m_pItem->stdItemIndex=g_StdCommands7Count-1; - for (int i=0;istdItemIndex=i; - break; - } - UpdateControls(); - UpdateIcon(); - return 0; -} - -LRESULT CEditMenuDlg7::OnLinkChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text=GetComboText(wNotifyCode,wID); - if (!m_pItem || text==m_pItem->link) return 0; - m_pItem->link=text; - UpdateIcon(); - return 0; -} - -LRESULT CEditMenuDlg7::OnIconChanged( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString text; - GetDlgItemText(IDC_EDITICON,text); - text.TrimLeft(); - text.TrimRight(); - if (!m_pItem || text==m_pItem->icon) return 0; - m_pItem->icon=text; - UpdateIcon(); - return 0; -} - -LRESULT CEditMenuDlg7::OnBrowseCommand( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - wchar_t text[_MAX_PATH]; - GetDlgItemText(IDC_COMBOCOMMAND,text,_countof(text)); - if (BrowseCommandHelper(m_hWnd,text)) - { - SetDlgItemText(IDC_COMBOCOMMAND,text); - SendMessage(WM_COMMAND,MAKEWPARAM(IDC_COMBOCOMMAND,CBN_KILLFOCUS)); - } - return 0; -} - -LRESULT CEditMenuDlg7::OnBrowseLink( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - wchar_t text[_MAX_PATH]; - GetDlgItemText(IDC_EDITLINK2,text,_countof(text)); - if (BrowseLinkHelper(m_hWnd,text)) - { - SetDlgItemText(IDC_EDITLINK2,text); - SendMessage(WM_COMMAND,MAKEWPARAM(IDC_EDITLINK2,EN_KILLFOCUS)); - } - return 0; -} - -LRESULT CEditMenuDlg7::OnBrowseIcon( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - wchar_t text[_MAX_PATH]; - GetDlgItemText(IDC_EDITICON,text,_countof(text)); - if (BrowseIconHelper(m_hWnd,text)) - { - SetDlgItemText(IDC_EDITICON,text); - SendMessage(WM_COMMAND,MAKEWPARAM(IDC_EDITICON,EN_KILLFOCUS)); - } - return 0; -} - -LRESULT CEditMenuDlg7::OnReset( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (m_pItem->stdItemIndexstdItemIndex]; - m_pItem->link.Empty(); - SetDlgItemText(IDC_EDITLINK2,L""); - m_pItem->label=command.label; - SetDlgItemText(IDC_EDITLABEL,m_pItem->label); - m_pItem->tip=command.tip; - SetDlgItemText(IDC_EDITTIP,m_pItem->tip); - m_pItem->icon=command.icon; - SetDlgItemText(IDC_EDITICON,m_pItem->icon); - - m_pItem->settings=command.settings|(m_pItem->settings&SETTINGS_MASK); - CheckDlgButton(IDC_CHECKSORTZA,(m_pItem->settings&StdMenuItem::MENU_SORTZA)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSORTZAREC,(m_pItem->settings&StdMenuItem::MENU_SORTZA_REC)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKSORTONCE,(m_pItem->settings&StdMenuItem::MENU_SORTONCE)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKOPENUP,(m_pItem->settings&StdMenuItem::MENU_OPENUP)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKOPENUPREC,(m_pItem->settings&StdMenuItem::MENU_OPENUP_REC)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKNOEXT,(m_pItem->settings&StdMenuItem::MENU_NOEXTENSIONS)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKTRACK,(m_pItem->settings&StdMenuItem::MENU_TRACK)?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_CHECKMULTICOLUMN,(m_pItem->settings&StdMenuItem::MENU_MULTICOLUMN)?BST_CHECKED:BST_UNCHECKED); - UpdateIcon(); - } - return 0; -} - -LRESULT CEditMenuDlg7::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CResizeableDlg::OnSize(); - return 0; -} - -void CEditMenuDlg7::UpdateIcon( void ) -{ - unsigned int key=m_pOwner->m_List.GetIconKey(*m_pItem); - - if (key!=m_IconKey) - { - m_IconKey=key; - if (m_hIcon) DestroyIcon(m_hIcon); - m_hIcon=m_pOwner->m_List.LoadIcon(*m_pItem,false); - SendDlgItemMessage(IDC_ICONN,STM_SETICON,(WPARAM)m_hIcon); - } -} - -CString CEditMenuDlg7::GetComboText( WORD wNotifyCode, WORD wID ) -{ - CString text; - if (wNotifyCode==CBN_SELENDOK) - { - int idx=(int)SendDlgItemMessage(wID,CB_GETCURSEL); - text.Empty(); - if (idx>=0) - { - int len=(int)SendDlgItemMessage(wID,CB_GETLBTEXTLEN,idx); - SendDlgItemMessage(wID,CB_GETLBTEXT,idx,(LPARAM)text.GetBuffer(len+1)); - text.ReleaseBuffer(len); - } - } - else - GetDlgItemText(wID,text); - text.TrimLeft(); - text.TrimRight(); - return text; -} - -void CEditMenuDlg7::StorePlacement( void ) -{ - RECT rc; - GetStoreRect(rc); - - CRegKey regSettings; - if (regSettings.Open(HKEY_CURRENT_USER,GetSettingsRegPath())!=ERROR_SUCCESS) - regSettings.Create(HKEY_CURRENT_USER,GetSettingsRegPath()); - regSettings.SetBinaryValue(L"CEditMenuDlg7",&rc,sizeof(rc)); -} - -bool CEditMenuDlg7::Run( void ) -{ - HWND parent=GetAncestor(m_pOwner->m_hWnd,GA_ROOT); - DLGTEMPLATE *pTemplate=LoadDialogEx(IDD_CUSTOMMENU7); - Create(parent,pTemplate); - ShowWindow(SW_SHOWNORMAL); - ::EnableWindow(parent,FALSE); - MSG msg; - while (m_hWnd && GetMessage(&msg,0,0,0)) - { - if (IsDialogMessage(&msg)) continue; - TranslateMessage(&msg); - DispatchMessage(&msg); - } - return m_bResult; -} - -/////////////////////////////////////////////////////////////////////////////// - -unsigned int CCustomMenuDlg7::CItemList::GetIconKey( const MenuItem &item ) const -{ - if (!item.icon.IsEmpty()) - return CalcFNVHash(item.icon); - else if (item.stdItemIndex>=0 && item.stdItemIndex=0 && item.stdItemIndexbuf) - { - *end=0; - end--; - if (*end!=' ') - break; - } - } - - TNetworkType networkType; - MenuParseDisplayName(buf,&pidl,NULL,&networkType); - // disable for now, to match the tree item icon loading - if (pidl && GetWinVersion()>=WIN_VER_WIN8 && _wcsicmp(PathFindExtension(buf),L".lnk")==0) - { - CComPtr pItem; - if (SUCCEEDED(SHCreateItemFromIDList(pidl,IID_IShellItem,(void**)&pItem))) - { - const CItemManager::ItemInfo *pItemInfo=g_ItemManager.GetItemInfo(pItem,pidl,CItemManager::INFO_LINK|CItemManager::INFO_METRO); - if (pItemInfo) - { - bool bMetroLink; - { - CItemManager::RWLock lock(&g_ItemManager,false,CItemManager::RWLOCK_ITEMS); - bMetroLink=pItemInfo->IsMetroLink(); - } - if (bMetroLink) - { - g_ItemManager.UpdateItemInfo(pItemInfo,(bSmall?CItemManager::INFO_SMALL_ICON:CItemManager::INFO_LARGE_ICON)|CItemManager::INFO_REFRESH_NOW); - const CItemManager::IconInfo *pIconInfo=bSmall?pItemInfo->smallIcon:pItemInfo->largeIcon; - if (pIconInfo && pIconInfo->bitmap) - { - int iconSize=GetSystemMetrics(bSmall?SM_CXSMICON:SM_CXICON); - BITMAP bmpInfo; - GetObject(pIconInfo->bitmap,sizeof(bmpInfo),&bmpInfo); - - std::vector buf((iconSize+1)*iconSize,-1); - HBITMAP bmpMask=CreateBitmap(iconSize,iconSize,1,8,&buf[0]); - - HBITMAP bmpColor=pIconInfo->bitmap; - if (bmpInfo.bmWidth!=iconSize || bmpInfo.bmHeight!=iconSize) - { - HDC hSrc=CreateCompatibleDC(NULL); - HDC hDst=CreateCompatibleDC(hSrc); - - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=bi.bmiHeader.biHeight=iconSize; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - bmpColor=CreateDIBSection(hDst,&bi,DIB_RGB_COLORS,NULL,NULL,0); - - HGDIOBJ bmp01=SelectObject(hSrc,pIconInfo->bitmap); - HGDIOBJ bmp02=SelectObject(hDst,bmpColor); - StretchBlt(hDst,0,0,bi.bmiHeader.biWidth,bi.bmiHeader.biHeight,hSrc,0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,SRCCOPY); - SelectObject(hSrc,bmp01); - SelectObject(hDst,bmp02); - DeleteDC(hSrc); - DeleteDC(hDst); - } - ICONINFO info={TRUE,0,0,bmpMask,bmpColor}; - HICON hIcon=CreateIconIndirect(&info); - DeleteObject(bmpMask); - if (bmpColor!=pIconInfo->bitmap) - DeleteObject(bmpColor); - return hIcon; - } - } - } - } - } - if (networkType!=NETWORK_NONE && networkType!=NETWORK_FILE) - return ::LoadIcon(GetSystemMetrics(bSmall?SM_CXSMICON:SM_CXICON),GetDefaultNetworkIcon(networkType),m_Modules); - } - if (pidl) - return ::LoadIcon(GetSystemMetrics(bSmall?SM_CXSMICON:SM_CXICON),pidl); - } - return NULL; -} - -int CCustomMenuDlg7::CItemList::LoadIcon( const MenuItem &item ) -{ - if (item.stdItemIndex==0) - return -1; - unsigned int key=GetIconKey(item); - std::map::const_iterator it=m_IconCache.find(key); - if (it!=m_IconCache.end()) - return it->second; - - // extract icon - HICON hIcon=LoadIcon(item,true); - if (!hIcon) - { - m_IconCache[key]=0; - return 0; - } - int index=ImageList_AddIcon(m_ImageList,hIcon); - DestroyIcon(hIcon); - m_IconCache[key]=index; - return index; -} - -void CCustomMenuDlg7::CItemList::UpdateItem( int index ) -{ - const MenuItem &menuItem=m_pOwner->m_Items[index]; - const wchar_t *text=g_StdCommands7[menuItem.stdItemIndex].displayName; - if (menuItem.stdItemIndex==g_StdCommands7Count-1) - { - if (!menuItem.label.IsEmpty()) - text=menuItem.label; - else if (!menuItem.command.IsEmpty()) - text=menuItem.command; - } - ListView_SetItemText(m_hWnd,index,1,(wchar_t*)(const wchar_t*)text); - CString str; - if (menuItem.settings&StdMenuItem::MENU_ITEM_DISABLED) - str=LoadStringEx(IDS_ITEM_HIDE); - else if (g_StdCommands7[menuItem.stdItemIndex].flags&CStdCommand7::ITEM_SINGLE) - str=LoadStringEx(IDS_ITEM_SHOW2); - else if ((menuItem.settings&StdMenuItem::MENU_NOEXPAND) && !(g_StdCommands7[menuItem.stdItemIndex].flags&CStdCommand7::ITEM_FOLDER)) - str=LoadStringEx(IDS_ITEM_SHOW); - else if ((menuItem.settings&StdMenuItem::MENU_SINGLE_EXPAND) && (g_StdCommands7[menuItem.stdItemIndex].flags&CStdCommand7::ITEM_COMPUTER)) - str=LoadStringEx(IDS_ITEM_DRIVES); - else - str=LoadStringEx(IDS_ITEM_MENU); - ListView_SetItemText(m_hWnd,index,2,(wchar_t*)(const wchar_t*)str); -} - -void CCustomMenuDlg7::CItemList::SubclassWindow( HWND hWnd, CCustomMenuDlg7 *pOwner ) -{ - m_pOwner=pOwner; - CWindowImpl::SubclassWindow(hWnd); - CString str; - { - str=LoadStringEx(IDS_COLUMN_ICON); - HDC hdc=CreateCompatibleDC(NULL); - HFONT font=GetFont(); - HGDIOBJ font0=SelectObject(hdc,font); - SIZE size; - if (GetTextExtentPoint32(hdc,str,str.GetLength(),&size)) - size.cx+=20; - else - size.cx=0; - if (size.cx<50) size.cx=50; - - SelectObject(hdc,font0); - DeleteDC(hdc); - LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,size.cx,(LPWSTR)(LPCWSTR)str}; - ListView_InsertColumn(m_hWnd,0,&column); - } - { - // TODO: scale the size with DPI - str=LoadStringEx(IDS_COLUMN_COMMAND); - LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,300,(LPWSTR)(LPCWSTR)str}; - ListView_InsertColumn(m_hWnd,1,&column); - } - { - str=LoadStringEx(IDS_COLUMN_DISPLAY); - LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,200,(LPWSTR)(LPCWSTR)str}; - ListView_InsertColumn(m_hWnd,2,&column); - } - ListView_SetExtendedListViewStyle(m_hWnd,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_DOUBLEBUFFER); - int iconSize=GetSystemMetrics(SM_CXSMICON); - m_ImageList=ImageList_Create(iconSize,iconSize,ILC_COLOR32|ILC_MASK|ILC_MIRROR,1,16); - ListView_SetImageList(m_hWnd,m_ImageList,LVSIL_SMALL); - SHFILEINFO info; - if (SHGetFileInfo(L"file",FILE_ATTRIBUTE_NORMAL,&info,sizeof(info),SHGFI_USEFILEATTRIBUTES|SHGFI_ICON|SHGFI_SMALLICON)) - { - AddTrackedIcon(info.hIcon); - ImageList_AddIcon(m_ImageList,info.hIcon); - DestroyIcon(info.hIcon); - } - m_bThemed=(IsAppThemed()!=0); - if (m_bThemed) - SetWindowTheme(m_hWnd,L"Explorer",NULL); - - m_Combo.Create(WC_COMBOBOX,hWnd,NULL,NULL,WS_CHILD|CBS_DROPDOWNLIST|WS_VSCROLL); - m_Combo.SetFont(GetFont()); - RECT rc; - m_Combo.GetWindowRect(&rc); - HIMAGELIST images=ImageList_Create(2,rc.bottom-rc.top,ILC_COLOR,1,1); - ListView_SetImageList(m_hWnd,images,LVSIL_STATE); - m_Combo.DestroyWindow(); -} - -LRESULT CCustomMenuDlg7::CItemList::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - DestroyCombo(); - for (std::vector::const_iterator it=m_Modules.begin();it!=m_Modules.end();++it) - FreeLibrary(*it); - m_Modules.clear(); - m_IconCache.clear(); - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnLButtonDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - LVHITTESTINFO test={{(short)LOWORD(lParam),(short)HIWORD(lParam)}}; - int index=ListView_HitTest(m_hWnd,&test); - DestroyCombo(); - if (index>=0) - { - ListView_SetItemState(m_hWnd,index,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - SetCapture(); - m_ClickedItem=index; - return 0; - } - else - { - m_Line=m_Column=-1; - } - bHandled=FALSE; - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnLButtonDblClick( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - LVHITTESTINFO test={{(short)LOWORD(lParam),(short)HIWORD(lParam)}}; - int index=ListView_HitTest(m_hWnd,&test); - DestroyCombo(); - m_Line=m_Column=-1; - if (index>=0) - EditItem(index); - else if (test.flags&LVHT_NOWHERE) - { - RECT rc; - ListView_GetItemRect(m_hWnd,m_pOwner->m_Items.size()-1,&rc,LVIR_BOUNDS); - if (test.pt.y>rc.bottom) - InsertItem((int)m_pOwner->m_Items.size(),-1); - } - bHandled=FALSE; - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnLButtonUp( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (GetCapture()==m_hWnd) - { - if (m_bDragging) - { - LVINSERTMARK mark={sizeof(mark),0,-1}; - if (ListView_GetInsertMark(m_hWnd,&mark) && mark.iItem>=0) - { - // move m_ClickedItem to mark.iItem - int index=mark.iItem; - if (mark.dwFlags&LVIM_AFTER) - index++; - MoveItem(m_ClickedItem,index); - } - ReleaseCapture(); - } - else - { - ReleaseCapture(); - LVHITTESTINFO test={{(short)LOWORD(lParam),(short)HIWORD(lParam)}}; - int index=ListView_SubItemHitTest(m_hWnd,&test); - DestroyCombo(); - if (index>=0 && (test.iSubItem==1 || test.iSubItem==2)) - { - CreateCombo(index,test.iSubItem); - ListView_SetItemState(m_hWnd,index,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - return 0; - } - else - { - m_Line=m_Column=-1; - } - } - } - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnMouseMove( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (GetCapture()==m_hWnd) - { - LVHITTESTINFO test={{(short)LOWORD(lParam),(short)HIWORD(lParam)}}; - int index=ListView_HitTest(m_hWnd,&test); - if (index!=m_ClickedItem) - { - m_bDragging=true; - } - if (m_bDragging) - { - if (index==-1) - { - LVINSERTMARK mark={sizeof(mark),0,-1}; - ListView_SetInsertMark(m_hWnd,&mark); - } - else - { - LVINSERTMARK mark={sizeof(mark),0,index}; - RECT rc; - ListView_GetItemRect(m_hWnd,index,&rc,LVIR_BOUNDS); - if (test.pt.y>(rc.top+rc.bottom)/2) - mark.dwFlags=LVIM_AFTER; - ListView_SetInsertMark(m_hWnd,&mark); - if (mark.dwFlags==LVIM_AFTER && index<(int)m_pOwner->m_Items.size()-1) - index++; - } - RECT rc; - ::GetWindowRect(ListView_GetHeader(m_hWnd),&rc); - ::MapWindowPoints(NULL,m_hWnd,(POINT*)&rc,2); - if (test.pt.yrc.bottom) - SetTimer(TIMER_SCROLL_DOWN,100); - else - KillTimer(TIMER_SCROLL_DOWN); - } - } - } - else - bHandled=FALSE; - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnGetDlgCode( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (lParam) - { - MSG *msg=(MSG*)lParam; - if (msg->message==WM_KEYDOWN && msg->wParam==VK_ESCAPE) - { - bHandled=FALSE; - return 0; - } - } - return DLGC_WANTALLKEYS; -} - -LRESULT CCustomMenuDlg7::CItemList::OnKeyDown( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - int index=ListView_GetNextItem(m_hWnd,-1,LVNI_FOCUSED); - if (wParam==VK_DOWN && GetKeyState(VK_CONTROL)<0) - { - if (index>=0 && index0) - MoveItem(index,index-1); - } - else if (wParam==VK_RETURN) - { - if (index>=0) - EditItem(index); - } - else if (wParam==VK_DELETE) - { - if (index>=0) - DeleteItem(index); - } - else if (wParam==VK_INSERT) - { - InsertItem(index+1,-1); - } - else if (wParam==VK_TAB) - { - SendMessage(WM_HANDLE_TAB,GetKeyState(VK_SHIFT)<0); - } - else - bHandled=FALSE; - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnCaptureChanged( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - LVINSERTMARK mark={sizeof(mark),0,-1}; - ListView_SetInsertMark(m_hWnd,&mark); - KillTimer(TIMER_SCROLL_UP); - KillTimer(TIMER_SCROLL_DOWN); - m_bDragging=false; - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnScroll( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - PostMessage(WM_RESIZE_COMBO); - bHandled=FALSE; - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnTimer( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (wParam==TIMER_SCROLL_UP) - { - RECT rc; - if (ListView_GetItemRect(m_hWnd,0,&rc,LVIR_BOUNDS)) - ListView_Scroll(m_hWnd,0,rc.top-rc.bottom); - } - if (wParam==TIMER_SCROLL_DOWN) - { - RECT rc; - if (ListView_GetItemRect(m_hWnd,0,&rc,LVIR_BOUNDS)) - ListView_Scroll(m_hWnd,0,rc.bottom-rc.top); - } - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnResizeCombo( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (lParam==1) - { - SetFocus(); - DestroyCombo(); - return 0; - } - if (m_Combo.m_hWnd && m_Line>=0 && m_Column>=1) - { - RECT rc; - ListView_GetSubItemRect(m_hWnd,m_Line,m_Column,LVIR_BOUNDS,&rc); - if (m_Line>=ListView_GetTopIndex(m_hWnd)) - { - m_Combo.SetWindowPos(NULL,&rc,SWP_NOZORDER|SWP_SHOWWINDOW); - m_Combo.SetFocus(); - if (wParam) - m_Combo.SendMessage(CB_SHOWDROPDOWN,TRUE); - } - else - m_Combo.SetWindowPos(NULL,&rc,SWP_NOZORDER|SWP_HIDEWINDOW); - } - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnHandleTab( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - int line=-1, column=-1; - if (m_Combo.m_hWnd && m_Line>=0) - { - line=m_Line; - column=m_Column; - } - else - { - line=ListView_GetNextItem(m_hWnd,-1,LVNI_FOCUSED); - if (line<0) line=0; - column=0; - } - if (wParam) - { - // back - if (column>0) - column--; - else - { - line--; - column=2; - } - if (line<0) return 0; - } - else - { - // forward - if (column<2) - column++; - else - { - line++; - column=0; - } - if (line>=ListView_GetItemCount(m_hWnd)) - return 0; - } - if (m_Combo.m_hWnd) - { - SetFocus(); - DestroyCombo(); - } - ListView_EnsureVisible(m_hWnd,line,FALSE); - ListView_SetItemState(m_hWnd,line,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - if (column>0) - { - CreateCombo(line,column); - } - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnEndTrack( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - PostMessage(WM_RESIZE_COMBO); - bHandled=FALSE; - return 0; -} - -LRESULT CCustomMenuDlg7::CItemList::OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - NMLVCUSTOMDRAW *pDraw=(NMLVCUSTOMDRAW*)pnmh; - if (pDraw->nmcd.dwDrawStage==CDDS_PREPAINT) - return CDRF_NOTIFYITEMDRAW; - if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPREPAINT) - { - const CCustomMenuDlg7::MenuItem &menuItem=m_pOwner->m_Items[pDraw->nmcd.dwItemSpec]; - if (menuItem.settings&StdMenuItem::MENU_ITEM_DISABLED) - pDraw->clrText=GetSysColor(COLOR_GRAYTEXT); - if (m_pOwner->m_pSetting->IsLocked()) - pDraw->clrTextBk=GetSysColor(COLOR_BTNFACE); - return CDRF_NOTIFYPOSTPAINT; - } - if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPOSTPAINT) - { - const CCustomMenuDlg7::MenuItem &menuItem=m_pOwner->m_Items[pDraw->nmcd.dwItemSpec]; - int icon=LoadIcon(menuItem); - if (icon>=0) - { - int iconSize=GetSystemMetrics(SM_CXSMICON); - RECT rc; - ListView_GetItemRect(m_hWnd,pDraw->nmcd.dwItemSpec,&rc,LVIR_ICON); - int x=(rc.right-iconSize)/2; - int y=(rc.top+rc.bottom-iconSize)/2; - if (!m_bThemed && (ListView_GetItemState(m_hWnd,pDraw->nmcd.dwItemSpec,LVIS_SELECTED)&LVIS_SELECTED)) - ImageList_DrawEx(m_ImageList,icon,pDraw->nmcd.hdc,x,y,0,0,CLR_NONE,CLR_DEFAULT,ILD_SELECTED); - else if (menuItem.settings&StdMenuItem::MENU_ITEM_DISABLED) - ImageList_DrawEx(m_ImageList,icon,pDraw->nmcd.hdc,x,y,0,0,CLR_NONE,GetSysColor(COLOR_WINDOW),ILD_SELECTED); - else - ImageList_DrawEx(m_ImageList,icon,pDraw->nmcd.hdc,x,y,0,0,CLR_NONE,CLR_DEFAULT,ILD_NORMAL); - } - } - return CDRF_DODEFAULT; -} - -LRESULT CCustomMenuDlg7::CItemList::OnSelEndOk( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - if (m_Line<0) return 0; - CWindow combo=hWndCtl; - int sel=(int)combo.SendMessage(CB_GETCURSEL); - if (sel<0) return 0; - MenuItem &menuItem=m_pOwner->m_Items[m_Line]; - if (m_Column==1) - { - // type - const CStdCommand7 &command=g_StdCommands7[sel]; - menuItem.stdItemIndex=sel; - menuItem.command=command.command; - menuItem.link.Empty(); - menuItem.label=command.label; - menuItem.tip=command.tip; - menuItem.icon=command.icon; - menuItem.settings=command.settings|(menuItem.settings&CEditMenuDlg7::SETTINGS_MASK); - } - if (m_Column==2) - { - // state - CString str; - menuItem.settings&=~CEditMenuDlg7::SETTINGS_MASK; - if (sel==0) - menuItem.settings|=StdMenuItem::MENU_ITEM_DISABLED; - else if (sel==1 && !(g_StdCommands7[menuItem.stdItemIndex].flags&(CStdCommand7::ITEM_SINGLE|CStdCommand7::ITEM_FOLDER))) - menuItem.settings|=StdMenuItem::MENU_NOEXPAND; - else if (sel==3 && (g_StdCommands7[menuItem.stdItemIndex].flags&CStdCommand7::ITEM_COMPUTER)) - menuItem.settings|=StdMenuItem::MENU_SINGLE_EXPAND; - } - UpdateItem(m_Line); - RECT rc; - ListView_GetItemRect(m_hWnd,m_Line,&rc,LVIR_BOUNDS); - InvalidateRect(&rc); - m_pOwner->SerializeData(); - return 0; -} - -void CCustomMenuDlg7::CItemList::EditItem( int index ) -{ - if (m_pOwner->m_pSetting->IsLocked()) - return; - DestroyCombo(); - CEditMenuDlg7 dlg(m_pOwner,&m_pOwner->m_Items[index]); - if (dlg.Run()) - { - UpdateItem(index); - m_pOwner->SerializeData(); - } - else - UpdateItem(index); -} - -void CCustomMenuDlg7::CItemList::DeleteItem( int index ) -{ - if (m_pOwner->m_pSetting->IsLocked()) - return; - DestroyCombo(); - ListView_DeleteItem(m_hWnd,index); - m_pOwner->m_Items.erase(m_pOwner->m_Items.begin()+index); - m_pOwner->SerializeData(); -} - -void CCustomMenuDlg7::CItemList::InsertItem( int index, int copy ) -{ - if (m_pOwner->m_pSetting->IsLocked()) - return; - DestroyCombo(); - MenuItem menuItem; - if (copy>=0) - menuItem=m_pOwner->m_Items[copy]; - else - { - menuItem.stdItemIndex=1; - menuItem.command=g_StdCommands7[1].command; - menuItem.settings=0; - } - m_pOwner->m_Items.insert(m_pOwner->m_Items.begin()+index,menuItem); - LVITEM item={LVIF_IMAGE,index}; - item.iImage=I_IMAGENONE; - ListView_InsertItem(m_hWnd,&item); - ListView_EnsureVisible(m_hWnd,index,FALSE); - UpdateItem(index); - m_pOwner->SerializeData(); - - ListView_SetItemState(m_hWnd,index,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - m_Line=index; - if (copy<0) - { - m_Column=1; - CreateCombo(m_Line,1); - } -} - -void CCustomMenuDlg7::CItemList::MoveItem( int from, int to ) -{ - if (m_pOwner->m_pSetting->IsLocked()) - return; - DestroyCombo(); - SetRedraw(FALSE); - MenuItem menuItem=m_pOwner->m_Items[from]; - m_pOwner->m_Items.erase(m_pOwner->m_Items.begin()+from); - ListView_DeleteItem(m_hWnd,from); - if (fromm_Items.insert(m_pOwner->m_Items.begin()+to,menuItem); - - LVITEM item={LVIF_IMAGE,to}; - item.iImage=I_IMAGENONE; - ListView_InsertItem(m_hWnd,&item); - UpdateItem(to); - ListView_SetItemState(m_hWnd,to,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - ListView_EnsureVisible(m_hWnd,to,FALSE); - SetRedraw(TRUE); - Invalidate(); - m_pOwner->SerializeData(); -} - -LRESULT CALLBACK CCustomMenuDlg7::CItemList::SubclassGridCombo( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData ) -{ - if (uMsg==WM_KEYDOWN) - { - if (wParam==VK_ESCAPE || (wParam==VK_RETURN && !::SendMessage(hWnd,CB_GETDROPPEDSTATE,0,0))) - { - ::PostMessage(::GetParent(hWnd),WM_RESIZE_COMBO,0,1); - } - if (wParam==VK_TAB) - { - ::PostMessage(::GetParent(hWnd),WM_HANDLE_TAB,GetKeyState(VK_SHIFT)<0,0); - } - } - if (uMsg==WM_GETDLGCODE) - return DLGC_WANTALLKEYS; - return DefSubclassProc(hWnd,uMsg,wParam,lParam); -} - -void CCustomMenuDlg7::CItemList::CreateCombo( int line, int column ) -{ - if (m_pOwner->m_pSetting->IsLocked()) - return; - m_Combo.Create(WC_COMBOBOX,m_hWnd,NULL,NULL,WS_CHILD|CBS_DROPDOWNLIST|WS_VSCROLL); - m_Combo.SetFont(GetFont()); - m_Combo.SendMessage(CB_SETEXTENDEDUI,TRUE); - SetWindowSubclass(m_Combo,SubclassGridCombo,'CLSH',0); - - m_Line=line; - m_Column=column; - const CCustomMenuDlg7::MenuItem &menuItem=m_pOwner->m_Items[line]; - if (column==1) - { - for (int i=0;iIsLocked()); - const wchar_t *pText=L""; - if (m_pSetting->value.vt==VT_BSTR) - pText=m_pSetting->value.bstrVal; - - CSettingsParser parser; - parser.LoadText(pText,Strlen(pText)); - parser.ParseText(); - - m_Items.clear(); - for (int i=1;;i++) - { - wchar_t item[100]; - 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 && !link) - break; - - MenuItem menuItem; - menuItem.stdItemIndex=g_StdCommands7Count-1; - menuItem.settings=0; - if (command) - { - menuItem.command=command; - for (int i=0;i::const_iterator it=m_Items.begin();it!=m_Items.end();++it,idx++) - { - LVITEM item={LVIF_IMAGE,idx}; - item.iImage=I_IMAGENONE; - ListView_InsertItem(m_List,&item); - m_List.UpdateItem(idx); - } - - TOOLINFO tool={sizeof(tool),0,m_hWnd,'CLSH'}; - tool.uId=(UINT_PTR)m_List.m_hWnd; - CString str; - if (m_pSetting->IsLocked()) - str=LoadStringEx(IDS_MENU_LOCKED); - tool.lpszText=(LPWSTR)(LPCWSTR)str; - ::SendMessage(ListView_GetToolTips(m_List),TTM_UPDATETIPTEXT,0,(LPARAM)&tool); - - ListView_SetBkColor(m_List,GetSysColor(m_pSetting->IsLocked()?COLOR_BTNFACE:COLOR_WINDOW)); -} - -LRESULT CCustomMenuDlg7::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CResizeableDlg::OnSize(); - return 0; -} - -LRESULT CCustomMenuDlg7::OnContextMenu( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CWindow list=(HWND)wParam; - if (list.m_hWnd!=m_List.m_hWnd) - return 0; - if (m_pSetting->IsLocked()) - return 0; - if (GetCapture()==list) - { - ReleaseCapture(); - return 0; - } - POINT pt; - int index; - if ((DWORD)lParam==0xFFFFFFFF) - { - // keyboard - index=ListView_GetNextItem(list,-1,LVNI_FOCUSED); - if (index>=0) - { - RECT rc; - ListView_GetItemRect(list,m_List.m_Line,&rc,LVIR_BOUNDS); - pt.x=(rc.left+rc.right)/2; - pt.y=(rc.top+rc.bottom)/2; - } - else - pt.x=pt.y=0; - m_List.ClientToScreen(&pt); - } - else - { - DWORD pos=GetMessagePos(); - pt.x=(short)LOWORD(pos); - pt.y=(short)HIWORD(pos); - LVHITTESTINFO test={pt}; - m_List.ScreenToClient(&test.pt); - index=ListView_HitTest(list,&test); - } - - enum { - CMD_EDIT=1, - CMD_DELETE, - CMD_DUPLICATE, - CMD_INSERT, - CMD_RESETALL, - CMD_MOVE_UP, - CMD_MOVE_DOWN, - }; - - m_List.DestroyCombo(); - - HMENU menu=CreatePopupMenu(); - wchar_t text[256]; - if (index>=0) - { - ListView_SetItemState(list,index,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); - Sprintf(text,_countof(text),L"%s\tEnter",LoadStringEx(IDS_MENU_EDIT)); - AppendMenu(menu,MF_STRING,CMD_EDIT,text); - SetMenuDefaultItem(menu,CMD_EDIT,FALSE); - Sprintf(text,_countof(text),L"%s\tDel",LoadStringEx(IDS_MENU_DELETE)); - AppendMenu(menu,MF_STRING,CMD_DELETE,text); - AppendMenu(menu,MF_STRING,CMD_DUPLICATE,LoadStringEx(IDS_MENU_DUPLICATE)); - Sprintf(text,_countof(text),L"%s\tCtrl+Up",LoadStringEx(IDS_MENU_MOVE_UP)); - AppendMenu(menu,MF_STRING,CMD_MOVE_UP,text); - Sprintf(text,_countof(text),L"%s\tCtrl+Down",LoadStringEx(IDS_MENU_MOVE_DOWN)); - AppendMenu(menu,MF_STRING,CMD_MOVE_DOWN,text); - if (index==0) - EnableMenuItem(menu,CMD_MOVE_UP,MF_BYCOMMAND|MF_GRAYED); - if (index==(int)m_Items.size()-1) - EnableMenuItem(menu,CMD_MOVE_DOWN,MF_BYCOMMAND|MF_GRAYED); - AppendMenu(menu,MF_SEPARATOR,0,0); - } - Sprintf(text,_countof(text),L"%s\tInsert",LoadStringEx(IDS_MENU_INSERT)); - AppendMenu(menu,MF_STRING,CMD_INSERT,text); - if (index<0) - SetMenuDefaultItem(menu,CMD_INSERT,FALSE); - AppendMenu(menu,MF_STRING,CMD_RESETALL,LoadStringEx(IDS_RESET_MENU)); - - int res=TrackPopupMenu(menu,TPM_RIGHTBUTTON|TPM_RETURNCMD,pt.x,pt.y,0,m_hWnd,NULL); - DestroyMenu(menu); - if (res==CMD_EDIT) - m_List.EditItem(index); - if (res==CMD_DELETE) - m_List.DeleteItem(index); - if (res==CMD_INSERT) - m_List.InsertItem(index<0?(int)m_Items.size():(index+1),-1); - if (res==CMD_DUPLICATE) - m_List.InsertItem(index<0?(int)m_Items.size():(index+1),index); - if (res==CMD_MOVE_UP) - m_List.MoveItem(index,index-1); - if (res==CMD_MOVE_DOWN) - m_List.MoveItem(index,index+2); - if (res==CMD_RESETALL) - { - if (::MessageBox(m_hWnd,LoadStringEx(IDS_RESET_MENU_WARN),LoadStringEx(IDS_RESET_MENU),MB_YESNO|MB_ICONWARNING)==IDYES) - { - { - CSettingsLockWrite lock; - m_pSetting->value=m_pSetting->defValue; - m_pSetting->flags|=CSetting::FLAG_DEFAULT; - SetSettingsDirty(); - } - SetGroup(m_pSetting-1,true); - } - } - return 0; -} - -static void AppendString( std::vector &stringBuilder, const wchar_t *format, ... ) -{ - va_list args; - va_start(args,format); - wchar_t buf[1024]; - int len=Vsprintf(buf,_countof(buf),format,args); - va_end(args); - int pos=(int)stringBuilder.size(); - stringBuilder.resize(pos+len); - memcpy(&stringBuilder[pos],buf,len*2); -} - -void CCustomMenuDlg7::SerializeData( void ) -{ - std::vector stringBuilder; - for (int i=0;i<(int)m_Items.size();i++) - { - const MenuItem &menuItem=m_Items[i]; - const CStdCommand7 &command=g_StdCommands7[menuItem.stdItemIndex]; - if (menuItem.stdItemIndex\n",i+1,menuItem.command); - } - if (!menuItem.label.IsEmpty()) - AppendString(stringBuilder,L"Item%d.Label=%s\n",i+1,menuItem.label); - if (!menuItem.tip.IsEmpty()) - AppendString(stringBuilder,L"Item%d.Tip=%s\n",i+1,menuItem.tip); - if (!menuItem.icon.IsEmpty()) - AppendString(stringBuilder,L"Item%d.Icon=%s\n",i+1,menuItem.icon); - if (menuItem.settings) - { - AppendString(stringBuilder,L"Item%d.Settings=",i+1); - if (menuItem.settings&StdMenuItem::MENU_OPENUP) AppendString(stringBuilder,L"OPEN_UP|"); - if (menuItem.settings&StdMenuItem::MENU_OPENUP_REC) AppendString(stringBuilder,L"OPEN_UP_CHILDREN|"); - if (menuItem.settings&StdMenuItem::MENU_SORTZA) AppendString(stringBuilder,L"SORT_ZA|"); - if (menuItem.settings&StdMenuItem::MENU_SORTZA_REC) AppendString(stringBuilder,L"SORT_ZA_CHILDREN|"); - if (menuItem.settings&StdMenuItem::MENU_SORTONCE) AppendString(stringBuilder,L"SORT_ONCE|"); - if (menuItem.settings&StdMenuItem::MENU_TRACK) AppendString(stringBuilder,L"TRACK_RECENT|"); - if (menuItem.settings&StdMenuItem::MENU_NOEXPAND) AppendString(stringBuilder,L"NOEXPAND|"); - else if (menuItem.settings&StdMenuItem::MENU_SINGLE_EXPAND) AppendString(stringBuilder,L"SINGLE_EXPAND|"); - if (menuItem.settings&StdMenuItem::MENU_MULTICOLUMN) AppendString(stringBuilder,L"MULTICOLUMN|"); - if (menuItem.settings&StdMenuItem::MENU_NOEXTENSIONS) AppendString(stringBuilder,L"NOEXTENSIONS|"); - if (menuItem.settings&StdMenuItem::MENU_ITEM_DISABLED) AppendString(stringBuilder,L"ITEM_DISABLED|"); - stringBuilder[stringBuilder.size()-1]='\n'; - } - } - stringBuilder.push_back(0); - CSettingsLockWrite lock; - m_pSetting->value=CComVariant(&stringBuilder[0]); - m_pSetting->flags&=~CSetting::FLAG_DEFAULT; - SetSettingsDirty(); -} - -class CCustomMenuPanel7: public ISettingsPanel -{ -public: - virtual HWND Create( HWND parent ); - virtual HWND Activate( CSetting *pGroup, const RECT &rect, bool bReset ); - virtual bool Validate( HWND parent ) { return true; } - -private: - static CCustomMenuDlg7 s_Dialog; -}; - -CCustomMenuDlg7 CCustomMenuPanel7::s_Dialog; - -HWND CCustomMenuPanel7::Create( HWND parent ) -{ - if (!s_Dialog.m_hWnd) - s_Dialog.Create(parent,LoadDialogEx(IDD_CUSTOMLIST)); - return s_Dialog.m_hWnd; -} - -HWND CCustomMenuPanel7::Activate( CSetting *pGroup, const RECT &rect, bool bReset ) -{ - s_Dialog.SetGroup(pGroup,bReset); - s_Dialog.SetWindowPos(HWND_TOP,&rect,SWP_SHOWWINDOW); - return s_Dialog.m_hWnd; -} - -static CCustomMenuPanel7 g_CustomMenuPanel7; - -/////////////////////////////////////////////////////////////////////////////// - -class CMenuStyleDlg: public CResizeableDlg -{ -public: - BEGIN_MSG_MAP( CMenuStyleDlg ) - MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog ) - MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) - MESSAGE_HANDLER( WM_SIZE, OnSize ) - - // menu style - MESSAGE_HANDLER( WM_SETCURSOR, OnSetCursor ) - COMMAND_HANDLER( IDC_STATIC_CLASSIC, STN_CLICKED, OnClick ) - COMMAND_HANDLER( IDC_STATIC_TWO_COLUMNS, STN_CLICKED, OnClick ) - COMMAND_HANDLER( IDC_STATIC_WIN7, STN_CLICKED, OnClick ) - COMMAND_HANDLER( IDC_RADIO_CLASSIC, BN_CLICKED, OnClick ) - COMMAND_HANDLER( IDC_RADIO_TWO_COLUMNS, BN_CLICKED, OnClick ) - COMMAND_HANDLER( IDC_RADIO_WIN7, BN_CLICKED, OnClick ) - - // button style - COMMAND_HANDLER( IDC_CHECKENABLED, BN_CLICKED, OnEnabled ) - COMMAND_HANDLER( IDC_STATICAERO, STN_CLICKED, OnButtonStyle ) - COMMAND_HANDLER( IDC_STATICCLASSIC, STN_CLICKED, OnButtonStyle ) - COMMAND_HANDLER( IDC_STATICCUSTOM, STN_CLICKED, OnButtonStyle ) - COMMAND_HANDLER( IDC_RADIOAERO, BN_CLICKED, OnButtonStyle ) - COMMAND_HANDLER( IDC_RADIOCLASSIC, BN_CLICKED, OnButtonStyle ) - COMMAND_HANDLER( IDC_RADIOCUSTOM, BN_CLICKED, OnButtonStyle ) - COMMAND_HANDLER( IDC_BUTTONPICK, BN_CLICKED, OnPick ) - NOTIFY_HANDLER( IDC_LINKADVANCED, NM_CLICK, OnAdvanced ) - NOTIFY_HANDLER( IDC_LINKADVANCED, NM_RETURN, OnAdvanced ) - - NOTIFY_HANDLER( IDC_SKIN_CLASSIC, NM_CLICK, OnSkin ) - NOTIFY_HANDLER( IDC_SKIN_CLASSIC, NM_RETURN, OnSkin ) - NOTIFY_HANDLER( IDC_SKIN_CLASSIC2, NM_CLICK, OnSkin ) - NOTIFY_HANDLER( IDC_SKIN_CLASSIC2, NM_RETURN, OnSkin ) - NOTIFY_HANDLER( IDC_SKIN_WIN7, NM_CLICK, OnSkin ) - NOTIFY_HANDLER( IDC_SKIN_WIN7, NM_RETURN, OnSkin ) - END_MSG_MAP() - - BEGIN_RESIZE_MAP - RESIZE_CONTROL(IDC_STATICTITLE,MOVE_SIZE_X) - RESIZE_CONTROL(IDC_STATICEDGE,MOVE_SIZE_X) - END_RESIZE_MAP - - static void UpdateDefaults( void ); - - void Update( bool bForce ); - -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 OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnSetCursor( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); - LRESULT OnClick( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnEnabled( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnButtonStyle( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnPick( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); - LRESULT OnAdvanced( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - LRESULT OnSkin( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); - -protected: - CWindow m_ImageClassic1, m_ImageClassic2, m_ImageWin7; - CWindow m_Tooltip; - CWindow m_ButtonAero, m_ButtonClassic, m_ButtonCustom; - bool m_bLargeBitmaps; - HICON m_hIcon; - CString m_IconPath; - - void UpdateIcon( bool bForce ); -}; - -static void UpdateButtons( bool bForce ); - -LRESULT CMenuStyleDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - InitResize(); - EnableThemeDialogTexture(m_hWnd,ETDT_ENABLETAB); - m_ImageClassic1=GetDlgItem(IDC_STATIC_CLASSIC); - m_ImageClassic2=GetDlgItem(IDC_STATIC_TWO_COLUMNS); - m_ImageWin7=GetDlgItem(IDC_STATIC_WIN7); - HDC hdc=::GetDC(NULL); - int dpi=GetDeviceCaps(hdc,LOGPIXELSY); - ::ReleaseDC(NULL,hdc); - m_bLargeBitmaps=dpi>=144; - if (m_bLargeBitmaps) - { - HBITMAP bmp=(HBITMAP)LoadImage(g_Instance,MAKEINTRESOURCE(IDB_STYLE_CLASSIC1150),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - m_ImageClassic1.SendMessage(STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)bmp); - bmp=(HBITMAP)LoadImage(g_Instance,MAKEINTRESOURCE(IDB_STYLE_CLASSIC2150),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - m_ImageClassic2.SendMessage(STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)bmp); - bmp=(HBITMAP)LoadImage(g_Instance,MAKEINTRESOURCE(IDB_STYLE_WIN7150),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - m_ImageWin7.SendMessage(STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)bmp); - } - - bool bLocked=IsSettingLocked(L"MenuStyle"); - CString tip1=LoadStringEx(bLocked?IDS_SETTING_LOCKED:IDS_CLASSIC_STYLE_TIP); - CString tip2=LoadStringEx(bLocked?IDS_SETTING_LOCKED:IDS_TWO_COLUMN_STYLE_TIP); - CString tip3=LoadStringEx(bLocked?IDS_SETTING_LOCKED:IDS_WIN7_STYLE_TIP); - bool bRTL=IsLanguageRTL(); - m_Tooltip=CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|WS_EX_TRANSPARENT|(bRTL?WS_EX_LAYOUTRTL:0),TOOLTIPS_CLASS,NULL,WS_POPUP|TTS_NOPREFIX,0,0,0,0,m_hWnd,NULL,g_Instance,NULL); - m_Tooltip.SendMessage(TTM_SETMAXTIPWIDTH,0,500); - TOOLINFO tool={sizeof(tool),TTF_IDISHWND|TTF_SUBCLASS|(bRTL?TTF_RTLREADING:0U)}; - tool.uId=(UINT_PTR)m_ImageClassic1.m_hWnd; - tool.lpszText=(wchar_t*)(const wchar_t*)tip1; - m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - tool.uId=(UINT_PTR)m_ImageClassic2.m_hWnd; - tool.lpszText=(wchar_t*)(const wchar_t*)tip2; - m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - tool.uId=(UINT_PTR)m_ImageWin7.m_hWnd; - tool.lpszText=(wchar_t*)(const wchar_t*)tip3; - m_Tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool); - - m_hIcon=NULL; - m_IconPath="?"; - SetDlgItemText(IDC_CHECKENABLED,LoadStringEx(GetWinVersion()==WIN_VER_WIN8?IDS_ENABLE_BUTTON:IDS_ENABLE_BUTTON2)); - m_ButtonAero=GetDlgItem(IDC_STATICAERO); - m_ButtonClassic=GetDlgItem(IDC_STATICCLASSIC); - m_ButtonCustom=GetDlgItem(IDC_STATICCUSTOM); - return TRUE; -} - -LRESULT CMenuStyleDlg::OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if (m_hIcon) DestroyIcon(m_hIcon); - m_hIcon=NULL; - if (m_bLargeBitmaps) - { - HBITMAP bmp=(HBITMAP)m_ImageClassic1.SendMessage(STM_GETIMAGE,IMAGE_BITMAP); - if (bmp) DeleteObject(bmp); - bmp=(HBITMAP)m_ImageClassic2.SendMessage(STM_GETIMAGE,IMAGE_BITMAP); - if (bmp) DeleteObject(bmp); - bmp=(HBITMAP)m_ImageWin7.SendMessage(STM_GETIMAGE,IMAGE_BITMAP); - if (bmp) DeleteObject(bmp); - } - UpdateButtons(false); - bHandled=FALSE; - return 0; -} - -LRESULT CMenuStyleDlg::OnSize( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - CResizeableDlg::OnSize(); - return 0; -} - -LRESULT CMenuStyleDlg::OnSetCursor( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ) -{ - if ((HWND)wParam==m_ImageClassic1.m_hWnd || (HWND)wParam==m_ImageClassic2.m_hWnd || (HWND)wParam==m_ImageWin7.m_hWnd || (HWND)wParam==m_ButtonAero.m_hWnd || (HWND)wParam==m_ButtonClassic.m_hWnd || (HWND)wParam==m_ButtonCustom.m_hWnd) - { - SetCursor(LoadCursor(NULL,IDC_HAND)); - return TRUE; - } - bHandled=FALSE; - return 0; -} - -LRESULT CMenuStyleDlg::OnClick( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - static bool bProcessing; - if (bProcessing) return 0; - - if (IsSettingLocked(L"MenuStyle")) - return 0; - bProcessing=true; - bool bReset=false; - { - TMenuStyle style, style0=(TMenuStyle)GetSettingInt(L"MenuStyle"); - int styleFlag; - CSettingsLockWrite lock; - - CSetting *pSetting=FindSetting(L"MenuStyle"); - if (wID==IDC_STATIC_WIN7 || wID==IDC_RADIO_WIN7) - { - style=MENU_WIN7; - styleFlag=CSetting::FLAG_MENU_WIN7; - SendMessage(WM_NEXTDLGCTL,(LPARAM)GetDlgItem(IDC_RADIO_WIN7).m_hWnd,TRUE); - } - else if (wID==IDC_STATIC_TWO_COLUMNS || wID==IDC_RADIO_TWO_COLUMNS) - { - style=MENU_CLASSIC2; - styleFlag=CSetting::FLAG_MENU_CLASSIC2; - SendMessage(WM_NEXTDLGCTL,(LPARAM)GetDlgItem(IDC_RADIO_TWO_COLUMNS).m_hWnd,TRUE); - } - else - { - style=MENU_CLASSIC1; - styleFlag=CSetting::FLAG_MENU_CLASSIC1; - SendMessage(WM_NEXTDLGCTL,(LPARAM)GetDlgItem(IDC_RADIO_CLASSIC).m_hWnd,TRUE); - } - pSetting->value=CComVariant(style); - CheckDlgButton(IDC_RADIO_CLASSIC,pSetting->value.intVal==MENU_CLASSIC1?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_RADIO_TWO_COLUMNS,pSetting->value.intVal==MENU_CLASSIC2?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_RADIO_WIN7,pSetting->value.intVal==MENU_WIN7?BST_CHECKED:BST_UNCHECKED); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - SetSettingsDirty(); - - SetSettingsStyle(styleFlag,CSetting::FLAG_MENU_MASK); - UpdateDefaults(); - CCustomMenuDlg::UpdateWarnings(style); - } - bProcessing=false; - return 0; -} - -LRESULT CMenuStyleDlg::OnEnabled( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - BOOL bEnabled=(IsDlgButtonChecked(IDC_CHECKENABLED)==BST_CHECKED); - { - CSettingsLockWrite lock; - CSetting *pSetting=FindSetting(L"EnableStartButton"); - pSetting->value=CComVariant(bEnabled); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - SetSettingsDirty(); - } - Update(false); - return 0; -} - -LRESULT CMenuStyleDlg::OnButtonStyle( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - int style=START_BUTTON_AERO; - if (IsDlgButtonChecked(IDC_RADIOCLASSIC)==BST_CHECKED) - style=START_BUTTON_CLASSIC; - else if (IsDlgButtonChecked(IDC_RADIOCUSTOM)==BST_CHECKED) - style=START_BUTTON_CUSTOM; - - if (wID==IDC_STATICAERO || wID==IDC_RADIOAERO) - { - style=START_BUTTON_AERO; - SendMessage(WM_NEXTDLGCTL,(LPARAM)GetDlgItem(IDC_RADIOAERO).m_hWnd,TRUE); - } - else if (wID==IDC_STATICCLASSIC || wID==IDC_RADIOCLASSIC) - { - style=START_BUTTON_CLASSIC; - SendMessage(WM_NEXTDLGCTL,(LPARAM)GetDlgItem(IDC_RADIOCLASSIC).m_hWnd,TRUE); - } - else - { - style=START_BUTTON_CUSTOM; - SendMessage(WM_NEXTDLGCTL,(LPARAM)GetDlgItem(IDC_RADIOCUSTOM).m_hWnd,TRUE); - } - - CheckDlgButton(IDC_RADIOAERO,style==START_BUTTON_AERO?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_RADIOCLASSIC,style==START_BUTTON_CLASSIC?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_RADIOCUSTOM,style==START_BUTTON_CUSTOM?BST_CHECKED:BST_UNCHECKED); - - { - CSettingsLockWrite lock; - CSetting *pSetting=FindSetting(L"StartButtonType"); - pSetting->value=CComVariant(style); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - SetSettingsDirty(); - } - Update(false); - return 0; -} - -LRESULT CMenuStyleDlg::OnPick( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ) -{ - CString str=GetSettingString(L"StartButtonPath"); - wchar_t path[_MAX_PATH]; - if (_wcsicmp(PathFindExtension(str),L".bmp")==0 || _wcsicmp(PathFindExtension(str),L".png")==0) - { - Strcpy(path,_countof(path),str); - DoEnvironmentSubst(path,_countof(path)); - } - else - path[0]=0; - if (BrowseForBitmap(m_hWnd,path,false)) - { - { - CSettingsLockWrite lock; - CSetting *pSetting=FindSetting(L"StartButtonPath"); - pSetting->value=CComVariant(path); - pSetting->flags&=~CSetting::FLAG_DEFAULT; - SetSettingsDirty(); - } - Update(true); - } - return 0; -} - -LRESULT CMenuStyleDlg::OnAdvanced( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - SelectSettingsTab(IDS_START_BUTTON,true,NULL); - return 0; -} - -LRESULT CMenuStyleDlg::OnSkin( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ) -{ - SelectSettingsTab(IDS_SKIN_SETTINGS,false,NULL); - return 0; -} - -static HICON CreateIconFromButton( HBITMAP bitmap, int frames ) -{ - BITMAP bmpInfo; - GetObject(bitmap,sizeof(bmpInfo),&bmpInfo); - int width=bmpInfo.bmWidth; - int height=bmpInfo.bmHeight/frames; - if (height<1) height=1; - std::vector buf((width+1)*height,-1); - HBITMAP bmpMask=CreateBitmap(width,height,1,8,&buf[0]); - - HDC hSrc=CreateCompatibleDC(NULL); - HDC hDst=CreateCompatibleDC(hSrc); - - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=width; - bi.bmiHeader.biHeight=height; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - HBITMAP bmpColor=CreateDIBSection(hDst,&bi,DIB_RGB_COLORS,NULL,NULL,0); - - HGDIOBJ bmp01=SelectObject(hSrc,bitmap); - HGDIOBJ bmp02=SelectObject(hDst,bmpColor); - BitBlt(hDst,0,0,width,height,hSrc,0,0,SRCCOPY); - SelectObject(hSrc,bmp01); - SelectObject(hDst,bmp02); - DeleteDC(hSrc); - DeleteDC(hDst); - - ICONINFO info={TRUE,0,0,bmpMask,bmpColor}; - HICON hIcon=CreateIconIndirect(&info); - DeleteObject(bmpMask); - DeleteObject(bmpColor); - return hIcon; -} - -void CMenuStyleDlg::UpdateIcon( bool bForce ) -{ - wchar_t path[_MAX_PATH]; - Strcpy(path,_countof(path),GetSettingString(L"StartButtonPath")); - DoEnvironmentSubst(path,_countof(path)); - if (m_IconPath==path && !bForce) - return; - m_IconPath=path; - const int MAX_ICON_SIZE=40; - SIZE size={-MAX_ICON_SIZE,0}; - std::vector buttonAnim; - int frames=3; - HBITMAP bitmap=LoadImageFile(path,&size,true,false,&buttonAnim); - if (bitmap) - { - if (!buttonAnim.empty()) - { - frames=buttonAnim[2]&255; - if (frames<1) frames=1; - } - } - else - { - frames=1; - HDC hdc=CreateCompatibleDC(NULL); - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=MAX_ICON_SIZE; - bi.bmiHeader.biHeight=MAX_ICON_SIZE; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - bitmap=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,NULL,NULL,0); - SelectObject(hdc,GetStockObject(BLACK_PEN)); - SelectObject(hdc,GetStockObject(WHITE_BRUSH)); - HGDIOBJ bmp02=SelectObject(hdc,bitmap); - Rectangle(hdc,0,0,MAX_ICON_SIZE,MAX_ICON_SIZE); - SelectObject(hdc,bmp02); - DeleteDC(hdc); - } - HICON hIcon=CreateIconFromButton(bitmap,frames); - DeleteObject(bitmap); - SendDlgItemMessage(IDC_STATICCUSTOM,STM_SETICON,(WPARAM)hIcon,0); - if (m_hIcon) DestroyIcon(m_hIcon); - m_hIcon=hIcon; -} - -void CMenuStyleDlg::Update( bool bForce ) -{ - int type=GetSettingInt(L"MenuStyle"); - CheckDlgButton(IDC_RADIO_CLASSIC,type==MENU_CLASSIC1?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_RADIO_TWO_COLUMNS,type==MENU_CLASSIC2?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_RADIO_WIN7,type==MENU_WIN7?BST_CHECKED:BST_UNCHECKED); - GetDlgItem(IDC_SKIN_CLASSIC).ShowWindow(type==MENU_CLASSIC1?SW_SHOW:SW_HIDE); - GetDlgItem(IDC_SKIN_CLASSIC2).ShowWindow(type==MENU_CLASSIC2?SW_SHOW:SW_HIDE); - GetDlgItem(IDC_SKIN_WIN7).ShowWindow(type==MENU_WIN7?SW_SHOW:SW_HIDE); - - BOOL bEnabled=!IsSettingLocked(L"MenuStyle"); - GetDlgItem(IDC_RADIO_CLASSIC).EnableWindow(bEnabled); - GetDlgItem(IDC_RADIO_TWO_COLUMNS).EnableWindow(bEnabled); - GetDlgItem(IDC_RADIO_WIN7).EnableWindow(bEnabled); - - bEnabled=GetSettingBool(L"EnableStartButton"); - TStartButtonType buttonType=GetStartButtonType(); - CheckDlgButton(IDC_CHECKENABLED,bEnabled?BST_CHECKED:BST_UNCHECKED); - GetDlgItem(IDC_CHECKENABLED).EnableWindow(!IsSettingLocked(L"EnableStartButton")); - - CheckDlgButton(IDC_RADIOAERO,buttonType==START_BUTTON_AERO?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_RADIOCLASSIC,buttonType==START_BUTTON_CLASSIC?BST_CHECKED:BST_UNCHECKED); - CheckDlgButton(IDC_RADIOCUSTOM,buttonType==START_BUTTON_CUSTOM?BST_CHECKED:BST_UNCHECKED); - BOOL bEnabled2=bEnabled && !IsSettingLocked(L"StartButtonType"); - GetDlgItem(IDC_RADIOAERO).EnableWindow(bEnabled2); - GetDlgItem(IDC_RADIOCLASSIC).EnableWindow(bEnabled2); - GetDlgItem(IDC_RADIOCUSTOM).EnableWindow(bEnabled2); - m_ButtonAero.EnableWindow(bEnabled2); - m_ButtonClassic.EnableWindow(bEnabled2); - m_ButtonCustom.EnableWindow(bEnabled2); - - bEnabled2=bEnabled && buttonType==START_BUTTON_CUSTOM && !IsSettingLocked(L"StartButtonPath"); - GetDlgItem(IDC_BUTTONPICK).EnableWindow(bEnabled2); - UpdateIcon(bForce); - UpdateButtons(bForce); -} - -void CMenuStyleDlg::UpdateDefaults( void ) -{ - const CSetting *pSetting=FindSetting(L"MenuStyle"); - Assert(pSetting->value.vt==VT_I4); - TMenuStyle menuStyle=(TMenuStyle)pSetting->value.intVal; - UpdateSetting(L"SearchBox",CComVariant(menuStyle!=MENU_CLASSIC1?SEARCHBOX_NORMAL:SEARCHBOX_TAB),false); - UpdateSetting(L"RecentPrograms",CComVariant(menuStyle!=MENU_CLASSIC1?RECENT_PROGRAMS_FREQUENT:RECENT_PROGRAMS_RECENT),false); - UpdateSetting(L"MaxRecentPrograms",CComVariant(menuStyle!=MENU_CLASSIC1?10:5),false); - UpdateSetting(L"RecentProgsTop",CComVariant(menuStyle!=MENU_CLASSIC1?0:1),false); - UpdateSetting(L"RecentProgKeys",CComVariant(menuStyle!=MENU_CLASSIC1?RECENT_KEYS_HIDDEN_DIGITS:RECENT_KEYS_DIGITS),false); - UpdateSetting(L"PinnedPrograms",CComVariant(menuStyle!=MENU_WIN7?PINNED_PROGRAMS_FAST:PINNED_PROGRAMS_PINNED),false); -} - -class CStyleSettingsPanel: public ISettingsPanel -{ -public: - virtual HWND Create( HWND parent ); - virtual HWND Activate( CSetting *pGroup, const RECT &rect, bool bReset ); - virtual bool Validate( HWND parent ) { return true; } - -private: - static CMenuStyleDlg s_Dialog; -}; - -CMenuStyleDlg CStyleSettingsPanel::s_Dialog; - -HWND CStyleSettingsPanel::Create( HWND parent ) -{ - if (!s_Dialog.m_hWnd) - s_Dialog.Create(parent,LoadDialogEx(IDD_STYLESETTINGS)); - return s_Dialog.m_hWnd; -} - -HWND CStyleSettingsPanel::Activate( CSetting *pGroup, const RECT &rect, bool bReset ) -{ - s_Dialog.SetWindowPos(HWND_TOP,&rect,SWP_SHOWWINDOW); - s_Dialog.Update(false); - return s_Dialog.m_hWnd; -} - -static CStyleSettingsPanel g_StyleSettingsPanel; - -/////////////////////////////////////////////////////////////////////////////// - -CSetting g_Settings[]={ -{L"MenuStyleGroup",CSetting::TYPE_GROUP,IDS_STYLE_SETTINGS,0,0,CSetting::FLAG_BASIC,NULL,NULL,&g_StyleSettingsPanel}, - {L"MenuStyle",CSetting::TYPE_INT,0,0,2,CSetting::FLAG_NORESET}, - {L"Classic1",CSetting::TYPE_RADIO}, - {L"Classic2",CSetting::TYPE_RADIO}, - {L"Win7",CSetting::TYPE_RADIO}, - -{L"Basic",CSetting::TYPE_GROUP,IDS_BASIC_SETTINGS}, - {L"EnableSettings",CSetting::TYPE_BOOL,0,0,1,CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"CrashDump",CSetting::TYPE_INT,0,0,0,CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"OldProgramsAge",CSetting::TYPE_INT,0,0,48,CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"FolderStartMenu",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"FolderCommonStartMenu",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"FolderPrograms",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"FolderCommonPrograms",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"CompatibilityFixes",CSetting::TYPE_INT,0,0,0,CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"AutoStartDelay",CSetting::TYPE_INT,0,0,0,CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - // needed for backwards compatibility - {L"DefaultMenuStyle",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"MenuItems",CSetting::TYPE_MULTISTRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"Skin1",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"SkinOptions1",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"SkinVariation1",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"Skin2",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"SkinOptions2",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"SkinVariation2",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - -{L"Controls",CSetting::TYPE_GROUP,IDS_CONTROLS_SETTINGS}, - {L"MouseClick",CSetting::TYPE_INT,IDS_LCLICK,IDS_LCLICK_TIP,1,CSetting::FLAG_BASIC}, - {L"Nothing",CSetting::TYPE_RADIO,IDS_OPEN_NOTHING,IDS_OPEN_NOTHING_TIP}, - {L"ClassicMenu",CSetting::TYPE_RADIO,IDS_OPEN_CSM,IDS_OPEN_CSM_TIP}, - {L"WindowsMenu",CSetting::TYPE_RADIO,IDS_OPEN_WSM,IDS_OPEN_WSM_TIP}, - {L"Both",CSetting::TYPE_RADIO,IDS_OPEN_BOTH,IDS_OPEN_BOTH_TIP,0,CSetting::FLAG_HIDDEN}, - {L"ShiftClick",CSetting::TYPE_INT,IDS_SHIFT_LCLICK,IDS_SHIFT_LCLICK_TIP,2,CSetting::FLAG_BASIC}, - {L"Nothing",CSetting::TYPE_RADIO,IDS_OPEN_NOTHING,IDS_OPEN_NOTHING_TIP}, - {L"ClassicMenu",CSetting::TYPE_RADIO,IDS_OPEN_CSM,IDS_OPEN_CSM_TIP}, - {L"WindowsMenu",CSetting::TYPE_RADIO,IDS_OPEN_WSM,IDS_OPEN_WSM_TIP}, - {L"Both",CSetting::TYPE_RADIO,IDS_OPEN_BOTH,IDS_OPEN_BOTH_TIP,0,CSetting::FLAG_HIDDEN}, -/* {L"Desktop",CSetting::TYPE_RADIO,IDS_OPEN_DESKTOP,IDS_OPEN_DESKTOP_TIP,0,CSetting::FLAG_HIDDEN}, - {L"Cortana",CSetting::TYPE_RADIO,IDS_OPEN_CORTANA,IDS_OPEN_CORTANA_TIP},*/ - {L"WinKey",CSetting::TYPE_INT,IDS_WIN_KEY,IDS_WIN_KEY_TIP,1,CSetting::FLAG_BASIC}, - {L"Nothing",CSetting::TYPE_RADIO,IDS_OPEN_NOTHING,IDS_OPEN_NOTHING_TIP}, - {L"ClassicMenu",CSetting::TYPE_RADIO,IDS_OPEN_CSM,IDS_OPEN_CSM_TIP}, - {L"WindowsMenu",CSetting::TYPE_RADIO,IDS_OPEN_WSM,IDS_OPEN_WSM_TIP}, - {L"Both",CSetting::TYPE_RADIO,IDS_OPEN_BOTH,IDS_OPEN_BOTH_TIP}, - {L"Desktop",CSetting::TYPE_RADIO,IDS_OPEN_DESKTOP,IDS_OPEN_DESKTOP_TIP}, - {L"ShiftWin",CSetting::TYPE_INT,IDS_SHIFT_WIN,IDS_SHIFT_WIN_TIP,2,CSetting::FLAG_BASIC}, - {L"Nothing",CSetting::TYPE_RADIO,IDS_OPEN_NOTHING,IDS_OPEN_NOTHING_TIP}, - {L"ClassicMenu",CSetting::TYPE_RADIO,IDS_OPEN_CSM,IDS_OPEN_CSM_TIP}, - {L"WindowsMenu",CSetting::TYPE_RADIO,IDS_OPEN_WSM,IDS_OPEN_WSM_TIP}, - {L"Both",CSetting::TYPE_RADIO,IDS_OPEN_BOTH,IDS_OPEN_BOTH_TIP}, -/* {L"Desktop",CSetting::TYPE_RADIO,IDS_OPEN_DESKTOP,IDS_OPEN_DESKTOP_TIP,0,CSetting::FLAG_HIDDEN}, - {L"Cortana",CSetting::TYPE_RADIO,IDS_OPEN_CORTANA,IDS_OPEN_CORTANA_TIP},*/ - {L"MiddleClick",CSetting::TYPE_INT,IDS_MCLICK,IDS_MCLICK_TIP,0}, - {L"Nothing",CSetting::TYPE_RADIO,IDS_OPEN_NOTHING,IDS_OPEN_NOTHING_TIP}, - {L"ClassicMenu",CSetting::TYPE_RADIO,IDS_OPEN_CSM,IDS_OPEN_CSM_TIP}, - {L"WindowsMenu",CSetting::TYPE_RADIO,IDS_OPEN_WSM,IDS_OPEN_WSM_TIP}, -/* {L"Both",CSetting::TYPE_RADIO,IDS_OPEN_BOTH,IDS_OPEN_BOTH_TIP,0,CSetting::FLAG_HIDDEN}, - {L"Desktop",CSetting::TYPE_RADIO,IDS_OPEN_DESKTOP,IDS_OPEN_DESKTOP_TIP,0,CSetting::FLAG_HIDDEN}, - {L"Cortana",CSetting::TYPE_RADIO,IDS_OPEN_CORTANA,IDS_OPEN_CORTANA_TIP},*/ - {L"Hover",CSetting::TYPE_INT,IDS_HOVER,IDS_HOVER_TIP,0}, - {L"Nothing",CSetting::TYPE_RADIO,IDS_OPEN_NOTHING,IDS_OPEN_NOTHING_TIP}, - {L"ClassicMenu",CSetting::TYPE_RADIO,IDS_OPEN_CSM,IDS_OPEN_CSM_TIP}, - {L"WindowsMenu",CSetting::TYPE_RADIO,IDS_OPEN_WSM,IDS_OPEN_WSM_TIP}, - {L"StartHoverDelay",CSetting::TYPE_INT,IDS_HOVER_DELAY,IDS_HOVER_DELAY_TIP,1000,0,L"Hover",L"Hover"}, - {L"ShiftRight",CSetting::TYPE_BOOL,IDS_RIGHT_SHIFT,IDS_RIGHT_SHIFT_TIP,0}, - {L"CSMHotkey",CSetting::TYPE_HOTKEY,IDS_CSM_HOTKEY,IDS_CSM_HOTKEY_TIP,0}, - {L"WSMHotkey",CSetting::TYPE_HOTKEY,IDS_WSM_HOTKEY,IDS_WSM_HOTKEY_TIP,0}, - -{L"SpecialItems",CSetting::TYPE_GROUP,IDS_SHOW_ITEMS,0,0,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Computer",CSetting::TYPE_INT,IDS_SHOW_COMPUTER,IDS_SHOW_COMPUTER_TIP,1,CSetting::FLAG_BASIC|CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"Drives",CSetting::TYPE_RADIO,IDS_ITEM_DRIVES,IDS_ITEM_DRIVES_TIP}, - {L"Favorites",CSetting::TYPE_INT,IDS_SHOW_FAVORITES,IDS_SHOW_FAVORITES_TIP,0,CSetting::FLAG_BASIC|CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"Documents",CSetting::TYPE_INT,IDS_SHOW_DOCUMENTS,IDS_SHOW_DOCUMENTS_TIP,2,CSetting::FLAG_BASIC|CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"MaxRecentDocuments",CSetting::TYPE_INT,IDS_MAX_DOCS,IDS_MAX_DOCS_TIP,15,CSetting::FLAG_MENU_CLASSIC_BOTH,L"Documents=2",L"Documents"}, - {L"SortRecentDocuments",CSetting::TYPE_INT,IDS_SORT_DOCS,IDS_SORT_DOCS_TIP,0,CSetting::FLAG_MENU_CLASSIC_BOTH,L"Documents=2",L"Documents"}, - {L"Name",CSetting::TYPE_RADIO,IDS_SORT_NAME,IDS_SORT_NAME_TIP}, - {L"Extension",CSetting::TYPE_RADIO,IDS_SORT_EXT,IDS_SORT_EXT_TIP}, - {L"Date",CSetting::TYPE_RADIO,IDS_SORT_DATE,IDS_SORT_DATE_TIP}, - {L"UserFiles",CSetting::TYPE_INT,IDS_SHOW_USERFILES,IDS_SHOW_USERFILES_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"UserDocuments",CSetting::TYPE_INT,IDS_SHOW_USERDOCS,IDS_SHOW_USERDOCS_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"UserPictures",CSetting::TYPE_INT,IDS_SHOW_USERPICS,IDS_SHOW_USERPICS_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"ControlPanel",CSetting::TYPE_INT,IDS_SHOW_CP,IDS_SHOW_CP_TIP,2,CSetting::FLAG_BASIC|CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"ControlPanelCategories",CSetting::TYPE_BOOL,IDS_CP_CATEGORIES,IDS_CP_CATEGORIES_TIP,0,CSetting::FLAG_MENU_CLASSIC_BOTH,L"#ControlPanel",L"ControlPanel"}, - {L"Network",CSetting::TYPE_INT,IDS_SHOW_NETWORK,IDS_SHOW_NETWORK_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"Printers",CSetting::TYPE_INT,IDS_SHOW_PRINTERS,IDS_SHOW_PRINTERS_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"Shutdown",CSetting::TYPE_INT,IDS_SHOW_SHUTDOWN,IDS_SHOW_SHUTDOWN_TIP,2,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Hide",CSetting::TYPE_RADIO,IDS_ITEM_HIDE,IDS_ITEM_HIDE_TIP}, - {L"Show",CSetting::TYPE_RADIO,IDS_ITEM_SHOW,IDS_ITEM_SHOW_TIP}, - {L"Menu",CSetting::TYPE_RADIO,IDS_ITEM_MENU,IDS_ITEM_MENU_TIP}, - {L"LogOff",CSetting::TYPE_BOOL,IDS_SHOW_LOGOFF,IDS_SHOW_LOGOFF_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH|CSetting::FLAG_BASIC}, - {L"ConfirmLogOff",CSetting::TYPE_BOOL,IDS_CONFIRM_LOGOFF,IDS_CONFIRM_LOGOFF_TIP,0,CSetting::FLAG_MENU_CLASSIC_BOTH,L"#LogOff",L"LogOff"}, - {L"Undock",CSetting::TYPE_BOOL,IDS_SHOW_UNDOCK,IDS_SHOW_UNDOCK_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Search",CSetting::TYPE_BOOL,IDS_SHOW_SEARCH,IDS_SHOW_SEARCH_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"ShowAppsMenu",CSetting::TYPE_BOOL,IDS_SHOW_APPS_MENU,IDS_SHOW_APPS_MENU_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Help",CSetting::TYPE_BOOL,IDS_SHOW_HELP,IDS_SHOW_HELP_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"Run",CSetting::TYPE_BOOL,IDS_SHOW_RUN,IDS_SHOW_RUN_TIP,1,CSetting::FLAG_MENU_CLASSIC_BOTH}, - -{L"MainMenu",CSetting::TYPE_GROUP,IDS_MAIN_MENU_SETTINGS}, - {L"ProgramsStyle",CSetting::TYPE_INT,IDS_INLINE_PROGS,IDS_INLINE_PROGS_TIP,1,CSetting::FLAG_MENU_WIN7|CSetting::FLAG_BASIC}, - {L"Cascade",CSetting::TYPE_RADIO,IDS_MAIN_CASCADE,IDS_MAIN_CASCADE_TIP}, - {L"Inline",CSetting::TYPE_RADIO,IDS_MAIN_INLINE,IDS_MAIN_INLINE_TIP}, - {L"Hidden",CSetting::TYPE_RADIO,IDS_MAIN_HIDDEN,IDS_MAIN_HIDDEN_TIP}, - {L"AllProgramsMetro",CSetting::TYPE_BOOL,IDS_SHOW_APPS,IDS_SHOW_APPS_TIP,1,CSetting::FLAG_MENU_WIN7,NULL,L"Inline"}, - {L"FoldersFirst",CSetting::TYPE_BOOL,IDS_FOLDERS_FIRST,IDS_FOLDERS_FIRST_TIP,0,CSetting::FLAG_MENU_WIN7,L"ProgramsStyle=1",L"Inline"}, - {L"OpenPrograms",CSetting::TYPE_BOOL,IDS_OPEN_PROGRAMS,IDS_OPEN_PROGRAMS_TIP,0,CSetting::FLAG_MENU_WIN7,L"ProgramsStyle=1",L"Inline"}, - {L"ProgramsMenuDelay",CSetting::TYPE_INT,IDS_PROGRAMS_DELAY,IDS_PROGRAMS_DELAY_TIP,200,CSetting::FLAG_MENU_WIN7,L"ProgramsStyle=1",L"Inline"}, // 2x system delay time - {L"HideProgramsMetro",CSetting::TYPE_BOOL,IDS_HIDE_APPS,IDS_HIDE_APPS_TIP,1}, - {L"PinnedPrograms",CSetting::TYPE_INT,IDS_PINNED_PROGRAMS,IDS_PINNED_PROGRAMS_TIP,PINNED_PROGRAMS_PINNED}, - {L"FastItems",CSetting::TYPE_RADIO,IDS_FAST_ITEMS,IDS_FAST_ITEMS_TIP}, - {L"PinnedItems",CSetting::TYPE_RADIO,IDS_PINNED_ITEMS,IDS_PINNED_ITEMS_TIP}, - {L"RecentPrograms",CSetting::TYPE_INT,IDS_RECENT_PROGRAMS,IDS_RECENT_PROGRAMS_TIP,RECENT_PROGRAMS_RECENT,CSetting::FLAG_BASIC}, - {L"None",CSetting::TYPE_RADIO,IDS_NO_RECENT,IDS_NO_RECENT_TIP}, - {L"Recent",CSetting::TYPE_RADIO,IDS_SHOW_RECENT,IDS_SHOW_RECENT_TIP}, - {L"Frequent",CSetting::TYPE_RADIO,IDS_SHOW_FREQUENT,IDS_SHOW_FREQUENT_TIP}, - {L"RecentMetroApps",CSetting::TYPE_BOOL,IDS_RECENT_METRO,IDS_RECENT_METRO_TIP,1,0,L"RecentPrograms",L"RecentPrograms"}, - {L"MaxRecentPrograms",CSetting::TYPE_INT,IDS_MAX_PROGS,IDS_MAX_PROGS_TIP,5,0,L"RecentPrograms",L"RecentPrograms"}, - {L"RecentProgsTop",CSetting::TYPE_BOOL,IDS_RECENT_TOP,IDS_RECENT_TOP_TIP,1,0,L"RecentPrograms",L"RecentPrograms"}, - {L"RecentSortName",CSetting::TYPE_BOOL,IDS_RECENT_NAME,IDS_RECENT_NAME_TIP,0,0,L"RecentPrograms",L"RecentPrograms"}, - {L"RecentProgKeys",CSetting::TYPE_INT,IDS_RECENT_KEYS,IDS_RECENT_KEYS_TIP,RECENT_KEYS_DIGITS,0,L"RecentPrograms",L"RecentPrograms"}, - {L"NoKey",CSetting::TYPE_RADIO,IDS_KEY_NOTHING,IDS_KEY_NOTHING_TIP,0,0,L"RecentPrograms"}, - {L"Normal",CSetting::TYPE_RADIO,IDS_KEY_NORMAL,IDS_KEY_NORMAL_TIP,0,0,L"RecentPrograms"}, - {L"Digits",CSetting::TYPE_RADIO,IDS_KEY_DIGITS,IDS_KEY_DIGITS_TIP,0,0,L"RecentPrograms"}, - {L"HiddenDigits",CSetting::TYPE_RADIO,IDS_KEY_HIDDEN,IDS_KEY_HIDDEN_TIP,0,0,L"RecentPrograms"}, - {L"EnableJumplists",CSetting::TYPE_BOOL,IDS_JUMPLISTS,IDS_JUMPLISTS_TIP,1}, - {L"MaxJumplists",CSetting::TYPE_INT,IDS_MAX_JUMPLISTS,IDS_MAX_JUMPLISTS_TIP,10,0,L"EnableJumplists",L"EnableJumplists"}, - {L"JumplistKeys",CSetting::TYPE_INT,IDS_JUMPLIST_KEYS,IDS_JUMPLISTS_KEY_TIP,0,0,L"EnableJumplists",L"EnableJumplists"}, - {L"Select",CSetting::TYPE_RADIO,IDS_KEY_SELECT,IDS_KEY_SELECT_TIP,0,0,L"EnableJumplists"}, - {L"Run",CSetting::TYPE_RADIO,IDS_KEY_RUN,IDS_KEY_RUN_TIP,0,0,L"EnableJumplists"}, - {L"Open",CSetting::TYPE_RADIO,IDS_KEY_OPEN,IDS_KEY_OPEN_TIP,0,0,L"EnableJumplists"}, - {L"ShutdownCommand",CSetting::TYPE_INT,IDS_SHUTDOWN_COMMAND,IDS_SHUTDOWN_COMMAND_TIP,1,CSetting::FLAG_MENU_WIN7|CSetting::FLAG_BASIC}, - {L"CommandNone",CSetting::TYPE_RADIO,IDS_SHUTDOWN_NONE,IDS_SHUTDOWN_NONE_TIP}, - {L"CommandShutdown",CSetting::TYPE_RADIO,IDS_SHUTDOWN_SHUTDOWN,IDS_SHUTDOWN_SHUTDOWN_TIP}, - {L"CommandRestart",CSetting::TYPE_RADIO,IDS_SHUTDOWN_RESTART,IDS_SHUTDOWN_RESTART_TIP}, - {L"CommandLogOff",CSetting::TYPE_RADIO,IDS_SHUTDOWN_LOGOFF,IDS_SHUTDOWN_LOGOFF_TIP}, - {L"CommandSleep",CSetting::TYPE_RADIO,IDS_SHUTDOWN_SLEEP,IDS_SHUTDOWN_SLEEP_TIP}, - {L"CommandHibernate",CSetting::TYPE_RADIO,IDS_SHUTDOWN_HIBERNATE,IDS_SHUTDOWN_HIBERNATE_TIP}, - {L"CommandLock",CSetting::TYPE_RADIO,IDS_SHUTDOWN_LOCK,IDS_SHUTDOWN_LOCK_TIP}, - {L"CommandSwitch",CSetting::TYPE_RADIO,IDS_SHUTDOWN_SWITCH,IDS_SHUTDOWN_SWITCH_TIP}, - {L"CommandShutdownBox",CSetting::TYPE_RADIO,IDS_SHUTDOWN_SHUTDOWN_BOX,IDS_SHUTDOWN_SHUTDOWN_BOX_TIP}, - {L"ShutdownW7",CSetting::TYPE_STRING,IDS_SHUTDOWN7,IDS_SHUTDOWN7_TIP,L"",CSetting::FLAG_MENU_WIN7,L"ShutdownCommand",L"ShutdownCommand"}, - {L"RemoteShutdown",CSetting::TYPE_BOOL,IDS_SHOW_RSHUTDOWN,IDS_SHOW_RSHUTDOWN_TIP,0,0,L"ShutdownCommand",L"ShutdownCommand"}, - {L"HybridShutdown",CSetting::TYPE_BOOL,IDS_HYBRID_SHUTDOWN,IDS_HYBRID_SHUTDOWN_TIP,1,0,L"ShutdownCommand",L"ShutdownCommand"}, - {L"ConfirmLogOff2",CSetting::TYPE_BOOL,IDS_CONFIRM_LOGOFF,IDS_CONFIRM_LOGOFF_TIP,0,CSetting::FLAG_MENU_WIN7,NULL,L"ShutdownCommand"}, - {L"SelectLastShutdown",CSetting::TYPE_BOOL,IDS_SELECT_LAST,IDS_SELECT_LAST_TIP,0,CSetting::FLAG_MENU_WIN7,NULL,L"ShutdownCommand"}, - {L"ProgramsWidth",CSetting::TYPE_INT,IDS_PROG_WIDTH,IDS_PROG_WIDTH_TIP,40,CSetting::FLAG_MENU_WIN7}, - {L"JumplistWidth",CSetting::TYPE_INT,IDS_JUMP_WIDTH,IDS_JUMP_WIDTH_TIP,40,CSetting::FLAG_MENU_WIN7}, - {L"MinMainHeight",CSetting::TYPE_INT,IDS_MIN_HEIGHT,IDS_MIN_HEIGHT_TIP,20,CSetting::FLAG_MENU_WIN7}, - {L"MaxRecentDocuments2",CSetting::TYPE_INT,IDS_MAX_DOCS,IDS_MAX_DOCS_TIP,15,CSetting::FLAG_MENU_WIN7}, - {L"SortRecentDocuments2",CSetting::TYPE_INT,IDS_SORT_DOCS,IDS_SORT_DOCS_TIP,0,CSetting::FLAG_MENU_WIN7}, - {L"Name",CSetting::TYPE_RADIO,IDS_SORT_NAME,IDS_SORT_NAME_TIP}, - {L"Extension",CSetting::TYPE_RADIO,IDS_SORT_EXT,IDS_SORT_EXT_TIP}, - {L"Date",CSetting::TYPE_RADIO,IDS_SORT_DATE,IDS_SORT_DATE_TIP}, - {L"StartScreenShortcut",CSetting::TYPE_BOOL,IDS_STARTSCREEN_ITEM,IDS_STARTSCREEN_ITEM_TIP,1}, - {L"ControlPanelCategories2",CSetting::TYPE_BOOL,IDS_CP_CATEGORIES2,IDS_CP_CATEGORIES_TIP,0,CSetting::FLAG_MENU_WIN7}, - {L"MainSortZA",CSetting::TYPE_BOOL,IDS_MAIN_SORTZA,IDS_SORTZA_TIP,0}, - {L"MainSortOnce",CSetting::TYPE_BOOL,IDS_MAIN_SORTONCE,IDS_SORTONCE_TIP,0}, - -{L"GeneralBehavior",CSetting::TYPE_GROUP,IDS_BEHAVIOR_SETTINGS}, - {L"AutoStart",CSetting::TYPE_BOOL,IDS_AUTOSTART,IDS_AUTOSTART_TIP,1,CSetting::FLAG_BASIC}, - {L"HighlightNew",CSetting::TYPE_BOOL,IDS_HIGHLIGHT_NEW,IDS_HIGHLIGHT_NEW_TIP,1}, - {L"HighlightNewApps",CSetting::TYPE_BOOL,IDS_HIGHLIGHT_NEWAPPS,IDS_HIGHLIGHT_NEWAPPS_TIP,1,0,L"#HighlightNew",L"HighlightNew"}, - {L"CheckWinUpdates",CSetting::TYPE_BOOL,IDS_CHECK_UPDATES,IDS_CHECK_UPDATES_TIP,1}, - {L"MenuDelay",CSetting::TYPE_INT,IDS_MENU_DELAY,IDS_MENU_DELAY_TIP,-1}, // system delay time - {L"SplitMenuDelay",CSetting::TYPE_INT,IDS_SPLIT_DELAY,IDS_SPLIT_DELAY_TIP,200}, // 2x system delay time - {L"InfotipDelay",CSetting::TYPE_STRING,IDS_TIP_DELAY,IDS_TIP_DELAY_TIP,L"400,4000"}, - {L"FolderInfotipDelay",CSetting::TYPE_STRING,IDS_FTIP_DELAY,IDS_FTIP_DELAY_TIP,L"0,0"}, - {L"EnableDragDrop",CSetting::TYPE_BOOL,IDS_DRAG_DROP,IDS_DRAG_DROP_TIP,1}, - {L"DragHideDelay",CSetting::TYPE_INT,IDS_DRAG_DELAY,IDS_DRAG_DELAY_TIP,4000}, - {L"ScrollType",CSetting::TYPE_INT,IDS_SCROLL_TYPE,IDS_SCROLL_TYPE_TIP,1}, - {L"Scroll",CSetting::TYPE_RADIO,IDS_SCROLL_YES,IDS_SCROLL_YES_TIP}, - {L"NoScroll",CSetting::TYPE_RADIO,IDS_SCROLL_NO,IDS_SCROLL_NO_TIP}, - {L"Auto",CSetting::TYPE_RADIO,IDS_SCROLL_AUTO,IDS_SCROLL_AUTO_TIP}, - {L"SameSizeColumns",CSetting::TYPE_BOOL,IDS_SAME_COLUMNS,IDS_SAME_COLUMNS_TIP,1,0,L"ScrollType",L"ScrollType"}, - {L"UserPicturePath",CSetting::TYPE_BITMAP,IDS_PIC_PATH,IDS_PIC_PATH_TIP,L""}, - {L"UserPictureCommand",CSetting::TYPE_STRING,IDS_PIC_COMMAND,IDS_PIC_COMMAND_TIP,L"control nusrmgr.cpl"}, - {L"UserNameCommand",CSetting::TYPE_STRING,IDS_NAME_COMMAND,IDS_NAME_COMMAND_TIP,L"control nusrmgr.cpl"}, - {L"SearchFilesCommand",CSetting::TYPE_STRING,IDS_SEARCH_COMMAND,IDS_SEARCH_COMMAND_TIP,L"search-ms:",CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"ExpandFolderLinks",CSetting::TYPE_BOOL,IDS_EXPAND_LINKS,IDS_EXPAND_LINKS_TIP,1}, - {L"EnableTouch",CSetting::TYPE_BOOL,IDS_ENABLE_TOUCH,IDS_ENABLE_TOUCH_TIP,1}, - {L"EnableAccessibility",CSetting::TYPE_BOOL,IDS_ACCESSIBILITY,IDS_ACCESSIBILITY_TIP,1}, - {L"ShowNextToTaskbar",CSetting::TYPE_BOOL,IDS_NEXTTASKBAR,IDS_NEXTTASKBAR_TIP,0}, - {L"PreCacheIcons",CSetting::TYPE_BOOL,IDS_CACHE_ICONS,IDS_CACHE_ICONS_TIP,1,CSetting::FLAG_COLD}, - {L"DelayIcons",CSetting::TYPE_BOOL,IDS_DELAY_ICONS,IDS_DELAY_ICONS_TIP,1,CSetting::FLAG_COLD}, - {L"ReportSkinErrors",CSetting::TYPE_BOOL,IDS_SKIN_ERRORS,IDS_SKIN_ERRORS_TIP,0}, - -{L"SearchBoxSettings",CSetting::TYPE_GROUP,IDS_SEARCH_BOX}, - {L"SearchBox",CSetting::TYPE_INT,IDS_SHOW_SEARCH_BOX,IDS_SHOW_SEARCH_BOX_TIP,SEARCHBOX_TAB,CSetting::FLAG_BASIC}, - {L"Hide",CSetting::TYPE_RADIO,IDS_SEARCH_BOX_HIDE,IDS_SEARCH_BOX_HIDE_TIP}, - {L"Normal",CSetting::TYPE_RADIO,IDS_SEARCH_BOX_SHOW,IDS_SEARCH_BOX_SHOW_TIP}, - {L"Tab",CSetting::TYPE_RADIO,IDS_SEARCH_BOX_TAB,IDS_SEARCH_BOX_TAB_TIP}, - {L"SearchSelect",CSetting::TYPE_BOOL,IDS_SEARCH_BOX_SEL,IDS_SEARCH_BOX_SEL_TIP,1,0,L"SearchBox=1",L"Normal"}, - {L"SearchTrack",CSetting::TYPE_BOOL,IDS_SEARCH_TRACK,IDS_SEARCH_TRACK_TIP,1,0,L"SearchBox"}, - {L"SearchResults",CSetting::TYPE_INT,IDS_SEARCH_MAX2,IDS_SEARCH_MAX_TIP2,5,CSetting::FLAG_MENU_CLASSIC_BOTH,L"SearchBox"}, - {L"SearchResultsMax",CSetting::TYPE_INT,IDS_SEARCH_MAX3,IDS_SEARCH_MAX_TIP3,20,CSetting::FLAG_MENU_CLASSIC_BOTH,L"SearchBox"}, - {L"SearchAutoComplete",CSetting::TYPE_BOOL,IDS_SEARCH_AUTO,IDS_SEARCH_AUTO_TIP,1,0,L"SearchBox"}, - {L"SearchPrograms",CSetting::TYPE_BOOL,IDS_SEARCH_PROGRAMS,IDS_SEARCH_PROGRAMS_TIP,1,0,L"SearchBox"}, - {L"SearchPath",CSetting::TYPE_BOOL,IDS_SEARCH_PATH,IDS_SEARCH_PATH_TIP,1,0,L"#SearchPrograms",L"SearchPrograms"}, - {L"SearchMetroApps",CSetting::TYPE_BOOL,IDS_SEARCH_METRO,IDS_SEARCH_METRO_TIP,1,0,L"#SearchPrograms",L"SearchPrograms"}, - {L"SearchMetroSettings",CSetting::TYPE_BOOL,IDS_SEARCH_METROS,IDS_SEARCH_METROS_TIP,1,0,L"#SearchPrograms",L"SearchPrograms"}, - {L"SearchKeywords",CSetting::TYPE_BOOL,IDS_SEARCH_KEYWORDS,IDS_SEARCH_KEYWORDS_TIP,1,0,L"#SearchPrograms",L"SearchPrograms"}, - {L"SearchSubWord",CSetting::TYPE_BOOL,IDS_SUB_WORD,IDS_SUB_WORD_TIP,1,0,L"#SearchPrograms",L"SearchPrograms"}, - {L"SearchFiles",CSetting::TYPE_BOOL,IDS_SEARCH_FILES,IDS_SEARCH_FILES_TIP,1,0,L"SearchBox"}, - {L"SearchContents",CSetting::TYPE_BOOL,IDS_SEARCH_CONTENTS,IDS_SEARCH_CONTENTS_TIP,1,0,L"#SearchFiles",L"SearchFiles"}, - {L"SearchCategories",CSetting::TYPE_BOOL,IDS_SEARCH_CATEGORIES,IDS_SEARCH_CATEGORIES_TIP,1,0,L"#SearchFiles",L"SearchFiles"}, - {L"SearchInternet",CSetting::TYPE_BOOL,IDS_SEARCH_INTERNET,IDS_SEARCH_INTERNET_TIP,1,0,L"SearchBox"}, - -{L"Look",CSetting::TYPE_GROUP,IDS_LOOK_SETTINGS}, - {L"SmallIconSize",CSetting::TYPE_INT,IDS_SMALL_SIZE_SM,IDS_SMALL_SIZE_SM_TIP,-1,CSetting::FLAG_COLD}, // 16 for DPI<=96, 20 for DPI<=120, 24 otherwise - {L"LargeIconSize",CSetting::TYPE_INT,IDS_LARGE_SIZE_SM,IDS_LARGE_SIZE_SM_TIP,-1,CSetting::FLAG_COLD}, // 32 for DPI<=96, 40 for DPI<=120, 48 otherwise - {L"InvertMetroIcons",CSetting::TYPE_BOOL,IDS_INVERT_ICONS,IDS_INVERT_ICONS_TIP,0}, - {L"MaxMainMenuWidth",CSetting::TYPE_INT,IDS_MENU_WIDTH,IDS_MENU_WIDTH_TIP,60,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"MaxMenuWidth",CSetting::TYPE_INT,IDS_SUBMENU_WIDTH,IDS_SUBMENU_WIDTH_TIP,60}, - {L"OverrideDPI",CSetting::TYPE_INT,IDS_DPI_OVERRIDE,IDS_DPI_OVERRIDE_TIP,0,CSetting::FLAG_COLD}, - {L"MainMenuAnimate",CSetting::TYPE_BOOL,IDS_ANIMATION7,IDS_ANIMATION7_TIP,1,CSetting::FLAG_MENU_WIN7}, - {L"MainMenuAnimation",CSetting::TYPE_INT,IDS_ANIMATION,IDS_ANIMATION_TIP,-1}, // system animation type - {L"None",CSetting::TYPE_RADIO,IDS_ANIM_NONE,IDS_ANIM_NONE_TIP}, - {L"Fade",CSetting::TYPE_RADIO,IDS_ANIM_FADE,IDS_ANIM_FADE_TIP}, - {L"Slide",CSetting::TYPE_RADIO,IDS_ANIM_SLIDE,IDS_ANIM_SLIDE_TIP}, - {L"Random",CSetting::TYPE_RADIO,IDS_ANIM_RANDOM,IDS_ANIM_RANDOM_TIP}, - {L"MainMenuAnimationSpeed",CSetting::TYPE_INT,IDS_ANIM_SPEED,IDS_ANIM_SPEED_TIP,200,0,L"MainMenuAnimation"}, - {L"SubMenuAnimation",CSetting::TYPE_INT,IDS_SUB_ANIMATION,IDS_SUB_ANIMATION_TIP,-1}, // system animation type - {L"None",CSetting::TYPE_RADIO,IDS_ANIM_NONE,IDS_ANIM_NONE_TIP}, - {L"Fade",CSetting::TYPE_RADIO,IDS_ANIM_FADE,IDS_ANIM_FADE_TIP}, - {L"Slide",CSetting::TYPE_RADIO,IDS_ANIM_SLIDE,IDS_ANIM_SLIDE_TIP}, - {L"Random",CSetting::TYPE_RADIO,IDS_ANIM_RANDOM,IDS_ANIM_RANDOM_TIP}, - {L"SubMenuAnimationSpeed",CSetting::TYPE_INT,IDS_SUB_ANIM_SPEED,IDS_SUB_ANIM_SPEED_TIP,200,0,L"SubMenuAnimation"}, - {L"SubMenuAnimationAlways",CSetting::TYPE_BOOL,IDS_SUB_ANIM_ALWAYS,IDS_SUB_ANIM_ALWAYS_TIP,0,0,L"SubMenuAnimation"}, - {L"MainMenuScrollSpeed",CSetting::TYPE_INT,IDS_SCROLL_SPEED,IDS_SCROLL_SPEED_TIP,3,CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"SubMenuScrollSpeed",CSetting::TYPE_INT,IDS_SUB_SCROLL_SPEED,IDS_SUB_SCROLL_SPEED_TIP,3}, - {L"MenuFadeSpeed",CSetting::TYPE_INT,IDS_FADE_SPEED,IDS_FADE_SPEED_TIP,400}, - {L"MenuCaption",CSetting::TYPE_STRING,IDS_MENU_CAPTION,IDS_MENU_CAPTION_TIP,L"",CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"MenuUsername",CSetting::TYPE_STRING,IDS_MENU_USERNAME,IDS_MENU_USERNAME_TIP,L"",CSetting::FLAG_MENU_CLASSIC_BOTH}, - {L"NumericSort",CSetting::TYPE_BOOL,IDS_NUMERIC_SORT,IDS_NUMERIC_SORT_TIP,1}, - {L"FontSmoothing",CSetting::TYPE_INT,IDS_FONT_SMOOTHING,IDS_FONT_SMOOTHING_TIP,0}, - {L"Default",CSetting::TYPE_RADIO,IDS_SMOOTH_DEFAULT,IDS_SMOOTH_DEFAULT_TIP}, - {L"None",CSetting::TYPE_RADIO,IDS_SMOOTH_NONE,IDS_SMOOTH_NONE_TIP}, - {L"Standard",CSetting::TYPE_RADIO,IDS_SMOOTH_STD,IDS_SMOOTH_STD_TIP}, - {L"ClearType",CSetting::TYPE_RADIO,IDS_SMOOTH_CLEAR,IDS_SMOOTH_CLEAR_TIP}, - {L"MenuShadow",CSetting::TYPE_BOOL,IDS_MENU_SHADOW,IDS_MENU_SHADOW_TIP,1}, - {L"AeroGlass",CSetting::TYPE_BOOL,IDS_MENU_GLASS,IDS_MENU_GLASS_TIP,0,CSetting::FLAG_CALLBACK}, - {L"EnableGlass",CSetting::TYPE_BOOL,IDS_MENU_GLASS2,IDS_MENU_GLASS2_TIP,1}, - {L"GlassOverride",CSetting::TYPE_BOOL,IDS_GLASS_OVERRIDE,IDS_GLASS_OVERRIDE_TIP,0}, - {L"GlassColor",CSetting::TYPE_COLOR,IDS_GLASS_COLOR,IDS_GLASS_COLOR_TIP,0,0,L"GlassOverride",L"GlassOverride"}, - {L"GlassIntensity",CSetting::TYPE_INT,IDS_GLASS_INTENSITY,IDS_GLASS_INTENSITY_TIP,0,0,L"GlassOverride",L"GlassOverride"}, - {L"GlassBlending",CSetting::TYPE_INT,IDS_GLASS_BLENDING,IDS_GLASS_BLENDING_TIP,0,0,L"GlassOverride",L"GlassOverride"}, - {L"GlassOpacity",CSetting::TYPE_INT,IDS_GLASS_OPACITY,IDS_GLASS_OPACITY_TIP,DEFAULT_GLASS_OPACITY,0,L"EnableGlass"}, - -{L"Skin",CSetting::TYPE_GROUP,IDS_SKIN_SETTINGS,0,0,CSetting::FLAG_BASIC|CSetting::FLAG_MENU_CLASSIC1,NULL,NULL,&g_SkinSettingsPanelClassic1}, - {L"SkinC1",CSetting::TYPE_STRING,0,0,L"Windows Aero"}, - {L"SkinVariationC1",CSetting::TYPE_STRING,0,0,L""}, - {L"SkinOptionsC1",CSetting::TYPE_MULTISTRING,0,0,L""}, - -{L"Skin",CSetting::TYPE_GROUP,IDS_SKIN_SETTINGS,0,0,CSetting::FLAG_BASIC|CSetting::FLAG_MENU_CLASSIC2,NULL,NULL,&g_SkinSettingsPanelClassic2}, - {L"SkinC2",CSetting::TYPE_STRING,0,0,L"Windows Aero"}, - {L"SkinVariationC2",CSetting::TYPE_STRING,0,0,L""}, - {L"SkinOptionsC2",CSetting::TYPE_MULTISTRING,0,0,L""}, - -{L"Skin7",CSetting::TYPE_GROUP,IDS_SKIN_SETTINGS,0,0,CSetting::FLAG_BASIC|CSetting::FLAG_MENU_WIN7,NULL,NULL,&g_SkinSettingsPanelWin7}, - {L"SkinW7",CSetting::TYPE_STRING,0,0,L"Windows Aero"}, - {L"SkinVariationW7",CSetting::TYPE_STRING,0,0,L""}, - {L"SkinOptionsW7",CSetting::TYPE_MULTISTRING,0,0,L""}, - -{L"StartButton",CSetting::TYPE_GROUP,IDS_START_BUTTON}, - {L"EnableStartButton",CSetting::TYPE_BOOL,IDS_ENABLE_BUTTON,IDS_ENABLE_BUTTON_TIP,1}, - {L"AllTaskbars",CSetting::TYPE_BOOL,IDS_ENABLE_TASKBARS,IDS_ENABLE_TASKBARS_TIP,1,0,L"EnableStartButton"}, - {L"StartButtonTip",CSetting::TYPE_STRING,IDS_BUTTON_TIP,IDS_BUTTON_TIP_TIP,L"$Menu.Start",0,L"EnableStartButton"}, - {L"StartButtonType",CSetting::TYPE_INT,IDS_BUTTON_TYPE,IDS_BUTTON_TYPE_TIP,0,0,L"EnableStartButton"}, - {L"AeroButton",CSetting::TYPE_RADIO,IDS_AERO_BUTTON,IDS_AERO_BUTTON_TIP}, - {L"ClasicButton",CSetting::TYPE_RADIO,IDS_CLASSIC_BUTTON,IDS_CLASSIC_BUTTON_TIP}, - {L"CustomButton",CSetting::TYPE_RADIO,IDS_CUSTOM_BUTTON,IDS_CUSTOM_BUTTON_TIP}, - {L"StartButtonPath",CSetting::TYPE_BITMAP,IDS_BUTTON_IMAGE,IDS_BUTTON_IMAGE_TIP,L"",0,L"#StartButtonType=2",L"CustomButton"}, - {L"StartButtonSize",CSetting::TYPE_INT,IDS_BUTTON_SIZE,IDS_BUTTON_SIZE_TIP2,0,0,L"#StartButtonType=2",L"CustomButton"}, - {L"StartButtonAlign",CSetting::TYPE_BOOL,IDS_BUTTON_ALIGN,IDS_BUTTON_ALIGN_TIP,0,0,L"#StartButtonType=2",L"CustomButton"}, - {L"StartButtonIcon",CSetting::TYPE_ICON,IDS_BUTTON_ICON,IDS_BUTTON_ICON_TIP,L",1",0,L"#StartButtonType=1",L"ClasicButton"}, - {L"StartButtonIconSize",CSetting::TYPE_INT,IDS_BUTTON_ICON_SIZE,IDS_BUTTON_ICON_SIZE_TIP,0,0,L"#StartButtonType=1",L"ClasicButton"}, - {L"StartButtonText",CSetting::TYPE_STRING,IDS_BUTTON_TEXT,IDS_BUTTON_TEXT_TIP,L"$Menu.Start",0,L"#StartButtonType=1",L"ClasicButton"}, - -{L"Taskbar",CSetting::TYPE_GROUP,IDS_TASKBAR_SETTINGS}, - {L"CustomTaskbar",CSetting::TYPE_BOOL,IDS_TASK_CUSTOM,IDS_TASK_CUSTOM_TIP,0,CSetting::FLAG_CALLBACK}, - {L"TaskbarLook",CSetting::TYPE_INT,IDS_TASK_LOOK,IDS_TASK_LOOK_TIP,1,CSetting::FLAG_CALLBACK,L"CustomTaskbar",L"CustomTaskbar"}, - {L"Opaque",CSetting::TYPE_RADIO,IDS_TASK_OPAQUE,IDS_TASK_OPAQUE_TIP}, - {L"Transparent",CSetting::TYPE_RADIO,IDS_TASK_TRANS,IDS_TASK_TRANS_TIP}, - {L"Glass",CSetting::TYPE_RADIO,IDS_TASK_GLASS,IDS_TASK_GLASS_TIP}, - {L"AeroGlass",CSetting::TYPE_RADIO,IDS_TASK_AEROGLASS,IDS_TASK_AEROGLASS_TIP,0,CSetting::FLAG_HIDDEN}, - {L"TaskbarOpacity",CSetting::TYPE_INT,IDS_TASK_OPACITY,IDS_TASK_OPACITY_TIP,DEFAULT_TASK_OPACITY10,CSetting::FLAG_CALLBACK,L"TaskbarLook",L"CustomTaskbar"}, - {L"TaskbarColor",CSetting::TYPE_COLOR,IDS_TASK_COLOR,IDS_TASK_COLOR_TIP,0,CSetting::FLAG_CALLBACK,L"CustomTaskbar",L"CustomTaskbar"}, - {L"TaskbarTextColor",CSetting::TYPE_COLOR,IDS_TASK_TEXTCOLOR,IDS_TASK_TEXTCOLOR_TIP,0xFFFFFF,CSetting::FLAG_CALLBACK|(1<<24),L"CustomTaskbar",L"CustomTaskbar"}, - {L"TaskbarTexture",CSetting::TYPE_BITMAP_JPG,IDS_TASK_TEXTURE,IDS_TASK_TEXTURE_TIP,L"",CSetting::FLAG_CALLBACK,L"CustomTaskbar",L"CustomTaskbar"}, - {L"TaskbarTileH",CSetting::TYPE_INT,IDS_TASK_STRETCHH,IDS_TASK_STRETCHH_TIP,1,CSetting::FLAG_CALLBACK,L"#TaskbarTexture",L"TaskbarTexture"}, - {L"Tile",CSetting::TYPE_RADIO,IDS_TASK_TILE,IDS_TASK_TILE_TIP}, - {L"Stretch",CSetting::TYPE_RADIO,IDS_TASK_STRETCH,IDS_TASK_STRETCH_TIP}, - {L"TaskbarBordersH",CSetting::TYPE_STRING,IDS_TASK_BORDERS,IDS_TASK_BORDERS_TIP,L"0,0",CSetting::FLAG_CALLBACK,L"#TaskbarTileH=1",L"TaskbarTileH"}, - {L"TaskbarTileV",CSetting::TYPE_INT,IDS_TASK_STRETCHV,IDS_TASK_STRETCHV_TIP,1,CSetting::FLAG_CALLBACK,L"#TaskbarTexture",L"TaskbarTexture"}, - {L"Tile",CSetting::TYPE_RADIO,IDS_TASK_TILE,IDS_TASK_TILE_TIP}, - {L"Stretch",CSetting::TYPE_RADIO,IDS_TASK_STRETCH,IDS_TASK_STRETCH_TIP}, - {L"TaskbarBordersV",CSetting::TYPE_STRING,IDS_TASK_BORDERS,IDS_TASK_BORDERS_TIP,L"0,0",CSetting::FLAG_CALLBACK,L"#TaskbarTileV=1",L"TaskbarTileV"}, - -{L"Metro",CSetting::TYPE_GROUP,IDS_METRO_SETTINGS}, - {L"SkipMetro",CSetting::TYPE_BOOL,IDS_SKIP_METRO,IDS_SKIP_METRO_TIP,1,CSetting::FLAG_BASIC}, - {L"SkipMetroCount",CSetting::TYPE_INT,0,0,10,CSetting::FLAG_HIDDEN|CSetting::FLAG_NOSAVE}, - {L"DisableHotCorner",CSetting::TYPE_INT,IDS_HOT_CORNERS,IDS_HOT_CORNERS_TIP,1}, - {L"DisableNone",CSetting::TYPE_RADIO,IDS_DISABLE_NONE,IDS_DISABLE_NONE_TIP}, - {L"DisableStart",CSetting::TYPE_RADIO,IDS_DISABLE_START,IDS_DISABLE_START_TIP}, - {L"DisableAll",CSetting::TYPE_RADIO,IDS_DISABLE_ALL,IDS_DISABLE_ALL_TIP}, - {L"OpenMouseMonitor",CSetting::TYPE_BOOL,IDS_MOUSE_MONITOR,IDS_MOUSE_MONITOR_TIP,0}, - -{L"CustomMenu1",CSetting::TYPE_GROUP,IDS_CUSTOM_SETTINGS,0,0,CSetting::FLAG_MENU_CLASSIC1,NULL,NULL,&g_CustomMenuPanel1}, - {L"MenuItems1",CSetting::TYPE_MULTISTRING,0,0,L""}, - -{L"CustomMenu2",CSetting::TYPE_GROUP,IDS_CUSTOM_SETTINGS,0,0,CSetting::FLAG_MENU_CLASSIC2,NULL,NULL,&g_CustomMenuPanel2}, - {L"MenuItems2",CSetting::TYPE_MULTISTRING,0,0,L""}, - -{L"CustomMenu7",CSetting::TYPE_GROUP,IDS_CUSTOM_SETTINGS,0,0,CSetting::FLAG_BASIC|CSetting::FLAG_MENU_WIN7,NULL,NULL,&g_CustomMenuPanel7}, - {L"MenuItems7",CSetting::TYPE_MULTISTRING,0,0,L""}, - -{L"WindowsMenu",CSetting::TYPE_GROUP,IDS_WSM_SETTINGS}, - {L"CascadeAll",CSetting::TYPE_BOOL,IDS_CASCADE_ALL,IDS_CASCADE_ALL_TIP,0}, - {L"AllProgramsDelay",CSetting::TYPE_INT,IDS_ALL_DELAY,IDS_ALL_DELAY_TIP,-1,0,L"CascadeAll",L"CascadeAll"}, // system hover time - {L"InitiallySelect",CSetting::TYPE_INT,IDS_ALL_SELECT,IDS_ALL_SELECT_TIP,0,0,L"CascadeAll",L"CascadeAll"}, - {L"SelectSearch",CSetting::TYPE_RADIO,IDS_SELECT_SEARCH,IDS_SELECT_SEARCH_TIP}, - {L"SelectButton",CSetting::TYPE_RADIO,IDS_SELECT_BUTTON,IDS_SELECT_BUTTON_TIP}, - {L"HideUserPic",CSetting::TYPE_BOOL,IDS_HIDE_PIC,IDS_HIDE_PIC_TIP,0}, - -{L"AllProgramsSkin",CSetting::TYPE_GROUP,IDS_ALL_SKIN_SETTINGS,0,0,0,NULL,NULL,&g_SkinSettingsPanelAll}, - {L"SkinA",CSetting::TYPE_STRING,0,0,L""}, - {L"SkinVariationA",CSetting::TYPE_STRING,0,0,L""}, - {L"SkinOptionsA",CSetting::TYPE_MULTISTRING,0,0,L""}, - -{L"ContextMenu",CSetting::TYPE_GROUP,IDS_CONTEXT_MENU_SETTINGS}, - {L"EnableContextMenu",CSetting::TYPE_BOOL,IDS_CONTEXT_MENU,IDS_CONTEXT_MENU_TIP,1}, - {L"CascadingMenu",CSetting::TYPE_BOOL,IDS_CASCADE_MENU,IDS_CASCADE_MENU_TIP,0,0,L"EnableContextMenu",L"EnableContextMenu"}, - {L"ShowNewFolder",CSetting::TYPE_BOOL,IDS_NEW_FOLDER,IDS_NEW_FOLDER_TIP,1,0,L"EnableContextMenu",L"EnableContextMenu"}, - {L"EnableExit",CSetting::TYPE_BOOL,IDS_EXIT,IDS_EXIT_TIP,1}, - {L"EnableExplorer",CSetting::TYPE_BOOL,IDS_EXPLORER,IDS_EXPLORER_TIP,1}, - {L"ExplorerPath",CSetting::TYPE_STRING,IDS_EXPLORER_PATH,IDS_EXPLORER_PATH_TIP,L"computer",0,L"EnableExplorer",L"EnableExplorer"}, - {L"DisablePinExt",CSetting::TYPE_BOOL,IDS_NOPIN,IDS_NOPIN_TIP,0}, - -{L"Sounds",CSetting::TYPE_GROUP,IDS_SOUND_SETTINGS}, - {L"SoundMain",CSetting::TYPE_SOUND,IDS_SOUND_MAIN,IDS_SOUND_MAIN_TIP,L"MenuPopup"}, - {L"SoundPopup",CSetting::TYPE_SOUND,IDS_SOUND_POPUP,IDS_SOUND_POPUP_TIP,L"MenuPopup"}, - {L"SoundCommand",CSetting::TYPE_SOUND,IDS_SOUND_COMMAND,IDS_SOUND_COMMAND_TIP,L"MenuCommand"}, - {L"SoundDrop",CSetting::TYPE_SOUND,IDS_SOUND_DROP,IDS_SOUND_DROP_TIP,L"MoveMenuItem"}, - {L"SoundButtonHover",CSetting::TYPE_SOUND,IDS_SOUND_HOVER,IDS_SOUND_HOVER_TIP,L""}, - -{L"Language",CSetting::TYPE_GROUP,IDS_LANGUAGE_SETTINGS_SM,0,0,0,NULL,NULL,GetLanguageSettings(COMPONENT_MENU)}, - {L"Language",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_COLD|CSetting::FLAG_SHARED}, - {L"Update",CSetting::TYPE_BOOL,0,0,1,CSetting::FLAG_SHARED}, // this is here only to generate the ADMX entry - -{NULL} -}; - -void UpgradeSettings( bool bShared ) -{ - if (bShared) return; - - // determine if we are upgrading - if (FindSetting(L"DefaultMenuStyle")->IsDefault() && - FindSetting(L"MenuItems")->IsDefault() && - FindSetting(L"Skin1")->IsDefault() && - FindSetting(L"SkinOptions1")->IsDefault() && - FindSetting(L"SkinVariation1")->IsDefault() && - FindSetting(L"Skin2")->IsDefault() && - FindSetting(L"SkinOptions2")->IsDefault() && - FindSetting(L"SkinVariation2")->IsDefault()) - return; - - // determine if the old menu was using two columns - bool bTwoColumns=false; - const wchar_t *oldStyle=L"Classic"; - const CSetting *pSetting=FindSetting(L"DefaultMenuStyle"); - if (pSetting->value.vt==VT_BSTR) - oldStyle=pSetting->value.bstrVal; - - // XP skin is always two columns - pSetting=FindSetting(L"Skin1"); - if (pSetting->IsDefault()) - { - if (_wcsicmp(oldStyle,L"XP")==0) - bTwoColumns=true; - } - else if (pSetting->value.vt==VT_BSTR && _wcsicmp(pSetting->value.bstrVal,L"Windows XP Luna")==0) - bTwoColumns=true; - - if (!bTwoColumns) - { - pSetting=FindSetting(L"SkinOptions1"); - if (pSetting->IsDefault()) - { - // default setting for XP and Vista uses two columns - if (_wcsicmp(oldStyle,L"Classic")!=0) - bTwoColumns=true; - } - else if (pSetting->value.vt==VT_BSTR && wcswcs(pSetting->value.bstrVal,L"DA60029B")) - bTwoColumns=true; - } - - // preserve menu items - const CSetting *pSettingItems0=FindSetting(L"MenuItems"); - CSetting *pSettingItems=FindSetting(bTwoColumns?L"MenuItems2":L"MenuItems1"); - if (!pSettingItems->IsLocked() && !pSettingItems0->IsDefault()) - { - CString items=pSettingItems0->value; - items.Replace(L"Command=documents\n",L"Command=recent_documents\n"); - items.Replace(L"Command=recent_items\n",L"Command=recent_programs\n"); - items.Replace(L"Command=control_panel_categories\n",L"Command=control_panel\n"); - pSettingItems->value=items; - pSettingItems->flags&=~CSetting::FLAG_DEFAULT; - } - - // set initial menu style - CSetting *pSettingStyle=FindSetting(L"MenuStyle"); - if (!pSettingStyle->IsLocked()) - { - pSettingStyle->value=(bTwoColumns?1:0); - pSettingStyle->flags&=~CSetting::FLAG_DEFAULT; - SetSettingsStyle(bTwoColumns?CSetting::FLAG_MENU_CLASSIC2:CSetting::FLAG_MENU_CLASSIC1,CSetting::FLAG_MENU_MASK); - } - - // set skin - CSetting *pSettingSkin=FindSetting(bTwoColumns?L"SkinC2":L"SkinC1"); - if (!pSettingSkin->IsLocked()) - { - pSetting=FindSetting(L"Skin1"); - if (!pSetting->IsDefault()) - { - pSettingSkin->value=pSetting->value; - pSettingSkin->flags&=~CSetting::FLAG_DEFAULT; - } - } - CSetting *pSettingOpt=FindSetting(bTwoColumns?L"SkinOptionsC2":L"SkinOptionsC1"); - if (!pSettingOpt->IsLocked()) - { - pSetting=FindSetting(L"SkinOptions1"); - if (!pSetting->IsDefault()) - { - pSettingOpt->value=pSetting->value; - pSettingOpt->flags&=~CSetting::FLAG_DEFAULT; - } - } - CSetting *pSettingVar=FindSetting(bTwoColumns?L"SkinVariationC2":L"SkinVariationC1"); - if (!pSettingVar->IsLocked()) - { - pSetting=FindSetting(L"SkinVariation1"); - if (!pSetting->IsDefault()) - { - pSettingVar->value=pSetting->value; - pSettingVar->flags&=~CSetting::FLAG_DEFAULT; - } - } - - // set skin2 - pSettingSkin=FindSetting(L"SkinA"); - if (!pSettingSkin->IsLocked()) - { - pSetting=FindSetting(L"Skin2"); - if (!pSetting->IsDefault()) - { - pSettingSkin->value=pSetting->value; - pSettingSkin->flags&=~CSetting::FLAG_DEFAULT; - } - } - pSettingOpt=FindSetting(L"SkinOptionsA"); - if (!pSettingOpt->IsLocked()) - { - pSetting=FindSetting(L"SkinOptions2"); - if (!pSetting->IsDefault()) - { - pSettingOpt->value=pSetting->value; - pSettingOpt->flags&=~CSetting::FLAG_DEFAULT; - } - } - pSettingVar=FindSetting(L"SkinVariationA"); - if (!pSettingVar->IsLocked()) - { - pSetting=FindSetting(L"SkinVariation2"); - if (!pSetting->IsDefault()) - { - pSettingVar->value=pSetting->value; - pSettingVar->flags&=~CSetting::FLAG_DEFAULT; - } - } -} - -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); - } - - TMenuStyle menuStyle=MENU_CLASSIC1; - { - const CSetting *pSetting=FindSetting(L"MenuStyle"); - if (pSetting && pSetting->value.vt==VT_I4) - menuStyle=(TMenuStyle)pSetting->value.intVal; - } - FindSetting(L"MaxRecentDocuments2")->pLinkTo=FindSetting(L"MaxRecentDocuments"); - FindSetting(L"SortRecentDocuments2")->pLinkTo=FindSetting(L"SortRecentDocuments"); - FindSetting(L"ControlPanelCategories2")->pLinkTo=FindSetting(L"ControlPanelCategories"); - FindSetting(L"ConfirmLogOff2")->pLinkTo=FindSetting(L"ConfirmLogOff"); - CMenuStyleDlg::UpdateDefaults(); - CCustomMenuDlg::UpdateWarnings(menuStyle); - - int dpi=FindSetting(L"OverrideDPI")->value.intVal; - if (dpi==0) - { - HDC hdc=GetDC(NULL); - dpi=GetDeviceCaps(hdc,LOGPIXELSY); - ReleaseDC(NULL,hdc); - } - else if (dpi<96) dpi=96; - else if (dpi>480) dpi=480; - - int iconSize=24; - if (dpi<=96) - iconSize=16; - else if (dpi<=120) - iconSize=20; - UpdateSetting(L"SmallIconSize",CComVariant(iconSize),false); - UpdateSetting(L"LargeIconSize",CComVariant(iconSize*2),false); - - DWORD time; - SystemParametersInfo(SPI_GETMENUSHOWDELAY,NULL,&time,0); - UpdateSetting(L"MenuDelay",CComVariant((int)time),false); - SystemParametersInfo(SPI_GETMOUSEHOVERTIME,NULL,&time,0); - UpdateSetting(L"AllProgramsDelay",CComVariant((int)time),false); - - int animation=0; - BOOL animate; - SystemParametersInfo(SPI_GETMENUANIMATION,NULL,&animate,0); - if (animate) - { - DWORD fade; - SystemParametersInfo(SPI_GETMENUFADE,NULL,&fade,0); - animation=fade?1:2; - } - UpdateSetting(L"MainMenuAnimation",CComVariant((int)animation),false); - UpdateSetting(L"SubMenuAnimation",CComVariant((int)animation),false); - - DWORD fade; - SystemParametersInfo(SPI_GETSELECTIONFADE,NULL,&fade,0); - UpdateSetting(L"MenuFadeSpeed",CComVariant(fade?400:0),false); - - UpdateSetting(L"Favorites",CComVariant(0),SHRestricted(REST_NOFAVORITESMENU)!=0); - if (SHRestricted(REST_NORECENTDOCSMENU)) - UpdateSetting(L"Documents",CComVariant(0),true); - else - UpdateSetting(L"Documents",CComVariant(2),false); - - DWORD logoff1=SHRestricted(REST_STARTMENULOGOFF); - DWORD logoff2=SHRestricted(REST_FORCESTARTMENULOGOFF); - UpdateSetting(L"LogOff",CComVariant((logoff1!=1)?1:0),logoff1 || logoff2); - - bool bNoClose=SHRestricted(REST_NOCLOSE)!=0; - UpdateSetting(L"Shutdown",CComVariant(bNoClose?0:2),bNoClose); - UpdateSetting(L"RemoteShutdown",CComVariant(0),bNoClose); - - bool bNoUndock=SHRestricted(REST_NOSMEJECTPC)!=0; - UpdateSetting(L"Undock",CComVariant(bNoUndock?0:1),bNoUndock); - - bool bNoSetFolders=SHRestricted(REST_NOSETFOLDERS)!=0; // hide control panel, printers, network - bool bNoControlPanel=bNoSetFolders || SHRestricted(REST_NOCONTROLPANEL); - UpdateSetting(L"ControlPanel",CComVariant(bNoControlPanel?0:1),bNoControlPanel); - - bool bNoNetwork=bNoSetFolders || SHRestricted(REST_NONETWORKCONNECTIONS); - UpdateSetting(L"Network",CComVariant(bNoNetwork?0:1),bNoNetwork); - - UpdateSetting(L"Printers",CComVariant(bNoSetFolders?0:1),bNoSetFolders); - - bool bNoHelp=SHRestricted(REST_NOSMHELP)!=0; - UpdateSetting(L"Help",CComVariant(bNoHelp?0:1),bNoHelp); - - bool bNoRun=SHRestricted(REST_NORUN)!=0; - UpdateSetting(L"Run",CComVariant(bNoRun?0:1),bNoRun); - UpdateSetting(L"SearchAutoComplete",CComVariant(bNoRun?0:1),bNoRun); - - bool bNoSearch=SHRestricted(REST_NOFIND)!=0; - UpdateSetting(L"Search",CComVariant(bNoSearch?0:1),bNoSearch); - - bool bNoDocs=SHRestricted(REST_NOSMMYDOCS)!=0; - UpdateSetting(L"UserFiles",CComVariant(bNoDocs?0:1),bNoDocs); - UpdateSetting(L"UserDocuments",CComVariant(bNoDocs?0:1),bNoDocs); - UpdateSetting(L"UserPictures",CComVariant(bNoDocs?0:1),bNoDocs); - - bool bNoEdit=SHRestricted(REST_NOCHANGESTARMENU)!=0; - UpdateSetting(L"EnableDragDrop",CComVariant(bNoEdit?0:1),bNoEdit); - UpdateSetting(L"EnableContextMenu",CComVariant(bNoEdit?0:1),bNoEdit); - - UpdateSetting(L"NumericSort",CComVariant(SHRestricted(REST_NOSTRCMPLOGICAL)?0:1),false); - - wchar_t title[256]=L"Windows"; - ULONG size=_countof(title); - { - CRegKey regTitle; - if (regTitle.Open(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows NT\\CurrentVersion",KEY_READ)==ERROR_SUCCESS) - regTitle.QueryStringValue(L"ProductName",title,&size); - } - UpdateSetting(L"MenuCaption",CComVariant(title),false); - - size=_countof(title); - if (!GetUserNameEx(NameDisplay,title,&size)) - { - // GetUserNameEx may fail (for example on Home editions). use the login name - size=_countof(title); - GetUserName(title,&size); - } - UpdateSetting(L"MenuUsername",CComVariant(title),false); - - if (GetWinVersion()>=WIN_VER_WIN8) - { - HideSettingGroup(L"WindowsMenu",true); - HideSettingGroup(L"AllProgramsSkin",true); - UpdateSetting(L"CascadeAll",CComVariant(0),false); HideSetting(L"CascadeAll",true); - HIGHCONTRAST contrast={sizeof(contrast)}; - if (SystemParametersInfo(SPI_GETHIGHCONTRAST,sizeof(contrast),&contrast,0) && (contrast.dwFlags&HCF_HIGHCONTRASTON)) - UpdateSetting(L"StartButtonType",CComVariant(START_BUTTON_CLASSIC),false); - else - UpdateSetting(L"StartButtonType",CComVariant(START_BUTTON_AERO),false); - - HideSetting(L"EnableTouch",!(GetSystemMetrics(SM_DIGITIZER)&NID_INTEGRATED_TOUCH)); - - bool bStartScreen=GetWinVersion()nameID=bStartScreen?IDS_OPEN_WSS:IDS_OPEN_WSM; - pSetting->tipID=bStartScreen?IDS_OPEN_WSS_TIP:IDS_OPEN_WSM_TIP; - - pSetting=FindSetting(L"ShiftClick")+3; - pSetting->nameID=bStartScreen?IDS_OPEN_WSS:IDS_OPEN_WSM; - pSetting->tipID=bStartScreen?IDS_OPEN_WSS_TIP:IDS_OPEN_WSM_TIP; - - pSetting=FindSetting(L"WinKey")+3; - pSetting->nameID=bStartScreen?IDS_OPEN_WSS:IDS_OPEN_WSM; - pSetting->tipID=bStartScreen?IDS_OPEN_WSS_TIP:IDS_OPEN_WSM_TIP; - - pSetting=FindSetting(L"ShiftWin")+3; - pSetting->nameID=bStartScreen?IDS_OPEN_WSS:IDS_OPEN_WSM; - pSetting->tipID=bStartScreen?IDS_OPEN_WSS_TIP:IDS_OPEN_WSM_TIP; - - pSetting=FindSetting(L"MiddleClick")+3; - pSetting->nameID=bStartScreen?IDS_OPEN_WSS:IDS_OPEN_WSM; - pSetting->tipID=bStartScreen?IDS_OPEN_WSS_TIP:IDS_OPEN_WSM_TIP; - - pSetting=FindSetting(L"Hover")+3; - pSetting->nameID=bStartScreen?IDS_OPEN_WSS:IDS_OPEN_WSM; - pSetting->tipID=bStartScreen?IDS_OPEN_WSS_TIP:IDS_OPEN_WSM_TIP; - - if (bStartScreen) - UpdateSettingText(L"WSMHotkey",IDS_WSS_HOTKEY,IDS_WSS_HOTKEY_TIP,false); - else - UpdateSettingText(L"OpenMouseMonitor",IDS_MOUSE_MONITOR2,IDS_MOUSE_MONITOR_TIP2,false); - UpdateSettingText(L"ShiftRight",IDS_RIGHT_SHIFTX,IDS_RIGHT_SHIFTX_TIP,false); - - if (GetWinVersion()>=WIN_VER_WIN81) - { - if (GetWinVersion()>=WIN_VER_WIN10) - { - UpdateGroupText(L"Metro",IDS_METRO_SETTINGS10); - UpdateSetting(L"SkipMetro",CComVariant(0),false); HideSetting(L"SkipMetro",true); - UpdateSetting(L"DisableHotCorner",CComVariant(0),false); HideSetting(L"DisableHotCorner",true); - } - else - { - UpdateGroupText(L"Metro",IDS_METRO_SETTINGS81); - } - UpdateSettingText(L"EnableStartButton",IDS_ENABLE_BUTTON2,IDS_ENABLE_BUTTON_TIP2,false); - UpdateSetting(L"EnableStartButton",CComVariant(0),false); - pSetting=FindSetting(L"SkipMetro"); - CRegKey regSkip; - DWORD skip=0; - if (regSkip.Open(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StartPage",KEY_READ)==ERROR_SUCCESS) - if (regSkip.QueryDWORDValue(L"OpenAtLogon",skip)!=ERROR_SUCCESS) - skip=0; - pSetting->value=CComVariant(skip==0?1:0); - } - else - { - UpdateSetting(L"SearchMetroSettings",CComVariant(0),false); HideSetting(L"SearchMetroSettings",true); - } - } - else - { - // Windows 7 - HideSettingGroup(L"Metro",true); - UpdateSetting(L"SkipMetro",CComVariant(0),false); HideSetting(L"SkipMetro",true); - UpdateSetting(L"EnableStartButton",CComVariant(0),false); - UpdateSetting(L"AllTaskbars",CComVariant(0),false); HideSetting(L"AllTaskbars",true); - UpdateSetting(L"AllProgramsMetro",CComVariant(0),false); HideSetting(L"AllProgramsMetro",true); - UpdateSetting(L"HideProgramsMetro",CComVariant(0),false); HideSetting(L"HideProgramsMetro",true); - UpdateSetting(L"ShowAppsMenu",CComVariant(0),false); HideSetting(L"ShowAppsMenu",true); - UpdateSetting(L"InvertMetroIcons",CComVariant(0),false); HideSetting(L"InvertMetroIcons",true); - UpdateSetting(L"AeroGlass",CComVariant(0),false); HideSetting(L"AeroGlass",true); - UpdateSettingText(L"EnableStartButton",IDS_ENABLE_BUTTON2,IDS_ENABLE_BUTTON_TIP2,false); - UpdateSetting(L"StartButtonType",CComVariant(IsAppThemed()?START_BUTTON_AERO:START_BUTTON_CLASSIC),false); - - FindSetting(L"WinKey")[4].flags|=CSetting::FLAG_HIDDEN; - FindSetting(L"WinKey")[5].flags|=CSetting::FLAG_HIDDEN; - FindSetting(L"ShiftWin")[4].flags|=CSetting::FLAG_HIDDEN; - UpdateSetting(L"RecentMetroApps",CComVariant(0),false); HideSetting(L"RecentMetroApps",true); - UpdateSetting(L"SearchMetroApps",CComVariant(0),false); HideSetting(L"SearchMetroApps",true); - UpdateSetting(L"SearchMetroSettings",CComVariant(0),false); HideSetting(L"SearchMetroSettings",true); - UpdateSetting(L"HybridShutdown",CComVariant(0),false); HideSetting(L"HybridShutdown",true); - UpdateSetting(L"EnableTouch",CComVariant(0),false); HideSetting(L"EnableTouch",true); -#ifndef STARTSCREEN_WIN7 - UpdateSetting(L"StartScreenShortcut",CComVariant(0),false); HideSetting(L"StartScreenShortcut",true); -#endif - UpdateSetting(L"HighlightNewApps",CComVariant(0),false); HideSetting(L"HighlightNewApps",true); - } - if (GetWinVersion()0) - { - dr/=dc; - dg/=dc; - db/=dc; - } - if (dr<0) dr=0; if (dr>255) dr=255; - if (dg<0) dg=0; if (dg>255) dg=255; - if (db<0) db=0; if (db>255) db=255; - if (da<0) da=0; if (da>255) da=255; - UpdateSetting(L"GlassColor",CComVariant(dr|(dg<<8)|(db<<16)),false); - UpdateSetting(L"GlassIntensity",CComVariant(dc*100/255),false); - UpdateSetting(L"GlassBlending",CComVariant(100-da*100/255),false); - HideSetting(L"GlassOpacity",true); - UpdateSetting(L"EnableGlass",CComVariant(1),false); HideSetting(L"EnableGlass",true); - UpdateSetting(L"TaskbarOpacity",CComVariant(GetWinVersion()<=WIN_VER_WIN7?DEFAULT_TASK_OPACITY7:DEFAULT_TASK_OPACITY8),false); - if (GetWinVersion()>WIN_VER_WIN7) - { - int color=GetSystemGlassColor8(); - UpdateSetting(L"TaskbarColor",CComVariant(((color&0xFF)<<16)|(color&0xFF00)|((color>>16)&0xFF)),false); - } - - if (GetWinVersion()<=WIN_VER_WIN7) - { - UpdateSetting(L"TaskbarLook",CComVariant(TASKBAR_GLASS),false); - } - else - { - FindSetting(L"TaskbarLook")[3].flags|=CSetting::FLAG_HIDDEN; - UpdateSetting(L"TaskbarLook",CComVariant(TASKBAR_TRANSPARENT),false); - } -/* - FindSetting(L"ShiftClick")[6].flags|=CSetting::FLAG_HIDDEN; - FindSetting(L"ShiftWin")[6].flags|=CSetting::FLAG_HIDDEN; - FindSetting(L"MiddleClick")[6].flags|=CSetting::FLAG_HIDDEN;*/ - } - else - { - // Windows 10 - int dr, dg, db; - GetMetroGlassColor(dr,dg,db); - if (dr<0) dr=0; if (dr>255) dr=255; - if (dg<0) dg=0; if (dg>255) dg=255; - if (db<0) db=0; if (db>255) db=255; - UpdateSetting(L"GlassColor",CComVariant(dr|(dg<<8)|(db<<16)),false); - HideSetting(L"GlassIntensity",true); - HideSetting(L"GlassBlending",true); - UpdateSetting(L"AeroGlass",CComVariant(0),false); HideSetting(L"AeroGlass",true); - - bool bTransparent; - int color=GetMetroTaskbarColor(bTransparent)&0xFFFFFF; - UpdateSetting(L"TaskbarLook",CComVariant(bTransparent?TASKBAR_TRANSPARENT:TASKBAR_OPAQUE),false); - UpdateSetting(L"TaskbarColor",CComVariant(color),false); - - FindSetting(L"MouseClick")[4].flags&=~CSetting::FLAG_HIDDEN; - FindSetting(L"ShiftClick")[4].flags&=~CSetting::FLAG_HIDDEN; - FindSetting(L"WinKey")[5].flags|=CSetting::FLAG_HIDDEN; - } - - bool bWSearch=HasSearchService(); - UpdateSettingText(L"SearchFiles",-1,bWSearch?IDS_SEARCH_FILES_TIP:IDS_SEARCH_FILES_TIP2,!bWSearch); - - UpdateSetting(L"MenuItems1",CComVariant(g_DefaultStartMenu1),false); - UpdateSetting(L"MenuItems2",CComVariant(g_DefaultStartMenu2),false); - { - // make games disabled by default if the folder doesn't exist (like on a server) - - const wchar_t *defaultMenu, *gameSettings0, *gameSettings1, *gameSettings2; - if (GetWinVersion() buf(Strlen(defaultMenu)+1); - wchar_t *str=&buf[0]; - Strcpy(str,(int)buf.size(),defaultMenu); - memcpy(wcswcs(str,gameSettings1),gameSettings2,Strlen(gameSettings2)*2); - UpdateSetting(L"MenuItems7",CComVariant(str),false); - } - else - { - UpdateSetting(L"MenuItems7",CComVariant(defaultMenu),false); - } - } - InitStdCommands7(); - - { - const wchar_t *skin12, *skin3; - const wchar_t *options1=L"", *options2=L"", *options3=L""; - bool bClassic; - if (GetWinVersion()WIN_VER_WIN8) - { - for (CSetting *pSetting=g_Settings;pSetting->name;pSetting++) - if (wcscmp(pSetting->name,L"SkipMetro")==0) - { - pSetting->flags|=CSetting::FLAG_NODEFAULT; - break; - } - } - InitSettings(g_Settings,COMPONENT_MENU,&g_CustomSettings); -} - -static int g_ButtonPath, g_ButtonSize, g_ButtonIcon, g_ButtonIconSize, g_ButtonText, g_ButtonTip; -static bool g_bButtonEnable, g_bTaskbarsChanged, g_bTaskbarsUpdated; - -static void StoreButtonSettings( void ) -{ - g_bButtonEnable=GetSettingBool(L"EnableStartButton"); - g_ButtonTip=CalcFNVHash(GetSettingString(L"StartButtonTip")); - g_ButtonPath=GetSettingInt(L"StartButtonType"); - g_ButtonIcon=0; - g_ButtonText=0; - if (g_ButtonPath==START_BUTTON_CLASSIC) - { - g_ButtonIcon=CalcFNVHash(GetSettingString(L"StartButtonIcon")); - g_ButtonText=CalcFNVHash(GetSettingString(L"StartButtonText")); - } - if (g_ButtonPath==START_BUTTON_CUSTOM) - g_ButtonPath=CalcFNVHash(GetSettingString(L"StartButtonPath")); - g_ButtonSize=GetSettingInt(L"StartButtonSize"); - g_ButtonIconSize=GetSettingInt(L"StartButtonIconSize"); -} - -static void UpdateButtons( bool bForce ) -{ - int tip=CalcFNVHash(GetSettingString(L"StartButtonTip")); - int path=GetSettingInt(L"StartButtonType"); - int icon=0; - int text=0; - if (path==START_BUTTON_CLASSIC) - { - icon=CalcFNVHash(GetSettingString(L"StartButtonIcon")); - text=CalcFNVHash(GetSettingString(L"StartButtonText")); - } - if (path==START_BUTTON_CUSTOM) - path=CalcFNVHash(GetSettingString(L"StartButtonPath")); - bool bRecreate=(g_bButtonEnable!=GetSettingBool(L"EnableStartButton") || path!=g_ButtonPath || g_ButtonSize!=GetSettingInt(L"StartButtonSize") - || g_ButtonIcon!=icon || g_ButtonIconSize!=GetSettingInt(L"StartButtonIconSize") || g_ButtonText!=text || g_ButtonTip!=tip); - if ((g_bTaskbarsChanged && !g_bTaskbarsUpdated) || bForce || bRecreate) - { - UpdateTaskBars(bRecreate?TASKBAR_RECREATE_BUTTONS:TASKBAR_UPDATE); - UpdateTaskBars(TASKBAR_UPDATE_TEXTURE); - g_bTaskbarsUpdated=true; - } - StoreButtonSettings(); -} - -void ClosingSettings( HWND hWnd, int flags, int command ) -{ - EnableHotkeys(HOTKEYS_NORMAL); - bool bRecreate=false; - if (command==IDOK) - { - if (flags&CSetting::FLAG_COLD) - MessageBox(hWnd,LoadStringEx(IDS_NEW_SETTINGS),LoadStringEx(IDS_APP_TITLE),MB_OK|MB_ICONWARNING); - if (GetWinVersion()>WIN_VER_WIN8) - { - CRegKey regSkip; - if (regSkip.Open(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StartPage",KEY_WRITE)==ERROR_SUCCESS) - regSkip.SetDWORDValue(L"OpenAtLogon",GetSettingBool(L"SkipMetro")?0:1); - } - } - else if (command==IDCANCEL && g_bTaskbarsChanged) - { - g_bTaskbarsUpdated=false; - } - UpdateButtons(false); - ResetHotCorners(); - RedrawTaskbars(); -} - -void SettingChangedCallback( const CSetting *pSetting ) -{ - if (wcscmp(pSetting->name,L"CustomTaskbar")==0 || wcscmp(pSetting->name,L"TaskbarLook")==0 || wcscmp(pSetting->name,L"TaskbarOpacity")==0 || wcscmp(pSetting->name,L"TaskbarColor")==0 || wcscmp(pSetting->name,L"TaskbarTextColor")==0) - { - UpdateTaskBars(TASKBAR_UPDATE); - UpdateTaskBars(TASKBAR_UPDATE_TEXTURE); - g_bTaskbarsChanged=true; - g_bTaskbarsUpdated=true; - } - else if (wcscmp(pSetting->name,L"TaskbarTexture")==0 || wcscmp(pSetting->name,L"TaskbarTileH")==0 || wcscmp(pSetting->name,L"TaskbarTileV")==0 || wcscmp(pSetting->name,L"TaskbarBordersH")==0 || wcscmp(pSetting->name,L"TaskbarBordersV")==0) - { - UpdateTaskBars(TASKBAR_UPDATE_TEXTURE); - g_bTaskbarsChanged=true; - g_bTaskbarsUpdated=true; - } -/* not sure if I want to ever show the AeroGlass option - if (wcscmp(pSetting->name,L"AeroGlass")==0) - { - CSettingsLockWrite lock; - Assert(pSetting->value.vt==VT_I4); - if (pSetting->value.intVal) - FindSetting(L"TaskbarLook")[4].flags&=~CSetting::FLAG_HIDDEN; - else - FindSetting(L"TaskbarLook")[4].flags|=CSetting::FLAG_HIDDEN; - }*/ -} - -void EditSettings( bool bModal, int tab ) -{ -#ifndef BUILD_SETUP - wchar_t path[_MAX_PATH]; - GetModuleFileName(NULL,path,_countof(path)); - if (_wcsicmp(PathFindFileName(path),L"StartMenu.exe")==0) - bModal=true; -#endif - EnableHotkeys(HOTKEYS_SETTINGS); - StoreButtonSettings(); - g_bTaskbarsChanged=false; - g_bTaskbarsUpdated=true; - - wchar_t title[100]; - DWORD ver=GetVersionEx(g_Instance); - if (ver) - Sprintf(title,_countof(title),LoadStringEx(IDS_SETTINGS_TITLE_VER),ver>>24,(ver>>16)&0xFF,ver&0xFFFF); - else - Sprintf(title,_countof(title),LoadStringEx(IDS_SETTINGS_TITLE)); - EditSettings(title,bModal,tab); -} - -bool DllImportSettingsXml( const wchar_t *fname ) -{ - return ImportSettingsXml(fname); -} - -bool DllExportSettingsXml( const wchar_t *fname ) -{ - return ExportSettingsXml(fname); -} diff --git a/Src/StartMenu/StartMenuDLL/SettingsUI.h b/Src/StartMenu/StartMenuDLL/SettingsUI.h deleted file mode 100644 index 1355858..0000000 --- a/Src/StartMenu/StartMenuDLL/SettingsUI.h +++ /dev/null @@ -1,95 +0,0 @@ -// 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 ); diff --git a/Src/StartMenu/StartMenuDLL/SkinDescription.txt b/Src/StartMenu/StartMenuDLL/SkinDescription.txt deleted file mode 100644 index 5f8d130..0000000 --- a/Src/StartMenu/StartMenuDLL/SkinDescription.txt +++ /dev/null @@ -1,23 +0,0 @@ -; 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 diff --git a/Src/StartMenu/StartMenuDLL/SkinDescription7.txt b/Src/StartMenu/StartMenuDLL/SkinDescription7.txt deleted file mode 100644 index 145d665..0000000 --- a/Src/StartMenu/StartMenuDLL/SkinDescription7.txt +++ /dev/null @@ -1,32 +0,0 @@ -; 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 diff --git a/Src/StartMenu/StartMenuDLL/SkinManager.cpp b/Src/StartMenu/StartMenuDLL/SkinManager.cpp deleted file mode 100644 index b3b1786..0000000 --- a/Src/StartMenu/StartMenuDLL/SkinManager.cpp +++ /dev/null @@ -1,3299 +0,0 @@ -// 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 "SkinManager.h" -#include "ItemManager.h" -#include "LogManager.h" -#include "SettingsParser.h" -#include "Settings.h" -#include "SettingsUI.h" -#include "Translations.h" -#include "ResourceHelper.h" -#include "FNVHash.h" -#include "dllmain.h" -#include "IatHookHelper.h" -#include "MenuContainer.h" -#include "ProgramsTree.h" -#include -#include - -//#define SIMULATE_METRO_COLORS "win8_blue" - -#ifdef BUILD_SETUP -#undef SIMULATE_METRO_COLORS -#endif - -static struct -{ - const wchar_t *name; - int code; -} g_SystemColors[]= -{ - {L"SystemScrollbar",COLOR_SCROLLBAR}, - {L"SystemBackground",COLOR_BACKGROUND}, - {L"SystemActiveCaption",COLOR_ACTIVECAPTION}, - {L"SystemInactiveCaption",COLOR_INACTIVECAPTION}, - {L"SystemMenu",COLOR_MENU}, - {L"SystemWindow",COLOR_WINDOW}, - {L"SystemWindowFrame",COLOR_WINDOWFRAME}, - {L"SystemMenuText",COLOR_MENUTEXT}, - {L"SystemWindowText",COLOR_WINDOWTEXT}, - {L"SystemCaptionText",COLOR_CAPTIONTEXT}, - {L"SystemActiveBorder",COLOR_ACTIVEBORDER}, - {L"SystemInactiveBorder",COLOR_INACTIVEBORDER}, - {L"SystemAppWorkspace",COLOR_APPWORKSPACE}, - {L"SystemHighlight",COLOR_HIGHLIGHT}, - {L"SystemHighlightText",COLOR_HIGHLIGHTTEXT}, - {L"SystemBtnFace",COLOR_BTNFACE}, - {L"SystemBtnShadow",COLOR_BTNSHADOW}, - {L"SystemGrayText",COLOR_GRAYTEXT}, - {L"SystemBtnText",COLOR_BTNTEXT}, - {L"SystemInactiveCaptionText",COLOR_INACTIVECAPTIONTEXT}, - {L"SystemBtnHighlight",COLOR_BTNHIGHLIGHT}, - {L"System3DDKShadow",COLOR_3DDKSHADOW}, - {L"System3DLight",COLOR_3DLIGHT}, - {L"SystemInfoText",COLOR_INFOTEXT}, - {L"SystemInfoBK",COLOR_INFOBK}, - {L"SystemHotLight",COLOR_HOTLIGHT}, - {L"SystemGradientActiveCaption",COLOR_GRADIENTACTIVECAPTION}, - {L"SystemGradientInactiveCaption",COLOR_GRADIENTINACTIVECAPTION}, - {L"SystemMenuHilight",COLOR_MENUHILIGHT}, - {L"SystemMenuBar",COLOR_MENUBAR}, -}; - -wchar_t MenuSkin::s_SkinError[1024]; - -const RECT DEFAULT_ICON_PADDING={3,3,3,3}; -const RECT DEFAULT_TEXT_PADDING={1,2,8,2}; -const SIZE DEFAULT_ARROW_PADDING={5,7}; -const int DEFAULT_SEPARATOR_WIDTH=4; -const int DEFAULT_SEPARATOR_HEIGHT=8; -const POINT DEFAULT_USER_IMAGE_PADDING={-4,8}; -const RECT DEFAULT_SEARCH_PADDING={4,4,4,4}; - -static int g_GlassColorR, g_GlassColorG, g_GlassColorB, g_GlassColorA; - -#ifdef SIMULATE_METRO_COLORS -struct SimMetroColor -{ - unsigned int nameHash; - COLORREF color; -}; -static std::vector g_MetroColors; - -static int GetImmersiveUserColorSetPreference( bool bForceCheckRegistry, bool bSkipCheckOnFail ) -{ - return 0; -} - -static COLORREF GetImmersiveColorFromColorSetEx( UINT dwImmersiveColorSet, UINT dwImmersiveColorType, bool bIgnoreHighContrast, UINT dwHighContrastCacheMode ) -{ - return g_MetroColors[dwImmersiveColorType].color; -} - -static int GetImmersiveColorTypeFromName( const wchar_t *name ) -{ - if (wcsncmp(name,L"Immersive",9)==0) - { - unsigned int crc=CalcFNVHash(name+9); - for (int i=0;i<(int)g_MetroColors.size();i++) - if (g_MetroColors[i].nameHash==crc) - return i; - } - return -1; -} - -#else -typedef int (WINAPI *TGetImmersiveUserColorSetPreference)(bool bForceCheckRegistry, bool bSkipCheckOnFail); -typedef COLORREF (WINAPI *TGetImmersiveColorFromColorSetEx)(UINT dwImmersiveColorSet, UINT dwImmersiveColorType, bool bIgnoreHighContrast, UINT dwHighContrastCacheMode); -typedef int (WINAPI *TGetImmersiveColorTypeFromName)(const wchar_t *name); - -static TGetImmersiveUserColorSetPreference GetImmersiveUserColorSetPreference; -static TGetImmersiveColorFromColorSetEx GetImmersiveColorFromColorSetEx; -static TGetImmersiveColorTypeFromName GetImmersiveColorTypeFromName; -#endif -static int g_CurrentMetroColorSet; - -void MenuBitmap::Init( bool bIsColor ) -{ - bIsBitmap=!bIsColor; - bIsOwned=false; - bitmap=NULL; -} - -void MenuBitmap::Reset( bool bIsColor ) -{ - if (bIsOwned && GetBitmap()) - { - BOOL res=DeleteObject(bitmap); - Assert(res); - } - Init(bIsColor); -} - -MenuSkin::MenuSkin( void ) -{ - Hash=0; - AboutIcon=NULL; - BOwnHintFont=false; - BHasScrollbar=false; - BHasMetroColors=false; - Main_bitmap.Init(); - Main_bitmap_search.Init(); - Main_bitmap_jump.Init(); - Caption_font=NULL; - User_font=NULL; - Main_separatorV.Init(); - Main_pager.Init(); - Main_pager_arrows.Init(); - User_bitmap.Init(); - User_mask.Init(); - Programs_icon.Init(); - Programs_icon_selected.Init(); - Scrollbar_button.Init(); - Scrollbar_arrows.Init(); - Scrollbar_background.Init(); - Scrollbar_thumb.Init(); - Scrollbar_gripper.Init(); - Submenu_bitmap.Init(); - Submenu_separatorV.Init(); - Submenu_pager.Init(); - Submenu_pager_arrows.Init(); - Pin_bitmap.Init(); - More_bitmap.Init(); - Shutdown_bitmap.Init(); - Search_bitmap.Init(); - Search_arrow.Init(); - Search_background.Init(); - Search_background_search.Init(); - Search_background_jump.Init(); - for (int i=0;i<_countof(Main_emblems);i++) - Main_emblems[i].Init(); - Main_emblem_mask.Init(); - Main_emblem_search_mask.Init(); - Main_emblem_jump_mask.Init(); - Search_emblem_mask.Init(); - Search_emblem_search_mask.Init(); - Search_emblem_jump_mask.Init(); - for (int i=0;i<_countof(Patterns);i++) - Patterns[i].Init(); - Main_pattern_mask.Init(); - Main_pattern_search_mask.Init(); - Main_pattern_jump_mask.Init(); - Search_pattern_mask.Init(); - Search_pattern_search_mask.Init(); - Search_pattern_jump_mask.Init(); - Search_hint_font=NULL; - Search_underline_font=NULL; - for (int i=0;i<_countof(ItemSettings);i++) - ItemSettings[i].Init(); -} - -void MenuSkin::ItemDrawSettings::Init( void ) -{ - font=NULL; - bOwnFont=true; - glowSize=0; - memset(textColors,0,sizeof(textColors)); - memset(textShadowColors,-1,sizeof(textShadowColors)); - memset(&textPadding,0,sizeof(textPadding)); - memset(selSlicesX,0,sizeof(selSlicesX)); - memset(selSlicesY,0,sizeof(selSlicesY)); - arrSize.cx=arrSize.cy=0; - memset(arrColors,0,sizeof(arrColors)); - arrPadding.cx=arrPadding.cy=0; - memset(frameSlicesX,0,sizeof(frameSlicesX)); - memset(frameSlicesY,0,sizeof(frameSlicesY)); - iconFrameOffset.x=iconFrameOffset.y=0; - memset(&iconPadding,0,sizeof(iconPadding)); - memset(sepSlicesX,0,sizeof(sepSlicesX)); - sepHeight=0; - opacity=MenuSkin::OPACITY_SOLID; - textTopOffset=iconTopOffset=0; - - bmpSelection.Init(); - bmpArrow.Init(); - bmpIconFrame.Init(); - bmpSeparator.Init(); -} - -void MenuSkin::ItemDrawSettings::Reset( void ) -{ - if (font && bOwnFont) - { - DeleteObject(font); - font=NULL; - bOwnFont=true; - } - bmpSelection.Reset(); - bmpArrow.Reset(); - bmpIconFrame.Reset(); - bmpSeparator.Reset(); -} - -MenuSkin::~MenuSkin( void ) -{ - Reset(); -} - -void MenuSkin::Reset( void ) -{ - if (AboutIcon) DestroyIcon(AboutIcon); - AboutIcon=NULL; - Main_bitmap.Reset(); - Main_bitmap_search.Reset(); - Main_bitmap_jump.Reset(); - if (Caption_font) DeleteObject(Caption_font); - Caption_font=NULL; - if (User_font) DeleteObject(User_font); - User_font=NULL; - Main_separatorV.Reset(); - User_bitmap.Reset(); - User_mask.Reset(); - Programs_icon.Reset(); - Programs_icon_selected.Reset(); - Scrollbar_button.Reset(); - Scrollbar_arrows.Reset(); - Scrollbar_background.Reset(); - Scrollbar_thumb.Reset(); - Scrollbar_gripper.Reset(); - Submenu_bitmap.Reset(); - Submenu_separatorV.Reset(); - Main_pager.Reset(); - Main_pager_arrows.Reset(); - Submenu_pager.Reset(); - Submenu_pager_arrows.Reset(); - Pin_bitmap.Reset(); - More_bitmap.Reset(); - Shutdown_bitmap.Reset(); - Search_bitmap.Reset(); - Search_arrow.Reset(); - Search_background.Reset(); - Search_background_search.Reset(); - Search_background_jump.Reset(); - for (int i=0;i<_countof(Main_emblems);i++) - Main_emblems[i].Reset(); - Main_emblem_mask.Reset(); - Main_emblem_search_mask.Reset(); - Main_emblem_jump_mask.Reset(); - Search_emblem_mask.Reset(); - Search_emblem_search_mask.Reset(); - Search_emblem_jump_mask.Reset(); - for (int i=0;i<_countof(Patterns);i++) - { - Patterns[i].Reset(); - PatternBits[i].clear(); - } - Main_pattern_mask.Reset(); - Main_pattern_search_mask.Reset(); - Main_pattern_jump_mask.Reset(); - Search_pattern_mask.Reset(); - Search_pattern_search_mask.Reset(); - Search_pattern_jump_mask.Reset(); - PatternPretileWidth=0; - if (Search_hint_font && BOwnHintFont) DeleteObject(Search_hint_font); - BOwnHintFont=false; - BHasScrollbar=false; - BHasMetroColors=false; - Search_hint_font=NULL; - if (Search_underline_font) DeleteObject(Search_underline_font); - Search_underline_font=NULL; - for (int i=0;i<_countof(ItemSettings);i++) - ItemSettings[i].Reset(); - - for (std::vector::const_iterator it=CustomBitmaps.begin();it!=CustomBitmaps.end();++it) - DeleteObject(it->bitmap); - CustomBitmaps.clear(); - - Options.clear(); - Variations.clear(); - Hash=0; - MetroColorHash=0; - MetroColors.clear(); -} - -static void GetErrorMessage( wchar_t *err, int size, DWORD code ) -{ - FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,code,0,err,size,NULL); -} - -int MenuSkin::ScaleSkinElement( int num, int scale ) const -{ - int ddpi=Dpi-96; - if (ddpi<=0) - return num; - if (num<0) - return (num*(9600+ddpi*scale)-4800)/9600; - else - return (num*(9600+ddpi*scale)+4800)/9600; -} - -COLORREF MenuSkin::GetMetroColor( const wchar_t *names ) const -{ - unsigned int crc=CalcFNVHash(names); - std::map::const_iterator it=MetroColors.find(crc); - if (it!=MetroColors.end()) - return it->second.color; - - MetroColor data={0}; - - wchar_t name[100]; - while (*names) - { - if (names[0]=='#') - { - wchar_t *end; - data.color=wcstoul(names+1,&end,16); - break; - } - if (names[0]=='$') - names++; - names=GetToken(names,name,_countof(name),L"|"); - - bool bFound=false; - if (wcsncmp(name,L"System",6)==0) - { - for (int i=0;i<_countof(g_SystemColors);i++) - { - if (wcscmp(name,g_SystemColors[i].name)==0) - { - data.colorType=-2-g_SystemColors[i].code; - COLORREF color=GetSysColor(g_SystemColors[i].code); - data.color=((color&0xFF)<<16)|(color&0xFF00)|((color>>16)&0xFF); - bFound=true; - break; - } - } - } - - if (!bFound) - { - BHasMetroColors=true; - if (GetImmersiveUserColorSetPreference!=NULL) - { - wchar_t text[256]; - Sprintf(text,_countof(text),L"Immersive%s",name); - int type=GetImmersiveColorTypeFromName(text); - data.colorType=type<0?-1:type; - if (type>=0) - { - DWORD color=GetImmersiveColorFromColorSetEx(g_CurrentMetroColorSet,type,true,0); - data.color=((color&0xFF)<<16)|(color&0xFF00)|((color>>16)&0xFF); - bFound=true; - } - } - } - if (bFound) - break; - } - - data.color|=0xFF000000; - MetroColors[crc]=data; - return data.color; -} - -unsigned int MenuSkin::CalcMetroColorHash( int set ) const -{ - // if set is -1 returns the currently cached colors - unsigned int hash=FNV_HASH0; - for (std::map::const_iterator it=MetroColors.begin();it!=MetroColors.end();++it) - { - COLORREF color=0; - if (set==-1) - color=it->second.color; - else if (it->second.colorType<-1) - { - color=GetSysColor(-2-it->second.colorType); - color=((color&0xFF)<<16)|(color&0xFF00)|((color>>16)&0xFF); - } - else if (it->second.colorType>=0) - { - color=GetImmersiveColorFromColorSetEx(set,it->second.colorType,true,0); - color=((color&0xFF)<<16)|(color&0xFF00)|((color>>16)&0xFF); - } - color|=0xFF000000; - hash=CalcFNVHash(&color,sizeof(color),hash); - } - return hash; -} - -int MenuSkin::LoadSkinNumbers( const wchar_t *str, int *numbers, int count, TSkinNumberType type ) const -{ - memset(numbers,0,count*4); - for (int i=0;i>16)&0xFF); - else if (type==NUMBERS_COLORS_ABGR) - { - if (Strlen(token+1)==6) - num|=0xFF000000; - numbers[i]=((num&0xFF)<<16)|(num&0xFF00FF00)|((num>>16)&0xFF); - } - else - numbers[i]=num; - } - - if (type==NUMBERS_PADDING || type==NUMBERS_SIZE) - { - int scale=0; - for (int i=0;i100) scale=100; - } - numbers[i]=ScaleSkinElement(numbers[i],scale); - } - } - return count; -} - -RECT MenuSkin::ScaleSkinElement( const RECT &rect ) const -{ - RECT res; - res.left=ScaleSkinElement(rect.left); - res.right=ScaleSkinElement(rect.right); - res.top=ScaleSkinElement(rect.top); - res.bottom=ScaleSkinElement(rect.bottom); - return res; -} - -POINT MenuSkin::ScaleSkinElement( const POINT &point ) const -{ - POINT res; - res.x=ScaleSkinElement(point.x); - res.y=ScaleSkinElement(point.y); - return res; -} - -SIZE MenuSkin::ScaleSkinElement( const SIZE &size ) const -{ - SIZE res; - res.cx=ScaleSkinElement(size.cx); - res.cy=ScaleSkinElement(size.cy); - return res; -} - -HFONT MenuSkin::LoadSkinFont( const wchar_t *str, const wchar_t *name, int weight, float size, bool bScale ) const -{ - DWORD quality=DEFAULT_QUALITY; - int smoothing=GetSettingInt(L"FontSmoothing"); - if (smoothing==1) - quality=NONANTIALIASED_QUALITY; - else if (smoothing==2) - quality=ANTIALIASED_QUALITY; - if (smoothing==3) - quality=CLEARTYPE_QUALITY; - wchar_t token[256]; - bool bItalic=false; - int scale=bScale?100:0; - if (str) - { - if (_wcsicmp(str,L"none")==0) - return NULL; - str=GetToken(str,token,_countof(token),L", \t"); - name=token; - wchar_t token2[256]; - str=GetToken(str,token2,_countof(token2),L", \t"); - weight=FW_NORMAL; - if (_wcsicmp(token2,L"bold")==0) - weight=FW_BOLD; - else if (_wcsicmp(token2,L"italic")==0) - bItalic=true; - else if (_wcsicmp(token2,L"bold_italic")==0) - weight=FW_BOLD, bItalic=true; - str=GetToken(str,token2,_countof(token2),L", \t"); - size=(float)_wtof(token2); - str=GetToken(str,token2,_countof(token2),L", \t"); - if (token2[0] && token2[Strlen(token2)-1]=='%') - { - scale=_wtol(token2); - if (scale<0) scale=0; - if (scale>100) scale=100; - } - } - else if (!name) - { - // get the default menu font - NONCLIENTMETRICS metrics={sizeof(metrics)}; - SystemParametersInfo(SPI_GETNONCLIENTMETRICS,NULL,&metrics,0); - metrics.lfMenuFont.lfQuality=(BYTE)quality; - return CreateFontIndirect(&metrics.lfMenuFont); - } - size=ScaleSkinElement((int)(size*96),scale)/72.f; - return CreateFont((int)size,0,0,0,weight,bItalic?1:0,0,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,quality,DEFAULT_PITCH,name); -} - -static HICON LoadSkinIcon( HMODULE hMod, int index ) -{ - if (hMod) - { - return (HICON)LoadImage(hMod,MAKEINTRESOURCE(index),IMAGE_ICON,0,0,LR_DEFAULTSIZE); - } - else - { - wchar_t path[_MAX_PATH]; - GetSkinsPath(path); - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s%d.ico",path,index); - return (HICON)LoadImage(NULL,fname,IMAGE_ICON,0,0,LR_DEFAULTSIZE|LR_LOADFROMFILE); - } -} - -struct DWMCOLORIZATIONPARAMS -{ - DWORD ColorizationColor; - DWORD ColorizationAfterglow; - DWORD ColorizationColorBalance; - DWORD ColorizationAfterglowBalance; - DWORD ColorizationBlurBalance; - DWORD ColorizationGlassReflectionIntensity; - DWORD ColorizationOpaqueBlend; - DWORD extra; // Win8 has extra parameter -}; - -static bool GetSkinColorizationParameters( DWMCOLORIZATIONPARAMS *params ) -{ - typedef HRESULT (WINAPI *tGetColorizationParameters)(DWMCOLORIZATIONPARAMS *params); - - // HACK: the system function DwmGetColorizationColor is buggy on Win 7. its calculations can overflow and return a totally wrong value - // (try orange color with full intensity and no transparency - you'll get alpha=0 and green color). so here we use the undocumented - // function GetColorizationParameters exported by dwmapi.dll, ordinal 127 and then compute the colors manually using integer math - HMODULE hMod=GetModuleHandle(L"dwmapi.dll"); - if (!hMod) return false; - tGetColorizationParameters GetColorizationParameters=(tGetColorizationParameters)GetProcAddress(hMod,MAKEINTRESOURCEA(127)); - if (!GetColorizationParameters || FAILED(GetColorizationParameters(params))) - return false; - if (GetWinVersion()>=WIN_VER_WIN8) - params->ColorizationOpaqueBlend=0; // Win8 has no transparency - return true; -} - -COLORREF GetSystemGlassColor8( void ) -{ - COLORREF color=0; - DWMCOLORIZATIONPARAMS params; - if (GetSkinColorizationParameters(¶ms)) - { - int r=(params.ColorizationColor>>16)&255; - int g=(params.ColorizationColor>>8)&255; - int b=(params.ColorizationColor)&255; - int gray=217*(100-params.ColorizationColorBalance)+50; - r=(r*params.ColorizationColorBalance+gray)/100; - g=(g*params.ColorizationColorBalance+gray)/100; - b=(b*params.ColorizationColorBalance+gray)/100; - r=(r*200+127)/255; - g=(g*200+127)/255; - b=(b*200+127)/255; - color=(r<<16)|(g<<8)|b|(params.ColorizationColor&0xFF000000); - } - return color; -} - -void GetSystemGlassColor( int &dr, int &dg, int &db, int &da, int &dc ) -{ - dr=dg=db=da=dc=0; - DWMCOLORIZATIONPARAMS params; - if (GetSkinColorizationParameters(¶ms)) - { - // boost the color balance to better match the Windows 7 menu - params.ColorizationColorBalance=(int)(100.f*powf(params.ColorizationColorBalance/100.f,0.5f)); - int ir=(params.ColorizationColor>>16)&255; - int ig=(params.ColorizationColor>>8)&255; - int ib=(params.ColorizationColor)&255; - - int ir2=(params.ColorizationAfterglow>>16)&255; - int ig2=(params.ColorizationAfterglow>>8)&255; - int ib2=(params.ColorizationAfterglow)&255; - - int brightness=(ir*21+ig*72+ib*7)/255; // [0..100] - int glowBalance=(brightness*params.ColorizationAfterglowBalance)/100; // [0..100] - - dr=MulDiv(ir2*glowBalance+ir*100,params.ColorizationColorBalance*255,10000); - dg=MulDiv(ig2*glowBalance+ig*100,params.ColorizationColorBalance*255,10000); - db=MulDiv(ib2*glowBalance+ib*100,params.ColorizationColorBalance*255,10000); - dc=(glowBalance+100)*params.ColorizationColorBalance*255/10000; - - da=(100-params.ColorizationAfterglowBalance-params.ColorizationBlurBalance)*255/100; - if (params.ColorizationOpaqueBlend || da>=255) - da=255; - else if (da<=0) - dr=dg=db=da=0; - } -} - -void GetMetroGlassColor( int &dr, int &dg, int &db ) -{ - if (GetImmersiveUserColorSetPreference!=NULL) - { - int type=GetImmersiveColorTypeFromName(L"ImmersiveStartBackground"); - if (type>=0) - { - int set=GetImmersiveUserColorSetPreference(false,false); - DWORD color=GetImmersiveColorFromColorSetEx(set,type,true,0); - db=((color>>16)&255); - dg=((color>>8)&255); - dr=((color)&255); - return; - } - } - dr=dg=db=0; -} - -COLORREF GetMetroTaskbarColor( bool &bTransparent ) -{ - bTransparent=true; - if (GetImmersiveUserColorSetPreference!=NULL) - { - CRegKey regTheme; - if (regTheme.Open(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize",KEY_READ)==ERROR_SUCCESS) - { - DWORD trans=1; - bTransparent=regTheme.QueryDWORDValue(L"EnableTransparency",trans)!=ERROR_SUCCESS || trans; - } - int type=GetImmersiveColorTypeFromName(bTransparent?L"ImmersiveSystemAccentDark3":L"ImmersiveSystemAccentDark2"); - if (type>=0) - { - int set=GetImmersiveUserColorSetPreference(false,false); - return GetImmersiveColorFromColorSetEx(set,type,true,0); - } - } - return 0; -} - -COLORREF GetSystemAccentColor( void ) -{ - if (GetImmersiveUserColorSetPreference!=NULL && GetWinVersion()>=WIN_VER_WIN10) - { - int type=GetImmersiveColorTypeFromName(L"ImmersiveSystemAccent"); - if (type>=0) - { - int set=GetImmersiveUserColorSetPreference(false,false); - return GetImmersiveColorFromColorSetEx(set,type,true,0); - } - } - return 0; -} - -static void GetMenuGlassColor( int &dr, int &dg, int &db, int &da ) -{ - if (GetWinVersion()>=WIN_VER_WIN10) - { - bool bDef=true; - if (GetSettingBool(L"GlassOverride")) - { - COLORREF color=GetSettingInt(L"GlassColor",bDef); - db=((color>>16)&255); - dg=((color>>8)&255); - dr=((color)&255); - } - if (bDef) - GetMetroGlassColor(dr,dg,db); - dr*=255; - dg*=255; - db*=255; - da=255; - } - else - { - bool bDef=true; - if (GetSettingBool(L"GlassOverride")) - { - bool bDef1, bDef2, bDef3; - COLORREF color=GetSettingInt(L"GlassColor",bDef1); - int intensity=GetSettingInt(L"GlassIntensity",bDef2); - da=GetSettingInt(L"GlassBlending",bDef3); - bDef=bDef1 && bDef2 && bDef3; - if (!bDef) - { - db=((color>>16)&255); - dg=((color>>8)&255); - dr=((color)&255); - - if (intensity<0) intensity=0; - if (intensity>100) intensity=100; - intensity=(intensity*255)/100; - dr*=intensity; - dg*=intensity; - db*=intensity; - - if (da<0) da=0; - if (da>100) da=100; - da=((100-da)*255)/100; - } - } - - if (bDef) - { - int dc; - GetSystemGlassColor(dr,dg,db,da,dc); - } - } -} - -const COLORREF DEFAULT_GLASS_COLOR=0x00000000; -const COLORREF DEFAULT_GLASS_CONFLICT=0x00000001; - -static void BlendColor( int &r, int &g, int &b, int a1, int a2, int a3, COLORREF tintColor1, COLORREF tintColor2, COLORREF tintColor3 ) -{ - int tr1, tg1, tb1; - int ta2=tintColor2>>24, tr2=(tintColor2)&255, tg2=(tintColor2>>8)&255, tb2=(tintColor2>>16)&255; - int ta3=tintColor3>>24, tr3=(tintColor3)&255, tg3=(tintColor3>>8)&255, tb3=(tintColor3>>16)&255; - int a1m=1; - if (tintColor1==DEFAULT_GLASS_COLOR) - { - a1m=g_GlassColorA; - tr1=g_GlassColorR; - tg1=g_GlassColorG; - tb1=g_GlassColorB; - } - else - { - a1*=tintColor1>>24; - tr1=(tintColor1)&255; - tg1=(tintColor1>>8)&255; - tb1=(tintColor1>>16)&255; - } - a2*=ta2; - a3*=ta3; - int a4=255*255-a1*a1m-a2-a3; if (a4<0) a4=0; - r=(tr1*a1+tr2*a2+tr3*a3+r*a4)/(255*255); - g=(tg1*a1+tg2*a2+tg3*a3+g*a4)/(255*255); - b=(tb1*a1+tb2*a2+tb3*a3+b*a4)/(255*255); - if (r>255) r=255; - if (g>255) g=255; - if (b>255) b=255; -} - -static void BlendColor( COLORREF &color, COLORREF mask, COLORREF tintColor1, COLORREF tintColor2, COLORREF tintColor3 ) -{ - int r=(color)&255, g=(color>>8)&255, b=(color>>16)&255; - int a1=(mask)&255, a2=(mask>>8)&255, a3=(mask>>16)&255; - BlendColor(r,g,b,a1,a2,a3,tintColor1,tintColor2,tintColor3); - color=(b<<16)|(g<<8)|r; -} - -static HBITMAP DuplicateBitmap( HBITMAP src ) -{ - BITMAP info; - GetObject(src,sizeof(info),&info); - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=info.bmWidth; - bi.bmiHeader.biHeight=info.bmHeight; - bi.bmiHeader.biPlanes=info.bmPlanes; - bi.bmiHeader.biBitCount=info.bmBitsPixel; - HDC hdc=CreateCompatibleDC(NULL); - void *bits; - HBITMAP dst=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,&bits,NULL,0); - DeleteDC(hdc); - memcpy(bits,info.bmBits,info.bmHeight*info.bmWidthBytes); - return dst; -} - -void MenuSkin::LoadSkinTintColors( CSkinParser &parser, const wchar_t *name, COLORREF &tintColor1, COLORREF &tintColor2, COLORREF &tintColor3, COLORREF backgroundColor ) const -{ - wchar_t name2[256]; - Sprintf(name2,_countof(name2),L"%s_tint1",name); - const wchar_t *str=parser.FindSetting(name2); - if (str && _wcsicmp(str,L"$Default")!=0 && LoadSkinNumbers(str,(int*)&tintColor1,1,NUMBERS_COLORS_ABGR)) - { - if (tintColor1==DEFAULT_GLASS_COLOR) - tintColor1=DEFAULT_GLASS_CONFLICT; - } - else - tintColor1=DEFAULT_GLASS_COLOR; - - Sprintf(name2,_countof(name2),L"%s_tint2",name); - str=parser.FindSetting(name2); - if (!str || _wcsicmp(str,L"$Default")==0 || !LoadSkinNumbers(str,(int*)&tintColor2,1,NUMBERS_COLORS_ABGR)) - tintColor2=backgroundColor|0xFF000000; - - Sprintf(name2,_countof(name2),L"%s_tint3",name); - str=parser.FindSetting(name2); - if (!str || _wcsicmp(str,L"$Default")==0 || !LoadSkinNumbers(str,(int*)&tintColor3,1,NUMBERS_COLORS_ABGR)) - tintColor3=0; -} - -bool MenuSkin::LoadSkinColors( CSkinParser &parser, const wchar_t *name, COLORREF *colors, int count, COLORREF backgroundColor, TSkinNumberType type ) const -{ - const wchar_t *str=parser.FindSetting(name); - if (!str || !LoadSkinNumbers(str,(int*)colors,count,type)) - return false; - - if (count>10) return false; - wchar_t name2[256]; - Sprintf(name2,_countof(name2),L"%s_mask",name); - str=parser.FindSetting(name2); - if (str) - { - COLORREF masks[10], tintColor1, tintColor2, tintColor3; - if (LoadSkinNumbers(str,(int*)masks,count,NUMBERS_COLORS)) - { - LoadSkinTintColors(parser,name,tintColor1,tintColor2,tintColor3,backgroundColor); - for (int i=0;i0 - bitmap ID - // if maskIndex<0 - color RGB - MenuBitmap res; - res.Init(); - wchar_t err[1024]; - HBITMAP bmp=NULL; - if (index>0) - { - if ((index&0xFF000000)==0x0F000000) - { - bmp=DuplicateBitmap(CustomBitmaps[index&0xFFFFFF].bitmap); - } - else if (hMod) - { - bmp=(HBITMAP)LoadImage(hMod,MAKEINTRESOURCE(index),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - if (!bmp) - bmp=LoadImageResource(hMod,MAKEINTRESOURCE(index),false,false); - if (!bmp) - { - GetErrorMessage(err,_countof(err),GetLastError()); - Sprintf(MenuSkin::s_SkinError,_countof(MenuSkin::s_SkinError),LoadStringEx(IDS_SKIN_ERR_BMPRES),index,err); - return res; - } - } - else - { - wchar_t path[_MAX_PATH]; - GetSkinsPath(path); - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s%d.bmp",path,index); - bmp=(HBITMAP)LoadImage(NULL,fname,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE); - if (!bmp) - { - GetErrorMessage(err,_countof(err),GetLastError()); - Sprintf(MenuSkin::s_SkinError,_countof(MenuSkin::s_SkinError),LoadStringEx(IDS_SKIN_ERR_BMPFILE),fname,err); - return res; - } - } - } - - HBITMAP bmpMask=NULL; - BITMAP infoMask={0}; - if (maskIndex>0) - { - if ((maskIndex&0xFF000000)==0x0F000000) - { - bmpMask=DuplicateBitmap(CustomBitmaps[maskIndex&0xFFFFFF].bitmap); - } - else if (hMod) - { - bmpMask=(HBITMAP)LoadImage(hMod,MAKEINTRESOURCE(maskIndex),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); - if (!bmpMask) - bmpMask=LoadImageResource(hMod,MAKEINTRESOURCE(maskIndex),false,false); - if (!bmpMask) - { - GetErrorMessage(err,_countof(err),GetLastError()); - Sprintf(MenuSkin::s_SkinError,_countof(MenuSkin::s_SkinError),LoadStringEx(IDS_SKIN_ERR_MASKRES),maskIndex,err); - } - } - else - { - wchar_t path[_MAX_PATH]; - GetSkinsPath(path); - wchar_t fname[_MAX_PATH]; - Sprintf(fname,_countof(fname),L"%s%d.bmp",path,maskIndex); - bmpMask=(HBITMAP)LoadImage(NULL,fname,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE); - if (!bmpMask) - { - GetErrorMessage(err,_countof(err),GetLastError()); - Sprintf(MenuSkin::s_SkinError,_countof(MenuSkin::s_SkinError),LoadStringEx(IDS_SKIN_ERR_MASKFILE),fname,err); - } - } - if (!bmpMask) - { - res=bmpMask; - return res; - } - GetObject(bmpMask,sizeof(infoMask),&infoMask); - if (index<0) - { - unsigned int colorRGB=index&0xFFFFFF; - BITMAPINFO bi={0}; - bi.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); - bi.bmiHeader.biWidth=infoMask.bmWidth; - bi.bmiHeader.biHeight=infoMask.bmHeight; - bi.bmiHeader.biPlanes=1; - bi.bmiHeader.biBitCount=32; - HDC hdc=CreateCompatibleDC(NULL); - unsigned int *bits; - bmp=CreateDIBSection(hdc,&bi,DIB_RGB_COLORS,(void**)&bits,NULL,0); - if (infoMask.bmBitsPixel==32) - { - unsigned int *ptrMask=(unsigned int*)infoMask.bmBits; - for (int i=infoMask.bmWidth*infoMask.bmHeight-1;i>=0;i--) - bits[i]=colorRGB|(ptrMask[i]&0xFF000000); - } - else - { - for (int i=infoMask.bmWidth*infoMask.bmHeight-1;i>=0;i--) - bits[i]=colorRGB|0xFF000000; - } - DeleteDC(hdc); - } - } - else if (maskIndex<0) - { - infoMask.bmBits=&maskIndex; - } - - BITMAP info; - GetObject(bmp,sizeof(info),&info); - - if (bmpMask && index>0 && (info.bmWidth!=infoMask.bmWidth || info.bmHeight!=infoMask.bmHeight)) - { - Sprintf(MenuSkin::s_SkinError,_countof(MenuSkin::s_SkinError),LoadStringEx(IDS_SKIN_ERR_MASKSIZE),index,maskIndex); - } - - if (maskIndex<0 || (bmpMask && info.bmWidth==infoMask.bmWidth && info.bmHeight==infoMask.bmHeight)) - { - // apply color mask - unsigned char *ptr=(unsigned char*)info.bmBits; - int stride=info.bmBitsPixel/8; - int pad=stride*info.bmWidth; - pad=((pad+3)&~3)-pad; - unsigned char *ptrMask=(unsigned char*)infoMask.bmBits; - int strideMask=infoMask.bmBitsPixel/8; - int padMask=strideMask*info.bmWidth; - padMask=((padMask+3)&~3)-padMask; - - for (int y=0;y>24); - int r=(pixel>>16)&255; - int g=(pixel>>8)&255; - int b=(pixel)&255; - r=(r*a)/255; - g=(g*a)/255; - b=(b*a)/255; - pixel=(a<<24)|(r<<16)|(g<<8)|b; - } - } - return res; -} - -static void MirrorBitmap( HBITMAP bmp ) -{ - BITMAP info; - GetObject(bmp,sizeof(info),&info); - - unsigned char *ptr=(unsigned char*)info.bmBits; - if (!ptr) return; - int stride=info.bmBitsPixel/8; - int pitch=(stride*info.bmWidth+3)&~3; - for (int y=0;y=(int)CustomBitmaps.size()) return true; - id|=0x0F000000; - } - else - { - id=_wtol(str); - if (id<=0) return true; - } - - int id2; - wchar_t name2[256]; - Sprintf(name2,_countof(name2),L"%s_mask",name); - str=parser.FindSetting(name2); - if (!str) - id2=0; - else if (str[0]=='#' || str[0]=='$') - { - LoadSkinNumbers(str,&id2,1,NUMBERS_COLORS_RGB); - id2|=0xFF000000; - } - else if (str[0]=='@') - { - id2=_wtol(str+1); - if (id2<0 || id2>=(int)CustomBitmaps.size()) return true; - id2|=0x0F000000; - } - else - { - id2=_wtol(str); - if (id2<0) id2=0; - } - - if (id2) - { - COLORREF tintColor1, tintColor2, tintColor3; - LoadSkinTintColors(parser,name,tintColor1,tintColor2,tintColor3,backgroundColor); - if (id>0 || id2>0) - { - bitmap=LoadSkinBitmap(hMod,id,id2,tintColor1,tintColor2,tintColor3,bPremultiply); - } - else - { - COLORREF color=((id>>16)&0xFF)|(id&0xFF00)|((id&0xFF)<<16); - COLORREF mask=((id2>>16)&0xFF)|(id2&0xFF00)|((id2&0xFF)<<16); - BlendColor(color,mask,tintColor1,tintColor2,tintColor3); - bitmap=color; - } - } - else if (id>0) - { - bitmap=LoadSkinBitmap(hMod,id,0,0,0,0,bPremultiply); - } - else - { - COLORREF color=((id>>16)&0xFF)|(id&0xFF00)|((id&0xFF)<<16); - bitmap=color; - } - - if (!bitmap.bIsBitmap) - { - if (!bAllowColor) - Sprintf(MenuSkin::s_SkinError,_countof(MenuSkin::s_SkinError),LoadStringEx(IDS_SKIN_ERR_RECBITMAP),name); - return bAllowColor; - } - - if (!bitmap.GetBitmap()) - return false; - if (bMirror) - MirrorBitmap(bitmap.GetBitmap()); - - BITMAP info; - if ((!countX && slicesX) || (!countY && slicesY)) - GetObject(bitmap.GetBitmap(),sizeof(info),&info); - if (countX) - { - Sprintf(name2,_countof(name2),L"%s_slices_X",name); - str=parser.FindSetting(name2); - if (str) - LoadSkinNumbers(str,slicesX,countX,NUMBERS_SLICES); - else - memset(slicesX,0,countX*4); - } - else if (slicesX) - *slicesX=info.bmWidth; - if (countY) - { - Sprintf(name2,_countof(name2),L"%s_slices_Y",name); - str=parser.FindSetting(name2); - if (str) - LoadSkinNumbers(str,slicesY,countY,NUMBERS_SLICES); - else - memset(slicesY,0,countY*4); - } - else if (slicesY) - *slicesY=info.bmHeight; - return true; -} - -bool MenuSkin::LoadSkinBitmap( HMODULE hMod, CSkinParser &parser, const wchar_t *name, MenuBitmap &bitmap, SIZE *size, bool bMirror, bool bPremultiply ) const -{ - int cx, cy; - if (!LoadSkinBackground(hMod,parser,name,bitmap,0,&cx,0,&cy,0,bMirror,false,bPremultiply)) - return false; - if (size) - { - size->cx=cx; - size->cy=cy; - } - return true; -} - -MenuSkin::THAlign MenuSkin::ParseHAlign( const wchar_t *str ) -{ - if (str) - { - if (_wcsicmp(str,L"center1")==0) - return HALIGN_CENTER1; - else if (_wcsicmp(str,L"center2")==0) - return HALIGN_CENTER2; - else if (_wcsicmp(str,L"left")==0) - return HALIGN_LEFT; - else if (_wcsicmp(str,L"left1")==0) - return HALIGN_LEFT1; - else if (_wcsicmp(str,L"left2")==0) - return HALIGN_LEFT2; - else if (_wcsicmp(str,L"right")==0) - return HALIGN_RIGHT; - else if (_wcsicmp(str,L"right1")==0) - return HALIGN_RIGHT1; - else if (_wcsicmp(str,L"right2")==0) - return HALIGN_RIGHT2; - else if (_wcsicmp(str,L"corner")==0) - return HALIGN_CORNER; - else if (_wcsicmp(str,L"none")==0) - return HALIGN_NONE; - } - return HALIGN_CENTER; -} - -MenuSkin::TIconSize MenuSkin::ParseIconSize( const wchar_t *str ) -{ - if (str) - { - if (_wcsicmp(str,L"small")==0) - return ICON_SIZE_SMALL; - else if (_wcsicmp(str,L"large")==0) - return ICON_SIZE_LARGE; - else if (_wcsicmp(str,L"none")==0) - return ICON_SIZE_NONE; - } - return ICON_SIZE_UNDEFINED; -} - -MenuSkin::TVAlign MenuSkin::ParseVAlign( const wchar_t *str ) -{ - if (str) - { - if (_wcsicmp(str,L"top")==0) - return VALIGN_TOP; - else if (_wcsicmp(str,L"bottom")==0) - return VALIGN_BOTTOM; - else if (_wcsicmp(str,L"corner")==0) - return VALIGN_CORNER; - else if (_wcsicmp(str,L"none")==0) - return VALIGN_NONE; - } - return VALIGN_CENTER; -} - -bool MenuSkin::LoadSkinItem( HMODULE hMod, CSkinParser &parser, const wchar_t *name, MenuSkin::ItemDrawSettings &settings, MenuSkin::ItemDrawSettings *pDefaults, COLORREF backgroundColor, bool bRTL ) const -{ - wchar_t name2[256]; - const wchar_t *str; - Sprintf(name2,_countof(name2),L"%s_font",name); - str=parser.FindSetting(name2); - if (str) - { - settings.font=LoadSkinFont(str,NULL,0,0,true); - settings.bOwnFont=true; - } - else if (pDefaults) - { - settings.font=pDefaults->font; - settings.bOwnFont=false; - } - else - { - settings.font=LoadSkinFont(NULL,NULL,0,0,true); - settings.bOwnFont=true; - } - - Sprintf(name2,_countof(name2),L"%s_glow_size",name); - str=parser.FindSetting(name2); - if (str) - settings.glowSize=_wtol(str); - else if (pDefaults) - settings.glowSize=pDefaults->glowSize; - else - settings.glowSize=0; - - Sprintf(name2,_countof(name2),L"%s_text_color",name); - if (LoadSkinColors(parser,name2,settings.textColors,_countof(settings.textColors),backgroundColor)) - {} - else if (pDefaults) - memcpy(settings.textColors,pDefaults->textColors,sizeof(settings.textColors)); - else - { - settings.textColors[0]=GetSysColor(COLOR_MENUTEXT); - settings.textColors[1]=GetSysColor(COLOR_HIGHLIGHTTEXT); - settings.textColors[2]=GetSysColor(COLOR_GRAYTEXT); - settings.textColors[3]=GetSysColor(COLOR_HIGHLIGHTTEXT); - } - Sprintf(name2,_countof(name2),L"%s_text_shadow_color",name); - str=parser.FindSetting(name2); - if (str && wcscmp(str,L"none")==0) - memset(settings.textShadowColors,-1,sizeof(settings.textShadowColors)); - else if (LoadSkinColors(parser,name2,settings.textShadowColors,_countof(settings.textShadowColors),backgroundColor)) - {} - else if (pDefaults) - memcpy(settings.textShadowColors,pDefaults->textShadowColors,sizeof(settings.textShadowColors)); - else - memset(settings.textShadowColors,-1,sizeof(settings.textShadowColors)); - - Sprintf(name2,_countof(name2),L"%s_text_padding",name); - str=parser.FindSetting(name2); - if (str) - LoadSkinNumbers(str,(int*)&settings.textPadding,4,NUMBERS_PADDING); - else if (pDefaults) - settings.textPadding=pDefaults->textPadding; - else - settings.textPadding=ScaleSkinElement(DEFAULT_TEXT_PADDING); - - Sprintf(name2,_countof(name2),L"%s_icon_padding",name); - str=parser.FindSetting(name2); - if (str) - LoadSkinNumbers(str,(int*)&settings.iconPadding,4,NUMBERS_PADDING); - else if (pDefaults) - settings.iconPadding=pDefaults->iconPadding; - else - settings.iconPadding=ScaleSkinElement(DEFAULT_ICON_PADDING); - - Sprintf(name2,_countof(name2),L"%s_arrow_color",name); - if (LoadSkinColors(parser,name2,settings.arrColors,_countof(settings.arrColors),backgroundColor)) - {} - else if (pDefaults) - memcpy(settings.arrColors,pDefaults->arrColors,sizeof(settings.arrColors)); - else - { - settings.arrColors[0]=settings.textColors[0]; - settings.arrColors[1]=settings.textColors[1]; - } - - Sprintf(name2,_countof(name2),L"%s_selection",name); - str=parser.FindSetting(name2); - if (str) - { - if (!LoadSkinBackground(hMod,parser,name2,settings.bmpSelection,backgroundColor,settings.selSlicesX,_countof(settings.selSlicesX),settings.selSlicesY,_countof(settings.selSlicesY),bRTL,true)) - return false; - } - else if (pDefaults) - { - settings.bmpSelection=pDefaults->bmpSelection; - settings.bmpSelection.bIsOwned=false; - memcpy(settings.selSlicesX,pDefaults->selSlicesX,sizeof(settings.selSlicesX)); - memcpy(settings.selSlicesY,pDefaults->selSlicesY,sizeof(settings.selSlicesY)); - } - else - { - settings.bmpSelection=GetSysColor(COLOR_HIGHLIGHT); - } - - { - const POINT *sizes=GetArrowsBitmapSizes(); - settings.arrSize.cx=sizes[3].y-sizes[3].x; - settings.arrSize.cy=sizes[6].y; - } - Sprintf(name2,_countof(name2),L"%s_arrow",name); - str=parser.FindSetting(name2); - if (str && wcscmp(str,L"0")==0) - {} - else if (str) - { - if (!LoadSkinBitmap(hMod,parser,name2,settings.bmpArrow,&settings.arrSize,bRTL)) - return false; - settings.arrSize.cy/=2; - } - else if (pDefaults) - { - settings.bmpArrow=pDefaults->bmpArrow; - settings.bmpArrow.bIsOwned=false; - settings.arrSize=pDefaults->arrSize; - } - - Sprintf(name2,_countof(name2),L"%s_arrow_padding",name); - str=parser.FindSetting(name2); - if (str) - LoadSkinNumbers(str,(int*)&settings.arrPadding,2,NUMBERS_PADDING); - else if (pDefaults) - settings.arrPadding=pDefaults->arrPadding; - else - settings.arrPadding=ScaleSkinElement(DEFAULT_ARROW_PADDING); - - Sprintf(name2,_countof(name2),L"%s_icon_frame",name); - str=parser.FindSetting(name2); - if (str) - { - if (!LoadSkinBackground(hMod,parser,name2,settings.bmpIconFrame,backgroundColor,settings.frameSlicesX,_countof(settings.frameSlicesX),settings.frameSlicesY,_countof(settings.frameSlicesY),bRTL)) - return false; - - if (settings.bmpIconFrame.GetBitmap()) - { - Sprintf(name2,_countof(name2),L"%s_icon_frame_offset",name); - str=parser.FindSetting(name2); - if (str) - LoadSkinNumbers(str,(int*)&settings.iconFrameOffset,2,NUMBERS_PADDING); - else - memset(&settings.iconFrameOffset,0,sizeof(settings.iconFrameOffset)); - } - } - else if (pDefaults) - { - settings.bmpIconFrame=pDefaults->bmpIconFrame; - settings.bmpIconFrame.bIsOwned=false; - memcpy(settings.frameSlicesX,pDefaults->frameSlicesX,sizeof(settings.frameSlicesX)); - memcpy(settings.frameSlicesY,pDefaults->frameSlicesY,sizeof(settings.frameSlicesY)); - settings.iconFrameOffset=pDefaults->iconFrameOffset; - } - - return true; -} - -void MenuSkin::ParseOptionsString( const wchar_t *optionsStr, std::map &options ) const -{ - options.clear(); - wchar_t text[1024]; - const wchar_t *str=optionsStr; - while (*str) - { - str=GetToken(str,text,_countof(text),L"\n"); - wchar_t token[256]; - const wchar_t *val=GetToken(text,token,_countof(token),L"="); - if (*token) - options[token]=val; - } - - if (wcschr(optionsStr,'|')) - { - // backwards compatibility for old-style settings - const wchar_t *end=wcschr(optionsStr,'\n'); - if (end && wcschr(end+1,'\n')) - return; // multiple lines - for (std::vector